/derplearning

Self Driving RC Car Code

Primary LanguagePythonMIT LicenseMIT

Derp Learning

Derp Learning is a Python package that collects data, trains models, and then controls an RC car for track racing.

Hardware

You will need access to a drill and a soldering kit.

Vehicles

The following vehicles have been tested and are supported:

SparkFun Jetbot

If you prefer something smaller, slower, with zero turn radius powered by individual-wheel drive motors the Sparkfun JetBot Kit $275 includes all parts, except for the optional IMU and Dualshock 4 controller. Please follow the setup guide at the site.

  • Adafruit BNO055 9-DOF Absolute Orientation IMU $35
  • Playstation Dualshock 4 Controller $45

Traxxas-based Vehicles

Each of the following vehicles has been tested and works with the platform. 3D printed parts are TBD.

  • LaTrax Rally (1/18 scale brushed) $120

  • Traxxas Slash (1/10 scale brushed) $240

  • Traxxas E-Revo (1/16 scale brushless) $250

  • Jetson Nano $100

  • Pololu Micro Maestro 6-Channel USB Servo Controller $19

  • Dual Lock Reclosable Fastener $19

  • USB Battery $16

  • USB to Barrel Cable $7

  • USB Jumper $5

  • Brass Spacers/Offsets M2+M3 Offsets $17

  • Nylon Washers M2+M3 $8

  • Breadboard Jumper Wires $7

  • Wifi Card $20

  • Wifi Antenna $3

  • Camera $30

  • 64GB MicroSD Card $12

  • Adafruit BNO055 9-DOF Absolute Orientation IMU $35

  • Playstation Dualshock 4 Controller $45

Software

This software has been tested on Ubuntu 18.04 using Python 3.6 on both x86_64 and aarch64 architectures.

bash install.sh

Collect Data

bin/drive.py config/rally.yaml

Label Data

bin/label.py data/recording-YYYYMMDD-HHMMSS-HOSTNAME

Build a dataset and train cloning model

bin/clone.py config/brain-clone.yaml

Test model

bin/drive.py config/rally.yaml