Skip to content

PacktPublishing/Mastering-ROS-2-for-Robotics-Programming

Repository files navigation

Mastering ROS 2 for Robotics Programming, Fourth Edition

This is the code repository for Mastering ROS 2 for Robotics Programming, Fourth Edition, published by Packt.

Design, build, simulate, and prototype complex robots using the Robot Operating System 2

Lentin Joseph, Jonathan Cacace

      Free PDF       Graphic Bundle       Amazon      

About the book

Unity Cookbook, Fifth Edition

The rising demand for advanced robotics software has made proficiency in frameworks like ROS 2 essential for engineers and enthusiasts alike. Lentin Joseph, co-founder of RUNTIME Robotics, and Jonathan Cacace, PhD in robotics, help you grasp the foundational concepts and practical applications in this comprehensive fourth edition updated to cover the latest LTS release from 2024—ROS 2 Jazzy. Starting with a solid introduction to ROS 2, including core components and tools, the chapters get you ready to start programming and using its key features confidently. Building on this, the book focuses on 3D robot modeling and simulation with the new Gazebo Sim, supported by ROS 2 controllers. You’ll explore high-level features such as Nav2 for navigation and MoveIt 2 for manipulation, which are crucial for developing advanced systems. You'll also dive into aerial robotics with ROS 2 and learn how to build real-world robots using Micro-ROS. The concluding chapters cover advanced topics like CI/CD workflows, interfacing ROS 2 with large language model (LLM) agents for intelligent planning, and applying deep reinforcement learning for autonomy. By the end of this book, you'll have a strong foundation in ROS 2, along with the skills needed to build sophisticated, real-world robotic applications.

Key Learnings

  • Explore ROS 2 architecture, DDS, and communication interfaces in depth
  • Simulate various robots using Gazebo and ROS 2
  • Master Nav2 and MoveIt 2 in ROS 2
  • Explore ros2_control and Perception
  • Build and program a real mobile robot from scratch using Raspberry Pi board and ROS 2
  • Build LLM-based AI agents in ROS 2
  • Implement reinforcement learning applications in ROS 2, NVIDIA Isaac Lab, and Isaac Sim

Chapters

Unity Cookbook, Fifth Edition
  1. Introduction to ROS 2
  2. Getting Started with ROS 2 Programming
  3. Implementing ROS 2 Concepts
  4. Working with Robot 3D Modeling in ROS 2
  5. Simulating Robots in a Realistic Environment
  6. Controlling Robots Using the ros2_control Package
  7. Implementing ROS 2 Applications Using BehaviorTree dot CPP
  8. ROS 2 Navigation Stack: Nav2
  9. Robot Manipulation Using MoveIt 2
  10. Working with ROS 2 and Perception Stack
  11. Aerial Robotics and ROS 2
  12. Designing and Programming a DIY Mobile Robot from Scratch
  13. Testing, Continuous Integration, and Continuous Deployment with ROS 2
  14. Interfacing Large Language Models with ROS 2
  15. ROS 2 and Deep Reinforcement Learning
  16. Implementing ROS 2 Visualization and Simulation Plugins

Requirements for this book

Before diving into the content, it’s important to clarify the foundational knowledge and tools that will help you make the most of this book. This book assumes that you have a basic understanding of C++ and are comfortable working in a Linux environment, particularly Ubuntu, as many of the examples and tools are designed and tested on this platform. You do not need to be an expert, but familiarity with command-line usage and package management.
As for hardware requirements, a standard computer is enough for most chapters, though in a few cases, having a GPU-enabled system with an NVIDIA card is suggested but not required. Finally, standard webcams and depth sensors are used in the computer vision chapter.

Get to know Authors

Lentin Joseph is an accomplished Indian roboticist, author, entrepreneur, and educator with over a decade of expertise in robotics software development, machine vision, and artificial intelligence. He is the founder and CTO of RUNTIME Robotics Pvt Ltd, an Indian company focused on R&D in robotics software development and artificial intelligence. He also runs robocademy, an online platform for robotics education. With strong proficiency in ROS, OpenCV, and PCL, Lentin has authored 10 widely acclaimed books on robotics, including Learning Robotics Using Python and Mastering ROS for Robotics Programming. He holds a bachelor's degree in Electronics and Communication Engineering from FISAT and a master's in Robotics and Automation from Amrita University. During his studies, he developed a gesture- and speech-interactive social robot that gained media attention. Lentin has also conducted research at Carnegie Mellon University's Robotics Institute, delivered a TEDx talk, and actively contributes to robotics education through workshops, blogs, and training programs.

Jonathan Cacace was born in Naples, Italy, on 13 December 1987. He earned a Bachelor's and Masters of Science in Computer Science from the University of Naples Federico II. He then joined the university's PhD program, earning the title of Philosophiae Doctor in Automation and Computer Engineering in 2016. During his research career, he had the opportunity to participate in and lead various applied research projects focused on robotics, funded by the European Union. This allowed him to explore several areas of robotics, ranging from robot manipulation to navigation. After completing his PhD, he continued his scientific research and work in applied robotics, contributing to more than 50 scientific publications in leading robotics conferences and scientific journals. He also worked as a private consultant for several startups across Europe. From 2019 to 2023. He worked as an assistant professor at the University of Naples, where he taught two courses: Laboratory of Robotics and Mobile Robotics. During this time, he mentored many undergraduate students in the field of Robotics and Computer Engineering. He was also invited to speak at an international robotics workshop held at one of Europe's most prestigious research centers and universities. Currently, Jonathan works as a senior researcher in the field of Cognitive Robotics and Human-Robot Interaction at Eurecat - Centre Tecnològic de Catalunya in Barcelona.

Other Related Books

Releases

No releases published

Packages

No packages published