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)

Introduction to the multimaster concept

To understand the multimaster concept, let's consider an industry use case, as shown in the following diagram:

Industry robot use case

Imagine that we have robots such as our robot manipulator (which we created in Chapter 3, Building an Industrial Mobile Manipulator) working toward loading and unloading goods and we have at least five such robots doing this. Also, imagine that there are a few robot arms that are working along with machines for tending applications, such as loading onto the machining area and then onto the conveyor and unloading for delivery. Finally, there is a central system that monitors all of these robots' tasks and health. For such a setup, there are multiple local networks that would connect to a common network (which is where the central system sits).

There is a mechanism defined in ROS that can help us...