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

Dinesh Tavasalkar

Share book
  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

Dinesh Tavasalkar

Book details
Book preview
Table of contents
Citations

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

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
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.
Do you support text-to-speech?
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.
Is Hands-On Robotics Programming with C++ an online PDF/ePUB?
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 & Home Automation. We have over one million books available in our catalogue for you to explore.

Information

Year
2019
ISBN
9781789131079
Edition
1

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