Hands-On Robotics Programming with C++
eBook - ePub

Hands-On Robotics Programming with C++

Leverage Raspberry Pi 3 and C++ libraries to build intelligent robotics applications

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

Hands-On Robotics Programming with C++

Leverage Raspberry Pi 3 and C++ libraries to build intelligent robotics applications

About this book

Enhance your programming skills to build exciting robotic projects

Key Features

  • Build an intelligent robot that can detect and avoid obstacles and respond to voice commands
  • Detect and track objects and faces using OpenCV
  • Control your robot with a GUI button designed using Qt5

Book Description

C++ is one of the most popular legacy programming languages for robotics, and a combination of C++ and robotics hardware is used in many leading industries. This book will bridge the gap between Raspberry Pi and C/C++ programming and enable you to develop applications for Raspberry Pi. To follow along with the projects covered in the book, you can implement C programs in Raspberry Pi with the wiringPi library.

With this book, you'll develop a fully functional car robot and write programs to move it in different directions. You'll then create an obstacle - avoiding robot using an ultrasonic sensor. Furthermore, you'll find out how to control the robot wirelessly using your PC/Mac. This book will also help you work with object detection and tracking using OpenCV, and guide you through exploring face detection techniques. Finally, you will create an Android app and control the robot wirelessly with an Android smartphone.

By the end of this book, you will have gained experience in developing a robot using Raspberry Pi and C/C++ programming.

What you will learn

  • Install software in Raspberry Pi compatible with C++ programming
  • Program the Raspberry Pi in C++ to run a motor
  • Control RPi-powered robot wirelessly with your laptop or PC
  • Program an RPi camera using OpenCV Control a Raspberry Pi robot with voice commands
  • Implement face and object detection with Raspberry Pi

Who this book is for

This book is for developers, programmers, and robotics enthusiasts interested in leveraging C++ to build exciting robotics applications. Prior knowledge of C++ is necessary to understand the projects covered in this book.

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 Hands-On Robotics Programming with C++ by Dinesh Tavasalkar in PDF and/or ePUB format, as well as other popular books in Computer Science & Hardware. We have over one million books available in our catalogue for you to explore.

Information

Year
2019
Print ISBN
9781789139006
eBook ISBN
9781789131079

Section 1: Getting Started with wiringPi on a Raspberry Pi

In this section, you will first be introduced to the basics of Raspberry Pi and learn how to install the Raspbian OS on your Raspberry Pi. Next, you will work with the wiringPi library and execute your first C program on Raspberry Pi.
The following chapters are included in this section:
  • Chapter 1, Introduction to the Raspberry Pi
  • Chapter 2, Implementing Blink with wiringPi

Introduction to the Raspberry Pi

Initially developed with the idea of teaching and promoting basic computer programming in schools across the UK, the Raspberry Pi (RPi) became an instant hit. At a price of just $25 when it was initially released, it became so popular that it was, and still is, used by developers, hobbyists, and engineers all over the world.
In this chapter, you will explore the basic idea of a Raspberry Pi. You will then learn to install an operating system on the device. Finally, you will configure Wi-Fi on your Raspberry Pi and learn to connect it to a laptop over Wi-Fi and set up a remote desktop.
You will achieve each of these objectives through the following topics:
  • Understanding the Raspberry Pi
  • Installing Raspbian OS on a Raspberry Pi 3B+
  • Connecting a Raspberry Pi 3B+ to a laptop via Wi-Fi
  • Installing Raspbian OS on a Raspberry Pi Zero W
  • Connecting a Raspberry Pi Zero W to a laptop via Wi-Fi

Technical requirements

For this chapter, the following software and hardware will be required.

Software required

Please download the following software if you want to follow along with the instructions in this chapter:
  • Raspbian Stretch: Raspbian Stretch is the operating system (OS) that we will write to a microSD card. Stretch is the OS that will run our Raspberry Pi. It can be downloaded from https://www.raspberrypi.org/downloads/raspbian/ This OS is developed specifically for the Raspberry Pi.
  • Balena Etcher: This software will format the microSD card and write the Raspbian Stretch image to the microSD card. It can be downloaded from https://www.balena.io/etcher/.
  • PuTTY: We will use PuTTY to connect our Raspberry Pi to a Wi-Fi network and find the IP address that the Wi-Fi network assigns to it. It can be downloaded from https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html.
  • VNC Viewer: With VNC Viewer, we will be able to view the Raspberry Pi display on our laptop. It can be downloaded from https://www.realvnc.com/en/connect/download/viewer/.
  • Bonjour: This is generally used to connect printers to computers over Wi-Fi. It can be downloaded from https://support.apple.com/kb/DL999?viewlocale=en_MY&locale=en_MY.
  • Notepad++: We will need Notepad++ to edit the code in the Raspbian Stretch image. It can be downloaded from https://notepad-plus-plus.org/download/v7.5.9.html.
  • Brackets: Brackets allows those using macOS to edit the code in the Rapbian Stretch image. To download Brackets, go to http://www.brackets.io/.
The installation of all of this software is pretty straightforward. Keep the default settings checked, click on the Next button a few times, and then hit the Finish button once the installation is complete.

Hardware requirements

We need the following hardware to follow along with the instructions in this chapter.

For Raspberry Pi 3B+ and Raspberry Pi Zero W

If you use the Raspberry Pi 3B+ or the Raspberry Pi Zero W, you will need the following hardware:
  • Keyboard
  • Mouse
  • SD card—this should have a minimum of 8 GB of storage, but 32 GB is recommended
  • MicroSD card reader
  • Display unit—a computer monitor or TV that contains an HDMI port
  • HDMI cable
  • 5V mobile charger or power bank. This will power the Raspberry Pi

Additional hardware for Raspberry Pi 3B+

The Raspberry Pi 3B+ needs the following additional hardware:
  • An Ethernet cable

Additional hardware requirements for Raspberry Pi Zero W

Since the Raspberry Pi Zero has a micro USB port and a Micro HDMI port, it needs the following additional hardware:
  • A USB hub
  • A micro USB B-to-USB connector (also known as an OTG connector)
  • An HDMI-to-mini HDMI connector

Understanding the Raspberry Pi

Raspberry Pi is a credit card sized, Linux-based minicomputer invented by the Raspberry Pi Foundation in 2012. The first Raspberry Pi model was called the Raspberry Pi 1B, which was t...

Table of contents

  1. Title Page
  2. Copyright and Credits
  3. Dedication
  4. About Packt
  5. Contributors
  6. Preface
  7. Section 1: Getting Started with wiringPi on a Raspberry Pi
  8. Introduction to the Raspberry Pi
  9. Implementing Blink with wiringPi
  10. Section 2: Raspberry Pi Robotics
  11. Programming the Robot
  12. Building an Obstacle-Avoiding Robot
  13. Controlling a Robot Using a Laptop
  14. Section 3: Face and Object Recognition Robot
  15. Accessing the RPi Camera with OpenCV
  16. Building an Object-Following Robot with OpenCV
  17. Face Detection and Tracking Using the Haar Classifier
  18. Section 4: Smartphone-Controlled Robot
  19. Building a Voice-Controlled Robot
  20. Assessments
  21. Other Books You May Enjoy