
Mastering ROS for Robotics Programming
Best practices and troubleshooting solutions when working with ROS
Packt Publishing
3rd Edition
Published on 28. October 2021
Book
Paperback/Softback
594 pages
978-1-80107-102-4 (ISBN)
Description
Develop, simulate, and deploy intelligent robotic systems using ROS with hands-on guidance for 3D modeling, hardware integration, and motion planning
Key Features
Implement complex simulations using Gazebo, Webots, and CoppeliaSim alongside MoveIt! for motion planning
Integrate sensors, vision modules, and I/O boards for real-world robot control
Bridge ROS with MATLAB, Simulink, and industrial robots for advanced deployments
Book DescriptionThe Robot Operating System (ROS) is a software framework used for programming complex robots. ROS enables you to develop software for building complex robots without writing code from scratch, saving valuable development time. Mastering ROS for Robotics Programming provides complete coverage of the advanced concepts using easy-to-understand, practical examples and step-by-step explanations of essential concepts that you can apply to your ROS robotics projects.
The book begins by helping you get to grips with the basic concepts necessary for programming robots with ROS. You'll then discover how to develop a robot simulation, as well as an actual robot, and understand how to apply high-level capabilities such as navigation and manipulation from scratch. As you advance, you'll learn how to create ROS controllers and plugins and explore ROS's industrial applications and how it interacts with aerial robots. Finally, you'll discover best practices and methods for working with ROS efficiently.
By the end of this ROS book, you'll have learned how to create various applications in ROS and build your first ROS robot.What you will learn
Create a robot model with a 7-DOF robotic arm and a differential wheeled mobile robot
Work with Gazebo, CoppeliaSim, and Webots robotic simulators
Implement autonomous navigation in differential drive robots using SLAM and AMCL packages
Interact with and simulate aerial robots using ROS
Explore ROS pluginlib, ROS nodelets, and Gazebo plugins
Interface I/O boards such as Arduino, robot sensors, and high-end actuators
Simulate and perform motion planning for an ABB robot and a universal arm using ROS-Industrial
Work with the motion planning features of a 7-DOF arm using MoveIt
Who this book is forThis book is ideal for robotics engineers, researchers, or software developers familiar with Linux and C++ who want to deepen their ROS expertise. It's especially valuable for those building real-world robot applications using simulation tools, MoveIt!, and sensor integration. A working knowledge of basic ROS concepts is expected.
Key Features
Implement complex simulations using Gazebo, Webots, and CoppeliaSim alongside MoveIt! for motion planning
Integrate sensors, vision modules, and I/O boards for real-world robot control
Bridge ROS with MATLAB, Simulink, and industrial robots for advanced deployments
Book DescriptionThe Robot Operating System (ROS) is a software framework used for programming complex robots. ROS enables you to develop software for building complex robots without writing code from scratch, saving valuable development time. Mastering ROS for Robotics Programming provides complete coverage of the advanced concepts using easy-to-understand, practical examples and step-by-step explanations of essential concepts that you can apply to your ROS robotics projects.
The book begins by helping you get to grips with the basic concepts necessary for programming robots with ROS. You'll then discover how to develop a robot simulation, as well as an actual robot, and understand how to apply high-level capabilities such as navigation and manipulation from scratch. As you advance, you'll learn how to create ROS controllers and plugins and explore ROS's industrial applications and how it interacts with aerial robots. Finally, you'll discover best practices and methods for working with ROS efficiently.
By the end of this ROS book, you'll have learned how to create various applications in ROS and build your first ROS robot.What you will learn
Create a robot model with a 7-DOF robotic arm and a differential wheeled mobile robot
Work with Gazebo, CoppeliaSim, and Webots robotic simulators
Implement autonomous navigation in differential drive robots using SLAM and AMCL packages
Interact with and simulate aerial robots using ROS
Explore ROS pluginlib, ROS nodelets, and Gazebo plugins
Interface I/O boards such as Arduino, robot sensors, and high-end actuators
Simulate and perform motion planning for an ABB robot and a universal arm using ROS-Industrial
Work with the motion planning features of a 7-DOF arm using MoveIt
Who this book is forThis book is ideal for robotics engineers, researchers, or software developers familiar with Linux and C++ who want to deepen their ROS expertise. It's especially valuable for those building real-world robot applications using simulation tools, MoveIt!, and sensor integration. A working knowledge of basic ROS concepts is expected.
More details
Edition
3rd Revised edition
Language
English
Place of publication
Birmingham
United Kingdom
Target group
Professional and scholarly
US School Grade: College Graduate Student
Edition type
Revised edition
Dimensions
Height: 235 mm
Width: 191 mm
Thickness: 32 mm
Weight
1093 gr
ISBN-13
978-1-80107-102-4 (9781801071024)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
Additional editions

Lentin Joseph | Jonathan Cacace
Mastering ROS for Robotics Programming
Best practices and troubleshooting solutions when working with ROS
E-Book
09/2024
3rd Edition
Packt Publishing
from
€29.99
Available for download
Persons
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 Tecnologic de Catalunya in Barcelona.
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 Tecnologic de Catalunya in Barcelona.
Content
Table of Contents
Introduction to ROS
Getting started with ROS Programming
Working with ROS for 3D modelling
Simulating Robots Using ROS and Gazebo
Simulating Robots using ROS and Coppeliasim and Webot
Using the ROS MoveIt! and Navigation Stack On
Exploring the Advanced Capabilities of ROS-MoveIt!
ROS for Aerial Robots
Interfacing I/O boards Sensors and Actuators to ROS
Programming Vision Sensors Using ROS, OpenCV, and PCL
Building and Interfacing Differential Drive Mobile robot Hardware in ROS
Working with pluginlib Nodelet, and Gazebo Plugins
Writing ROS Controllers and Visualization Plugins
Using ROS in Matlab and Simulink
ROS for Industrial Robots
Troubleshooting and Best Practices
Introduction to ROS
Getting started with ROS Programming
Working with ROS for 3D modelling
Simulating Robots Using ROS and Gazebo
Simulating Robots using ROS and Coppeliasim and Webot
Using the ROS MoveIt! and Navigation Stack On
Exploring the Advanced Capabilities of ROS-MoveIt!
ROS for Aerial Robots
Interfacing I/O boards Sensors and Actuators to ROS
Programming Vision Sensors Using ROS, OpenCV, and PCL
Building and Interfacing Differential Drive Mobile robot Hardware in ROS
Working with pluginlib Nodelet, and Gazebo Plugins
Writing ROS Controllers and Visualization Plugins
Using ROS in Matlab and Simulink
ROS for Industrial Robots
Troubleshooting and Best Practices