3-day Intensive Live Training

Mastering ROS2 Basics in C++ 

Learn how to create basic programs in ROS2. 


Training on

May 25 – 27, 2022

Enroll by May 21, 2022


€2,999 EUR


Online with Remote Robots

Experts Guidance


Practice A Lot with Simulated & Real Robots


Practice with Real Industrial Robots



Our training is trusted by:

Training Overview

With ROS2 quickly becoming the standard (for robotics) and overcoming ROS1, it’s time to learn how to program a robot with ROS2. This intensive online training offers a practical ROS2 learning experience, where you will learn how to create basic programs in ROS2. 

What you’ll learn

  • How to create packages, nodes, topics, services, and actions in ROS2
  • Management of the new Colcon universal building system
  • Topic publishers and subscribers in ROS2 Python
  • Management of nodes in ROS2: life cycle, executors and callback groups
  • Basic use of ROS1-Bridge to communicate ROS2 systems with ROS1 systems.
  • Hybrid applications with ROS1 and ROS2
  • Use of debugging tools in ROS2

How you’ll learn

Students learn through real-time ROS expert-led explanations, along with explanatory notebooks and robotic simulations. The students will complete the exercises with simulated robots, working with the instructor. Each student is assigned their own simulated robots. 


Total time: 22 hours

Every day from 9 AM to 6 PM

3 timezones available

  • Pacific Daylight Time (PDT)
  • Eastern Daylight Time (EST)
  • Central European Summer Time (CEST)


Intensive Live Training

Who is this training for?

  • For new ROS users
  • For ROS1 old users that want to start with ROS2
  • Engineers or CTOs who want to build scalable robotics products, faster

3 days intensive training plan

Total time: 22 hours






2 hrs/day: Learn Theory


2 hrs/day: Do Exercises with Simulated Robots


3 hrs/day: Work on Real Robot Projects


1 hr/day: Apply & Debug Your Codes on Real Robots (with our support)

Real Robots Used

You will be using the following real robots throughout the training

Robotnik RB-1 Base Robot

RB-1 BASE Mobile Robot

Developed by

Simulated Robots Used

You will use several robots in simulations and others in reality. This will allow you to see the flexibility of ROS2 with different robotic platforms.




What You Will Learn in 3-Day


  • Basic programming knowledge in C ++.
  • Google Chrome or Firefox browser.
  • It is not necessary to have Linux on the student’s computer. Any operating system is valid.
  • It is not necessary to have ROS installed on the student’s computer.
  • Institution: The Construct in cooperation with Robotnik
  • Programming Language: C++ in Linux
  • Language: English
  • ROS2 Basic Concepts:

    • Learn how to work with ROS2 packages
    • Create your first Hello World python ROS2 program
    • Create your first Hello World ROS2 launch file
    • Understand the setup.py file for source installation for ROS2 python based packages
    • Understand how ROS2 nodes work.
    • Use environmental ROS2 variables
  • ROS2 Topics:

    • Learn about all the ROS2 Topic basic commands, like listing running topics and message types.
    • Publish a ROS2 topic message through the command line
    • Create a ROS2 topic publisher and ROS2 topic subscriber in python.
    • Learn how to create a custom ROS2 topic and use it in a python script.
    • Learn how to remap topics in ROS2 in a launch file.
  • Managing Nodes:

    • Learn about the problem of using multiple callbacks in the same python script.
    • Learn how CallBack groups and multithreading can solve those issues.
    • Create multiple publishers, subscriber python ROS2 script, that uses multithreading and callback groups to manage all the callbacks and threads to make the robot have updated values of the laser and odometry to decide how to avoid an obstacle.
  • Debugging ROS2 programs

    • How to use and manage different levels of Debugging messages in ROS2 python scripts.
    • Learn how to visualize Camera Images, Pointclouds, TFs, robot models, and other complex data in RVIZ2.
    • Learn how to generate a PDF with the TF tree structure of the current ROS2 robot-description system.
    • Learn about ROS2Doctor debugging tool command, and how it can help you detect unused topics, old packages, and other system data like the RMW MIDDLEWARE used Topics list, and network setup.
  • Understanding DDS in ROS2

    • Learn about the reasons behind using DDS in ROS2 instead of the ROS1 TCP.
    • Learn the basic morphology and features of the default RMW MIDDLEWARE DDS used CycloneDDS.
    • Learn about the three supported DDS implementations in Galactic.
    • Learn how to change the DDS used to then execute scripts using that DDS implementation.
    • Learn about what is the ROS2 Daemon and what’s its relation with DDS.
    • Learn about the need for Quality of Services (QoS) systems in ROS2.
    • Learn how to start publishers and subscribers with different QoS and their compatibility.
    • How to change QoS in ROSbags.
    • How to change QoS setup in RVIZ2
  • ROS2 Services

    • Learn about all the ROS2 Service basic commands, like listing running services and message types.
    • Learn about the ROS2 services that can be synchronous or asynchronous.
    • Create your first ROS2 service server and service clients.
    • Create a custom Service message and use it in a python script to control the movement of the simulated Neobotix Mp-400.
  • ROS2 Actions

    • Learn about the new update in ROS2 having actions their own space.
    • Learn about all the ROS2 Action basic commands, like listing running actions and message types.
    • Create your first ROS2 action server and action clients.
    • Create a custom Action message and use it in a python script to control the movement of the simulated Neobotix Mp-400


Miguel Angel

Miguel Angel

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

Alberto Ezquerro

Alberto Ezquerro

Head of Education @ The Construct | Creator of over 30 ROS courses | Author of ROS IN 5 DAYS book collection

Ricardo Téllez

Ricardo Téllez

CEO @ The Construct | Teacher of Robotics at La Salle University and Universitat Politècnica de Catalunya

Rodrigo Gonzalez

Rodrigo Gonzalez

Robotics Engineer @ The Construct | Leader of RoBox – 24/7 Remote Real Robot Lab

Roberto Zegers

Roberto Zegers

Robotics Software Developer / Creator of ROS2 Control course



You will get REAL, PRACTICAL experience that is APPLICABLE to your real-life robotics development.


We help you move fast!


Get recognized! Upon successfully completing this training, The Construct grants a certificate of completion to participants. This training is graded as a pass or fail; participants must receive 75% to pass and obtain the certificate of completion.

It was a great training with A LOT of outcomes! Thank you for bearing with me. I really appreciate your professionalism during this training.

Saleh Alkhamees

Systems Engineer, Advanced Electronics Company

Previous Training recap

Frequently Asked Questions

Do I need to install ROS in advance?

No. This training is 100% online, you only need to bring your laptop and connect to the internet. You can use Windows, Linux, or macOS.

What do I need to prepare?

To prepare for this online workshop, you need to know the basics of Linux, Python, and C++. This is mandatory, so in case you need it, take the following three free courses:

  1. Linux for robotics
  2. Python3 for robotics
  3. C++ for robotics

Looking for a team discount?

Contact us to learn how to enroll multiple users at the same time.

Phone Number

(+34) 687 672 123



Enroll now

Pin It on Pinterest