The Wayback Machine - https://web.archive.org/web/20180415123654/https://www.packtpub.com/hardware-and-creative/mastering-ros-robotics-programming-second-edition

Mastering ROS for Robotics Programming - Second Edition

Discover best practices and troubleshooting solutions when working on ROS
Preview in Mapt

Mastering ROS for Robotics Programming - Second Edition

Lentin Joseph, Jonathan Cacace
New Release!

Discover best practices and troubleshooting solutions when working on ROS
Mapt Subscription
FREE
€29.73/m after trial
eBook
€28.32
RRP €40.44
Save 29%
Print + eBook
€41.99
RRP €41.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
€0.00
€28.32
€41.99
€29.74 p/m after trial
RRP €40.44
RRP €41.99
Subscription
eBook
Print + eBook
Start 14 Day Trial

Frequently bought together


Mastering ROS for Robotics Programming - Second Edition Book Cover
Mastering ROS for Robotics Programming - Second Edition
€ 40.44
€ 28.32
ROS Robotics By Example - Second Edition Book Cover
ROS Robotics By Example - Second Edition
€ 45.20
€ 31.65
Buy 2 for €35.42
Save €42.20
Add to Cart

Book Details

ISBN 139781788478953
Paperback580 pages

Book Description

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.

Table of Contents

Chapter 1: Introduction to ROS
Why should we learn ROS?
Why we prefer ROS for robots
Why some do not prefer ROS for robots
Understanding the ROS filesystem level
Understanding the ROS computation graph level
ROS community level
What are the prerequisites for starting with ROS?
Questions
Summary
Chapter 2: Getting Started with ROS Programming
Creating a ROS package
Adding custom msg and srv files
Working with ROS services
Creating launch files
Applications of topics, services, and actionlib
Maintaining the ROS package
Releasing your ROS package
Preparing the ROS package for the release
Releasing our package
Questions
Summary
Chapter 3: Working with 3D Robot Modeling in ROS
ROS packages for robot modeling
Understanding robot modeling using URDF
Creating the ROS package for the robot description
Creating our first URDF model
Explaining the URDF file
Visualizing the 3D robot model in RViz
Adding physical and collision properties to a URDF model
Understanding robot modeling using xacro
Converting xacro to URDF
Creating the robot description for a seven DOF robot manipulator
Explaining the xacro model of the seven DOF arm
Creating a robot model for the differential drive mobile robot
Questions
Summary
Chapter 4: Simulating Robots Using ROS and Gazebo
Simulating the robotic arm using Gazebo and ROS
Creating the robotic arm simulation model for Gazebo
Simulating the robotic arm with Xtion Pro
Moving robot joints using ROS controllers in Gazebo
Simulating a differential wheeled robot in Gazebo
Adding the ROS teleop node
Questions
Summary
Chapter 5: Simulating Robots Using ROS and V-REP
Setting up V-REP with ROS
Understanding the vrep_plugin
Simulating the robotic arm using V-REP and ROS
Simulating a differential wheeled robot in V-REP
Questions
Summary
Chapter 6: Using the ROS MoveIt! and Navigation Stack
Installing MoveIt!
Generating MoveIt! configuration package using the Setup Assistant tool
Motion planning of robot in RViz using MoveIt! configuration package
Understanding the ROS Navigation stack
Installing the ROS Navigation stack
Building a map using SLAM
Questions
Summary
Chapter 7: Working with pluginlib, Nodelets, and Gazebo Plugins
Understanding pluginlib
Understanding ROS nodelets
Understanding the Gazebo plugins
Questions
Summary
Chapter 8: Writing ROS Controllers and Visualization Plugins
Understanding ros_control packages
Writing a basic joint controller in ROS
Understanding the ROS visualization tool (RViz) and its plugins
Writing an RViz plugin for teleoperation
Questions
Summary
Chapter 9: Interfacing I/O Boards, Sensors, and Actuators to ROS
Understanding the Arduino-ROS interface
What is the Arduino-ROS interface?
Interfacing non-Arduino boards to ROS
Interfacing DYNAMIXEL actuators to ROS
Questions
Summary
Chapter 10: Programming Vision Sensors Using ROS, Open CV, and PCL
Understanding ROS – OpenCV interfacing packages
Understanding ROS - PCL interfacing packages
Interfacing USB webcams in ROS
Working with ROS camera calibration
Interfacing Kinect and Asus Xtion Pro in ROS
Interfacing Intel Real Sense camera with ROS
Interfacing Hokuyo Laser in ROS
Working with point cloud data
Working with AR Marker detection for object pose estimation
Questions
Summary
Chapter 11: Building and Interfacing Differential Drive Mobile Robot Hardware in ROS
Introducing to Chefbot – a DIY mobile robot and its hardware configuration
Questions
Summary
Chapter 12: Exploring the Advanced Capabilities of ROS-MoveIt!
Motion planning using the move_group C++ interface
Collision checking with a robot arm using MoveIt!
Working with perception using MoveIt! and Gazebo
Working with a robot pick-and-place task using MoveIt!
Understanding DYNAMIXEL ROS Servo controllers for robot hardware interfacing
Interfacing 7 DOF DYNAMIXEL-based robotic arm to ROS MoveIt!
Questions
Summary
Chapter 13: Using ROS in MATLAB and Simulink
Getting started with MATLAB and MATLAB-ROS
Getting started with ROS and Simulink
Developing a simple control system in Simulink
Questions
Summary
Chapter 14: ROS for Industrial Robots
Understanding ROS-Industrial packages
Installing ROS-Industrial packages
Block diagram of ROS-Industrial packages
Creating a URDF for an industrial robot
Creating the MoveIt! configuration for an industrial robot
Installing ROS-Industrial packages of  Universal robotic arms
Understanding the Moveit! configuration of a Universal Robot arm
Getting started with real Universal Robots hardware and ROS-I
Working with MoveIt! configuration of ABB robots
Understanding the ROS-Industrial robot support packages
ROS-Industrial robot client package
ROS-Industrial robot driver package
Understanding the MoveIt! IKFast plugin
Creating the MoveIt! IKFast plugin for the ABB IRB 6640 robot
Creating the COLLADA file of a robot to work with OpenRave
Generating the IKFast CPP file for the IRB 6640 robot
Questions
Summary
Chapter 15: Troubleshooting and Best Practices in ROS
Setting up RoboWare Studio in Ubuntu
Best practices in ROS
Best practices in the ROS package
Important troubleshooting tips in ROS
Questions
Summary

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!

