Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Hands-On Robotics Programming with C++

You're reading from   Hands-On Robotics Programming with C++ Leverage Raspberry Pi 3 and C++ libraries to build intelligent robotics applications

Arrow left icon
Product type Paperback
Published in Mar 2019
Publisher Packt
ISBN-13 9781789139006
Length 312 pages
Edition 1st Edition
Languages
Concepts
Arrow right icon
Authors (2):
Arrow left icon
Lentin Joseph Lentin Joseph
Author Profile Icon Lentin Joseph
Lentin Joseph
Dinesh Tavasalkar Dinesh Tavasalkar
Author Profile Icon Dinesh Tavasalkar
Dinesh Tavasalkar
Arrow right icon
View More author details
Toc

Table of Contents (16) Chapters Close

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

What this book covers

Chapter 1, Introduction to the Raspberry Pi, covers different modes of Raspberry Pi and GPIO pin configuration. Then, we will set up Raspberry Pi B+ and Raspberry Pi Zero and install the Raspbian OS on it. We will also learn how to connect a Raspberry Pi to a laptop wirelessly via a Wi-Fi network.

Chapter 2, Implementing Blink with wiringPi, covers the installation of the wiringPi library. In this chapter, we will understand the wiringPi pin connections for the Raspberry Pi. Then, we will write two C++ programs and will upload them onto our Raspberry Pi.

Chapter 3, Programming the Robot, covers the criteria for selecting a robot chassis. After that, we will construct our car, connect the motor driver to the Raspberry Pi, and understand the workings of an H-bridge circuit. Finally, we will write programs to move the robot forward, backward, left, and right.

Chapter 4, Building an Obstacle-Avoiding Robot, looks at how an ultrasonic sensor works, and we will write a program to measure distance values. Next, we will program the 16 x 2 LCD to read the ultrasonic distance value. We will also look at the I2C LCD, which takes the 16 LCD pin as an input and provides four pins as an output, thus simplifying the wiring connections. Finally, we will fit the ultrasonic sensor on our robot to create our obstacle-avoiding robot. This robot will move freely when there are no obstacles near it, and if it approaches an obstacle, it will avoid it by taking a turn.

Chapter 5, Controlling a Robot Using a Laptop, looks at two different techniques for controlling the robot using a laptop. In the first technique, we will use the ncurses library to take input from the keyboard to move the robot accordingly. In the second technique, we will use the QT Creator IDE to create GUI buttons, and then use these buttons to move the robot in different directions.

Chapter 6, Accessing Rpi Cam with OpenCV, focuses on the installation of OpenCV on the Raspberry Pi. You will also be introduced to the Raspberry Pi camera module and, after setting up the Pi camera, you will take pictures and record a short video clip using the Pi camera.

Chapter 7, Building an Object-Following Robot with OpenCV, covers some of the important functions inside OpenCV libraries. After that, we will put these functions to the test and attempt to recognize an object from an image. Then, we will learn how to read a video feed from the Pi camera, how to threshold a colored ball, and how to place a red dot on top of it. Finally, we will use the Pi camera and the ultrasonic sensor to detect the ball and follow it.

Chapter 8, Face Detection and Tracking Using Haar Classifier, uses the Haar face classifier to detect a face from a video feed and draw a rectangle around it. Next, we will detect eyes and a smile on the given face and create a circle surrounding the eyes and mouth. After using this knowledge of face and eye detection, we will first turn the LED on/off when the eyes and smile are detected. Next, by creating a white dot in the center of the face, we will make the robot follow the face.

Chapter 9, Building a Voice-Controlled Robot, starts with creating our first Android application, called Talking Pi, in which text written inside the textbox will be displayed in a label and also read out by the smartphone. We will then develop a voice-controlled Android app for the bot, which will recognize our voice and send text to the RPi via Bluetooth. After this, using the terminal window, we will pair the Android smartphone's Bluetooth with the RPi's Bluetooth. Finally, we will look at socket programming and write the VoiceBot program to establish a connection with the Android smartphone's Bluetooth in order to control the robot.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime