Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Hands-On ROS for Robotics Programming
Hands-On ROS for Robotics Programming

Hands-On ROS for Robotics Programming: Program highly autonomous and AI-capable mobile robots powered by ROS

Arrow left icon
Profile Icon Bernardo Ronquillo Japón
Arrow right icon
$24.99 $35.99
Full star icon Full star icon Full star icon Full star icon Empty star icon 4 (2 Ratings)
eBook Feb 2020 432 pages 1st Edition
eBook
$24.99 $35.99
Paperback
$48.99
Subscription
Free Trial
Renews at $19.99p/m
Arrow left icon
Profile Icon Bernardo Ronquillo Japón
Arrow right icon
$24.99 $35.99
Full star icon Full star icon Full star icon Full star icon Empty star icon 4 (2 Ratings)
eBook Feb 2020 432 pages 1st Edition
eBook
$24.99 $35.99
Paperback
$48.99
Subscription
Free Trial
Renews at $19.99p/m
eBook
$24.99 $35.99
Paperback
$48.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
Table of content icon View table of contents Preview book icon Preview Book

Hands-On ROS for Robotics Programming

Assembling the Robot

This chapter will provide you with a variety of practical assembly guidelines about the mobile robot that the content of this book is based on. With a very practical approach in mind, we'll deep dive into the characteristics of GoPiGo3 and what makes it an ideal platform to learn robotics.

First, we will focus on the hardware and talk about the components that every robot is composed of including the mechanical parts and embedded system, sensor, and motors.

After completing the GoPiGo3 assembly section, you will be acquiring manual skills so that you can start manipulating typical components in robotics. You will also be driven to adopt a systematic approach of applying partial verification tests while assembling your robot, also known as unit tests.

After introducing the GoPiGo3 robot in the first section of this chapter, we will explain these concepts...

Understanding the GoPiGo3 robot

GoPiGo3 is a Raspberry Pi-based robot car manufactured by Dexter Industries. It is intended to be used as an educational kit for learning about both robotics and programming, two complementary perspectives that clearly show the transversal knowledge you should acquire to become a robotics engineer. We'll explain what this means by letting Nicole Parrot, Director of Engineering at Modular Robotics, explain it in her own words:

"The GoPiGo originated from a Kickstarter campaign in early 2014 when the Raspberry Pi was still somewhat new. The first users were hobbyists, but soon teachers and coding club volunteers were sharing their GoPiGo with their students. This lead to various changes being made to the board to make a classroom-ready robot. It's robust, it has a full list of features, and it's still based on the Raspberry Pi...

Getting familiar with the embedded hardware

Do you remember which hardware is for what? The GoPiGo3 board is for interfacing with sensors and actuators, while Raspberry Pi is used for computing tasks. We will cover these topics in detail here.

The GoPiGo3 board

This customized board (https://www.dexterindustries.com/GoPiGo/learning/hardware-port-description/) provides the general features that are expected from a controller:

  • Real-time communication with sensors and actuators.
  • Interface input/output (I/O) through a serial peripheral interface (SPI) that feeds the data from the sensors to the Raspberry Pi and may also receive commands for the actuators (also from the Raspberry Pi, after running the logic in its CPU for every...

Deep diving into the electromechanics

As explained in GoPiGo's official documentation (https://www.dexterindustries.com/GoPiGo/learning/technical-specifications-for-the-gopigo-raspberry-pi-robotics-kit/), the specifications of the GoPiGo3 robot are as follows:

  • Operating voltage: 7V-12V
  • External interfaces:
    • I2C ports: Two Grove ports connected to the Raspberry Pi I2C bus through a level-conversion chip
    • Serial ports: One Grove port connected to the serial pins on the Raspberry Pi through a level-conversion chip
    • Analog digital ports: Two Grove ports connected to the GoPiGo3 microcontroller
  • Encoders: Two magnetic encoders with six pulse counts per rotation (with 120:1 gear reduction for a total of 720 pulses per wheel rotation)
  • Wheels diameter: 66.5 mm
  • Distance between wheels: 117 mm
  • More: Design information is available at the official GitHub repository (https://github.com...

Putting it all together

Now that you are familiar with the hardware, it is time to put everything together, connect it, and run a quick test to check that GoPiGo3 works properly. The assembly process is very well documented in a step-by-step guide in the official documentation, along with plenty of figures and photos; you can find this documentation at https://www.dexterindustries.com/GoPiGo/get-started-with-the-gopigo3-raspberry-pi-robot/1-assemble-gopigo3/.

Alternatively, you can use the Workbench training environment at https://edu.workbencheducation.com/ and register a personal account for free to go through the same assembly process while registering your progress. If you do, then follow the two assembly stages that are covered in the official documentation from the manufacturer:

Quick hardware test

To perform a quick test and focus on the hardware at hand, we will use DexterOS, the Raspbian-based distro created by Dexter Industries to allow the user to get started quickly. Details of the operating system are provided at https://www.dexterindustries.com/dexteros/. Instead of having to deal with a full Linux desktop, Dexter Industries has simplified the interface by providing a simple web environment.

You can access it by connecting to the Wi-Fi access point called GoPiGo (a password won't be needed). This way, you will be connected directly to the robot with your laptop. Before installing it, let's review the resources we have available.

Resources

There are at least three sites/repositories...

Summary

In this chapter, we familiarized ourselves with the GoPiGo3 hardware by learning about the physical principles of the sensors and the motor the kit has. We checked that they worked properly by running some quick tests so that we can start programming tasks.

In the next chapter, we will learn how to program GoPiGo3 with Python while we execute some unit tests for each of its main components: the servomotors, distance sensor, line follower, IMU, and the Pi Camera.

Questions

  1. Is it mandatory for a robot to have a computer such as Raspberry Pi?

A) Yes, because the computer powers the controller board.
B) No, because the computer is only needed for visualizing the software code on a screen. It may work alone with the controller if a program has been flashed to it.
C) Not really; you could write a small program that controls the robot and flash it to the chip of the controller. Every time you power the robot, it will execute the program in an endless loop.

  1. What kind of radiation is emitted by the distance sensor of GoPiGo3?

A) Laser
B) Infrared
C) Ultrasound

  1. Why can't you see the light being emitted by the line-follower sensor?

