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 42 – Thom Kirwan-Evans

In this week's episode of the Robot Talk podcast, host Claire Asher chatted to Thom Kirwan-Evans from Origami Labs all about computer vision, machine learning, and robots in industry.
25 March 2023, by

Resilient bug-sized robots keep flying even after wing damage

New repair techniques enable microscale robots to recover flight performance after suffering severe damage to the artificial muscles that power their wings.
23 March 2023, by

How drones for organ transportation are changing the healthcare industry

The healthcare drone industry has witnessed a dramatic surge in the last couple of years. In 2020, the market grew 30% and is expected to grow from $254 million in 2021 to $1,5 billion in 2028.
21 March 2023, by

Robotic bees and roots offer hope of healthier environment and sufficient food

Miniature robots that mimic living organisms are being developed to explore and support real-life ecosystems.
18 March 2023, by

Robot Talk Episode 41 – Alessandra Rossi

In this week's episode of the Robot Talk podcast, host Claire Asher chatted to Alessandra Rossi from the University of Naples all about social robotics, theory of mind, and robots playing football.
17 March 2023, by





©2021 - ROBOTS Association


 












©2021 - ROBOTS Association