111 lines
7.4 KiB
XML
111 lines
7.4 KiB
XML
<launch>
|
|
<arg name="base_frame" default="base_link"/>
|
|
<arg name="global_frame" default="odom"/>
|
|
<arg name="depth_cloud_topic" default="/camera/depth/points_proc"/>
|
|
<arg name="enable_depth_cloud_voxel_filter" default="true"/>
|
|
<arg name="depth_cloud_voxel_leaf_size" default="0.05"/>
|
|
<arg name="depth_image_topic" default="/camera/depth/image_raw"/>
|
|
<arg name="camera_info_topic" default="/camera/depth/camera_info"/>
|
|
<arg name="depth_camera_data_topic" default="/camera/depth/data"/>
|
|
<arg name="camera_right_info_topic" default="/camera_right/depth/camera_info"/>
|
|
<arg name="odom_topic" default="/odom"/>
|
|
<arg name="publish_odom_tf" default="false"/>
|
|
<arg name="publish_rate" default="5.0"/>
|
|
<arg name="local_costmap_update_frequency" default="10.0"/>
|
|
<arg name="depth_clearing_processing_rate" default="15.0"/>
|
|
<arg name="feeder_performance_metrics_enabled" default="true"/>
|
|
<arg name="feeder_performance_metrics_period" default="5.0"/>
|
|
<arg name="rviz" default="false"/>
|
|
<arg name="frustum_clearing_pixel_step" default="2"/>
|
|
<!-- 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"/>
|
|
<!-- Column beams stop this far [m] before the nearest in-band return
|
|
(tighter than frustum_skip_distance so ghosts hugging static obstacles
|
|
still get cleared). -->
|
|
<arg name="column_skip_distance" default="0.02"/>
|
|
<arg name="column_cover_distance" default="0.2"/>
|
|
|
|
<node pkg="depth_local_costmap_noetic_test"
|
|
type="depth_local_costmap_noetic_test_node"
|
|
name="depth_local_costmap_noetic_test"
|
|
output="screen">
|
|
<param name="base_frame" value="$(arg base_frame)"/>
|
|
<param name="publish_odom_tf" value="$(arg publish_odom_tf)"/>
|
|
<param name="publish_rate" value="$(arg publish_rate)"/>
|
|
<param name="depth_clearing_processing_rate" value="$(arg depth_clearing_processing_rate)"/>
|
|
<param name="feeder_performance_metrics_enabled" value="$(arg feeder_performance_metrics_enabled)"/>
|
|
<param name="feeder_performance_metrics_period" value="$(arg feeder_performance_metrics_period)"/>
|
|
<param name="odom_topic" value="$(arg odom_topic)"/>
|
|
<param name="depth_cloud_topic" value="$(arg depth_cloud_topic)"/>
|
|
<param name="enable_depth_cloud_voxel_filter" value="$(arg enable_depth_cloud_voxel_filter)"/>
|
|
<param name="depth_cloud_voxel_leaf_size" value="$(arg depth_cloud_voxel_leaf_size)"/>
|
|
<param name="depth_image_topic" value="$(arg depth_image_topic)"/>
|
|
<param name="camera_info_topic" value="$(arg camera_info_topic)"/>
|
|
<param name="depth_camera_data_topic" value="$(arg depth_camera_data_topic)"/>
|
|
<param name="camera_right_info_topic" value="$(arg camera_right_info_topic)"/>
|
|
|
|
<param name="local_costmap/robot_base_frame" value="$(arg base_frame)"/>
|
|
<param name="local_costmap/global_frame" value="$(arg global_frame)"/>
|
|
<param name="local_costmap/update_frequency" value="$(arg local_costmap_update_frequency)"/>
|
|
<param name="local_costmap/obstacles/observation_sources" value="pc_marking pc_clearing"/>
|
|
|
|
<param name="local_costmap/obstacles/pc_marking/topic" value="$(arg depth_cloud_topic)"/>
|
|
<param name="local_costmap/obstacles/pc_marking/data_type" value="PointCloud2"/>
|
|
<param name="local_costmap/obstacles/pc_marking/clearing" value="false"/>
|
|
<param name="local_costmap/obstacles/pc_marking/marking" value="true"/>
|
|
<param name="local_costmap/obstacles/pc_marking/inf_is_valid" value="false"/>
|
|
<param name="local_costmap/obstacles/pc_marking/frustum_clearing_enabled" value="false"/>
|
|
<param name="local_costmap/obstacles/pc_marking/observation_persistence" value="0.0"/>
|
|
<param name="local_costmap/obstacles/pc_marking/expected_update_rate" value="0.5"/>
|
|
<param name="local_costmap/obstacles/pc_marking/obstacle_range" value="2.5"/>
|
|
<param name="local_costmap/obstacles/pc_marking/raytrace_range" value="3.0"/>
|
|
<param name="local_costmap/obstacles/pc_marking/min_obstacle_height" value="0.1"/>
|
|
<param name="local_costmap/obstacles/pc_marking/max_obstacle_height" value="1.0"/>
|
|
|
|
<param name="local_costmap/obstacles/pc_clearing/topic" value="$(arg depth_camera_data_topic)"/>
|
|
<param name="local_costmap/obstacles/pc_clearing/data_type" value="DepthCameraData"/>
|
|
<param name="local_costmap/obstacles/pc_clearing/clearing" value="false"/>
|
|
<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="$(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"/>
|
|
<param name="local_costmap/obstacles/pc_clearing/expected_update_rate" value="0.5"/>
|
|
<param name="local_costmap/obstacles/pc_clearing/obstacle_range" value="2.5"/>
|
|
<param name="local_costmap/obstacles/pc_clearing/raytrace_range" value="3.5"/>
|
|
<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)"/>
|
|
<!-- depth frustum / column clearing is per observation source -->
|
|
<param name="local_costmap/obstacles/pc_clearing/frustum_skip_distance" value="$(arg frustum_skip_distance)"/>
|
|
<param name="local_costmap/obstacles/pc_clearing/frustum_column_clearing" value="$(arg frustum_column_clearing)"/>
|
|
<param name="local_costmap/obstacles/pc_clearing/column_clear_min_height" value="$(arg column_clear_min_height)"/>
|
|
<param name="local_costmap/obstacles/pc_clearing/column_clear_max_height" value="$(arg column_clear_max_height)"/>
|
|
<param name="local_costmap/obstacles/pc_clearing/column_skip_distance" value="$(arg column_skip_distance)"/>
|
|
<param name="local_costmap/obstacles/pc_clearing/column_cover_distance" value="$(arg column_cover_distance)"/>
|
|
</node>
|
|
|
|
<node if="$(arg rviz)"
|
|
pkg="rviz"
|
|
type="rviz"
|
|
name="depth_local_costmap_rviz"
|
|
args="-d $(find depth_local_costmap_noetic_test)/rviz/depth_local_costmap.rviz"/>
|
|
</launch>
|