Robotics 路 Free
ROS 2 Robot Programming with Python
The step from a control panel to robot software: nodes, topics, services and messages; installing ROS 2 on Ubuntu, WSL2 or a Raspberry Pi; workspaces, Python packages and launch files; the encoders, lidar, motors and drive geometry underneath; a wall-following control loop you write yourself; SLAM, costmaps and autonomous navigation; arm kinematics and motion planning; and where C++, a ROS 1 bridge and a language model actually belong.
Inside the course



From the lessons

What ROS 2 is and the problem it solves
ROBOTIS OpenSourceTeam

Nodes, topics and the ROS graph
ROBOTIS OpenSourceTeam
![ROS2 Tutorials #2: How to Publish & Subscribe to a ROS2 Topic [UPDATED]](https://i.ytimg.com/vi/5DlrkkH3LS4/mqdefault.jpg)
Publishers, subscribers and messages in Python
The Construct Robotics Institute

Services: request and reply in one node
The Construct Robotics Institute

Writing a control loop: the wall follower
ROBOTIS OpenSourceTeam

Manipulators and arm motion
ROBOTIS OpenSourceTeam
Lesson frames belong to the creators named in the Credits below and are shown from YouTube.
What you will learn
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
For you
Taking ROS 2 Robot Programming with Python from the United States
- Free in the United States, as everywhere, and self-paced: lessons, notes and the final assessment are open at any hour, so your time zone and shift pattern do not matter.
- The optional certificate for learners in the United States is a one-off US$28.99. What you get for it
- Plants across the Americas most often run Allen-Bradley, Siemens and Inductive Automation; each has its own free course to take next.
- See automation and engineering jobs in the United States, and what the industry looks like in Houston, Detroit and Chicago.
- EDWartens also has a regional site for the United States, for classroom training and local support: edwartens.com/us.
The 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 ROS 2 mobile robot that carries kitting totes from the stores counter to two pump-assembly lines and back, on a TurtleBot 3 Waffle Pi class base with Nav2, called by a button on a tablet, over the plant's Wi-Fi. You deliver the Python package with its mission, safety-stop and button nodes, one launch file, your own waypoint register and navigation test report, and the deploy procedure. The sample pack shows what a small-robot integrator hands over.
Sample document pack, 8 documents, filled in for the scenario
- 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)
- ProcedureProcedure: Deploying and Updating the AMR-1 Software, with Rollback
- O&M manualOperation and Maintenance Manual: AMR-1 (Operation section, the laminated note)
Read inside the course and download as a workbook. The project is optional practice, marked when you submit it; the certificate needs only the modules and the final assessment.
Course content
13 modules 路 35 lessons 路 7h 7m
In order, at whatever pace suits you. Each module ends with a practice task that builds on the last.
- 01What ROS 2 is and the problem it solves4 lessons30m
- 02Installing ROS 2 and setting up the machine4 lessons29m
- 03Nodes, topics and the ROS graph4 lessons29m
- 04Workspaces and Python packages4 lessons34m
- 05Publishers, subscribers and messages in Python3 lessons27m
- 06Launch files and the inspection tools2 lessons29m
- 07Services: request and reply in one node2 lessons44m
- 08Sensors, motors and the mobile base3 lessons38m
Requirements
- Who it is for
- Intermediate. Assumes basic Python and comfort with a Linux terminal. No robotics background needed, and no prior ROS.
- 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. What to download, and how
- 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.
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.
Required
- 01Free
Ubuntu Desktop
Canonical
- 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.
Steps
- 1.Open ubuntu.com/download/desktop and download the LTS ISO. For ROS 2 courses, get 24.04 LTS or 22.04 LTS from releases.ubuntu.com instead.
- 2.To try it safely, create a new virtual machine in VirtualBox and attach the ISO.
- 3.To install on a real PC, write the ISO to a USB stick (8 GB or more) and boot from it.
- 4.Follow the installer, then run Software Updater when it finishes.
- Your course may name a specific release. ROS 2 Humble needs Ubuntu 22.04 and ROS 2 Jazzy needs Ubuntu 24.04.
- Give a virtual machine at least 25 GB of disk space.
Official download pageubuntu.comAlternatives
- Ubuntu 24.04 LTS: Use for ROS 2 Jazzy.
- Ubuntu 22.04 LTS: Use for ROS 2 Humble.
- Windows Subsystem for Linux: Run Ubuntu inside Windows 10 or 11 without a virtual machine.
- 02Free
ROS 2 (Robot Operating System 2)
Open Robotics (ROS project)
- 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.
Steps
- 1.Install the Ubuntu release that matches your ROS 2 version (24.04 for Jazzy, 22.04 for Humble).
- 2.Open the install page for your version on docs.ros.org and follow "Ubuntu (deb packages)": set a UTF-8 locale and enable the required repositories.
- 3.Run: sudo apt update and then: sudo apt install ros-jazzy-desktop (use ros-humble-desktop for Humble).
- 4.Load the environment in each new terminal: source /opt/ros/jazzy/setup.bash
- 5.Test it: run ros2 run demo_nodes_cpp talker in one terminal and ros2 run demo_nodes_py listener in another.
- On Windows, you can run Ubuntu 24.04 or 22.04 inside WSL or VirtualBox.
- Install ros-dev-tools too if you will build your own packages.
- Add the source line to ~/.bashrc so you do not have to type it each time.
Official download pagedocs.ros.orgAlternatives
- ROS 2 Humble install guide: For Ubuntu 22.04.
Optional
Useful, not needed to finish the course.
- 03Free
Windows Subsystem for Linux (WSL)
Microsoft
- 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.
Steps
- 1.Right-click PowerShell and choose "Run as administrator".
- 2.Run: wsl --install
- 3.Restart your PC when asked.
- 4.Open Ubuntu from the Start menu and wait while it unpacks.
- 5.Create a Linux user name and password when prompted.
- To see other distributions, run: wsl --list --online, then install one with: wsl --install -d <Name>
- If the install hangs at 0.0%, run: wsl --install --web-download -d Ubuntu
- Check your setup with: wsl -l -v (new installs use WSL 2).
Official download pagelearn.microsoft.com - 04Free for personal use, education and small businesses
Docker Desktop
Docker, Inc.
- 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.
Steps
- 1.Open docker.com/products/docker-desktop and download the installer for your system.
- 2.On Windows, install WSL first (wsl --install) if you do not have it.
- 3.Run the installer and keep the WSL 2 option selected.
- 4.Restart if asked, then start Docker Desktop and accept the subscription terms.
- 5.Open a terminal and run: docker run hello-world
- Turn on virtualisation in BIOS or UEFI if Docker says it is not available.
- On Linux servers, install Docker Engine instead of Docker Desktop.
Official download pagedocker.comAlternatives
- Docker Engine (Linux): Free, open source engine for Linux. Not covered by the Docker Desktop subscription terms.
- 05Free
Visual Studio Code
Microsoft
- 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.
Steps
- 1.Open code.visualstudio.com/download.
- 2.Pick the installer for your system (on Windows, the User Installer is fine).
- 3.Run the installer. On Windows, tick "Add to PATH" if it is offered.
- 4.Open VS Code and install the extensions your course uses, for example the Python extension.
- Hardware needs are small: a 1.6 GHz processor and 1 GB of RAM.
- On Windows, the "Open with Code" options in the installer let you open folders from File Explorer.
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.
ROS 2 Robot Programming with Python at a glance
ROS 2 Robot Programming with Python is a free, self-paced online course from EDWartens for engineering students, ITI and diploma holders, and working engineers in manufacturing and robotics. It has 13 modules and 7h 7m of video lessons by The Construct Robotics Institute, ROBOTIS OpenSourceTeam, with written notes and worked problems, a practical project with a document pack and a 15-question final assessment (pass mark 60%). Learning is free with an account; an optional certificate with a public verification code is issued when you pass. Last updated 27 September 2026.
All course factsHide course facts
- Price
- Free, for good. No trial, no card. The only paid item is the optional certificate, a small one-off fee.
- Who it is for
- Engineering students, ITI and diploma holders, and working engineers in manufacturing and robotics
- Format
- 13 self-paced modules, 7h 7m of video, written notes, a practice task per module and one final assessment.
- Level
- Intermediate. Intermediate. Assumes basic Python and comfort with a Linux terminal. No robotics background needed, and no prior ROS.
- Brand
- Vendor-neutral
- 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.
- Certificate
- Optional EDWartens Certificate of Completion, verifiable by code. Not a vendor credential.
- Video lessons by
- The Construct Robotics Institute, ROBOTIS OpenSourceTeam (independent creators, credited below)
- Language
- English
- Last updated
- 27 September 2026
A shareable EDWartens certificate
Finish every module and pass the final assessment, and the optional EDWartens certificate is yours. It carries a unique verification code on a public page anyone can check, so it stands up when a recruiter looks it up. See it below.
The course itself stays free whether or not you ever buy one.
Stuck? Ask a practising engineer
A free course usually means a comment section and hope. This one does not. Every module has an Ask-your-trainer panel that reaches the same engineers who teach our paid programme: people who commission panels for a living, not moderators.
Pairs well with
Robotics 路 FreeFANUC Robot Programming with the Teach Pendant and ROBOGUIDEFrom jogging and frames to TP programs, registers, branching, offsets, pick-and-place, ROBOGUIDE simulation, palletising, error recovery and PLC integration.
Robotics 路 FreeABB Robot Programming with RobotStudio and RAPIDRobotStudio from install to a running pick-and-place: stations, jogging, the FlexPendant, frames, paths, RAPID, collision checking, signals, physics, sharing and RobotStudio Cloud.
Robotics 路 FreeKUKA Robot Programming with KUKA.Sim, smartPAD and WorkVisualSimulation in KUKA iiQWorks.Sim (formerly KUKA.Sim), KRL structure and programming on the smartPAD, WorkVisual configuration, fieldbus and PLC integration, safety, advanced KRL, backups and the new KRC5 micro with iiQKA.OS.
Robotics 路 FreeUniversal Robots Cobot Programming with PolyScopeCollaborative robots the way integrators use them: the UR family, tool and payload setup, the safety configuration, PolyScope programs, pick-and-place and palletising, force and blends, URSim, URScript, RTDE, sockets, PROFINET and real machine-tending and vision applications.More free courses: Free industrial robot programming courses
Learner reviews
No reviews yet
Reviews here are written only by learners who have finished every module of ROS 2 Robot Programming with Python, and they are published exactly as written. Finish the course and yours will be the first.
Common questions
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 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.
What you walk away with
Your certificate for ROS 2 Robot Programming with Python
Finish the course, pass the final, and this is the document with your name on it.

Verifiable by anyone
Adds to LinkedIn in one click
QR code on the certificate
Names what you can do
A permanent link
Earned, not attended
Learning is free. The certificate is optional.
Add it now and pay only when you have finished the course, or come back for it later. One-off, US$28.99, with a receipt.
Issued by EDWartens, the training division of Wartens, as a Certificate of Completion for this self-paced course. Sold by Wartens Ltd (England and Wales). It is not a vendor certification, a university award or a CPD-accredited activity, and it does not certify competence on live equipment. Delivered electronically; see the refund policy.
Credits
Who made the video lessons
The video lessons in this course were created by the people below, not by EDWartens. Every lesson streams from its creator's own YouTube channel; EDWartens neither hosts nor sells that footage, and the creators are not affiliated with EDWartens and do not endorse this course. What EDWartens wrote is the study plan, the notes, the practice tasks and the assessments.
- The Construct Robotics Institutethe 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 OpenSourceTeamthe 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
If you are one of these creators and would like a lesson removed or credited differently, write to info@wartens.com.
