Welcome to Robotics Content Lab

your comprehensive, hands-on guide to mastering ROS 2.

Overview

Whether you’re just starting out with mobile robotics or want to deepen your knowledge, this book offers clear, practical guidance on everything. With no prior knowledge required, it gives you a solid foundation in the Linux shell and takes you from ROS 2 and mobile robotics basics through advanced topics such as state estimation, motion control, and service-oriented architectures using ROS 2. Get ready to build real robotic applications with step-by-step examples that bring theory to life using the Gazebo physics simulation engine!



What You’ll Learn

In this book, you’ll start by understanding the core concepts of ROS 2 – from packages, nodes and topics to services, actions, dynamic parameter management and lifecycle management. With detailed chapters on differential drive kinematics, closed-loop control, and sensor fusion, you’ll learn not only how to program robots using rclpy, but also how to tackle challenges such as state estimation using Kalman and extended Kalman filters. Each concept is paired with practical examples, exercises and solutions, and homework to reinforce your learning.

Hands-On Practice & Real-World Applications​

This book provides hands on experience by leveraging the Gazebo[1] simulator. Here you will learn how to implement real world tasks such as odometry calculation for differential and holonomic robots, open- and closed-loop control systems, or state estimation using sensor data fusion for noisy systems. You’ll first read about those key algorithms in theory and then get to implement them in interactive projects using a fully-fledged physics simulation engine. This hands-on approach will give you the confidence to start your own robotics projects!

[1] Gazebo classic is used for convenience. ROS 2 related code is still valid.

Empowering Your Learning with a
Preconfigured Docker Container​

Accompanying the book is a tailored container image[1] containing all necessary ROS 2 tools, libraries and robot simulations. It’s designed to work across various platforms—be it Windows, Linux, or macOS—and supports advanced features like GPU acceleration for enhanced performance.

[1] Supported OS:
Tier 1: Linux
Tier 2: Windows 10/11, macOS Intel
Tier 3: macOS Silicon



Advanced Topics ROS 2 Topics​

After learning about ROS 2 basics, the RCLPY: From Zero to Hero takes you on a deep dive into advanced ROS 2 topics and techniques such as Multi-Threading with the MultiThreadedExecutor, broadcasting and listening to coordinate transformations using TF2, dynamic parameter updates using callbacks to fine tune algorithm performance, using ROS 2 Lifecycle Management System and more. These advanced chapters empower you to design sophisticated, responsive robotic systems ready for real-world deployment.

Your One-Stop-Shop for learning ROS 2

Empowering Your Learning
with a Preconfigured
Docker Container

To make your experience as smooth as possible, RCLPY: From Zero to Hero comes with a custom Docker container that serves as your all-in-one development environment. This container is preconfigured with all the essential ROS 2 tools, libraries, and simulation environments used in this book. It’s designed to work across various platforms—be it Windows, Linux, or macOS—and supports GPU acceleration for enhanced performance. Here’s why this is a game changer:

Hassle-Free Setup:

Forget the lengthy, cumbersome and confusing installation processes of ROS 2 and gazebo. No more configuration issues! The container mounts your local ROS 2 source code folder directly into the container’s ROS 2 workspace and builds it upon start! With this setup you have immediate access to all examples and can start practicing straight away.

Seamless Integration with Development Tools:

IDEs like Visual Studio Code, PyCharm, IntelliJ IDEA, and others provide seamless access to the container by utilizing a fine tuned devcontainer.json file including preinstalled extensions[1]. This means you can write, test, and iterate your ROS 2 applications within a robust, containerized environment while using your favorite IDE

[1] Extensions are only preconfigured for Visual Studio Code

Consistent Environment:

No more “it works on my machine” problems. By utilizing containerization, it is guaranteed that all examples, exercises and homeworks will work on your machine

Enhanced Performance & Flexibility:



With support for GPU acceleration on compatible systems[1], the container can handle graphically intensive tasks like simulations in Gazebo or visualizations in RViz. Plus, it offers both a lightweight terminal-based and full desktop (VNC) interface, so you can choose the workflow that suits you best.

[1] Supported OS:
Tier 1: Linux
Tier 2: Windows 10/11, macOS Intel
Tier 3: macOS Silicon

Latest posts

Exploring ROSA – Revolutionizing ROS/ROS 2 Debugging and Human-Robot Interaction

A Beginner’s Guide to Creating ROS 2 Launch Files Using Python

Leveraging VS Code Devcontainers for Efficient ROS 2 Development

About

About me

Hello! I’m Georg Adrian Novotny, a robotics researcher and engineer with a passion for autonomous systems and cutting-edge tech. I have worn  a few hats in my professional life – Until recently I was a part-time lecturer in mobile robotics at UAS Technikum Vienna and a research assistant at the Chair for Intelligent Transport System at the Johannes Kepler University (JKU) Linz, but now I work as a platform engineer at MIC Customs Solutions. At the same time, I’m pursuing my Ph.D. at Johannes Kepler University (JKU) Linz, focusing on system identification and parameter estimation for autonomous vehicles. This mix of roles lets me dive into both academic research and real-world engineering, and I love every minute of it.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.