GithubHelp home page GithubHelp logo

mbechtel2 / deeppicar-v2 Goto Github PK

View Code? Open in Web Editor NEW
121.0 15.0 40.0 2.39 MB

End-to-end deep learning based autonomous RC car using Raspberry Pi 3.

License: GNU General Public License v2.0

Python 56.13% Shell 43.87%

deeppicar-v2's Introduction

A newer version of the DeepPicar can be found at the following repository: https://github.com/CSL-KU/DeepPicar-v3

DeepPicar

DeepPicar is a low-cost autonomous RC car platform using a deep convolutional neural network (CNN). DeepPicar is a small scale replication of NVIDIA's real self-driving car called Dave-2, which drove on public roads using a CNN. DeepPicar uses the same CNN architecture of NVIDIA's Dave-2 and can drive itself in real-time locally on a Raspberry Pi 3.

Video:

DeepPicar Driving

Some other examples of the DeepPicar driving can be found at: https://photos.app.goo.gl/q40QFieD5iI9yXU42

If you wish to recreate the paper's findings, you can train one or more models using our dataset which can be found at: https://drive.google.com/open?id=1LjIcOVH7xmbxV58lx3BClRcZ2DACfSwh

Please refer to Embedded Platform Comparison for the steps needed to run the experiments conducted in the paper.

Hardware Configuration

DeepPicar is comprised of the following components:

  • Raspberry Pi 3 Model B: $35
  • New Bright 1:24 scale RC car: $10
  • Playstation Eye camera: $7
  • Pololu DRV8835 motor hat: $8
  • External battery pack & misc.: $10

Please refer to Parts and Assembly for assembly steps, and Setup and Operation for in-depth installation and usage instructions.

Acknowledgement

The DeepPicar code utilizes MIT's DeepTesla (https://github.com/lexfridman/deeptesla), which provides a TensorFlow version of NVIDIA Dave-2's CNN.

NVIDIA Dave-2 (and its CNN) is described in the following paper. https://arxiv.org/pdf/1604.07316

Citation

The paper for DeepPicar can be found at https://arxiv.org/abs/1712.08644. It can be cited using the following BibTeX entry:

@inproceedings{bechtel2018picar,
	title = {DeepPicar: A Low-cost Deep Neural Network-based Autonomous Car},    
	author = {Michael Garrett Bechtel and Elise McEllhiney and Minje Kim and Heechul Yun},
	booktitle = {IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA)},
	year = {2018}
}

deeppicar-v2's People

Contributors

aleonnet avatar heechul avatar jvsalo avatar mbechtel2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deeppicar-v2's Issues

no opencv window appears

I followed the steps for the DeepPi car construction and software. I had a problem with the "import Image" but it seemed to be fixed with pip install http://effbot.org/downloads/Imaging-1.1.6.tar.gz.
Now when I run the picar-mini-kbd-common.py the data starts to appear in the C prompt, but there is no openCV window for me to click on to control the car with the indicated keystrokes.
Is it because there are lines that are commented out, and they need to be restored, or - sorry, I'm still trying to learn all of this - is it some other issue that I am unaware of?
Thanks in advance for your help.

Model loses performance after the first few laps

Hi @mbechtel2 and @heechul,
First of all great job! This is one of the best implementations of self driving car on embedded devices I've ever tried.

However, I've trained the car in a lot of conditions (light, speed) and the model performs well on 1st to 3rd lap at most and then starts to lose track. I'm even using Pi 3B+ which lower the latency by 10ms average (bellow the 50ms target). I also tweaked the code to add a new actuator and ps4 joystick to achieve a continuous and soft steering performance.

I can't figure it out what I'm doing wrong. Please help me.

Thank you. Regards,
Alessandro

Code not running due to V4L2 errors (amongst others)

I get these error messages when trying to run the code. It has the correct camera and setup...Not understanding why V4L2 is throwing an error (it did work once, but then stopped again). Is it the wrong version of OpenCV?

Initilize camera.
VIDEOIO ERROR: V4L2: Pixel format of incoming image is unsupported by OpenCV
Unable to stop the stream: Device or resource busy
start camera thread
camera init completed.
OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /build/opencv-L65chJ/opencv-3.2.0+dfsg/modules/highgui/src/window.cpp, line 304
Traceback (most recent call last):
File "picar-mini-kbd-common.py", line 145, in
cv2.imshow('frame', frame)
cv2.error: /build/opencv-L65chJ/opencv-3.2.0+dfsg/modules/highgui/src/window.cpp:304: error: (-215) size.width>0 && size.height>0 in function imshow

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.