Learning ROS 2 is one thing. Building software that remains reliable after deployment is another.
Many beginners can publish a message, subscribe to a topic, or launch a demo robot. Far fewer know how to design maintainable nodes, organize packages, manage parameters, coordinate multiple processes, debug distributed systems, optimize performance, and deploy software that continues running in real-world robotic environments.
ROS 2 in Practice bridges that gap.
This practical, project-driven guide teaches you how to build professional ROS 2 software using modern Python development techniques and proven engineering practices. Instead of isolated code snippets, you'll develop complete robot software components that communicate reliably, scale cleanly, and remain easy to maintain.
Whether you're developing mobile robots, industrial automation systems, autonomous vehicles, robotic arms, warehouse robots, research platforms, or educational projects, this book provides the workflow used to create dependable ROS 2 applications.
Inside you'll learn how to:
Understand ROS 2 architectureDesign reusable software nodesCreate well-structured ROS 2 workspacesBuild Python ROS 2 packagesOrganize scalable project layoutsWrite publishers and subscribersExchange custom messagesBuild service servers and clientsImplement asynchronous communicationDevelop responsive action serversCoordinate long-running robot tasksManage parameters effectivelyValidate configuration valuesLoad external YAML configurationsBuild lifecycle nodesControl node state transitionsDesign fault-tolerant softwareBy the end of the book, you'll understand not only how to write ROS 2 nodes-but how to design robot software that remains reliable, maintainable, scalable, and suitable for production environments.
Whether you're a robotics student, software engineer, researcher, automation developer, or hobbyist, ROS 2 in Practice provides the practical experience needed to transform ROS 2 knowledge into professional robotics software.