Book Image

ROS Robotics Projects - Second Edition

By : Ramkumar Gandhinathan
Book Image

ROS Robotics Projects - Second Edition

By: Ramkumar Gandhinathan

Overview of this book

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.
Table of Contents (14 chapters)

What this book covers

Chapter 1, Getting Started with ROS, is a basic introductory chapter on ROS for beginners. This chapter will help you get an idea of the ROS software framework and its concepts.

Chapter 2, Introduction to ROS-2 and Its Capabilities, introduces you to ROS-2, the newest upgraded framework that helps us use ROS in real-time applications. This chapter is organized in a similar manner to Chapter 1, Getting Started with ROS, such that users are able to differentiate between both ROS versions and understand their capabilities and limitations.

Chapter 3, Building an Industrial Mobile Manipulator, is where you will learn how to build a mobile robot and a robot arm and combine them both to be used in a virtual environment and control them through ROS.

Chapter 4, Handling Complex Robot Tasks Using State Machines, introduces you to techniques in ROS that could be adapted while using robots for continuous and complicated task management.

Chapter 5, Building an Industrial Application, is where you will combine the skills acquired in Chapters 3, Building an Industrial Mobile Manipulator and Chapter 4, Handling Complex Robot Tasks Using State Machines, effectively, to create a user application. Here, we will demonstrate how to use the mobile manipulator to deliver products to houses in a neighborhood.

Chapter 6, Multi-Robot Collaboration, teaches you how to communicate between multiple robots of the same or different category and control them separately and together in groups.

Chapter 7, ROS on Embedded Platforms and Their Control, helps you understand the latest embedded controller and processor boards, such as STM32-based controllers, Tinker Board, Jetson Nano, and many more. We will also look at how to control their GPIOs via ROS and control them via voice-based commands through Alexa.

Chapter 8, Reinforcement Learning and Robotics, introduces you to one of the most commonly used learning techniques in robotics called reinforcement learning. In this chapter, you will understand what reinforcement learning is and the math behind it using examples. Additionally, we will discover how to incorporate this learning technique with ROS by means of simple projects.

Chapter 9, Deep Learning Using ROS and TensorFlow, is a project made using a trending technology in robotics. Using the TensorFlow library and ROS, we can implement interesting deep learning applications. You can implement image recognition using deep learning, and an application using SVM can be found in this chapter.

Chapter 10, Creating a Self-Driving Car Using ROS, is one of the more interesting projects in this book. In this chapter, we will build a simulation of a self-driving car using ROS and Gazebo.

Chapter 11, Teleoperating Robots Using a VR Headset and Leap Motion, shows you how to control a robot's actions using a VR headset and Leap Motion sensor. You can play around with VR, which is a trending technology these days.

Chapter 12, Face Detection and Tracking Using ROS, OpenCV, and Dynamixel Servos, takes you through a cool project that you can make with ROS and the OpenCV library. This project basically creates a face tracker application in which your face will be tracked in such a way that the camera will always point to your face. We will use intelligent servos such as Dynamixel to rotate the robot on its axis.