Robotics

ROS 2 Robot Programming with Python

Learn ROS 2 with Python: write nodes and launch files, follow a wall, and understand SLAM and autonomous navigation.

ROS 2 Robot Programming with Python is a free, self-paced online course from EDWartens for engineering students, apprentices, technicians and working engineers in manufacturing and robotics. It has 13 modules and takes about 11.1 hours, with written notes, a practice task per module, a practical project and a final assessment of 15 questions (pass mark 60%). Learning costs nothing and needs only a free account. The optional EDWartens Certificate of Completion, verifiable by code, is a one-off US$28.99 for you; it is not a vendor credential. Updated 1 November 2026.

  • Free
  • Intermediate
  • 11.1 hours
  • Self-paced
  • Certificate optional
  • Lab practice in your browser

No card, no trial. The course is free for good. Certificate US$28.99, optional.

Who it is for
Engineering students, apprentices, technicians and working engineers in manufacturing and robotics
Jobs
Roles that use this skill: robot programmer, automation engineer, cell integrator and maintenance technician. No course guarantees a job.
Tools
Ubuntu 22.04 or 24.04, natively or through WSL2 or Docker. ROS 2 Humble or Jazzy, Python 3, colcon, rqt, RViz and Gazebo. Every tool is free and open source. Hardware: A laptop with about 8 GB RAM and 30 GB free disk, because ROS 2 and a simulator have to be installed. The notes, practice questions and study plan read on a phone; the practicals do not. A Raspberry Pi, a 2D lidar and a small differential-drive base appear in the lessons and are optional.
Updated
ROS 2 Robot Programming with Python course cover
ROS 2 Robot Programming with Python course cover

After this course you can

By the end you will be able to:

  • Install ROS 2 and prove the graph is running
  • Create a Python package that builds with colcon
  • Write publisher, subscriber and service nodes
  • Bring a whole system up with one launch file
  • Read a LaserScan and drive a base to follow a wall

Who it is for, and what you need first

Who it is for

Engineering students, apprentices, technicians and working engineers in manufacturing and robotics.

Level: Intermediate. Intermediate. Assumes basic Python and comfort with a Linux terminal. No robotics background needed, and no prior ROS.

What you need

Software: Ubuntu 22.04 or 24.04, natively or through WSL2 or Docker. ROS 2 Humble or Jazzy, Python 3, colcon, rqt, RViz and Gazebo. Every tool is free and open source..

Hardware: A laptop with about 8 GB RAM and 30 GB free disk, because ROS 2 and a simulator have to be installed. The notes, practice questions and study plan read on a phone; the practicals do not. A Raspberry Pi, a 2D lidar and a small differential-drive base appear in the lessons and are optional.. What to download, and how.

How this course works

  1. Watch the lessons

    Short video lessons, one module at a time, at your own pace.

  2. Read the notes

    Open the Reading tab for the written notes and diagrams of the module.

  3. Practise in the 3D labOptional

    Try the module in the free 3D lab, in your browser.

  4. Check yourself

    Answer the questions to see what stuck before you move on.

  5. Final assessment

    Pass the final once you have been through the modules.

  6. Certificate, if you want oneOptional

    Optional, with a page anyone can use to verify it.

What you learn

13 modules in order, at your own pace. 11.1 hours of video lessons, with written notes and a practice task in each module.

  1. 1What ROS 2 is and the problem it solves30m
  2. 2Installing ROS 2 and setting up the machine16m
  3. 3Nodes, topics and the ROS graph29m
  4. 4Workspaces and Python packages21m
  5. 5Publishers, subscribers and messages in Python27m
  6. 6Launch files and the inspection tools29m
  7. 7Services: request and reply in one node44m
  8. 8Sensors, motors and the mobile base38m
Show the other 5 modules
  1. 9Writing a control loop: the wall follower18m
  2. 10SLAM, mapping and autonomous navigation40m
  3. 11Manipulators and arm motion, with lab practice: 32m
  4. 12Beyond Python: C++ nodes, a ROS 1 bridge and a language model57m
  5. 13Final assessment

Software you need

What to download, where from, what it costs and how to install it. Every link goes to the maker's own site, never a mirror.

ROS 2 wants Ubuntu 22.04 (Humble) or 24.04 (Jazzy), natively or through WSL2 or Docker.

Show what to download (5 tools)

