ROS Robotics Projects
Build and control robots powered by the Robot Operating System, machine learning, and virtual reality, 2nd Edition
Ramkumar Gandhinathan, Lentin Joseph
- 456 pagine
- English
- ePUB (disponibile sull'app)
- Disponibile su iOS e Android
ROS Robotics Projects
Build and control robots powered by the Robot Operating System, machine learning, and virtual reality, 2nd Edition
Ramkumar Gandhinathan, Lentin Joseph
Informazioni sul 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.
Domande frequenti
Informazioni
ROS on Embedded Platforms and Their Control
- 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
- 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)
Understanding embedded boards
- 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.
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. |
Important concepts
- 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....