Choosing a controller — how we are going to drive the robot, and why
We want to be able to control our robot with something that is handheld and wireless. Trailing a wire to our robot would make little sense. Having seen how our robot drives in Chapter 7, Drive and Turn – Moving Motors with Python, we will want a control system that directly affects the wheels.
One way to do this would be to use a Bluetooth joypad. There are a large number of these on the market, which may require specialist drivers to read. Bluetooth has a habit of dropping pairings at inopportune times.
Some joypads use a custom wireless dongle; these are far more reliable than Bluetooth but have a dongle that doesn't fit very nicely on the robot.
However, you already have a handheld device in your pocket: your phone. It has a touchscreen, capable of reading finger movements. With a bit of the right code, you can display the video between controller bars, creating a kind of robotic periscope...