Course

ROS 2 Basics in 5 Days Humble (Python)

Learn the fundamentals of ROS 2 to understand and be able to program robots.

Course overview

This course covers the fundamental concepts of ROS 2, focusing on hands-on practice to equip you with essential skills for programming robots.

 

What You Will Learn

N

Creation of ROS 2 packages

N

Management of the new Colcon universal building system

N

Topic Publishers and subscribers in ROS 2 Python

N

New Launch system based on Python

N

Callbacks in ROS 2

N

Multithreading

N

Use of Debbuging tools in ROS 2

100% Online

No ROS setup is required. Everything is online.

Intermediate Level

}

Approx. 20 hours to complete

Simulated Robots Used

Mars Rover

Syllabus

Unit 1: Introduction to the ROS 2 Basics Python Course

This unit introduces the “ROS 2 Basics in 5 Days” course, where you’ll get a brief overview of the content and see a practical demo.

Unit 2: ROS 2 Basic Concepts

In this unit, you’ll learn:

  • How to structure and launch ROS 2 programs (packages and launch files)
  • How to create basic ROS 2 programs (Python-based)
  • Basic ROS 2 concepts: nodes, client libraries, etc.

Unit 3: Understanding ROS 2 Topics

In this unit, you’ll learn the basics of working with topics—the core messages in ROS 2 for connecting processes, accessing sensor data, and controlling actuators, including:

  • Basic Topic Commands
  • Defining a Topic
  • Topic Subscribers and Publishers
  • Mixing Publishers and Subscribers
  • Custom Interfaces

 

Unit 4: Understanding ROS 2 Services

In this unit, you’ll learn the basics of working with Services—a method of communication between nodes in ROS 2, including:

  • Service Server
  • Service Client
  • Synchronous vs. Asynchronous Service Clients in ROS 2
  • Basic Service Commands Cheatsheet
  • Custom Interfaces
  • Using Custom Interfaces

 

Unit 5: Callbacks

 

In this unit, you’ll learn about callbacks—a function executed in response to events, such as receiving a message on a subscribed topic or when a service is called, including:

  • Objective
  • Setting Up CMake for ROS 2 Packages
  • The Importance of Callbacks
  • Spin Once

Unit 6: Multithreading

In this unit, you’ll learn about multithreading—the ability to run multiple threads concurrently within a single process, enabling efficient handling of tasks such as data processing, communication, and callback execution.

Unit 7: Understanding ROS 2 Actions

In this unit, you’ll learn about actions in ROS 2—a communication mechanism that enables nodes to perform long-running tasks with feedback and cancellation options, allowing for asynchronous execution and interaction in robotic applications.

Topics covered:

  • Calling an Action Server
  • Providing Feedback from Actions
  • How to Call an Action Server
  • Action Client Code Explanation
  • Writing an Action Server
  • Creating an Action Interface
  • Developing a Custom Action Client

 

Unit 8: ROS 2 Debugging Tools

In this unit, we’ll explore ROS 2 debugging tools to help diagnose and troubleshoot issues in your ROS 2 system.

Topics covered:

  • ROS 2 Debugging Messages
  • Visualizing Complex Data with RViz2
  • Using tf2_tools to View Frames
  • ROS 2 Doctor:
  • Check Your Entire Setup
  • Diagnose a Specific System
  • Generate a Full Report with ROS 2 Doctor

 

What our students think

I have had a great experience with The Construct. I believe much of what I have learned thus far regarding ROS has been from these courses and the concepts behind the implementation of ROS have been helpful even outside of ROS applications.

Sam Daly

I’m very happy about working with The Constructsim, it is affordable, it is very comfortable for me, and the tools in the GUI are very useful

Bladimir Bacca Cortes

I really liked the learning approach based on projects and practical examples and I found the final project with an actual robot to be very useful and challenging.

Guillermo Robledo

Course creators

Miguel Angel

Head of Research @ The Construct | Creator of over 10 ROS AI courses | Author of ROS IN 5 DAYS book collection

Juan Pablo Valdivia

Robotics AI Engineer | 3D printer Engineer @ The Construct

Related courses

Discover more Robotics Courses

Top universities choose The Construct for Campus to teach ROS & Robotics.

Start Learning Now.

RESULTS GUARANTEED

Pin It on Pinterest