Skip to content
EDWartens UK

Free course · Robotics

ROS 2 Robot Programming with Python

A ROS 2 course for Python users: install ROS 2, write nodes and launch files, follow a wall, learn SLAM. Free to learn; the certificate is optional and paid.

See the modules

Free to learn. Verifiable certificate £19 when you pass the final exam (optional, VAT included).

Level
Intermediate
Modules
13
Video
11 hours
Price
Free

Outcome

What you will be able to do

Install ROS 2 on Ubuntu or a Raspberry Pi and prove the graph is running; create a workspace and a Python package that builds with colcon; write publisher, subscriber and service nodes and define your own message; bring a whole system up with one launch file and inspect it with ros2 topic, rqt_graph and RViz; read a LaserScan and drive a base with Twist to follow a wall; explain how SLAM, costmaps and the global and local planners produce autonomous navigation; describe forward and inverse kinematics and why an arm still needs a motion planner; and read a C++ node, plan a ROS 1 to ROS 2 migration, and place a language model above the navigation stack rather than inside the control loop.

  • 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
  • Bring a whole robot up with one launch file and inspect it with ros2 topic, rqt_graph and RViz
  • Read a LaserScan and drive a base with Twist to follow a wall under proportional control
  • Explain how SLAM, costmaps and the global and local planners produce autonomous navigation

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.

Syllabus

13 modules

Each module has video lessons, notes and a short quiz. The final exam closes the course.

  1. 1What ROS 2 is and the problem it solves4 lessons
  2. 2Installing ROS 2 and setting up the machine4 lessons
  3. 3Nodes, topics and the ROS graph4 lessons
  4. 4Workspaces and Python packages4 lessons
  5. 5Publishers, subscribers and messages in Python3 lessons
  6. 6Launch files and the inspection tools2 lessons
  7. 7Services: request and reply in one node2 lessons
  8. 8Sensors, motors and the mobile base3 lessons
  9. 9Writing a control loop: the wall follower2 lessons
  10. 10SLAM, mapping and autonomous navigation2 lessons
  11. 11Manipulators and arm motion1 lessonLab
  12. 12Beyond Python: C++ nodes, a ROS 1 bridge and a language model4 lessons
  13. 13Final assessment0 lessons

How it works

How this course works

  1. Watch the video lessonsOne module at a time, at your own pace.
  2. Take the module quizA short quiz at the end of each module shows what stuck.
  3. Keep your notesWrite in My notes beside each module and ask the trainer if you are stuck.
  4. Practise in the labOptionalTry a task from the module in the EDWartens Lab, in your browser.
  5. Sit the final examPass it once you have been through the modules.
  6. Certificate, if you want oneOptionalPaid, and only after you pass. Anyone can check it online.

EDWartens Lab

Practise this in the EDWartens Lab

Jog an arm with a pendant, teach points and run a pick and place cycle in the Lab's robot simulator.

Works alongside ROS 2 Robot Programming with Python. The Lab is robot cell practice in your browser: no install, no hardware, free to use. Sign in as a learner and it opens with your account.

Robot cell: Teach a robot arm.

Levels to try with this course

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

Why practise in a 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.

Certificate

An optional certificate when you pass

Learning is free. Pass the final exam and you can have a certificate for £19, including VAT, with a number employers can check online. It records that you completed a free online course; it is not a regulated qualification or a CPD certificate.

  • Your name, the course, its study time and your final exam score
  • A unique certificate number and a QR code to its verification page
  • Issued by Wartens Ltd; add it to your LinkedIn profile in one click
  • Pay now or after you pass: it is issued the moment you pass the final

How the certificate works

Sample certificate for ROS 2 Robot Programming with Python

Credits

Who made the lessons

The video lessons belong to their creators. EDWartens wrote the study plan, notes, quizzes and the final exam.

  • The Construct Robotics Institute

    the ROS 2 tutorial lessons: installing Jazzy and installing on a Raspberry Pi, nodes and topics from the command line, workspaces, Python and C++ packages, publishers and subscribers, custom messages, launch files, services combined in one node, the wall follower, the ros1_bridge lesson and the language-model robot

  • ROBOTIS OpenSourceTeam

    the ROS Robot Programming chapters used for the concepts underneath: robot software platforms, the development environment, the core concepts and tools, sensors and motors, the embedded layer, mobile robots, SLAM and navigation, and manipulators

Questions

About this course

Which ROS 2 version should I learn?
Learn a Long Term Support release, such as Jazzy Jalisco or Humble Hawksbill, which are the two this course uses. The official ROS 2 documentation lists Jazzy as supported until May 2029 and Humble until May 2027, and 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, so 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 formally set the end-of-life date for ROS Noetic as May 31, 2025, the same day Ubuntu Focal reached the end of standard support. Robots still running ROS 1 need a migration plan, which is why the last module of this course 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: 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 and Ubuntu 22.04 (Jammy) as Tier 1 for Humble Hawksbill, while 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, which is how this course supports Windows users.
Is the 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 do I get?
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?
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?
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 accrediting 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.

The Professional Module is five live days of Siemens PLC, HMI and SCADA with an instructor, then a resume session and a CPD certificate.

See the Professional Module