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)
Section 1: The Basics – Preparing for Robotics
Section 2: Building an Autonomous Robot – Connecting Sensors and Motors to a Raspberry Pi
Section 3: Hearing and Seeing – Giving a Robot Intelligent Sensors
Section 4: Taking Robotics Further

Exploring controllers and I/O

At the center of the robot block diagram, as in Figure 2.3, are controllers. Robots usually have a primary controller, a computer of some kind. They may also have some secondary controllers, and some more unusual robots have many controllers. This book keeps things simple, with your code running on a conventional central controller. The controller connects all the other parts together and forms the basis of their interactions.

Before we look at controllers, we need to get a better understanding of an important component that connects controllers to other components, I/O pins.

I/O pins

I/O pins are used for input and output from the controller. They give the controller its ability to connect to real-world sensors and motors.

The number of I/O pins on the controller is a limiting factor in what you can connect to a robot without using secondary controllers. You may also see the term General Purpose Input Output (GPIO). Controller I/O pins have...