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