Using Artificial Intelligence to create a low cost self

Transcription

Using Artificial Intelligence to create a low cost self
It’s all about passion
Ionut Alexandru Budisteanu
Freshmen student at University of Bucharest
How much you desire?
and
What you desire?
A sculptor can do a broom
but also a Stradivarius
An inventor until invents
something new has to
reinvent the wheel a few
times
There is always a natural
way from simple to complex.
You can not impose overnight
"Let's do teleportation".
I didn’t start overnight my
self-driving car project
Using Artificial Intelligence
to create a low cost
self-driving car
Why self-driving cars?
• A self-driving car is an autonomous car which should be
able to drive automatically without any driver in the
urban areas.
• Road traffic injuries caused an estimated 1.5 million
deaths worldwide in the year 2004 and more than 50
million injured.
• A study using British and American crash reports as data,
found that 87% of crashes were due solely to driver
factors.
• A self-driving car can be very safe and useful for the
entire mankind. In order to realize this, several
concurrent software applications process data using
Artificial Intelligence to recognize and propose a path
which an intelligent car should follow.
Current self-driving car
problems
• The current autonomous car problem is caused by
using a very expensive 3D Lidar ($ 75,000), with a
very high resolution. The 3D LIDAR is used to
recognize the environment and create a high
resolution 3D map. By using it, the car will take the
decision to avoid obstacles.
HDL-32E - Velodyne
Lidar, 75,000$
My project
• My solution is a minimal 3D Lidar with a resolution of
1 M pixel/s that would only cost $4000 and 3
special cameras mounted to recognize from
images the marker lines, borders and real time
position of the car instead of the 3D radar.
Low-cost self-driving car
Low-cost self-driving car
Parallel and distributed algorithms use AI to
recognize traffic signs, demarcation lanes and to
calculate exactly or using probabilities the position
of the car on the road, where the roadsides are and
to propose a new direction even in the absence of
traffic lanes.
• They process the data from a 3D Lidar, create a 3D
map using OpenGL, using GPS coordinates and
particle filters, localize the car, the management of
a common database with traffic signs, acceleration
sensors, a distributed software, a supervisory system
and the software which drives the stepper motor to
turn the steering wheel, acceleration and braking.
•
Traffic lanes recognition
• The software is able to recognize the demarcation
traffic lanes on the streets. The algorithm is a unique
method that recognizes traffic lanes using three
different webcams.
• Two images were taken from the left and right side
of the car. Another image was taken from a
webcam placed in the position of the driver to spot
the demarcation lanes from the top view.
• The software is able to compute the distance
between the lanes and the probability how close
are the car’s wheels to traffic lanes.
Traffic lanes recognition
Traffic signs detection based on
color filtration and Artificial
Neural Networks
The algorithm is parallel and it was developed using a multi-threading solution.
The software generates a thread for each core. The images are taken from a topview webcam and are inserted in a synchronous queue. Then, each CPU core, after
finishing the last task, verifies whether there is anything in that synchronous
queue, and if yes it will take the new task from the queue. The operations with the
queue were done using critical sections
GPS Software and Traffic
signs detection
The 1st version of 3D Lidar – 18k
pixels, 200$ demo version
• This project presents a hardware version of a LIDAR
– a 3D Lidar and a software for creating a 3D
environment in which the car navigates.
• By using it, the car will take the decision to avoid
obstacles.
• The 3D LIDAR helps the entire software system to
increase the confidence of decision.
• A stepper motor is used to spin the PCB with the
photodiodes, alimentation and a PIC16F877. The
photodetector is capable of converting light into
either current or voltage. I use APD – Avalanche
Photodiode Detector – source at 200 V.
The 1st version of 3D Lidar – 18k
pixels, 200$ demo version
The 3D Lidar on the car
3D Radar
Cameras
The 3D Lidar on the car
• The data is sent via RS232 serial port and the
following software is able to read it and to send the
3D Data to the supervisor software.
3D Map software
Electronic parts
of the 3D Lidar
There are only 6 electronic parts:
• Base microcontroller, driving stepper – LIDAR,
interface for RS232
• LIDAR microcontroller – fast convertor analogical
digital SPI, wireless transmitter
• Convert the ToF(Time of Flight) into an analogical
signal.
• Clock generator – 4 kHz, 0.001%, length of duration
~ 40 ns
• Pulsed laser generator, 35A/40-60 ns
• APD photodiode, comparator and high speed A
stable
Base microcontroller, driving stepper
– LIDAR, interface for RS232
This diagram shows the computer interface and stepper motor control. The
electronic circuit diagram contains a receiver that collects data from the
rotating LIDAR. The transmission is via a 2-GHz transceiver.
Convert the ToF(Time of Fly)
into an analogic signal.
The electronic circuit calculates the time difference between the pulse and
reception of the reflected signal from the target. For this I used a D flip-flop.
The resulting signal is integrated with a high-frequency integrator, then is
applied to a sample and hold circuit created from a switch CD4067 and a
repeater. The circuit returns a voltage proportional to the pulse duration.
Clock generator – 4 kHz, 0.001%,
length of duration ~ 40 ns
Laser pulse transmission method is called Pulsed Laser and involves the use
of large currents in the tens of amperes of short duration, 40-60 nanoseconds,
with a maximum repetition rate of 3 kHz. Ensuring optical power level of 70
Wats. Energy is very high but because the pulse duration is very short, the
reflected signal is much higher than the ambient light. The latest version uses
an infrared laser OSRAM SPL 90-3, optical power 75 Watts, 35 Amperes.
Timer
Pulsed laser
OSRAM SPL 90-3
Monostable widens
pulse which was very
short.
Master software
Project status
•
Traffic signs detection 90%
o
o
o
o
o
o
•
Traffic lanes detection 90%
o
o
o
o
o
•
Multi-threading algorithm for detection
HSV Filter thresholds (searching for better thresholds)
Offline simulations
Real time simulations
Communication with the GPS and Google Maps
Software component
•
Creating the Common Traffic Signs Database
o Giving feedbacks for the Common
Traffic Signs Database
•
Use the Common Traffic Signs Database
Communication with the Supervisor Software using a
local network
Multi-threading algorithm for lane detections
Multiple thresholds
Offline simulations
Real time simulations
Communication with the Supervisor Software using a
local network
•
o
o
o
o
o
o
o
o
o
•
o
Reading the data from GPS
Mashup using the Google Maps API v3.0
Integrating the GPS with Google Maps
Offline simulations
Real time simulations
Communication with the Traffic Signs Detection
Software component
•
Creating the Common Traffic Signs Database
o Giving feedbacks for the Common
Traffic Signs Database
•
Send and use the Common Traffic Signs
Database
Communication with the Supervisor Software using a
local network .
o
o
o
o
•
APD – Avalanche Photodiode Detector – source 200 V
APD – Trans Impedance – Amplifier
Timer generator
Laser pulse circuit
Circuit for calculus for Time to Fly(TOF)
Conversion integrator
Amplifier
Sample and Hold
Circuit PIC16F877
•
Transmission
•
Reception
•
Circuit driver stepper motor
3D Radar receiver Software
o
GPS and Google Maps Software 90%
o
o
o
o
o
o
3D Radar – LIDAR 8 APD – 10 Hz
Reading the data from PIC16F877 using COM Port or
RS232
OpenGL
•
Create a 3D world from the 3D data
•
Save the data for further offline simulations
using timestamps
Offline simulation
Real time simulations
Communication with the Supervisor Software
Supervisor software 70%
o
o
o
o
o
o
Communications with the all other software
components
Control all other software components 50%
Communication with PIC16F877
Making a decision and send the steering movements
to PIC16F877
Offline simulations 70%
Real Time simulations
Home made laboratory
Home made laboratory
Will be in the future
self-driving cars?
• The question should be rephrased in
“when will be”.