资源算法derplearning

derplearning

2019-10-16 | |  131 |   0 |   0

Derp Learning

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

Getting Started

Software

The developers of this project primarily use Ubuntu 16.04 on both x86_64 and aarch64 architectures.

Inside the install folder there are series of prerequisite install scripts. Run prerequisites.sh to run them. Then setup.py script will install the Python package.

cd install
bash install.sh

Hardware

You will need access to a drill to cut holes in the car's chassis and into the PVC sheet or 3D printed camera pylon. Select one (or more) of the compute options. TODO detailed instructions

Necessary

  • Traxass 1/10 Slash 2WD RTR $190

  • Pololu Micro Maestro 7-Channel USB Servo Controller $18

  • Adafruit BNO055 9-DOF Absolute Orientation IMU $35

  • Playstation Dualshock 4 Controller $45

  • 7.4V 8000mAh LiPo Battery $55

  • Traxxas Parallel Wire Harness $9

  • LiPo Battery Bag $8

  • Low Voltage Meter $8

  • Battery Charger $55

  • Dual Lock Reclosable Fastener $19

  • Brass Spacers/Offsets M2+M3 Offsets $17

  • Nylon Washers M2+M3 $8

  • TODO: Roll Cage 3D printed

Raspberry Pi Zero W Compute

  • Raspberry Pi Zero W Camera Pack $45

  • USB Battery Charger $18

Raspberry Pi 3 Compute

  • Raspberry Pi 3 B $35

  • Raspberry Pi Camera $30

  • Camera Cable $2

  • USB Battery Charger $18

Jetson Compute

  • Nvidia Jetson TX1 or TX2 Developer Kit $300

  • Orbitty Carrier Board $173

  • USB Camera $45

  • 11.1V 4000mAh LiPo Battery $28

Optional, but helpful for debugging and expansions

  • 4 Port USB 3.0 Hub $10

  • Portable HDMI Monitor $110

  • Portable Wireless Keyboard/Mouse $25

Usage

All of the following commands need to be run from the src folder.

Collect Data

On the car run:

python3 drive.py

Data by default is saved to files in the folder /data/ which is created in the parent directory of /derp_learning/

The data can be moved by swapping the SD card if the derplearning directory is located there or by using ssl rsync from the directory you want to move the data to on your device:

rsync rvP ${car}:/mnt/sdcard/data/* $DERP_ROOT/data/train

Single Pass Pipeline

To move label and train a model on collected data use the shell script pipeline.sh. This is the ideal way to deploy a model trained on same day collected data. This option may be used instead of manualy performing the below steps.

bash pipeline.sh __NAME__ __BUTTON__ __FRESH_DATA_SOURCE__

Note: the data source is a location containing data you want to move to the local training data folder.

Label Data

Any recorded data file can be labled creating a file /label.csv in the same folder as all other data files for a given recording.

python3 label.py --path data/???

Build Dataset

This program prepares the recorded data for use in training and validation.

python3 clone_create.py --config __NAME__

Train Model

Runs training on the dataset to build a model for deployment

python3 clone_train.py --config __NAME__

Deploy Model

To deploy a model for use in control of a vehicle copy the model file to the desired button folder on the vehicle and rename the model to "clone.pt"

rsync -rvP $model ${car}:$DERP_ROOT/scratch/model/__BUTTON__/clone.pt

Once a model is deployed to the car it can be loaded by pressing the appropriate button and given control of the vehicle by pressing the playstation button.


上一篇:Amazon_Forest_Computer_Vision

下一篇:pytorch-saltnet

用户评价
全部评价

热门资源

  • Keras-ResNeXt

    Keras ResNeXt Implementation of ResNeXt models...

  • seetafaceJNI

    项目介绍 基于中科院seetaface2进行封装的JAVA...

  • spark-corenlp

    This package wraps Stanford CoreNLP annotators ...

  • capsnet-with-caps...

    CapsNet with capsule-wise convolution Project ...

  • inferno-boilerplate

    This is a very basic boilerplate example for pe...