Programul de Master : Ingineria Sistemelor Automate [631361]
Facultatea de Automatică și Calculatoare
Programul de Master : Ingineria Sistemelor Automate
Sistem pentru parcare automată
Proiect de disertație
Victor -Emanuel PUTERITY
Conducător științific :
Șl. dr. ing. Cristian Vașar
Timișoara,
Iunie 2017
Cuprins
2
Cuprins…………………………………………………………………… ……. …………………………2
Capitolul 1. Introducere……………………………… …………………………..….5
1.1. Introducere în robotică și automa tică..…… ………… .……………… ……… …….………….5
1.2. Contextul……. ………….. ……………………………………………. ……… ………… ……………………….7
1.2. Tema proiectului…… …………. ……………………………………. ………. ………….. ……………. ………8
1.4. Scurt istoric a l sistemului de parcare automată ………………………………… ……………………9
Capitolul 2. Fundamentare teoreti că.……..………………………..…….… … ……………………………………………..11
2.1. Tipuri de motoare folosite în robotică………………………………. ………………………… ……11
2.1.1. Motoare de curent continuu(MCC)……………………… ….………………………..11
2.1.2. Motoare servo……………………………………………. …………………… ….………12
2.1.3. Motoare pas cu pas(MPP)….…………….……… ……………………………… …12
2.2. Schema generală a roboților de parcare automați……. ..……………………………….. …13
2.3. Tipuri de senzori………………………………..…… ………………………………………. …..14
2.3.1. Senzori de distanță…. …………….. ………………………………………….. .…….……15
2.4. Sisteme de deplasare……………………… ……………………………………… ……………..……..16
2.5. Sisteme de navigație……………………….. ……… …………………………………. ……………………17
2.5.1. Strategii de localizare…………… ………………………………………………. ……………. 17
2.5.2. Învățarea hărților…………………… ………………………………………… ………. 17
2.5.3. Planificarea traseului………………… ………………………………………… ……………….19
2.5.4. Sarcina parcării automat e……….. ……………………………………………… …………..20
2.6. Platforma Ar duino UNO…………………… ……………………………………. ……………25
2.6.1. Informații generale despre Arduino… …………………………………. …………..25
2.6.2. Placa de dezvoltare Arduino UNO…… ………………… …………………………26
2.6.3 Microcontrolerul ATMega 328p….………… ………………………… …………….28
2.6.4. Medi ul de dezvoltare software Arduino……… ………………….. …….………….29
3
Capitolul 3. Soluția propusă și metodologia de cercetare și dezvoltare……30
3.1. Planificarea și cinematica rutei ……………….. ………… .………….…… ………. ……………30
3.2. Electronică și control……. ………… ….………… …………………………………. ……..……35
3.3. Funcțiile sistemului……………….. ………………………………………. ………..………………..….38
Capitolul 4. Proiectarea de detaliu……………… ……………. …………… ……39
4.1. Arhitectura so ftware a proiectului ……………….…………………… ……………….………..39
4.2. Algoritm ul proiectului…………….. …………… …………………………………………… ……………41
4.3. Punerea în funcțiune a robotului ………………….. ……………………. …………………………..44
Capitolul 5. Rezultate experimentale…………….… …………………………… ……………………………………………..46
5.1. Metode de testare……………… ………………… …………………………………………..46
5.2. Rezultatele testelor………………………………………………………… ………………….47
Capitolul 6. Concluzii……………………… ……………………………………….49
6.1. Ce s -a realizat………… ……………………………………………. …..………………………49
6.2. Direcții de dezvoltar e……… ..………………… …………………………… ……… ………. …….……50
Bibliografie……………………………………………………………………… …………………… ………………………………..…….51
3
Introducere
Aria domeniului parcării automate atrage atenția unui numar mare de cercetatori
din domeniul industriei automobilelor. Cercetările au arătat că multe sisteme de navigație
robotizate nu reușesc să producă performanța și flexibilitatea tehnicilor de navigare a
animalelor, chiar dacă acestea sunt complexe din punct de vedere matematic și tehnologic.
Cercetarea în robotică biomedicală, adică cercetarea care încearcă să imite
soluțiile biologice, a i nspirat o abordare simplificată a sarcinii de parcare autonomă. În acest
studiu, sunt prezentate și demonstrate modalități de a reduce complexitatea sarcinii
implementate pe un robot mobil autonom . Pentru început se detectează locul liber de
parcare, în f aza a doua, locul de parcare este reprezentat în harta internă a robotului. În
cele din urmă, soluția ar trebui să utilizeze doar tehno logii si componente accesibile.
Practicabilitatea prototipului este măsurată în termeni de performanță, acuratețe și fiab ilitate .
Testarea roboților mobili se bazează pe noțiunea de autonomie, adică abilitatea unui
robot de a îndeplini în siguranță obiectivul propus fară intervenția unui operator uman.
Tehnica d e parcare autonomă , este o metodă de bază în domeniul senzorilor atașați în
partea din față , spate si laterală a robotului, care detectează un semnal folosind diferite
tipuri de tehnologii sensibile, cum ar fi: inductanța electrică, câmpul magnetic, frecvențe
radio de identificare, undele infraroșu și altele. Pentru a naviga în siguranță într -un mediu
interior sau exterior, robotul trebu ie să urmărească o traiectorie.
. Probleme pot apărea în cazul senzorilor, care pot complica planificarea traiectoriei
prin incertitudinea lor și astfel robotul nu va fi capabi l să iși ducă la bun sfarșit obiectivul
propus. În realitate nu există un mediu ideal în care robotul să nu întâmpine probleme, de
exemplu: roțile alunecă pe suprafața pe care trebuie să înainteze, bateriile se consumă prea
repede, apar imperfecțiuni ale s enzorilor, întâlnirea unor obstacole care nu s -au luat în
calcul de la bun început etc.
5
Capitolul 1. Introducere
1.1. Introducere în robotică si automatică
Cuvântul “robot” este de origine slavă și se poate traduce prin: muncă, clacă sau
muncă silnică. Apariția deasă a roboților în film și literatură a atras atenția științei asupra
acestui tip de mașini. Domeniul științific, care se ocupă de construcția roboților se
numește robotică . Termenul a fost folosit pentru prima dată în 1942 de Isaac Asimov în
nuvela sa, “Runaround” . Un domeniu general teoretic științific, care se ocupă de roboți, nu
există. Acestea sunt mai ales subdomenii ale informaticii . Isaac Asimov publică în anul 1942
în nuvela “Runar ound” trei legi: Legea 1 “Un robot nu are voie să pricinuiască vreun rău unei
ființe umane, sau, prin neintervenție, să permită ca unei ființe omenești să i se facă un rău ”,
Legea 2 “Un robot trebuie să se supună ordinelor date de către o ființă umană, atâ t timp cât
ele nu intră în contradicție cu Legea 1 ”, Legea 3 “Un robot trebuie să -și protejeze propria
existență, atât timp cât acest lucru nu intră în contradicție cu Legea 1 sau Legea 2 ”. [Bor10]
Un “robot” este este un operator mecanic sau virtual , artificial . Robotul este un sistem
compus din mai multe elemente: mecanică, senzori și actuatori precum și un mecanism de
direcțio nare. Mecanica stabilește înfățișarea robotului și mișcările posibile pe timp de
funcționare. Senzorii și acuatorii sunt întrebuințați la interacțiunea cu mediul sistemului.
Mecanismul de direcționare are grijă ca robotul să -și îndeplinească obiectivul cu succes,
evaluând de exemplu informațiile senzorilor. Acest mecanism reglează motoarele și planifică
mișcările care trebuiesc efectuate .
Tot “robot”, prescurtat “bot”, pot fi numite și progr amele (software -ul)
de calculator care îndeplinesc automat anumite funcții sau operațiuni. Astfel de roboți sunt
virtuali, și nu mecanici.
Roboții sunt realizați mai ales prin combinația disciplinelor: mecanică, electrotehnică
și informatică. Între timp s -a creat din legătura acestora, numită mecatronică . Pentru
realizarea de sisteme autonome (care să găsească singure soluții) este necesară legătura a
cât mai multor discipline de robotică , aici se pune accent pe legătura conceptelor
de inteligență artificială . Cele mai importante compone nte ale roboților sunt senzorii, care
permit mobilitatea acestora în mediu și o dirijare cât mai precisă. Un robot nu trebuie
6
neapărat să acționeze autonom, fapt pentru care se face diferența între roboți autonomi și
teleghidați. [Bor10]
Pe baza acestor caracteristici s -au definit generațiile de roboți: Generația 1 “roboți ce
acționeaza pe baza unui program flexibil prestabilit prin învățare directă ”, Generația 2 “roboți
cu un program flexibil prestabilit, ce se poate modifica pe baza info rmațiilor furnizate de
sistemul senzorial ” și Generația 3 “roboți ce înglobează elemente de inteligență artificială ”.
[Bor10]
Figura 1.1. Schema bloc a unui robot industrial
Automatica este parte a științelor tehnice care se referă la teoria și practica (metodele
și mijloacele) realizării constructive a sistemelor de conducere destinate eliminării intervenției
umane în elaborarea și implementarea deciziilor directe privind fun cționarea proceselor
tehnice.
Conducerea proceselor constituie una din preocupările de bază ale tehnicienilor, fiind
orientată spre realizarea unor produse (în sens general) de calitate corespunzătoare.
Principial conducerea unui proces se poate realiza:
manual (conducere manuală), prin intervenția nemijlocită și adeseori necesar
continuă a unui operator uman,
7
automat (conducere automată), prin intermediul unor echipamente dedicate
conducerii.
Sistemele cu conducere astfel realizate pot elimina parția l sau chiar total intervenția
operatorului uman și sunt denumite Sisteme cu Conducere Automată (prescurtat SCA). Prin
această terminologie se acoperă o terminologie oarecum vagă, dar frecvent utilizată ca:
automatică, automatizare, conducere automată, info rmatică de proces, informatică
industrială, sisteme de conducere ( automată) inteligente ș.a.m.d.
Prin automatizare se înțelege un sistem bazat pe folosirea de aparate, dispozitive sau
mecanisme automate care permit realizarea procesului de producție fără participarea
nemijlocita a resurselor umane, ci sub controlul și supravegherea acestora.
Sub raportul sferei de cuprindere se deosebesc două feluri de automatizări:
automatizare simplă
automatizare complexă
Automatizarea simplă reprezintă introducerea în procesul de producție sau în alte
activități a aparatelor, mașinilor sau dispozitivelor automate care permit realizarea unor
anumite operații sau activități fără participarea nemijlocită a factorului uman. Automatizarea
simpla s e poate prezenta sub forme variate, cum ar fi automatizarea controlului, protecția și
blocajul automat, reglajul automat etc., și se refera atât la diferitele procese tehnologice de
baza, cât și la cele auxiliare sau de deservire.
Automatizarea complexa reprezintă acea forma care se bazează pe folosirea și
combinarea automatizărilor simple, asigura executarea în mod automatizat a unui ansamblu
de operațiuni de producție, atât de bază cât și auxiliare sau de deservire, cum sunt operațiile
de producție, con trol, transport, reglaj, protecție, blocaj etc.
1.2. Contextul
Parcarea într -un loc strâns poate fi o sarcină foarte dificilă, chiar și pentru șoferii
experimentaț i, aceasta necesită manevre precise și estimări de distanță, sarcini pe care
oamenii nu sunt specializați atât de bine să le execute. Pentru această sarcină specială
calculatoarele sunt mult mai în măsură să ducă sarcina la bun sfârșit cu o acuratețe mult mai
ridicată. Prin urmare, un sistem informatic care ajută sau chiar înlocuiește șoferul în timpul
acestei manevre ar fi ideal. Într-adevăr, acest subiect atrage atenția din partea comunitatii de
cercetare dar și din partea industriei automobilelor. Una d intre versiunile disponibile în
8
comerț a fost lansată în Japonia de catre compania Toyota in anul 2003. Opțiunea de
parcare automată a aparut pe modelul Prius ca și optiune extra, dar are avea totusi cateva
dezavantaje, de exemplu dura aproximativ două minute pentru a parca mașina, o periodata
relativ lunga in comparație cu perioada de parcare a ș oferilor umani. În plus, nu era capabilă
să se oprească pentru orice obstacole neprevăzute aparute în calea sa în timpul parcării.
Poate că aceste probleme fac parte din motivul pentru care nu a fost livrată și in America.
Cercetarea domeniului de robotică biomedicală, este cercetarea care imită soluțiile biologice.
Această cercetare a inspirat investigarea problemei navigației roboti zate in general și sarcina
parcă rii laterale automate .
Cercetarea insă a arătat că din punct de vedere clasic sistemul de navigație nu pare
să fie de mare ajutor și pe langa asta multe dintre prototipurile de cercetare dezvoltate se
bazează mai degrabă pe metode și tehnologii complexe. Astfel rezultă tehnici complexe și
costisitoare de implementat.
1.3. Tema proiectului
Tema proiectului de disertație este „ Sistem pentru parcare automată ”. În această
lucrare sunt prezentate ș i demonstrate, trei metode prin care se reduce complexitatea
sarcinilor ce tre buie finalizate în parcarea automată . Demonstrația se face prin
implementare a pe robotul mobil a metodelor alese. În cele ce urmează, conceptele de bază
ale navigației autonome sunt prezentate, aceste concepte sunt : navigarea, metode de
localizare, învațarea harților și planificarea traseului. Se propune o schemă optimizată a rutei
pentru parcarea pe marginea traseului , luând în considerare mediul înconjur ător și
poziționarea obstacolelor .
La capitolul detecție avem de unde alege senzorii de poziționare din multitudinea
celor oferiți în industrie . Evitarea obstacolelor se rea lizează prin intermediul datelor de
feedback date de senzori cum ar fi senzori de distanță cu infraroșu, senzori de proximitate
de tip sonar, senzori de proximitate capacitivi etc. În general, suprafața obiectelor din mediul
senzorial poate avea diferite forme, cum ar fi arc, unghi și așa mai departe, iar aceste forme
ar trebui analizate prin calcule diferite. Obstacolele pot fi dete ctate prin senzori de distanță
infraroșu și prin observare vizuală. Utilizarea senzorilor de diferite feluri va crește rata de
deteție . Caroseria robotului este în formă de pătrat, cu patru roți și două variante care
limitează mișcarea: liniare (înainte și înapoi) și cirulară (schimbarea direcției). Când unghiul
9
de cotitură este limitat, acesta limitează și curbura traseului, ceea ce duce la schimbarea
direcției tangente a vehiculului .
Figura 1.3. a. Parcare lateral ă
Pe parcursul lucră rii se vor parcurge cecetări existente legate de parcarea automată .
De asemenea va fi descrisă ideea si scopul din spatele acestui studiu. In capitolele ce
urmează vor fi prezentate materialele si metodele utilizate pentru realizarea lucrarii si a
robotului mobil. Se va vorbi despre performanțele si capacitațile robotulu i mobil, iar în final se
vor prezenta rezultatele din testarea in regim de funcționare si concluziile aferente, care vor fi
mai pe larg discutate.
1.4. Scurt istoric al sistemului de parcare automată
Unul dintre primele prototipuri experimentale de parcar e automată paralelă din lume
a fost dezvoltat pe o mașină electrică Ligier la INRIA la mijlocul anilor 1990. INRIA e ste o
instituție națională de cercetare franceză axată pe informatică și matematică aplicată.
Tehnologia de bază a fost adoptată de marii pr oducătorii de automobile care oferă astăzi o
opțiune auto mată de parcare în mașinile lor.
În 1992, Volkswagen a propus o tehnologie de parcare automată utilizând sistemul
de direcție cu patru roți în conceptul său concept IRVW (Integrated Research Volkswa gen)
Futura, permițându -i să se deplaseze în lateral pentru parcare laterala . Cu toate acestea, nici
o versiune comercială a acestei tehnologii nu a fost vreodată oferită.
În 2004, un grup de studenți din cadrul Univer sității Linköping care lucrau cu Volvo
au dezvoltat un proiect numit Evolve. Mașina Evolve putea efectua in mod automat o parcare
10
laterală utilizând senzori și un calculator pentru a controla direcția, accelerarea și frânarea
unui Volvo S60 .
Figura 1.4 . Sistemul Active Park Assist de la Ford
În 2003, Toyota a început să -și vândă vehiculul hibrid japonez Prius cu o capacit ate
de parcare laterală automată oferită ca opțiune, aceasta se numea Asist ență inteligentă de
parcare. În 2006, Lexus a adăugat un sistem d e auto -parcare la modelul Lexus LS. Acesta
putea efectua parcări laterale, precum și parcări unghiulare. În 2009, Ford și -a prezentat
sistemul Active Park Assist pe modelele lor Lincoln, acesta putea efectua parcare laterală. În
2010, BMW a introdu s un sistem numit "asi stent de parcare" pe modelul reproiectat seria 5
pentru a efectua parcari laterale .
11
Capitolul 2. Fundamentare teoreti că
2.1. Tipuri de motoare folosite în roboti că
Există mai multe tipuri de motoare folosite în robotică, dar cele mai des folosite în
industrie și în proiectele mai mici sunt următoarele: Motoarele de curent continuu (prescurtat
M.C.C.), motorele servo și motoarele pas cu pas. În continuare se va explica mai amănunțit
despre fiecare tip de motor și care sunt cara cteristicile care ar putea ajuta la implementarea
proiectului.
2.1.1. Motoare de curent continuu(MCC)
Motorul electric de curent continuu (cu perii) este un motor electric cu comutație
internă care este alimentat de la o sursă de curent continuu . Motorul de curent continuu
convertește energia curentului electric continuu în energie mecanică.
Motoarele de curent c ontinuu sunt printre cele mai ieftine motoare și sunt disponibile
în mai multe variante de viteză și de cuplu. Unele motoare se pot configura astfel încât să fie
compatibile pentru roboții autonomi. Dezavantajul acestui tip de motor este că, nu există nici
un control intern de feedback, ceea ce înseamnă că nu se stie cu foarte mare precizie viteza
motorului în timpul funcționarii. [***11,f]
Componentele din care este alcătuit un motor de curent continuu sunt:
– Carcasă
– Stator
– Rotor
– Perii
– Colector sau comutator
– Rulmenți
– Arbore
Figura 2.1 .1.a. Motorul de curent continuu(MCC)
12
2.1.2. Motoare servo
După cum sugerează și numele, un motor servo este un servomecanism. Mai precis,
este vorba de un servomecanism buclă închisă care utilizează feedback -ul poziție pentru a
controla mișcarea și poziția finală. Intrarea pentru control este un semnal, fie analogic sau
digital, reprezentând poziția comandată de arborele de ieșire. [***11,f]
Motoarele servo sunt utilizate în sisteme închise de control buclă în care munca este
variabila de control. Controler -ul digital de motor servo direcționează modul de funcționare a
motorului servo, prin trimiterea semnalelor, viteza comandă la amplificator, care conduce
motorul servo. Cele mai multe servomotoare moderne sunt proiectate și livrate în jurul unui
modul controler dedicat de la același producător. Controlerele pot fi, de asemenea,
dezvoltate în jurul microprocesoarelor pentru a reduce costul pentru aplicații d e volum mare.
Componentele din care este alcătuit un motor servo sunt: circuit de control,
potențiometru, motor, carcasă servo, unelte de acționare și arbore de ieșire (Figura 1.2.1.a).
Figura 2.1 .2.a. Motorul servo
2.1.3. Motoare pas cu pas(MPP)
Motorul pas cu pas este un convertor electromecanic care realizează transformarea
unui tren de impulsuri digitale într -o mișcare proporțională a axului său.
Majoritatea motoarelor pas cu pas sunt bidirecționale și permit accelerarea, frânarea și
schimbarea rapidă a sensului de rotație fară pierderi de pași, dacă semnalele de comandă
au o frecvență inferioară frecvenței limită corespunzatoare regimului respectiv de
funcționare.
13
Din punct de vedere al construcției circuitului magnetic, motoarele pas cu pas sunt :
– Motoare pas cu pas cu reluctanță variabilă
– Motoare pas cu pas cu magnet permanent
– Motoare pas cu pas hibride.
Utilizarea motoarelor pas cu pas oferă următoarele avantaje:
– precizie și rezoluție mărite
– porniri, frânări și schimbări ale sensului de r otație fară pierderi de pași
– compatibilitatea cu sistemele numerice de comandă
Utilizarea motoarelor pas cu pas au următoarele dezavantaje:
– pasul de valoare fixă pentru motor dat
– randamentul energetic scăzut
– capacitatea limitată în ceea ce privește acționa rea unor sarcini cu inerție mare
2.2. Schema generală a roboților de parcare automați
În schema de mai jos este prezentată imaginea de ansamblu a unui robot de parcare
autonom . Acesta este format din senzori pentr u detectarea diferitelor obstacole cum ar fi: o
persoană, un obiect , un perete, etc. De asemenea în această schemă se regăsește și placa
de dezvoltare (în acest caz Microcontroler -ul ATmega328, din platforma de dezvoltare
Arduino) legată la un calculator/laptop, care are ca scop procesarea de informații. [Mar12]
Informația este trimisă mai departe la blocul de control al motoarelor și acest bloc de
control al motoarelor va comanda motoarele: de curent continuu, pas cu pas și servo.
Figura 2.2 .a. Schema bloc a unui robot de parcare automat
14
2.3. Tipuri de senzori
Denumirea senzorului provine din cuvântul latin „sensus”, care însemnă simț și
înainte de a fi adoptat pentru sisteme tehnice, a fost și este utilizat pentru a desemna
capacitățile org anelor de simț ale oamenilor și ale organismelor vii, de a culege și prelucra
informații din mediul înconjurător și a le transmite creierului. În acest proces mărimile fizice,
neelectrice, sunt convertite în semnale electrice, pe care creierul le poate pre lua și interpreta
și pe baza cărora coordonează acțiunile mușchilor. Modelul din biologie îl întâlnim, în mare
măsură, la sistemele mecatronice.
Senzorii încearcă să imite comportamentul uman (anumite componente umane –
ochiul, nasul, urechea), dar nu principiile de funcționare ale organelor de simț umane, încă
insuficient cunoscute.
Tipuri de senzori:
– Senzori vizuali: folosiți la camerele de luat vederi, roboți, oriunde se investighează
o scenă.
– Senzori tactili: în aplicații de piele artificială.
– Senz ori olfactivi și gustativi: în industria alimentară (unde se investighează
calitatea produselor), în industria petrolieră, în industria minieră (la sistemele de
siguranță/ avertizare).
– Senzori auditivi: în industria multimedia, la sistemele de recunoaștere vocală.
– Senzori de temperatură.
În automatizare, informația calitativă/cantitativă măsurabilă livrată de senzori, dupa o
eventuală amplificare și prelucrare servește la controlul și reglarea sistemelor tehnice
automate.
Figura 2.3 .a. Diferite tipuri de senzori
15
2.3.1. Senzor de distan ță
Există 3 tipuri de senzori, fiecare eficace pe o anumită zona din punct de vedere al
distanțelor măsur ate : senzor de apropiere, eficient pentru măsurători între 3 cm și 40 de cm,
senzor de depărtare medie, eficient între 10 cm și 80 cm, și senzor de depărtare, eficient
între 15 cm și 150 cm. [***15,i]
Figura 2 .3.1.a. Senzorul de distanță
Sharp GP2Y0A21YK (10cm – 80cm) Figura 2.3.1.b . Caracteristica de transfer a
senzorului de distanță Sharp GP2Y0A21YK (10cm
– 80cm)
Senzorul de distanță Sharp GP2Y0A21YK (10cm – 80cm) este un senzor care
măsoară distanța cu acuratețe de la 10 până la 80 de cm. Dispozitivul dispune de 3 pini, doi
dintre ei fiind pini de alimentare (GND și Vcc), iar cel de -al treilea fiind pinul care dă indicații
asupra distanței. Senzorul dă indicații asupra distanței prin valori cuprinse între 0 – 1024,
pentru distanțele mai mic i de 40 cm va genera valori strict mai mici decât 600, iar pentru
distanțe între 40 și 80 cm va genera valori mai mari decat 600.
El este format dintr -un emițător infraroșu care emite lumină în spectrul infraroșu, dacă
există un obiect în fața acestuia lu mina se reflectă de obiect și este receptată de către
receptorul infraroșu și în funcție de intensitatea luminii reflectate senzorul oferă la ieșire o
tensiune analogică.
În funcție de tensiunea de la ieșire se poate calcula distanța, cunoscând caracter istica
de transfer a senzorului. [***15,i]
16
2.4. Sisteme de deplasare
Locomoția roboților este numele colectiv pentru diferitele metode care folosesc roboți
pentru a se transporta din loc în loc. Deși roboții cu roți sunt de obicei destul de eficienți
energetic și simplu de controlat, alte forme de locomoție pot fi mai potrivite datorită unei serii
de motive (de exemplu, traversează teren accidentat, se deplasează și interacționează în
medii umane). În plus locomoția roboților, studiază roboți bipezi și roboți insecte ce pot avea
un impact benefic asupra biomecanici. [Gor13]
Un obiectiv major în acest domeniu este, dezvoltarea capacităților roboților pentru a decide
în mod automat cum, când și unde să se miște. Cu toate acestea, coordonarea unui număr
mare de articulații pot crea probleme pentru roboți, chiar și sarcini simple, cum ar fi urcarea
scărilor, este dificil de realizat.
Tipul de d eplasare a unui robot de parcare automat poate fi de mai multe feluri. În
funcție de alegerea metodei de deplasar e, robotul se va deplasa cu o mai mare ușurință sau
va întâmpina anumite dificultăți la opriri sau la viraje, în funcție de sistemul de deplasare
ales.
Câteva exemple de sisteme de deplasare folosite î n proiectele cu roboț i :
– Roboți cu 4 roți
Figura 2 .4.a. Robot cu 4 roți fară servodirecție
cu 4 motoare separate Figura 2.4 .b. Robot cu 4 roți cu servodirecție
În ceea ce privește eficiența energetică pe suprafețe plane, roboții autonomi cu roți
sunt cei mai eficienți. Acest lucru se datorează faptului că o rulare ideală a roții (dar nu
17
alunecarea) nu pierde nici o energie. O roată care rulează la o anumită vitez ă nu are nevoie
de valori de intrare pentru a menține viteza constantă. Acest lucru este în contrast cu roboții
cu picioare (de exemplu roboți umanoizi) care suferă un impact cu solul, cand călcâiul atinge
suprafata plană și are ca rezultat o pierdere de e nergie.
2.5. Sisteme de navigație
Tema parcării automate a unui robot de tip mașină este un caz special de navigare
a robotului. Navigarea a fost definită ca un proces capabil să răspundă urmatoarelor
întrebări : “Unde sunt?”, “Unde sunt alte locuri cu privire la mine?” și “Cum ajung în alte locuri
de aici?”. Această viziune asupra navigației a deve nit una din cele mai utilizate î n navigarea
roboților.
2.5.1. Strategii de localizare
Una dintre cele mai importante și încă complicate sarcini în efortul de a dezvolta
roboți complet autonomi este de a cunoaște poziția robotului, pentru a răspunde la
întrebarea "Unde sunt ? “. Mai mult localizarea este strâns legată de învațarea hărților, adică
este nevoie de o reprezentare spațială pentru a localiza și invers trebuie știută poziția
robotului pentru a crea o astfel de reprezentare.
Pentru a se auto -localiza, un robot trebuie să combine cele două surse de informații
disponibile idiothetice și alothetice. Sursa idiothetică furnizează informații interne despre
mișcările robotului, acestea constau în măsuratori ale vitezei, accelerației sau a rotirii roților.
Aceste date pot fi utilizate într -un mod foarte simplu pentru estimarea aproximativă a poziției
robotului. Informațiile alothetice sunt intrări din mediul înc onjurător pentru robot, acestea sunt
viziunea, mirosul, atingerea, măsurări de intervale. Informațiile pot fi utilizate ca robotul să
asocieze direct un loc prin intrările primite din mediul înconjurător sau prin convertirea
informațiilor într -o hartă a me diului înconjurător.
2.5.2. Învățarea hărților
Pentru a răspunde întrebării “Unde sunt alte locații raportate la mine?” robotul trebuie
să utilizeze intrările senzorilor și să obțină și să mențină o singură reprezentare a mediului
înconjurător. Dificultățile care pot să apară când robotul nu are disponibilă o hartă a m ediului
ci doar o hartă parțială a mediului sunt împarțite in doua categorii.
18
Prima categorie se referă la momentul când robotul nu are cunoștințe despre mediul
înconjurător, atunci robotul trebuie să construiască o hartă și să se localizeze în același t imp,
aceasta categorie mai poartă numele de LSMS (Localizare și Mapare Simultană). Această
categorie este problematică deoarece orice eroare care are loc în faza de localizare se
încorporează în harta rezultată, dar unele metode permit ca harta să fie core ctată ulterior
dacă se gasesc inconsistențe.
A doua categorie se referă la cazul în care nu exista hartă sau doar o hartă parțială,
moment în care robotul trebuie să țină seama că locul poate fi unul cunoscut sau poate fi
unul complet nou. Această etapă este una dintre cele mai importante și cruciale pentru
învățarea hărților. O modalitate de a rezolva această problemă este de a trata fiecare
concluzie pe care robotul o ia în legătur ă cu împrejurimile sale și să primească concluziile
sub formă de ipoteze pentru a fi din nou reevaluate, deoarece astfel se pot găsi caracteristici
suplimentare ale mediului.
Există o distincție între două tipuri de reprezentări: hărți metrice și hărți topologice.
În hărțile metrice, coordonatele obiectelor din mediul înconjurător, majoritatea obstacole,
sunt stocate într -un cadru comun de referință. Pe de altă parte, hărțil e topologice stochează
delimitările diferitelor locuri, împreună cu informații despre cum să ajungi de la un loc la altul.
Aceste locuri n u corespu nd neapărat spațiului real al mediului.
Procedura de construire a hărților topolo gice pare mai ușoară. Se relizează prin
înregistrarea acțiunilor pe care robotul le efectuează pentru a ajunge la un loc și apoi
stochează o definiție unică a acelui loc. Ori de câte ori un nou loc apare un loc nou, acesta
se adaugă pe hartă. Cu toate acestea, pentru a determina dacă un loc este nou sau deja
reprezentat pe hartă, este partea cea mai dificilă . Hărțile topologice sunt deosebit de
benefice atunci când vine vorba de planificarea traseului, deoarece pot fi folosite în mod
direct pentru a găsi căi diferite spre o anumită locație.
Cea mai simplă modalitate de a construi o ha rtă metrică este denumită schema
incrementală . Aceasta estimează poziția robotului și adaugă ulterior caracteristici ale hărții,
poziția sa este dată de datele de la senzori. Grila de ocupare este un exemplu al acestei
proceduri . Această hartă constă dintr -un grafic în care fiecare pătrat este fie umplut, adică un
obstacol a fost detectat acolo, f ie gol.
19
Figura 2.5.2 .a. Exemplu de construire a hărții metrice
În ciuda faptului c ă hărțile metrice pot fi mai complicate de construi t și
necesită un model de senzor metric, acestea au avantajul de a fi transferabile între diferiți
roboț i și sunt ușor de înteles de către oameni
2.5.3. Planificarea traseului
Planificarea traseului este, spre deosebire de localizare și de învățarea hărților o
sarcină destul de independentă care are loc odată ce poziția robotului pe hartă a fost
estimată. Aceasta răspund e la întrebarea “Cum ajung din alte locuri aici?”.
Partea de planificare a traseului constă într -o serie de acțiuni care trebuie luate pentru
a atinge un anumit țel . Un aspect critic al planificării căilor este integrarea raț ionamentului la
nivel înalt cu execuția și controlul la un nivel scă zut. În plus, planificarea traiectoriei și
învățarea harț ilor au inevitabil foarte multe incertitudini. Pentru a face fața acestor dificultăț i,
se propune u tilizarea logicii fuzzy. Această tehnică are proprietatea intrinsecă de a combina
raționamentul numeric, la nivel inferior și simbolic la nivel înalt. Întrucât ofera de asemenea
20
capacitatea de a reprezenta ș i de a distinge între diferitele tipuri de incertitudini, cum ar fi
imprecizia ș i incorectitudinea, face un p lus favorabil instrumentelor tradiț ionale. [Saf01 ]
Figura 2.5.3 .a Exemplu de sistem autonom de parcare
Se prezintă o ierarhizare a comportament elor de navigaț ie pe șapte niveluri, în funcț ie
de complexitatea lor, primele patru nivele sunt asa-numitele comportamente de navigaț ie
locale, ceea ce înseamnă că trebuie recunoscut doar un singur loc, ș i anume obiectivul. Se
arată că multe tehnici de navigaț ie inspirate din punct de vedere biologic nu necesită
existența unei hărți. Problema parcări i automate reprezintă un bun exemplu pentru ceea ce
Franz și Mallet numesc navigație locală , deoarece doar obiectivul, adica locul de parcare,
este relevant pentru planificatorul de drumuri. [Fra00]
2.5.4. Sarcina parcării automate
Cele trei probleme legate de navigație se referă , de asemenea, la sarcina de parcare
automată . Vehiculul trebuie să știe unde se află , unde sunt situate alte vehicule în raport cu
21
el și cum să ajungă la un loc de parcare liber din poziția sa actuală. În genera l, parcarea
automată este împarțită în trei pași succesivi ca și î n figura următoare .
Figura 2.5. 4.a. Pașii succesivi pentru parcarea laterală
Cei trei paș i succesivi pentru parcarea laterală :
a) Localizarea unui loc liber de parcare
b) Planificarea unei rute adecvate
c) Executarea manevrelor de parcare
Primul pas, pentru a localiza un loc de parcare liber, implică o versiune simplă a
LSMS(Localizare și Mapare Simultană). În timpul urmă torului pas, are loc o procedura de
planific are a traseului unde se trasează o traiectorie de la un punct de plecare la poziția
finală. Al treilea pas pur ș i simplu execut ă manevrele conform planului. Sarcina de parcare
automată este de obicei efec tuată printr -o combinație de acț iuni planificate ș i reactive.
Pasul 1 Localizarea unui loc liber de parcare. În această fază , robotul achiziționează
date despre mediul î nconjurator. Rareori se intamplă ca robotul să dețină o hartă completă a
22
mediului de dinainte, dar î n acest caz nici nu are nevoie de una. Tot ce trebuie să ș tie, sunt
contururile ș i formele pe care alte mașini parcate le formează ș i de as emenea propria poziție
în funcț ie de un loc liber de parcare.
Acest lucru se realizează, de obicei, prin simpla mișcare a robotului, presupunâ nd că
un loc de parcare lib er este undeva pe partea dreaptă sau pe partea stangă. Î n același timp
se măsoară distanța parcursă și distanțele față de obstacole de -a lungul uneia dintre laturi.
Odometria și alte aparate de măsurare a distanț ei, cum ar fi senz orii cu ultr asunete sau cu
infraroșu , sunt obișnuite, dar sunt utilizate și sisteme de mă surare vizuale foarte sofisticate.
Acest pas , este, în majoritatea cazurilor realizat printr -o combinație de comportamente
simple reactive, cum ar fi urmărirea pereților și evitar ea obstacolelor.
Pasul 2 Planificare unei rute adecvate . Poate că sarcina cea mai complicată în
problema parcării automate este planificarea traseului. Acest lucru se datorează faptului că
un vehicul de tipul mașină(doua roț i fixe pe partea din spate și doua roți direcționale în partea
din față ) este a fectat de trei tipuri de constrâ ngeri.
Constrângeri cinematice: Fiecare vehicul asemănător unui autovehicul este supus
unor constrângeri cinematice nonholonomice, adică forma geometrică a mișcării sale
este limitată. Mișcarea poate fi efectuată numai într -o direcție perpendiculară pe axa
roții din spate, iar raza de rotație este inferioară.
Constrângeri dinamice: accelerația și viteza vehiculului sunt restricționate în funcție
de capacitățile servomotoare lor sale (puterea motorului, direcția servomotorului, forța
de rupere etc.).
Nu există constrângeri de coliziune: Este, desigur, strict interzis să se ciocnească cu
oricare dintre autoturismele deja parcate sau cu alte obiecte care se află în mișcare.
Există abordări diferite, mai mult sau mai puțin elaborate, în ceea ce privește procesul
de planificare a traseului vehiculelor nonholonomice. Constrângerile dinamice sunt omise în
planificatorul de mișcări, iar toate modelele matematice menționate aici pres upun că nu are
loc alunecarea.
O abordare comună pentru a calcula manev rele de parcare este să se pornească de
la poziția finală (n.r., vehiculul parcat) și apoi să creeze o cale fezabilă pentru a ajunge la
punctul de plecare. Această manevră poate fi inversată pentru a parca vehiculul. Se
utilizează principiul simplu de a forma arcuri circulare și linii drepte pentru a determina
manevra de parcare ca și în Figura 2.5 .4.a. Poziția în care sunt conectate două segmente,
23
este punctul de cotitură când ve hiculul își schimbă unghiul de direcție. Deoarece această
metodă necesită ca vehiculul să se oprească de fiecare dată când unghiul de virare trebuie
modificat, nu este adecva tă atunci când se dorește un profil de curbă continuă. [Rad03 ]
Figura 2.5.4 .b. Etapa intermediară în parcarea laterală
Se prezintă un planificator de mișcare care rezolvă problema mișcării neholonomice
prin subd iviziunile planului recursiv al căii, fără a lua în considerare constrângerile. Această
tehnică se susține a fi atât rapid ă, dar și pentru a avea ca rezultat traiectorii de
lungime aproape minime. Multe dintre planificarile de căi bazate pe geometrie sunt
influențate de lucr area lui Murray și Sastry , care prezintă un planificator de mișcări
nonholonomic bazat pe sinusoide. Deoarece fiecare traiectorie depinde de poziția inițială,
aceasta este prima variabilă care trebuie determinată. [Mur93]
În soluți a sugerată de Gomez -Bravo , deplasarea laterală a vehiculului în timpul
manevrei de parcare este determinată de punctul de plecare. Prin urmare, acest punct este
ales în primul rând în funcție de datele de mediu prin utilizarea logicii fuzzy. Odată ce se
ajunge la punctul de plecare, se folosește un model matematic similar celor de mai sus
pentru a calcula manevra. [Gom04]
24
Pentru a garanta o traiectorie strict lipsită de coliziune, Jiang și Seneviratne prezintă
un algoritm de planificare a mișcării bazat pe conceptul de zonă interzi să. Zona interzisă este
definită de zonele în care apariția unui anumit punct de referință pe veh icul ar duce la
coliziuni. Identificând mai întâi această zonă, se facilitează planificare a unei căi libere
garantate fară coliziuni. În mod alternativ, manevra vehiculului poate fi efectuată folosind
doar comportamentul reactiv bazat pe euristică. Aceste comportamente sunt adesea
implementate prin logica fuzzy care constă în reguli create din cunoștințe de la șoferii umani .
Pasul 3 Executarea manevrelor de parcare . În acest moment tot ce a mai ramas de
executat sunt manevrele de parcare. Aceste manevre de parcare sunt executate urmâ nd
traiectoria data de Pasul 2, cum se vede și in F igura 2.5 .4.a. În unele cazuri, în această fază
se efectuează și evitarea obstacolelor reactive. [Jia99 ]
Figura 2.5.4 .c. Ultima etapă în parcarea laterală
În implementarea prezen tată de Laugier , vehiculul poate observa chiar și când
mașina di n fața locului de parcare se miș ca. În cazul în care noul spaț iu al locului de parcare
este încă suficient de mare, manevra de parcare este reglată și continuată, în caz contrar se
întrerupe procesul de parcare . [Lau99 ]
25
Deoarece traiectoria planificată în unele cazuri este foarte exactă, iar datele de la
ambii senzor i de odometrie și de distanță sunt cunoscute a fi foarte imprecise,
comportamentul în timpul acestui pas este ajutat de logica fuzzy. Unele modele suportă mai
multe iterații ale manevrei de parcare pentru a plasa vehiculul mai adânc în interiorul locului
de parcare. Acest lucru permit e ca autovehiculul să parcheze în locuri de parcare mai mici.
2.6. Platforma Arduino UNO
Proiectul se bazează pe o familie de modele de microcontrolere fabricate cu
precădere de SmartProjects din Italia și de asemenea, de o serie de alți furnizori, folos ind
diferite microcontrolere Atmel AVR pe 8 biți sau procesoare ARM Atmel pe 32 -biți. Aceste
sisteme oferă seturi de pini digitali și analogici (I/O) care pot fi conectați la diverse plăci de
extensie și alte circuite. Plăcile sunt dotate cu interfețe de c omunicații seriale, inclusiv USB
pe unele modele, pentru încărcarea programelor de pe calculatoarele personale. Pentru
programarea microcontrolerelor, platforma Arduino oferă un mediu de dezvoltare integrat
(IDE) pe baza proiectului de procesare, care incl ude suport pentru limbajele de programare
C și C ++.
2.6.1. Informa ții generale despre Arduino
În forma cea mai simplă, o placă de dezvoltare Arduino poate fi considerată ca un mic
computer căreia i se pot controla intrările și ieșirile. Arduino este cunoscută ca fiind o
platformă fizică sau integrată, ceea ce înseamnă că este un sistem interactiv și astfel prin
utilizarea hardware și software poate interacționa cu mediul. [Lan13] .
Placa de baza Arduino este alcătuită dintr -un microprocesor, un crista l sau un
oscilator și un regulator liniar de 5 volți. În funcție de tipul de Arduino, aceasta poate avea și
un conector USB pentru a permite conectarea la calculatorul personal prin portul USB. De
asemenea, placa dispune de un anumit număr de pini pentru i ntrare (Input Pin) și pentru
ieșire (Output Pin) prin intermediul cărora se poate conecta la alte circuite (senzori, led -uri,
motoare, etc.).
26
2.6.2. Placa de dezvoltare Arduino UNO
Arduino Uno este o placă cu un microcontroler bazat pe ATmega328. Placa Arduino
UNO are 14 pini digitali de intrare/ieșire (dintre care 6 pot fi utilizate ca ieșiri PWM), 6 intrări
analogice, un oscilator ceramic de 16 MHz, o conexiune USB, o mufă pentru alimentare, un
antet ICSP și un buton de resetare. Placa de dezvolate Ard uino UNO conține tot ce este
necesar pentru a susține un microcontroler, se conectează pur și simplu la un computer cu
un cablu USB. [***10,a]
Arduino Uno diferă de toate plăcile precedente pentru că nu utilizează cip -ul FTDI
USB la serial. În schimb, este dotat cu Atmega16U2 (Atmega8U2 până la versiunea R2),
programat ca un convertor USB la serial.
Arduino Uno poate fi alimentată prin intermediul conexiunii USB sau cu o sursă de
alimentare externă. Sursa de alimentare este selectată automat.
Surse de alimentare externe pot veni fie de la un adaptor AC/DC sau de la o baterie.
Firele de la baterie pot fi introduse în GND și Vin.
Placa poate opera pe o sursă externă de la 6 până la 20 de volți. Dacă placa este
alimentată cu mai puțin de 7V, pinul de 5V poate furniza mai puțin de 5 volți și placa poate fi
instabilă. Dacă utilizați mai mult de 12V, regulatorul de tensiune se poate supraîncălzi și
deteriora placa, intervalul recomandat este de 7 -12 volți. [***15,g]
Figura 2.6 .2.a. Placa de dezvoltare Arduino UNO R3
27
Fiecare dintre cei 14 pini digitali de pe Arduino Uno pot fi utilizați ca intrare sau ieșire,
folosind funcțiile pinMode(), digitalWrite() și digitalRead(), pinii funcționează la 5 volți. Fiecare
pin poate oferi sau primi un maxim de 40 mA și au o rezistență internă (deconectată implicit)
de 20 -50 kohmi. În plus, unii pini au funcții specializate:
Serial: 0 (RX) și 1 (TX), sunt folosiți pentru a primi (RX) și transmite (TX) date seriale
TTL. Acești pini sunt conectați la pinii corespunzăto ari cip -ului ATmega8U2 USB -to-TTL.
Întreruperile externe: 2 și 3, acești pini pot fi configurați pentru a declanșa o întrerupere la o
valoare scăzută, o margine în creștere sau în scădere, sau o modificare a valorii, folosind
funcția attachInterrupt().
PWM: 3, 5, 6, 9, 10, și 11. Furnizarea de 8 -biți cu ieșire PWM, folosind funcția
analogWrite().
SPI: 10 (SS), 11 (Mosi), 12 (MISO), 13 (SCK). Acești pini sprijină comunicarea SPI
folosind biblioteca SPI.
LED: 13. Există un program incorporat conectat la pi n-ul digital 13. Atunci când pin -ul
are valoarea ridicată, led -ul este aprins, atunci când pinul este low, led -ul este oprit. [Mar11]
Placa Arduino Uno are 6 intrări analogice, etichetate de la A0 până la A5, fiecare
dintre ele oferă 10 de biți de rezoluție (de exemplu, 1024 valori diferite). În mod implicit ele
măsoară de la GND la 5 volți, deși este posibil să se schimbe capătul de sus a gamei lor,
folosind pin -ul AREF și funcția analogReference().
Figura 2.6 .2.b. Schema Plăcii Arduino UNO R3
28
2.6.3. Microcontrolerul ATMega 328 p
AVR este un microcontroler pe 8 biți care are la baza un nucleu RISC cu arhitectura
Harvard, care a fost dezvoltat de către Atmel AVR în 1996. A fost una dintre primele familii
de microcontrolere care a utilizat memoria flash pe cip pentru depozitarea programului, spre
deosebire de o singură programare pe ROM, EPROM, sau EEPROM folosit de alte
microcontrolere la momentul respectiv. [***15,j]
Microcontrolerul ATMega face parte din familia microcontrolerelor AVR. Aceste
microcontrolere sunt utilizate în aplicații simple cum ar fi: controlul motoarelor, controlul
fluxului de informație prin portul USB, aplicații din domeniul automotive (controlul aprinderii
motorului, climatizare, diagnoză, sisteme de alarmă, etc.) , în apar atură electrocasnică
(mașini de spălat, frigidere, cuptoare cu microunde, aspiratoare), controlul accesului de la
distanta și multe alte exemple. Pe baza acestui nucleu firma Atmel a dezvoltat mai multe
familii de microcontrolere cu diferite structuri de m emorie și de interfețe I/O, destinate
diferitelor clase de aplicații. [***15,j]
Familia de procesoare AVR pe 8 biți au următoarele caracteristici:
– Arhitectura RISC
– 32 de registre de lucru pe 8 biți
– Multiplicator hardware
– Arhitectura Harvard a spațiului (memorie interna: 16 kocteți program flash, 1
koctet data SRAM, 521 octeți data EEPROM)
– Frecventa de lucru poate fi controlată prin software de la 0 la 16 MHz
– Procesoarele sunt prevazute cu o gamă largă de dispozitive I/O și de periferice
incorporate
– Timer programabil cu circuit de prescalare
– Surse de întrerupere interne și externe
– Timer de urmărire cu oscilator independent
– Interfata JTAG (standardul IEEE 1149.1 Compliant)
– 6 moduri de operare Sleep și Power Down pentru economisirea energiei
– Oscilator integr at RC
– Procesoarele sunt disponibile în capsule variate, de la circuite cu 8 pini la
procesoare de 68 de pini
29
2.6.4 Mediul de dezvoltare software Arduino
Mediul de dezvoltare integrat Arduino (IDE) este o aplicație de tip platformă scrisă în
limbajul de p rogramare Java și derivă din mediul de dezvoltare interactiv pentru limbajul de
programare, de prelucrare și din proiectele de cablare. Acesta este conceput pentru a
introduce programarea pentru nou -veniți, care nu sunt familiarizați cu dezvoltarea softwar e.
Acest mediu include un editor de cod cu diferite caracteristici cum ar fi: evidențierea sintaxei,
potrivirea acoladelor și indentare automată și este, de asemenea capabil să întocmească și
să încarce programele prin apasarea unui singur click. Un progra m sau un cod scris în
mediul de dezvoltare Arduino se numeste "schița". [Ban14]
Figura 2.6.4 .a. Mediul de programare Arduino
Mediu de programare simplu și clar. Mediul de programare Arduino este ușor de
utilizat pentru începatori, iar pentru utilizatorii avansați este exact cat trebuie de avansat.
Este foarte ușor de folosit pentru oricine are experiență de programare în orice limbaj.
30
Capitolul 3. Soluția propusă și metodologia de cercetare si dezvoltare
3.1. Planificarea și cinematica rutei
Planificarea traseului implică ecuații geometrice simple în acest sistem . Calea pe
care vehiculul se deplasează înainte de efectua manevre de parcare laterală, este perfect
aliniată și are trei segmente diferențiate de luat în considerare. Una este linia dreaptă, iar
celelalte două sunt arcele de cerc, precum se vede și în Figura 3.1.a. În timpul manevrelor
de parcare, roata trebuie să se alinieze ș i să își modifice unghiul de două ori, odată la
punctul "p" și odată la punctul "o". Acest lucru nu numai că evită posibilele erori c are ar putea
apărea din schimbarea frecventă a direcției , dar consumă și mai puțină energie și, prin
urmare, este mai eficient din punct de vedere energetic și mai simplu .
Figura 3 .1.a. Traseul de parcare laterală
Întreaga traiectorie de parcare se calculează numai din cunoașter ea distanței dintre
vehiculul care urmează să efectueze parcare a și vehiculul deja parcat, prin informațiile
obținut e de la senzorii de distanță. Toți ceilalți parametri nec esari pentru planificarea
traseului sunt fie constanți, fie sunt derivați din parametrul de distanță menționat mai sus
folosind ecuații, explicate în continuare în această secțiune . Acest lucru ilustrează faptul că
nu este necesară o simțire prea mare pentru planificarea traseului și, prin urmare,
31
prelucrarea este mult mai simplă. Această traiectorie de parcare nu cere ca vehiculele s ă fie
paralele, deoarece funcționează perfect și dacă vehiculele au un anumit unghi de aliniere
între ele . Are anumite limite de graniță și este foarte robust .
Calculul de direcție Ackerman a fost dezvoltat în jurul anului 1800. Conceptul lui
Ackerman este ca toate cel e patru roți să se rotească fără să apară alunecare, în jurul unui
punct comun în timpul unui viraj . Acest punct comun este cunoscut ca centrul de curbură
instantaneu .
𝑅𝑠1=(𝑙
𝑡𝑎𝑛 𝜃𝑖1)+𝑑/2 (1.a)
𝑅𝑠2=(𝑙
𝑡𝑎𝑛 𝜃𝑖2)+𝑑/2 (1.b)
Unde Rs1, este prima rază de curbură a unghiului; l este lungimea dintre axul din față
și axul din spate; d este distanța dintre punctele de contact ale roților din spate; θi1 este
unghiul roții din față.
În relația (1), l și d sunt constante și substituind valoarea θi1(care se presupune a fi
37° în cazul nostru ) Rs1 este calculată. Rs1 variază în funcție de dimensiunea vehiculului
pentru 𝜃𝑖.
Cot θi – Cot θo = d / l (2)
Relația (2) se referă la θi până la θo. Unde θo este unghiul de aliniere a roții exterioare .
Figura 3 .1.b. Traseul de parcare laterală
32
Figura 3 .1.c. Planificarea traseului și traiectoria de parcare
Atunci când vehiculul este paralel cu vehiculul parcat, se calculează distanța dintre
cele două vehicule, de exemplu, Xc cu ajutorul senzorilor de distanță . Atunci distanța ‘A -q’
este evaluată utilizând,
‘A-q’ = 𝑑𝑜 + 𝑥𝑐 (3)
Unde, 𝑑𝑜 este lățimea mașinii. De asemenea ,
‘A-q’ = Rs2 + d/2 (4)
Aici Rs2 este raza de curbură corespunzătoare unui al doilea unghi de direcție .
Apoi vehiculele se deplasează la punctul "A", care trebuie întotdeauna să se alinieze pe linia
care unește punctul de contact al roților din spate și se extinde . Această linie este
speculativă din poziția d orită a vehiculului după o parcare completă .
33
Acum în triunghiul dreptunghic ‘ABC’ din Figura 3.1 .a.,
(𝑥𝑑)2=(𝐴𝐵)2=(𝐴𝐶)2−(𝐶𝐵)2 (5)
𝑥𝑑 este distanța pe care vehiculul trebuie să o conducă din punctul A înainte de a
roti unghiul de direcție . AC va fi 𝑅𝑠1+𝑅𝑠2, iar CB este 𝑅𝑠1. Acum, vehiculul deplasează
distanța 𝑥𝑑la punctul B care este alimentat înapoi prin sistem prin intermediul
codificatoarelor roților, aceasta terminând prima parte a traiectoriei i ndicată cu linia roșie din
Figura 3 .1.b. În timp ce sistemul se deplasează la punctul B, sistemul măsoară distanța
dintre vehiculele parcate . Dacă această distanță este mai mică decât Aq + FOS (factor de
siguranță), atunci sistemul anulează misiunea de parcare și revine la modul manual . Dupa
atingerea punctului B, roata este aliniată la 37°. Unghiul 𝛼 este,
α=tan−1(xd/Rs1) (6)
β=α (7)
Prin urmare, lungimea arcului "p o" a cercului C de rază 𝑅𝑠1− d/2 este,
lungime(po) = ( α/360 ) ×2π×(Rs1−d/2) (8)
Lungimea arcului ‘oq’ a cercului A de rază Rs2+d/2 este,
lungime( oq) = ( β/360 ) ×2π×(Rs2+d/2) (9)
Apoi, vehiculul deplasează distanța "po ", finalizând al doilea segment al traiectoriei
indicat în verde în Figura 3 .1.b. La punctul "o", unghiul de aliniere al roții este modificat la un
unghi θi2 determinat de Rs2 folosind relațiile (1.a) și (1.b) și relația (2) .
După alinierea roții la noul unghi θi2, vehiculul deplasează lungimea arcului " oq"
pentru a -și încheia misiunea cu acest segment final al traseului său. Este indicat cu albastru
în Figura 3 .1.
34
Caz practic, atunci când mașina este aliniată greșit la vehiculul parcat. Spre
deosebire de cazul ideal, în mediul practic este foarte probabil ca în timpul parcării
vehicu lului să nu fie aliniat inițial paralel cu vehiculul parcat . În acest caz, unghiul de înclinare
este determinat cu referire la autoturismul parcat utilizând senzorii de distanță, așa cum se
arată în Figura 3 .1.c.
𝜙=𝑡𝑎𝑛−1((xs2−xs1)/ds) (10)
Unde ds este distanța dintre senzorul față și cel din spat e. xs2 și xs1sunt
distanțele măsurate de catre senzor și ϕ este unghiul de aliniere necorespunzătoare .
Figura 3 .1.d. Alinierea necorespunzătoare între vehicule
35
Figura 3 .1.e. Alinierea necorespunzătoare
între vehicule
Calculele sunt complementare dacă unghiul de nealiniere este negativ, adică
atunci când vehiculul este aliniat la vehiculul parcat . 𝛽 va fi 𝛼±𝜙 în funcție de nealinierea
pozitivă sau negativă .
Există anumite condiții limită pentru unghiul de aliniere dintre vehicule. Șoferul este
instruit să își păstreze autovehiculul în aceste condiții în caz de încălcare .
3.2. Electronică și control
Sistemul electronic și sistemul de control sunt împărțite în trei subsisteme . Aceste
subsisteme sunt d ispozitive de p ercepție, unitatea de procesare și dispoziti ve de acționare.
Componente de percepție și de detectare , aceste componente colectează date
pentru parametrii necesari pentru planificarea traseului și urmărirea traseului . Cele două
tipuri de senzori utilizați în acest sistem sunt senzori de distanță și codificatori rotativi .
Odată ce valoarea ϕ este
calculată din ecuația (3), atunci
restul calculelor sunt analogice
cazului ideal , luând în considerare
efectul 𝜙 asupra altor parametri
cum ar fi spațiul de parcare între
vehicule , distanța de rulare xd,
localizarea punctului A(t ocmai în
funcție de valorile măsurate ale lui
xs1, mișcarea lp și calculul ϕ) și
raza de curbură ′𝑅𝑠2′ pentru al
treilea segment al traiectoriei . Apoi,
autovehiculul se deplasează pe o
traiectorie pe trei segmente ‘np’,
‘po’ și ‘oq’, așa cum se arată în
Figura 3 .1.c.
36
Senzorii de distanță cu infraroșu sunt senzori de tip activ . Acest senzor determină
distanța perpendiculară a unui obiect sau a unui corp din punctul de plasare, din momentul
manevrelor. Acești senzori sunt plasați pe corpul exterior deasupra roților așa cum este
ilustrat în Figura 3 .2.
Figura 3 .2.a. Amplasamentul senzorilor pe robot
În sistemul propus, acest senzor este utilizat pentru a determina distanța dintre
vehiculele ′xc′, unghiul d e aliniere necorespunzătoare ±𝜙 și disponibilitatea spațiului de
parcare . În afară de aceasta, senzorii de distanță la barele de protecție din spate și din față
dau cunoștință despre întreruperile care pot apărea în timpul misiun ii de parcare, pentru a
evita coliziunile și pentru a asigura o manevră sigură .
Sistemul de codare a roților magnetice cu două căi de înaltă rezoluție este utilizat
pentru urmărirea traseului . Codificatorul furnizează informații despre rotirea roții care este
interpretată în depărtare printr -o relație matematică și calculul mort . Aceste calcule ale
distanței parcurse din datele de rotație iau în considerare diametrul roții pentru interpretarea
sa precisă .
37
Unitatea de procesare este creierul sistemului care stabilește o legătură între toate
celelalte subsisteme ale sistemului . Din datele disponibile de la senzori, planifi carea traseului
se efectuează în acest bloc al sistemului . Apoi, procesorul comandă unităților de comandă
să manevreze traiectoria calculată și să o urmărească simultan din diferite feedback -uri. De
asemenea, un itatea de procesare interacționează cu utilizatorul ori de câte ori este necesar.
Actuatorii controlează mișcarea vehiculului și î l fac să traverseze tra iectoria
calculată . Cele două tipuri de comandă necesare pentru acest sistem sunt controlul direcției
și controlul vitezei . Acționările de direcție și de viteză sunt controlate automat de procesor .
Aceste actuatoare sunt sistem e cu buclă închisă și oferă f eedback procesorului pentru a
menține precizia.
Figura 3 .2.b. Schema electrică a robotului
S-a folosit programul Fritzing pentru schema electronică. Fritzing este o inițiativă de
hardware open -source, care face obiectele electronice accesibile ca material de creație
pentru oricine.
38
3.3. Func țiile sistemului
Pentru o bună implementare a software -ului a fost necesară realizarea unei diagrame
de stări. În cadrul acestui proiect au fost create șase stări pentru robot (de la S0 până la S5).
În continuare se vor enumera stările:
S0 – Oprit (Robotul este oprit, nu este alimentat)
S1 – Pornit (Robotul este alimentat)
S2 – Repaus (Robotul stă pe loc și nu face nimic pentru aproximativ o secundă, apoi
începe că utarea locului de parcare )
S3 – Căut are (Robotul caută locul de parcare )
S4 – Parcare (După gasirea locului liber , robotul începe manevrele de parcare )
S5 – Staționare (Dacă manevrele de parcare sunt încheiate cu succes, atunci robotul
se oprește )
Figura 3 .3.a. Diagrama de stări a robotului
39
Capitolul 4. Proiectarea de detaliu
4.1. Arhitectura software a proiectului
Software -ul este împărțit în trei componente : componenta de parcare automată ,
componenta vehiculului și componenta de bord. Consultați modelul UML din Figura 4.1.
Figura 4 .1.a. Modelul UML
40
Componenta de Parcare Automată conține cel mai înalt nivel de logică pentru a
rezolva sarcina de parcare automată . Utilizează fu ncționalitatea implementată în
componenta vehiculului pentru a controla vehiculul . Componenta vehiculului, la rându l său,
comunică cu componenta plăcii care implementează cel mai de bază nivel de control al
vehiculului .
Componenta automată de parcare pune în aplicare controlul la nivel înalt al
vehiculului, care oferă toate funcționalitățile necesare pentru a rezolva sarcina de parcare
automată . Se compune din mai multe subcomponente care colaborează între ele și aduc
diferite părți la solu ția finală. Poate că cea mai importantă subcomponentă, numită " LSMS "
după termenul de localizare și cartografiere simultană, înregistrează în mod constant orice
mișcare făcută de vehicul și actualizând în consecință poziția sa . De asemenea, stochează
datele senzorului asociate cu fiecare nouă poziție a vehiculului . Această informație este
menținută și stocată într -o structură de date numită "Hartă" .
Cele trei componente ” ParkingPlaceFinder ", "Planner " și "Executo r" implementează
mecanismele care efectuează cele trei etape distinctive ale parcării automate descrise în
proiectarea soluției .
Când ” ParkingPlaceFinder " este activat, caută în mod constant prin hartă pentru a
găsi un loc de parcare liber. De fiecare dată când a fost găsit un nou loc de parcare, acesta
notifică și restul sistemului . ”ParkingPlaceFinder " produce o structură de date numită
"ParkingPlace" care, la rândul său, constă din patru puncte și câteva date despre locul de
parcare .
Aceste informații, împreună cu poziția actuală a vehiculului, furnizate de " LSMS "
(Localizare și Mapare simultană) , sunt singurele informații necesare de către "Planner ".
"Planner " produce, așa cum sugerează și numele său, un plan pentru ca vehiculul să aj ungă
la starea parcată în interiorul locului de parcare . Datele de ieșire furnizate sunt salvate intr -o
structura de date denumită ”Plan”, care este o listă cu traiectorii. Fiecare traiectorie a re
informații despre lungimea, direcția și unghiul de virare .
”Executo r" folosește apoi această listă de se gmente de căi și le execută una câte
una. În timpul executării, monitorizează procesul și avertizează restul sistemului dacă ceva
nu merge bine .
Sistemul de evitare a coliziunilor " SEC" monitorizează mișcarea vehiculului și citirile
senzorilor de distanță . Dacă o coliziune este pe cale să se întample , această componentă
alertează re stul aplicației și oprește motoarele .
41
4.2. Algoritmul proiectului
Când robotul se mișcă paralel cu peretele, marginea din stânga față a vehiculului
deja parcat este fixată ca fiind originea coordonatelor carteziene pe care le vom folosi . Pe
măsură ce robotul se mișcă, va măsura adâncimea locului de parcare, care trebuie să fie cel
puțin W+ 𝜀 (W este lățimea robotului, iar 𝜀 este ≈ 5cm) . Lungimea locului de parcare este Lp
+ 10cm și Lp trebuie să fie de cel puțin o dată și jumătate lungimea L a robotului (1,5×33=
49,5). Când robotul a înaintat întreaga sa lugime, va calcula unghiul de nealiniere 𝜙 față de
vehiculul deja parcat și va începe să inițieze traiectoria de parcare laterală utilizând
parametrii obținuți din momentul în care detectează inițial primul vehicul parcat până când
acesta se pregătește să parcheze .
Figura 4 .2.a. Algoritmul partea inițială
42
Figura 4 .2.b. Algoritmul partea I
”Exectutorul” folosește lista de segmente și căi pe care urmează sa o parcurgă și
astfel robotul parcurge prima parte din traiectorie pe raza cercului mic de centru C din Figura
3.1.b. până în punctul ”O”. În tot acest timp procesul este monitorizat în cazul apariției unor
situații neprevăzute. După parcurgerea primei traiectorii se trece la partea a II -a algoritmului. Utilizăm două semicercuri
pentru a modela traiectoria de parcare
laterală a robotului ca în Figura 3.1.b.
Din teorema lui Ackerman , considerăm
distanța dintre punctul situat la
jumătatea lățimii robotului aliniat cu cele
două roți din față la centrul razei este R .
De asemenea unghiul maxim de rotație
a roții interioare este de maxim 37ș.
Astfel pentru prima jumatate din
traiectorie robotul va solicita funcției
principale permisiunea de a merge cu
spatele, dacă nu se gasește un alt
obstacol în cale.
Sistemul de monitorizare a
coliziunilor, ”SEC” se activează în
programul principal. În programul
principal se apelează funcțiile de citire
valori senzori pentru a calcula distanțele
până la perete, respectiv până la
celelalte obstacole și pentru a permite
mișcarea pe prima parte din traiectorie.
Prima jumatate din traiectorie este :
R = 33 / tan 37ș
R = 44(cm)
43
Figura 4 .2.c. Partea a II-a din traiectorie
Figura 4 .2.d. Algoritmul partea a II-a
Pentru a doua jumătate a
traiec toriei, robotul se va deplasa într-un
semicerc din nou, dar de data aceasta în
sens invers, dar cu aceeași rază de
cotitură , adică raza R. Acest lucru este
prezentat în Figura 4.2.c. de mai sus.
Robotul setează unghiul de
rotație al roților la 37ș în celălaltă direcție
pentru a începe deplasarea.
Traiectoria va fi terminată odată
ce robotul a parcurs o distanță orizontală
de lungime L(lungimea robotului) pe raza
cercului mare de centru A din Figura
3.1.b.
După terminarea întregii
traiectorii, robotul nu este încă centrat pe
locul de parcare din c auza unor erori
minore în scanerele laser ale robotului și
se mai fac mici corecții.
44
4.3. Punerea în funcțiune a robotului
Pentru ca robotul să fie pus în funcțiune și să funcționeze între parametrii optimi
trebuie să se îndeplinească cateva condiții absolut necesare.
Prima condiție este ca, legaturile dintre senzori (distanță S harp) și placa de
dezvoltare Arduino UNO R3, respectiv driver -ul de motoare L298 să fie corect realizate.
Firele care leagă alimentarea și masa senzorilor să fie bine verificate înainte de a limentarea
robotului , iar firele care conectează ieșirile senzorilor să fie conectate la pinii aferenți.
Pinii aferenți senzorilo r de distanță Sharp sunt: A0, A2, A4 (Figura 4.2.a.). Acești pini
fac parte din PortulC al plăcii de dezvoltare Arduino UNO și sunt pinii analogici, care pot doar
să recepționeze semnal de la senzori.
Dupa ce s -a făcut verificarea legaturilor pentru senzo ri, urmează verificarea legaturilor
pentru cele doua motoare: Motor1 și Motor2. Motoarele se leagă la driver -ul de motoare
L298 cu mare atenție deoarece, dacă legaturile sunt facute invers motoarele vor funcționa în
sens opus.
Controlul motoarelor se fa ce prin intermediul driver -ului de motoare L298 care
folosește pinii : 3, 5, 6, 9. Acești pini generează semnal de tip PWM pentru un control mai
“lin” al motoarelor. Pinii 3, 5, 6 fac parte din PortulD al plăcii de dezvoltare Arduino UNO,
respectiv pinul 9 face parte din PortulB al plăcii de dezvoltare Arduino UNO. Pinii 3 și 5 sunt
pinii aferenți pentru Motor2, adică motorul din dreapta, respectiv pinii 6 și 9 sunt pinii aferenți
pentru Motor1, adică motorul din stânga.
Alimentarea plăcii de dezvoltare Ar duino UNO R3 se realizează folosind o cutie care
suportă 6 baterii AA de 1.5V (adică echivalentul a 9V). Această cutie de baterii se
conectează cu ajutorul unui conector de baterie 9V la jack -ul de putere al plăcii Arduino
UNO.
Alimentarea optimă a plăcii de dezvoltare Arduino trebuie să fie între 7V și 12V
deoarece, dacă alimentarea este de numai 5V există o posiblitate ca placa Arduino UNO să
nu funcționeze în parametri optimi și senzorii alimentați direct la ea să furnizeze valori
greșite. Pentru acest proiect mai există și posibilitatea folosirii unui acumulator USB Baterry
Pack, în cazul în care senzorii nu sunt alimentați de la placa Arduino UNO, deoarece acest
acumulator furnizează o tensiune de doar 5.5V, dar acumulatorul este mai stabil față de cele
6 baterii AA de 1.5V.
45
Figura 4.3 .a. Diagrama pinilor pentru Arduino UNO R3
Alimentarea driver -ului de motoare L298 se realizează folosind o cutie care suportă 6
baterii AA de 1.5V (adică echivalentul a 9V). Această cutie de baterii se conectează cu
ajutorul unui cablu conector de baterie 9V. Conectorul de baterie 9V se leagă la p inii VIN și
GND ai driver -ului de motoare L298. Senzorii folosiți în acest proiect se alimentează folosind
conectorii oferiți de driver -ul de motoare L298, acești conectori sunt notați cu: 5V și GND.
De asemenea este necesară o atenție sporită, deoarece driver -ul de motoare L298
este atașat la placa de dezvoltare Arduino UNO și alimentarea se realizează folosind doua
surse de tensiune independente (una pentru driver și cealaltă pentru Arduino), jumper -ul de
culoare albastră trebuie trebuie să fie neaparat deconectat, în caz contrar cele doua surse
vor debita curent una în cealaltă.
46
Capitolul 5. Rezultate experimentale
5.1. Metode de testare
În primul rând, se fac teste simulate pentru a măsura eficiența algoritmilor de
planificare a traseului . Teste le se efectuează permițând algoritmilor să calculeze manevrele
de parcare în diferite situații de parcare . Situațiile sunt variate cum ar fi diferite lungimi pentru
locul de parcare sau distanțe diferite față de celelalte obstacole.
Apoi prototipul propriu -zis este testat în trei moduri diferite. În primul rând , timpul
necesar pentru ca robotul să execute o manevră de parcare în raport cu lungimea locului de
parcare este măsurată pentru zece locuri de parcare cu lungimi diferite .
În al doilea rân d, precizia hărții interne a robotului și mișcările sale sunt măsurate
printr -un test practic .
În cele din urmă, se efectuează un test care măsoară fiabilitatea robotului. Acest
lucru este realizat pur și s implu prin faptul că se lasă robotul să găsească și să parcheze în
zece locuri de parcare dife rite, cu lungimi diferite și se contorizează de câte ori a lovit ceva .
Figura 5.1.a. Situație de parcare în cofigurața experimentală
47
Toate testele practice sunt efectuate pe model ul stradal ilustrat în Figura 5.1.a.
Cutiile de pantofi albe sunt plasate în interiorul celorlalte locuri de parcare pentru a
reprezenta mașinile parcate . Culoarea albă este aleasă pentru că îmbunătățește precizia
senzorilor de distanță infraroșii .
5.2. Rezultatele t estelor
Testarea senzorilor de distanță Sharp , nu s -a realizat în regim de funcționare. Pentru
testare a fost necesară citirea valorilor aferente fiecărui senzor și să se afișeze în Serial
Monitor, folosind comanda Serial.println(); din mediul de dezvolta re Arduino.
Pentru început s -au testat senzorii de distanță Sharp, pentru verificarea funcționarii
lor în modul descris de către furnizor în documentație. Testarea s -a realizat folosind o coală
de hartie de culoare albă, deoarece raportul de reflexie este de 90% față de alte obiecte care
au raportul de reflexie mai mic de 90% . În urma testării senzorilor de distanță Sharp am
realizat următorul tabel de valori:
Distanța(cm)
Intervalele de valori obținute la testarea senzorilor de
distanță Sharp
Distanță Sharp față DistanțăSharp
lateral(3) Distanță Sharp
spate
25 [22,27] [21,27] [21,26]
30 [28,34] [27,34] [27,33]
40 [38,44] [37,42] [37,43]
50 [47,54] [46,55] [46,55]
Testarea în regim de funcționare s -a putut realiza dupa ce s -au facut verificările
necesare .În urma verificărilor a fost incărcat (flash -uit) codul sursă în placa de dezvoltare
Arduino UNO R3. După verificările necesare parții hardware și verificarea codul ui sursă, s -a
pornit alimentarea robotului . În urma alimentă rii robotului s-au testat senzorii de distanță în
48
regim de funcționare. De asemenea, s -au testat și motoarele pentru a verifica viteza optimă
cu care robotul urmăritor trebuie înainteze. În urma t estelor s -a convenit că, este nevoie de o
viteza de cel puțin 150 din maximul de 255 pentru a înainta, datorită greutății componentelor
utilizate.
Figura 5.2.a. Scenarii de parcare laterală
Cu ajutorul programului Matlab Simulink s -au creat simularile de parcare laterală din
Figura 5.2.a. Aceste simulari au fost create cu valorile de ieșire din Serial Monitor pe care
mediul de dezvoltare Arduino îl pune la dispoziție.
Figura 5.2.b. Valori de ieșire din Serial Monitor
49
Capitolul 6. Concluzii
6.1. Ce s -a realizat
În cadrul lucrării de disertație s -a realizat proiectul “ Sistem pentru parcare automată” .
Acesta a avut ca și scop studiul metodelor și algoritmilor utilizați pentru a se putea realiza o
parcare laterală automată cu ajutorul unui robot mobil .
Amplasarea diferitelor componente pe structura robotului este esențială din punct de
vedere al plasării acestora. Amplasarea bateriilor, care furnizează energia pentru motoarele
de curent continuu, trebuie reali zată cat mai în centrul suprafeț ei șasiului deoarece, dacă
greutatea nu este distribuită în mod egal pe cele două roți din față , robotul va avea o deviație
de la traiectorie.
Suprafața pe care se deplasează robotul, are un efect important asupra deplasării
acestuia. Străbaterea unei suprafațe prea moi (pamânt ud, covor, etc.) în care robotul poate
să se afunde, implică forțarea motoarelor de curent continuu . De asemenea o suprafață prea
fină sau lucioasă (gresie, parchet laminat, gheață etc.) determină ca robotul să se deplaseze
prea repede sau să a lunece și astfel rezultâ nd tamponarea cu diferite obstacole sau
nerespectarea traseului corespunzator .
Perioada de citire a senzorilor și implicit perioada de eșantionare a algoritmului de
reglare este esențială. O perioadă prea mare pentru citire, ar put ea duce la tamponarea cu
diferite obstacole , deoarece informația este actualizată prea tarziu. O perioadă de citire prea
scurtă determină ca robotul să nu mai fie stabil și acuratețea datelor este îndoielnică . În
cadrul proiectului s -au folosit senzori de distanță cu infraroșu.
Este demonstrat în experimente faptul că robotul realizat prezintă o soluție
satisfăcătoare pentru problema parcării laterale automate . După ce s -a gasit calea optimă
pentru parcare, încep manevrele de parcare. Manevrele de parcare pe care le efectuează
sunt suficient de rapide, precise și fiabile . Acest lucru se datorează faptului că ruta robotului
a fost împărțită în două semicercuri pe care robotul a fost constrâns să le urmeze. Aceste
semicercuri ar putea fi urmate chiar și de u n automobil real , dacă s -ar face reglările
necesare.
În cele din urmă, di stincția dintre găsirea automată a unui loc de parcare și parcarea
automată într-una, reduce foarte mult complexitatea problemei , dar c onducătorul auto este
50
încă mult mai potrivit să judece în ce loc de parcare să parcheze și cum să conducă de -a
lungul străzii .
6.2. Direc ții de dezvoltare
Ideea de la care a pornit acest proiect a fost aceea de a ajuta sau de a asista
oamenii, în viața de zi cu zi, prin automatizarea unei acțiuni pe care mulți dintre noi fără să
avem de ales trebuie să o ducem la bun sfârșit.
Pe viitor se poate îmbunătății calitatea senzorilor folosiți astfel obținem o acuratețe
mult superioara față de momentul actual. De asemenea robotul poate fi echipat cu moto are
mult mai puternice, astfel robotul nu va mai avea probleme cu suprafața pe care se
deplasează. Se mai poate echipa cu un buzzer pentru a anunța câ t este de aproape sau de
departe de anumite obstacole în funcție de frecvența și intensitatea sunetului produs. De
asemenea buzzer -ul poate produce un sunet la terminarea manevrelor de parcare, astfel
anunțând operatorul uman că manevrele de parcare laterală au luat sfârșit.
Acest robot se poate echipa cu un modul Bluetooth Mate conectat la driver -ul pentru
motoare și o cameră video pentru a putea fi controlat de la distanță printr -o aplicație
Android /iOS de pe un smartphone . Scopurile controlului de la distanță sunt nenumărate,
câteva dintre ele ar putea fi: ajustarea în timp real al algoritmului de parcare automată,
selectarea locului de parcare dorit, etc.
Algoritmul poate fi îmbunătățit pentru ca robotul să fie capabil să parcheze lateral și
pe partea stângă a direcției de mers , dar trebuie montați senzorii aferenți și pe cealaltă parte.
De asemenea algo ritmul poate fi îmbunătățit pentru ca robotul să fie capabil să parcheze
între două mașini paralele.
51
Bibliografie
[Ban14] Massimo Banzi, Michael Shiloh Publisher: Maker Media, Inc Final Release
Date: December (2014), Getting Started With Arduino 3rd Edition.
[Bor10] Theodor Borangiu, Alexandru Dumitrache, Florin Daniel Anton, (2010),
Programarea roboților.
[Fra0 0] Franz, M. O. & Mallot, H. A. (2000). Biomimetic robot navigation. Robotics and
Autonomous Systems, 30, 133 –153.
[Gom04] Gómez -Bravo, F., Cuesta, F. & Ollero, A. (2004). Autonomous parking and
navigation by using soft -computing techniques. Proceedings of the World
Automation Congress,15, 173 –178.
[Gor13] Andreas Goransson and David Cuartielles, Wiley/Wrox December (2013),
Arduino Open Accesory.
[Jia99 ] Jiang, K. & Seneviratne, L. (1999). A sensor guided autonomous parking
system for nonholonomic mobile robots. Proceedings of the 1999 IEEE
International Conference on Robotics and Automation, 1, 311 –316.
[Lan13] David Lang, Maker Media, Inc August (2013), Zero to Maker.
[Lau99 ] Laugier, C., Fraichard, T., Garnierm P., Paromtchik, I. & Scheuer, A. (1999).
Sensor -Based Control Architecture for a Car-Like Vehicle. Autonomous Robot,
6, 1–18.
[Mar11] Michael Margolis, December (2011), Arduino Cookbook.
[Mar12] Michael Margolis, Maker Media, Inc, October (2012), Make an Arduino
Controlled Robot.
[Mur93] Murray R. & S astry S. (1993). Nonholonomic motion planning: steering using
sinusoids. IEEE Transactions on Automatic Control, 5, 700 –716.
[Rad03] Lo, Y., Rad, A., Wong, C. & Ho, M. (2003). Automatic Parallel Parking.
Proceedings of the 2003 IEEE Intelligent Transportation Systems, 2, 1190
1193.
[Saf01 ] Saffiotti, A. (2001). The uses of fuzzy logic in autonomous robot navigation: a
catalogue rasionné. Soft Computing, 1, 180 –197
[***10,a] *** (2010), Carte Ard uino pentru începatori(tradusă în limba romana).
52
[***11,f] *** December (2011), Comanda motorului pas cu pas,
http://www.robotics.ucv.ro/flexform/aplicații/m1/ .
[***15,g] *** January (2015), RoboFun, http://www.robofun.ro/.
[***15,i] *** January (2015), Senzor de distanță Sharp GP2Y0A21YK(10 -80),
http://www.robofun.ro/senzor_sharp_%20GP2Y0A21YK
[***15,j] *** January (2015), ATMEL 8 -BIT MICROCONTROLLER WITH
4/8/16/3 2KBYTES IN -SYSTEM PROGRAMMABLE FLASH DATASHEET.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Programul de Master : Ingineria Sistemelor Automate [631361] (ID: 631361)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
