Hobu - Differential-drive mobile robot¶
Kinematic chain¶
base_footprint (virtual root - no geometry)
└─ base_joint [fixed]
base_link (box 0.6 × 0.4 × 0.2 m)
├─ base_right_wheel_joint [continuous Y]
│ right_wheel_link (cylinder r=0.1, l=0.05)
├─ base_left_wheel_joint [continuous Y]
│ left_wheel_link (cylinder r=0.1, l=0.05)
└─ base_caster_wheel_joint [fixed]
caster_wheel_link (sphere r=0.05)
What this example demonstrates¶
Origin.wheel()- applies a −π/2 roll so a URDF cylinder’s Z-axis aligns with Y, the standard wheel orientation in ROSPer-shape inertia factories (
Inertial.from_box,Inertial.from_cylinder,Inertial.from_sphere) with aninertia_multiplysafety marginMulti-branch kinematic trees - two continuous joints hang off the same parent link
Virtual root link -
base_footprintcarries no geometry and serves as the world-fixed anchor (standard ROS convention for mobile bases)
Running the example¶
python3 examples/hobu.py
Output files are written to examples/hobu/:
File |
Description |
|---|---|
|
URDF robot description |
|
Xacro equivalent |
|
Plain-text kinematic tree |
Quick visualisation: copy
hobu.urdfinto the online URDF viewer for instant validation and 3D preview without any local ROS install.