Sunteți pe pagina 1din 68

DEPARTAMENTUL DE INGINERIE ELECTRICĂ

LUCRARE DE DIPLOMĂ

KIT Experimental pentru Modelarea


Funcţiilor Autovehiculului Autonom

Conducător ştiinţific, Candidat,


Conf.dr.ing. Alin ARGEŞEANU Andrei IUHASZ

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.5. Blocul de semnalizare............................................................................................. 49


3.6. Senzoristica vehiculului autonom........................................................................... 50

IV. Funcţii implementate şi testele vehiculului autonom................................................ 56


4.1. Funcţii implementate asupra KIT-ului experimental................................................ 56
4.2. Teste efectuate asupra KIT-ului.............................................................................. 63
V. Concluzii.................................................................................................................... 65
VI. Bibliografie................................................................................................................ 67

3
Introducere

Cercetăriile pentru dezvoltarea tehnologiei autovehiculelor autonome au început


înca de la începutul secolului XIX. La un secol distanţă se poate observa cât de
importantă este dezvoltarea autovehiculelor autonome. Foarte multe companii,
începând de la companii care produc autovehicule Tesla, BMW, Ford; companii mari de
software ca şi Google, diferite multinaţionale sau firme care încearcă să dezvolte
propriul sistem, UBER sau GOOGLE, până la centre universitare din toată lumea
încearcă să dezvolte autovehiculul autonom. Cu ajutorul tehnologiei care devine pe zi
ce trece mai performantă şi fiabilă s-au adus la vehiculele care rulează astăzi pe străzi
o varietate de funcţii vitale care fac dezvoltarea unui vehicul autonom mai performant și
fiabil. Se preconizează că începând din anul 2020 vor apărea pe străzi aceste tipuri de
vehicule. Vehiculele autonome sunt utile pentru viitor deoarece riscul accidentelor va
scădea drastic, deplasarea prin oraş sau dintr-un oraş în altul va fi diferită, şoferul nu va
fi nevoit să acţioneze în niciun moment asupra autovehiculului, acesta se va deplasa în
siguranţă la destinaţia dorită. Conceptul de autovehicul autonom va fi foarte util pe viitor
din foarte multe puncte de vedere, iar acesta atrage după sine şi o dezvoltare a oraşelor
şi căilor pe care vehiculu va rula.
Am ales această temă deoarece este o provocare şi este una din cele mai
discutate subiecte în acest moment. Dorinţa de cunoaştere m-a motivat să realizez un
KIT experimental pentru un autovehicul autonom şi tot o dată să mă implic în cercetare
şi realizarea KIT-ului la nivelul unui centru universitar. Dezvoltarea maşiniilor autonome
este un domeniu actual de mare interes, iar cu ajutorul acestui KIT am reuşit să
implementez funcţii vitale ale unui autovehicul autonom, adică preluarea şi prelucrarea
datelor din mediul înconjurător, comunicarea cu alte periferice, executarea comenzilor
corect, evitarea obstacolelor, obţinerea statusului KIT-ului unde se află vehiculul şi
comunicarea cu alte vehicule în intersecţie. Cu ajutorul componentelor hardware şi
mecanice şi cu un algoritm stabil am reuşit să aduc ceva inovator cu posibilităţi multiple
de dezvoltare.
Lucrarea este structurată pe cinci capitole. În capitolul I, care este structurat în
cinci subcapitole, este prezentată dezvoltarea vehiculului autonom de la începuturi până
în zilele noastre, se prezintă o definiţie a ce reprezintă un vehicul autonom și diferitele
nivele de autonomie în raport cu funcţile implementate. Tot în primul capitol am analizat
tendinţele dezvoltării autovehiculului autonom, aprofundând funcţiile vitale pe care
trebuie să le aibă și am analizat o lucrare asemănătoare care foloseşte camera la
navigare, precum și investiţiile OEM-urilor. Am comparat situaţia dezvoltării din trei zone
diferite, şi anume Europa, America şi China în diferite grafice şi tabele. Am alocat un
subcapitol special pentru prezentarea funcţiilor autovehiculului autonom, iar în ultimul
subcapitol analizez companiile implicate şi nivelul la care s-a ajuns.

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.

