Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • ROS Robotics By Example, Second Edition
  • Toc
  • feedback
ROS Robotics By Example, Second Edition

ROS Robotics By Example, Second Edition

By : Lentin Joseph, Carol Fairchild, Harman
4.3 (6)
close
ROS Robotics By Example, Second Edition

ROS Robotics By Example, Second Edition

4.3 (6)
By: Lentin Joseph, Carol Fairchild, Harman

Overview of this book

ROS is a robust robotics framework that works regardless of hardware architecture or hardware origin. It standardizes most layers of robotics functionality from device drivers to process control and message passing to software package management. But apart from just plain functionality, ROS is a great platform to learn about robotics itself and to simulate, as well as actually build, your first robots. This does not mean that ROS is a platform for students and other beginners; on the contrary, ROS is used all over the robotics industry to implement flying, walking and diving robots, yet implementation is always straightforward, and never dependent on the hardware itself. ROS Robotics has been the standard introduction to ROS for potential professionals and hobbyists alike since the original edition came out; the second edition adds a gradual introduction to all the goodness available with the Kinetic Kame release. By providing you with step-by-step examples including manipulator arms and flying robots, the authors introduce you to the new features. The book is intensely practical, with space given to theory only when absolutely necessary. By the end of this book, you will have hands-on experience on controlling robots with the best possible framework.
Table of Contents (12 chapters)
close
11
Index

What this book covers

Chapter 1, Getting Started with ROS, explains to you the advantages of learning ROS and highlights the spectrum of robots currently using ROS. Instructions for installing and launching ROS on a computer running an Ubuntu operating system are provided. An overview of the ROS architecture is given and its components are described. The Turtlesim simulation is introduced, and used to provide a deeper understanding of how the components of ROS work and a familiarity with ROS commands.

Chapter 2, Creating Your First Two-Wheeled ROS Robot (in Simulation), introduces you to the ROS simulation environment of Gazebo. We will lead you through the steps to create your first robot simulation (a two-wheeled differential-drive base) and teach the structure of the Universal Robotic Description Format. The use of the ROS tool rviz and Gazebo are detailed to enable you to display your robot and interact with it.

Chapter 3, Driving Around with TurtleBot, introduces you to real ROS robots, TurtleBot2 and the recently available TurtleBot 3. These mobile base robots can be used in the simulation environment of Gazebo if you do not own one. ROS commands and Python scripts are used to control TurtleBot through a variety of methods. The ROS tool rqt is introduced, and subsets of its plugins are used to control TurtleBot and monitor its sensor data.

Chapter 4, Navigating the World with TurtleBot, explores visual sensors and the ability for a robot to map its environment. The 3D sensor options for TurtleBot's vision system are described and their setup and operation using ROS enables TurtleBot to navigate autonomously. The knowledge of the Simultaneous Localization and Mapping techniques is applied in combination with TurtleBot's navigation stack to move about in the mapped environment.

Chapter 5, Creating Your First Robot Arm (in Simulation), provides a gentle introduction into the complexity of robotic arms. A simulated robot arm is designed and built using the macro language of Xacro. Controllers for the arm are created to operate the arm in Gazebo. Through developing the controllers for this arm, an insight into the mechanics and physics of a simple robot arm is offered.

Chapter 6, Wobbling Robot Arms Using Joint Control, takes a deeper look at the intricacies of controlling robotic arms. Baxter has two 7 degree-of-freedom arms and a number of other sensors. Baxter Simulator is available as open source software to use for the instructions in this chapter. Examples are provided for control of Baxter's arms using position, velocity, and torque modes with control for both forward and inverse kinematics. The ROS tool MoveIt is introduced for motion planning in simulation and execution on either a real or simulated Baxter.

Chapter 7, Making a Robot Fly, describes a growing area of ROS robotics—unmanned air vehicles. This chapter focuses on quadrotors, and an understanding of quadrotor hardware and flight control is provided. Instructions for downloading and controlling the simulated quadrotor Hector are supplied. With skills from flying a simulated quadrotor, you can move on to control a real Bitcraze Crazyflie or Parrot Bebop. Quadrotor control is via teleoperation or ROS topic/message commands.

Chapter 8, Controlling Your Robots with External Devices, presents a number of peripheral devices you can use for controlling a ROS robot. Joystick controllers, controller boards (Arduino and Raspberry Pi), and mobile devices have ROS interfaces that can be integrated with your robot to provide external control.

Chapter 9, Flying a Mission with Crazyflie, incorporates many of the ROS components and concepts presented in this book into a challenging mission of autonomous flight. The mission involves the Crazyflie quadrotor flying to a "remote" target all mapped through a Kinect 3D sensor. This mission uses ROS message communication and co-ordinate transforms to employ the Kinect's view of the quadrotor and target to orchestrate the flight. Flight control software for Crazyflie using PID control is described and provided as part of the mission software.

Chapter 10, Controlling Baxter with MATLAB©, delves into a new realm of communicating with and controlling ROS robots through MATLAB and its Robotics System Toolbox. Baxter, the two-armed robot introduced in Chapter 6, Wobbling Robot Arms Using Joint Control, will be used to show how to set up a ROS robot in MATLAB by adding custom messages into the Robotics System Toolbox. Communication and control of Baxter and his arms will be accomplished using MATLAB scripts and ROS commands.

Unlock full access

Continue reading for free

A Packt free trial gives you instant online access to our library of over 7000 practical eBooks and videos, constantly updated with the latest in tech
bookmark search playlist download font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete