About this course
What you'll learn
ROS 2 is not a programming language — it's a toolkit for connecting the many small programs that make a robot work: one program reads a camera, another plans a path, another drives the motors. This course teaches you how those programs talk to each other and how to write your own.
- What ROS 2 is, why robots need it, and how its "graph" of programs fits together
- Set up a ROS 2 workspace and run your first robot programs from the command line
- Write nodes in Python that publish and subscribe to topics
- Use services for request/response and parameters to configure your robot
- Tie it together with launch files and know where to go next
Who it's for
Curious teens and adult beginners. If you can follow basic Python — variables, functions, and classes — you're ready. No robotics or Linux experience required; every command is spelled out.
What you'll need
- A computer running Ubuntu 22.04 or 24.04 (or Windows/Mac with the official ROS 2 Docker image — covered in Lesson 2)
- Basic comfort typing commands into a terminal
- Curiosity and about 30–45 minutes per lesson
This course is free and always will be. Voyager Lab is a California nonprofit — we sell nothing and charge nothing. If it helps you, you can support our work with a donation, but it is never required to learn.
Curriculum