Reviewing a book about ROS programming
// November 7th, 2013 // Artificial Intelligence
In the modern robotics community, there has been a necessity for a book that explains the ins and outs of the Robotic Operating System (ROS).
ROS is the most popular robotic framework used in the world. Created by Willow Garage, it provides a framework for easily communicate processes, standarized access to robotic resources or clear visualisation of robot data. Until now, your only source of material for learning ROS was the excellent, but sometimes confusing, documentation provided by Willow Garage.
The book covers all the basic aspects required to understand ROS, how to install it, and how to use it with your own robot.
First chapter describes how to install two different versions of ROS (Electric and Fuerte), including the case of setting up a virtual machine to work with ROS.
In the second chapter core concepts of ROS are explained: topics, nodes, stacks, packages, services, etc… they are not intuitive at all, but the book provides a clear explanation.
Next chapters includes debugging with ROS, how to use sensors and actuators, and how to simulate your own robot with Gazebo, the default simulator for ROS.
Then, several chapters are dedicated to bring some intelligence to your robot using out of the box solutions included in ROS. How to make a robot navigate and how to make a robot use visual information to define its behaviour.
The book ends with a chapter dedicated to practice all the stuff learned with actual complex robots (even if only in simulations). The last chapter is dedicated to use the freely available simulations of world wide robots to practice about ROS. How ROS has been implemented in those robots and how you can use ROS programming to make those robots perform some useful activity, all of it in the Gazebo simulation environment.
The book is very well structured. It builds from the most simple things to the more complex in a smooth enough progressive complexity. It is full of exercises that guide you step by step in all the concepts. You can definitely use the book to learn the ROS.
There are three key parts of ROS that are correctly described in the book:
I can point two drawbacks:
My recommendation is that, if you are new to the world of ROS, this book is a must. It will definitely speed up your learning of the matter.