Robotics · Free online course
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.
- 13 modules
- 7h 7m of video
- Intermediate
- English
- ₹0, free
- Lab practice in your browser

₹0Free for good
Worth ₹4,999 by length and depth against classroom training. It has always been free; that is not a former price.
No card. Checkout takes a minute and gives you a receipt.
Overview
About 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, 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.
Who it is for: Engineering students, ITI and diploma holders, and working engineers in manufacturing and robotics
This course includes
- 7h 7m of video lessons
- 13 modules with written notes and diagrams
- One final assessment: 15 questions, pass mark 60%
- Ask-an-engineer support from practising engineers
- Lifetime access, the course does not expire
- Optional verifiable certificate when you finish
- Step 1 of 3
Learn the 13 modules
7h 7m of video lessons, written notes and a practice task per module, at your own pace.
- Step 2 of 3
Pass the final assessment
15 questions drawn from every module, pass mark 60%, 3 attempts.
- Step 3 of 3
Take the certificate, if you want it
Optional, paid once, only if you choose it. The course stays free either way.
See the certificate and its price
A look inside



From the lessons

What ROS 2 is and the problem it solves
by ROBOTIS OpenSourceTeam

Nodes, topics and the ROS graph
by 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
by The Construct Robotics Institute

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

Writing a control loop: the wall follower
by ROBOTIS OpenSourceTeam

Manipulators and arm motion
by ROBOTIS OpenSourceTeam
Lesson frames belong to the creators named in the Credits and are shown from YouTube.
What you learn
What you will be able to do
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
How it works
How this course works
Watch the lessons
Short video lessons, one module at a time, at your own pace.
Read the notes
Open the Reading tab for the written notes and diagrams of the module.
Practise in the 3D labOptional
Try the module in the free 3D lab, in your browser.
Check yourself
Answer the questions to see what stuck before you move on.
Final assessment
Pass the final once you have been through the modules.
Certificate, if you want oneOptional
Optional, with a page anyone can use to verify it.
Syllabus
Course content, module by module
In order, at whatever pace suits you. Each module ends with a practice task that builds on the last.
- Modules
- 13
- Video lessons
- 35
- Of video
- 7h 7m
- Final questions
- 15
- 01
What ROS 2 is and the problem it solves
4 lessons · 30m - 02
Installing ROS 2 and setting up the machine
4 lessons · 29m - 03
Nodes, topics and the ROS graph
4 lessons · 29m - 04
Workspaces and Python packages
4 lessons · 34m - 05
Publishers, subscribers and messages in Python
3 lessons · 27m - 06
Launch files and the inspection tools
2 lessons · 29m - 07
Services: request and reply in one node
2 lessons · 44m - 08
Sensors, motors and the mobile base
3 lessons · 38m Final assessment · 15 questions, pass mark 60%
3D lab
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.
- JogRobotics lab, about 20 minOpen in the lab (opens in a new tab): Jog
- Teach and runRobotics lab, about 30 minOpen in the lab (opens in a new tab): Teach and run
Optional. Skip it whenever you like: it never blocks your progress or your certificate.
Project
The course project
Optional practice that ends in the kind of job the course prepares you for, with the documents that go with it.
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. It runs on a TurtleBot 3 Waffle Pi class base with Nav2. A button on a tablet calls it, over the plant's Wi-Fi. You deliver the Python package with its mission, safety-stop and button nodes, and one launch file. You also deliver your own waypoint register and navigation test report, and the deploy procedure. The sample pack shows what a small-robot integrator hands over.
- 8documents in the pack
- 7steps to follow
- 6things to hand in
- 16 hof work, at your pace
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.
Tools
Software, hardware and lessons
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.
Who it is for
Intermediate. Assumes basic Python and comfort with a Linux terminal. No robotics background needed, and no prior ROS.
Video lessons by
- The Construct Robotics Institute
- ROBOTIS OpenSourceTeam
Independent creators, credited in full under Credits.
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.
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 Wartens Ltd (England and Wales, company no. 15262249) through the EDWartens training portal, as a Certificate of Completion for this self-paced course. Sold in India by Wartens Automation Private Limited. 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.
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.
- 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.
FAQ
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 get me a robotics job in India?
It gets you past the first filter. ROS or ROS 2 is a named requirement in warehouse robotics, AMR and factory-robotics roles across Bangalore, Pune and Chennai, 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.
Is the ROS 2 Robot Programming with Python course free in India, and what does the certificate cost?
Yes. Learning costs ₹0 in India: every module, the written notes, the practice tasks and the final assessment, with no card and no trial period. The only paid item is the optional EDWartens Certificate of Completion, ₹599 including GST for this intermediate course, paid in rupees through Razorpay, and only if you want it after passing the final assessment.
Is there classroom robotics training in India as well?
Not on a robot. In our Bangalore classroom you learn how a PLC commands and interlocks a robot cell; robot programming itself is taught in our free online courses, not on a robot in the classroom. This free course is one of those online courses. Details are at edwartens.co.in/robotics-training-bangalore, and the programme itself at edwartens.co.in/courses/aep.
All course factsHide course facts
- Price
- ₹0, free for good. No trial, no card. Comparable classroom training of this length costs about ₹4,999.
- 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, ₹599 inclusive of GST for learners in India, 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
Pairs well with
Robotics · FreeFANUC Robot Programming with the Teach Pendant and ROBOGUIDE
Robotics · FreeABB Robot Programming with RobotStudio and RAPID
Robotics · FreeKUKA Robot Programming with KUKA.Sim, smartPAD and WorkVisual
Robotics · FreeUniversal Robots Cobot Programming with PolyScopeMore free courses: Free industrial robot programming courses
Classroom course, Bangalore
See how the classroom covers PLC to robot-cell integration
In our Bangalore classroom you learn how a PLC commands and interlocks a robot cell; robot programming itself is taught in our free online courses, not on a robot in the classroom.
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.