A hands-on, month-long introduction to ROS2 built around one concrete goal — get a simulated TurtleBot3 mapping its environment, navigating autonomously, and reacting to what it sees, entirely on a personal laptop.
The whole pipeline — from driving to SLAM to navigation to vision — runs in simulation on one machine.
Each session is capped at two to three hours, structured to build toward one core milestone rather than isolated tutorials.
Install ROS2 Jazzy and Gazebo Harmonic on Ubuntu 24.04; verify the base install with simple ROS2 nodes and topics.
Build TurtleBot3's core packages from source (Jazzy binaries aren't fully available yet); spawn the Waffle Pi in Gazebo and drive it manually via /cmd_vel.
Integrate Cartographer to build an occupancy map of the simulated environment while driving the robot around it.
Builds toward: perceive-plan-act loopConfigure Nav2 on top of the SLAM map for autonomous point-to-point navigation.
Core project milestoneAdd a color-detection node that locates an object in the camera feed and drives a simple visual-approach behavior — turning and moving toward whatever it spots.
Nav2-based autonomous navigation is the project's centerpiece because it's the first point where the full robotics loop closes end-to-end.
Humble is the more established LTS release. Choosing Jazzy instead means learning to diagnose and adapt in an ecosystem mid-transition — itself part of the learning goal.
apt./cmd_vel now defaults to a stamped message typeOnce the core perceive-plan-act loop and vision layer are working, these are natural directions to take it further.