ROS Robotics Projects
eBook - ePub

ROS Robotics Projects

Build and control robots powered by the Robot Operating System, machine learning, and virtual reality, 2nd Edition

Ramkumar Gandhinathan, Lentin Joseph

  1. 456 páginas
  2. English
  3. ePUB (apto para móviles)
  4. Disponible en iOS y Android
eBook - ePub

ROS Robotics Projects

Build and control robots powered by the Robot Operating System, machine learning, and virtual reality, 2nd Edition

Ramkumar Gandhinathan, Lentin Joseph

Detalles del libro
Vista previa del libro

Información del libro

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.

Preguntas frecuentes

¿Cómo cancelo mi suscripción?
Simplemente, dirígete a la sección ajustes de la cuenta y haz clic en «Cancelar suscripción». Así de sencillo. Después de cancelar tu suscripción, esta permanecerá activa el tiempo restante que hayas pagado. Obtén más información aquí.
¿Cómo descargo los libros?
Por el momento, todos nuestros libros ePub adaptables a dispositivos móviles se pueden descargar a través de la aplicación. La mayor parte de nuestros PDF también se puede descargar y ya estamos trabajando para que el resto también sea descargable. Obtén más información aquí.
¿En qué se diferencian los planes de precios?
Ambos planes te permiten acceder por completo a la biblioteca y a todas las funciones de Perlego. Las únicas diferencias son el precio y el período de suscripción: con el plan anual ahorrarás en torno a un 30 % en comparación con 12 meses de un plan mensual.
¿Qué es Perlego?
Somos un servicio de suscripción de libros de texto en línea que te permite acceder a toda una biblioteca en línea por menos de lo que cuesta un libro al mes. Con más de un millón de libros sobre más de 1000 categorías, ¡tenemos todo lo que necesitas! Obtén más información aquí.
¿Perlego ofrece la función de texto a voz?
Busca el símbolo de lectura en voz alta en tu próximo libro para ver si puedes escucharlo. La herramienta de lectura en voz alta lee el texto en voz alta por ti, resaltando el texto a medida que se lee. Puedes pausarla, acelerarla y ralentizarla. Obtén más información aquí.
¿Es ROS Robotics Projects un PDF/ePUB en línea?
Sí, puedes acceder a ROS Robotics Projects de Ramkumar Gandhinathan, Lentin Joseph en formato PDF o ePUB, así como a otros libros populares de Informatique y Domotique résidentielle. Tenemos más de un millón de libros disponibles en nuestro catálogo para que explores.



ROS on Embedded Platforms and Their Control

We now know how to build our own robots in simulation and how to control them using the ROS framework. You have also learned how to handle complex robot tasks and how to communicate between multiple robots. All of these concepts were tested out virtually and you should be comfortable with them. If you're wondering how to get them working with real robots or to build your own robots and control them via the ROS framework, this chapter will help you achieve that.
Anyone interested in robotics would definitely be familiar with names such as Arduino and Raspberry Pi. Such boards can be used to control the robot actuators individually or in a control loop by reading the sensors connected to them. But what exactly are those boards? How are they used? How different are they from each other and why does it matter to choose such specific boards? The answers to these questions are quite rational and you should be able to answer them by the end of this chapter.
In this chapter, we shall see how such embedded control boards and computes can be used in ROS. You will begin by understanding how different microcontrollers and processors work, followed by an introduction to a series of such boards that are commonly used by the Robotics community with practical examples. Later, you will learn how to set up ROS on such boards and use them along with your custom projects.
The following topics will be covered in this chapter:
  • Understanding embedded boards
  • Introduction to microcontroller boards
  • Introduction to the Single Board Computer (SBC)
  • Debian versus Ubuntu
  • Setting up ROS on SBC
  • Controlling GPIOs from ROS
  • Benchmarking of SBC
  • Getting started with Alexa and connecting with ROS

Technical requirements

