Complete autonomous navigation stack for SaltyBot: - SLAM Toolbox: online_async 2D LIDAR SLAM from RPLIDAR A1M8 - RealSense D435i: depth → pointcloud → costmap obstacle layer - Nav2 stack: controllers, planners, behavior server, lifecycle management - DWB planner: tuned for 20km/h (5.5 m/s) max velocity operation - VESC odometry bridge: motor telemetry → nav_msgs/Odometry - Costmap integration: LIDAR + depth for global + local costmaps - TF tree: complete setup with base_link→laser, camera_link, odom - Goal interface: /navigate_to_pose action for autonomous goals Configuration: - slam_toolbox_params: loop closure, scan matching, fine/coarse search - nav2_params: AMCL, controllers, planners, behavior trees, lifecycle - Global costmap: static layer + LIDAR obstacle layer + inflation - Local costmap: rolling window + LIDAR + RealSense depth + inflation - DWB planner: 20 vx samples, 40 theta samples, 1.7s horizon Nodes and launch files: - vesc_odometry_bridge: integrates motor RPM to wheel odometry - nav2_slam_bringup: main integrated launch entry point - depth_to_costmap: RealSense depth processing pipeline - odometry_bridge: VESC telemetry bridge Hardware support: - RPLIDAR A1M8: 5.5 Hz, 12m range, 360° omnidirectional - RealSense D435i: 15 Hz RGB-D, 200 Hz IMU, depth range 5m - VESC Flipsky FSESC 4.20: dual motor control via UART - SaltyBot 2-wheel balancer: 0.35m radius, hoverboard motors Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
40 lines
1.3 KiB
XML
40 lines
1.3 KiB
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_nav2_slam</name>
|
|
<version>0.1.0</version>
|
|
<description>
|
|
Nav2 SLAM integration for SaltyBot autonomous navigation.
|
|
Combines SLAM Toolbox (RPLIDAR 2D SLAM), RealSense depth for obstacle avoidance,
|
|
VESC odometry, and DWB planner for autonomous navigation up to 20km/h.
|
|
</description>
|
|
<maintainer email="sl-controls@saltylab.local">sl-controls</maintainer>
|
|
<license>MIT</license>
|
|
|
|
<depend>rclpy</depend>
|
|
<depend>sensor_msgs</depend>
|
|
<depend>std_msgs</depend>
|
|
<depend>nav_msgs</depend>
|
|
<depend>geometry_msgs</depend>
|
|
<depend>tf2</depend>
|
|
<depend>tf2_ros</depend>
|
|
|
|
<exec_depend>nav2_bringup</exec_depend>
|
|
<exec_depend>slam_toolbox</exec_depend>
|
|
<exec_depend>rplidar_ros</exec_depend>
|
|
<exec_depend>realsense2_camera</exec_depend>
|
|
<exec_depend>depth_image_proc</exec_depend>
|
|
<exec_depend>pointcloud_to_laserscan</exec_depend>
|
|
|
|
<buildtool_depend>ament_python</buildtool_depend>
|
|
|
|
<test_depend>ament_copyright</test_depend>
|
|
<test_depend>ament_flake8</test_depend>
|
|
<test_depend>ament_pep257</test_depend>
|
|
<test_depend>python3-pytest</test_depend>
|
|
|
|
<export>
|
|
<build_type>ament_python</build_type>
|
|
</export>
|
|
</package>
|