What this book covers
Chapter 1, Introduction to ROS 2 – What is ROS 2?, explains what ROS 2 is exactly, and clears most of the doubts and confusions you could have.
Chapter 2, Installing and Setting Up ROS 2, leads you through the installation and set up of Ubuntu, ROS 2, and additional tools, so you have everything you need to work with ROS 2.
Chapter 3, Uncovering ROS 2 Core Concepts, introduces the main ROS 2 concepts through experimentation and hands-on discovery, the goal being to develop an intuition of how things work.
Chapter 4, Writing and Building a ROS 2 Node, shows you how to write ROS 2 programs, install them, and run them. Both Python and C++ are used, and additional challenges are given to make you practice more (the same applies to the following chapters).
Chapter 5, Topics – Sending and Receiving Messages between Nodes, explains how to communicate between two nodes with topics. We start with an explanation of the concept using a real-life analogy and then dive into the code.
Chapter 6, Services – Client/Server Interaction between Nodes, follows the same outline as the previous chapter—this time to work on the second most important communication type in ROS 2.
Chapter 7, Actions – When Services Are Not Enough, introduces the third and last ROS 2 communication type. This chapter is a bit more advanced and can be skipped during the first read.
Chapter 8, Parameters – Making Nodes More Dynamic, shows you how to add parameters to your nodes, in order to provide different settings at runtime.
Chapter 9, Launch Files – Starting All Your Nodes at Once, provides you with a way to start a complete ROS 2 application from a single file.
Chapter 10, Discovering TFs with RViz, introduces you to one of the most important concepts, so you can track the different coordinates of a robot over time. That will be the backbone of almost any ROS 2 application you create.
Chapter 11, Creating a URDF for a Robot, has you start a new project in which you create a custom robot with ROS 2. With URDF, you can create the robot description.
Chapter 12, Publishing TFs and Packaging the URDF, explains how to correctly package your application and generate the required TFs thanks to the URDF you have created.
Chapter 13, Simulating a Robot in Gazebo, teaches you how to adapt a robot for Gazebo (3D simulation tool), how to spawn the robot, and how to control it, so as to get a simulation that’s as close as possible to a real robot.
Chapter 14, Going Further – What to Do Next, gives you more perspectives on the different paths you can take after finishing this book, depending on your personal goals.