ROS2 For Beginners (ROS Foxy/ Humble – 2023)
About Course
This free ROS2 for Beginners course is a complete beginner’s guide to the ROS2 (Robot Operating System 2) framework, designed for individuals with no prior experience in robotics or ROS. This course is perfect for those who are looking to learn ROS2 from scratch, focusing on practical skills and hands-on experience.
Learn ROS2 concepts such as nodes, topics, services, custom messages, parameters, launch files, and more. The course provides step-by-step instructions for both Python and C++, along with practice activities and detailed solutions. You will be guided through the entire process of setting up your workspace, installing ROS2, creating nodes, publishing and subscribing to topics, and developing your own ROS2 applications.
This course is designed to provide a solid foundation in ROS2, enabling you to confidently start your own ROS2 projects. You’ll learn practical skills, best practices, and debugging techniques to become a proficient ROS2 developer. This course is ideal for beginners and individuals with some programming experience in Python or C++. It covers the core fundamentals of ROS2, making it an excellent starting point for those interested in robotics, automation, and AI.
This course is completely free and available on Theetay. It has been carefully curated from top platforms like Udemy, Udacity, Coursera, MasterClass, NearPeer, and others.
Course Content
ROS2 For Beginners (ROS Foxy, Humble – 2023)
-
A Message from the Professor
-
Introduction
03:02 -
What is ROS2 When to use it and Why
06:47 -
Tips to get started with the class
01:50 -
Install ROS2 and Setup Your Environment
01:00 -
Which ROS2 Distribution to Use
04:53 -
Install Ubuntu 20.04 on a Virtual Machine
16:09 -
Programming Tools I Use During This Course
03:44 -
Install ROS2 Foxy Fitzroy on Ubuntu 20.04
03:41 -
Setup Your Environment for ROS2
02:16 -
Launch a ROS2 Program!
02:48 -
Write Your First ROS2 Program
01:18 -
Install the ROS2 Build Tool – colcon
02:19 -
Create a ROS2 Workspace
04:08 -
Create a Python Package
05:57 -
Create a C++ Package
04:08 -
What is a ROS2 Node
07:35 -
Write a Python Node – Minimal Code
14:57 -
Write a Python Node – With OOP
07:46 -
Write a C++ Node – Minimal Code
13:36 -
Write a C++ Node – With OOP
09:44 -
OOP Template for Your Nodes
01:54 -
More About the ROS2 Client Libraries for Different Languages
02:31 -
Introduction to ROS2 Tools
01:03 -
Debug and Monitor Your Nodes with ros2 cli
09:57 -
Rename a Node at Runtime
06:02 -
Colcon
05:00 -
Rqt and rqt_graph
03:48 -
Discover Turtlesim
04:53 -
Activity 001 – ROS2 Nodes and Tools
00:53 -
Activity 001 – Solution
04:25 -
ROS2 Topics – Make Your Nodes Communicate
00:45 -
What is a ROS2 Topic
09:00 -
Write a Python Publisher
18:20 -
Write a Python Subscriber
09:36 -
Write a C++ Publisher
17:11 -
Write a C++ Subscriber
10:01 -
Debug Topics with Command Line Tools
07:07 -
Remap a Topic at Runtime
03:38 -
Monitor Topics with rqt and rqt_graph
06:18 -
Experiment on Topics with Turtlesim
04:53 -
Activity 002 – ROS2 Topics
01:01 -
Activity 002 – Solution (1 2)
08:47 -
Activity 002 – Solution (2 2)
11:09 -
ROS2 Services – Client Server Interactions Between Nodes
00:54 -
What is a ROS2 Service
07:00 -
Write a Python Service Server
13:40 -
Write a Python Service Client – no OOP
13:44 -
Write a Python Service Client – OOP
12:13 -
Write a C++ Service Server
14:43 -
Write a C++ Service Server
14:43 -
Write a C++ Service Client – no OOP
14:24 -
Write a C++ Service Client – OOP
17:13 -
Debug Services with ROS2 Tools
04:51 -
Remap a Service at Runtime
03:09 -
Experiment on Services with Turtlesim
07:48 -
Activity 003 – ROS2 Services
00:51 -
Activity 003 – Solution
11:56 -
Create Custom ROS2 Interfaces (Msg and Srv)
00:45 -
What are ROS2 Interfaces
11:34 -
Create and Build Your First Custom Msg
13:50 -
Use your Custom Msg in a Python Node
10:27 -
Use your Custom Msg in a C++ Node
04:27 -
Create and Build your First Custom Srv
04:32 -
Debug Msg and Srv with ROS2 Tools
07:06 -
Activity 004 – Custom Interfaces
01:53 -
Activity 004 – Solution (1 3)
10:54 -
Activity 004 – Solution (2 3)
13:31 -
Activity 004 – Solution (3 3)
19:32 -
ROS2 Parameters – Change Node Settings at Runtime
00:31 -
What is a ROS2 Parameter
03:18 -
Declare Your Parameters
12:17 -
Get Parameters from a Python Node
11:32 -
Get Parameters from a C++ Node
09:38 -
Activity 005 – ROS2 Parameters
00:19 -
Activity 005 – Solution (1 2)
05:58 -
Activity 005 – Solution (2 2)
04:20 -
ROS2 Launch Files – Scale Your Application
00:49 -
What is a ROS2 Launch File
02:31 -
Create and Install a Launch File
14:19 -
Configure Your Nodes in a Launch File
06:41 -
Activity 006 – ROS2 Launch Files
00:40 -
Activity 006 – Solution
11:17 -
Turtlesim Project – Instructions
01:39 -
Turtlesim Project – Step 1 6
28:29 -
Turtlesim Project – Step 2 6
15:40 -
Turtlesim Project – Step 3 6
17:09 -
Turtlesim Project – Step 4 6
19:09 -
Turtlesim Project – Step 5 6
07:26 -
Turtlesim Project – Step 6 6
12:24 -
What You’ve Learned
01:52 -
What to do Next
02:29 -
Course Material Download Link
00:00
Earn a certificate
Add this certificate to your resume to demonstrate your skills & increase your chances of getting noticed.