ROS2Lab ROS 2 for beginners

Free founding batch: register by 31 Dec 2026

Learn ROS 2 right in your browser.

A six-week, hands-on course from Linux basics to your first ROS 2 nodes in Python and C++, then an optional three weeks to describe robots in URDF and see them in RViz. Practise in a terminal, TurtleSim and a 3D RViz that run on this page. No Ubuntu needed to start.

Try it now: tap Draw a square, or type help in the terminal.

From the Robotics & ROS 2 Lab YouTube channel
  • 6weeks, about an hour a day
  • 95short lessons
  • 27live animations and 6 games
  • 6weekly tests
  • 1personal project, just for you
  • 2 yrsverifiable certificate

See inside a robot's software

A ROS 2 robot is a team of small programs called nodes. They pass messages on named topics: the camera publishes images, the brain decides, the wheels obey. Tap any node or topic in the graph to see the real message flowing through it.

By Week 6 you write nodes like these yourself, in Python and in C++.

Your route: six weeks, then an introductory experience

Six core lines, thirty stations: about an hour a day, in lessons of about 30 minutes. Each week's test unlocks as soon as you finish that week's lessons. Then three optional lines (Days 31 to 45) for URDF, xacro, TF and RViz.

  1. Week 1Talk to the robot's computer
  2. Day 1Meet the terminal and move around
  3. Day 2Files, permissions, sudo and apt
  4. Day 3Python from zero
  5. Day 4Decisions and loops: should the robot stop?
  6. Day 5Lists, dictionaries and functions
  7. TestWeek 1 test
  1. Week 2Build the robot's brain
  2. Day 6Classes and objects
  3. Day 7Callbacks and your first ROS 2 node
  4. Day 8C++ basics
  5. Day 9Reading a ROS 2 C++ node
  6. Day 10Install ROS 2 Jazzy and set up the lab
  7. TestWeek 2 test
  1. Week 3Introduction to ROS
  2. Day 11Why robots need ROS
  3. Day 12Inside ROS and its ecosystem
  4. Day 13History and versions
  5. Day 14ROS 1 vs ROS 2 and middleware
  6. Day 15DDS and Quality of Service
  7. TestWeek 3 test
  1. Week 4Speak ROS 2
  2. Day 16The ROS 2 graph: nodes
  3. Day 17Topics and messages
  4. Day 18Services and parameters
  5. Day 19Actions and launch files
  6. Day 20Packages, TF2, tools and a mini-project
  7. TestWeek 4 test
  1. Week 5ROS programming fundamentals
  2. Day 21Your first package, node and publisher (Python, then C++)
  3. Day 22Subscribers and your own messages
  4. Day 23Service servers and clients
  5. Day 24Actions and parameters
  6. Day 25Launch files and a battery-monitor mini-project
  7. TestWeek 5 test
  1. Week 6Writing your own ROS 2 nodes
  2. Day 26Time, logging and driving sequences
  3. Day 27Closed-loop control, chaining nodes, messages
  4. Day 28QoS, safe parameters, launch for two robots
  5. Day 29tf2 frames and executors
  6. Day 30Lifecycle, components, tests and a patrol robot
  7. TestWeek 6 test
  1. Week 7Describe a robot with URDF
  2. Day 31Links, shapes, origins and colours
  3. Day 32Joints, limits, mimic and frames
  4. Day 33Chiku: a 2-wheeled robot
  5. Day 343-DOF and 6-DOF arms
  6. Day 35Collision and inertia
  7. TestWeek 7 test
  1. Week 8Xacro, meshes and TF
  2. Day 36Xacro properties and macros (a 4-legged robot)
  3. Day 37Arguments, includes, a 6-legged robot
  4. Day 38Meshes from CAD
  5. Day 39Publishing TF from the URDF
  6. Day 40Description package and launch
  7. TestWeek 8 test
  1. Week 9RViz and markers
  2. Day 41RViz2: displays and Fixed Frame
  3. Day 42Sensor data: scans, clouds, maps
  4. Day 43Markers and MarkerArrays
  5. Day 44Interactive markers
  6. Day 45Drones, legged and hybrid robots; project
  7. TestWeek 9 test

Three ways ROS 2 nodes talk

Most ROS 2 programs are built from just these three patterns. Here they are, slowed down.

Lidar Detector Map Logger

Topic: a radio station

A publisher broadcasts on a named channel such as /scan. Any node tuned to that exact name hears every message. The lidar doesn't know, or care, who is listening.

Used for streams: sensor data, camera images, speed commands.

Youwaiting… Counter requestresponse

Service: ordering at a counter

A client asks one question and waits for one answer, like "spawn a turtle at (2, 2)" or "what is the battery level?". Quick in, quick out.

Used for short jobs that finish right away.

You Pizzashop goalfeedback… then result

Action: a pizza you track on an app

A client sends a goal, gets feedback while the job runs ("in the oven", "on the way"), and finally a result. It can cancel at any time.

Used for long jobs: navigating to a room, moving a robot arm.

Concept lab: poke the ideas

Short animations that explain one idea at a time and narrate every step. Press the buttons, break things on purpose, and read what happens. The same animations appear inside the lessons.

Loading the animation…

Learn it by playing it

Each lesson has a small game that turns an idea into something you can poke. Try this one now: no sign-in needed.

Loading the game…

How every lesson works

