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 :



Countering Luddite politicians with life (and cost) saving machines

Beyond aerial tricks, drones are now being deployed in novel ways to fill the labor gap of menial jobs that have not returned since the pandemic.
04 December 2022, by

Call for robot holiday videos 2022

That’s right! You better not run, you better not hide, you better watch out for brand new robot holiday videos on Robohub!
02 December 2022, by

The Utah Bionic Leg: A motorized prosthetic for lower-limb amputees

Lenzi’s Utah Bionic Leg uses motors, processors, and advanced artificial intelligence that all work together to give amputees more power to walk, stand-up, sit-down, and ascend and descend stairs and ramps.

Touch sensing: An important tool for mobile robot navigation

Proximal sensing often is a blind spot for most long range sensors such as cameras and lidars for which touch sensors could serve as a complementary modality.
29 November 2022, by

Study: Automation drives income inequality

New data suggest most of the growth in the wage gap since 1980 comes from automation displacing less-educated workers.
27 November 2022, by

Flocks of assembler robots show potential for making larger structures

Researchers make progress toward groups of robots that could build almost anything, including buildings, vehicles, and even bigger robots.
25 November 2022, by





©2021 - ROBOTS Association


 












©2021 - ROBOTS Association