feat: Phase 2a URDF robot description + static TF for SLAM/Nav2 #50
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "sl-firmware/robot-urdf"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
saltybot_descriptionROS2 package (ament_python) injetson/ros2_ws/src/urdf/saltybot.urdf.xacro, dimensions fromchassis/chassis_frame.scadRev Aconfig/saltybot_properties.yaml— all robot dimensions as a single source of truthlaunch/robot_description.launch.py— compiles xacro + runsrobot_state_publisherTF tree published
Integration notes
/joint_statesfrom the motor controller bridge (saltybot_bridge)saltybot_cameras/launch/camera_tf.launch.pystatic TFs are superseded — disable when live to avoid TF conflictssaltybot_bringup/launch/sensors.launch.pyplaceholder laser/camera TFs should likewise be disabledTest plan
colcon build --packages-select saltybot_descriptionros2 launch saltybot_description robot_description.launch.pyros2 run tf2_tools view_frames— verify full treerviz2— load robot model, confirm geometry matches hardwareros2 topic echo /robot_description— confirm URDF publishedAdd saltybot_description ROS2 package with full kinematic model: urdf/saltybot.urdf.xacro - base_footprint → base_link (axle_height = 0.310m, from AXLE_HEIGHT SCAD) - wheel_left/right_link (continuous, separation=0.600m, radius=0.1015m) - imu_link (FC/MPU-6000 at x=+50mm forward, z=+12mm) - stem_link (visual: 38.1mm EMT, 1.050m — from stem_battery_clamp.scad) - sensor_head_link at top of stem - laser (RPLIDAR A1M8, z=COL_H=36mm — frame matches slam_toolbox config) - camera_link (RealSense D435i, ARM_R=50mm — matches realsense2_camera) - camera_{front,left,rear,right}_link (IMX219, 10° down tilt, ARM_R=50mm — positions match camera_tf.launch.py; that file superseded when live) config/saltybot_properties.yaml All dimensions from chassis/chassis_frame.scad + ASSEMBLY.md Rev A. launch/robot_description.launch.py Compiles xacro at launch time, runs robot_state_publisher. Publishes /robot_description + /tf_static for all fixed joints. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>