A) Because the sensor has to be previously activated with a software command
B) It does not emit light but a magnetic field
C) It does not emit anything in the visible range of light

  1. What is the purpose of the...

Further reading

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • 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

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.

Who is this book 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.

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

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Feb 26, 2020
Length: 432 pages
Edition : 1st
Language : English
ISBN-13 : 9781838552886
Category :
Concepts :
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning

Product Details

Publication date : Feb 26, 2020
Length: 432 pages
Edition : 1st
Language : English
ISBN-13 : 9781838552886
Category :
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 158.97
ROS Robotics Projects,
$48.99
Hands-On ROS for Robotics Programming
$48.99
Mastering ROS for Robotics Programming, Third edition
$60.99
Total $ 158.97 Stars icon

Table of Contents

18 Chapters
Section 1: Physical Robot Assembly and Testing Chevron down icon Chevron up icon
Assembling the Robot Chevron down icon Chevron up icon
Unit Testing of GoPiGo3 Chevron down icon Chevron up icon
Getting Started with ROS Chevron down icon Chevron up icon
Section 2: Robot Simulation with Gazebo Chevron down icon Chevron up icon
Creating the Virtual Two-Wheeled ROS Robot Chevron down icon Chevron up icon
Simulating Robot Behavior with Gazebo Chevron down icon Chevron up icon
Section 3: Autonomous Navigation Using SLAM Chevron down icon Chevron up icon
Programming in ROS - Commands and Tools Chevron down icon Chevron up icon
Robot Control and Simulation Chevron down icon Chevron up icon
Virtual SLAM and Navigation Using Gazebo Chevron down icon Chevron up icon
SLAM for Robot Navigation Chevron down icon Chevron up icon
Section 4: Adaptive Robot Behavior Using Machine Learning Chevron down icon Chevron up icon
Applying Machine Learning in Robotics Chevron down icon Chevron up icon
Machine Learning with OpenAI Gym Chevron down icon Chevron up icon
Achieve a Goal through Reinforcement Learning Chevron down icon Chevron up icon
Assessment Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
(2 Ratings)
5 star 50%
4 star 0%
3 star 50%
2 star 0%
1 star 0%
Rohith Apr 20, 2020
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book along with the development kit it uses is a very powerful tool to learn ROS. Although ROS is very vast in itself, this book covers most of the basics, commands, tools like simulators and visualizers and has added links to dive deeper. As far as robotics programming is concerned, it starts from learning about sensors, communications, and then gradually proceeds to use the ROS navigation stack, SLAM and reinforcement learning to give the robot an intelligent behavior. Briefly touches on machine learning and computer vision as well. Would recommend for anyone who wants to learn ROS with an actual hardware setup
Amazon Verified review Amazon
B Nov 15, 2021
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
It's unfortunate that a book written last year is already out of date. It's a major rev down on Ubuntu, which I could live with, but it uses ROS instead of ROS2. ROS2 is the future and was out at the time of publication, and should have had all the necessary packages. The choice to go with ROS definitely limits the lifespan of the text. I was hoping the GitHub might have code for both, but no such luck.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.