Book Image

Robotics at Home with Raspberry Pi Pico

By : Danny Staple
Book Image

Robotics at Home with Raspberry Pi Pico

By: Danny Staple

Overview of this book

The field of robotics is expanding, and this is the perfect time to learn how to create robots at home for different purposes. This book will help you take your first steps in planning, building, and programming a robot with Raspberry Pi Pico, an impressive controller bursting with I/O capabilities. After a quick tour of Pico, you’ll begin designing a robot chassis in 3D CAD. With easy-to-follow instructions, shopping lists, and plans, you’ll start building the robot. Further, you’ll add simple sensors and outputs to extend the robot, reinforce your design skills, and build your knowledge in programming with CircuitPython. You’ll also learn about interactions with electronics, standard robotics algorithms, and the discipline and process for building robots. Moving forward, you’ll learn how to add more complicated sensors and robotic behaviors, with increasing complexity levels, giving you hands-on experience. You’ll learn about Raspberry Pi Pico’s excellent features, such as PIO, adding capabilities such as avoiding walls, detecting movement, and compass headings. You’ll combine these with Bluetooth BLE for seeing sensor data and remotely controlling your robot with a smartphone. Finally, you’ll program the robot to find its location in an arena. By the end of this book, you’ll have built a robot at home, and be well equipped to build more with different levels of complexity.
Table of Contents (20 chapters)
1
Part 1: The Basics – Preparing for Robotics with Raspberry Pi Pico
7
Part 2: Interfacing Raspberry Pi Pico with Simple Sensors and Outputs
12
Part 3: Adding More Robotic Behaviors to Raspberry Pi Pico

Converting an encoder count into a speed

In Chapter 6, Measuring Movement with Encoders on Raspberry Pi Pico, we used PIO to retrieve a count from the motor encoding sensors. We ended that chapter by measuring for movement and counting encoder transitions over some time.

In this section, we will relate wheel geometry to the encoder. Then, we will use that to convert encoder counts into a speed or a distance.

Loose bolts and nuts

Vibration can sometimes cause nuts to drop out – a tiny dab of nail varnish across the nut and thread can reduce this.

Robot wheel geometry

Calculating the distance traveled by a wheel requires its circumference. Let’s start by measuring the diameter of the wheel, as shown:

Figure 11.1 – Measuring wheels with calipers

The preceding diagram shows how you can measure wheel diameter with digital calipers. The diameter can be used in our code directly. In robot.py, add your measurement rounded to the...