Figura 1.1. 1926 Chandler [1]


Începând de atunci, cercetarea unui vehicul autonom a intrat în atenţia
companiilor şi a universităţilor conducând astfel la diferite prototipuri şi teste în decursul
anilor care urmau. La finalul anului 1950, laboratoarele RCA (Radio Corporation of
America) au reuşit conducerea autonomă a unei maşini prin introducerea unor senzori
îngropaţi pe lateralul autostrăzii.
Pe acest concept, de-a lungul timpului, s-au dezvoltat şi alte prototipuri, chiar
“autostrăzi inteligente” de exemplu un Citroen DS fără şofer dezvoltat de United.

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]

Figura 1.3. Stanley, jeep-ul autonom [3]


În prezent unele legislaţii s-au schimbat, permiţând astfel testarea
autovehiculelor autonome pe drumuri publice. În S.U.A, anumite state cum ar fi Nevada,
Florida, California au acest drept, iar în Europa sunt Belgia, Franţa, Germania, Olanda
şi Spania. [3]
Am putea spune că după 2020 vom vedea rezultatul vehiculelor autonome care
se vor transforma din concepte în autoturisme personale.

1.2 Cum se defineşte un vehicul autonom


Un vehicul autonom, este un autovehicul complet automatizat sau autopropulsat
care este capabil să funcţioneze fără acţiunea directă a conducătorului auto pentru a
controla direcţia, acceleraţia şi frânarea. În prezent, vehiculele pot fi conduse de
calculator sau asistate de calculator, cu diferite niveluri de autonomie, precum și
caracteristici de conexiune care permite schimbul de date. [4]
O maşină care se conduce singură, fără şofer, maşină autonomă sau maşină
robot este un vehicul autonom capabil să îndeplinească sarcinile şoferului. Ca vehicul
autonom, aceasta percepe singură mediul înconjurător şi navighează fără ajutorul
uman. Majoritatea acestor vehicule există ca sisteme demonstrative sau prototipuri.

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]

Figura 1.4. Driverul L293D IC pentru motor [7]


În teorie, abordarea pentru detectarea benzii se poate face în 2 moduri posibile:
1. tehnica bazată pe caracteristici;
2. tehnica bazată pe modele.
Prima tehnică, cea bazată pe caracteristici, are ca proprietate localizarea
benzilor în imaginile preluate de la cameră prin combinarea la nivel inferior, cum ar fi
linii trasate, linii punctate sau intersecţii. Dezavantajul este calitatea şoselei, aceasta
trebuie să aibă benzi sau intersecţii clar trasate. De altfel, există şi constrângeri asupra
formelor marginilor benzilor, existând riscul de a nu le recunoaşte. [12]

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.

Figura 1.6. Prognoza cumpărării maşinilor de diferite nivele [17]

În figura 1.6. se prezintă următoarele tendinţe pentru autovehicule autonome:


- tehnologia autovehiculelor va ajunge la nivelul 4 şi 5 în 2028;
- se introduc din 2025 taxiuri robot.

16
Figura 1.7. Observarea scăderii drastice a autovehiculelor cu combustibil [17]

În figura 1.7. se prezintă rapoartele autovehiculelor electrice:


- o legislaţie standardizată după care se va vor dezvolta autovehiculele noi în
2020;
- un preţ accesibil şi destule staţii de încărcare a autovehiculelor;
- interdicţii potenţiale a autovehiculelor cu motoare de cumbustie internă.

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]

Putem observa o creştere spectaculoasă a maşinilor autonome comparând anul


