A few years ago, Austin Blake built an electric go-kart that looked like a Tesla Model S. It had the plastic shell from a kid’s Radio Flyer ride-on vehicle, but on top of a custom go-kart frame with a powerful electric motor. That looked like a Tesla, but it didn’t really act like one because it lacked self-driving capability. Now Blake has finally addressed that oversight and given his Tesla go-kart an Arduino-based autopilot.
Tesla’s autopilot and full self-driving features don’t allow for 100% autonomous driving, but they get pretty close. Blake’s autopilot is much more limited, but still impressive. It can steer the go-kart around a known track while Blake handles the throttle and brakes. However, it can only follow the course it was trained on and can’t deviate from that without issues. It also can’t account for unusual events, like a pedestrian in the “road.”
Blake’s autopilot works using a machine learning model running on a laptop, which controls the steering and receives steering angle information from a pair of Arduino Nano boards. The laptop looks at the road through a trio of Logitech webcams and those were also used to gather the training images. A large motor from a power chair rotates the steering column and a potentiometer monitors that rotation, so the two work together like a servo motor.
Many times every second, the machine learning model looks at a frame from the video. Based on its training data, it determines what steering angle best matches the current view. It then turns the steering motor until it reaches that steering angle. The disadvantage of this technique is that it will always attempt to follow the same route as it was trained on and is therefore unable to navigate a new route.