Required

  1. 01

    Ubuntu Desktop

    Canonical

    Free
    Runs on
    64-bit PC (Intel or AMD) or ARM 64-bit. Recommended: 2 GHz dual-core processor, 6 GB RAM, 25 GB free disk space.
    Account
    None needed
    Size
    About 5.9 GB ISO (Intel or AMD 64-bit, current LTS)

    Free to download and use. LTS releases get five years of free security updates, which Ubuntu Pro can extend.

    Alternatives

  2. 02

    ROS 2 (Robot Operating System 2)

    Open Robotics (ROS project)

    Free
    Runs on
    Jazzy: Ubuntu 24.04 (Noble). Humble: Ubuntu 22.04 (Jammy). amd64 and arm64.
    Account
    None needed

    ROS 2 is free and open source. Jazzy Jalisco is supported until May 2029 and Humble Hawksbill until May 2027.

    Alternatives

Optional

Useful, not needed to finish the course.

  1. 03

    Windows Subsystem for Linux (WSL)

    Microsoft

    Free
    Runs on
    Windows 10 version 2004 and higher (Build 19041 and higher) or Windows 11
    Account
    None needed

    WSL is part of Windows and costs nothing. The Linux distribution you install (Ubuntu by default) has its own free licence.

    Official download pagelearn.microsoft.com
  2. 04

    Docker Desktop

    Docker, Inc.

    Free for personal use, education and small businesses
    Runs on
    Windows 10 64-bit version 22H2 (build 19045) or Windows 11 64-bit version 23H2 (build 22631) or later, with WSL 2 and hardware virtualisation on, 8 GB RAM. Also macOS and Linux.
    Account
    None needed

    Free for personal use, education, non-commercial open source projects, and businesses with fewer than 250 employees and less than 10 million US dollars in annual revenue. Larger businesses need a paid subscription. Docker Engine on Linux is open source and is not covered by these terms.

    Alternatives

    • Docker Engine (Linux): Free, open source engine for Linux. Not covered by the Docker Desktop subscription terms.
  3. 05

    Visual Studio Code

    Microsoft

    Free
    Runs on
    Windows 64-bit (supported Windows client versions), macOS (latest and two previous releases), Linux (Ubuntu 20.04, Debian 10, RHEL 8, Fedora 36 or later)
    Account
    None needed
    Size
    Less than 200 MB download, under 500 MB installed

    Free to download and use. Extensions from the Marketplace each have their own licence.

    Official download pagecode.visualstudio.com

Checked against each maker's own page on 27 September 2026. Trial lengths and editions change; the maker's page is the final word.

Practise in the 3D lab

Move a robot arm by joint and by straight line, and teach a waypoint path, to feel the arm motion that a ROS 2 motion planner has to produce.

Jog with the pendantWatch

Optional. Skip it whenever you like: it never blocks your progress or your certificate.

Course project, about 16 hours

Tote-transport AMR on ROS 2: Nav2 on a TurtleBot 3 class base between stores and two assembly lines

Design, build, test and document a simulated ROS 2 robot that carries kitting totes from a stores counter to two assembly lines and back. It runs a TurtleBot 3 in Gazebo with Nav2, a mission node you write and a safety-stop node. You deliver the Python packages, one launch file, a waypoint register and a navigation test report. The sample pack shows what an integrator hands over for the real plant.

This project at a glance
  1. 8documents in the pack
  2. 7steps to follow
  3. 6things to hand in
  4. 16 hof work, at your pace
  • URSUser Requirements: Tote Transport Robot AMR-1, Stores to Assembly Lines A and B
  • SDSSoftware Design Specification: AMR-1 ROS 2 System
  • RegisterMap and Waypoint Register: Floor 1, Stores to Lines A and B
  • IP planIP Plan and Device List: AMR-1 on the Plant Wi-Fi, VLAN 40
  • Test reportNavigation Test Report: Twenty Runs per Route, Obstacles, Wi-Fi Roaming and Battery
  • Risk registerRisk Assessment Register: AMR-1 Among People (ISO 12100, task-based, with ISO 3691-4 in view)

The project is optional practice. The certificate needs only the modules and the final assessment.

After the course, your next step

Show what you can do, then keep going in the same field.

Sample EDWartens Certificate of Completion for ROS 2 Robot Programming with Python

Sample. The issued certificate carries your name, your final score, a certificate ID and a QR code that opens its verification page.

Optional

