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

  1. 456 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

ROS Robotics Projects

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

About this book

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.

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access ROS Robotics Projects by Ramkumar Gandhinathan, Lentin Joseph in PDF and/or ePUB format, as well as other popular books in Informatique & Matériel. We have over one million books available in our catalogue for you to explore.

Information

Year
2019
eBook ISBN
9781838645199
Edition
2
Subtopic
Matériel

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....

Table of contents

  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