Book Image

Raspberry Pi Robotic Projects - Third Edition

By : Richard Grimmett, Jon Witts
Book Image

Raspberry Pi Robotic Projects - Third Edition

By: Richard Grimmett, Jon Witts

Overview of this book

This book will allow you to take full advantage of Raspberry Pi Zero and Raspberry Pi 3 by building both simple and complex robotic projects. The book takes a mission-critical approach to show you how to build amazing robots and helps you decide which board to use for which type of robot. The book puts a special emphasis on designing mobile (or movable) robots using the Raspberry Pi Zero. The projects will show inexpensive, yet powerful, ways to take full advantage. It will teach you how to program Raspberry Pi, control the movement of your robot, and add features to your robots.
Table of Contents (13 chapters)
Raspberry Pi Robotic Projects - Third Edition
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface

The balancing algorithm


Building a balancing robot provides some interesting control channels. Fortunately, there are several good tutorials for this sort of thing, for example, at http://ozzmaker.com/success-with-a-balancing-robot-using-a-raspberry-pi/.

To understand the problem, let's look at your robot. Here is an image of the assembled robot from the side:

What you'll be doing now is using the output of the IMU to determine that angle of the robot. If the robot is leaning too far forward, you'll move the wheels quickly forward to push the robot back upward. The same is true if the robot is leaning too far backward.

To make this all work, you'll need to implement a Proportional-Integration-Derivative (PID) controller. A brief tutorial is probably in order. Here is a block diagram of a control loop:

The Desired Angle is the angle of the IMU when the robot is straight up and down. The Measured Angle is the angle that is actually measured from the IMU. If the angle is too far forward or...