Training Module

Note

MYBOTSHOP GmbH offers robotic on-hand training as well as ROS2 training.


../../../../media/robots/g1_raw.png ../../../../media/robots/aloha.png ../../../../media/robots/hsky_ur5e_front.png
../../../../media/robots/ascento.png ../../../../media/robots/hxg.png ../../../../media/robots/h1.png
../../../../media/robots/rovo2.png ../../../../media/robots/go2_raw.png ../../../../media/robots/mmp_bi_2.png

Important

The provided course is a general course for ROS2 Humble. It focuses on practical implementation and deployment, with less theory. Duration: 2-5 days, covering a wide range of ROS2 features and usage.


ROS2 Basics

Note

The core ROS2 basics module is typically conducted on Day 1 and Day 2. It can be extended with additional days based on the robot type and training duration. The module covers fundamental ROS2 concepts, tools, and practical exercises.

Important

( T ) = Theoretical session, ( P ) = Practical session

Introduction to ROS2

  • Reason for ROS2 (T)

    • Limitations of ROS1 (single master, weak real-time support)

    • Industry adoption and DDS middleware

    • Scalability, security, multi-robot support

  • Key Points (T)

    • Ecosystem overview

    • Supported platforms (Linux, Windows, macOS)

    • Community support and longevity

  • Environment Setup (T/P)

    • Installing ROS2 Humble on Ubuntu 22.04

    • Workspace structure (src, build, install)

    • Dependencies and ROS2 CLI tools

  • Builtin Features (T)

    • CLI tools (ros2 topic, ros2 node)

    • Logging and monitoring

    • Launch system improvements

  • New Architecture (T) * Distributed multi-node system * DDS middleware abstraction * Improved package structure

  • Why DDS? (T)

    • DDS vs TCP/UDP

    • Reliability and scalability

    • DDS QoS (latency, bandwidth, reliability)

    • DDS Domains (partitioning)

  • ROS2 Control (T, optional)

    • Hardware interfaces

    • Controller and plugin architecture

  • ROS2 Package Build (T/P)

    • Creating packages with colcon

    • Building and compiling packages

    • Handling dependencies with rosdep

  • ROS2 URDF (T/P)

    • Robot structure with URDF/Xacro

    • Adding sensors (LiDAR, Camera, GPS, IMU)

    • Adding actuators (Motors, Servos, Linear Actuators)

  • ROS2 TF (T/P)

    • Transformations and frames

    • Robot joints and frame hierarchy

    • Vision-based point detection

  • ROS2 Topics (T/P)

    • Publishers and subscribers

    • Inspecting data with CLI

    • Velocity control (wheeled, quadruped, drones)

    • Handling robot vision streams

  • ROS2 Time (T/P)

    • Simulation time vs system time

    • Synchronization in robotics

  • ROS2 Simulation (T/P)

    • Gazebo basics

    • Robot model integration

  • ROS2 Create Package (T/P)

    • Package skeleton (ament_cmake, ament_python)

    • Organizing nodes, launch files, URDF

Nodes | Launchers | Topics

  • ROS2 Nodes (T/P)

    • Writing publisher/subscriber nodes

    • Robot control applications

  • Node Lifecycle (T, optional)

    • States: unconfigured, inactive, active

    • Managed startup/shutdown

  • Components (T, optional)

    • Node composition

    • Shared-process execution

  • ROS2 Launch Files (T/P)

    • XML/YAML launch files

    • Launching multiple nodes

  • ROS2 Sensor Fusion (P)

    • Fusing IMU, LiDAR, GPS

    • robot_localization package

ROS2 Nodes

Interfaces | Msgs | Srvs | Acts | Params

  • ROS2 Msgs (T/P)

    • Standard message types

    • Custom message definitions

ROS2 Services
  • ROS2 Services (T/P)

    • Request/response model

    • Example: robot module activation

ROS2 Actions
  • ROS2 Actions (T/P)

    • Long-running task management

    • Action client/server implementation

  • ROS2 Parameters (T/P)

    • Node parameterization

    • Dynamic parameter updates

    • Parameter loading files (YAML)

ROS2 Parameters

ROS2 Stacks

Important

This module is optional and can be added based on the robot type and training duration. It is typically conducted on Day 3 or Day 4.

MoveIt (Manipulation)

  • Setup (P)

    • Install MoveIt2

    • Robot arm with URDF/SRDF

    • Planning scene configuration

  • Tuning (P)

    • Motion planning (OMPL, STOMP)

    • Controller configuration

    • Planning parameter adjustments

  • Debugging (P)

    • RViz Motion Planning Plugin

    • Collision debugging

    • Trajectory execution failures

  • Tools Usage (P)

    • MoveIt Setup Assistant

    • MoveIt CLI tools

    • RViz motion planning visualization


Perception Stack

  • Lidar/Depth Camera Setups (T)

    • Hardware introduction

    • ROS2 driver integration

    • Calibration

  • Lidar/Depth Camera Configuration (T)

    • Sensor parameter configuration

    • Multi-sensor synchronization

  • Point Cloud Processing (T/P)

    • Using PointCloud2

    • Filtering and down-sampling

    • Segmentation

  • Obstacle Detection and Segmentation (T/P)

    • Convert point clouds into obstacles

    • Integrate perception with Nav2

    • Example pipeline with PCL

ROS2 Perception Stack

Personal Experience (Discussion)

  • Issues faced during stack setup

  • Debugging navigation/manipulation failures

  • Common pitfalls and workarounds

  • Tools: RViz, rqt, CLI


Robot-Specific Training

Important

This module is optional and can be added based on the robot type and training duration. It is typically conducted on Day 4 or Day 5.

Note

Training is available for robots such as Clearpath, Unitree, Kinova, Universal Robots, and others.

  • Robot Setup and Usage

    • Vendor-specific ROS2 packages

    • Workspace configuration

    • Driver launch and connectivity

  • Sensors and Interfaces

    • LiDAR, depth/RGB cameras

    • IMU and GPS integration

  • Calibration and Tuning

    • Camera/LiDAR calibration

    • Joint calibration

    • Network time sync

  • Pitfalls and Challenges

    • Driver compatibility

    • Hardware limitations (bandwidth, CPU)

    • TF tree inconsistencies

    • Safety: simulation → real hardware

  • Useful Packages

    • nav2 for navigation

    • moveit2 for manipulation

    • robot_localization for sensor fusion

    • slam_toolbox for mapping

    • rqt and rviz2 for debugging


Robot-Specific Examples

  • Wheeled Robots

    • Mobile bases with Nav2

    • Sensor integration (Hesai, Livox, Ouster)

    • SLAM and navigation demo

  • Quadrupeds

    • Walking and velocity control

    • Navigation with Nav2

    • Perception-based navigation (LiDAR + camera)

    • Stability and fall-recovery

  • Manipulator Arms

    • Pick-and-place with MoveIt2

    • Cartesian impedance control

    • Tool center point setup