Home > News & Updates > Arduino News > Tesla go-kart upgraded with self-driving autopilot

Tesla go-kart upgraded with self-driving autopilot

Summary of Tesla go-kart upgraded with self-driving autopilot


Austin Blake built the Teskart, a self-driving go-kart that uses behavioral cloning to replicate human steering. It uses three Logitech C920 webcams for vision, an Arduino-controlled steering motor salvaged from a power wheelchair with potentiometer position feedback, and a Cytron DC motor driver. A laptop records data, trains and runs the ML model, and sends predicted steering angles to Arduino Nano boards that convert them to PWM for steering. The system follows routes it was trained on and cannot generalize to new routes.

Parts used in the Teskart:

  • Three Logitech C920 webcams
  • Power wheelchair steering motor (used as giant servo)
  • Potentiometer for position feedback
  • Arduino (steering control)
  • Second Arduino (receives predicted steering angle)
  • Arduino Nano boards (pair for communication/PWM)
  • Cytron DC motor driver
  • Onboard laptop (data recording, training, model inference)
  • Cabling and mounting hardware (implied for cameras, motor, and electronics)

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 :

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

Quick Solutions to Questions related to Teskart:

  • What machine learning method does the Teskart use?
    The Teskart uses behavioral cloning to train a model that replicates human steering behavior.
  • How many cameras does the Teskart use and which model?
    It uses three Logitech C920 webcams for visual input.
  • What provides steering actuation in the Teskart?
    The steering motor is salvaged from a power wheelchair and functions as a giant servo motor.
  • How is position feedback achieved for steering?
    Position feedback is achieved via a potentiometer that rotates with the motor shaft and is read by an Arduino.
  • What role does the laptop play in the Teskart?
    The laptop records data, trains and evaluates the machine learning model, and runs inference to control steering.
  • How are predicted steering angles conveyed to the steering hardware?
    A second Arduino receives predicted steering angles from Python on the laptop and converts them into a PWM signal for the first Arduino.
  • Which motor driver is used in the Teskart?
    The project uses a Cytron DC motor driver to control the steering motor.
  • Can the Teskart navigate new routes it was not trained on?
    No, the Teskart will always attempt to follow the same route it was trained on and cannot generalize to new routes.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top