Mastering ROS for Robotics Programming - Second Edition: Design, build, and simulate complex robots using the Robot Operating System
Discover best practices and troubleshooting solutions when working on ROS
- Develop complex robotic applications using ROS to interface robot manipulators and mobile robots
- Gain insight into autonomous navigation in mobile robots and motion planning in robot manipulators
- Discover best practices and troubleshooting solutions
In this day and age, robotics has been gaining a lot of traction in various industries where consistency and perfection matter. Automation is achieved via robotic applications and various platforms that support robotics. The Robot Operating System (ROS) is a modular software platform to develop generic robotic applications. This book focuses on the most stable release of ROS (Kinetic Kame), discusses advanced concepts, and effectively teaches you programming using ROS.
We begin with aninformative overview of the ROS framework, which will give you a clear idea of how ROS works. During the course of this book, you'll learn to build models of complex robots, and simulate and interface the robot using the ROS MoveIt! motion planning library and ROS navigation stacks. Learn to leverage several ROS packages to embrace your robot models.
After covering robot manipulation and navigation, you'll get to grips with the interfacing I/O boards, sensors, and actuators of ROS. Vision sensors are a key component of robots, and an entire chapter is dedicated to the vision sensor and image elaboration, its interface in ROS and programming. You'll also understand the hardware interface and simulation of complex robots to ROS and ROS Industrial.
At the end of this book, you'll discover the best practices to follow when programming using ROS.
What you will learn
- Create a robot model with a seven-DOF robotic arm and a differential wheeled mobile robot
- Work with Gazebo and V-REP robotic simulator
- Implement autonomous navigation in differential drive robots using SLAM and AMCL packages
- Explore the ROS Pluginlib, ROS nodelets, and Gazebo plugins
- Interface I/O boards such as Arduino, robot sensors, and high-end actuators
- Simulate and motion plan an ABB and universal arm using ROS Industrial
- Explore the latest version of the ROS framework
- Work with the motion planning of a seven-DOF arm using MoveIt!
Who This Book Is For
If you are a robotics enthusiast or researcher who want to learn more about building robot applications using ROS, this book is for you. In order to learn from this book, you should have a basic knowledge of ROS, GNU/Linux, and C++ programming concepts. The book is also excellent for programmers who want to explore the advanced features of ROS.
Table of Contents
Chapter 1 Introduction to ROS and Its Package Management
Chapter 2 Getting started with ROS programming
Chapter 3 Working with 3D Robot Modeling in ROS
Chapter 4 Simulating Robots Using ROS and Gazebo
Chapter 5 Simulating Robots Using ROS and V-REP
Chapter 6 Using the ROS MoveIt! And Navigation Stack
Chapter 7 Working with Pluginlib, Nodelets, and Gazebo Plugins
Chapter 8 Writing ROS Controllers and Visualization Plugins
Chapter 9 Interfacing I/O Boards, Sensors, and Actuators to ROS
Chapter 10 Programming Vision Sensors using ROS, Open-CV, PCL and AR Marker Tracking
Chapter 11 Building and Interfacing Differential Drive Mobile Robot Hardware in ROS
Chapter 12 Exploring the Advanced Capabilities of ROS-MoveIt!
Chapter 13 Using ROS in Matlab and Simulink
Chapter 14 ROS for Industrial Robots
Chapter 15 Troubleshooting and Best Practices in ROS