A comprehensive, step-by-step guide to understanding the basics of robotics and creating your own robotics applications within days, not months
Key Features:
- Build a strong foundation in ROS 2 and instill confidence for future robotics projects
- Leverage best practices to create scalable ROS 2 applications with Python and C++
- Follow a step-by-step process to create and simulate a custom robot using ROS 2
- Purchase of the print or Kindle book includes a free PDF eBook
Book Description:
ROS 2 from Scratch, written by the cofounder of a robotics company with years of experience in teaching and engineering, will equip you with the skills necessary to develop cutting-edge robotic systems efficiently.
This book will help you understand why you should use Robot Operating System (ROS), clarifying what ROS is and isn't. It focuses on applied learning-no unnecessary filler, no abstract theory, and no abrupt leaps into complex topics. You'll discover how to install ROS 2, set up your environment, and explore concepts through hands-on experiments, as well as create a ROS 2 application for a custom robot. The chapters expand upon core concepts such as nodes, communication via topics, client-server interactions with services, complex behaviors using actions, runtime configurations with parameters, and seamless node orchestration via launch files. Each concept is clearly explained with the help of real-life analogies and practical examples, using Python and C++. The book will also guide you through creating a real-world project that incorporates TFs, URDF, RViz, and Gazebo.
By the end of this book, you'll be able to create new software for any robot in no time and easily join existing projects for new job roles, research endeavors, and beyond.
What You Will Learn:
- Understand what ROS 2 is, when to use it, and how to use it
- Write ROS 2 programs using nodes, topics, services, actions, and custom interfaces
- Scale your application with parameters and launch files
- Get a complete overview of how TFs work for any ROS-powered robot
- Create a robot model (with URDF) and visualize TFs on RViz
- Adapt the URDF to spawn and control your robot in the Gazebo simulator
Who this book is for:
This book is for engineers, researchers, teachers, students, and hobbyists eager to learn ROS 2 from scratch and build real-world robotics applications efficiently. If you're struggling to get started with ROS 2 or find existing tutorials overwhelming, then this book is for you. This book teaches you all the basics you need to create your own ROS 2 apps, without prior ROS knowledge. Basic Linux command line and Python programming skills (C++ optional for following the C++ code examples) are necessary.
Table of Contents
- Introduction to ROS 2 - What Is ROS 2?
- Installing and Setting Up ROS 2
- Uncovering ROS 2 Core Concepts
- Writing and Building a ROS 2 Node
- Topics - Sending and Receiving Messages between Nodes
- Services - Client/Server Interaction between Nodes
- Actions - When Services Are Not Enough
- Parameters - Making Nodes More Dynamic
- Launch Files - Starting All Your Nodes at Once
- Discovering TFs with RViz
- Creating a URDF for a Robot
- Publishing TFs and Packaging the URDF
- Simulating a Robot in Gazebo
- Going Further - What to Do Next