Book Image

Learn Robotics Programming - Second Edition

By : Danny Staple
Book Image

Learn Robotics Programming - Second Edition

By: Danny Staple

Overview of this book

We live in an age where the most complex or repetitive tasks are automated. Smart robots have the potential to revolutionize how we perform all kinds of tasks with high accuracy and efficiency. With this second edition of Learn Robotics Programming, you'll see how a combination of the Raspberry Pi and Python can be a great starting point for robot programming. The book starts by introducing you to the basic structure of a robot and shows you how to design, build, and program it. As you make your way through the book, you'll add different outputs and sensors, learn robot building skills, and write code to add autonomous behavior using sensors and a camera. You'll also be able to upgrade your robot with Wi-Fi connectivity to control it using a smartphone. Finally, you'll understand how you can apply the skills that you've learned to visualize, lay out, build, and code your future robot building projects. By the end of this book, you'll have built an interesting robot that can perform basic artificial intelligence operations and be well versed in programming robots and creating complex robotics projects using what you've learned.
Table of Contents (25 chapters)
1
Section 1: The Basics – Preparing for Robotics
7
Section 2: Building an Autonomous Robot – Connecting Sensors and Motors to a Raspberry Pi
15
Section 3: Hearing and Seeing – Giving a Robot Intelligent Sensors
21
Section 4: Taking Robotics Further

What this book covers

Chapter 1, Introduction to Robotics, introduces what robots are, and finds examples in the home and industry, along with the kinds of robots beginners build.

Chapter 2, Exploring Robot Building Blocks – Code and Electronics, looks at the components of a robot. We will start making choices about the robot's parts and see block diagrams for both systems and code.

Chapter 3, Exploring the Raspberry Pi, introduces the Raspberry Pi and its connections and the Raspbian Linux operating system we'll use on it, and also covers the preparation of an SD card for use in a robot.

Chapter 4, Preparing a Headless Raspberry Pi for a Robot, shows you how to set up an untethered Raspberry Pi and communicate with it wirelessly.

Chapter 5, Backing Up the Code with Git and SD Card Copies, shows how code can be lost or broken, then ways to protect your work and keep a history of it.

Chapter 6, Building Robot Basics – Wheels, Power, and Wiring, introduces the trade-offs for buying and test fitting a robot base, then assembling it.

Chapter 7, Drive and Turn – Moving Motors with Python, shows you how to write code to move a robot, laying down the foundations for the code in subsequent chapters.

Chapter 8, Programming Distance Sensors with Python, adds sensors and code to make a robot that autonomously avoids walls and obstacles.

Chapter 9, Programming RGB Strips in Python, adds multicolored lights to your robot. Explore this additional output to use for debugging or fun on the robot.

Chapter 10, Using Python to Control Servo Motors, shows how to use these motors to position a sensor head, and where they could be used in arms or legs on other robots.

Chapter 11, Programming Encoders with Python, demonstrates how odometry/tacho wheels can be read in your code, letting your robot drive in a straight line, make an accurate turn, or record how far it's driven. This chapter also introduces the PID controller.

Chapter 12, IMU Programming with Python, introduces the Inertial Measurement Unit (IMU), a set of sensors to measure temperature, acceleration, turning speeds, and magnetic fields. This chapter also gives you an introduction to soldering and VPython.

Chapter 13, Robot Vision – Using a Pi Camera and OpenCV, shows how to get data from a camera and use computer vision to make movements based on what the robot sees. This chapter also streams processed video to a browser.

Chapter 14, Line-Following with a Camera in Python, demonstrates how to make line-following behavior with the Raspberry Pi camera.

Chapter 15, Voice Communication with a Robot Using Mycroft, builds a voice control agent to link with your robot, letting you talk to control it and receive voice feedback.

Chapter 16, Diving Deeper with the IMU, takes the sensors we learned about in Chapter 12, IMU Programming with Python, and combines them to provide data about the orientation of the robot, building behavior that responds to the compass direction.

Chapter 17, Controlling the Robot with a Phone and Python, builds a menu system and a gaming-style control pad for your robot from your smartphone, letting you drive while seeing what the robot sees.

Chapter 18, Taking Your Robot Programming Skills Further, looks at the wider world of robotics, what communities there are, how to get in touch with other robot builders and makers, potential development areas, and where to compete with a robot.

Chapter 19, Planning Your Next Robot Project – Putting It All Together, is the final chapter, where we summarize what you have seen in the book, while encouraging you to plan the construction of your next robot.