This commit is contained in:
2026-07-23 15:21:53 +07:00
parent 937aa00ec8
commit 490c24616b
6 changed files with 54 additions and 7 deletions

View File

@@ -12,6 +12,23 @@
<arg name="publish_odom_tf" default="false"/>
<arg name="publish_rate" default="5.0"/>
<arg name="rviz" default="true"/>
<arg name="frustum_clearing_pixel_step" default="4"/>
<!-- Camera-only ghost-obstacle handling: LETHAL cells not re-observed for
this many seconds are freed (covers cells outside the current FOV that
frustum clearing can never reach). 0 disables decay. -->
<arg name="obstacle_decay_time" default="4.0"/>
<!-- Clearing rays stop this far [m] before the measured surface. Smaller
than the legacy 2*resolution (0.10) so near-floor / near-wall ghost
cells inside the old skip band still get cleared. -->
<arg name="frustum_skip_distance" default="0.05"/>
<!-- Full-column clearing from the depth image: the nearest in-band return
per pixel column certifies the beam free and wipes whole voxel columns,
removing ghost voxels above the vertical FOV that 3D rays miss.
Measurement-driven; obstacles outside the FOV are never touched. -->
<arg name="frustum_column_clearing" default="true"/>
<arg name="column_clear_min_height" default="0.10"/>
<arg name="column_clear_max_height" default="-1.0"/>
<arg name="column_cover_distance" default="-1.0"/>
<node pkg="depth_local_costmap_noetic_test"
type="depth_local_costmap_noetic_test_node"
@@ -52,7 +69,7 @@
<param name="local_costmap/obstacles/pc_clearing/marking" value="true"/>
<param name="local_costmap/obstacles/pc_clearing/inf_is_valid" value="false"/>
<param name="local_costmap/obstacles/pc_clearing/frustum_clearing_enabled" value="true"/>
<param name="local_costmap/obstacles/pc_clearing/frustum_clearing_pixel_step" value="8"/>
<param name="local_costmap/obstacles/pc_clearing/frustum_clearing_pixel_step" value="$(arg frustum_clearing_pixel_step)"/>
<param name="local_costmap/obstacles/pc_clearing/frustum_min_range" value="0.20"/>
<param name="local_costmap/obstacles/pc_clearing/frustum_max_range" value="3.5"/>
<param name="local_costmap/obstacles/pc_clearing/observation_persistence" value="0.0"/>
@@ -62,6 +79,13 @@
<param name="local_costmap/obstacles/pc_clearing/min_obstacle_height" value="0.1"/>
<param name="local_costmap/obstacles/pc_clearing/max_obstacle_height" value="1.0"/>
<param name="local_costmap/obstacles/frustum_depth_camera_topic" value="$(arg depth_camera_data_topic)"/>
<param name="local_costmap/obstacles/obstacle_decay_time" value="$(arg obstacle_decay_time)"/>
<param name="local_costmap/obstacles/frustum_skip_distance" value="$(arg frustum_skip_distance)"/>
<param name="local_costmap/obstacles/frustum_column_clearing" value="$(arg frustum_column_clearing)"/>
<param name="local_costmap/obstacles/column_clear_min_height" value="$(arg column_clear_min_height)"/>
<param name="local_costmap/obstacles/column_clear_max_height" value="$(arg column_clear_max_height)"/>
<param name="local_costmap/obstacles/column_cover_distance" value="$(arg column_cover_distance)"/>
</node>
<node if="$(arg rviz)"