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

Overview

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

Comments
  • When using the D435i with the Nano there is a noticeable lag in both steering and throttle.

    When using the D435i with the Nano there is a noticeable lag in both steering and throttle.

    SBC: NVIDIA Nano OS: Jetpack 4.4.1 Ubuntu 18.04 DC: v 4.1.0 Camera: Intel D435i depth camera Vehicle: Traxxas 4WD Slash with brushless ESC and motor

    When using a PS4 gamepad for local control of my Donkey Car there is a noticeable lag in both the steering and throttle response of the car during "manage.py drive". I have experienced this lag in both DC v 3.1.5 and v 4.1.0.

    I have investigated the lag in both the steering and the throttle response to determine whether it is the ESC or the Nano/PCA9685. I used a servo controller to test the Traxxas ESC and it responds correctly to the PWM range of 1.0 to 2.0 ms without hesitation. On the other hand I connected a PWM display to the throttle servo channel output on the PCA9685 to see what the throttle output was like during "manage.py drive". While using the PS4 gamepad I found that when I pushed the right joystick all the way up vertically, there was a definite delay (lag), sometimes short and sometimes long, before the throttle output PWM moved towards 2.0 ms. I experienced the same issue for reverse. There appears to be a definite issue with the drive loop's response to the PS4 gamepad throttle channel input and the appropriate output from the PCA9685 throttle channel output. To make sure that there was not an issue with the PS4 gamepad communicating with the Nano, I paired and connected the PS4 to an identical Traxxas 4WD Slash running a Nano, but instead of a D435i depth camera it was using a Sainsmart 8 Mp color camera. I found that there was no lag between the steering and throttle outputs of the gamepad joysticks and the steering and throttle responses of the Slash steering servo and ESC motor controller.

    Based upon my findings, it appears that there is some issue with the Nano when using the D435i depth camera in place of the usual Rpi or Sainsmart color cameras. I have a spare Sainsmart 8 Mp camera that I can use in place of the D435i depth camera to see if the gamepad to robot steering/throttle control latency is caused by the D435i depth camera being in the drive loop.

    By disconnecting the D435i depth camera from the Nano and attaching a Sainsmart 8 Mp color camera to the Nano and updating "myconfig.py" to reflect the camera changeout, I verified that the Nano/Sainsmart combination does not have the steering/throttle latency issue that the Nano/D435i depth camera does. Restoring the Nano/D435i depth camera configuration and "myconfig.py" brought back the gamepad steering and throttle latency as I originally experienced. Even updating/upgrading Ubuntu did not cure the latency problem.

    I have been working on the Nano/D435i camera project with a DC member in Australia who is using the same configuration, but is much farther ahead with the project than me. Attempts to contact him through Discord Direct Messages have been to no avail as he has been silent for three weeks so I do not have an experienced user who has performed data collection and training to fall back on.

    Comments please.

    opened by TCIII 28
  • Epoch failure during train command

    Epoch failure during train command

    When the python ~/mycar/train.py --tub <tub folder names comma separated> --model ./models/mypilot.h5 command is ran (any form of it), the epochs start but eventually fail with error W tensorflow/core/kernels/data/generator_dataset_op.cc:103] Error occurred when finalizing GeneratorDataset iterator: Failed precondition: Python interpreter state is not initialized. The process may be terminated. [[{{node PyFunc}}]] .

    opened by kelvham 23
  • Not able to use a physical joystick along with web server

    Not able to use a physical joystick along with web server

    I'm not able to use my physical joystick with web server, but it works fine when I use the "--js" option, but that disables the web server, according to the docs: "The default web controller may be replaced with a one line change to use a physical joystick part for input ...", where is this line, and how do I change it?

    Temporarily fix: go to manage.py and changes:

        if use_joystick or cfg.USE_JOYSTICK_AS_DEFAULT:
             ctr = JoystickController(max_throttle=cfg.JOYSTICK_MAX_THROTTLE,
                                      steering_scale=cfg.JOYSTICK_STEERING_SCALE,
                                      auto_record_on_throttle=cfg.AUTO_RECORD_ON_    THROTTLE)
         else:
             # This web controller will create a web server that is capable
             # of managing steering, throttle, and modes, and more.
             ctr = LocalWebController(use_chaos=use_chaos)
     
         V.add(ctr,
               inputs=['cam/image_array'],
               outputs=['user/angle', 'user/throttle', 'user/mode', 'recording'],
               threaded=True)
    

    to:

        
        ctr = LocalWebController(use_chaos=use_chaos)
        V.add(ctr,
               inputs=['cam/image_array'],
               outputs=['user/angle', 'user/throttle', 'user/mode', 'recording'],
               threaded=True)
         ctr = JoystickController(max_throttle=cfg.JOYSTICK_MAX_THROTTLE,
                                      steering_scale=cfg.JOYSTICK_STEERING_SCALE,
                                      auto_record_on_throttle=cfg.AUTO_RECORD_ON_    THROTTLE)
         V.add(ctr,
               inputs=['cam/image_array'],
               outputs=['user/angle', 'user/throttle', 'user/mode', 'recording'],
               threaded=True)
    

    In that way you add the two controller handlers, but the JoystickController needs to be the last. This is a temporally fix, not a bug fix!

    opened by huberemanuel 19
  • Adding FastAI(pytorch) as a first class citizen to the pipeline

    Adding FastAI(pytorch) as a first class citizen to the pipeline

    This PR allows you to use Fast AI(pytorch) end to end in donkey car. I have tested training and driving with the simulator.

    I have added a new type of model fastai_ so far linear is the only model implemented. More can be added in the future of course. I have tried my best to emulate most of the function that Keras does but there are some idiosyncrasies between the two frameworks.

    These normal training and driving commands work. python train.py --tubs data/ --model models/fastai_linear_model.pth --type fastai_linear python manage.py drive --model models/fastai_linear_model.pth --type fastai_linear

    I do realise that this PR comes without a heads up or warning so if its rejected that's fine. I do really like this project and the work that has been done, its just I prefer PyTorch to TensorFlow.

    Any suggestions are welcome. I am new to python of this complexity so any pointers would be great. There will be more cleanups and fixes on this PR as I am not finished yet. I need to add some graph plotting and other tidy ups and maybe a refactor. Any guidance would be great. I will also add some docs around this.

    If this goes well I might also look at getting pytorch lightning into own part and working in the pipeline.

    Please note this will not work with TensorRT or TF lite if there is demand I could look at this in the future.

    Cheers

    opened by adricl 18
  • Add a new datastore format.

    Add a new datastore format.

    • This is an implementation of a completely new datastore for Donkey. Rather than have a single file for every record, this datastore stores all records in a Seekable file, with O(1) time access. Images are still stored separately.

    • This format uses newline delimited json, and stores a configurable number of records per file. It has high level APIs which make it easy to consume records consistently.

    • I also ported over tubclean, tubplot and provides a script convert_to_tub_v2.py to move from the old datastore to the new datastore format.

    • I ported over the Linear and the Inferred models so far, but adding support for other models should be very trivial.

    • I also removed a lot of dead code which should make things a lot easier to understand going forward. For now the old train.py is archived, as we will port over more things from the old training script.

    • The new training pipeline also arbitrary pre-processing steps with imgaug which is now a new dependency.

    • Added benchmarks for the new datastore.

    • Added a new experimental KerasInferred model which learns steering, but not throttle. We then infer throttle based on a inverted exponential curve.

    • Added lots of unit tests.

    opened by tikurahul 18
  • train.py crashing due to empty images

    train.py crashing due to empty images

    Hi there!

    We are running Donkey 4 and found that sometimes our webcam would read in some empty data. They would be very few and far between, say about 4 faulty recordings per 8000 images. We found that when we ran the train script on our data folder, it would crash due to the empty images:

    Records # Training 4335 Records # Validation 1084 Epoch 1/100 2021-11-04 20:30:23.748365: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10 cannot identify image file 'data/images/492_cam_image_array_.jpg' failed to load image: data/images/492_cam_image_array_.jpg 2021-11-04 20:30:23.946395: W tensorflow/core/framework/op_kernel.cc:1741] Invalid argument: TypeError: %d format: a number is required, not str Traceback (most recent call last):

    File "/opt/conda/envs/donkey/lib/python3.7/site-packages/tensorflow/python/ops/script_ops.py", line 243, in call ret = func(*args)

    File "/opt/conda/envs/donkey/lib/python3.7/site-packages/tensorflow/python/autograph/impl/api.py", line 309, in wrapper return func(*args, **kwargs)

    File "/opt/conda/envs/donkey/lib/python3.7/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 785, in generator_py_func values = next(generator_state.get_iterator(iterator_id))

    File "/opt/local/donkeycar/donkeycar/pipeline/sequence.py", line 120, in next return self.x_transform(record), self.y_transform(record)

    File "/opt/local/donkeycar/donkeycar/pipeline/training.py", line 60, in get_x record, self.image_processor)

    File "/opt/local/donkeycar/donkeycar/parts/keras.py", line 241, in x_transform_and_process x_process = img_processor(x_img)

    File "/opt/local/donkeycar/donkeycar/pipeline/training.py", line 47, in image_processor img_arr = self.transformation.run(img_arr)

    File "/opt/local/donkeycar/donkeycar/pipeline/augmentations.py", line 120, in run aug_img_arr = self.augmentations.augment_image(img_arr)

    File "/opt/conda/envs/donkey/lib/python3.7/site-packages/imgaug/augmenters/meta.py", line 766, in augment_image type(image).name),)

    TypeError: %d format: a number is required, not str

    Traceback (most recent call last): File "train.py", line 31, in main() File "train.py", line 27, in main train(cfg, tubs, model, model_type, comment) File "/opt/local/donkeycar/donkeycar/pipeline/training.py", line 145, in train show_plot=cfg.SHOW_PLOT) File "/opt/local/donkeycar/donkeycar/parts/keras.py", line 183, in train use_multiprocessing=False) File "/opt/conda/envs/donkey/lib/python3.7/site-packages/tensorflow/python/keras/engine/training.py", line 66, in _method_wrapper return method(self, *args, **kwargs) File "/opt/conda/envs/donkey/lib/python3.7/site-packages/tensorflow/python/keras/engine/training.py", line 848, in fit tmp_logs = train_function(iterator) File "/opt/conda/envs/donkey/lib/python3.7/site-packages/tensorflow/python/eager/def_function.py", line 580, in call result = self._call(*args, **kwds) File "/opt/conda/envs/donkey/lib/python3.7/site-packages/tensorflow/python/eager/def_function.py", line 644, in _call return self._stateless_fn(*args, **kwds) File "/opt/conda/envs/donkey/lib/python3.7/site-packages/tensorflow/python/eager/function.py", line 2420, in call return graph_function._filtered_call(args, kwargs) # pylint: disable=protected-access File "/opt/conda/envs/donkey/lib/python3.7/site-packages/tensorflow/python/eager/function.py", line 1665, in _filtered_call self.captured_inputs) File "/opt/conda/envs/donkey/lib/python3.7/site-packages/tensorflow/python/eager/function.py", line 1746, in _call_flat ctx, args, cancellation_manager=cancellation_manager)) File "/opt/conda/envs/donkey/lib/python3.7/site-packages/tensorflow/python/eager/function.py", line 598, in call ctx=ctx) File "/opt/conda/envs/donkey/lib/python3.7/site-packages/tensorflow/python/eager/execute.py", line 60, in quick_execute inputs, attrs, num_outputs) tensorflow.python.framework.errors_impl.InvalidArgumentError: TypeError: %d format: a number is required, not str Traceback (most recent call last):

    File "/opt/conda/envs/donkey/lib/python3.7/site-packages/tensorflow/python/ops/script_ops.py", line 243, in call ret = func(*args)

    File "/opt/conda/envs/donkey/lib/python3.7/site-packages/tensorflow/python/autograph/impl/api.py", line 309, in wrapper return func(*args, **kwargs)

    File "/opt/conda/envs/donkey/lib/python3.7/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 785, in generator_py_func values = next(generator_state.get_iterator(iterator_id))

    File "/opt/local/donkeycar/donkeycar/pipeline/sequence.py", line 120, in next return self.x_transform(record), self.y_transform(record)

    File "/opt/local/donkeycar/donkeycar/pipeline/training.py", line 60, in get_x record, self.image_processor)

    File "/opt/local/donkeycar/donkeycar/parts/keras.py", line 241, in x_transform_and_process x_process = img_processor(x_img)

    File "/opt/local/donkeycar/donkeycar/pipeline/training.py", line 47, in image_processor img_arr = self.transformation.run(img_arr)

    File "/opt/local/donkeycar/donkeycar/pipeline/augmentations.py", line 120, in run aug_img_arr = self.augmentations.augment_image(img_arr)

    File "/opt/conda/envs/donkey/lib/python3.7/site-packages/imgaug/augmenters/meta.py", line 766, in augment_image type(image).name),)

    TypeError: %d format: a number is required, not str

         [[{{node PyFunc}}]]
         [[IteratorGetNext]] [Op:__inference_train_function_1787]
    

    Function call stack: train_function

    Our temporary workaround was to run an "ls -l" over the "images" folder and find the faulty recordings, to which we would then delete the problematic catalogues that pointed to those faulty images from the manifest.json file.

    opened by JacobGlennAyers 17
  • running manage.py drive get ImportError

    running manage.py drive get ImportError "No module named 'controller'"

    I have update my git clone to the nearest version (v 2.5.1), and I have successfully "pip install -e ." and "pip install donkey[pi]", but still got this error. By the way, I tried to mix it by changing "manage.py" file in mycar, instand of "import from controller", I set it to be "from donkeycar.parts.web_controller.web import LocalWebController". This does fix the problem temporarily, but I can't record my data with the recording button pressed on on the website ( I do can control the car on the website). Thanks a lot if anyone have an idea of this issue, this problem hinders three of my groups from processing on. From: Beijing University of Posts and Telecommunications, China

    opened by Jokestv2 16
  • Threading TubWriter for better performance

    Threading TubWriter for better performance

    The disk writing on RPi 4 is pretty slow compared to desktops, unless you mount a SSD on the car with it.

    The idea is to unblock the TubWriter's IO from main thread. I see a performance boost from average 4ms to 0.2ms: Before (IO on main thread):

    +------------------------------+-------+------+------+------+------+-------+-------+
    |             part             |  max  | min  | avg  | 50%  | 90%  |  99%  | 99.9% |
    +------------------------------+-------+------+------+------+------+-------+-------+
    |          TubWriter           | 14.07 | 2.46 | 4.41 | 3.47 | 7.24 | 11.31 | 13.32 |
    +------------------------------+-------+------+------+------+------+-------+-------+
    

    After (IO threaded):

    +------------------------------+-------+------+------+------+------+------+-------+
    |             part             |  max  | min  | avg  | 50%  | 90%  | 99%  | 99.9% |
    +------------------------------+-------+------+------+------+------+------+-------+
    |          TubWriter           | 79.88 | 0.07 | 0.19 | 0.08 | 0.09 | 0.13 | 21.36 |
    +------------------------------+-------+------+------+------+------+------+-------+
    
    opened by fengye 15
  • Steering does not work when using drive , but does in calibration .  Earlier commit works .

    Steering does not work when using drive , but does in calibration . Earlier commit works .

    Issue description

    Steering does not work when using drive , but does in calibration and it works when using an earlier commit. Seeing that another person in discord reported the same problem and that downgrading to 4.2.1 fixed it , I tried a more recent commit d5b91301ff904873e70b9caba72823fe3454feb6. It fixed the problem. I am using a Jetson nano 2gb and the other person has a raspberry pi so it seems to not be related to the particular board used. I went back and reinstalled dev and created a new car to make sure that the problem replicated for me before opening this issue.

    Steps to reproduce the issue

    1. Follow software setup as described here for the jetson nano
    2. create donkeycar from template
    3. perform calibration and modify myconfig.py
    4. changes to myconfig.py for my car
    PCA9685_I2C_BUSNUM = 1
    CAMERA_TYPE = "CSIC"   # (PICAM|WEBCAM|CVCAM|CSIC|V4L|D435|MOCK|IMAGE_LIST)
    IMAGE_W = 224
    IMAGE_H = 224
    PCA9685_I2C_BUSNUM = 1
    STEERING_LEFT_PWM = 460         #pwm value for full left steering
    STEERING_RIGHT_PWM = 260        #pwm value for full right steering
    THROTTLE_FORWARD_PWM = 420      #pwm value for max forward throttle
    THROTTLE_STOPPED_PWM = 370      #pwm value for no movement
    THROTTLE_REVERSE_PWM = 320      #pwm value for max reverse throttle
    
    1. initiate driving from the car folder python manage.py drive
    2. navigate to browser
    3. press j multiple times to try to turn wheels left
    4. press k multiple times to try to turn wheels right
    5. also tested on mobile with the touch interface

    What's the expected result?

    • wheels turn

    What's the actual result?

    • wheels do not turn

    Additional details / screenshot

    • the webrowser UI shows changes to the steering, but no changes happen in the car. The throttle still works.
    • the working commit d5b91301ff904873e70b9caba72823fe3454feb6 is from December 30th of 2021. I have not tested other commits yet. I figured that someone more familiar with the code would be able to narrow down where the problem originated better than me.
    • the jetson nano install instructions is the only one that says to install from dev. The rest say to install from master which seems like it is the same as the most recent release and I am assuming would have also worked for me.
    • Should the docs say to install from dev or master for the jetson nano and what should it be for the other devices? @Ezward it looks like you made that change . If you could provide feedback, that would be helpful.
    opened by c1505 14
  • TensorRT convert-to-uff not running under Tensorflow 2.2

    TensorRT convert-to-uff not running under Tensorflow 2.2

    When I followed the docs to convert .h5 to .uff file for TensorRT, I hit an error: AttributeError: module 'tensorflow' has no attribute 'gfile'

    It's essentially the same issue from this guy: https://forums.developer.nvidia.com/t/deepstream-object-detector-ssd-cannot-convert-to-uff-file-in-ds5-0ga/145820

    After a bit investigation I found the latest TensorRT 7.2.2 only compatible with Tensorflow 1.15: https://docs.nvidia.com/deeplearning/tensorrt/release-notes/tensorrt-7.html#rel_7-2-2

    So my workaround is to create another conda environment which has tf 1.15 installed:

    conda create -n donkey_tf1 python=3.7
    conda activate donkey_tf1
    # This will nstall tensorflow 1.15
    pip install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v44 'tensorflow<2'
    # Install TensorRT 7.2.2.3, the tarball file method
    # https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing-tar
    # Assuming ${TensorRT-7.2.2.3-Dir} is untar directory
    cd ${TensorRT-7.2.2.3-Dir}/python
    pip install tensorrt-7.2.2.3-cp37-none-linux_x86_64.whl
    cd ${TensorRT-7.2.2.3-Dir}/uff
    pip install uff-0.6.9-py2.py3-none-any.whl
    cd ${TensorRT-7.2.2.3-Dir}/graphsurgeon
    pip install graphsurgeon-0.4.5-py2.py3-none-any.whl
    cd ${TensorRT-7.2.2.3-Dir}/onnx_graphsurgeon
    pip install onnx_graphsurgeon-0.2.6-py2.py3-none-any.whl
    
    # Now we can use convert-to-uff but has to use the python environment conda provides
    ~/miniconda3/envs/donkey_tf1/bin/convert-to-uff mypilot.pb
    

    NOTE: if a user want to convert his model to TensorRT, before calling convert-to-uff, the current dev branch also has an issue freezing the model. PR is here: https://github.com/autorope/donkeycar/pull/773

    I guess this either need to be addressed or to be documented. TensorRT has great potential and it's sad not very well supported.

    opened by fengye 14
  • new: convert prints to python logging

    new: convert prints to python logging

    The idea is to convert all "prints" into standard Python logging (which by default will look like "prints" in console but can be customized via config) and also sent to MQTT monitoring app.

    This is a preliminary PR for review only.

    Things to do:

    • Convert all "prints" to logger.info(
    opened by cloud-rocket 14
  • add support for four motors differential drive

    add support for four motors differential drive

    Adds support for four motors as requested by myself at Freenove/Freenove_4WD_Smart_Car_Kit_for_Raspberry_Pi#41. Strongly based on suggestions by @Ezward. I tested it succesfully on my Freenove 4WD Car.

    (my first open source contribution 🎉)

    opened by jjakubassa 0
  • Anyone success in WSL enviroments, seems the guider from Donkeycar.com IS ERROR?

    Anyone success in WSL enviroments, seems the guider from Donkeycar.com IS ERROR?

    Install Donkeycar on Windows (WSL) The Windows Subsystem for Linux (WSL) lets developers run a GNU/Linux environment -- including most command-line tools, utilities, and applications -- directly on Windows, unmodified, without the overhead of a traditional virtual machine or dualboot setup.

    Install Windows Subsystem for Linux. If using Windows 10 (this is not necessary for Windows 11), turn on Windows 10 "Windows Subsystem for Linux" Feature (Settings > Apps > Programs and Features > Turn Windows features on or off) Download a Linux Distribution from the Microsoft Store (recommend Ubuntu Latest) Open the Ubuntu App and configure.

    Open the Ubuntu App to get a prompt window via Start Menu | Ubuntu

    Install pip using sudo apt install python3-pip

    Install the following two libraries for the UI to work: sudo apt-get install libmtdev1 xclip

    Change to a directory that you would like to use as the head of all your projects.

    mkdir projects cd projects Get the latest donkey from Github. git clone https://github.com/autorope/donkeycar cd donkeycar git checkout main NOTE: The main branch has the latest (unstable) version of donkeycar with experimental features.

    Get a stable release from Github: git clone https://github.com/autorope/donkeycar cd donkeycar git fetch --all --tags git checkout tags/4.3.6.1 Install Donkeycar into Python pip3 install -e .[pc] Once you're done with this, close the Ubuntu terminal and then reopen it so the path changes take effect.

    Experimental Support - GPU Users: Install Tensorflow GPU - only for NVIDIA Graphics cards If you have an NVIDIA card, you should update to the lastest drivers and install Cuda SDK.

    pip3 install tensorflow Create your local working dir: donkey createcar --path /path/to/projects/mycar --template complete

    opened by hsy75 2
  • Is there a donkey APP which is same name with donkey car?

    Is there a donkey APP which is same name with donkey car?

    root@DESKTOP-M4INDEG:/home/donkeycar/proj01/donkeycar# donkey createcar --path /mycar donkey: unrecognized option '--path' usage: donkey [-n num] [-f func] sequence seed donkey -i donkey -h | --help | -v | --version | --features

    I try to Create a Car in WSL enviroment ,and found that thie donkey command is not support createcar ,and it has it own usage, is that same one ,where is the right one?

    opened by hsy75 1
  • Error into  Dockerfile

    Error into Dockerfile

    Hello, if I have to build a docker image with the current dockerfile project, I get this error:

    [C 08:34:18.925 NotebookApp] Bad config encountered during initialization: [C 08:34:18.925 NotebookApp] No such notebook dir: ''/app/notebooks''.

    So I propose to solve this error with my current contribution #1073 with commmand

    RUN mkdir notebooks into Dockerfile if you don't mind.

    opened by salamisodikiolawale 0
  • Add Docker compose feature into this project

    Add Docker compose feature into this project

    Hello, my friend @[email protected] would like to contribut in this project for add docker compose feature. This feature permit using projet easily.

    opened by salamisodikiolawale 0
Releases(4.4.0)
  • 4.4.0(Nov 27, 2022)

    What's Changed

    • 989 namespace drivetrain configurations by @Ezward in https://github.com/autorope/donkeycar/pull/994
    • Fix torch imports for rpi by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/1004
    • Set LOG_LEVEL environment variable to set log level by @Ezward in https://github.com/autorope/donkeycar/pull/1002
    • Specify myconfig in training by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/997
    • Fix web controller recording state so it is latched. by @Ezward in https://github.com/autorope/donkeycar/pull/1007
    • 1005 fix recording yet again by @Ezward in https://github.com/autorope/donkeycar/pull/1009
    • Add gps.py part by @Ezward in https://github.com/autorope/donkeycar/pull/992
    • Fixed bug introduced in PR #997 by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/1011
    • Next gen lidar parts by @Ezward in https://github.com/autorope/donkeycar/pull/918
    • feat: dgym.py corrected for storing lidar data in sim by @Heavy02011 in https://github.com/autorope/donkeycar/pull/1013
    • Fix pandas import error on RPi by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/1015
    • Update NMEA parser to handle bad chars by @Ezward in https://github.com/autorope/donkeycar/pull/1014
    • Fix passing of tub metadata by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/1017
    • Adding VESC support to DonkeyCar by @sisaha9 in https://github.com/autorope/donkeycar/pull/1018
    • Add support for TFMini Lidar by @mgagvani in https://github.com/autorope/donkeycar/pull/1031
    • Fix loss of steering in path_follow template by @Ezward in https://github.com/autorope/donkeycar/pull/1033
    • 1022 add programable buttons to webui by @Ezward in https://github.com/autorope/donkeycar/pull/1026
    • Fix calibrate script by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/1034
    • Move adding camera, controller, drivetrain into functions by @Ezward in https://github.com/autorope/donkeycar/pull/1042
    • 991 gps path follow by @Ezward in https://github.com/autorope/donkeycar/pull/1046
    • UI bug fixes and improvements by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/1045
    • fix donkey gym bug by @sctse999 in https://github.com/autorope/donkeycar/pull/1052
    • Robothat auto record on throttle by @Ezward in https://github.com/autorope/donkeycar/pull/1055
    • Fix test_web_socket on OSX by creating mock outside of assignment. by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/1049
    • Improve training performance when using augmentations / crop and minor model improvements by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/1050
    • Add IMU_ADDRESS configuration by @Ezward in https://github.com/autorope/donkeycar/pull/1064
    • 1043 Handle crossing paths in path follow by @Ezward in https://github.com/autorope/donkeycar/pull/1058
    • version="4.3.25" by @Ezward in https://github.com/autorope/donkeycar/pull/1065

    New Contributors

    • @sisaha9 made their first contribution in https://github.com/autorope/donkeycar/pull/1018
    • @mgagvani made their first contribution in https://github.com/autorope/donkeycar/pull/1031

    Full Changelog: https://github.com/autorope/donkeycar/compare/4.3.6...4.4.0

    Source code(tar.gz)
    Source code(zip)
  • 4.3.6.2(Apr 27, 2022)

  • 4.3.6.1(Mar 31, 2022)

    Note

    This release still has issues with recording data correctly, please install 4.3.6.2 instead.

    This is a bugfix release for Donkey Car 4.3.6. It fixes an issue where the Raspberry Pi and Jetson Nano installations are currently depending on pytorch when driving with auto pilot. The release includes PR #1004.

    Source code(tar.gz)
    Source code(zip)
  • 4.3.6(Mar 13, 2022)

    Note

    There is a bug when running this version on Raspberry Pi or Jetson Nano while driving with auto-pilot. Please install version 4.3.6.2 instead.

    What's Changed

    • Remove docs from dev by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/875
    • Revert to passing full path to model in training by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/873
    • Refactored RC control for GPIO pins by @zlite in https://github.com/autorope/donkeycar/pull/860
    • Add OLED resolution option by @zlite in https://github.com/autorope/donkeycar/pull/879
    • fix saliency map bugs by @BillyCheung10botics in https://github.com/autorope/donkeycar/pull/886
    • Add support for all models by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/884
    • Fix moviepy installation on OSX by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/888
    • Fixed RC control by @zlite in https://github.com/autorope/donkeycar/pull/889
    • Fix version in setup and align with module. by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/902
    • Fix bugs and Improve the approach of makemovie by @BillyCheung10botics in https://github.com/autorope/donkeycar/pull/900
    • Fix issue 912: Cannot start 2D lidar if using a RealSense D435 by @Ezward in https://github.com/autorope/donkeycar/pull/913
    • Support cropping and trapezoidal mask by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/903
    • Fix for memory model inferencing by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/922
    • fix-encoder-pipeline by @Ezward in https://github.com/autorope/donkeycar/pull/929
    • Added an image buffer to fix the artificial latency in sim by @Maximellerbach in https://github.com/autorope/donkeycar/pull/919
    • Support for sixad ps3controller on Nano(2nd try) by @fengye in https://github.com/autorope/donkeycar/pull/931
    • now donkey gets version from setup.py by @Ezward in https://github.com/autorope/donkeycar/pull/935
    • 937-import-imageaugmentation-causes-error by @Ezward in https://github.com/autorope/donkeycar/pull/939
    • Updated stop sign detector part to allow reversing for few iterations by @JoeSiu in https://github.com/autorope/donkeycar/pull/899
    • Added fps counter part by @JoeSiu in https://github.com/autorope/donkeycar/pull/897
    • 954-fix-csic-camera-capture by @Ezward in https://github.com/autorope/donkeycar/pull/955
    • Add back support for tubhist by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/958
    • 963 Install Jetson.GPIO on [nano] by @Ezward in https://github.com/autorope/donkeycar/pull/964
    • Improvements to donkey UI and donkey command by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/962
    • Eliminate unnecessary spaces messing up OLED display by @zlite in https://github.com/autorope/donkeycar/pull/971
    • 961 protect from empty camera image by @Ezward in https://github.com/autorope/donkeycar/pull/967
    • Fix missing import for UI and added windows support where tensorrt is not available by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/975
    • 945 refactor motor drivers by @Ezward in https://github.com/autorope/donkeycar/pull/951
    • 970 imgaug workaround mock augmentations by @Ezward in https://github.com/autorope/donkeycar/pull/978
    • Add argument parser to realsense435i.py main by @Ezward in https://github.com/autorope/donkeycar/pull/979
    • Install imgaug also on the robot and not only the pc, so the donkey c… by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/965
    • Improve CI times by switching from conda to mamba by @DocGarbanzo in https://github.com/autorope/donkeycar/pull/981
    • clamp differential drive throttle and steering by @Ezward in https://github.com/autorope/donkeycar/pull/983
    • 970 enable rc controller in webui by @Ezward in https://github.com/autorope/donkeycar/pull/985
    • Adding FastAI(pytorch) as a first class citizen to the pipeline by @adricl in https://github.com/autorope/donkeycar/pull/982
    • fix syntax error in the joystick creator by @Ezward in https://github.com/autorope/donkeycar/pull/995

    New Contributors

    • @JoeSiu made their first contribution in https://github.com/autorope/donkeycar/pull/899
    Source code(tar.gz)
    Source code(zip)
  • 4.2.1(Jun 10, 2021)

    There was a regression in 4.2 where the --model argument only expected the model name but not the full path. This gets reverted to the previous behaviour

    Source code(tar.gz)
    Source code(zip)
  • 4.2(Apr 28, 2021)

    • The Donkey Gym simulator, which is both super useful for training at home as well as what we use for our virtual races, has been significantly improved. Along with new tracks, it now supports virtual Lidar.

    • Speaking of which, lidar is now supported on real Donkey Cars, too. RPLidar and YPLidar (in beta) 2-D lidars now have parts in Donkey Car - so you can do effective obstacle avoidance, slam, drive in the dark or have a donkey F1/10.

    • Instructions (with pictures!!) how to setup the car to drive with the RC controller that is usually shipped with any car - this provides the ‘classic’ RC driving feel.

    • A new Donkey UI app:

    • You can edit your tub using the app, this replaces donkey tubclean
    • There is also support for training the model
    • You can run and compare two pilots
    • On OSX/Linux you can transfer data between the car and the PC
    • Support for L298 motor controller in the car app
    • Support for both simple and quadrature encoders to add odometry learning and driving
    • Enabling storage of position, gyro, acceleration, velocity in the tub when using the Donkey Gym!
    • MQTT logging
    • donkey findcar now working on RPi 4

    Contributors: zlite, showsep93, sctse999, Maximellerbach, Meir Tseilin, fengye, Heavy02011, BillyCheung10botics, EricWiener, DocGarbanzo.

    Source code(tar.gz)
    Source code(zip)
  • 4.1(Jan 9, 2021)

  • 2.5.8(Nov 6, 2018)

  • 2.5.1(Jun 21, 2018)

    Major changes from 2.2.4

    • Tensorflow version now uses 1.8
    • The separate keras package was removed because its now in Tensorflow 1.8.
    • Default installation method is now via Pypi instead of git clone.
    • Default branch will be changed from dev to master. Master is now used for releases.
    • Images released for PiZero, Pi3B and Pi3B+ models.
    • Car app folder name change from d2 to mycar
    • Pi hostname changed from d2 to donkeypi
    • Default password changed back to raspberry
    • Now by default all data is saved to one Tub.
    • Disk image is Rasbian Stretch not Jessie
    • OpenCV was removed from the disk image and all the parts that used opencv.
    • Pull requests now have the tests run on Travis CI and displayed on Github (yay!)
    Source code(tar.gz)
    Source code(zip)
  • 2.2.4(Jun 21, 2018)

  • V1.0(Jun 25, 2017)

  • V0.11(Mar 24, 2017)

  • V0.2(Feb 9, 2017)

Owner
Autorope
Tools to build small scale self driving cars.
Autorope
Simulation of Self Driving Car

In this repository, the code to use Udacity's self driving car simulator as a testbed for training an autonomous car are provided.

Shyam Das Shrestha 1 Nov 21, 2021
Self-driving car env with PPO algorithm from stable baseline3

Self-driving car with RL stable baseline3 Most of the project develop from https://github.com/GerardMaggiolino/Gym-Medium-Post Please check it out! Th

Sornsiri.P 7 Dec 22, 2022
This script scrapes and stores the availability of timeslots for Car Driving Test at all RTA Serivce NSW centres in the state.

This script scrapes and stores the availability of timeslots for Car Driving Test at all RTA Serivce NSW centres in the state. Dependencies Account wi

Balamurugan Soundararaj 21 Dec 14, 2022
CRISCE: Automatically Generating Critical Driving Scenarios From Car Accident Sketches

CRISCE: Automatically Generating Critical Driving Scenarios From Car Accident Sketches This document describes how to install and use CRISCE (CRItical

Chair of Software Engineering II, Uni Passau 2 Feb 9, 2022
A project which aims to protect your privacy using inexpensive hardware and easily modifiable software

Protecting your privacy using an ESP32, an IR sensor and a python script This project, which I personally call the "never-gonna-catch-me-in-the-act-ev

null 8 Oct 10, 2022
Software & Hardware to do multi color printing with Sharpies

3D Print Colorizer is a combination of 3D printed parts and a Cura plugin which allows anyone with an Ender 3 like 3D printer to produce multi colored

null 343 Jan 6, 2023
SLIDE : In Defense of Smart Algorithms over Hardware Acceleration for Large-Scale Deep Learning Systems

The SLIDE package contains the source code for reproducing the main experiments in this paper. Dataset The Datasets can be downloaded in Amazon-

Intel Labs 72 Dec 16, 2022
(CVPR 2022) A minimalistic mapless end-to-end stack for joint perception, prediction, planning and control for self driving.

LAV Learning from All Vehicles Dian Chen, Philipp Krähenbühl CVPR 2022 (also arXiV 2203.11934) This repo contains code for paper Learning from all veh

Dian Chen 300 Dec 15, 2022
Self-Supervised Pillar Motion Learning for Autonomous Driving (CVPR 2021)

Self-Supervised Pillar Motion Learning for Autonomous Driving Chenxu Luo, Xiaodong Yang, Alan Yuille Self-Supervised Pillar Motion Learning for Autono

QCraft 101 Dec 5, 2022
Graph Self-Attention Network for Learning Spatial-Temporal Interaction Representation in Autonomous Driving

GSAN Introduction Code for paper GSAN: Graph Self-Attention Network for Learning Spatial-Temporal Interaction Representation in Autonomous Driving, wh

YE Luyao 6 Oct 27, 2022
Reinforcement learning for self-driving in a 3D simulation

SelfDrive_AI Reinforcement learning for self-driving in a 3D simulation (Created using UNITY-3D) 1. Requirements for the SelfDrive_AI Gym You need Pyt

Surajit Saikia 17 Dec 14, 2021
Action Recognition for Self-Driving Cars

Action Recognition for Self-Driving Cars This repo contains the codes for the 2021 Fall semester project "Action Recognition for Self-Driving Cars" at

VITA lab at EPFL 3 Apr 7, 2022
PaddleRobotics is an open-source algorithm library for robots based on Paddle, including open-source parts such as human-robot interaction, complex motion control, environment perception, SLAM positioning, and navigation.

简体中文 | English PaddleRobotics paddleRobotics是基于paddle的机器人开源算法库集,包括人机交互、复杂运动控制、环境感知、slam定位导航等开源算法部分。 人机交互 主动多模交互技术TFVT-HRI 主动多模交互技术是通过视觉、语音、触摸传感器等输入机器人

null 185 Dec 26, 2022
ManiSkill-Learn is a framework for training agents on SAPIEN Open-Source Manipulation Skill Challenge (ManiSkill Challenge), a large-scale learning-from-demonstrations benchmark for object manipulation.

ManiSkill-Learn ManiSkill-Learn is a framework for training agents on SAPIEN Open-Source Manipulation Skill Challenge, a large-scale learning-from-dem

Hao Su's Lab, UCSD 48 Dec 30, 2022
OSLO: Open Source framework for Large-scale transformer Optimization

O S L O Open Source framework for Large-scale transformer Optimization What's New: December 21, 2021 Released OSLO 1.0. What is OSLO about? OSLO is a

TUNiB 280 Nov 24, 2022
An easy way to build PyTorch datasets. Modularly build datasets and automatically cache processed results

EasyDatas An easy way to build PyTorch datasets. Modularly build datasets and automatically cache processed results Installation pip install git+https

Ximing Yang 4 Dec 14, 2021
Clinica is a software platform for clinical research studies involving patients with neurological and psychiatric diseases and the acquisition of multimodal data

Clinica Software platform for clinical neuroimaging studies Homepage | Documentation | Paper | Forum | See also: AD-ML, AD-DL ClinicaDL About The Proj

ARAMIS Lab 165 Dec 29, 2022
[IROS'21] SurRoL: An Open-source Reinforcement Learning Centered and dVRK Compatible Platform for Surgical Robot Learning

SurRoL IROS 2021 SurRoL: An Open-source Reinforcement Learning Centered and dVRK Compatible Platform for Surgical Robot Learning Features dVRK compati

Med-AIR@CUHK 55 Jan 3, 2023
FactSeg: Foreground Activation Driven Small Object Semantic Segmentation in Large-Scale Remote Sensing Imagery (TGRS)

FactSeg: Foreground Activation Driven Small Object Semantic Segmentation in Large-Scale Remote Sensing Imagery by Ailong Ma, Junjue Wang*, Yanfei Zhon

Kingdrone 43 Jan 5, 2023