Skip to content

Open source hardware and software platform to build a small scale self driving car.

License

Notifications You must be signed in to change notification settings

deltaflyer/donkeycar

 
 

Repository files navigation

INFORMATION - LSD

This is the modified fork of Donkeycar, called LSD, the low effort software distribution. It contains undocumented hacks and features that are not part of Donkey car. Use it on your own risk.

Current state

LSD is based on the donkeycar branch "dev", commit e8eaa2580998.

LSD Features

  • Extended OLED-display support
  • Hacked web-part, to allow changes of drive mode while driving the car from the Web-UI with a game controller

donkeycar: a python self driving library

Build Status CodeCov PyPI version Py versions

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

donkeycar

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.
  • 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.datastore_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.

About

Open source hardware and software platform to build a small scale self driving car.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 82.6%
  • JavaScript 12.4%
  • HTML 3.8%
  • Shell 0.7%
  • CSS 0.4%
  • Dockerfile 0.1%