Hands-On ROS for Robotics Programming
Program highly autonomous and AI-capable mobile robots powered by ROS
Bernardo Ronquillo Japón
- 432 páginas
- English
- ePUB (apto para móviles)
- Disponible en iOS y Android
Hands-On ROS for Robotics Programming
Program highly autonomous and AI-capable mobile robots powered by ROS
Bernardo Ronquillo Japón
Información del libro
Take your ROS skills to the next level by implementing complex robot structures in a ROS simulation
Key Features
- Learn fundamental ROS concepts and apply them to solve navigation tasks
- Work with single board computers to program smart behavior in mobile robots
- Understand how specific characteristics of the physical environment influence your robot's performance
Book Description
Connecting a physical robot to a robot simulation using the Robot Operating System (ROS) infrastructure is one of the most common challenges faced by ROS engineers. With this book, you'll learn how to simulate a robot in a virtual environment and achieve desired behavior in equivalent real-world scenarios.
This book starts with an introduction to GoPiGo3 and the sensors and actuators with which it is equipped. You'll then work with GoPiGo3's digital twin by creating a 3D model from scratch and running a simulation in ROS using Gazebo. Next, the book will show you how to use GoPiGo3 to build and run an autonomous mobile robot that is aware of its surroundings. Finally, you'll find out how a robot can learn tasks that have not been programmed in the code but are acquired by observing its environment. You'll even cover topics such as deep learning and reinforcement learning.
By the end of this robot programming book, you'll be well-versed with the basics of building specific-purpose applications in robotics and developing highly intelligent autonomous robots from scratch.
What you will learn
- Get to grips with developing environment-aware robots
- Gain insights into how your robots will react in physical environments
- Break down a desired behavior into a chain of robot actions
- Relate data from sensors with context to produce adaptive responses
- Apply reinforcement learning to allow your robot to learn by trial and error
- Implement deep learning to enable your robot to recognize its surroundings
Who this book is for
If you are an engineer looking to build AI-powered robots using the ROS framework, this book is for you. Robotics enthusiasts and hobbyists who want to develop their own ROS robotics projects will also find this book useful. Knowledge of Python and/or C++ programming and familiarity with single board computers such as Raspberry Pi is necessary to get the most out of this book.
Preguntas frecuentes
Información
Section 1: Physical Robot Assembly and Testing
- Chapter 1, Assembling the Robot
- Chapter 2, Unit Testing of GoPiGo3
- Chapter 3, Getting Started with ROS
Assembling the Robot
- Understanding the GoPiGo3 robot
- Getting familiar with the embedded hardware – GoPiGo3 board and Raspberry Pi
- Deep diving into the electromechanics – motors, sensors, and 2D camera
- Putting it all together
- Hardware testing using Bloxter (visual programming) under DexterOS
Understanding the GoPiGo3 robot
A Raspberry Pi-based robot offers quite a few advantages in the classroom. It can be programmed in an array of languages, it can be independent of the school Wi-Fi while not requiring Bluetooth, and it can perform advanced applications right on the board, such as computer vision and data collection. The GoPiGo with DexterOS comes with scientific libraries all preinstalled. The GoPiGo with Raspbian for Robots allows the user to install whatever libraries and tools are required for the project at hand. It comes with two Python libraries: easygopigo3.py and gopigo3.py. Both of these offer high-level control of the robot and low-level control, depending on the user's technical skills.
The GoPiGo has become the premier go-to robot for universities, researchers, and engineers seeking a simple, well-documented robot for the Raspberry Pi."
The robotics perspective
- Motors, which allow the robot to move from one point to another. In GoPiGo3, we have DC motors with built-in encoders that provide a precise motion. This is one of the main upgrades from GoPiGo2, where the encoders were external to the motors and not very accurate.
- Sensors, which acquire information from the environment, such as the distance to near objects, luminosity, acceleration, and so on.
- The controller—that is, the GoPiGo3 red board—handles the physical interface with sensors and actuators. This is the real-time component that allows GoPiGo3 to interact with the physical world.
- A single-board computer (SBC) Raspberry Pi 3B+, which provides processing capacity. As such, it works under an operating system, typically a Linux-based distribution, providing wide flexibility from a software point of view.