A Systematic Approach to Learning Robot Programming with ROS (PDF) provides a comprehensive, introduction to the essential components of ROS through detailed explanations of simple code examples along with the corresponding theory of operation. The PDF ebook explores the organization of ROS, how to understand ROS packages, how to incorporate existing ROS packages into new applications, how to use ROS tools, and how to develop new packages for robotics and automation. It also facilitates continuing education by preparing the reader to better understand the existing on-line documentation.
The ebook is organized into 6 parts. It begins with an introduction to ROS foundations, including writing ROS nodes and ROS tools. Classes, Messages, and Servers are also covered. The 2nd part of the PDF ebook features simulation and visualization with ROS, including coordinate transforms.
The next part of the book discusses perceptual processing in ROS. It includes coverage of using cameras in ROS, depth imaging and point clouds, and point cloud processing. Mobile robot control and navigation in ROS is featured in the 4th part of the book
The 5th section of the book contains coverage of robot arms in ROS. This section explores arm motion planning, robot arm kinematics, arm control with the Baxter Simulator, and an object-grabber package. The last part, the 6th one of the book focuses on system integration and higher-level control, including perception-based and mobile manipulation.
This accessible textbook includes examples throughout and C++ code examples are also provided at https://github.com/wsnewman/learning_ros