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

Buch teilen
  1. 456 Seiten
  2. English
  3. ePUB (handyfreundlich)
  4. Über iOS und Android verfügbar
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

Angaben zum Buch
Buchvorschau
Inhaltsverzeichnis
Quellenangaben

Über dieses Buch

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.

Häufig gestellte Fragen

Wie kann ich mein Abo kündigen?
Gehe einfach zum Kontobereich in den Einstellungen und klicke auf „Abo kündigen“ – ganz einfach. Nachdem du gekündigt hast, bleibt deine Mitgliedschaft für den verbleibenden Abozeitraum, den du bereits bezahlt hast, aktiv. Mehr Informationen hier.
(Wie) Kann ich Bücher herunterladen?
Derzeit stehen all unsere auf Mobilgeräte reagierenden ePub-Bücher zum Download über die App zur Verfügung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die übrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Welcher Unterschied besteht bei den Preisen zwischen den Aboplänen?
Mit beiden Aboplänen erhältst du vollen Zugang zur Bibliothek und allen Funktionen von Perlego. Die einzigen Unterschiede bestehen im Preis und dem Abozeitraum: Mit dem Jahresabo sparst du auf 12 Monate gerechnet im Vergleich zum Monatsabo rund 30 %.
Was ist Perlego?
Wir sind ein Online-Abodienst für Lehrbücher, bei dem du für weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhältst. Mit über 1 Million Büchern zu über 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Unterstützt Perlego Text-zu-Sprache?
Achte auf das Symbol zum Vorlesen in deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ist ROS Robotics Projects als Online-PDF/ePub verfügbar?
Ja, du hast Zugang zu ROS Robotics Projects von Ramkumar Gandhinathan, Lentin Joseph im PDF- und/oder ePub-Format sowie zu anderen beliebten Büchern aus Computer Science & Home Automation. Aus unserem Katalog stehen dir über 1 Million Bücher zur Verfügung.

Information

Jahr
2019
ISBN
9781838645199

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 https://github.com/PacktPublishing/ROS-Robotics-Projects-SecondEdition/tree/master/chapter_7_ws.
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.
Memory (ROM) KB to MB (FLASH, EEPROM) MB to TB (FLASH, SSD, HDD) MB to TB (FLASH, SSD, HDD).
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....

Inhaltsverzeichnis