2021 - Algoritmi de Inteligență Artificială pentru a creea o mașină...
Transcript of 2021 - Algoritmi de Inteligență Artificială pentru a creea o mașină...
Algoritmi de Inteligență Artificială pentru a creea o mașină
autonomă ieftină
Ionuţ Alexandru Budişteanu 1
(1) Universitatea din București – student, Facultatea de Matematică-Informatică
E-mail: [email protected]
Abstract
Această lucrare oferă informații despre tehnicile și paradigmele folosite pentru a creea
softuri cu Inteligență Artificială utilizate pentru luarea decizilor unei mașini fără șofer .
Versiunea mașinii fără șofer se dorește a fi una ieftină care ar costa până in 4000-5000$.
Cuvinte cheie: Inteligență Artificială, mașini fără șoferi, mașini autonome, recunoașterea
semnelor de circulație, senzori, Lidar 3D
1. Introducere
Scopul lucrării este crearea unei maşini fără şofer care să fie capabilă să conducă autonom pe
străziile din mediul urban. Un studiu de caz folosind statistici din Marea Britanie despre accidentele rutiere ne arată că 87% dintre ele sunt cauzate numai din cauza erorii umane. O maşina care se conduce singură va fi foarte folositoare şi sigură pentru întreaga omenire. Pentru a realiza acest proiect, s-au realizat mai multe softuri concurente care procesează date, interpretează mediul cu Inteligenţă Artificială pentru a recunoaşte si a propune o direcţie pe care maşina inteligentă trebuie să o urmeze.
În urmă cu doi ani, Google a reuşit să creeze prima maşină autonomă din lume, care a mers 300000 mile. Problema maşinii fără şofer Google, este costul – utilizează un Lidar 3D care este foarte scump (75.000$) şi are o rezoluţie foarte mare. Lidarul 3D este folosit pentru a recunoaşte mediul înconjurător, obstacolele şi să creeze o hartă 3D cu rezoluţie mare. Soluţia mea este o altă variantă a Lidarul 3D, cu o rezoluţie mai scăzută, care ar costa numai 4000$, restul de informative este extras cu 3 camere special montate pentru a recunoaşte din imagini linile de marcaj, bordurile, poziţia maşinii si nu doar din datele de la Lidarul 3D.
Puterea de calcul este realizată de 4 laptopuri multi-core care folosesc Inteligenţă Artificială pentru a recunoaşte semnele de circulaţie, linile de marcaj, maşinile şi bordurile. Deasemenea, folosind coordonatele GPS şi particle filter maşina poate să se localizeze pe Google Maps, să creeze o bază de date globală cu toate semnele de circulaţie, să procesează date de la Lidarul 3D, senzori magnetici, accelerometru. Software-ul este distribuit, există un software de supervizare şi comandă motorele pas cu pas pentru controlul volanului, acceleraţiei şi frânei. Acest asamblu de softuri si hardware propune o traiectorie şi i-au decizii în funţie de situația mediului
2. Diagrama proiectului
Următoarea diagramă reprezintă conceptual cum funcționează sistemul gândit de către mine pentru a creea o mașină fără șofer foarte ieftină. Mașina conține două camere poziționate special pentru a recunoaște linile de marcaj din stânga și dreapta mașinii. O altă cameră de filmat este poziționată în poziția șoferului pentru a recunoaște semnele de circulație și linile de marcaj ca și un șofer normal. Radarul 3D care este denumit și Rangefinder sau Lidar este atașat mașinii deasupra
Universitatea din Bucureşti, Facultatea de Psihologie şi Ştiinţele Educaţiei 292
pentru a creea o hartă 3D despre mediul înconjurător în timp real. Datele 3D, linile de marcaj și semnele de circulație sunt folosite de către un software supervizor pentru a calcula decizia mașinii cum să schimbe volanul astfel încât să evite orice fel de coliziune.
Figura 1. Diagrama mașinii fără șofer – puterea de calcul pentru Inteligență Artificială este redată de către
4-5 laptopuri diferite. Software-ul supervizor cuantifică toate datele procesate de la toate celelalte
componente software și calculează cum trebuie schimbat volanul astfel încât mașina să rămână în centrul
benzii de circulatie și să evite obstacolele.
3. Recunoaşterea linilor de marcaj folosind Inteligență Artificială
Una dintre componentele software este capabilă să recunoască liniile de marcaj de pe străzi.
Pentru detecţia liniilor se foloseşte un algoritm continuu, particle filter, de monitorizare a liniilor
de marcaj în timp folosind 3 camere de filmat. Două dintre imagini sunt preluate din partea stângă
şi dreapta a maşinii. Alte imagini sunt preluate din poziţia şoferului pentru a recunoaşte liniile de
marcaj dintr-o vedere de sus. Software-ul este capabil să calculeze distanţa dintre liniile de marcaj,
şi să evalueze probabilistic unde ar trebui să fie liniile de marcaj chiar dacă nu sunt prezente.
Figura 2. Această componentă software este capabilă să recunoască linile de marcaj din imagini și să
corecteze traiectoria mașinii astfel încât mașina să rămână pe banda de circulație tot timpul.
Conferinţa Naţională de Învăţământ Virtual, ediţia a XI-a, 2013
293
Figura 3. Rezultatele de la diverse simulări prin orașul Rm. Vâlcea
4. GPS Software
Câteodată detecția semnelor de circulație nu poate fi realizată din cauza că există obstacole
precum copaci, oameni sau camioane și pot acoperi semnele de circulație. Pentru a evita acest
lucru și a îmbunătății recunoașterea semnelor de circulație, toate mașinile fără șofer vor colabora
pentru a crea o bază de date globală cu toate semnele de circulație și pozițiile lor GPS. Fiecare
maşină autonomă care foloseşte acest software v-a înregistra la rândul ei alte semne de circulaţie
pe care le-a recunoscut şi v-a modifica gradul de încredere a semnului de circulaţie pentru toţi
utilizatorii.
Figura 4. Linia albastră reprezintă drumul parcurs de mașină. Semnele de circulație au fost recunoscute
în timp real de către software și înregistrate în baza de date globală
Universitatea din Bucureşti, Facultatea de Psihologie şi Ştiinţele Educaţiei 294
5. Lidar-ul 3D
LIDAR-ul este un radar 3D şi un software ce permite crearea unei harţi 3D despre mediul
înconjurător prin care maşina navighează. Folosirea lui este necesară pentru evitarea obstacolelor.
6. 3D Lidar software
Momentan datele sunt trimise prin portul serial RS232. Software-ul este capabil să citească
datele de pe portul COM şi trimite datele procesate la software-ul supervizor.
Figura 7. 3D Lidar software – care este capabil să citească datele de la Lidar
Conferinţa Naţională de Învăţământ Virtual, ediţia a XI-a, 2013
295
7. 3D Lidar map software
Figura 8. Harta generată. Cuburile inseamnă obstacole. Există 5 mașini detectate
O altă componentă software esenţială a fost creată pentru a vizualiza datele 3D de la Lidar.
Harta 3D este creată folosind OpenGL şi este foarte utilă în debugging pentru a înţelege mai bine
datele. În imaginea anterioară, cubuleţele reprezintă obstacolele. Se pot identifica 5 maşini diferite
şi poate fi urmărită evoluţia lor in timp real cât şi probabilistic prin efectul Doppler.
8. Supervizor software
Software-ul de supervizare este cel care colectează toate datele, rezultatele de la celelalte
componente software şi calculeze decizia finală a maşinii astfel încât să rămână pe banda ei de
circulaţie. Mai mult decât atât, acest software sincronizează toate componentele software, este
folosit pentru a porni şi a controla celelalte component software (Traffic signs, Traffic lanes
recognition, GPS Software, 3D Lidar software) de la distantă. Comunicaţia este realizată printr-un
protocol dedicat care foloseşte wireless.
Comunicația a fost realizată printr-un protocol propriu realizat de mine și folosește o rețea
locală wireless. Într-o propozitie acest software este capabil să colecteze toate datele de la celelalte
părți software și calculează decizia mașinii.
Acest software crează un graf Model Based Design pentru a ilustra situația curentă la celelalte
componente software. Folosind tehnica drag&drop, utilizatorul este capabil să controleze
parametrii componentelor software de la distanță.
Universitatea din Bucureşti, Facultatea de Psihologie şi Ştiinţele Educaţiei 296
Figure 9. Imagine luată de la software-ul supervizor
9. Partea electronică
Acest proiect prezintă și o versiune hardware a schemei Lidar – un fel de radar 3D și un
software ce permite crearea harții 3D a mediului înconjurător în care mașina navighează. Folosind
Lidarul, mașina va lua decizii astfel încât să evite orice fel de obstacol. Un motor pas cu pas este
folosit să rotească platanul cu PCB-ul care conţine laserele, fotodetectoarele, alimentarea si
PIC16F877. Fotodioda este un fel fotodetectoare capabilă să convertească lumina într-un current
electric. Fotodetectoarea este foarte specială, şi folosită doar în Range Findere. Este un APD –
Avalanche Photodiode Detector – sursa este la 200 V.
Datele primite: No. of APDs*No of spins per second*No. of spin grades*No. bits
16 x 10Hz x180° (or 360 or 1800) x 10 bits = 288,000 bits of data/s 28.800 pixels with the
resolution of 10 bits
Sunt 6 dispozitive electronice:
1) Base microcontroller, driving stepper – LIDAR, interfaţă pentru RS232
2) LIDAR microcontroller – convertor analog-digital rapid prin SPI, transmiţător wireless
3) Convertor ToF(Time of Flight) într-un semnal analogic.
4) Generator de clock-uri pentru Pulsed Lasere– 4 kHz, 0.001%, durata impulsului ~ 40 ns
5) Generator-ul pulsed laser, 35A/40-60 ns
6) Avalanche Photodiode Detector – comparator şi high speed astabile
Conferinţa Naţională de Învăţământ Virtual, ediţia a XI-a, 2013
297
9.1 Convertor ToF(Time of Flight) într-un semnal analogic
Circuitul electronic calculează diferenţa de timp de când a fost lansat un impuls luminos şi
când fost reflectat de la ţintă. Pentru aceasta se folosește un bistabil de tip D. Semnalul rezultat
este integrat folosind un integrator cu bandă mare de lucru, apoi este aplicat circuitului sample and
hold folosind CD4067 şi un repetor. Montajul creează o tensiunea proporţională cu durata pulsului.
Folosesc această metoda deoarece convertoarele analog digitale necesită o tensiune de conversie
stabilă pentru cel puţin o microsecundă.
Figura 10. Schema electronică al convertor-ului Time of flight
10. Rezultate
O maşină fără şofer reduce distanţa dintre maşini, reducând aglomeraţia numărul de
ambuteiaje, eliminând greşelile umane şi permite persoanelor cu dezabilităţi să parcurgă distanţe
mari. Calculatorul ca şi şofer nu va face nici o dată greşeli. Va fi capabil să calculeze foarte precis
pentru a reduce distanţa dintre maşini. Prin această metodă, ambuteiajele rutiere vor fi mai scurte,
spațiile de parcare mai goale şi foarte mult combustibil foarte să fie salvat.
Viabilitatea ideei a fost probată de Google Stanford self-driving car în cele 300000 mile
parcurse fără nici un accident. Aceasta este și durata de viaţă a unei maşini fiabile.
Acestă lucrare este un rezumat din cele 120 de pagini a lucrării originale care a fost prezentate
la concursul “Intel International Science and Engineering Fair 2013” din Pheonix, Arizona.
Bibliografie
1 Gh. Ștefan: Circuite și sisteme digitale, Ed. tehnică, 2000.
2 Cadence Design Systems, PSpice User's Guide, Second edition, 31 May 2000.
3 Sztojanov, E. Borcoci, N. Tomescu, Electronica aplicata - De la poarta TTL la Microprocesor, Vol I si
Vol II, Ed. Technica, 1987.
Universitatea din Bucureşti, Facultatea de Psihologie şi Ştiinţele Educaţiei 298
4 Răzvan Andonie, Angel Caţaron, Inteligenţă Computaţională, Transylvania University Press, Romania,
2002.
5 Catalin-Daniel Caleanu, Virgil Tiponut Neural Networks – Applications, Ed. Politehnica, 2001, ISBN
973-9389-67-8.
6 Ioan Dziţac, Inteligenţă Artificială, Ed. Universităţii Aurel Vlaicu, Arad 2008.
7 The Mathworks, Inc. MATLAB Primer R2013b, 2013.
8 Nicolae Ţăndăreanu, Baze de cunoştinţe, Editura Sitech, 2004.
9 Kristjan Macek, Brian Williams, Sascha Kolski, and Roland Siegwart.
10 A lane detection vision module for driver assistance. In MechRob, 2004.
11 Stefan Vacek, Stephan Bergmann, Ulrich Mohr, and Ruudiger Dillmann Rule-based tracking of multiple
lanes using particle filters, IEEE International Conference on Multisensor Fusion and Integration for
Intelligent Systems, University of Karlsruhe, Karlsruhe, Germany.
12 Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern Approach, Berkeley University,
Pretince Hall, 2003, ISBN-13: 9780137903955.
13 Pallab Dasgupta, Introduction to Artificial Intelligence, Indian Institute of Technology Kharagpur.
14 Bruno Dion, Nick Bertone, An overview of avalanche photodiodes and pulsed lasers as they are used in
3D laser radar type applications, CMC Electronics.
15 Three-Dimensional Imaging Laser Radars with Geiger-Mode Avalanche Photodiode Arrays , Marius A.
Albota, Brian F. Aull, Daniel G. Fouche, Richard M. Heinrichs, Lincoln Laboratory MIT.
16 Silicon Avalanche Photodiodes, A. Stoykov & R.Scheuermann, Laboratory for Muon Spin
Spectroscopy, Paul Scherrer Institut, CH-5232 Villigen PSI, Switzerland.