2025 cu anul 2030. Pe de altă parte dacă comparăm Europa cu China se văd diferenţe
mari în anul 2030 la autovehiculele conectate, un număr aproape dublu fată de Europa.
Dacă comparăm anul 2020 cu 2030 se văd diferenţe imense a tipurilor de autovehicule,
o dezvoltare şi de 20 ori mai mare.
Se urmăresc următoarele:
18
- trecerea la car sharing şi maşini autonome după stabilirea regulilor tehnologice
şi politice;
- utilizarea sporită a vehiculelor şi creşterea cifrei de afaceri datorită partajării;
- creşterea cumpărării autovehiculelor noi.
Pentru a atinge o autonomie a maşinii de nivel 5 va fi foarte greu, deoarece nu
există un tipar stabilit, iar tehnologia şi infrastructura din ziua de azi nu este atât de
avansată pentru acest nivel. [17]
Dintr-un studiu de cercetare realizat de către PWC în 2016 reiese că producătorii
se axează pe partea de software mai mult decât pe partea de hardware. Dezvoltarea şi
cercetarea privind serviciul de software a crescut de la 54% la 59% în 2010, iar
estimările preconizează o creştere care va atinge cifra de 63% pănă în anul 2020.

1.4. Funcţiile vitale ale unui vehicul autonom


După cum am precizat, un autovehicul autonom este un vehicul complet
automatizat şi autopropulsat care este capabil să funcţioneze fără interacţiunea cu
şoferul, este capabil singur să controleze direcţia, acceleraţia şi frâna. Aceste maşini
sunt controlate sau asistate de calculator, cu diferite niveluri de autonomie şi de
telecomunicaţii pentru transmiterea şi primirea de date. [4]
Un vehicul autonom îndeplineşte concomitent toate funcţiile de nivel 3 dar şi
unele în plus. Pe lângă funcţiile de menţinerea benzii, anticipare de pericole prin
frânare, parcarea maşinii singure sau partea info-tainment, funcţiile vitale ale unui
vehicul autonom sunt:
- securitatea cibernetică;
- tehnologia locaţiei precise, maparea şi transmiterea datelor în sistem pentru
anumite tronsoane de drum;
- comunicarea vehicul la vehicul (V2V);
- sistem de diagnosticare a vehiculului accesibil în permanenţă pentru a ştii
statusul acesteia;
- sistemul avansat de asistenţă pentru şoferi;
- învăţarea autovehiculului şi analiza datelor de navigare şi conducere;
- multitudinea funcţilor de infotainment;
- 5G;
- autonomia mare;

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.

Figura 1.9. Schiţă a procesului de dezvoltare a maşinilor autonome împreună cu


conceptul de oraş inteligent [17]
În figura ce urmează a fi prezenzată situaţia până în 2030 a sistemului de
mobilitate prin car sharing. Din cifre se va vedea că 25-37% din numărul de persoane
îşi vor cumpăra maşini autonome sau vor folosii metoda de car sharing.

Figura 1.10. Situaţia până în 2030 a sistemului de mobilitate [17]

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]

Figura 1.11. Prototip UBER testat in San Francisco [18]


Cel mai bun exemplu este dat de cei de la Google. Proiectul lor se numeşte
"Google Self-Driving Car", ce implică dezvoltarea şi cercetarea autonomă pe vehicul.
Întreprinzătorul acestui proiect, numit şi Google[x], este Sebastian Thrun, care a fost
directorul laboratorului de inteligenţă artificială la Stanford. Scopul a fost realizarea unui
vehicul autonom. Conceptul creat de Sebastian a evoluat şi a fost preluat de către Chris
Urmson. Maşina, poreclită Stanley, a câştigat DARPA Grand Challenge 2005. Mai

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.

Figura 1.12. Maşina google cu specificaţii şi caracteristici [3]


