ABSTRACT

A Systematic Approach to Learning Robot Programming with ROS 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 book explores the organization of ROS, how to understand ROS packages, how to use ROS tools, how to incorporate existing ROS packages into new applications, 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 book is organized into six parts. It begins with an introduction to ROS foundations, including writing ROS nodes and ROS tools. Messages, Classes, and Servers are also covered. The second part of the book 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 fourth part of the book

The fifth section of the book contains coverage of robot arms in ROS. This section explores robot arm kinematics, arm motion planning, arm control with the Baxter Simulator, and an object-grabber package. The last part of the book focuses on system integration and higher-level control, including perception-based and mobile manipulation.

This accessible text includes examples throughout and C++ code examples are also provided at https://github.com/wsnewman/learning_ros

part 1|89 pages

ROS Foundations

chapter 1|31 pages

Introduction to ROS: ROS tools and nodes

chapter 2|53 pages

Messages, Classes and Servers

part 2|127 pages

Simulation and Visualization in ROS

chapter 3|57 pages

Simulation in ROS

chapter 4|23 pages

Coordinate Transforms in ROS

chapter 5|41 pages

Sensing and Visualization in ROS

part 3|66 pages

Perceptual Processing in ROS

chapter 6|23 pages

Using Cameras in ROS

chapter 7|13 pages

Depth Imaging and Point Clouds

chapter 8|24 pages

Point Cloud Processing

part 4|81 pages

Mobile Robots in ROS

chapter 9|57 pages

Mobile-Robot Motion Control

chapter 10|19 pages

Mobile-Robot Navigation

part 5|98 pages

Robot Arms in ROS

chapter 11|17 pages

Low-Level Control

chapter 12|11 pages

Robot Arm Kinematics

chapter 13|12 pages

Arm Motion Planning

chapter 14|27 pages

Arm Control with Baxter Simulator

chapter 15|24 pages

An Object-Grabber Package

part 6|25 pages

System Integration and Higher Level Control

chapter 16|12 pages

PerceptionBased Manipulation

chapter 17|6 pages

Mobile Manipulation

chapter 18|3 pages

Conclusion