Short steps, always in the same order, so you always know what comes next.

  1. A storyChiku the delivery robot has a problem you are about to solve.
  2. One ideaExplained in plain English with a real-world comparison.
  3. Watch it workAn animation or a step-by-step code tracer shows the idea moving.
  4. Try itIn the practice terminal, the Python playground, a puzzle or a game.
  5. Quick checkQuestions with instant feedback and hints.
  6. RecapThe few things to remember, plus flashcards.

Finish it, and prove it

Your certificate is earned, not just downloaded. It shows your marks, your project and your instructor's signature, and anyone can scan its QR code to check it is genuine.

  1. Finish every lesson95 short lessons over six weeks.
  2. Score 60% or more in every weekly testTwo attempts each, and every student gets different questions.
  3. Score 80% or more in your personal projectA small ROS 2 package with a brief made only for you, in Python or C++.
  4. Apply, and your instructor signs itValid for 2 years, verifiable online, and ready to add to LinkedIn.

Bonus: finish every lesson and pass every test within your 60 days, and the course stays open for you for life.

Robotics & ROS 2 Lab logo

From the Robotics & ROS 2 Lab channel

This course comes from the Robotics & ROS 2 Lab YouTube channel, where ROS 2 is explained step by step with hands-on demonstrations. The course follows the same style: one idea at a time, tried out straight away. Watch a few videos to see how you will learn.

Watch on YouTube

Who it is for

No ROS experience needed. Week 1 starts with the terminal and Python from zero.

  • Engineering studentsBE / BTech, any branch: robotics, mechanical, electronics, computer science
  • PG and PhD scholarsWho need ROS 2 for a project, thesis or lab robot
  • GraduatesBuilding skills for robotics and automation jobs
  • Faculty and engineersWho want a structured, practical refresher in ROS 2 Jazzy

How to join

  1. Register with your email address and a password, and verify your email.
  2. Add your college details and upload a photo of your current college ID card.
  3. Tell us about yourself: your college, or the institution or company where you work.
  4. Start learning as soon as your instructor approves your registration, usually within 1 to 2 working days.
  5. Start learning straight away.
  6. Keep the course for life by finishing every lesson and scoring at least 60% in every test within 60 days.
  7. Apply for your certificate after scoring at least 80% in your own personal project. Your instructor signs it; it is valid for 2 years and can be checked online.
Register free

What you need

  • Days 1 to 9: just a browser, on a laptop or a phone.
  • Day 10: Ubuntu 24.04 (WSL2, dual boot, a virtual machine or a lab computer) to install ROS 2 Jazzy.
  • Days 11 to 30: everything works in the browser's practice terminal and Python playground, and you can repeat each step on your own Ubuntu.
  • Days 31 to 45 (optional introductory experience, no certificate): URDF, xacro, TF and RViz, with a practice 3D RViz in the browser. On your own Ubuntu, add sudo apt install ros-jazzy-urdf-tutorial liburdfdom-tools.
  • Final project: best built and tested on Ubuntu with ROS 2 Jazzy. Without Ubuntu, you can still write it carefully using the Week 5 and Week 6 lessons.
  • Time: about 1 to 2 hours a day (Weeks 5 and 6 are the longest), around 48 hours in total.
  • 60 days: finish every lesson and pass every test of Weeks 1 to 6 (60% or more) within 60 days of registering, and your access stays open for life, including Weeks 7 to 9.
  • Certificate: pass every test of Weeks 1 to 6 and score 80% or more in the final project. Weeks 7 to 9 are an optional introductory experience and are not part of the certificate.

Want to read ahead? See the best free ROS 2 resources we recommend.

Questions students ask

Is it really free?

Yes. Everyone who registers by 31 December 2026 joins the founding batch for free.

Do I need Ubuntu or a powerful laptop?

Not to start. Days 1 to 9 need only a browser, on a laptop or a phone. On Day 10 you install ROS 2 Jazzy on Ubuntu 24.04 (WSL2, dual boot, a virtual machine or a lab computer). After that, every lesson up to Day 30 still works in the browser's practice terminal and Python playground, and you can repeat each step on your own Ubuntu. Ubuntu helps most for the final project, but it is not required. Weeks 7 to 9 (URDF and RViz) also work in the browser, with a practice 3D RViz.

Can I learn on my phone?

Yes. Lessons, animations, games and tests work on a phone. A laptop is more comfortable for typing code in the practice terminal.

How long can I use the course?

Exactly 60 days from the day your registration is approved. If you finish every lesson of Weeks 1 to 6 and score at least 60% in each of their tests within those 60 days, your access stays open for life so you can revise later. In your first registration you can ask once for up to 30 extra days. If the course is not finished in time, the registration is cancelled; you can then ask to register again, afresh, at most two times.

How do the weekly tests work?

Each week ends with a timed test that unlocks when you finish that week's lessons. You get two attempts and your best score counts; you need 60% to pass. Every student gets a different paper.

What is the personal project?

After the last lesson you get your own small ROS 2 project, such as a turtle that patrols waypoints or a safety filter, with names and numbers chosen just for you. You submit your code and a short report in Python or C++, up to two times. Your instructor marks it; 80% passes.

What does the certificate show, and can employers check it?

Your name and details, the modules completed, every test mark, your project score, the issue date and a 2-year validity, signed by the instructor. Its QR code and ID open a page on ros2lab.com that confirms it is genuine.

Python or C++?

Both. From Week 5, every idea comes first in Python and then in C++, so you can follow either or both.

Who can join?

Students (UG, PG or PhD), graduates, faculty, research scholars and engineers. If you are under 18, register with a parent's or guardian's consent.

Your first ROS 2 node is six weeks away.

Join the free founding batch today and start with Day 1: the terminal.

Register free