În statul Nevada s-a promulgat prima lege pe 29 iunie 2011, care permitea
conducerea autoturismelor autonome, iar prima maşină autonomă care a fost încercată
a fost un Toyota în mai 2012, iar Google în 2014 a prezentat un nou concept de maşină
autonomă fără volan şi pedale care se vrea implementat şi ieşit pe piaţă până în 2020.
[3]

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.

Figura 2.3. Poză de ansamblu cu Raspberry Pi 3 Model B [21]

Raspberry Pi 3, Model B are următoarele caractestici:


 Quad Core CPU;
 1GB RAM;
 1.2GHz Board Clock Speed Broadcom BCM2837 64bit CPU;
 40 GPIO Pins;
 4 x USB 2 Ports;
 4 Pole Stereo Output;
 HDMI Port;
 10/100 Ethernet;
 Micro SD Card Slot;
 BCM43143 WiFi si Bluetooth Low Energy (BLE) pe placa. [23]

25
Figura 2.4. Componentele hardware a sistemulul Raspberry Pi 3 Model B [22]

Alimentarea cu energie este specificată în unitatea de măsură Volt şi puterea


este exprimată în wat. Tensiunea de intrarea pentru Raspberry Pi este de 5V, care
trebuie să susțină un minim de 700 mA, ceea ce înseamnă că alimentarea cu energie în
wați va fi:

Această valoare de 3.5W este o cerinţă minimă şi se respectă când nu există


periferice conectate. Pentru o supracondiţionare se va mai adăuga încă 50% şi va
rezulta o valoare de 5.25W, ceea ce înseamnă că tensiunea de ieşire va fi 5V. Curentul
furnizat ( ) va fi:

În concluzie este nevoie de 5V care să producă următoarele:


- 5.25W sau mai mult;
- 1.05 A sau mai mult dacă ignorăm perifericele.

În mod normal ar fi suficient ca aceste componentele să îndeplinească una dintre


condiţii, dar este de luat în considerare că la anumite componente, în special cele
ieftine, valorile lor nominale pot să difere. [23]

26
Schema electrică este prezentată în figura 2.5..

Figura 2.5. Schema electrică a Raspberry Pi 3 [23]


Din punct de vedere al software-ului, sistemul de operare se downlodează de pe
site-ul oficial al Raspberry Pi pe un card SD și existe două variante al acestui sistem:
Noobs este un sistem de operare pentru începători și Raspbian care se bazează pe
Debian. Pentru dezvoltarea și crearea aplicaților se pot downloda diferite programe de
dezvoltare. În imaginea de mai jos se poate vedea home screen-ul și programe ca
Scratch, IDLE și Phyton, dar fiind open source se pot downloda și alte programe, de
exemplu pentru Eclipse pentru a dezvolta aplicații în limbajul C++.

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.

Figura 2.7. Pinii GPIO al Raspberry Pi 3 Model B [24]

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]

2.2. Arduino NANO


Arduino NANO este o placă completă şi prietenoasă care se bazează pe
microchip-ul de 8 biţi ATmega328 şi are mai multe funcţionalităţi decât Arduino UNO.
Alimentarea se face printr-un cablu USB Mini B în loc de una normală, cu mufă de
alimentare pentru curent continuu. [27]

Figura 2.8. Caracteristici generale Arduino NANO [28]

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]

2.3. Comunicarea prin I2C dintre Raspberry Pi 3 și Arduino Nano


Comunicarea I²C sau I2C (Protocol pentru Circuit Integrat/Inter-Integrated Circuit
protocol) este un protocol proiectat hardware pentru circuitele secundare (slave), să
comunice cu unu sau mai multe circuite principale (master). Acest tip de comunicare
este foarte des întâlnit pentru ataşarea circuitelor integrate la microcontrollere. Acesta
conduce informaţia bidirecţională prin linia serială de date (SDA) şi linia serială de tact
(SCL). Tensiunile folosite pot fi de 3.3V sau 5V. [31]

Figura 2.9. Exemplu de schemă simplă de comunicare I2C între două


