Learning ROS for Robotics Programming - Second Edition

Take control of the Linux based Robot Operating System, and discover the tools, libraries, and conventions you need to create your own robots without the hassle.

Learning ROS for Robotics Programming - Second Edition

Learning
Enrique Fernández et al.

5 customer reviews
Take control of the Linux based Robot Operating System, and discover the tools, libraries, and conventions you need to create your own robots without the hassle.
$43.99
$54.99
RRP $43.99
RRP $54.99
eBook
Print + eBook

Instantly access this course right now and get the skills you need in 2017

With unlimited access to a constantly growing library of over 4,000 eBooks and Videos, a subscription to Mapt gives you everything you need to learn new skills. Cancel anytime.

Free Sample

Book Details

ISBN 139781783987580
Paperback458 pages

Book Description

If you have ever tried building a robot, then you know how cumbersome programming everything from scratch can be. This is where ROS comes into the picture. It is a collection of tools, libraries, and conventions that simplifies the robot building process. What’s more, ROS encourages collaborative robotics software development, allowing you to connect with experts in various fields to collaborate and build upon each other's work.

Packed full of examples, this book will help you understand the ROS framework to help you build your own robot applications in a simulated environment and share your knowledge with the large community supporting ROS.

Starting at an introductory level, this book is a comprehensive guide to the fascinating world of robotics, covering sensor integration, modeling, simulation, computer vision, navigation algorithms, and more. You will then go on to explore concepts like topics, messages, and nodes. Next, you will learn how to make your robot see with HD cameras, or navigate obstacles with range sensors. Furthermore, thanks to the contributions of the vast ROS community, your robot will be able to navigate autonomously, and even recognize and interact with you in a matter of minutes.

What’s new in this updated edition? First and foremost, we are going to work with ROS Hydro this time around. You will learn how to create, visualize, and process Point Cloud information from different sensors. This edition will also show you how to control and plan motion of robotic arms with multiple joints using MoveIt!

By the end of this book, you will have all the background you need to build your own robot and get started with ROS.

Table of Contents

Chapter 1: Getting Started with ROS Hydro
PC installation
Installing ROS Hydro – using repositories
How to install VirtualBox and Ubuntu
Installing ROS Hydro in BeagleBone Black (BBB)
Summary
Chapter 2: ROS Architecture and Concepts
Understanding the ROS Filesystem level
Understanding the ROS Computation Graph level
Understanding the ROS Community level
Tutorials to practice with ROS
Summary
Chapter 3: Visualization and Debug Tools
Debugging ROS nodes
Logging messages
Inspecting what is going on
Setting dynamic parameters
When something weird happens
Visualizing node diagnostics
Plotting scalar data
Image visualization
3D visualization
Saving and playing back data
Using the rqt_gui and rqt plugins
Summary
Chapter 4: Using Sensors and Actuators with ROS
Using a joystick or a gamepad
Using a laser rangefinder – Hokuyo URG-04lx
Using the Kinect sensor to view objects in 3D
Using servomotors – Dynamixel
Using Arduino to add more sensors and actuators
Using an ultrasound range sensor with Arduino
How distance sensors send messages
Using a low-cost IMU – 10 degrees of freedom
Using a GPS system
Summary
Chapter 5: Computer Vision
Connecting and running the camera
Writing your own USB camera driver with OpenCV
Calibrating the camera
The ROS image pipeline
ROS packages useful for Computer Vision tasks
Using visual odometry with viso2
Performing visual odometry with an RGBD camera
Computing the homography of two images
Summary
Chapter 6: Point Clouds
Understanding the point cloud library
My first PCL program
Segmentation
Summary
Chapter 7: 3D Modeling and Simulation
A 3D model of our robot in ROS
Creating our first URDF file
Xacro – a better way to write our robot models
Simulation in ROS
Summary
Chapter 8: The Navigation Stack – Robot Setups
The navigation stack in ROS
Creating transforms
Publishing sensor information
Publishing odometry information
Creating a base controller
Creating a map with ROS
Summary
Chapter 9: The Navigation Stack – Beyond Setups
Creating a package
Creating a robot configuration
Configuring the costmaps – global_costmap and local_costmap
Creating a launch file for the navigation stack
Setting up rviz for the navigation stack
Adaptive Monte Carlo Localization
Modifying parameters with rqt_reconfigure
Avoiding obstacles
Sending goals
Summary
Chapter 10: Manipulation with MoveIt!
The MoveIt! architecture
Integrating an arm in MoveIt!
Simple motion planning
Motion planning with collisions
The pick and place task
Summary

