Donkey Car Make an RC car drive itself with an end-to-end neural - - PowerPoint PPT Presentation

donkey car
SMART_READER_LITE
LIVE PREVIEW

Donkey Car Make an RC car drive itself with an end-to-end neural - - PowerPoint PPT Presentation

Donkey Car Make an RC car drive itself with an end-to-end neural network. Open Source (MIT) Python Raspberry Pi Keras / Tensorflow OpenCV Agenda One year and one day of Donkey Cars. How the hardware and software works? Tips to work with


slide-1
SLIDE 1

Donkey Car

Make an RC car drive itself with an end-to-end neural network. Open Source (MIT) Python Raspberry Pi Keras / Tensorflow OpenCV

slide-2
SLIDE 2

One year and one day of Donkey Cars. How the hardware and software works? Tips to work with neural network autopilots. What's next for DIY self driving? Agenda

slide-3
SLIDE 3

Will Roscoe Software Adam Conway Hardware

slide-4
SLIDE 4

Roscoe makes pitch for competition to demonstrate AutoBART.

Donkey software refactored to be modular.

October, 2016

slide-5
SLIDE 5

Chris Anderson hosts first DIYRobocar meetup in Carl Bass’ workshop.

November, 2016

slide-6
SLIDE 6

First time DIYRobocars raced in Oakland Pipe Factory.

January, 2017

slide-7
SLIDE 7

Improved hardware with Donkey2

March, 2017

slide-8
SLIDE 8

Many more people build donkey.

July - August, 2017

slide-9
SLIDE 9

Faster and with obstacle avoidance.

October 2017

slide-10
SLIDE 10

We are approaching human level racing.

slide-11
SLIDE 11

How does it work?

slide-12
SLIDE 12

Donkey Car - Instructions

donkeycar.com

Hardware instructions. Software Docs Help Brawl

slide-13
SLIDE 13

Donkey Car - Hardware Steps

  • 1. Get Parts ($200)
  • 2. Assemble Parts (1 hour)
slide-14
SLIDE 14

Donkey Car - Hardware Architecture PCA9685

5V, 00s mA

i2c

Steering Servo

ESC 5v 3A

  • Simplest possible hardware that we

could build for a camera driven car.

  • Enables Side-quests

○ Lidar ○ Odometry ○ Joystick controller ○ IMU

slide-15
SLIDE 15

Donkey Car - Software Goal

Image (120 x 160) Steering (-1 to 1) Throttle (-1 to 1) Drive Mode (manual / auto)

Drive Perfectly.

slide-16
SLIDE 16

Get user input. Take picture. Update servo. Update motor. Get autopilot input Save data.

Donkey Car - Software Architecture

Run the “vehicle loop” 30 times per second.

slide-17
SLIDE 17

Donkey Car - Other Software Architectures

Controller Camera Servo Motor Autopilot Datastore Message Queue Publisher / Subscriber CAN Bus

Cars

slide-18
SLIDE 18

Get user input. Take picture. Update servo. Update motor. Get autopilot input Save data.

Donkey Car - Software Architecture

But.... KISS

slide-19
SLIDE 19

Get user input. Take picture. Update servo. Update motor. Get autopilot input Save data.

Donkey Car - Software Architecture

Camera vehicle state

slide-20
SLIDE 20

Get user input. Update servo. Update motor. Get autopilot input Save data.

Donkey Car - Software Architecture

Take picture. Webserver Browser Http POST vehicle state

slide-21
SLIDE 21

Get user input. Take picture. Update servo. Update motor. Get autopilot input Save data.

Donkey Car - Software Architecture

Neural net Steering & Throttle vehicle state

slide-22
SLIDE 22

Get user input. Take picture. Update servo. Update motor. Get autopilot input Save data.

Donkey Car - Software Architecture

Servo PWM Signal PWM Signal ESC Motor Motor Controller PWM Value PWM Value Example PWM Signals vehicle state

slide-23
SLIDE 23

Get user input. Take picture. Update servo. Update motor. Get autopilot input Save data.

Donkey Car - Software Architecture

vehicle state .jpg .json user/steering: .3 user/throttle: .4

slide-24
SLIDE 24

Donkey Car - Software Installation

Get your donkey driving. 1. Clone donkey disk image. 2. donkey createcar --path ~/d2 3. python d2/manage.py drive 4. Go to d2.localhost:8887 in your browser.

slide-25
SLIDE 25

Get training data. Drive around the track ~20 times to collect 10-50k records.

slide-26
SLIDE 26

Prepare training data. 1. Transfer records to computer. 2. Remove bad data.

slide-27
SLIDE 27

Train an autopilot using Keras / Tensorflow.

slide-28
SLIDE 28

Test drive… repeat.

slide-29
SLIDE 29

Collect Data Train Pilot Test Pilot

slide-30
SLIDE 30

Keras / Tensorflow Autopilots

slide-31
SLIDE 31

Neural network. Image Array Steering + Throttle 120 pixels high 160 pixels wide 3 RGB channels Convolution layers Fully connected layers

slide-32
SLIDE 32

Can we test an autopilot without driving?

slide-33
SLIDE 33

What’s next for Donkey.

slide-34
SLIDE 34

More competitions. diyrobocars.com Next race is this weekend in Oakland 10am - 2pm. 2 day Hackathon in Vegas Nov 26-27

slide-35
SLIDE 35

Simulators

slide-36
SLIDE 36

Additional data. More sensors. Pooling data from multiple cars..

slide-37
SLIDE 37

New Environments

slide-38
SLIDE 38

Better Autopilots Modular Nets Maps Stateful

slide-39
SLIDE 39

Join us.

slide-40
SLIDE 40

1 - Build your own car or try to drive the simulator.

Web Computer Vision Deep Learning Hardware

2 - Hack on any part that interests you.

slide-41
SLIDE 41

Instructions to build your own car. donkeycar.com Race events / meetups. diyrobocars.com Stay in touch: Will Roscoe: @dataduce Adam Conway @acb0t (with a zero)