All 14 lessons unlocked — go at your own pace
Drive your robot car in Gazebo — from empty terminal to a car that stops for obstacles.
A hands-on ROS 2 course built around one specific machine: your 4-wheeled, rear-wheel-drive car. No turtlebots, no toy examples — your files, your world, your code.
14
lessons
≈11 h
of hands-on work
1
robot — yours
🗺️ The roadmap
Every lesson: why it exists → the exact commands and complete files → expected output → a checkpoint quiz. Mark lessons done as you go (✅ button at the bottom of each lesson).
your progress
0/14 · 0%
Phase 1 · Setup
- 005up next≈20 min
- 016≈45 min
- 026≈40 min
Phase 2 · Get the car into Gazebo
- 036≈45 min
- 045≈60 min
- 056≈50 min
Phase 3 · Drive it
- 065≈30 min
- 076≈60 min
Phase 4 · Give the car senses
- 8a5≈40 min
- 8b5≈40 min
- 8c5≈30 min
Phase 5 · Write your own code
- 096≈75 min
- 106≈90 min
Phase 6 · Graduation
- 115≈60 min
🚗 Meet your robot
One file (car.urdf.xacro) describes the whole machine. Lessons 02+ teach it line by line — here’s the spec sheet.
- Chassis (base_link)
- 0.4 × 0.3 × 0.15 m box · 5 kg
- Wheels
- 4 × cylinder r=0.08 m, w=0.04 m
- Drive
- rear-wheel differential (skid-steer)
- Front wheels
- passive continuous joints
- Drive plugin
- gz-sim-diff-drive-system → cmd_vel / odom / tf
- Joint feedback
- gz-sim-joint-state-publisher → joint_states
- Lidar (8a)
- gpu_lidar · 360 samples · 10 Hz · 0.12–10 m
- Camera (8b)
- 640×480 RGB · 15 Hz
- IMU (8c)
- 50 Hz accel + gyro
- Sensor switches
- xacro args enable_lidar / enable_camera / enable_imu