In the realm of technological innovation, Austin Blake has made a significant stride by creating a self-driving go-kart, aptly named the Teskart. This unique invention leverages a machine learning technique known as behavioral cloning, a method that replicates human behavior to train a model. The Teskart is a testament to the potential of machine learning in the field of autonomous vehicles, albeit on a smaller scale.
The Teskart is a marvel of engineering, equipped with three Logitech C920 webcams. These cameras serve as the eyes of the machine, providing visual input for the model to analyze and make steering decisions. The steering motor, salvaged from a power wheelchair, functions as a giant servo motor. This motor is controlled by an Arduino and a Cytron DC motor driver, demonstrating a creative repurposing of existing technology.
Teskart Arduino technology
Position feedback, a crucial aspect of any autonomous system, is achieved through a potentiometer that rotates with the motor shaft. The Arduino reads the potentiometer value and the pulse-width modulation (PWM) signal, ensuring the system is aware of its steering position at all times. A second Arduino is used to receive the predicted steering angle data from Python and convert it into a PWM signal for the first Arduino. This intricate system of feedback and control allows the Teskart to navigate its course.
An onboard laptop serves multiple purposes in the Teskart. It is used for recording data, training the machine learning model, and evaluating its performance. The laptop runs the machine learning model that controls the steering and receives steering angle information from a pair of Arduino Nano boards. The laptop views the road through the webcams and uses the images to train the machine learning model, creating a closed-loop system of data collection, analysis, and action.
Self-driving autopilot go-cart
If you would like to learn more about creating self driving autopilot technology projects you can check out the highly recommended Udemy course which was used by Blake to learn what he needed to fully convert his go-kart into a self driving version.
Other articles you may find of interest on the subject of Arduino and projects using the platform :
- Arduino Nano ESP32 handheld console with round color display
- Arduino development boards complete guide
- Low-cost thermal camera built using Arduino
- Arduino UNO R4 Minima vs UNO R4 WiFi boards
- DIY Arduino Wind Speed Meter Anemometer Project
- Arduino Inputs and Outputs a beginners guide
The steering mechanism of the Teskart is a fascinating piece of engineering. A large motor from a power chair rotates the steering column, and a potentiometer monitors that rotation. This setup works together like a servo motor, providing precise control over the steering of the go-kart. The machine learning model looks at a frame from the video many times per second and determines the best steering angle based on its training data. This real-time analysis and decision-making process is a key feature of the Teskart’s autonomous capabilities.
However, like any system, the Teskart has its limitations. The most significant of these is its inability to navigate a new route. The system will always attempt to follow the same route as it was trained on, limiting its adaptability. This limitation is a common challenge in the field of machine learning and autonomous systems, where the ability to generalize from training data to new situations is a critical area of research.
Austin Blake’s Teskart is a remarkable demonstration of the potential of machine learning in the field of autonomous vehicles. Despite its limitations, the Teskart represents a significant step forward in the application of behavioral cloning techniques. It serves as a testament to the power of innovation and the exciting possibilities that lie ahead in the realm of autonomous technology.
Source: Tesla go-kart upgraded with self-driving autopilot