Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
Mastering ROS 2 for Robotics Programming

You're reading from   Mastering ROS 2 for Robotics Programming Design, build, simulate, and prototype complex robots using the Robot Operating System 2

Arrow left icon
Product type Paperback
Published in Jul 2025
Publisher Packt
ISBN-13 9781836209010
Length 576 pages
Edition 4th Edition
Concepts
Arrow right icon
Authors (2):
Arrow left icon
Lentin Joseph Lentin Joseph
Author Profile Icon Lentin Joseph
Lentin Joseph
Jonathan Cacace Jonathan Cacace
Author Profile Icon Jonathan Cacace
Jonathan Cacace
Arrow right icon
View More author details
Toc

Table of Contents (22) Chapters Close

Preface
1. Part I: ROS 2 Programming and Simulation FREE CHAPTER
2. Introduction to ROS 2 3. Getting Started with ROS 2 Programming 4. Implementing ROS 2 Concepts 5. Working with Robot 3D Modeling in ROS 2 6. Simulating Robots in a Realistic Environment 7. Part II: ROS 2 Applications: Navigation, Manipulation, and Control
8. Controlling Robots Using the ros2_control Package 9. Implementing ROS 2 Applications Using BehaviorTree.CPP 10. ROS 2 Navigation Stack: Nav2 11. Robot Manipulation Using MoveIt 2 12. Working with ROS 2 and Perception Stack 13. Part III: Advanced Applications and Machine Learning
14. Aerial Robotics and ROS 2 15. Designing and Programming a DIY Mobile Robot from Scratch 16. Testing, Continuous Integration, and Continuous Deployment with ROS 2 17. Interfacing Large Language Models with ROS 2 18. ROS 2 and Deep Reinforcement Learning 19. Implementing ROS 2 Visualization and Simulation Plugins 20. Other Books You May Enjoy
21. Index

Programming and configuring the DIY robot

We are now ready to program our robot. The first thing to do to enable our robot to successfully navigate the environment autonomously is to allow access to its motors. We will develop a cpp node in the package motor_ctrl. In this node, we will use the pigpio library, which allows the control of the Raspberry Pi without the necessity of superuser privileges. From this code, based on the geometry_msgs::Twist cmd_vel message, eventually generated from the ROS 2 navigation task, the PWM and digital pins of the board can be controlled. After the interface with the motors, we can move on to the configuration of the other software used to enable the autonomous navigation of the mobile base: the odometry calculation and the ROS 2 navigation stack.

Interfacing the robot’s motors

Let’s discuss the motor_ctrl.cpp source:

  • We must include the interface library in the pigpio library. We will start the pigpio daemon separately...
lock icon The rest of the chapter is locked
Visually different images
CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
Mastering ROS 2 for Robotics Programming
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Modal Close icon
Modal Close icon