ROS 2 from zero
Tested on ROS 2 Jazzy · ROS 2 Humble
Twelve parts, in order, from nothing installed to a launch file that brings up a small stack. Each part is short enough to finish in one sitting.
You do not need a robot. Everything here runs on a laptop.
What you need
Section titled “What you need”- Ubuntu 24.04 for Jazzy, or Ubuntu 22.04 for Humble. A virtual machine is fine, though anything involving a GUI will be slow.
- Comfort with a terminal:
cd,ls, editing a file, reading an error. - Basic Python. Classes and functions, nothing clever.
No C++ in this track. ROS 2 is usually taught in C++ first, which adds a compiler’s worth of problems on top of a new framework. Python first means the errors you hit are ROS errors.
The parts
Section titled “The parts”| # | Part | Status |
|---|---|---|
| 1 | Your first node | Published |
| 2 | Installing ROS 2 properly | Writing |
| 3 | Topics, and what a QoS profile is for | Writing |
| 4 | Services and when not to use them | Planned |
| 5 | Parameters and config files | Planned |
| 6 | Launch files | Planned |
| 7 | Reading someone else’s package | Planned |
| 8 | Custom messages | Planned |
| 9 | Actions | Planned |
| 10 | rviz without the guesswork | Planned |
| 11 | Recording and replaying with rosbag | Planned |
| 12 | Putting a small stack together | Planned |
Part 1 comes before the install guide on purpose. If ROS 2 is already on your machine, you should be writing something before you read three pages of apt commands.
A word on versions
Section titled “A word on versions”ROS renames things. A command that worked on Humble can be moved or dropped in Jazzy, and a tutorial that does not say which distro it was written for wastes your evening.
Every page here says what it was tested against, right under the title. If yours differs and something breaks, leave a comment on that page. It gets fixed and the next person does not lose the same evening.

Questions and corrections
Stuck on a step, or found a command that no longer works? Say so here and the page gets fixed. Other people hitting the same wall will find your comment.
The comment box is not switched on yet. Until it is, the video comments and the issue tracker both work.
No GitHub account? Comment on the video instead, or open an issue on the repo.