What You Will Learn

  • Install a complete ROS Hydro system
  • Create ROS packages and metapackages, using and debugging them in real time
  • Build, handle, and debug ROS nodes
  • Design your 3D robot model and simulate it in a virtual environment within Gazebo
  • Give your robots the power of sight using cameras and calibrate and perform computer vision tasks with them
  • Generate and adapt the navigation stack to work with your robot
  • Integrate different sensors like Range Laser, Arduino, and Kinect with your robot
  • Visualize and process Point Cloud information from different sensors
  • Control and plan motion of robotic arms with multiple joints using MoveIt!

Authors

Table of Contents

Chapter 1: Getting Started with ROS Hydro
PC installation
Installing ROS Hydro – using repositories
How to install VirtualBox and Ubuntu
Installing ROS Hydro in BeagleBone Black (BBB)
Summary
Chapter 2: ROS Architecture and Concepts
Understanding the ROS Filesystem level
Understanding the ROS Computation Graph level
Understanding the ROS Community level
Tutorials to practice with ROS
Summary
Chapter 3: Visualization and Debug Tools
Debugging ROS nodes
Logging messages
Inspecting what is going on
Setting dynamic parameters
When something weird happens
Visualizing node diagnostics
Plotting scalar data
Image visualization
3D visualization
Saving and playing back data
Using the rqt_gui and rqt plugins
Summary
Chapter 4: Using Sensors and Actuators with ROS
Using a joystick or a gamepad
Using a laser rangefinder – Hokuyo URG-04lx
Using the Kinect sensor to view objects in 3D
Using servomotors – Dynamixel
Using Arduino to add more sensors and actuators
Using an ultrasound range sensor with Arduino
How distance sensors send messages
Using a low-cost IMU – 10 degrees of freedom
Using a GPS system
Summary
Chapter 5: Computer Vision
Connecting and running the camera
Writing your own USB camera driver with OpenCV
Calibrating the camera
The ROS image pipeline
ROS packages useful for Computer Vision tasks
Using visual odometry with viso2
Performing visual odometry with an RGBD camera
Computing the homography of two images
Summary
Chapter 6: Point Clouds
Understanding the point cloud library
My first PCL program
Segmentation
Summary
Chapter 7: 3D Modeling and Simulation
A 3D model of our robot in ROS
Creating our first URDF file
Xacro – a better way to write our robot models
Simulation in ROS
Summary
Chapter 8: The Navigation Stack – Robot Setups
The navigation stack in ROS
Creating transforms
Publishing sensor information
Publishing odometry information
Creating a base controller
Creating a map with ROS
Summary
Chapter 9: The Navigation Stack – Beyond Setups
Creating a package
Creating a robot configuration
Configuring the costmaps – global_costmap and local_costmap
Creating a launch file for the navigation stack
Setting up rviz for the navigation stack
Adaptive Monte Carlo Localization
Modifying parameters with rqt_reconfigure
Avoiding obstacles
Sending goals
Summary
Chapter 10: Manipulation with MoveIt!
The MoveIt! architecture
Integrating an arm in MoveIt!
Simple motion planning
Motion planning with collisions
The pick and place task
Summary

Book Details

ISBN 139781783987580
Paperback458 pages
Read More
From 5 reviews

Read More Reviews