circuite master şi două slave [32]

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.

2.4. Circuit de componente discrete/circuit imprimat - PCB


Un circuit imprimat (pe engleză PCB - Printed Circuit Board) este o plăcuţă pe
care se imprimă un cablaj creat cu rolul de a conecta electric diferite componente

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.

Figura 2.11. PCB cablat partea superioară

Figura 2.12. PCB cablat partea inferioară

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.1. Componentele Kit-ului 4WD Mobile Platform [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]

3.1.1. Amplasarea comonentelor

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.

Figura 3.4. Privire de sus al interorului KIT-ului experimental


Din figura 3.4., se observă că toate cele patru motoare sunt conectate la roţi şi
prinse de şasiu. Firele pentru motoraşe sunt conectate din acestea în PCB. Firele din
partea interioară a KIT-ului sunt etichetate şi grupate. Gruparea firelor şi etichetarea
acestora este foarte importantă în cazul în care apare o avarie, deoarece se poate
intervenii şi rezolva problema mult mai uşor. Pe de altă parte a fost luată în considerare
şi încălzirea componentelor, deci este prevăzută şi o aerisire în KIT pentru condiţii în
care temperatura este ridicată, astfel încât să opereze în condiii nominale. După
asamblarea KIT-ului, partea de sub al aceastuia va fi prezentată în figura ce urmează.
36
Figura 3.5. Privirea zonei de sub KIT-ul experimental
În figura de mai sus se poate vedea partea de jos a KIT-ului, care conţine
elementele vitale ale navigării. Vorbim din nou despre senzorii infraroşu reglabili care
sunt puşi la o distanţă de trei centimetrii de traseu, plăcuţa de RFID şi se pot observa
LED-urile de stop şi semnalizare. În interiorul vehiculului se poate observa notarea şi
organizarea cablurilor. Cablurile au fost aşezate în aşa fel încât să existe o distanţă
între ele ca să nu interfereze sau să creeze probleme de comunicare. În şasiu au fost
făcute două găuri pe unde vor ieşi LED-urile de stop şi alte 4 pentru semnalizare în faţă
şi în spate.

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

Figura 3.10. KIT-ul experimental complet asamblat

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)

Aceşti acumulatori au o densitate energetică ridicată datorită masei atomice


scăzute a elementului Litiu, deci şi rata de descărcare este mai mică comparativ cu alte
tipuri de baterii.

43
Figura 3.12. Măsurarea tensiunii bateriilor

În figura 3.12. de mai jos este prezentată caracteristica de descărcare a bateriilor


Li-Ion, din care putem observa că atunci când celula ajunge la 3.7V aceasta se
descarcă mult mai repede.

Figura 3.13. Caracteristica de descărcare

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

Figura 3.14. Unul din motoraşul KIT-ului experimental

45
3.4. Controlarea motoraşelor

Microcontroller-ul folosit este Raspberry Pi 3 Model B. Acesta dispune de chip


Wi-Fi integrat, care permite comunicarea cu celălalte sisteme folosind protocolul IEEE
802.11. Pentru comunicarea cu PCB-ul, cu Arduino NANO şi cu cititorul de RFID în
scopul respectării orientării pe traseu, Raspberry are 40 de pini GPIO. Necesităţile de
alimentare sunt de 5V, cu o toleranta de +/-5%. Am ales alimentarea prin mufa micro
USB de care dispune pentru a beneficia de protecţia la supracurent, lucru care nu este
posibil dacă este alimentat printr-un conector. Curentul necesar pentru microcontroller
depinde de consumul perifericelor, însă un curent de aproximativ 2.5A este suficient
susţinerii funcţionării tutoror perifericelor conectate. În mod normal acesta are nevoie de
700-1000mA, variand în funcţie de perifericele utilizate. Pinii GPIO pot oferi un curent
de până la 50mA, dar dacă toţi pinii sunt utilizaţi oferă 16mA pe fiecare pin în parte.
Pentru posibilitatea reglajului turaţiei al motorului şi al sensului de rotatie s-a
proiectat un circuit cu componente discrete şi anume două punţi H (H Bridge). Fiecare
punte este răspunzătoare pentru controlul a două motoare legate în paralel, faţă şi
spate stânga şi faţă şi spate dreapta. Turaţia motoarelor este controlată cu semnalul
PWM generat de către sistemul Raspberry.

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