A certificate you can verify

Finish the modules and pass the final assessment (15 questions, pass mark 60%) and you can add a certificate with a public verification page. One-off, US$28.99 for you. It is not a vendor credential.

Want a free certificate? Do the matching Free internship: 4 weeks, nothing to buy, with a free certificate of completion.

An engineer in a hard hat checking neat, labelled wiring on I/O racks inside an open control cabinet.
Free · 4 weeks · free certificate

PLC Programming

Eight short weeks of PLC ladder logic on free simulators: notes, diagrams, a few videos and auto-tested tasks. Finish weeks 1 to 4 and the final, then claim a free Internship Completion Certificate with your real dates and study hours, and a QR code anyone can scan to verify it. Training, not employment.

See the internship

More free courses

Roles that use this skill

  • Robot programmer
  • Automation engineer
  • Cell integrator
  • Maintenance technician

These are the kinds of roles where the skill is used. We make no promise of a job or an interview.

Plain notes

  • Free: the whole course, the notes, the practice tasks, the final assessment and support from practising engineers.
  • Paid, and optional: the course certificate, and the Engineer-verified internship (the Free internship costs nothing).
  • No job promise: the course teaches a skill. It does not place you in a job.
  • Lessons by: The Construct Robotics Institute, ROBOTIS OpenSourceTeam. Independent creators; the lessons stream from their own channels. EDWartens wrote the study plan, notes, practice tasks and assessments.

The Construct Robotics Institute · ROBOTIS OpenSourceTeam. If you are one of these creators and want a lesson removed or credited differently, write to info@edwartens.com.

Practise what you learn in the free 3D lab

Technical work is judged on what you can do: wiring, commissioning, finding a fault. Doing a task yourself teaches more than watching it a second time, and a lab lets you try it safely before you meet real equipment. It does not replace working on real hardware.

  • Practise safely, so a mistake costs nothing.
  • The lab checks your work like a site test, so you know when it is right.
  • Free, in your browser, with nothing to install.

Why learn with EDWartens

What you get with this course, and what comes after it.

  • Free from the first lesson to the final assessment.
  • Practice in a free 3D lab in your browser, with nothing to install.
  • Video lessons with written notes and a project.
  • An optional certificate that anyone can verify online.
  • Free internships to keep practising afterwards.

Common questions

Which ROS 2 version should I learn?

Learn a Long Term Support release. This course uses two of them, Jazzy Jalisco and Humble Hawksbill. The official ROS 2 documentation lists Jazzy as supported until May 2029 and Humble until May 2027. The newest Long Term Support release, Lyrical Luth, came out on May 22, 2026 with support until May 2031. Nodes, topics, services, launch files and colcon are core concepts shared by all of them. What you learn here carries forward.

Is ROS 1 still supported?

No. ROS 1 has reached end of life, so new work should start on ROS 2. The ROS Project Management Committee set the end-of-life date for ROS Noetic as May 31, 2025. That was the same day Ubuntu Focal reached the end of standard support. Robots still running ROS 1 need a migration plan. That is why the last module covers planning a ROS 1 to ROS 2 migration and where a ROS 1 bridge belongs.

Which Ubuntu version do I need for ROS 2?

Match Ubuntu to the ROS 2 release. Use Ubuntu 24.04 for Jazzy and Ubuntu 22.04 for Humble. The ROS 2 documentation lists Ubuntu 24.04 (Noble) as a Tier 1 platform for Jazzy Jalisco. It lists Ubuntu 22.04 (Jammy) as Tier 1 for Humble Hawksbill. The newer Lyrical Luth release lists Ubuntu 26.04 (Resolute) as Tier 1. On a Windows laptop you can run Ubuntu through WSL2 or Docker. This is how the course supports Windows users.

Is the ROS 2 Robot Programming with Python course really free?

Yes. Every module, every practice task and every assessment costs nothing, and there is no card on file. You create an account so your progress is saved and the assessments can be marked. The certificate is the only paid item, and only if you want it.

What certificate does the ROS 2 Robot Programming with Python course give?

An EDWartens Certificate of Completion, issued when you have finished every module and passed the final at 60%, with a verification code anyone can check. It is not a vendor credential and is never described as one.

Who made the video lessons in the ROS 2 Robot Programming with Python course?

