Add saltybot_depth_costmap — a Nav2 costmap2d plugin that converts D435i depth images directly into obstacle markings on both local and global costmaps. Pipeline: 1. Subscribe to /camera/depth/image_rect_raw (16UC1 mm) + camera_info 2. Back-project depth pixels to 3D using pinhole camera intrinsics 3. Transform points to costmap global_frame via TF2 4. Apply configurable height filter (min_height..max_height above ground) 5. Mark obstacle cells as LETHAL_OBSTACLE 6. Inflate neighbours within inflation_radius as INSCRIBED_INFLATED_OBSTACLE Parameters: min_height: 0.05 m — floor clearance (ignores ground returns) max_height: 0.80 m — ceiling cutoff (ignores lights/ceiling) obstacle_range: 3.5 m — max marking distance from camera clearing_range: 4.0 m — max distance processed at all inflation_radius: 0.10 m — in-layer inflation (works before inflation_layer) downsample_factor: 4 — process 1 of N rows+cols (~19k pts @ 640×480) Integration (#478): - Added depth_costmap_layer to local_costmap plugins list - Added depth_costmap_layer to global_costmap plugins list - Plugin registered via pluginlib (plugin.xml) Files: jetson/ros2_ws/src/saltybot_depth_costmap/ CMakeLists.txt, package.xml, plugin.xml include/saltybot_depth_costmap/depth_costmap_layer.hpp src/depth_costmap_layer.cpp jetson/ros2_ws/src/saltybot_bringup/config/nav2_params.yaml (updated) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
31 lines
965 B
XML
31 lines
965 B
XML
<?xml version="1.0"?>
|
|
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
|
|
<package format="3">
|
|
<name>saltybot_depth_costmap</name>
|
|
<version>0.1.0</version>
|
|
<description>
|
|
Nav2 costmap2d plugin: DepthCostmapLayer (Issue #532).
|
|
Converts RealSense D435i depth images to a Nav2 costmap layer with
|
|
configurable height filtering and in-layer obstacle inflation.
|
|
</description>
|
|
<maintainer email="seb@vayrette.com">seb</maintainer>
|
|
<license>MIT</license>
|
|
|
|
<buildtool_depend>ament_cmake</buildtool_depend>
|
|
|
|
<depend>rclcpp</depend>
|
|
<depend>nav2_costmap_2d</depend>
|
|
<depend>sensor_msgs</depend>
|
|
<depend>geometry_msgs</depend>
|
|
<depend>tf2_ros</depend>
|
|
<depend>tf2</depend>
|
|
<depend>pluginlib</depend>
|
|
|
|
<test_depend>ament_lint_auto</test_depend>
|
|
<test_depend>ament_lint_common</test_depend>
|
|
|
|
<export>
|
|
<build_type>ament_cmake</build_type>
|
|
</export>
|
|
</package>
|