Robohub.org
 

Book Review: Mastering ROS for Robotics Programming, by Lentin Joseph


by
21 March 2016



share this:

Lentin_Joseph_Mastering_ROS_for_Robotics_ProgrammingMastering ROS for Robotics Programming is a good book that will help you learn ROS and take advantage of some of the powerful nodes (programs) that are out there. The book covers both a 7 DOF robot arm and a differential drive robot throughout the different chapters. That should really help you out no matter which type of robot you have (hmmm… what about quadcopters?).

The book starts with an introduction to ROS. The introduction does a good job describing the basic ROS constructs such as the directory structure, nodes, services, etc. and goes into detail to describe those constructs. The book continuous to show how to create ROS packages, add custom messages (topics), and creating launch files. The first chapter has everything you need to get a basic ROS system up and running. One thing missing is how to have your launch file start on computer boot up (using the “ROS way” as opposed to just adding it to rclocal).

The book can use more information on using the catkin build system and CMake. I am not sure if that is fair to expect in this book, but it is an essential skill to develop with ROS, and is not listed as a skill that people using this book are expected to have.

ROS only supports versions of Ubuntu that are around when that version of ROS was released. In general, ROS is not upgraded when a new version of Ubuntu is released (this is one of the things that I dislike about ROS). To deal with this, the examples in the book are given for both ROS Indigo (the prior version) and ROS Jade (the current version). Good job to the author for that!

After you are given the basics of ROS, the rest of the book is roughly split into three sections: ‘Modeling, Simulating & Autonomy’, ‘Working with Hardware’, and an example.

For Modeling, Simulating & Autonomy, the book starts with a chapter on how to model your robot with URDF. Afterwards you use the model created to simulate it using Gazebo and learn how to add planning and autonomy to arms and mobile robots. There is an extra chapter dealing with advanced usage of MoveIt for robotic arms, I would have liked to see an advanced chapter for the Navigation Stack. I also would have liked more information on using the transforms within the Navigation Stack. With that said, I am happy the book addresses these items as many other authors do not.

After getting the high-level tour of ROS and making an autonomous robot with existing nodes, the book steps back to teach the reader how to build controllers, work with hardware, (controllers, motors, sensors, cameras, etc.) and visualizations. The book has many examples of working with specific hardware items such as Arduino, Raspberry Pi, Kinect, webcams, Hokuyo, & the Velodyne. Adding a joystick to that list might have been nice. Working with OpenCV and PCL within ROS has a dedicated chapter.

At first I was skeptical of having an example section since I have seen many books do this poorly, however, this book does a good job describing in detail how to configure an example robot without making you feel like they are just regurgitating what they built. It also has more details about the Navigation Stack, which partially makes up for not having an advanced chapter on it.

The best practices section at the end of the book could have had more ROS specific practices, instead of just generic C++ practices. I like the fact that the book uses c++ as that is how most robots are built. It would have been nice to have a chapter with basic discussions on python and java usage. The author briefly mentions setting up ROS on distributed systems, this could be expanded a little (such as in the roswtf section for looking at timing).

Overall, I give this book 4.5 out of 5 stars. By going into detail for both robotic arms and mobile robots, this book is sure to help both a novice or experienced programmer enter the world of ROS and get their robots up and moving.

Note: The paperback book has black and white images. I think the e-book has color images.


I would like to thank the Publisher PACKT for providing me with a copy of this book for review.

Some words of disclaimer:
I have never met the author of this book and the opinions above are mine.


If you enjoyed this post, you might also like:

See all the latest robotics news on Robohub, or sign up for our weekly newsletter.



tags: ,


Robots for Roboticists David Kohanbash is a Robotics Engineer in Pittsburgh, PA in the United States. He loves building, playing and working with Robots.
Robots for Roboticists David Kohanbash is a Robotics Engineer in Pittsburgh, PA in the United States. He loves building, playing and working with Robots.





Related posts :



Robot Talk Episode 103 – Keenan Wyrobek

  20 Dec 2024
In the latest episode of the Robot Talk podcast, Claire chatted to Keenan Wyrobek from Zipline about drones for delivering life-saving medicine to remote locations.

Robot Talk Episode 102 – Isabella Fiorello

  13 Dec 2024
In the latest episode of the Robot Talk podcast, Claire chatted to Isabella Fiorello from the University of Freiburg about bioinspired living materials for soft robotics.

Robot Talk Episode 101 – Christos Bergeles

  06 Dec 2024
In the latest episode of the Robot Talk podcast, Claire chatted to Christos Bergeles from King's College London about micro-surgical robots to deliver therapies deep inside the body.

Robot Talk Episode 100 – Mini Rai

  29 Nov 2024
In the latest episode of the Robot Talk podcast, Claire chatted to Mini Rai from Orbit Rise about orbital and planetary robots.

Robot Talk Episode 99 – Joe Wolfel

  22 Nov 2024
In the latest episode of the Robot Talk podcast, Claire chatted to Joe Wolfel from Terradepth about autonomous submersible robots for collecting ocean data.

Robot Talk Episode 98 – Gabriella Pizzuto

  15 Nov 2024
In the latest episode of the Robot Talk podcast, Claire chatted to Gabriella Pizzuto from the University of Liverpool about intelligent robotic manipulators for laboratory automation.

Online hands-on science communication training – sign up here!

  13 Nov 2024
Find out how to communicate about your work with experts from Robohub, AIhub, and IEEE Spectrum.

Robot Talk Episode 97 – Pratap Tokekar

  08 Nov 2024
In the latest episode of the Robot Talk podcast, Claire chatted to Pratap Tokekar from the University of Maryland about how teams of robots with different capabilities can work together.





Robohub is supported by:




Would you like to learn how to tell impactful stories about your robot or AI system?


scicomm
training the next generation of science communicators in robotics & AI


©2024 - Association for the Understanding of Artificial Intelligence


 












©2021 - ROBOTS Association