The Construct Robotics Institute and ROBOTIS OpenSourceTeam, on their own YouTube channels, and they are credited at the foot of this page. EDWartens did not make the videos and neither creator is affiliated with EDWartens. What EDWartens wrote is the study plan, the notes, the practice tasks and the assessments.

What computer do I need for the ROS 2 Robot Programming with Python course?

A laptop that can run Ubuntu 22.04 or 24.04, with roughly 8 GB of RAM and 30 GB of free disk. Windows is fine through WSL2 or Docker. This is the one course in the free catalogue you cannot do on a phone alone: the notes and practice questions read on a phone, but ROS 2 and the simulator need a real machine.

Do I need to know Python first?

Basic Python is assumed: functions, classes, lists and dictionaries. You also need to be comfortable in a Linux terminal, since almost everything is run from one. No C++ is required; the last module only asks you to read a C++ node, not write one.

Some lessons were recorded on ROS 1. Does that matter?

The concept chapters from ROBOTIS were recorded for ROS 1, and each module says so. Nodes, topics, services, sensors, drive geometry, SLAM and kinematics are unchanged. Where the commands differ, the module notes give the ROS 2 form, and every hands-on lesson you follow at the keyboard is ROS 2.

Is this the same as an official ROS certification?

No. There is no single awarding body for ROS, and this course is not endorsed by Open Robotics, ROBOTIS, The Construct or any vendor. It is preparation and practice. What you get from EDWartens is a Certificate of Completion for the work you did here.

Will this help me get a robotics job?

It gets you past the first filter. ROS or ROS 2 is a named requirement in warehouse robotics, AMR and factory-robotics roles in robotics hubs worldwide, and most applicants from a maintenance or PLC background have never installed it. A course alone is not a hire. A simulated robot running on your own laptop that you can explain in an interview is what makes the difference.

Do I have to use the lab?

No. The lab is optional practice. You can skip it whenever you like, and it never blocks your progress, the final assessment or your certificate.

Is the lab free?

Yes. Every lab level for this course opens in your browser, free, with nothing to install.

What topics does the ROS 2 Robot Programming with Python course cover, module by module?

The ROS 2 Robot Programming with Python course has 13 modules. It opens with "What ROS 2 is and the problem it solves", goes through "Installing ROS 2 and setting up the machine", "Publishers, subscribers and messages in Python", "Writing a control loop: the wall follower" and "Beyond Python: C++ nodes, a ROS 1 bridge and a language model" and ends with "Final assessment". The full list with minutes is under "What you learn" on this page.

What can I do after the ROS 2 Robot Programming with Python course?

After the ROS 2 Robot Programming with Python course: Install ROS 2 on Ubuntu, WSL2 or a Raspberry Pi and prove the graph is running; Create a workspace, build a Python package with colcon and run a node you wrote; Write publisher, subscriber and service nodes, and define your own message type. These are the practical outcomes the course is written around, and the final assessment of 15 questions checks them.

What software and hardware do I need for the ROS 2 Robot Programming with Python course, and does it cost anything?

For the ROS 2 Robot Programming with Python course, software: Ubuntu 22.04 or 24.04, natively or through WSL2 or Docker. ROS 2 Humble or Jazzy, Python 3, colcon, rqt, RViz and Gazebo. Every tool is free and open source. Hardware: A laptop with about 8 GB RAM and 30 GB free disk, because ROS 2 and a simulator have to be installed. The notes, practice questions and study plan read on a phone; the practicals do not. A Raspberry Pi, a 2D lidar and a small differential-drive base appear in the lessons and are optional. The course itself is free.

Is the ROS 2 Robot Programming with Python course suitable for me, and what level is it?

ROS 2 Robot Programming with Python is rated intermediate. Intermediate. Assumes basic Python and comfort with a Linux terminal. No robotics background needed, and no prior ROS. It is written for engineering students, apprentices, technicians and working engineers in manufacturing and robotics, and takes about 11.1 hours at your own pace.

Which jobs use the skills from the ROS 2 Robot Programming with Python course?

Skills from the ROS 2 Robot Programming with Python course (for example: install ROS 2 on Ubuntu, WSL2 or a Raspberry Pi and prove the graph is running) are used in roles such as robot programmer, automation engineer, cell integrator and maintenance technician, and in robotics engineer work. The course gives you practical evidence of the skill; it does not promise a job, and employers decide on experience and interview.

Start free today

ROS 2 Robot Programming with Python, at your own pace. Add the certificate only if you want one.