Let's look into the technical requirements for this chapter:
  • ROS Melodic Morenia on Ubuntu 18.04 (Bionic)
  • Timelines and test platform:
    • Estimated learning time: On average, 150 minutes
    • Project build time (inclusive of compile and run time): On average, 90-120 minutes (depending on setting up the hardware boards with the indicated requirements)
    • Project test platform: HP Pavilion laptop (Intel® Core™ i7-4510U CPU @ 2.00 GHz × 4 with 8 GB Memory and 64-bit OS, GNOME-3.28.2)
The code for this chapter is available at
Let's begin this chapter by understanding the different types of embedded boards.

Understanding embedded boards

In an application, if the software is embedded into hardware of a specific design, the application is called an embedded systems application. Embedded systems are found in most of our daily routine gadgets and electronics such as mobile phones, kitchen appliances, and consumer electronics. They are usually designed for specific purposes. One such application where embedded systems are quite famous is robotics.
The hardware boards that carry the software (say, firmware) and that are intended for such specific purposes are what we call embedded boards. They come in two flavors:
  • Microcontroller-based: In microcontroller-based boards, the hardware constitutes a CPU, memory units, peripheral device connectivity through IOs, and communication interface, all in a single chip.
  • Microprocessor-based: In microprocessor-based boards, the hardware majorly constitutes the CPU. The other components such as communication interface, peripheral device connectivity, and timers are all available but as separate modules.
There is another category that resembles a combination of these two and is called System on Chip (SoC). They are quite compact in size and usually target products that are small in size. Modern microprocessor boards, also called SBCs, consist of an SoC embedded on them, along with other components. A simple comparison of the these can be seen in the following table:
Microcontroller (MCU) Microprocessor(MPU) SoC
OS No Yes It may be MCU- or MPU-based. If MPU, then the OS would be compact and light.
Data/computing width 4, 8, 16, 32-bit 16, 32, 64-bit 16, 32, 64-bit.
Clock speed ≤ MHz GHz MHz - GHz.
Memory (RAM) Often in KB, rarely in MB 512 MB - several GB MB - GB.
Cost Low High High.
Example Atmel 8051 microcontrollers, PIC, ATMEGA series microcontrollers x86, Raspberry Pi, BeagleBone black Cypress PSoc, Qualcomm Snapdragon.
Comparison of embedded boards
Now, let's look at the basic concepts we need to know about for embedded boards.

Important concepts

A general embedded system may constitute a lot of components in its architecture. Since our scope is robotics, let's try to understand embedded systems with respect to robotics:
A simple embedded system representation
As you can see from the preceding diagram, the major components are as follows:
  • Input peripherals: These could be sensors such as lidars, cameras, ultrasound, or infrared sensors that provide information about the environment. User interaction through a UI, joystick, or keypad could also be a part of input peripherals.
  • Output peripherals: These could be actuator controls such as rotating wheels or a link's motion through mechanisms or LCD screens or displays.
  • CPU: This is necessary for computing models or running algorithms, and memory is needed to save this information either temporarily or permanently for operation.
  • Other peripherals: These could be communication interfaces, such as SPI, I2C, or RS-485, which take place either between individual components of the system or with other such systems in the network; or USB and network interfaces such as Ethernet or Wi-Fi....


  1. Title Page
  2. Copyright and Credits
  3. Dedication
  4. About Packt
  5. Contributors
  6. Preface
  7. Getting Started with ROS
  8. Introduction to ROS-2 and Its Capabilities
  9. Building an Industrial Mobile Manipulator
  10. Handling Complex Robot Tasks Using State Machines
  11. Building an Industrial Application
  12. Multi-Robot Collaboration
  13. ROS on Embedded Platforms and Their Control
  14. Reinforcement Learning and Robotics
  15. Deep Learning Using ROS and TensorFlow
  16. Creating a Self-Driving Car Using ROS
  17. Teleoperating Robots Using a VR Headset and Leap Motion
  18. Face Detection and Tracking Using ROS, OpenCV, and Dynamixel Servos
  19. Other Books You May Enjoy