README.md 1.3 KB
Newer Older
Will Roscoe's avatar
Will Roscoe committed
# Donkey: a self driving library for small scale DIY vehicles. 
Will Roscoe's avatar
Will Roscoe committed

Will Roscoe's avatar
Will Roscoe committed
Donkey is minimalist and modular self driving library written in Python. It is developed with a focus on being easily accessable and allowing fast experimentation. 
Will Roscoe's avatar
Will Roscoe committed

Will Roscoe's avatar
Will Roscoe committed
Use Donkey if you want to:
* quickly [build your own self driving RC Car]((docs/get_started.md) with a Raspbery Pi.
* test out your self driving idea 
Will Roscoe's avatar
Will Roscoe committed

Will Roscoe's avatar
Will Roscoe committed

Will Roscoe's avatar
Will Roscoe committed
Guiding Principles
* **Modularity**: A self driving system is composed of standalone, independently configurable modules that can be connected modules.
Will Roscoe's avatar
Will Roscoe committed

Will Roscoe's avatar
Will Roscoe committed
* **Minimalism**: Each component should be kept short (<100 lines of code). Each peice of code should be transparent apon first reading. No black magic, it slows the speed of innovation. 
Will Roscoe's avatar
Will Roscoe committed
* **Extensiblity**: New components should be simple to create by following a template. 

* **Python**: Keep it simple. 

*** These guidelines are nearly copied from Keras because they are so good *** 



## Get started.
Once you have built your car this how you use Donkey.
Will Roscoe's avatar
Will Roscoe committed

#### Drive your car from your computer.
Will Roscoe's avatar
Will Roscoe committed

1. Start driving mode. 
Will Roscoe's avatar
Will Roscoe committed
```
python manage.py drive --session sidewalk --model cnn-sidewalk 
Will Roscoe's avatar
Will Roscoe committed
```
2. Go to `<pi_ip_address>:8887` in your browser to control the car.
Will Roscoe's avatar
Will Roscoe committed

Will Roscoe's avatar
Will Roscoe committed

### Train a self driving pilot for a route. 
Will Roscoe's avatar
Will Roscoe committed
```
python manage.py train --session sidewalk --model my-model
Will Roscoe's avatar
Will Roscoe committed
```