Documente Academic
Documente Profesional
Documente Cultură
LUCRARE DE DIPLOMĂ
2018
- Cuprins -
Introducere …………………………………………………………………………………….. 4
I. Vehiculul autonom ....................................................................................................... 6
1.1. Istoric ....................................................................................................................... 6
1.2. Cum se defineşte un vehicul autonom ..................................................................... 8
1.3. Tendiţe.................................................................................................................... 10
1.4. Funcţiile vitale ale unui vehicul autonom................................................................ 19
1.5. Companii implicate................................................................................................. 21
II. Prezentarea sitemelor Raspberry Pi 3 Model B, Arduino NANO, PCB-ul şi
comunicarea acestora prin I2C..................................................................................... 23
2.1. Raspberry Pi 3 Model B.......................................................................................... 23
2.2. Arduino NANO........................................................................................................ 29
2.3. Comunicarea prin I2C dintre Raspberry Pi 3 și Arduino Nano............................... 30
2.4. Circuit de componente discrete/circuit imprimat - PCB.......................................... 31
III. Realizări experimentale - KIT-ul de modelare al conceptului de vehicul autonom.. 34
3.1. Consideraţii generale asupra kitului SKU:ROB0003.............................................. 34
3.1.1. Amplasarea comonentelor............................................................................... 35
3.2. Schema Hardware a KIT-ului experimental pentru o maşină autonomă................ 42
3.3. Alimentarea propusă pentru vehiculului autonom.................................................. 43
3.4. Controlarea motoraşelor......................................................................................... 46
3
Introducere
4
Capitolul II este dedicat sistemelor Raspberry Pi cu Arduino NANO, comunicarea
acestora prin tehnologia I2C şi rolul PCB-ului. Prezint caractesticile acestor sisteme,
mediile de dezvoltare folosite pentru crearea algoritmului, avantajele alegerii
comunicării I2C şi crearea PCB-ului prin scheme. Sistemul Raspberry este creierul KIT-
ului, de aceea sunt anumite limite de curent şi putere impuse care să nu depăşească
valoriile nominale care ar putea avaria sistemul. Arduino NANO este folosit ca şi ”slave”,
acesta comunică prin I2C şi transmite datele către Raspberry. Dezavantajul acestuia
este că nu dispune de un convertor analogic, iar NANO este responsabil cu informaţiile
care ajung la Raspberry. Comunicarea I2C este o tehnologie nou apărută cu foarte
multe avantaje, în special rapiditatea transmiterii datelor. De asemenea, este analizat și
cum se crează un circuit imprimat şi schemele aferente ale acestuia.
Capitolul III prezintă realizarea experimentală a KIT-ului autonom. Sunt descrise
amănunțit etapele dezvoltării şi asamblării prototipului. Acesta se poate observa în
diferite stări de creare și prezint partea hardware amănunţit. Se discută de variantele de
alimentare, de controlul motoraşelor cu ajutorul a două punţi H, dar şi protecţia
prevăzută în caz de apariţie a zgomotului sau a riplului tensiunilor asupra motoraşelor.
Se evidenţează blocul de semnalizare dar şi senzoristica KIT-ului experimental pentru
un autovehicul autonom. Intrăm în amănunte de navigare pe traseu, evitare obstacole,
comunicare cu alte dispozitive dar şi funcţionarea acestora.
Capitolul IV este dedicat funcţilor implementate asupra prototipului. Se
evidenţează funcţionarea acestora prin detalii tehnice amănunţite şi logigrame. Funcţiile
implementate asupra autovehiculului sunt: comunicarea RFID cu tag-uri RFID pe
traseu, regula priorităţii de dreapta în intersecţie, echiparea cu blocuri optice a KIT-ului,
navigarea pe traseu, evitarea obstacolelor şi transmiterea datelor de la maşinuţă pe
aplicaţie cu locaţia acesteia. La final se regăsesc o serie de teste hardware efectuate.
Tematica abordată în lucrarea KIT Experimental pentru Modelarea Funcţilor
Autovehiculului Autonom este de actualitate și în concordanță cu preocupările multor
companii din domeniu. Această masinuţă pe care am conceput-o este inovatoare,
deoarece putem să comparăm KIT-ul cu un viitor autovehicul autonom, funcţiile
implementate vor fi aceleaşi ca pe unul care va rula în viitor pe străzile noastre.
5
I. Vehiculul autonom
1.1. Istoric
Studierea autovehiculului autonom a început cu primele experimente chiar din
1920. Prima încercare în 1925 de maşină autonomă, fără şofer, a fost dezvoltată de
Houdina Auto Control pe o maşină americană, un Chandler din 1925 care era echipat
cu antene de transmisie şi recepţie. Houdina Auto Control CO. a fost o firmă fondată de
Francis P. Houdina, un inginer în domeniul electric din armata S.U.A., care a dezvoltat
sistemul de transmitere a semnalelor radio. Maşina era controlată de o a doua maşină
care era în spatele acesteia şi care trimitea semnale radio pentru controlul setului de
motoare electrice pe care maşina autonomă îl conţinea. Achen Motor, un distribuitor de
maşini din Milwaukee, a făcut posibil această invenţie, numind-o “Phantom Auto” și a
circulat pe străzile din Milwaukee în Decembrie 1926.
6
Figura 1.2. Ziarele care au anunţat prima încercareal vehiculului autonom [2]
Altă încercare a venit din partea “Kingdom’s Transport and Road Research
Laboratory” care foloseau cabluri magnetice încorporate în şosea pentru a se menţine
pe bandă şi a reuşii să menţină o viteză de peste 120 de km/h indiferent de condiţile
atmosferice de afară. [2]
În 1980 putem afirma că au apărut întradevăr vehicule cu adevărat autonome.
Mercedes-Benz împreună cu Universitatea Bundeswehr München a conceput o maşină
autonomă, prin care s-au văzut progresele atât din punct de vedere tehnologic cât şi
legislativ. Numeroase companii şi organizaţii au început să dezvolte vehicule autonome,
de exemplu Mercedes-Benz, General Motors, Continental Automotive, Autoliv, Nissan,
Toyota şi precum și centrele de cercetare din universităţi. [3]
O altă încercare a fost cea de la Autonomous Land Vehicle (AVL), proiect care
folosea tehnologii de la Universitatea din Maryland și Carnegie Mellon şi alte
laboratoare de cercetare. Aceștia au realizat primul road follow folosind LiDAR, viziunea
calculatorului şi control robotic autonom care atingea viteze de până la 35 de km/h. [2]
Pe lângă maşinile autonome la care ne gândim noi, cele de oraş care ne conduc
din punctul A în punctul B sau deplasarea dintr-un oraş în altul sau conducerea
autonomă pe şoselele publice, există şi un vehicul de teren autonom creat de cei de la
Google, poreclit Stanley. Acest jeep a fost dezvoltat pentru viteze mari şi conducere prin
7
deşert. Scopul a fost crearea unui autovehicul care să fie capabil să conducă singur la
viteze foarte mari, pe un teren accidentat. Partea cea mai complicată pentru
dezvoltarea lui Stanley a fost conceperea unui sistem fiabil care să poată să controleze
vehiculul la viteze relativi mari şi prin zone de drum foarte diferite, off road. Sistemul
trebuia să funcţioneze rapid şi cu o precizie foarte ridicată. Acest proiect a ajutat în
dezvoltarea conceptelor autonome a altor vehicule. [3]
8
O maşină se poate clasifica pe mai multe nivele în funcţie de autonomie:
Nivelul 0: Şoferul are în totalitate control asupra maşinii;
Nivelul 1: Anumite controale sunt automatizate, cum ar fi stabilitatea electronică de
control sau frânarea automată;
Nivelul 2: Minim două comenzi pot fi automatizate concomitent, ca de exemplu
menţinerea vitezei constante prin tempomat şi funcţia de păstrare a benzii de mers;
Nivelul 3: În acest caz şoferul poate ceda complet controlul asupra tuturor funcţilor de
siguranţă şi critice vehiculului. Dar autoturismul simte când condiţiile nu permit
autonomia și şoferul preia controlul. Schimbarea autonomiei maşinii către şofer nu se
face brusc, maşina va anunţa acest lucru din timp.
Nivelul 4: În acest caz vehiculul va prelua toate funcţiile critice şi de siguranţă iar şoferul
nu va aştepta ca pe parcursul călătoriei vehiculul să îi ceară, în nici un moment de timp,
să controleze vehiculul. Fiind autonom şi controlează vehiculul de la pornire până la
final, toate funcţile se vor activa, acesta va face şi parcarea autonomă.
Nivelul 5: Tehnologia din zilele noastre nu a evoluat până în acest punct, dar tendinţele
de dezvoltare sunt în creştere, de exemplu definirea de smart city sau reţele de
comunicare 5G.
Maşinile autonome cu sisteme avansate de control interpretează informaţii
senzoriale pentru o cale de navigare cât mai sigură, detectând obstacole şi informaţii
asupra traseului. Anumite autovehicule autonome îşi actualizează hărţile pe baza
intrărilor senzoriale, îşi detectează poziţia, recunosc condiţile mediului exterior şi
colectează informaţii când mediul nu este cunoscut. De altfel, vehiculele pot trimite
informaţii între ele, de exemplu actualizarea hărţilor. [3]
În zilele noastre, datele şi informaţile online, se regăsesc peste tot. Abilitatea de
a stoca, transfera şi combina datele ca mai apoi rezultatele să fie utilizate în diferite
scopuri este din ce în ce mai uşor. Extragerea datelor pentru a utiliza date în diferite
medii se îmbunătăţeşte semnificativ datorită software-ului pe diferite dispozitive.
Abilitatea de a genera, partaja şi folosi datele a fost posibilă prin intermediul numărului
foarte mare de utilizatori, dispozitive şi senzori contectaţi în reţele. Conectarea unui
autovehicul autonom la o reţea va fi prielnică, din punctul de vedere al colectării
informaţilor şi datelor care mai apoi se pot folosii în scopuri analitice. [5]
Conducerea autonomă este o abordare revoluţionară, interdisciplinară, care
presupune îndeplinirea sarcinilor independente, ca de exemplu recunoaşterea mediului
ambiant, controlul mişcărilor şi luarea decizilor în diferite situaţii. Maşina trebuie să
navigheze exact ca un om, respectând legile de circulaţie, cum ar fi străzile sau rutele
marcate. Realizarea acestui lucru necesită o cameră sau un radar pentru recunoaşterea
mediului ambiant. [6].
9
1.3 Tendinţe
Există două direcţii mari şi distincte pentru dezvoltarea şi conectarea
autovehiculului. Prima direcţie ar fi conectarea şi relaţionarea telefonului nostru mobil pe
autovehicul iar cealaltă se referă la modul în care industria automotive face progrese
tehnologice ridicate, ce se observă în evoluţia maşinilor şi nu numai, adică vehicule
electrice şi chiar conceptele de oraş inteligent.
Se preconizează ca până în 2035 vor fi peste 21 de milioane de autovehicule
autonome pe drumurile publice. [5]
Vehiculele autonome devin din ce în ce mai populare, aşa că această tendinţă va
modifica codul rutier, adică vor apărea reglementări pentru testarea şi folosirea
maşinilor autonome pe drumurile publice. Comisia Europeană fiind conştientă de
creşterea Sistemelor Inteligente de Transport (SIT), adoptă un plan de acţiune pentru
standardizarea şi implementarea SIT. Acest plan de acţiune a ajuns la Comitetul
European pentru Standardizare (CEN) şi Institutul European pentru Standarde în
Telecomunicaţii (ETSI) a specificaţilor, iar prima versiune a fost adoptată în 2014.
Aceste specificaţii şi standarde permit vehiculelor fabricate de diferiţi fabricanţi să
comunice între ele prin frecvenţe radio şi formatele de mesaje. CEN şi ETSI lucrează la
versiunea doi al specificaţilor, dar de data aceasta prin mai multe cazuri şi situaţii.
În America, numărul statelor prin introducerea legislaţiei privind circularea
vehiculelor autonome creşte de la an la an. Reglementarea privind fabricarea acestor
vehicule autonome a fost prezentată în 15 puncte, inclusiv structura software care va
aborda diferite siutaţii pe şosea.
Este benefică urmarea unor paşi, standardizarea şi orientarea modului de
dezvoltare a autovehiculelor autonome, ca acestea să nu devieze de la SIT.
Ca autovehiculele autonome să permită comunicarea şi transmiterea datelor
între ele, pe langă respectarea standardelor, este necesar alinierea și cooperarea
producătorilor de autovehicule, producătorilor de echipamente originale (OEM),
furnizorilor de telecomunicaţii, operatorilor de reţele mobile şi a altor companii care
produc echipament electronic. Cel mai bun exemplu este a celor de la Google, care au
colaborat cu 28 de producători de echipamente originale și 15 companii de tehnologie
pentru a forma Alianța Open Automotive cu scopul de a aduce platforma Android la
mașini. Printre producătorii care colaborează se află Uber şi Volvo, aceştia au semnat
un contract în valoare de 300 de milioane de dolari. Volvo va furniza SUV-uri pentru
Uber ca aceştia să dezvolte autovehicule autonome. GM a investit peste 500 de
milioane de dolari într-o altă companie de taxiuri, Lyft, pentru a construi o flotă de taxiuri
electrice autonome. BMW, Audi şi Mercedes au cumpărat firma care dezvolta hărţi
pentru Nokia, pentru a le face mai precise şi a se putea conecta una cu alta.
Vor apărea alianţe tot mai mari între producătorii de autovehicule şi companiile
de tehnologie, producătorii de echipamente, furnizorii de telecomunicaţii, asiguratori şi
10
alţii. Aceştia vor trebui să schimbe tactica tradiţională de producere pentru a crea un
produs final funcţional coerent. Dar în aceste parteneriate pot apărea şi multe riscuri [5]:
- încrederea alocării terţilor;
- amplasarea responsabilităţilor pentru respectarea normelor, standardelor şi
conformităţile cu legea;
- dreptul de proprietate asupra proprietăţii produsului creat.
Fiind în secolul 21, altă tendinţă la care vehiculele autonome se dezvoltă, ar fi ca
un autovehicul să se folosească drept un dispozitiv pentru reţelele sociale. Multe dintre
maşinile actuale includ deja o serie de aplicaţii sociale sau media. Avem exemplul
sistemului ConnectedDrive al BMW-ului, care are ca aplicaţii Facebook, Twiter şi Wiki
Local. Mercedes are un sistem numit ”mbrace” care te ajută să găseşti restaurante, dar
pe lângă sistemele de operare oferite de producători se regăsesc aici Android Auto
Google şi CarPlay oferit de către Apple. Telefoanele inteligente se conectează cu
sistemele digitale ale maşinii şi pe ecranul infotainment al maşinii se regăsesc funcţile
principale ale telefonului. Prin această metodă nu se mai foloseşte telefonul în mână, şi
pentru a efectua un apel sau o intra în muzică, maşina reacţionează prin touch pad-ul ei
sau comenzi vocale. Astfel, prin acest sistem se urmăreşte siguranţa condusului şi
utilizarea tehnologiei în maşină. De asemenea, prin acest sistem aplicaţiile de
socializare pot fi utilizate mai uşor, chiar prin comandă vocală se poate da check in în
localitate.
Utilizatorii maşinilor “conectate” pot prin intermediul smartphone-ului să blocheze
sau să deschidă autovehiculul de la o distanţă foarte apropiată de maşină. De
asemenea, primesc informaţii despre starea autovehiculului, cum ar fi nivelul de
combustibil, presiunea în roţi sau pot derula un playlist de muzică la deschiderea
autovehicului prin telefon. Universitatea din Michigan (UM) prin colaborarea cu Ford,
Microsoft şi Intel a dezvoltat aplicaţii sociale specifice pentru maşinile “conectate”.
Aplicaţia se numeşte Caravan Tracker și prin ea mai multe autoturisme se pot conecta
pentru a împărtăşi informaţii legate de trafic, de cantitatea de combustibil rămasă în
rezervoare, având drept scop compararea consumul de combustibil între autoturisme şi
adăugarea de parcări şi staţii de benzină pe traseu. [5]
Şoferii se aşteaptă la viitoare modificări şi adăugare a funcţiilor moderne pentru
dotarea autovehiculului, adică producătorii de automobile vor încerca să adauge mai
multe opţiuni și caracteristici ale unei maşini autonome sau conectate pe modelele
obişnuite de maşini. Problema evoluţiei stă însă la producători cum se vor diferenţia
între ei. Date importante ale dezvoltării maşinilor conectate sau autonome trec pe la
diferiţi furnizori și apare problema securizării datelor.
Implicarea universităţilor în crearea prototipurilor maşinilor experimentale este în
creştere. Universităţile implică studenţii cu familiarizându-i cu prototipurile unor vehicule
autonome, dar şi stimulându-i la crearea acestora. Spaţiul universitar a devenit şi el un
11
centru important în dezvoltarea şi cercetarea KIT-urilor experimentale pentru vehiculele
autonome. Următoarea cercetare pe care o voi prezenta a fost realizată de două
universităţi mari din America şi India. Lucrarea are scopul de a realiza un prototip de
vehicul autonom cu ajutorul sistemului Raspberry Pi, aceasta fiind folosită ca şi creierul
prototipului. Se vor folosi următoarele: o cameră specială pentru raspberry prin care se
vor furniza date din exterior către raspberry şi senzori ultrasonici.
Este bine știut că accidentele se produc din cauza erorii umane, precum atenţia
şoferului asupra telefonului mobil, sistemele info tainment din maşină, diferite distrageri
ale mediului înconjurător şi anumite intersecţii sau sisteme rutiere mai complicate.
Accidentele trag un semnal de alarmă, iar prin sistemele moderne se încearcă
diminuarea accidentelor. Acest lucru se poate face printr-un vehicul autonom care te va
duce în siguranţă la destinaţia dorită şi pasagerii se pot bucura de alte activităţi pe
parcursul drumului, lasând autovehiculul să conducă singur şi în sigurantă. Prin acest
lucru putem spune că siguranţa în trafic va creşte şi va scutii conducătorul
autovehiculului de activitatea de a conduce. [7]
Studiul urmăreşte ca maşina să poată ajunge la destinaţie fără probleme, într-un
mod sigur şi inteligent, fără probleme. Se vor folosi diferite sisteme inteligente pe
vehicul, cum ar fi detectarea liniei şi evitarea obstacolelor.
Pentru acest proiect s-au folosit următoarele:
- un şasiu cu 4 roţi care acţionează;
- un Raspberry Pi;
- un Wi-Fi dongle 802.11 cu ajutorul căruia maşina se va comanda de la distanţă
wireless;
- două drivere IC L293D care au rolul de a controla mişcarea a două roţi;
- opt baterii AAA pentru a furniza energie;
- conectori pentru diferite componente;
- camera Pi a raspberry-ului;
- senzori ultrasonici pentru evitarea obstacolelor.
Din punct de vedere software, pentru dezvolatrea algoritmului, s-a folosit
microprocesorul Raspberry Pi Model B Rev 2 care va fi creierul maşinii.[8] Prin camera
Pi se va face ghidarea şi recunoaşterea drumului, senzorii ultrasonici, denumiţi şi
traductori, au rolul de a detecta distanţa dintre obstacole şi maşină şi s-a folosit OS
Raspbian pentru a se optimiza partea hardware din proiect. Raspbian este sistemul de
operare gratuit oferit bazat pe Linux. Biblioteca pentru a configura şi citi fişierele de
intrare şi ieşire prin pinii GPIO se numeşte Raspberry Pi GPIO Library şi s-au folosit şi
soluţii oferite de OpenCV.[9] OpenCV este o bibliotecă cu algoritmi de tip funcţie,
algirtimi de vârf din Computer Vision care se folosesc la procesarea de imagine, cum ar
12
fi detectarea feţei sau a obiectelor dar şi clasici, în total peste 2500 la număr. Prin
această bibliotecă algoritmii se pot implementa uşor pe alte calculatoare sau
microprocesoare şi este folosită de foarte mulţi dezvolatatori precum Google, Yahoo,
IBM, Toyota şi altele. Lucrarea se bazează pe C++, dar unele funcţii ca şi ghidarea
maşinuţei şi detectarea drumul folosesc OpenCV, care sunt disponibile prin limbajul de
programare Phython. [10]
Pe partea de hardware cele 4 roţi din şasiu sunt conectate la 4 motoare
separate. Se va folosii driverul pentru motoare L293D care e capabil să mişte 2 roţi
simultan pe baza metodei laterale, adică rotirea roţilor de pe partea stângă simultan şi
de pe partea dreaptă simultan pentru o intrare digitală din L293D în orice moment de
timp. Este foarte util pentru ghidarea maşinii pe direcţia înainte şi înapoi dar şi pentru a
lua curba. Pentru a lua curba, mașina se rotește atunci când roțile laterale din stânga se
rotesc în patial opusă față de cele din dreapta. Driverele sunt conectate la firele
motorului iar firele pentru acţionare sunt conectate la Raspberry Pi. Se folosesc 8 baterii
de tip AA care asigură alimentarea motoraşelor. Microcontrolerul primeşte informaţii prin
Wi-Fi. [11]
13
Al doilea mod, tehnica bazată pe model, va utiliza doar câţiva parametrii pentru a
reprezenta benzile preluate prin camera Raspberry Pi. Pentru prelucrarea detecţiei
benzilor se calculează modelul acelor parametrii, deoarece formele de bandă se pot
reprezenta ca fiind linii drepte sau curbe parabolice. Această tehnică este mult mai
robustă împotriva zgomotului şi a datelor de intrare față de metoda prezentată anterior.
Pentru estimarea parametrilor se vor folosii funcţii de probabilitate, transformare chi-
square sau transformarea Hough pentru a detecta banda. Dezavantajul este că anumite
forme de drum nu se pot modela şi recunoaşte, dar majoritatea modelelor de benzi sunt
folosite pe toate formele de drum. [13]
În studiul prezentat, metoda bazata pe modele a folosit mai multe funcţii precum:
extragerea gamei de culori de pe drum, convertirea zonei de interes într-o formă simplă,
determinarea formei drumului, definirea zonei de interes şi eliminarea zgomotului
produs de imagine. Maşina poate fi controlată printr-un telefon, se crează o aplicaţie
mobilă cu o interfaţă simplă prin săgeţi sus, jos, stânga, dreapta şi oprire. Partea
autonomă la maşină apare prin funcţiile pe care le are aceasta, evitând obstacole de pe
drum prin senzorul ultrasonic care este montat în faţa şasiului şi care se mişcă şi
detectează obstacolele. [14].
Senzorii ultrasonici folosc la detectarea distanţei obiectelor din apropiere sau
pentru a evita obstacolele în general. Acesta este un dispozitiv de putere scăzută și are
o utilizare foarte extinsă în roboți și autoturisme semi-autonome. Funcționarea poate fi
explicată prin transmiterea unui sunet de joasă frecvență de la senzor la obiect care,
după reflexie, este recepționat de receptorul senzorului. În funcție de timpul necesar
recepționării semnalului, distanța vehiculului din apropiere sau orice alte obstacole sunt
detectate. Un demers al acestei abordări este următorul: dacă suprafața de patial este
la un anumit unghi cu senzorul măsurat, distanța poate fi ambiguă și trebuie susținută
cu alte tehnici, cum ar fi OpenCV și procesarea imaginilor, înainte de a lua orice decizie
cu privire la manevră. [15]
Pentru ca maşina să fie total autonomă, în ultima fază a proiectului maşina va
detecta drumul singură şi va naviga patial. S-au realizat anumite tehnici pentru ca
maşina să se comporte ca una autonomă. Se foloseşte un algoritm pentru extragerea
culorii pentru drumurile din patial de culoare HSV, dar care necesită colectarea manuală
prin teste a datelor. Aceiaşi porţiune de drum se va înregistra la diferite momente ale
zilei şi în diferite momente meteorologice. Prin schimbarea variaţiei culorilor şi
intensităţii luminii, se va genera un set specific de limite pentru valorile HSV. [16]
Prin această abordare s-a creat o maşină autonomă care poate să navigheze
singură pe o porţiune de drum după ce s-a făcut colectarea manuală a anumitor date de
intrare.
14
Figura 1.5. Rezultatul final al studiului [7].
Tendinţele ne arată o creştere în procentul de car-sharing sau de închiriere de
autoturisme pentru călătorii sau în interes de serviciu a maşinilor noi, de aici observăm
că deţinerea unui automobil este în scădere în tările dezvoltate. Totul se datorează
firmelor de închiriere sau a numărului de servicii în acest sens, dar şi numărului de
kilometri parcuşi este în creştere, aşa că se va lua în calcul şi fluxul mai mare de
cumpărare a maşinilor noi de către firmele de car sharing şi conceptul de scădare a
deţineri a unei maşini personale. Conceptul de a deţine o maşină ar putea să se
schimbe, consumatorii putând cumpăra autoturismul în "segmente" în loc să îl deţină
sau să închirieze întregul vehicul. [4] În 2030 se preconizează că autovehiculele
autonome prin programul de car-sharing vor face cu 37% mai mulţi kilometrii. Un astfel
de car sharing va costa pe an în jur de 3,800 de dolari pentru o maşină premium.
Această mobilitate, prin car sharing, va fi competitivă pe plan local și regional, va
implica OEM-urile, firme de telecomunicaţii, consilile oraşelor, autorităţile de transport şi
flote de logistică. [17]
În lumea automotive se preconizează un proces lung de dezvoltare pe scară
largă a mobilităţii şi a servicilor digitale pe autovehicule care vor devenii autonome,
electrice şi conectate. Această mobilitate a autovehiculelor costă 2,2 trilioane de dolari
dar va diminua jumătate din profitul celor implicaţi.
15
În următoarea parte vă voi prezenta tendinţeleîn dezvoltarea maşinilor
autonome, electrice şi conectate până în 2030 pe diferite criterii.
16
Figura 1.7. Observarea scăderii drastice a autovehiculelor cu combustibil [17]
17
Figura 1.8. Creşterea ridicată a maşinilor "conectate" [17]
Figura 1.8. reprezintă tendinţa autovehiculelor conectate şi se poate observa
după 2025 vor exista doar autovehicule conectate.
Se preconizează 470 de milioane de automobile conectate în America, Europa şi
China în 2025 şi în jur de 80 de milioane de autovehicule autonome cu nivelul 4 şi 5.
Tabelul 1.1. Prognoza de dezvolatare a următoarelor tipurilor de maşini în următorii ani
[17]
19
- analiză predictivă asupra drumului;
- car sharig-ul autovehiculelor între diferite persoane. [5]
O altă funcţie vitală pentru autovehiculele autonome ar fi conceptul de smart city
prin care ar putea să se dezvolte mai uşor. Va fi necesară o pregătire și o analiză
minuțioasă a orașelor mari pentru ca în cele din urmă să se dezvolte partea autonomă
în fiecare oraş şi să crească acurateţea informaţilor. Prin această metodă se dezvoltă şi
mobilitatea cu car sharing-ul, se poate observa în figura 1.9. de mai jos.
20
1.5. Companii implicate
În zilele noastre, foarte mulţi producători de maşini ca Tesla, BMW, Ford,
Mercedes se axează asupra dezvoltării maşinilor autonome, dar şi multinaţionalele cum
ar fi Continental, Hella şi altele sprijină pentru dezvoltarea lor. De altfel, multe centre
universitare se implică cu sprijinul diferiţilor OEM pentru dezvoltarea maşinilor
autonome.
Producătorii auto se întrec între ei în competiţia de vehicul autonom şi cheltuiesc
mai mult pe partea de cercetare şi dezvoltare (R&D). Un studiu făcut arată că această
dezvoltare în industria autovehiculelor se situează pe locul 3, primele locuri unde se
investește cel mai mult în cercetare şi dezvoltare sunt în domeniul medical şi cel al
electronicii şi software-ului.
De altfel, companiile ca Google, Uber, Apple, Tesla dezvoltă tehnologii, dar chiar
şi autovehicule "conectate" şi autonome. Chiar şi operatorii de reţele mobile, OEM-urile
(producătorii de echipamente originale), producătorii de componente electrice şi
companiile de software se implică activ în dezvoltarea vehiculelor autonome. În figura
1.11. se prezintă vehiculul autonom creat de cei de la UBER. [5]
21
apoi, prin acest proiect, Google a putut să dezvolte auto-conducerea şi îmbunătăţirea
sistemului de navigaţie autonom prin aplicaţia Google Maps.
22
II. Prezentarea sitemelor Raspberry Pi 3 Model B, Arduino NANO,
PCB-ul şi comunicarea acestora prin I2C
2.1. Raspberry Pi 3 Model B
În ultimii ani, educaţia informatică sa axat pe abilităţile de utilizare a aplicaţilor şi
nu pe crearea sau înţelegerea funcţionalităţii programelor sau crearea a noi programe
sau invenţii. Din această cauză a apărut sistemul Raspberry Pi care le poate combina,
acesta poate fi folosit ca un calculator normal pentru editare foto, documente şi muzică
dar oferă o partea a programării, comandarea componentelor electrice dar şi explorarea
sistemului de operare Linux care a devenit o competiţie pentru Mac OS şi Windows.
Sistemul Raspberry Pi oferă o altă perspectivă a dezvoltării de noi programe sau
invenţii.
Pe scurt, Raspberry este o placă care ţine locul unui calculator, la care se
conectează diferite periferice (ecran, mouse, tastatură, bluetooth, cameră de filmat) iar
sistemul de operare se instalează pe un micro SD. Pentru început este nevoie de
cunoştinţe minime de Linux şi familiarizare cu LXDE, desktopul grafic.
Raspberry Pi este una din cele mai populare maşini de calcul folosite în prezent
pentru diferite aplicaţii. Putem asocia sistemul Raspberry cu un telefon, o tabletă sau
console de jocuri. Acesta conţine programe specifice pentru a putea crea programe
software sau se poate folosi pentru a se conecta la diferite dispozitive electronice.
Sistemul este ieftin şi performant, poate fi utilizat la o mulţime de experimente.
Un exemplu ar fi, Dave Akerman împreună cu colegii lui au ataşat sistemul
Raspberry Pi la un balon meteorologic şi l-au trimis deasupra pământului la aproape 40
de kilometrii pentru a-l fotografia folosind o cameră web.
De exemplu, într-o universitate din Southamton, studenţii împreună cu profesorul
Simon Cox au conectat 64 de sisteme Raspberry Pi pentru a concepe un
supercomputer experimental, iar carcasa a fost creată din piese Lego. Aşa au reuşit să
reducă costul unui supercomputer de la milioane de dolari la mii de dolari pentru
Universitate. În figurile de mai jos se prezintă conceptul realizat de către facultate. [19]
23
Figura 2.1. Supercomputerul cu cele 64 de Raspberry Pi create de către Universitatea
din Southampton [20]
Figura 2.2. Două dintre plăcuţele Raspberry Pi folosite pentru supercomputer [19]
În trecut, prin anii 1980, calculatoarele sau maşinile de calcul erau mult mai
neprietenoase, exista acel cursor intermitent şi trebuiau introduse date pentru a obţine
un anumit rezultat. Prin urmare acea generaţie ştia cum să dea comenzi şi să creeze
programe. Vremea a trecut şi s-a creat o altă interfaţă mult mai prietenoasă cu ferestre
24
şi programe executabile. Eben Upton, designerul Raspberry-ului a observat o scădere
la nivelului de calificare a studenţilor care studiau programare în Laboratorul de Calcul
Al Universităţi Cambridge, aceştia aveau o experienţă scăzută în programare fată de
studenţii din trecut. Aşa că Eben Upton împreună cu colegii săi a creat un computer
care venea cu toate instrumentele necesare programării şi fiabil. Ca urmare interesul în
programare a studenţilor a crescut, iar în 2013 numărul vânzărilor a ajuns la un milion
de sisteme de acest tip vândute. [19] În următoarea parte vom discuta despre
Raspberry Pi 3 Model B.
25
Figura 2.4. Componentele hardware a sistemulul Raspberry Pi 3 Model B [22]
26
Schema electrică este prezentată în figura 2.5..
27
Figura 2.6. Interfată grafică, desktop [23]
Din punct de vedere hardware, am specificat mai sus că acest sistem poate fi
folosit ca un computer sau ca un sistem de dezvoltare a aplicaților și am menționat
partea hardware. Pentru ca sistemul Pi să poată fi conectat la alte componente
hardware ne folosim de pinii GPIO.
28
Sistemul Raspberry Pi 3 Model B dispune de 40 de pini GPIO ( General-Purpose
Input/Output). Din cei patruzeci de pini, patru sunt de alimentare, doi dintre aceştia la
3.3V iar doi la 5V. Regăsim şi pini de masă (GND), doi pini rezervaţi pentru identificarea
plăcilor de extensie de tipul Pi HATS şi douăzeci şi patru de pini GPIO, unii dintre
aceştia cu funcţionare dublă. [25]
Pinii GPIO la Raspberry Pi 3 suportă maxim 3.3V. Dacă conectarea perifericelor
cu un nivel logic 1 depăşeşte un nivel de tensiune mai mare de 3.3V, aceasta va
conduce la avarierea gravă a blocului GPIO al plăcii. Pentru a utiliza şi comanda pinii
GPIO ca pini digitali se folosesc mai multe limbaje de programare ca de exemplu: C++
şi Python.
Dezavantajul sistemului Raspberry Pi 3 o constituie faptul că nu dispune de un
convertor analogic - numeric, nu poate citi valori intermediare între 0 - 3.3V, ci doar
valori digitale de 0 şi 1 logic. Pentru a putea folosii senzori analogici trebuie utilizat un
convertor extern, numit şi shield (scut). Acest convertor comunică cu sistemul
Raspberry Pi prin intermediul interfeţei SPI (Serial Peripheral Interface). [26]
29
Arduino Nano este un microcontroller care prin diferiţi senzori culege date din
lumea fizică şi le foloseşte în diferite aplicaţii de pe calculator, dar şi invers. Arduino
este un mediu de programare şi un limbaj de programare construit pe C++ cu o
varietate de funcţii. Arduino NANO este mai mic decât UNO, dar şi mai performant,
perfect pentru a fi integrat în proiect. [29]
Oricare din cei 14 pini digitali pot fi folosiţi ca un semnal de input/output folosind
diferite funcţii, ca de exemplu: pinMode(), digitalWrite(), digitalRead(). Valoarea la care
operează este de 5V. Fiecare pin poate primi sau furniza maxim 40mA şi are o
rezistentă internă de 20-50 kOhm, iar unii pini au anumite funcţii. [30]
30
Figura 2.10. Schema legăturii I2C dintre Raspberry Pi 3 şi Arduino NANO [33]
Modul cel mai simplu de a conecta cele două sisteme ar fi fost printr-un cablu
USB, dar ar fi putut apărea multe probleme din cauza nesincronizării celor două sisteme
pentru că nu există niciun semnal ceas (clock signal) şi ne-am fi bazat doar pe rata de
transfer al biţilor. De aceea, s-a ales comunicarea I2C. [34]
Cum menţionam mai sus I2C foloseşte două linii de comunicare: SDA (date),
SCL (clock) şi împământarea GND. SCL este folosit numai de către sistemul master, iar
SDA este un semnal bidirecţional şi se va stabilii cine trimite sau primeşte date.
Folosind comunicarea I2C, sistemul master poate să înceapă comunicarea. Sistemul
Raspberry Pi nu poate să fie subordonat/slave deoarece acesta funcţionează la 3.3V şi
Arduino NANO la 5V. [35]
La un autovehicul autonom pentru a putea face posibilă comunicarea I2C la KIT-
ul experimental am folosit schema electrică de conectare de mai sus, din figura 2.10. La
sistemul Raspberry am activat opţiunea de comunicare I2C. Din Arduino NANO am tras
fire de la pinul de alimentare de 5V şi GND (împământare) către pinii 3 şi 5 GPIO al
Raspberry-ului. Iar mai apoi ca să funcţioneze comunicarea I2C între cele două sisteme
s-au legat pinii GPIO SDA şi SCL al raspberry-ului la pinul 4 şi 5 al NANO-ului. Pinii 4
pentru SDA şi 5 pentru SCL sunt dedicaţi comunicării I2C.
31
electrice, electronice sau ansamble de componente cu scopul de a simplifica lucrurile
pentru un circuit al unui produs final. PCB-ul este o placă de cablaj imprimat brut care
este realizat dintr-un strat izolator și este în medie de 1,6mm gros. Imprimarea
circuitului pe placă se face prin metode foto - chimice. [36] Pentru dezvoltarea PCB-ului
s-a folosit programul de dezvoltare PAD’s.
32
Figura 2.13. Desen de ansamblu al PCB-ului
33
III. Realizări experimentale - KIT-ul de modelare al conceptului de vehicul
autonom
3.1. Consideraţii generale asupra kitului SKU:ROB0003
În capitolul 3 se vor prezenta următoarele: structura KIT-ului, amplasarea
componentelor, alimentarea KIT-ului, date tehnice şi senzoristică.
S-a folosit ca şi şasiu KIT-ul 4WD Mobile Platform (SKU:ROB0003), care are 4
motoraşe de acţionare a roţilor, 4 roţi şi un şasiu cu diferite componente pentru
asamblare. Acesta permite poziţionarea componentelor electronice după necesitate.
Materialul din care este compus este aluminiu. În figura 3.1 şi 3.2 se prezintă KIT-ul pe
care se vor monta Microcontroller-ul Raspberry Pi 3 Model B, Arduino NANO, senzori,
cabluri şi circuit cu componente discrete. [37]
Figura 3.2. Componentele asamblate ale Kit-ului 4WD Mobile Platform [37]
34
Specificaţiile motoraşelor:
• Viteza maximă: 90 cm/s;
• Mod de ieșire: bidirecţional, ieșire în două direcții;
• Raportul de transmisie: 1: 120;
• Viteză fără sarcină la 3V: 90RPM;
• Viteză fără sarcină la 6V: 180RPM;
• Curent fără sarcină la 3V: 120mA;
• Curent fără sarcină la 6V: 160mA;
• Curentul în rotor blocat la 3V: 1.5A;
• Curentul în rotor blocat la 6V: 2.8A;
• Dimensiune: lungime 55mm, lăţime 48.3mm şi înălţime 23mm;
• Greutate: aproximativ 45g. [38]
35
Figura 3.3. Privire de sus al părţii interioare KIT-ului experimental cu şasiul descompus
În figura 3.3. de mai sus, am fotografiat KIT-ul experimental al vehiculului
autonom descompus privit de sus. Se poate observa, dacă privim de sus în jos, Arduino
NANO, sub acesta PCB-ul care are rolul de drive pentru actuatori şi sub placa neagră
de care sunt ataşate diferite componente hardware. În stânga se pot observa cei cinci
senzori infraroşu ataşaţi de şasiu. În prima parte a fotografiei se văd două din cele patru
motoare conectate la roţi.
În următoarea figură se va prezenta KIT-ul în următoarea sa etapă de
asamblare.
37
Figura 3.6. Asamblarea componentelor pentru forma finală
Printr-o placă de metal s-a închis partea interioară a KIT-ului şi în partea
exterioară de sub KIT au rămas doar componentele necesare navigării prin traseu.
Senzorul ultrasonic a fost plasat în faţa şasiului, acesta având funcţia de a evita
obstacolele care apar pe traseu.
KIT-ul este aproape gata construit, urmează ca în următoarea figură să se
prezinte partea superioară unde se regăseşte sistemul Raspberry Pi şi sursa de
alimentare.
38
Figura 3.7 Partea superioară a KIT-ului experimental
39
În figura 3.7. vedem bucata de tablă de care sunt prinse componentele hardware
iar de asupra creierul KIT-ului, sistemul Raspberry Pi. În faţa KIT-ului regăsim senzorul
ultrasonic şi cei cinci senzori infraroşu.
Figura 3.8. Varianta aproape finală a KIT-ului experimental pentru un vehicul autonom
40
Figura 3.9. Teste pentru calibrarea şi testarea KIT-ului
41
3.2. Schema Hardware a KIT-ului experimental pentru o maşină autonomă
+++crearea schemă bloc
Figura 3.11.
42
3.3. Alimentarea propusă pentru vehiculului autonom
Pentru alimentarea întregului sistem format, am optat iniţial pentru acumulatori
Li-Ion, mai precis pentru trei celule inserate, fiecare având o capacitate maximă de
4.2V, capabile să furnizeze până la 3350 mA, curent satisfăcător susţinerii funcţionării
KIT-ului experimental, în urma estimărilor făcute în tabelul de mai jos.
Tabelul 3.1 Estimări ale consumului de curent
Curent Tot.
Nr.crt. Nivel Consumator
[mA]
Infrarosu (x5) 125
Ultrasonic (x1) 15
1 Senzori sleep:0,08
RFID idle:13
max:30
LED Galben
40
Semnalizar (x4)
2
e LED Rosu
20
(x2)
H Bridge
No-load
3 Control current: 284
Motor (x4)
Stall current:
1880
idle:310
4 Controller Raspberry Pi
load:580
Consum Total Estimat ( Worst
2,6 A
Case)
43
Figura 3.12. Măsurarea tensiunii bateriilor
44
Un alt motiv pentru care am ales alimentarea cu o baterie externă este din cauza
tensiunii furnizate de baterii, aceasta este prea mare, se aproprie de o valoare maximă
de 12.4 V, iar tensiunea de operare a microcontroller-ului folosit Raspberry Pi 3 Model B
este de 5V. Ar fi fost obligatorie proiectarea unui stabilizator care să menţină constantă
tensiunea de ieşire la 5V minimizând variaţiile tensiunii de intrare ale curentului de
sarcină sau ale temperaturii la valori nominale pentru circuitul de sarcină. Pentru
aceasta ar fi trebuit să se proiecteze unu stabilizator de tensiune în regim de comutaţie,
fiind determinaţi de nevoia unui curent de sarcină ridicat şi implicit de limitarea puterii
disipate la o valoare cât mai mică. [39] În concluzie s-a ales alimentarea cu o baterie
externă MYRIA MY9201GD cu un voltaj de 5V şi putere nominală de 1A-2A suportat de
sistemul Raspberry.
Pentru controlul motoraşelor am ales crearea unui circuit cu componente discrete
(PCB). Acesta se ocupă de comanda bidirecţională a celor patru motoare ale KIT-ului
experimental, funcţionând pe baza semnalului PWM generat de sistemul Raspberry Pi,
care va controla în totalitate turaţia motoarelor. De asemenea, am prevăzut posibilitatea
apariţiei zgomotului şi riplului şi am decis să lipesc condesatoare de filtraj pentru
motoraşe (bypass capacitors) care să reducă/elimine influenţele tensiunilor de zgomot
sau a riplului mare de curent sau tensiune asupra motoarelor în timpul funcţionării. În
figura 3.14., de mai jos, se poate vedea unul din cele patru motoraşe care se folosesc la
acţionarea KIT-ului experimental a unei maşini autonome. [40]
.
45
3.4. Controlarea motoraşelor
În figura de mai jos este prezentată schema echivalentă care stă la baza
funcţonării unei punţi H. Aceasta permite aplicarea unei tensiuni pe o sarcină în ambele
sensuri, de aceea permite rotirea în ambele sensuri a unui motor de curent continuu.
46
celor patru comutatoare sau a întrerupătorului S1 şi S2, sau invers S3 şi S4, deoarece
astfel s-ar produce un scurtcircuit în bucla de intrare, cu sursa de alimentare a
circuitului. În figura 3.16. este prezentată comutarea întrerupătoarelor S1 cu S4
respectiv S2 cu S3.
47
Tranzistoarele MOS sunt controlate prin reglajul tensiunii de deschidere a grilei,
care are o valoare de prag, Vgs = 2 - 4V. Pentru a implementa logica de comandă,
adică pentru a folosi semnalul PWM, am adăugat un tranzistor bipolar NPN. Atunci
când se aduce tensiune prin semnalul dat de Raspberry în bazele tranzistorilor prin
intrările B si D, se vor deschide grilele tranzistorilor cu canal P din partea dreaptă a
fiecărei punţi, şi a celor cu canal N din partea stângă a fiecărei punţi, deoarece regăsim
în grille o tensiune mai mare de 2V, astfel curentul va trece prin motor de la stânga la
dreapta, în timp ce restul tranzistorilor sunt blocaţi. În drenele tranzistorilor sunt legate
motoarele, iar sursele celor cu canal P sunt legate direct la alimentare, iar a celor cu
canal N la masă.
49
Figura 3.20. Schema echivalentă blocului de semnalizare
50
Modulul se alimentează la o tensiune de 3-5 V și are un unghi de
observare a obstacolelor de 35°. S-au ales senzorii infraroşii reglabili deoarece cu
ajutorul potențiometrului putem modifica nivelul de referință, astfel încât să ajustăm
sensibilitatea, deci, distanța la care modulul detectează obstacole. Comparatorul
furnizează la ieșire 1 logic atunci când nu detectează obstacole și 0 logic atunci când
întâlnește un obstacol. [41]
Senzorii IR reglabili, în număr de cinci sunt plasaţi pe partea din fată a KIT-ului
pentru un vehicul autonom şi au rolul de a urmări linia neagră plasată pe mijlocul
drumului şi păstrarea direcţiei de deplasare dreaptă, perpendicular pe linia neagră de
urmărire.
51
Principiul de functionare: Senzorii IR functionează pe baza absorbției și reflecției
luminii. Se trimite un impuls de 10µs, iar apoi se urmăreşte timpul de descărcare al
condensatorului din circuitul senzorului. Tensiunea de operare al senzorului IR este
3.3V, iar curentul consumat aproxmativ 25mA. [42]
52
Figura 3.24. Senzorul ultrasonic
Cititorul de RFID, MFRC522, singurul care comunică direct cu sistemul
Raspberry Pi, are rolul de a detecta tag-urile amplasate în intersecţii, cunoscând astfel
ruta care trebuie urmată. Acesta lucrează la o tensiune de 3.3V şi consumă în stare
activă un curent maxim de 26mA. Cititorul de RFID este amplasat sub mașină, la o
distanţă optimă pentru a putea citi tag-urile de pe traseu.
53
Figura 3.25. Cititorul RFID MFRC522
54
Tabel 3.2. Lista componentelor folosite pentru conceperea KIT-ului
Număr
Nume Produs Cantitate
Criteriu
1 4 WD Mobile Platform KIT 1
2 KIT complet Raspberry Pi 3 Model B 1
3 Adafruit Motor Driver 1
4 Senzor Infraroşu de linie 5
5 Senzor ultrasonic de distanţă 1
6 Modulul RFID MFRC522 1
7 Card RFID 30
8 Condensatori ceramici 100nF 15
9 Set fire 4
10 LED Galben 6
11 LED Roşu 4
12 Arduino NANO 1
13 PCB 1
55
IV. Funcţii implementate şi testele vehiculului autonom
4.1. Funcţii implementate asupra KIT-ului experimental
Obiectivul acestei lucrări este dezvoltarea unui sistem pentru o maşină autonomă
care să permită comunicarea cu alte maşini participante la trafic pentru implementarea
arbitrării decizilor în trafic şi navigarea fără intervenţia şoferului. Scenariul în care se
testează acest sistem va fi parcurgerea unui traseu primit şi calcularea priorităţilor în
intersecţiile de pe traseu.
KIT-ul experimental al unui vehicul autonom foloseşte pentru comunicare
protocolul wireless IEEE 802.11 şi se va conecta la un acces point, hotspot personal.
Maşina va trimite ciclic, la 100 ms informaţii despre statusul acesteia, precum şi
informaţii despre poziţie şi stare.
Din punctul de vedere al infrastructurii, traseul este construit din drumuri şi
intersecţii, iar drumurile sunt cu sens unic. La fiecare intrare într-o intersecţie se găseşte
stocată informaţia despre drumul şi intersecţia corespunzătoare. Acest lucru este
realizat prin tag-uri RFID plasate pe fiecare secţiune de drum conectată la o intersecţie.
56
- XXXXYYYY, unde XXXX reprezintă ID-ul intersecţiei şi YYYY reprezintă ID-ul secţiunii
de drum din această intersecţie.
ID-ul secţiunii de drum conectat la o intersecţie este incrementat de la 1 la 4, în
sensul acelor de ceasornic, începând cu partea de sus a traseului. În acest fel vehiculul
care intră într-o intersecţie poate determina poziţia tuturor segmentelor de drum din
această intersecţie faţă de poziţia ei.
57
Pentru navigarea prin traseu se vor folosi următoarele repede:
- axul central al drumului, linia neagră de 2 centimetrii grosime;
- tag-urile RFID plasate înainte de intersecţii.
În figura 4.3. am prezentat traseul pe care vehiculul autonom va rula.
Prima funcţie pe care o voi evidenţia este echiparea KIT-ului cu cititor de tag-
uri RFID. Maşina va folosi cititorul de tag-uri RFID pentru a citi poziţia de pe traseu când
trece peste tag-urile amplasate pe traseu. De fiecare dată când trece peste un tag
RFID, maşina trebuie să îşi updateze informaţia de poziţie cu informaţia citită şi va face
brodcast la fiecare 100 ms. KIT-ul comunică cu alt dispozitiv prin această variantă.
58
Figura 4.5. Logigrama pentru identificarea tag-urilor RFID
Tabel 4.1. Informaţii despre poziţia şi statusul citit care va fi trimis la reţea după
următoarea telegramă
Data Lungimea [bytes] Valori
Tipul telegramei 1 0x01
ID-ul maşinii 1 ID-ul maşinii
Tipul maşinii 1 Valoarea primită din telegrama de traseu
Poziţia maşinii 1 Valoarea citită de tag-ul RF de la intrare
în intersecţie
Starea maşinii 1 0x01 (oprit)
0x02 (intrare în intersecţie)
0x03 (părăsire intersecţie)
59
Când aceasta a părăsit intersecţia, a citit tag-ul RFID al punctului de ieşire din
intersecţie, îşi va updata informaţia de status cu starea: părăsire intersecţie. Când o
maşină trebuie să acorde prioritate unei alte maşini în intersecţie, informaţia de status
va avea starea: oprit. Pentru măsuri de siguranţă, dacă o maşină are prioritate de
trecere în intersecţie dar există alt autovehicul cu starea: intrare în intersecţie aceasta
stă până intersecţia este eliberată, adică primeşte de la celălalt autovehicul starea:
părăsire intersecţie.
60
culoare roşie, sunt amplasate în spate. LED-urile de semnalizare sunt aprinse în funcţie
de direcţia intrării în intersecţie atât timp cât maşina traversează intersecţia şi au starea:
intrare în intersecţie. LED-urile de stop vor fi aprise pe durata cât maşina aşteaptă
intrarea în intersecţie şi are starea: oprit.
.
Figura 4.7. Logigramă pentru funcţionarea LED-urilor KIT-ului autonom
Următoarele două funcţii pe care le voi prezenta sunt funcţii foarte des întâlnite în
dezvoltarea automotive, aplicaţii de cercetare şi familiarizare în universităţi, şi anume
senzorii infraroşu şi ultrasonci. Aceştia sunt foarte uşor de instalat şi programat dar
joacă un rol foarte important. În acestă lucrare, senzorii infraroşu, în număr de cinci,
sunt folosiţi la navigarea maşinuţei autonome pe traseu, aceştia menţin deplasarea
corectă a KIT-ului pe calea de rulare. Senzorul ultrasonic are un rol important, cu
ajutorul acestuia vehiculul va evita obstacolele care apar pe traseu.
61
Figura 4.8. Logigrama senzorilor IR şi ultrasonic
O ultimă funcţie implementată pentru KIT-ul experimental a unui vehicul autonom
este detectarea maşinuţei în intersecţii cu ajutorul tag-urilor RFID. Starea vehiculului
este raportată în intersecţie dar şi pe aplicaţie.
În concluzie vehiculul autonom este capabil să parcurgă un traseu care îi este
comunicat, starea sa este raportată, intenţiile de deplasare sau oprire sunt semnalizate
optic prin intermediul LED-urilor şi este capabilă să acorde prioritate de trecere în
intersecţie.
63
Testarea modulului de semnalizare a fost făcută prin conectarea pinului de
alimentare de 5V al microcontroller-ului la pinul corespunzător lui de pe PCB, apoi s-
au conectat pe rând cei trei pini GPIO de 3.3V şi pinul de GND la pinii aferenţi de pe
PCB. S-a testat funcţionarea semnalizării prin activarea pinilor de 3.3V unul câte unul şi
s-a observat aprinderea LED-urilor. În primul caz s-au aprins LED-urile galbene pentru
semnalizare stânga, în cel de al doilea cele pentru semnallizare pe partea dreaptă, iar
în final cele două LED-uri roşii care indică staţionarea vehiculului. S-a măsurat cu
ampermetrul pentru fiecare pereche de LED-uri galbene un consum de 20mA, iar
pentru perechea de LED-uri roşii am avut un consum de 16mA.
64
V. Concluzii
Tema abordată în această lucrarea de diplomă, dezvoltarea unui KIT
experimental pentru o maşină autonomă, este de mare actualitate. Cum am prezentat
în lucrare observăm o creştere şi o investiţie foarte mare în dezvoltarea autovehiculelor
autonome. Această tendinţă este dezvoltată de marii producători de autovehicule până
la diferite centre universitare. Crearea maşinilor autonome este o utilitate deoarece rata
accidentelor este în creştere, tehnologia evoluează de la o zi la alta iar navigarea în
oraş sau pe drumurile din afara localităţilor ar fi mai eficientă. În această lucrare este
prezentată o metodă de realizare a unei mașini robot cu auto-conducere.
Realizarea KIT-ului a constat în dezvoltarea celor trei mari ramuri: partea
software, hardware şi mecanică. Prototipul creat este capabil să străbată corect un
traseu comunicat, să comunice cu perifericele de pe traseu, tag-urile RFID, prin care îşi
raportează starea şi să comunice cu o altă maşină în intersecţie. Această funcţie este
posibilă cu ajutorul cititorului RFID plasat sub KIT-ul vehiculului autonom. KIT-ul este
capabil să ofere prioritate de dreapta altor vehicule din intersecţie, să updateze diferite
stări, cum ar fi: oprit, intrare în intersecţie şi părăsire intersecţie. De altfel, pentru
siguranţa parcurgerii, KIT-ul urmăreşte traseul dat cu ajutorul senzorilor infraroşii şi este
capabil să oprească dacă întâmpină obstacole pe traseu cu ajutorul senzorului
ultrasonic plasat în faţa KIT-ului. Prototipul este capabil să transmită starea sa unde se
află în intersecţie pe aplicaţie iar aplicaţia transmite traseul pe care îl va parcurge KIT-
ul. Fiind un vehicul autonom acesta trebuie să fie dotat cu blocuri optice de
semnalizare. S-au implementat patru LED-uri de culoare galbenă pentru semnalizare şi
două LED-uri de culoare roşie pentru oprirea autovehicului. A fost nevoie de a face
şase găuri în şasiu pentru introducerea LED. Numerotarea şi aranjarea firelor din
interiorul KIT-ului este importantă, deoarece trebuie avut în vederea încălzirea
componentelor pe durata funcţionării KIT-ului şi semnalele să nu interfereze . Algoritmii
de detectare a obstacolelor, de comunicare între vehicule, prioritate de trecere în
intersecţii, raportarea statusului maşinii şi controlul blocurilor optice au fost
implementate cu succes pe o mașină autonomă.
KIT-ul foloseşte ca şi microcontroller Raspberry Pi 3 Model B, care este de altfel
creierul prototipului. Cu ajutorul acestuia, maşina este capabilă să proceseze şi să
execute corect informaţiile date de la senzori şi Arduino NANO, slave-ul Raspberry-ului
care comunică informaţii prin metoda I2C. PCB-ul are rolul de a învârti motoraşele KIT-
ului şi a controla blocurile optice. Componente hardware și asamblarea lor au fost
descrise amplu în capitolul trei, realizări experimentale.
După asamblarea componentelor am început testele practice cu execuţia
prototipului pe traseu. Primele probleme au apărut la senzorii infraroşu, din cauza
materialului din care este compus traseul dar şi din cauza KIT-ul care nu permite o
poziţionare a senzorilor de sub 1.5 cm fată de traseu. Prin urmare am schimbat senzorii
infraroşu cu senzori infraroşu reglabili şi de o calitate superioară. Senzorii infraroşu
după ce au fost calibraţi au permis o navigare corectă pe traseu urmărind reperul, linia
65
neagră de doi centimetrii. Roţiile KIT-ului au fost la rândul lor schimbate din cauza
suprafeţei de rulare pentru a nu forţa motoraşele în timpul virării, dar şi unul din
motoraşe care a venit gripat pe KIT. Prin diferite teste s-au adus îmbunătăţiri la
algoritm, s-a calibrat prototipul. Maşina primeşte şi transmite informaţii corect, citeşte
tag-urile din intersecţie prin modulul RFID şi îşi raportează starea.
Pentru a putea regla turaţia motoraşelor şi sensul de rotaţie a fost proiectat un
circuit cu componente discrete, două punţi H care sunt legate în paralel. Sensul de
rotaţie este controlat în funcţie de cum se închid întrerupătoarele. Pentru posibilitatea
apariţiei zgomotului sau a riplului mare de curent sau tensiune care ar putea apărea în
timpul funcţionării s-au lipit condensatoare de filtraj pentru motoraşe care să elimine
posibilitatea apariţiei acestui fenomen.
Înainte de implementarea algoritmului de semnalizare, blocul optic a fost şi el
testat hardware cu ajutorul PCB-ului. S-a testat funcţionarea semnalizării prin activarea
pinilor de 3.3V unul câte unul şi s-a observat aprinderea LED-urilor.
S-au făcut diferite teste asupra componentelor vehiculului şi a fost aleasă
varianta cea mai fiabilă şi avantajoasă. Toate funcţiile descrise pentru KIT-ul
experimental pentru o maşină autonomă au fost implementate şi funcţionează
corespunzător. Singurele probleme care ar putea apărea ar fi condiţii din mediul
exterior, ca de exemplu o lumină foarte puternică care ar bate pe traseu şi ar îngreuna
detectarea marcajului de către senzorii IR, traseu murdar, apă pe traseu sau
nefuncţionarea corespunzătoare din cauza căldurii exterioare sau după o funcţionare de
durată a prototipului.
După părerea mea, putem să comparăm KIT-ul cu un viitor autovehicul autonom,
deoarece funcţiile implementate vor fi aceleaşi ca pe unul care va rula pe străzile
noastre. Sunt funcţii vitale care trebuie îndeplinite.
Acest KIT experimental pentru un vehicul autonom îndeplineşte următoarele:
- abilitatea de a colectare a datelor din mediul înconjurător;
- abilitatea de a procesa datele şi a răspunde la acestea prin diferite comenzi în
funcţie de datele procesate;
- abilitatea de a interacţiona cu mediul înconjurător.
Rezultatul obţinut a fost cel aşteptat. s-a creat un KIT experimental pentru un
autovehicul autonom care este capabil să execute corect un traseu dat, să comunice cu
alte autovehicule şi periferice de pe traseu şi să evite obstacole de pe traseu.
66
VI. Bibliografie
[1]https://en.wikipedia.org/wiki/Chandler_Motor_Car#/media/
File:Chandler_Light_Weights_Model_19_Touring_1919.jpg
[2] Guilherme, T. M., "Stereo Vision-based Autonomous Vehicle Navigation", Ph. D.,
Dept. Elect. şi Ing. Calculatoarelor, Univ. Politechnica Worcester, Worcester, 2016
[3] Hasdak, O., "Programming a self-driving car", M.S. lucrare de diplomă, Dept. Elect.
şi Ing. Calculatoarelor, Univ. Brac, Mohakhali - Dhaka, 2015
[4] 2017 Connected Cars & Autonomous Vehicles Survey, Foley & Lardner LLP, 2017
[5] Parker, N., Shandro. A., Cullen. E., Autonomous and connected vehicles: navigating
the legal issues, Allen & Overy LLP, Londra, 2017
[6] Pfretzschner, B., "Autonomous Car Driving using a Low-Cost On-Board Computer",
Dept. de Ing. Calculatoarelor, Univ. Tehnica Darmstadt, Darmstadt, 2013
[7] Pannu G.S., Dawud M., Gupta P., “Design and Implementation of Autonomous Car
using Raspberry Pi”, International Journal of Computer Applications, Volume 113 – No.
9, pp.22-29, March 2015 (0975 – 8887)
[8] Chheda, D., Darde, D., Chitalia, S., "Smart Projectors using Remote Controlled
Raspberry P", International Journal of Computer Applications, Volume 82 – No. 16,
pp.6-11, 2013 (0975 – 8887)
[9] http://www.penguintutor.com/electronics/robot/rubyrobot-detailedguide.pdf
[10] Richardson, M., Wallace, S., Getting Started with Raspberry Pi, Maker Media, Inc.,
USA, 2014
[11] Krishnaveni, C., Siresha, A., Kumar, P., Sivanagireddy, K., "Implementation of
embedded systems for pedestrian safety using haar features", IJEC: International
Journal of Electrical Electronics and Communication, Volume: 06 Issue: 20, pp. 761-766
ISN 2048 – 1068, Octombrie - 2014
[12] McCall, C., Trivedi, M., "Video-Based Lane Estimation and Tracking for Driver
Assistance: Survey, System, and Evaluation", IEEE Transactions on Intelligent
Transportation Systems, Volume 7, no. 1, pp. 20-37, Martie 2006
[13] Pawar, P., Patil, M., "Driver Assistance System based on Raspberry Pi",
International Journal of Computer Applications, Volume 95 – No.16, pp. 36-39, Iunie
2014, (0975 – 8887)
[14] Wanga, Y., Teoha E., Shenb, D., S., Lane detection and tracking using B-Snake,
Image and Vision Computing 22, 2004, valabil pe :www.elseviercomputerscience.com,
pp. 269–280.
67
[15] Borenstein, J., Koren, Y., "Obstacle Avoidance with Ultrasonic Sensors", IEEE
JOURNAL OF ROBOTICS AND AUTOMATION, Volume. 4, No. 2, pp. 213-218, Aprilie
1988
[16] Trifan, A., Neves, A. J., Cunha, B., Evaluation of color spaces for user-supervised
color classification in robotic vision, 17th International Conference on Image Processing,
Computer Vision & Pattern Recognition, Las Vegas, Nevada, USA, Julie 2013
[17] Viereckl, R., The 2017 Strategy & Digital Auto Report, PwC, 2017
[18]https://en.wikipedia.org/wiki/History_of_autonomous_cars#/media/
File:Self_driving_Uber_prototype_in_San_Francisco.jpg
[19] McManus, S., Raspberry Pi for Dummies, John Wiley & Sons, Inc., New Jersey,
2013
[20] http://projects-raspberry.com/raspberry-pi-supercomputer-built-at-southampton/
[21] https://www.springerprofessional.de/raspberry-pi-gpio/15714104?fulltextView=true
[22] https://www.robofun.ro/raspberry-pi-v3
[23] Horan, B., Practical Raspberry Pi, Apress, New York, 2013
[24] http://www.electronicwings.com/raspberry-pi/raspberry-pi-gpio-access
[25] Dembowski, K., Raspberry PI - Das Handbuch, Springer Fachmedien Wiesbaden,
Wiesbaden, 2013
[26] Molley, D., Exploring the Raspberry Pi, John Wiley & Sons, Inc, Indianapolis, 2016
[27] Donat, W., Learn Raspberry Pi Programming with Python, Apress, New York, 2014
[28] http://www.circuitstoday.com/arduino-nano-tutorial-pinout-schematics
[29] Drymonitis, A., Digital Electronics for Musicians, Apress, New York, 2014
[30] Upton, E., Raspberry Pi User Guide, John Wiley & Sons, Inc, Chichester, 2014
[31] Valdez, J., Becker, J., Understanding the I2C Bus, Texas Instruments Incorporated,
Dallas, 2015
[32] http://radiostud.io/howto-i2c-communication-rpi/
[33] https://www.hackster.io/aardweeno/controlling-an-arduino-from-a-pi3-using-i2c-
59817b
[34] https://dzone.com/articles/arduino-and-raspberry-pi-working-together-part-2-now-
with-i2
[35] https://pinout.xyz/pinout/i2c
[36] https://ro.wikipedia.org/wiki/Circuit_imprimat
68
[37] https://www.dfrobot.com/product-97.html
[38] https://www.dfrobot.com/wiki/index.php/4WD_Mobile_Platform_(SKU:ROB0003)
[39] Gay, W., Custom Raspberry Pi Interface, Apress, New York, 2017
[40] Floyd, T., Electronic Devices, Prentice Hall, New Jersy, 2012
[41] https://www.optimusdigital.ro/ro/senzori-senzori-optici/163-senzor-infrarosu-de-
obstacole.html
69