Authors

Table of Contents

Chapter 1: Introduction to ROS
Why should we learn ROS?
Why we prefer ROS for robots
Why some do not prefer ROS for robots
Understanding the ROS filesystem level
Understanding the ROS computation graph level
ROS community level
What are the prerequisites for starting with ROS?
Questions
Summary
Chapter 2: Getting Started with ROS Programming
Creating a ROS package
Adding custom msg and srv files
Working with ROS services
Creating launch files
Applications of topics, services, and actionlib
Maintaining the ROS package
Releasing your ROS package
Preparing the ROS package for the release
Releasing our package
Questions
Summary
Chapter 3: Working with 3D Robot Modeling in ROS
ROS packages for robot modeling
Understanding robot modeling using URDF
Creating the ROS package for the robot description
Creating our first URDF model
Explaining the URDF file
Visualizing the 3D robot model in RViz
Adding physical and collision properties to a URDF model
Understanding robot modeling using xacro
Converting xacro to URDF
Creating the robot description for a seven DOF robot manipulator
Explaining the xacro model of the seven DOF arm
Creating a robot model for the differential drive mobile robot
Questions
Summary
Chapter 4: Simulating Robots Using ROS and Gazebo
Simulating the robotic arm using Gazebo and ROS
Creating the robotic arm simulation model for Gazebo
Simulating the robotic arm with Xtion Pro
Moving robot joints using ROS controllers in Gazebo
Simulating a differential wheeled robot in Gazebo
Adding the ROS teleop node
Questions
Summary
Chapter 5: Simulating Robots Using ROS and V-REP
Setting up V-REP with ROS
Understanding the vrep_plugin
Simulating the robotic arm using V-REP and ROS
Simulating a differential wheeled robot in V-REP
Questions
Summary
Chapter 6: Using the ROS MoveIt! and Navigation Stack
Installing MoveIt!
Generating MoveIt! configuration package using the Setup Assistant tool
Motion planning of robot in RViz using MoveIt! configuration package
Understanding the ROS Navigation stack
Installing the ROS Navigation stack
Building a map using SLAM
Questions
Summary
Chapter 7: Working with pluginlib, Nodelets, and Gazebo Plugins
Understanding pluginlib
Understanding ROS nodelets
Understanding the Gazebo plugins
Questions
Summary
Chapter 8: Writing ROS Controllers and Visualization Plugins
Understanding ros_control packages
Writing a basic joint controller in ROS
Understanding the ROS visualization tool (RViz) and its plugins
Writing an RViz plugin for teleoperation
Questions
Summary
Chapter 9: Interfacing I/O Boards, Sensors, and Actuators to ROS
Understanding the Arduino-ROS interface
What is the Arduino-ROS interface?
Interfacing non-Arduino boards to ROS
Interfacing DYNAMIXEL actuators to ROS
Questions
Summary
Chapter 10: Programming Vision Sensors Using ROS, Open CV, and PCL
Understanding ROS – OpenCV interfacing packages
Understanding ROS - PCL interfacing packages
Interfacing USB webcams in ROS
Working with ROS camera calibration
Interfacing Kinect and Asus Xtion Pro in ROS
Interfacing Intel Real Sense camera with ROS
Interfacing Hokuyo Laser in ROS
Working with point cloud data
Working with AR Marker detection for object pose estimation
Questions
Summary
Chapter 11: Building and Interfacing Differential Drive Mobile Robot Hardware in ROS
Introducing to Chefbot – a DIY mobile robot and its hardware configuration
Questions
Summary
Chapter 12: Exploring the Advanced Capabilities of ROS-MoveIt!
Motion planning using the move_group C++ interface
Collision checking with a robot arm using MoveIt!
Working with perception using MoveIt! and Gazebo
Working with a robot pick-and-place task using MoveIt!
Understanding DYNAMIXEL ROS Servo controllers for robot hardware interfacing
Interfacing 7 DOF DYNAMIXEL-based robotic arm to ROS MoveIt!
Questions
Summary
Chapter 13: Using ROS in MATLAB and Simulink
Getting started with MATLAB and MATLAB-ROS
Getting started with ROS and Simulink
Developing a simple control system in Simulink
Questions
Summary
Chapter 14: ROS for Industrial Robots
Understanding ROS-Industrial packages
Installing ROS-Industrial packages
Block diagram of ROS-Industrial packages
Creating a URDF for an industrial robot
Creating the MoveIt! configuration for an industrial robot
Installing ROS-Industrial packages of  Universal robotic arms
Understanding the Moveit! configuration of a Universal Robot arm
Getting started with real Universal Robots hardware and ROS-I
Working with MoveIt! configuration of ABB robots
Understanding the ROS-Industrial robot support packages
ROS-Industrial robot client package
ROS-Industrial robot driver package
Understanding the MoveIt! IKFast plugin
Creating the MoveIt! IKFast plugin for the ABB IRB 6640 robot
Creating the COLLADA file of a robot to work with OpenRave
Generating the IKFast CPP file for the IRB 6640 robot
Questions
Summary
Chapter 15: Troubleshooting and Best Practices in ROS
Setting up RoboWare Studio in Ubuntu
Best practices in ROS
Best practices in the ROS package
Important troubleshooting tips in ROS
Questions
Summary

Book Details

ISBN 139781788478953
Paperback580 pages
Read More

Read More Reviews

Recommended for You

ROS Robotics By Example - Second Edition Book Cover
ROS Robotics By Example - Second Edition
€ 45.20
€ 31.65
Mastering Machine Learning Algorithms Book Cover
Mastering Machine Learning Algorithms
€ 41.63
€ 29.15
Practical Deep Reinforcement Learning Book Cover
Practical Deep Reinforcement Learning
€ 45.20
€ 31.65
Machine Learning: End-to-End guide for Java developers Book Cover
Machine Learning: End-to-End guide for Java developers
€ 85.66
€ 59.97
Functional Python Programming - Second Edition Book Cover
Functional Python Programming - Second Edition
€ 40.44
€ 28.32
Mastering Xamarin.Forms - Second Edition Book Cover
Mastering Xamarin.Forms - Second Edition
€ 23.78
€ 16.66