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!
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.
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.
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
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.
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.
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
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
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.