Figura 3.15 Schema echivalentă a unei punţi H


Atunci când întrerupătoarele S1 şi S4 sunt închise şi S2 şi S3 sunt deschise o
tensiune pozitivă va fi aplicată la nivelul motorului. Prin deschiderea întrerupătoarelor
S1 şi S4 şi închiderea întrerupătoarelor S2 şi S3, această tensiune este inversată, astfel
să permită funcţionarea în sens opus a motorului. Dacă niciunul dintre întrerupătoare nu
este închis, nu ajunge curent la motor, deci motorul este oprit. Este interzisă închiderea

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.

Figura 3.16. Comutarea întrerupătoarelor


Pentru proiectare pe post de întrerupătoare s-au utilizat tranzistoare de putere
MOS cu canal P, respectiv cu canal N. Am ales folosirea tranzistorilor MOS datorită
faptului că sunt mai uşor de controlat. Aceste dispositive sunt controlate în tensiune,
având o impedanţă mare de intrare. De asemenea, dispositivele unipolare FET-urile
folosesc un singur tip de purtători, fie electroni, fie goluri şi în plus curentul este dat de
purtători majoritari (electroni în zone N și goluri în zone P). Aceste caracteristici fac
MOSFET-urile să poată schimba starea la o frecvență mult mai mare decât
tranzistoarele bipolare.
Au limitele de funcţionare mult mai bune: tranzistorii cu canal N sau cei cu canal
P suportă un curent maxim de drenă Id=9A, iar rezistenţa dintre drenă şi sursa de
deschidere a tranzistorului este foarte mica: RDS(ON) 400 m

Figura 3.17. Schema echivalentă pentru controlul motoraşelor

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

Un dezavantaj major datorat motoarelor este cantitatea mare de zgomot electric


pe care acestea îl produc. Acest zgomot poate interfera cu senzorii folosiţi sau în cazuri
mai grave chiar să deterioreze microcontroller-ul cauzând declanșări de tensiune pe
linia de alimentare cu energie electrică. Riplurile de tensiune suficient de mari pot
corupe datele din registrele microcontroller-ului sau pot cauza resetarea microcontroller-
ului. Principala sursă de zgomot al motorului sunt periile comutatorului, care pot sări
când arborele motor se rotește. Această mișcare, atunci când este cuplată cu
inductanța bobinelor motorului și a conductorilor motorului, poate conduce la zgomote
pe linia de alimentare sau să inducă zgomot în liniile din apropiere, cum ar fi interferente
cu cititorul de RFID. Pentru siguranţă şi remedierea acestei probleme am ales să
folosim condensatori ceramici de valoare 10µF, câte trei pentru fiecare motor, legaţi
între cele două terminale şi câte unul legat între fiecare terminal şi carcasa motorului, ca
în imaginea de mai jos.

Figura 3.18. Condensatori ceramici conectaţi la motoraş

3.5. Blocul de semnalizare


48
Circuit de componente discrete (PCB) mai are rolul de a controla ledurile, adică
modulul de semnalizare. Pentru indicarea directiei de deplasare a KIT-ului vehiculului
autonom pe traseu a fost necesară implementarea pe PCB a unui circuit care să
permită atât alimentarea celor şase Led-uri, patru Led-uri pentru semnalizare, două
pentru stânga şi două pentru dreapta şi două Led-uri pentru semnalizarea opririi, cât şi
a comenzii din cod a acestora. În figura de mai jos se poate vedea PCB-ul şi blocul de
semnalizare.

