Open source hardware and software platform to build a small scale self driving car.
http://www.donkeycar.com
- Python 87.5%
- JavaScript 7.1%
- HTML 2.1%
- kvlang 1.6%
- C++ 1.3%
- Other 0.3%
| .github | ||
| arduino | ||
| donkeycar | ||
| scripts | ||
| .coveragerc | ||
| .gitignore | ||
| CONTRIBUTING.md | ||
| Dockerfile | ||
| LICENSE | ||
| Makefile | ||
| MANIFEST.in | ||
| pyproject.toml | ||
| README.md | ||
| setup.cfg | ||
Donkeycar: a python self driving library
Donkeycar is minimalist and modular self driving library for Python. It is developed for hobbyists and students with a focus on allowing fast experimentation and easy community contributions.
Quick Links
Use Donkey if you want to:
- Make an RC car drive its self.
- Compete in self driving races like DIY Robocars
- Experiment with autopilots, mapping computer vision and neural networks.
- Log sensor data. (images, user inputs, sensor readings)
- Drive your car via a web or game controller or RC controller.
- Leverage community contributed driving data.
- Use existing CAD models for design upgrades.
Get driving.
After building a Donkey2 you can turn on your car and go to http://localhost:8887 to drive.
Modify your cars behavior.
The donkey car is controlled by running a sequence of events
#Define a vehicle to take and record pictures 10 times per second.
import time
from donkeycar import Vehicle
from donkeycar.parts.cv import CvCam
from donkeycar.parts.tub_v2 import TubWriter
V = Vehicle()
IMAGE_W = 160
IMAGE_H = 120
IMAGE_DEPTH = 3
#Add a camera part
cam = CvCam(image_w=IMAGE_W, image_h=IMAGE_H, image_d=IMAGE_DEPTH)
V.add(cam, outputs=['image'], threaded=True)
#warmup camera
while cam.run() is None:
time.sleep(1)
#add tub part to record images
tub = TubWriter(path='./dat', inputs=['image'], types=['image_array'])
V.add(tub, inputs=['image'], outputs=['num_records'])
#start the drive loop at 10 Hz
V.start(rate_hz=10)
See home page, docs or join the Discord server to learn more.
