Chapter 12: IMU Programming with Python
Modern robots need to know their position relative to the world. In Chapter 11, Programming Encoders with Python, we looked at how encoders can get an idea of how much the robot has moved or turned. However, this turning was relative to where the robot was and had no absolute reference. Wheel slipping could lead to false readings. In this chapter, you will see more ways the robot can read changes in its position and measure its movements.
In principle, an inertial measurement unit (IMU) can give absolute position measurements and not slip. In practice, they are complicated. This chapter is a small practical tour of adding an IMU to your robot. I will introduce the components of an IMU in this chapter. You will also learn how to solder in order to add headers to a breakout, a skill that opens up a world of additional robot parts.
We'll write some code to try the various functions and see the kind of output the sensors provides. We will...