Book description
Build exciting robotics projects such as mobile manipulators, self-driving cars, and industrial robots powered by ROS, machine learning, and virtual reality
Key Features
- Create and program cool robotic projects using powerful ROS libraries
- Build industrial robots like mobile manipulators to handle complex tasks
- Learn how reinforcement learning and deep learning are used with ROS
Book Description
Nowadays, heavy industrial robots placed in workcells are being replaced by new age robots called cobots, which don't need workcells. They are used in manufacturing, retail, banks, energy, and healthcare, among other domains. One of the major reasons for this rapid growth in the robotics market is the introduction of an open source robotics framework called the Robot Operating System (ROS).
This book covers projects in the latest ROS distribution, ROS Melodic Morenia with Ubuntu Bionic (18.04). Starting with the fundamentals, this updated edition of ROS Robotics Projects introduces you to ROS-2 and helps you understand how it is different from ROS-1. You'll be able to model and build an industrial mobile manipulator in ROS and simulate it in Gazebo 9. You'll then gain insights into handling complex robot applications using state machines and working with multiple robots at a time. This ROS book also introduces you to new and popular hardware such as Nvidia's Jetson Nano, Asus Tinker Board, and Beaglebone Black, and allows you to explore interfacing with ROS. You'll learn as you build interesting ROS projects such as self-driving cars, making use of deep learning, reinforcement learning, and other key AI concepts.
By the end of the book, you'll have gained the confidence to build interesting and intricate projects with ROS.
What you will learn
- Grasp the basics of ROS and understand ROS applications
- Uncover how ROS-2 is different from ROS-1
- Handle complex robot tasks using state machines
- Communicate with multiple robots and collaborate to build apps with them
- Explore ROS capabilities with the latest embedded boards such as Tinker Board S and Jetson Nano
- Discover how machine learning and deep learning techniques are used with ROS
- Build a self-driving car powered by ROS
- Teleoperate your robot using Leap Motion and a VR headset
Who this book is for
If you're a student, hobbyist, professional, or anyone with a passion for learning robotics and interested in learning about algorithms, motion control, and perception capabilities from scratch, this book is for you. This book is also ideal for anyone who wants to build a new product and for researchers to make the most of what's already available to create something new and innovative in the field of robotics.
Table of contents
- Title Page
- Copyright and Credits
- Dedication
- About Packt
- Contributors
- Preface
- Getting Started with ROS
-
Introduction to ROS-2 and Its Capabilities
- Technical requirements
- Getting started with ROS-2
- Fundamentals of ROS-2
- ROS-2 client libraries (RCL)
- ROS-2 tools
- Installing ROS-2
- Setting up the ROS-2 workspace
- Writing ROS-2 nodes
- Bridging ROS-1 and ROS-2
- Summary
-
Building an Industrial Mobile Manipulator
- Technical requirements
- Understanding available mobile manipulators
- Applications of mobile manipulators
- Getting started building mobile manipulators
- Building the robot base
- Getting started building the robot arm
- Putting things together
- Summary
- Handling Complex Robot Tasks Using State Machines
-
Building an Industrial Application
- Technical requirements
- Application use case – robot home delivery
- Making our robot base intelligent
- Making our robot arm intelligent
- Simulating the application
- Improvements to the robot
- Summary
- Multi-Robot Collaboration
-
ROS on Embedded Platforms and Their Control
- Technical requirements
- Understanding embedded boards
- Introduction to microcontroller boards
- Introduction to single-board computers
- Debian versus Ubuntu
- Setting up ROS on Tinkerboard S
- Setting up ROS on BeagleBone Black
- Setting up ROS on Raspberry Pi 3/4
- Setting up ROS on Jetson Nano
- Controlling GPIOS from ROS
- Benchmarking embedded boards
- Getting started with Alexa and connecting with ROS
- Summary
- Reinforcement Learning and Robotics
- Deep Learning Using ROS and TensorFlow
-
Creating a Self-Driving Car Using ROS
- Technical requirements
- Getting started with self-driving cars
- Components of a typical self-driving car
-
Simulating and interfacing self-driving car sensors in ROS
- Simulating the Velodyne LIDAR
- Interfacing Velodyne sensors with ROS
- Simulating a laser scanner
- Explaining the simulation code
- Interfacing laser scanners with ROS
- Simulating stereo and mono cameras in Gazebo
- Interfacing cameras with ROS
- Simulating GPS in Gazebo
- Interfacing GPS with ROS
- Simulating IMU on Gazebo
- Interfacing IMUs with ROS
- Simulating an ultrasonic sensor in Gazebo
- Low-cost LIDAR sensors
- Simulating a self-driving car with sensors in Gazebo
- Interfacing a DBW car with ROS
- Introducing the Udacity open source self-driving car project
- Summary
-
Teleoperating Robots Using a VR Headset and Leap Motion
- Technical requirements
- Getting started with a VR headset and Leap Motion
- Designing and working on the project
- Installing the Leap Motion SDK on Ubuntu 14.04.5
- Visualizing Leap Motion data in RViz
- Creating a teleoperation node using the Leap Motion controller
- Building a ROS-VR Android application
- Working with the ROS-VR application and interfacing with Gazebo
- TurtleBot simulation in VR
- Troubleshooting the ROS-VR application
- Integrating the ROS-VR application and Leap Motion teleoperation
- Summary
-
Face Detection and Tracking Using ROS, OpenCV, and Dynamixel Servos
- Technical requirements
- Overview of the project
- Hardware and software prerequisites
- Configuring a Dynamixel servo using RoboPlus
- Interfacing Dynamixel with ROS
- Creating face tracker ROS packages
-
Working with the face-tracking ROS package
- Understanding the face tracker code
- Understanding CMakeLists.txt
- The track.yaml file
- Launch files
- Running the face tracker node
- The face_tracker_control package
- The pan controller configuration file
- The servo parameters configuration file
- The face tracker controller node
- Creating CMakeLists.txt
- Testing the face tracker control package
- Bringing all of the nodes together
- Fixing the bracket and setting up the circuit
- The final run
- Summary
- Other Books You May Enjoy
Product information
- Title: ROS Robotics Projects
- Author(s):
- Release date: December 2019
- Publisher(s): Packt Publishing
- ISBN: 9781838649326
You might also like
book
ROS Robotics Projects
Build a variety of awesome robots that can see, sense, move, and do a lot more …
book
ROS Robotics By Example
Bring life to your robot using ROS robotic applications About This Book This book will help …
book
ROS Robotics By Example - Second Edition
Learning how to build and program your own robots with the most popular open source robotics …
book
Mastering ROS for Robotics Programming
Design, build and simulate complex robots using Robot Operating System and master its out-of-the-box functionalities About …