Figura 3.19. PCB-ul şi blocul de semnalizare

Pentru limitarea curentului venit de la pinul de 5V al sistemului Raspberry am


folosit câte un rezistor de 260Ohm, care să limiteze curentul la necesităţile noastre,
adică la un curent de aproximativ 13mA. Tranzistorul bipolar NPN are baza legată
printr-un rezistor de 2.2kOhm, cu rolul de a limita curentul la pinul GPIO de 3,3V al
microcontroller-ului, care funcţionează ca un comutator, permiţând ca în momentul
aprinderii Led-urilor, aducerea unei tensiuni în bază şi pornirea Led-ului dorit. Mai jos se
regăseşte schema modului de semnalizare care a fost explicată mai sus.

49
Figura 3.20. Schema echivalentă blocului de semnalizare

3.6. Senzoristica vehiculului autonom

Senzorii folosiţi pentru a prelua rapid informaţii de la reperele puse la dispoziţie


sunt senzorii infraroşu (IR) reglabili, responsabili cu urmărirea liniei negre de pe mijlocul
traseului şi senzorul ultrasonic care şi el la rândul lui are rolul de ghidare prin traseu şi
detectarea obstacolelor.

Figura 3.21. Senzorii IR al KIT-ului

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.

Figura 3.22. Senzorii infraroşii montaţi pe KIT pentru navigare

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]

Figura 3.23. Schema echivalentă a senzorilor infraroşu regrabili


VCC (tensiune de curent continuu) este tensiunea care este legată de GND şi
este puterea de input al dispozitivului care în cazul nostru este pozitiv, dar pot apărea
situaţii rare în care inputul poate să fie negativ. GND are valoarea în mod normal 0V
sau punctul de 0V într-un circuit. La circuitele logice VCC este în mod normal legat la
pinul principal de alimentare de +5V pentru a avea input. [43]
Senzorul ultrasonic este plasat pe partea din faţă a KIT-ului, cu scopul de a evita
eventualele accidente cu celelalte maşini. Ca şi funcţionare senzorii ultrasonici transmit
unde ultrasonice în mediul înconjurător şi detectează undele reflectate de la un obiect
sau obstacol din apropiere. Aceşti senzori pot fi folosiţi pentru diferite aplicaţii, începând
de la aplicaţii de siguranţă, sisteme de alarmă până la utilizarea acestora pe
autovehicule autonome. Au avantajul de procesare rapidă a informaţilor din mediul
înconjurător. De asemenea, sunt folosiţi şi dezvoltaţi la multe aplicaţii pentru
automatizarea echipamentelor. [44]

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

Tehnologia RFID (Radio Frequency Identification) permite identificarea


obiectelor, animalelor sau a persoanelor. Acest sistem este compus dintr-un dispozitiv
laser şi transponder. Amândouă conţin un chip integrat şi o antenă cu care comunică
prin unde radio. Prin această tehnologie a undelor radio, poziţia unde se află cardul nu
este foarte relevantă, deoarece cardul RFID va fi citit. Citirea se face prin undele radio,
schimbul de informaţie între cele două se face foarte rapid şi avantajul este că nu
necesită timp mare de procesare sau o importanţă majoră a poziţiei cardului RFID. Pot
fi citite mai multe obiecte deodată, chiar dacă unele sunt acoperite şi de pe chip pe
obiect se transmit datele. Scopul principal de dezvoltare al sistemului RFID este de a
transmite informaţii corect iar acestea să fie procesate în cel mai scurt timp. [45]

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.

Figura 4.1. Intersecţie din traseu


Fiecare RFID stochează pe 8 biţi informaţii legate de ID-ul intersecţiei şi ID-ul
drumului după cum urmează:

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.

Figura 4.2. Numerotarea intersecţior


