Chapman and Hall/CRC; 1st edition
The document titled “A Systematic Approach to Learning Robot Programming with ROS” (PDF) offers a comprehensive introduction to the fundamental elements that make up ROS. This is accomplished by providing in-depth explanations of relatively straightforward code examples in conjunction with the relevant theory of operation. The ROS organization, how to interpret ROS packages, how to merge current ROS packages into new applications, how to use ROS tools, and how to design new packages for robotics and automation are all covered in depth in this PDF ebook. Additionally, it makes ongoing education more accessible by preparing the reader to comprehend existing online documentation in a more effective manner.
The ebook is broken up into 6 different sections. The first part of this course is an introduction to the ROS fundamentals, which covers topics such as developing ROS nodes and ROS tools. Classes, Messages, and Servers are all subject areas that are discussed. The second section of the PDF ebook is devoted to simulation and visualization using ROS. This section also covers coordinate transforms.
The discussion of perceptual processing in ROS moves on to the following section of the book. It covers the technique of using cameras with ROS, as well as depth imaging, point clouds, and the processing of point clouds. The fourth portion of the book focuses on mobile robot control and navigation using ROS.
The coverage of robot arms in ROS can be found in the fifth section of the book. Arm motion planning, robot arm kinematics, controlling the arm with the Baxter Simulator, and an object-grabber package are all topics that are covered in this part. System integration and higher-level control, including perception-based and mobile manipulation, are the primary topics covered in the book's concluding and sixth chapter, respectively.
This user-friendly book is filled with examples all throughout, and if you'd want to see more C++ code examples, you can find some at https://github.com/wsnewman/learning ros.