KIT-ul experimental pentru un vehicul autonom va obţine o rută aleasă de la
utilizator printr-o aplicaţie care va rula de pe laptop. KIT-ul va porni pe traseu după
recepţionarea traseului şi va trebui să respecte ruta primită. Toate informaţiile de pe
traseu sunt transmise pe baza feedback-ului venit de la senzori şi nu prin valori
predefinite.

Figura 4.3. Traseul pe care va rula vehiculul autonom

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

Figura 4.4. Tag-urile plasate pe traseu citite de RFID

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)

A doua funcţie importantă a oricărui autovehicul autonom este aceea de a


respecta regulile de acordare de prioritate în intersecţii. Odată citit tag-ul RFID dintr-o
intersecţie, maşina va opri scurt să îşi updateze statusul cu starea: oprit. Dacă în
intervalul cât maşina este oprită nicio altă maşină nu a ajuns într-o secţiune de drum a
aceleaşi intersecţii, maşina poate să intre în intersecţie şi să îşi continue traseul. În caz
că se întălnesc două maşini în intersecţie timpul de aşteptare nu se ia în considerare ci
se trece la luarea deciziei de prioritate, adică prioritatea de dreapta, bazată pe poziţile
lor. Vehiculul care va ieşi din intersecţie îşi adaptează starea cu: intrare în 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.

Figura 4.6. Logigramă pentru prioritatea în intersecţie


A treia funcţie implementată pe KIT-ul experimental pentru un vehicul autonom
este echiparea acestuia cu blocuri optice, LED-uri pentru semnalizare şi oprire. LED-
urile galbene pentru semnalizare sunt amplasate pe partea dreaptă şi stânga pe partea
din fată şi pe partea din spate a KIT-ului, iar LED-urile de stop, în număr de două de

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.

Figura 4.9. Exemplu de traseu care are rute cu sens unic


62
4.2. Teste efectuate asupra KIT-ului

Figura 4.10. Testarea controlului motoraşelor


Testarea controlului bidirecţional al motoarelor a fost realizată cu ajutorul a două
surse externe de tensiune. Pentru alimentarea circuitului punţilor H s-a folosit o tensiune
de aproximativ 5V ca să simuleze nivelul de tensiune al sistemului Raspberry, iar în
locul semnalului PWM de la microcontroller s-a utilizat o sursă de tensiune reglabilă,
aducându-se tensiuni până în 3.3V, mai întâi în baza primului tranzistor din etajul de
intrare al punţii, în timp ce intrarea cealaltă este conectată la GND pentru a testa turaţia
motorului într-o direcţie, iar apoi s-a adus tensiune la celălalt pin, astfel schimbând
sensul de rotaţie al motorul în direcţia opusă. S-a măsurat un curent prin motor la
funcţionarea în gol de 90mA.

Figura 4.11. Dezvoltarea KIT-ului şi testarea blocului de semnalizare

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.

Pentru viitor şi pentru un studiu aprofundat asupra KIT-ului aş opta la instalarea


unei camere video pentru a dezvolta recunoaşterea semnelor de circulaţie de pe traseu.
Pentru o decizie mai exactă la luarea virajelor aş implementa un giroscop. Sistemul de
alimentare ar putea fi îmbunătăţit cu alimentarea prin baterii, dar această variantă ar fi
mai scumpă. Pentru a evita încălzirea componentelor ar fi necesar instalarea unui
radiator în interiorul KIT-ului.

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

[42] Haberle, G., et al., Tabellenbuch Elektrotehnik, Europa-Lehrmittel, Padeborn, 2005


[43] https://www.quora.com/What-is-GND-and-VCC-in-a-circuit-Are-they-+-pole-for-
VCC-and-pole-for-GND
[44] Ultrasonic Sensor - Application Manual, Murata Manufacturing Co.,
[45] Kern, C., Anwendungen von RFID-Systemen, Springer, Berlin, 2007

69

S-ar putea să vă placă și