Pr Dipl Pana Alexandru Gr945 [308570]
CUPRINS
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
Glosar…………………………………………………………………………………………………………………………………………..1
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
Lista figurilor ……………………………………………………………………………………………………………………………….3
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
Abstract ……………………………………………………………………………………………………………………………………….5
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
Capitolul I – Introducere………………………………………………………………………………………………………………7
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
1.1. Istoric ………………………………………………………………………………………………………………………..7
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
1.2. [anonimizat], dezavanaje și domeniul de utilizare………………………9
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
[anonimizat]ǎ și proiectarea sistemului de comandǎ……………………………………17
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
2.1. Dinamica quadrotorului……………………………………………………………………………………………17
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
2.2. [anonimizat]…………………………………………………………………………………………20
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
2.3. Controlerul PID ……………………………………………………………………………………………………….27
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
2.4. Simulǎri realizate pe baza modelelor matematice……………………………………………………….29
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a .a
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
[anonimizat]………………………………………………………………………………34
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
3.1. Construcția quadrotorului………………………………………………………………………………………..34
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
3.2. Pilot automat……………………………………………………………………………………………………………38
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a. a a a a a
3.3. Receptorul GPS……………………………………………………………………………………………………….41
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a..
3.4. Modulul de telemetrie……………………………………………………………………………………………….42
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
3.5. Sistemul de radio control…………………………………………………………………………………………..42
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a. a a
3.6. Regulatoare de turație……………………………………………………………………………………………….43
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
3.7. Motoare……………………………………………………………………………………………………………………44
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a .a a a a a a
3.8. Acumulator……………………………………………………………………………………………………………..45
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
3.9. Senzor optic IR-LOCK……………………………………………………………………………………………..46
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
3.10. Senzor optic inteligent PX4FLOW ……………………………………………………………………………53
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a .a a a
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
Capitolul IV – Parte experimentalǎ………………………………………………………………………………………………73
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
4.1. Navigația autonomǎ cu ajutorul waypoint-urilor…………………………………………………………73
4.2. Aterizare la punct fix cu ajutorul senzorului IR-LOCK……………………………………………….76
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
Capitolul V – Concluzii………………………………………………………………………………………………………………..79
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
Referințe și bibliografie……………………………………………………………………………………………………………….80
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
GLOSAR
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
LISTA FIGURILOR
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
Figura Numele figurii Pag.
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
1.1.1 Al doilea quadcopter al inginerului francez Etienne Oehmichen……………………………….8
1.1.2 Quadcopterul lui George de Bothezat……………………………………………………………………..9
1.2.1 Tricopter……………………………………………………………………………………………………………..10
1.2.2 Quadcopter………………………………………………………………………………………………………….11
1.2.3 Hexacopter “X”……………………………………………………………………………………………………13
1.2.4 Y6 Hexacopter……………………………………………………………………………………………………..15
1.2.5 Octocopter …………………………………………………………………………………………………………16
2.1.1 Quadrotorul ……………………………………………………………………………………………………….17
2.2.1 Subsisteme de translație și rotație………………………………………………………………………….22
2.2.2 Structura de control propusǎ………………………………………………………………………………..22
2.3.1 Controlerul PID ………………………………………………………………………………………………….28
2.4.1 Structura schemei Simulink utilizatǎ pentru realizarea simulǎrilor………………………..29
2.4.2 Implementarea dinamicii quadcopterului……………………………………………………………..30
2.4.3 Implementarea sistemului de reglare a atitudinii……………………………………………………31
2.4.4 Unghiuri de atitudine comandate………………………………………………………………………….32
2.4.5 Traiectorie obținutǎ ȋn urma simulǎrii………………………………………………………………….32
2.4.6 Unghiuri de atitudine obținute din simulare…………………………………………………………..33
3.1.1 Proiectarea quadrotorului …………………………………………………………………………………..34
3.1.2 Partea centralǎ a quadcopterului………………………………………………………………………….35
3.1.3 Vedere din fațǎ…………………………………………………………………………………………………….36
3.1.4 Vedere de sus ………………………………………………………………………………………………………36
3.1.5 Vedere din lateral ………………………………………………………………………………………………..36
3.1.6 Schema de legaturǎ a electronicii ………………………………………………………………………….37
3.2.1 Autopilot Pixhawk ………………………………………………………………………………………………38
3.2.2 Interfațǎ autopilot Pixhawk fata …………………………………………………………………………..39
3.2.3 Interfațǎ autopilot Pixhawk lateral ………………………………………………………………………40
3.3.1 GPS 3DR Ublox …………………………………………………………………………………………………..41
3.4.1 Modulul de telemetrie…………………………………………………………………………………………. 42
3.5.1 Sistemul RC ………………………………………………………………………………………………………..42
3.6.1 Regulatorul de turație al motoarelor……………………………………………………………………..43
3.7.1 Motor HengLi W4225 KV610……………………………………………………………………………….44
3.8.1 Acumulatorul Li-Io………………………………………………………………………………………………45
3.9.1 Senzor aterizare la punct fix IR-LOCK…………………………………………………………………46
3.9.2 Caracteristicile detecției ȋn sistem cartezian și unghiular………………………………………..46
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
3.9.3 Baliza MarkOne…………………………………………………………………………………………………..47
3.9.4 Dispunere geometricǎ utilizatǎ de senzorul optic……………………………………………………48
3.9.5 Proiectarea deplasǎrii obiectului pe planul imaginii cu focalizarea obiectivului……….49
3.9.6 Proiecția punctului care se mișcǎ ȋn triedul de referințǎ pe planul imaginii………………50
3.9.7 Valori la diferite altitudini ale senzorului optic………………………………………………………52
3.9.8 Efectul rotațiilor 3D asupra valorilor senzorului optic……………………………………………52
3.10.1 Senzor PX4FLOW ………………………………………………………………………………………………53
3.10.2 Senzor optic inteligent PX4FLOW………………………………………………………………………..56
3.10.3 Piramida imaginilor …………………………………………………………………………………………….58
3.10.4 O ilustrare a detectǎrii culorilor……………………………………………………………………………58
3.10.5 Caracteristici detectate de cǎtre algoritmul de detecție…………………………………………..59
3.10.6 Vectorii de mișcare calculați prin metoda fluxului optic Lucas Kanade…………………..62
3.10.7 Diferite reprezentǎri de stare ale unui obiect………………………………………………………….63
3.10.8 Metoda de verificare a consistenței ȋnainte-ȋnapoi………………………………………………….65
3.10.9 Urmǎrirea punctelor unice ȋn interiorul casetei delimitate……………………………………..65
3.10.10 O ilustrare a unei baze de date cu zone pozitive și negative……………………………………..66
3.10.11 Comparațiile pixelilor mǎsurați ȋn cadrul clasificatorilor individuali de bazǎ………….67
3.10.12 Estimarea dimensiunii reale a obiectului de interes folosind trigonometria simplǎ…..70
4.1.1 Planificarea misiunii ……………………………………………………………………………………………73
4.1.2 Traseul 3D ………………………………………………………………………………………………………….74
4.1.3 Graficul accelerometrelor ……………………………………………………………………………………75
4.2.1 Graficul celor 4 aterizǎri la punct fix…………………………………………………………………….76
4.2.2 Log-ul intrǎrilor de la radiocomandǎ…………………………………………………………………….77
4.2.3 Abaterile in triedul Pǎmȃnt ………………………………………………………………………………….78
4.2.4 Distanțele pȃnǎ la țintǎ…………………………………………………………………………………………78
Abstract
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
Această lucrare vizează un domeniu de actualitate, căruia i se acordă din ce în ce mai multă importanță și anume preluarea informațiilor din mediul extern. Acest aspect este deosebit de important în tot ceea ce înseamnă tehnologie și industrie actuală, deoarece orice proces necesită achiziția datelor ca prim pas al prelucrării, reglării sau conducerii unui proces automat.
Având în vedere obiectivele menționate anterior, prin prezenta lucarare a fost realizată dezvoltarea unui multirotor destinat urmǎririi țintelor mobile cu capacitate ȋmbunǎtǎțitǎ de aterizare la punct fix, dezvoltarea platformei și configurarea senzorilor. Derularea proiectului a necesitat lucru susținut și continuu de-a lungul perioadei de întocmire, realizare și implementare. Lucrarea de față este structurată pe 5 capitole, acestea acoperind atât considerațiile teoretice specifice temei alese, cât și descrierea amănunțită a aplicației și a montajului dezvoltat. Împărțirea pe capitole a fost făcută astfel încât se pornește de la scopul și obiectivele propuse, se prezintă suportul teoretic necesar înțelegerii proiectului și se detaliază platforma dezvoltată, precum și rezultatele obținute în urma efectuării testelor.
Capitolul I conține un scurt istoric al multirotoarelor, sisteme multirotor actuale, avantaje, dezavantaje și domeniul de utilizare al acestora.
Ȋn capitolul II sunt prezentate elementele necesare realizǎrii modelǎrii matematice, dinamica quadrotorului, proiectarea controler-ului PID.
Capitolul III detaliază echipamentele folosite în dezvoltarea aplicației prin prezentarea senzorilor folosiți, a microcontroler-ului, alegerea și construcția frame-ului utilizat, alegerea motoarelor ȋn funcție de greutatea multirotorului, alegerea ESC-ului (Electronic Speed Control), bateriile utilizate, autopilotul, receptorul și senzorii folosiți. Tot aici sunt precizate și principiile de funcționare ale sistemului, modalitatea de realizare a achiziției de date și prelucrarea acestora.
Capitolul IV prezintă partea experimentalǎ a acestui proiect, rezultatele obținute în urma testelor.
În cadrul capitolului V sunt expuse concluziile acestei lucrări precum și posibile dezvoltǎri.
Rezultatele obținute ȋn cadrul acestui proiect sunt axate pe dezvoltarea unui multirotor destinat urmǎrii țintelor mobile, cu capacitate imbunǎtǎțitǎ de aterizare la punct fix și navigarea prin puncte de trecere.
CAPITOLUL I
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
INTRODUCERE
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
Contextul actual în care poate fi încadrată tema licenței este unul mai amplu și anume cel al multirotoarelor cărora li se alătură și aplicațiile de supraveghere video de la mare distanță. Tot acest ansamblu își are aplicabilitatea în domenii diverse precum topografie – geodezie, supravegherea unor zone sensibile (aeroporturi, frontiere), etc. Astfel, echiparea unor aparate de zbor tip drone UAV (Unmanned Aircraft Vehicle) cu canale video poate reprezenta o opțiune viabilă în soluționarea unor misiuni de securitate, monitorizare, recunoaștere.
Progresul continuu al materialelor, senzorilor, al procesării hardware, al sistemelor de propulsie și al tehnologiilor software transformă ideea unui UAV performant și foarte exact într-una fezabilă.
Obiectivele vizate în cadrul lucrării se axează pe studiul sistemelor de reglare și dezvoltarea unui montaj practic care să răspundă cerințelor formulate. Se va proiecta și dezvolta un multirotor destinat urmǎririi țintelor mobile cu capacitate ȋmbunǎtǎțitǎ de aterizare la punct fix și navigarea pe waypoint-uri ȋn mod autonom.
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
Istoric
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
UAV-urile (aeronave fǎrǎ pilot) sau dronele [37], [38], [39] cum mai sunt numite sunt aparate de zbor cǎrora le lipsește pilotul uman, acestea fiind ghidate fie de cǎtre un pilot automat digital aflat la bordul acestora, fie prin telecomandǎ de la un centru de control de la sol sau care este situat in altǎ aeronavǎ pilotatǎ [40], [41].
Multicopterul este un vehicul aerian [43], [44] a cǎrui mișcare este controlatǎ prin ȋncetinirea sau accelerarea multiplelor unitǎți motor/elice. Multirotorul [45], [46] este un termen mai general, care cuprinde tricopter, quadcopter, hexacopter, octocopter și orice altǎ formǎ de giroavion cu mai mult de douǎ rotoare. Primii pionieri, de fapt au ȋncercat mai ȋntȃi zborul folosind un aparat cu mai multe rotoare din cauzǎ cǎ acesta pǎrea soluția naturalǎ pentru zbor la punct fix. Primele ȋncercǎri experimentale de a decola cu un giroavion s-au fǎcut ȋn cea mai mare parte cu multirotoarele.
Ȋn jurul anului 1907 [47], frații francezi Jacques și Louis Breguet, au construit și testat primul giroavion, un quadcopter. Ei eu reușit decolarea, deși proiectarea s-a dovedit a fi foarte instabilǎ și prin urmare, imposibil de aplicat.
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
Ȋn 1924, inginerul francez Etienne Oehmichen [48] a zburat quadcopterul sǎu la o distanțǎ de
360m, stabilind un recod mondial. Ȋn același an, el a parcurs o distanțǎ de 1 km in 7 minute si 40 secunde.
Figura 1.1.1. Al doilea quadcopter al inginerului francez Etienne Oehmichen
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
Ȋn același timp, George de Bothezat [49] a construit și testat un quadcopter pentru armata SUA, efectuȃnd un numǎr de zboruri de testare ȋnainte ca programul sǎ fie anulat. Cele patru rotoare masive cu șase pale, au permis copterului sǎ zboare cu succes, avȃnd dificultǎți de control, volumul de muncǎ ridicat al pilotului și a fost raportat ca fiind capabil sǎ zboare cu un vȃnt favorabil. Aeronava avea doua roți de control, un stick de control, palonier, cu fiecare rotor avȃnd pale cu pas variabil pentru controlul colectiv individual. Dupǎ testarea inițialǎ la sol, aeronava lui de Bothezat a fǎcut primul zbor la 18 decembrie 1922 fiind pilotatǎ de maiorul T.H. Bane și situȃndu-se la o ȋnǎlțime de 1,8 metri. Pe parcursul anului urmǎtor s-au fǎcut peste o sutǎ de zboruri, transportȃnd panǎ la patru pasageri, la o altitudine de 9,1m timp de 2 minute și 45 secunde.
Ȋn anul 1924, armata a anulat programul iar aeronava a fost scoasǎ din uz. Designerii au experimentat cu quadcoptere, deoarece alternativa folosirii unui singur rotor principal cu unul de coadǎ pentru a contrabalansa cuplul creat de rotorul principal pǎrea inutilǎ, complexǎ și ineficientǎ. Rotorul de coadǎ consuma ȋntre 10 și 15 % din puterea motorului necreȃnd portanțǎ.
O parte a rotorului principal se rotește deasupra fuselajului, ȋmpingȃnd aerul ȋn structurǎ iar ȋn acest fel se reduce portanța. Mǎrind lungimea palelor de rotor: 4-5 m sau chiar mai lungi, a reprezentat o mare problemǎ crescȃnd greutatea considerabil.
Cu toate acestea, ȋntr-un moment cȃnd calculatoarele și motoarele electrice nu existau ȋncǎ, principalul design al elicopoterului cu un singur rotor principal a avut doua mari avantaje:
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
era stabil datoritǎ unei greutǎți atȃrnate de un singur punct ce contrabalansa ȋnclinǎrile nedorite
motorul sǎu trebuia sa fie conectat la un singur rotor, conexiune ce poate fi mai mult sau mai
puțin directǎ pe o distanțǎ scurtǎ spre deosebire de conectarea printr-o curea de transmisie la distanțǎ de cȃțiva metri, distanțǎ corespunzatoare brațelor multicopterului.
Figura 1.1.2. Quadcopterul lui George de Bothezat
Primele quadcoptere [54] aveau ȋn mod obișnuit motorul așezat undeva central ȋn fuselaj, antrenarea celor 4 rotoare realizȃndu-se prin curele sau pinioane. Curelele și pinioanele cu toate acestea sunt grele și mai important, supuse la rupere. Pe masurǎ ce 4 rotoare ale unui quadcopter sunt ușor diferite unul de altul, un quadcopter nu este ȋn mod natural stabil, pur și simplu ruleazǎ 4 rotoare cu aceeași vitezǎ, ȋn timp ce produce suficientǎ portanțǎ pentru a ridica copterul, zborul nefiind stabil.
Dimpotrivǎ, quadcopterele trebuie stabilizate ȋn mod constant. Ȋn lipsa calculatoarelor, acest lucru a ȋnsemnat un volum ridicat de muncǎ pentru pilot.
Odatǎ cu apariția motoarelor electrice [55] și ȋn special microelectronica și dispozitivele micromecanice, a devenit posibil sǎ se construiascǎ multirotoare fiabile și eficiente. Multicopterele moderne au un motor electric cuplat la fiecare rotor, așezat direct sub sau deasupra acestuia. Un computer de zbor monitorizeazǎ constant orientarea copterului și corecteazǎ instabilitatea acestuia nu prin schimbarea tangajului ci pur și simplu prin turația motoarelor/rotoarelor individuale [56].
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
Sisteme multirotor actuale
Există câteva tipuri diferite de configurații cu motor, fiecare cu diferite avantaje și dezavantaje. Nu există cea mai bunǎ configurație de multirotor datoritǎ multitudinii de aplicații posibile, ȋnsǎ quadcopterele sunt cele mai comune.
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
Tricopter
Tricopterul are 3 motoare ȋntr-o formǎ de “Y”, ȋn cazul ȋn care brațele sunt așezate la 120 de grade. Tricopterele pot avea uneori și formǎ de “T”. Cele doua elice de pe brațele din fațǎ se rotesc ȋn direcția opusǎ pentru a se opune reciproc. Motorul din spate poate fi ȋnclinat la stanga și la dreapta de cǎtre un servomecanism pentru a permite girația. Este o configurație popularǎ, relativ ieftinǎ, deoarece are nevoie doar de 3 motoare și un servomecanism. Ȋn general vorbind, tricopterele sunt mai puțin stabile decȃt alte multirotoare cu mai multe motoare și nu sunt la fel de robuste datoritǎ vulnerabilitǎții servomecanismului cozii și mecanicii. Pentru pasionați, este de asemenea, mai greu de constuit din cauza mecanismului de comandǎ ȋn girație.
Figura 1.2.1. Tricopter [14]
Avantajele unui tricopter:
configurația este mai ieftinǎ datoritǎ numǎrului redus de motoare / senzori de curent
consum energetic mai mic
Dezavantajele unui tricopter:
fǎrǎ redundanțǎ. Dacǎ se pierde unul dintre motoare, acesta se va prabuși.
nu este cea mai eficientǎ construcție pentru un ȋncepǎtor
un numǎr mai mare de motoare ar implica o configurație cu o mai bunǎ stabilitate
Utilizǎrile și aplicațiile tricopterului:
aplicații militare
supraveghere aerianǎ
scopuri de salvare
scopuri industriale și comerciale
mǎsurarea presiunii și temperaturii
comunicații fǎrǎ fir pentru alte vehicule aeriane fǎrǎ pilot (UAV)
urmǎrirea țintelor
Quadcopter
Quadcopterul este un elicopter [32] ce este propulsat de 4 rotoare, are o structurǎ mecanicǎ simplǎ, este capabil de manevre precise și poate ridica o sarcinǎ utilǎ semnificativ mai mare propriei greutǎți. Piloții controleazǎ quadcopterul cu ajutorul unei radio comenzi de la distanțǎ. Receptorul quadcopterului proceseazǎ instrucțiunile pilotului. Legea mișcǎrii lui Newton afirmǎ cǎ pentru fiecare acțiune, existǎ o reacțiune egalǎ și opusǎ. Douǎ motoare [33] se rotesc ȋn sensul acelor de ceasornic [35], [36] iar celelalte douǎ invers sensului acelor de ceasornic pentru a crea forța opusǎ necesarǎ echilibrului. Quadcopterul [34] este cea mai popularǎ configurație de multirotor, cu cea mai simplǎ structurǎ mecanicǎ. Centrul de greutate al quadcopterului (CG) este ȋn mijlocul celor 4 rotoare, echilibrȃnd multirotorul. Punerea ȋncǎrcǎturii poate afecta centrul de greutate și prin urmare, autopiloții se pot regla pentru a contracara acest lucru.
Figura 1.2.2. Quadcopter [14]
Avantajele unui quadcopter:
quadcopterele la scarǎ micǎ pot zbura prin locuri greu accesibile
quadcopterele nu necesitǎ legǎturi mecanice pentru a varia unghiul de ȋnclinare a palei de rotor, ȋn timp ce acestea se rotesc. Acest lucru simplificǎ proiectarea și ȋntreținerea vehicului.
utilizarea a 4 rotoare permite fiecǎrui rotor ȋn parte sǎ aibǎ un diametru mai mic decȃt rotorul elicopterului, permițȃndu-le sǎ aibǎ mai puținǎ energie cineticǎ ȋn timpul zborului.
Dezavantajele unui quadcopter:
cea mai importantǎ problemǎ pȃnǎ ȋn prezent au fost programele de dezvoltare asociate unor fonduri foarte limitate
configurațiile complexe necesitǎ modele matematice și un proces de proiectare la fel de complexe
ca și ȋn cazul precedent (tricopter), o defecțiune la unul dintre motoare conduce la prǎbușirea aparatului de zbor
Utilizǎrile și aplicațiile quadcopterului:
Cercetare
Ȋn domeniul universitar, cercetǎtorii care lucreazǎ ȋn diferite domenii utilizeazǎ quadcopterul ca un instrument de cercetare. Ei adunǎ informații necesare ȋn cadrul aplicațiilor autonome pentru sistemele ȋn timp real și sisteme de control al zborului. Quadcopterele sunt cele mai adecvate platforme de testare, deoarece acestea sunt relativ mai ieftine și mai mici. Oricine le poate zbura, ceea ce la face cele mai convenabile instrumente pentru cercetare. Proiectele quadcopterelor sunt în mod tipic colaborări între specialiști din informatică, inginerie electrică și specialiști în inginerie mecanică [19].
Militare și de aplicare a legii
Cercetǎtorii militari ȋn diferite tǎri au inventat quadcopterele ȋn scopuri de luptǎ și de recunoaștere. Ele servesc ȋn continuare aceste funcții. Agențiile de aplicare a legii le utilizeazǎ ȋn operațiuni de cǎutare și salvare [20]. Aceste vehicule aeriene mici pot efectua misiuni ȋn zone inaccesibile pentru supraviețuitorii dezastrelor. Agențiile le utilizeazǎ de asemenea pentru a descoperii activitǎți ilegale.
Utilizarea comercialǎ și fotografii aeriene
Ȋn zilele noastre aceste aparate de zbor sunt utilizate pentru a captura imagini și clipuri video
aeriene. Tehnologia giroscopului cu 3 axe (gimbal) stabilizeazǎ camera, fiind cea mai utilizatǎ pe quadcoptere, permițȃnd captura imaginilor fǎrǎ efect de “jeleu” tremuratǎ. Piloții experți considerǎ camerele video ca fiind cele mai utilizate pe quadcopere [18], [21], [22], [23].
Livrarea de alimente și medicamente
Quadcopterele pot ajunge ȋn cȃteva minute ȋn locuri unde oamenii nu pot. Ȋn viitor, agențiile comunitare le pot utiliza pentru a furniza alimente [24], [25] și medicamente ȋn zone inaccesibile ȋn cazul unor dezastre naturale.
Conservarea mediului
Ecologistul Lian Pin Koh [31] a explicat modul ȋn care quadcopterele destinate conservǎrii mediului pot merge și captura imagini de pe teren, fǎrǎ a pertuba mediul. Abilitatea de a captura habitatele sǎlbatice din zonele ȋndepartate. Quadcopterele de conservare pot captura imagini destinate verificǎrii faunei sǎlbatice.
Hexacopter
Hexacopterul are 6 motoare montate ȋn mod obișnuit la 60 de grade pe un cadru simetric, cu 3 seturi de motoare / elice, 3 rotindu-se ȋn sensul acelor de ceasornic și 3 invers sensului acelor de ceasornic.
Figura 1.2.3. Hexacopter “X” [14]
Hexacopterele sunt foarte asemanatoare cu quadcopterele, dar ele oferǎ o capacitate mai mare de ridicare datoritǎ motoarelor suplimentare. Se poate constata de asemenea o robustețe crescutǎ deoarece ȋn cazul ȋn care unul dintre motoare cedeazǎ, aparatul de zbor poate sǎ iși continue misiunea. Dezavantajul este cǎ ele tind sǎ fie mai mari ca dimensiune și mai scumpe.
Avantajele unui hexacopter:
hexacopterele sunt concepute astfel ȋncȃt la pierderea unui motor, acestea sǎ poate continua misiunea
numǎrul de motoare și elice permit, de asemenea, un zbor mai lin și o manevrabilitate care este foarte importantǎ ȋn cazul aplicațiilor ce necesitǎ fotografiere aerienǎ
Dezavantajele unui hexacopter:
distanța micǎ dintre motoare impune folosirea elicelor mai mici, ceea ce duce la scǎderea semnificativǎ eficienței și a duratei de zbor.
hexacopterele tind sǎ fie grele
portabilitate mai micǎ decȃt ȋn cazurile precedente
un timp de zbor mai mic
Utilizǎrile și aplicațiile hexacopterului:
aplicații militare pentru spionat
supraveghere aerianǎ
scopuri de salvare
scopuri industriale și comerciale
comunicații farǎ fir pentru alte vehicule aeriane fǎrǎ pilot (UAV)
urmǎrirea țintelor
cercetare
conservarea mediuliu
Y6 Hexacopter
Hexacopterul Y6 este un multirotor cu 6 motoare ȋn formǎ de “Y”. Sunt similare ca formǎ cu tricopterul, acesta avȃnd cȃte 2 motoare pe fiecare braț, unul deasupra și unul dedesubt. Acesta utilizeazǎ atȃt elice CW (ȋn sensul acelor de ceasornic) cȃt și CCW (invers sensului acelor de ceasornic) pe același braț. Acest tip de multirotor se poate face ȋntradevar compact (dimensiune similarǎ cu un tricopter), dar cu capacitate de ridicare similarǎ cu hexacopterul. Cu toate acestea configurația Y6 este mai puțin eficientǎ datoritǎ dispunerii motorului coaxial.
Figura 1.2.4. Y6 Hexacopter [14]
Avantajele unui hexacopter cu configurație Y6:
foarte stabil
poate rǎmȃne ȋn aer ȋn cazul ȋn care unul din rotoare se stricǎ
ușor de transportat
Dezavantajele unui hexacopter cu configurație Y6:
greutatea
marime
pret ridicat
Utilizǎrile și aplicațiile hexacopterului:
aplicații militare
supraveghere aerianǎ
scopuri de salvare
urmǎrirea țintelor
Octocopter
Octocopterele sunt similare cu quadcopterele și hexacopterele. Acestea sunt o variantǎ ȋmbunǎtǎțitǎ de hexacopter cu capacitate mai mare de ridicare și redundanțǎ. Ele sunt foarte populare ca platforme de fotografiere și pot transporta dispozitive profesionale de filmare.
Figura 1.2.5. Octocopter [14]
Avantajele unui octocopter:
foarte rapid și agil
ating ȋnǎlțimi foarte ridicate
extrem de puternice
pot ridica o sarcinǎ utilǎ mai mare
foarte sigur și foarte stabil
Dezavantajele unui octocopter
dimensiuni mari
preț ridicat ȋn comparație cu quadcopterul și hexacopterul
autonomie scǎzutǎ
Utilizǎrile și aplicațiile octacopterului
aplicații militare
supraveghere aerianǎ
scopuri de salvare
urmǎrirea țintelor
CAPITOLUL II
MODELAREA MATEMATICǍ ȘI PROIECTAREA
SISTEMULUI DE COMANDǍ
2.1. Dinamica quadrotorului
Figura 2.1.1. Quadrotorul [26]
Pentru a proiecta o strategie de control, mai întâi trebuie prezentată dinamica quadcopterului. În domeniul dinamicii quadrotorului a fost despusă multă muncă, cu toate că ecuațiile mișcǎrii sunt bine stabilite (a se vedea 1.1…..1.7). Ca punct de start al lucrării este ales modelul dinamic al quadcopterului prezentat in (1.8) si (1.9).
Se fac următoarele ipoteze (vezi 1.4 si 1.10):
structura este rigidă și simetrică;
centrul de greutate este poziționat la originea axei de referință a quadcopterului;
matricea de inerție este diagonală;
elicele sunt rigide;
tracțiunea și rezistența la înaintare sunt proporționale cu pătratul vitezei rotorului;
întârzierea (lag-ul) actuatorului este neglijabilă.
Pentru echilibrarea quadcopterului (anularea momentului pe axa de girație) s-au folosit elici cu pas normal și pas inversat, așezate în mod alternativ, câte una pe fiecare braț.
Pentru a mări unghiul de ruliu (Roll), viteza celui de-al doilea motor este diminuată, în timp ce viteza celui de-al patrulea motor crește astfel încât tracțiunea totală să rămână aceeași. Pentru a obține un unghi de tangaj pozitiv, viteza primului motor este diminuată, în timp ce viteza celui de-al treilea motor este crescută. Pentru un unghi de girație pozitiv, vitezele celui de-al doilea și celui de-al patrulea motor sunt mărite, în timp ce vitezele primului și celui de-al treilea motor sunt diminuate (se definește o rotație pozitivă, acea rotație care este opusă mișcarii acelor de ceasornic). Săgețile din Figura 2.1.1 indică direcția cuplurilor de tracțiune generate pe cadrul quadcopterului de către fiecare motor în parte. Ele se opun direcției de rotație.
Ieșirile sistemului sunt x, y și z – care denotă poziția vehiculului în raport cu sistemul de referințǎ fixat al Pământului, și p, q, r – care reprezintă viteza unghiulară a vehiculului în raport cu sistemul de referință legat de corpul quadcopterului. Ecuațiile care descriu dinamica quadrotorului sunt:
unde Ω este privit ca o perturbație și împreună cu intrǎrile U1, U2, U3 și U4, ele depind de vitezele motoarelor – Ω1, Ω2, Ω3 și Ω4, l [m] este distanța dintre centrul quadcopterului și centrul elicei, b [N s2] este derivarea contribuțiilor aerodinamice, așa cum este prezentat în următoarele ecuații:
Pentru a obține viteza unghiulară în raport cu triedrul Pământ, este realizată următoarea înmulțire (1.3)
Sistemul are mai multe grade de libertate decât termenii de intrare și este astfel clasificat drept un sistem (1.4) ce nu poate fi comandat pentru a obține o anumitǎ atitudine. Având 6 ieșiri și numai 4 intrări, acest lucru denotă faptul că este imposibil să se stabilească atitudinea dorită (3 ieșiri) și poziția dorită (3 ieșiri) simultan. Pentru ca acest lucru să fie posibil, numărul de intrări trebuie să fie mai mare sau egal cu numărul de ieșiri. Acesta este un rezutat bine cunoscut care a fost prezentat în (1.5).
Sistemul care descrie intrările poate fi scris ca:
Pentru a obține viteza motoarelor bazată pe intrările dorite, este necesară inversarea unei matrici:
Mai departe:
Rădăcinile pătrate sunt extrase. Astfel viteza ficărui motor este:
2.2. Proiectarea Controler-ului
Acest capitol va prezenta dezvoltarea și testarea schemelor de control proiectate pentru vehicule de tip quadrotor [26]. Primul pas constă în stabilizarea atitudinii. Acesta este urmat de adăugarea capacităților de navigare. Pe lângă legile de control descrise anterior, este implementat de asemenea, un algoritm de urmărire a traictoriei.
Abordarea propusă include un PID (Proportional – Integrator –Derivativ) control și un filtru Kalman pentru accelerațiile măsurate și viteze de rotatie. Pentru a testa eficiența controler-ului proiectat, trebuiesc investigate anumite scenarii.
Simplificarea modelului
Procesul de proiectare poate fi simplificat prin modificarea modelului dinamic care descrie comportamentul vehiculelor după cum urmează (vezi 1.1 , 1.4 si 1.9):
Aceasta este o aproximare validă când perturbațiile de zbor la punct fix sunt mici și . Acest model simplificat corespunde scopului și este utilizat pe scară largă în diferite materiale de cercetare.
Deoarece saturația poate afecta procesul de control, este de reținut faptul că dinamica fiecarui vehicul este simulată folosind modelul adecvat și ținând cont de capacitățile reale ale dispozitivelor de acționare. Modelul simplificat (1.8) este folosit numai pentru a proiecta legile de control.
Analiza modelului simplificat relevă faptul că modelul poate fi redus în două subsisteme: unul pentru translație și unul pentru rotație . Se observă că unghiurile și derivatele lor în raport cu timpul sunt independente de componentele de translație. Totuși, acestea din urmă, depind în mod clar de componentele de rotație. Figura 2.2.1 descrie acest lanț de influențe.
Figura 2.2.1. Subsisteme de translație și rotație [26]
Pornind de la observația anterioară și ținând cont de dinamica vehiculelor, este propusă structura de control prezentă în Figura 2.2.2. Un controler de altitudine va oferi comanda U4 care impune tracțiunea globală. Controler-ul pentru poziția x – y va calcula unghiurile dorite de ruliu și tangaj, care depind de valorile dorite pentru x și y. Aceste unghiuri, împreună cu unghiul de girație sunt furnizate de controler-ul de atitudine care ofera U1, U2, U3.
Figura 2.2.2 Structura de control propusă [26]
Se introduc următoarele notații:
Sistemul (1.8) devine:
Vectorul de stare este ales ca:
Modelul dinamic (1.10) poate fi scris în spațiul stărilor astfel:
unde:
și
Cu toate aceastea, de la sistemul neliniar dinamic (1.1) se poate observa că intrările de control U1, U2 și U3 influențează în mod direct vitezele unghiulare p, q și r, nu și derivatele unghiurilor de atitudine . Astfel aceste comenzi, după ce au fost determinate prin legile de control corespunzătoare prezente în acest capitol, trebuie să fie exprimate în raport cu triedul quadcopterului, după cum urmează:
Determinarea unghiurilor de ruliu și tangaj
Variabilele de control și pot fi considerate comenzi virtuale care rotesc vectorul de tracțiune astfel încât să se obțină mișcarea de translație dorită. Astfel, este important să se obțină expresiile dorite pentru unghiurile de ruliu și tangaj în raport cu și .
Se introduc urmatoarele notatii:
Apoi și , ce sunt definite in ecuația (2.9) devin:
Ȋn formǎ matriceala:
Matricea P este defintǎ ca:
Apoi:
Factorul determinant al lui P este:
Deoarece , inversa matricii P poate fi obținutǎ:
Asta duce la:
Valorile pentru sunt date. Din acest motiv, expresiile care depind numai de acești termeni pot fi tratați ca valori cunoscute. Prin urmare sunt introduse:
Pentru ecuația (2.16) unul se obține . Prin urmare:
Pentru ecuația (2.16) unul se obține . Ȋn continuare
care dǎ:
2.3. Controlerul PID
Controlerul PID
Autopilotul folosește un controler de tip PID (Proporțional – Integrator – Derivativ). Acest controler ajută la stabilizarea quadcopterului și este utilizat ȋn navigația manualǎ sau autonomǎ. Controlerul PID utilizeazǎ reacția dupa ieșiri și este folosit pe scară largă în foarte multe aplicații. Acesta utilizeazǎ ca intrare eroare determinatǎ ca diferența dintre o valoare mǎsuratǎ la ieșirea procesului și o valoare impusǎ. Acest regulator încearcă să minimizeze eroarea de reglare a procesului prin utilizarea a trei parametrii: P, I, D.
Componenta proporțională a regulatorului produce o comandă care este proporțională cu valoarea curentă a erorii. Ea este calculată sub forma:
O valoare mare a constantei Kp, duce la schimbarea puternică a ieșirii regulatorului pentru orice eroare nenulă. Dacǎ valoare constantei este prea mare, sistemul devine instabil, în timp ce o valoare prea mică duce la o comandă prea slabă și implicit la un răspuns mai lent al sistemului.
Componenta integrală a regulatorului este proporțională atât cu amplitudinea erorii cât și cu durata acesteia. Ea se calculează ca sumă a erorilor instantanee de-a lungul funcționării și redă eroarea acumulată ce trebuia corectată anterior. Eroarea acumulată este apoi multiplicată cu constanta Ki și este adăugată la ieșirea controlerului.
Termenul integral se scrie ca:
Efectul acestei componente este accelerarea dinamicii sistemului către valoarea de referințǎ și de a elimina eroarea staționară ce ar apărea cu un controler de tip P. Totuși, erorile acumulate pot cauza depășirea referinței și mărirea timpului de răspuns.
Termenul derivativ al regulatorului este calculat determinând panta erorii (viteza de schimbare) și înmulțind-o cu constanta Kd. Componenta derivativă se scrie ca:
Termenul derivativ prezice comportamentul sistemului și astfel îmbunătățește timpul de stabilizare.
În următoarea figură este prezentată schema bloc a controlerului PID. Toate cele 3 componente sunt însumate, rezultând comanda ce este transmisă procesului.
Figura 2.3.1. Controlerul PID [59]
2.4. Simulǎri realizate pe baza modelelor matematice
Figura 2.4.1. Structura schemei Simulink utilizata pentru realizarea simularilor
În această secțiune se prezintă o implementare a modelului matematic descris anterior. Simulatorul obținut este utilizat pentru verificarea acestui model și pentru a testa strategia de control utilizată pentru reglarea atitudinii. Acest simulator a fost dezvoltat in Matlab Simulink.
Quadrotorul considerat în simularea realizată este definit de următorii parametri:
Sistemul este construit din mai multe blocuri ce sunt conectate astfel încȃt se formează o structură de comandă în reacție. In blocul “dinamică” sunt prezentate ecuațiile ce permit determinarea vitezelor direct din integrarea accelerațiilor . Vitezele unghiulare sunt obținute din integrarea accelerațiilor unghiulare și din aceleași viteze unghiulare transformate conform relațiilor prezentate anterior.
Figura 2.4.2 Implementarea dinamicii quadcopterului
Blocul “control” preia rezultatele integrarii si formeaza pe baza comenzilor introduse semnalele de comanda care apoi sunt transformate in valori ale vitezelor unghiulare ale rotoarelor. Regulatorul utilizat pentru reglarea atitudinii este unul de tip proporțional derivativ
Figura 2.4.3 Implementarea sistemului de reglare a atitudinii
Pentru a testa implementarea propusă au fost introduse referințele de atitudine necesare pentru a obține decolarea, urmărirea unei traiectorii în formă de L și apoi aterizare. Comenzile construite în acest scop sunt prezentate în figura următoare.
Figura 2.4.4 Unghiuri de atitudine comandate
În urma aplicării acestor semnale de comandă pe cele 4 canale se obține următoarea traiectorie a quadrotorului
Figura 2.4.5 Traiectorie obținută în urma simulării
Atitudinea quadrotorului pe durata simulării este reprezentată în figura următoare. Se poate observa că atitudinea obținută urmărește valorile impuse, prezentate în figura 2.4.1.
Figura 2.4.6 Unghiuri de atitudine obținute din simulare
CAPITOLUL III
DESCRIEREA PLATFORMEI UTILIZATE
3.1. Construcția quadrotorului
Pentru acest proiect de licență s-a dorit proiectarea și construcția quadcopter-ului prin mijloace specifice (în limita materialelor și tehnologiilor de care am dispus). Acest deziderat a avut ca scop posibilitatea optimizǎrii dimensiunii și mai ales a greutății. Pentru acest tip de aeromodel, greutatea este cel mai important factor de care trebuie ținut cont. Ca exemplu, pentru o masă mai mică cu 100 de grame, quadcopterul poate zbura cu pȃnǎ la 2 minute mai mult.
Figura 3.1.1. Proiectarea quadrotorului
Materialele folosite au fost alese în funcție de greutate și rezistențǎ. Un mic exemplu ar fi trenul de aterizare al quadcopterului. El are o importanță destul de mare, deoarece trebuie luate în calcul și aterizările mai dure, ce pot apărea în urma unor erori umane sau de pilot automat. Trenul de aterizare este compus din 6 țevi de carbon foarte ușoare și rezistente.
Pentru confecționarea brațelor am folosit o țeavă cu profil pătrat din aluminiu. Cea mai importantă parte de care trebuie ținut cont în optimizarea dimensiunii este partea centrală. Ea este formată din două plăci de sticlotextolit tǎiate la mașina cu comandă numerică. Scopul acestei structuri este de a conecta brațele quadrotor-ului și de a reprezenta suportul pentru electronica necesară (pilotul automat împreună cu modulul de telemetrie, GPS-ul și receptorul radio în partea de sus, iar jos acumulatorul de propulsie). În proiectare am ținut cont de vibrațiile care pot apărea din cauza elicelor neechilibrate sau a altor factori, drept urmare am ales să folosesc inele de cauciuc pentru prinderea pilotului automat de partea centrală a quadrotor-ului. Astfel montat, vibrațiile sunt amortizate, iar erorile senzorilor sunt mai mici.
Figura 3.1.2. Partea centralǎ a quadcopterului
Caracteristici ale platformei de zbor:
Dimensiune (L x l x H): 635 x 559 x 280 mm (cu elice montate);
Greutate: 2800 g (gata de zbor);
Tracțiunea maximă: 4200 g;
Sarcinǎ utilă: 1400 g;
Autonomie: 45 minute
Viteză maximă: 30 km/h
Figura 3.1.3. Vedere din fațǎ
Figura 3.1.4. Vedere de sus
Figura 3.1.5. Vedere din lateral
Descrierea componentelor electronice
Partea electronică a quadcopter-ului este formată din pilotul automat, unitatea GPS, modulul de telemetrie cu solul, receptorul radio, regulatoarele de turație pentru motoare, motoarele brushless și acumulatorul de propulsie. Montarea lor nu a fost una dificilă, deoarece în momentul proiectării am ținut cont de dimensiunile acestora.
Figura 3.1.6. Schema de legătură a electronicii [13]
În continuare voi prezenta pe scurt fiecare componentă în parte după cum urmează:
pilotul automat
receptorul GPS
modulul de telemetrie al pilotului automat
sistemul de radio control
regulatoare de turație
motoare
acumulator
senzori
3.2. Pilotul automat
Pilotul automat [9] este partea cea mai importantă deoarece coordonează mișcarea quadcopter-ului astfel încât el să rămână în aer și eventual să poată naviga pe un traseu prestabilit. Dimensiunea lui este destul de redusă (81.5 x 50 mm), ținând cont că are în componența sa un microprocesor și senzorii necesari stabilizării quadcopter-ului.
Figura 3.2.1. Autopilot Pixhawk [9]
Pixhawk este un sistem avansat de pilot automat dezvoltat de 3DR. Acesta oferǎ transparențǎ hardware și convenabil pentru re-dezvoltare. Pixhawk este integrat cu 2 procesoare avansate, STM32F103 și unul de rezervǎ pe 32 de biți ce prevede recuperarea manualǎ și are propria sursǎ de energie ȋn cazul ȋn care un procesor se defecteazǎ, oferind performanțe incredibile, flexibilitate și fiabilitate pentru controlul oricǎrui vehicul autonom. Utilizatorii pot ajusta configurațiile autopilotului ȋn funcție de utilizare și pasiuni pentru vehicule diferite.
Caracteristici
Procesor de ȋnaltǎ performanțǎ pe 32 biți ARM Cortex M4 funcționȃnd cu NuttX RTOS (sistem de operare ȋn timp real) 68MHz
14 ieșiri PWM/servo (8 cu failsafe(autoprotecție), 6 ieșiri auxiliare de mare putere)
opțiuni de conectivitate pentru periferice suplimentare (UART (transmițǎtor/receptor asincron universal), I2C (circuit integrat), CAN (rețea de control))
sistem integrat de backup pentru recuperarea ȋn timpul zborului, acționare manualǎ cu procesor dedicat și alimentare stand-alone.
sistem de backup integrat oferind pilotului automat consecvențǎ și acționarea modurilor manuale
intrǎri redundante de alimentare cu energie și failover automat
buton de siguranțǎ extern pentru activarea ușoara a motorului
indicator led multicolor
indicator piezo audio multi-ton de mare putere
card micro-SD pentru stocarea zborurilor
Figura 3.2.2. Interfațǎ autopilot Pixhawk [9]
Figura 3.2.3 Interfațǎ autopilot Pixhawk [9]
3.3. Receptorul GPS
Receptorul GPS [1] este cel cu ajutorul căruia se pot efectua zboruri autonome ce respectă anumite trasee bazate pe waypoint-uri. Conexiunea cu pilotul automat se face prin intermediul unei seriale de date. Precizia lui poate ajunge până la 2 metri atunci când condițiile sunt favorabile.
Figura 3.3.1. GPS 3DR Ublox [1]
GPS-ul 3DR Ublox este o soluție excelentǎ pentru multirotoare și roboți ȋn special ȋn cazul ȋn care acuratețea GPS este extrem de importantǎ. Acesta dispune de un circuit activ pentru antena patch din ceramicǎ, baterie de rezervǎ reȋncǎrcabilǎ pentru “pornirea la cald” și I2C EEPROM pentru stocarea configurației.
Caracteristici și Specificații
modul u-blox NEO-7
5 Hz rata de actualizare
25 x 25 x 4 mm antena patch ceramicǎ
filtru LNA (amplificator de zgomot redus) si SAW (undǎ acusticǎ de suprafațǎ)
baterie de rezervǎ litiu 3.3V reȋncǎrcabilǎ
regulator 3.3V zgomot redus
I2C EEPROM pentru stocarea configurației
leduri indicatoare de putere
conector 6 pini DF13 compatibil cu Pixhawk
RX, TX, 5V expuse și GND pad
38 x 38 x 8.5 mm dimensiune totalǎ
greutate de 16.8 grame
3.4. Modulul de telemetrie al pilotului automat
Cu ajutorul modulului de telemetrie se pot viziona la sol date preluate de la pilotul automat și se pot face setǎri de parametrii și de noi poziții GPS, totul în timp real. Un alt avantaj este faptul că poți urmări în fiecare clipă evoluția quadcopterului pe hartă (poziția GPS în care se află), și alte date folositoare cum ar fi giroorizontul, altitudinea, viteza, direcția în care drona se îndreaptă și alte date la fel de utile.
Figura 3.4.1. Modulul de telemetrie
3.5. Sistemul de radio control
Receptorul radio, împreună cu transmițătorul formează un element important în manevrarea quadcopter-ului de la distantă, de el depinzând siguranța dronei și a celor din jur. Deoarece tehnologia a evoluat, transmisia între telecomandă și receptor se face în mod digital. În cazul în care pachetul trimis către receptor nu ajunge sau este incomplet, acesta intră în modul „Fail Safe”, fapt ce duce la o anumita comandă presetată (de exemplu, revenirea la punctul de unde quadcopterul a fost lansat).
Figura 3.5.1. Sistemul RC
3.6. Regulatoarele de turație (ESC)
Regulatoarele de turație ale motoarelor (ESC-urile) au fost modificate astfel încât să poată răspundă mai repede la comanda pe care o primesc de la pilotul automat. Atunci când ele vin din fabrică, au preîncărcat un soft de control, acesta fiind conceput pentru aeromodele de tip avion și elicopter. Pentru un quadrotor avem nevoie de un timp de răspuns foarte mic, fapt ce a dus la necesitatea schimbării softului ESC-urilor. Inițial timpul de răspuns la comanda dată era de până la 100 Hz, iar apoi, după resoftare, acesta a crescut la o valoare de 400Hz.
Acest model de ESC se alimentează la o tensiune cuprinsă între 7.4V și 12.6V, și poate susține un curent pe motoare de până la 20A constant.
Figura 3.6.1. Regulatorul de turație al motoarelor
Specificații:
curent absorbit: 20A continuu
tensiune: 2 – 4 celule LiPo
BEC (Battery Elimination Circuit): N/A
frecvențǎ intrare: 1Khz
firmware: afro nfet.hex
cablu descǎrcare/conector: 20 AWG/ tatǎ 2.0 mm
cablu motor/conector: 20 AWG/ mamǎ 2.0 mm
greutate: 13.7g
dimensiune: 69 x 12.2 x 8.5 mm
3.7. Motoare utilizate
Motoarele cu care este echipat quadcopter-ul au fost alese pentru a obține o autonomie cât mai mare, dar în același timp și pentru a oferi o tracțiune suficientă [7]. Din aceste motive am ales motoare brushless (fără perii), ele având un randament foarte bun și o masă redusă (mult mai mică decât motoarele cu perii), aceasta ajungând la o valoare de numai 87 g. Contrar aparențelor, la o greutate și dimensiune așa mică, ele ajung la o putere de 330W, având o eficiență de circa 87%. Aceste motoare sunt folosite în combinație cu elici cu diametrul de 15 inch și pasul de 5, oferind o tracțiune de 1200 grame pe fiecare motor.
Figura 3.7.1. Motor HengLi W4225 KV610
3.8. Acumulator
Din dorința de a realiza un quadcopter [3] cu o autonomie de zbor cât mai mare, trebuie ținut cont de două aspecte foarte importante și anume:
Capacitatea acumulatorului;
Greutatea totală a quadcopterului (acumulatorul putând ocupa aproximativ 50% din masa acestuia).
Am ales să folosesc acumulatori Lithium Ion (Li-Io), deoarece aceștia au cel mai bun raport energie / masă.
Figura 3.8.1 Acumulatorul Li-Io
Specificații:
Producător: PANASONIC
Tip baterie reîncărcabilă : Li-Ion
Tensiune nominală: 3.6V
Capacitate: 3300mAh
Dimensiuni exterioare: Ø18.5 x 65.3mm
Curent maxim: 10A
Caracteristici baterii reîncărcabile: curent ridicat la ieșire
Prin urmare am ales sǎ construiesc un acumulator de 13600 mAh Li-Io pentru a maximiza puterea la iesire ȋn timp ce se reduce greutatea. Capacitatea celulelor de a trage curent mare pentru un interval mare de timp, precum și menținerea unei tensiuni de iesire nominale constantǎ, a fost o importanțǎ constrȃngere de proiectare. Chimia bateriei oferǎ o capacitate mare și un ciclu de ȋncǎrcare și descǎrcare foarte repetabile oferind o micǎ scǎdere de tensiune sub sarcini mari de amperaj. Presupunȃnd 90% eficiența sistemului sa determinat cǎ 6 celule cu 4 celule puse ȋn paralel (6S4P) este configurația acumulatorului de pe quadcopter.
3.9 Senzor optic IR-LOCK
Figura 3.9.1 Senzor aterizare la punct fix IR-LOCK [41]
Figura 3.9.3 Baliza MarkOne [41]
Cȃmpul de mișcare și detecția balizei optice
Ȋn cele ce urmeazǎ se vor prezenta noțiunile teoretice utilizate ce stau la baza funcționǎrii acestui senzor. Ȋn secțiunea 1 este ilustrată abordarea geometrică, sectiunea 2 prezintă ecuațiile de bază ale câmpului de mișcare iar ȋn secțiunea 3 sunt explicate conceptele principale ale senzorului optic.
Abordare geometrica
Această abordare ilustrează modul în care deplasarea efectivă (𝑑𝑥, 𝑑𝑦) a unui obiect poate fi calculată prin citirea deplasării unui senzor optic. Ȋn modelul pinhole [58] este utilizat pentru a genera deplasările efective ale obiectelor. În acest model, punctul unui obiect în coordonate carteziene
(𝑥, 𝑦, 𝑧) este proiectat pe planul focal. Acest plan, după cum se arată în figura 3.9.4, este situat între scena obiectului și centrul de proiecție.
Figura 3.9.4. Dispunere geometricǎ utilizatǎ de senzorul optic [58]
Deoarece punctul este proiectat pe un plan focal, coordonatele sale vor fi schimbate pentru a fi în (𝑢, 𝑣) care sunt coordonatele planului focal. În plus, o lentilă este utilizată pentru a focaliza imaginea scenei pe planul imaginii senzorului. Deoarece senzorul optic are o lentilă utilizată pentru focalizarea modificǎrilor din imagine pe planul senzorului, legea lentilelor poate fi aplicatǎ in felul urmator:
unde g reprezintǎ distanța dintre un punct de obiect și planul lentilei, 𝑏 este distanța dintre planul imaginii și planul obiectivului și f este lungimea focală a obiectivului. Sumarea lui b și g determină distanța totală h între planul obiectului și planul imaginii.
Figura 3.9.5 Proiectarea deplasării obiectului pe planul imaginii cu focalizarea obiectivului [58]
Rezolvarea ecuației (3.1) pentru b arată că la înălțimi mici distanța de imagine este foarte sensibilă la mici modificări în g, în timp ce la înălțimi mari distanța de imagine aproape converge la f. Deplasările efective se calculează după cum urmează:
unde res este rezoluția senzorului. În mod ideal, distanța focală a lentilei utilizate este cunoscută. g și b sunt determinate prin rezolvarea ecuațiilor (3.1) și (3.2). Apoi, deplasarea reală poate fi calculată.
Ecuațiile campului de mișcare
Câmpul de mișcare este creat prin proiectarea câmpului de viteză 3D pe planul imaginii. Să presupunem că 𝐏 = [𝐗, 𝐘, 𝐙]T este un punct de mișcare într-un triedru de referință al camerei 3D, așa cum se arată în figura 3.9.6.
Figura 3.7.6 Proiecția punctului care se mișcă în triedrul de referință pe planul imaginii [58]
Să presupunem că axa optică este axa Z a triedrul de referință al camerei, iar f indică lungimea focală și centrul proiecției este situat exact la origine. Apoi, coordonatele proiectate în pixeli ai lui P pe planul imaginii sunt obținute prin:
Distanța dintre planul imaginii și origine este egală cu lungimea focală f, astfel încât a treia coordonată a lui p este lungimea focală p = [x, y, f]T. Mișcarea relativă dintre cameră și un punct din planul imaginii poate fi calculată după cum urmează:
unde T reprezinta viteza de translație și ω este viteza unghiulară.
Viteza imaginii v poate fi obținută prin derivarea (3.5) în raport cu timpul
Prin substituirea în (3.6) a componentelor ecuațiilor câmpurilor de mișcare în x și y se calculează prin (3.8) și (3.9) după cum urmează:
unde și reprezintǎ componentele vitezei de translație în fiecare axă și și sunt componentele vitezei unghiulare în jurul fiecărei axe. Evident, ecuațiile câmpului de mișcare constau dintr-o componentă de translație și una rotaționalǎ. Componentele vitezei de translație din (3.8) și (3.9) depind de adâncimea scenei, ȋn timp ce vitezele de rotație nu sunt. Aceast lucru semnificǎ faptul că aceste componente de rotaționale ale vectorilor de mișcare nu conțin informații referitoare la adâncimea elemetelor din cadru [29].
Detectarea balizei optice
Insectele folosesc în mare măsură viziunea și utilizează fluxul optic pentru navigare, decolare și aterizare. Aplicarea tehnicii de detectare a fluxului optic într-un quadrotor simulează modul în care o insectă zboară și aterizează pe un anumit punct de aterizare. Utilizând o singură cameră ca senzor pentru măsurarea fluxului optic al scenei a fost abordatǎ în multe lucrări publicate [10] [51] [11]. Prin analizarea a două cadre de imagine consecutive și studierea mișcărilor pixelilor putem deduce tipul de mișcare (rotație sau translație) pe care a avut-o camera.
Fluxul optic este în principiu mișcarea vizuală aparentă sesizatǎ de un senzor care se deplasează peste o anumită scenă. Această mișcare este creată fie prin mișcarea scenei (SCMO), fie prin mișcarea senzorului de-a lungul scenei (MCSO) existȃnd și alte două cazuri. Primul include o cameră în mișcare și un obiect în mișcare (MCMO), iar al doilea este (SCSO) atunci când camera și scena staționează. În această lucrare, sunt interesat să efectuez aterizarea și decolarea pe un obiect staționar (MCSO). Presupun că senzorul optic este plasat sub quadcopter, îndreptat spre sol și deplasându-se exact cu quadrotorul și obiectul este staționar. Deoarece fluxul optic este mișcarea vizuală aparentă a obiectului, obiectele care sunt aproape de cameră par să se miște mai repede decât obiectele care sunt relativ îndepărtate (așa cum se arată în figura 3.9.7). În figura 3.9.7 (a) mișcările pixelilor sunt mai rapide decât mișcarea lor în 3.9.7 (b).
Figura 3.9.7 Valori la diferite altitudini ale senzorului optic [58]
Figura 3.9.7 ilustrează modul în care quadcopterul reacționează la mișcările 3D. Figura 3.9.8 (a) descrie quadcopter-ul când nu se aplică rotația, în timp ce la 3.9.8 (b) quadcopterul este ȋnclinat cu un unghi mic. În mod clar, în (a) modelul umple vizualizarea și fluxul optic măsurat al imaginii va fi exact. În timp ce modelul este parțial văzut în 3.9.8 (b), datorită acestei rotații, valoarea calculată a debitului va fi inexactă.
Figura 3.9.8 Efectul rotațiilor 3D asupra valorilor senzorului optic [58]
3.10 Senzor optic inteligent PX4FLOW
Figura 3.10.1 Senzor PX4FLOW [5]
Algoritmi de flux optic
Sunt introduse diferite modalități de calculare a fluxului optic al unei scene ȋn [52] și [53]. Fluxul optic poate fi calculat prin metode de bază:
Elemente bazate pe algoritmi
În acest algoritm, trebuie să fie capturate cel puțin două cadre de imagine consecutive. Acest algoritm calculează fluxul optic prin alegerea anumitor caracteristici din prima imagine și localizarea acelorași caracteristici în imaginea consecutivă. Odată ce funcțiile sunt potrivite în cele două imagini, discrepanța dintre cele două imagini poate fi calculată și fluxul din imagine poate fi calculat de asemenea.
Gradienți bazați pe algoritmi
Acest algoritm calculează intensitățile gradientului care sunt mai mari la locația lui
Marginile în care valoarea intensității pixelilor se modifică cel mai mult (adică, de la lumină la întuneric).
Algoritmi de potrivire a segmentelor
Algoritmii de potrivire a segmentelor (BMA) sunt considerați algoritmi riguroși care pot fi utilizați pentru detectarea obiectelor în mișcare și pentru estimarea mișcării. În potrivirea blocurilor, cadrul imaginii este împărțit în blocuri care nu se suprapun, iar blocurile din cadrul curent sunt potrivite cu blocurile din triedrul de referință. Pentru a determina blocul care are cea mai bună potrivire între blocurile candidate din triedrul de referință, se utilizează criterii de potrivire specifice. Din care se poate spune dacă blocul sa mutat sau nu. Dacă blocul corespunzător are o altă locație în comparație cu locația sa în triedrul de referință, aceasta înseamnă că blocul sa mutat.
Elementele bazate pe algoritmi de calcul al fluxului optic sunt cunoscute ca algoritmi complexe. Procesul de potrivire între două imagini consecutive specifice este greu și necesită multe calcule pentru a afla diferențele dintre cele două cadre de imagine. De asemenea, acești algoritmi nu sunt suficient de exacți. În acest studiu, suntem mai interesați de algoritmii de potrivire a blocurilor pentru a calcula fluxul optic [57].
Senzorul PX4FLOW Optic
Figura 3.10.2. Senzor optic inteligent PX4FLOW [29]
Urmărirea obiectelor
În robotică și în altă parte, viziunea pe computer, recunoașterea obiectelor și urmărirea obiectelor au făcut obiectul unei cercetări active cu multe abordări diferite și rezultate interesante. În primul rând, vom descrie problema pe care încercăm să o rezolvăm, atunci vom prezenta câteva dintre abordările care ar putea fi concepute în scopul aplicării noastre.
Descrierea problemei
În mod oficial, intrarea constă dintr-o secvență finită de matrici (M0, . . . , Mn) pentru orice n ∈ N (O singură matrice reprezintă o singură imagine în fluxul video obținut de la quadcopter, iar intrările sale reprezintă pixeli individuali) si un subset inițial de intrări selectate din matrice M0, care reprezintă obiectul de interes. Sarcina este de a urmări acest obiect prin seria de imagini și pentru fiecare imagine Mi Ieșire un subset de intrări de Mi corespunzător obiectului de interes (poate cu aspectul schimbat) din imagine M0. Cea mai mare problemă cu această descriere a problemei este faptul că obiectul de interes nu este bine definit decât în imaginea inițială. Evident, această problemă are o legătură strânsă cu clasificarea (binară) studiată în domeniul învățării mașinilor [12]- pentru a clasifica obiectul de interes din fundal. La fel ca în procesul de învățare în mașină, vom face mai multe presupuneri simplificatoare cu privire la natura obiectului de interes, pentru a diminua dimensiunea ipotezei stabilite și a obține rezultate cel puțin parțial satisfăcătoare.
Viziunea pe computer
Viziunea pe computer este un domeniu vast care încearcă să abordeze mai multe probleme dificile. În principiu, încearcă să descrie lumea din imagini și să-și reconstruiască proprietățile, cum ar fi forma, iluminarea și distribuțiile de culoare. În ciuda faptului că oamenii sunt capabili să reconstruiască lumea din imagini aproape fără efort, este o sarcină foarte dificilă pentru computere. Are aplicații largi, cum ar fi inspecția mașinii, imagistica medicală, supravegherea, modelarea 3D sau recunoașterea și urmărirea obiectelor, doar pentru a numi câteva. Aplicația menționată ultima recunoaștere și urmărire a obiectelor – va fi studiată în secțiunile următoare și aplicată în final în această teză. Pentru un tratament cuprinzător al viziunii pe calculator, consultați cartea Computer Vision de Szeliski [16].
Există mai multe probleme cu care algoritmii de recunoaștere a obiectelor trebuie să facă față. Una dintre ele este problema variațiilor aspectului țintă, cum ar fi deformarea formei, modificările de scală, schimbarea iluminării sau mișcarea camerei. Obiectele sunt uneori închise sau chiar complet în afara limitelor imaginii, prin urmare este necesar ca algoritmul de urmărire să poată re-detecta ținta independent de orice secvență anterioară de imagini prelucrate până în prezent. Secvența video extrasă din quadcopter este, de asemenea, zgomotos de coruperea mișcării de mișcare și de compresia video. Pentru aplicația noastră, de asemenea, solicităm ca metoda să fie capabilă de prelucrarea imaginilor în timp real. Acum vom descrie câteva abordări diferite pe care am încercat să le aplicăm problemei la îndemână.
Potrivirea sabloanelor
Potrivirea șabloanelor este o tehnică simplă pentru găsirea șabloanelor într-o imagine care se potrivește cu un șablon dat. Funcționează prin alunecarea șablonului dat de-a lungul imaginii și calculând o eroare ca sumă a diferențelor dintre pixelii corespunzători pentru fiecare poziție și alegerea în cele din urmă a unei singure poziții din imagine care minimizează eroarea acumulată. Este posibil să îmbunătățiți această metodă simplă în mai multe moduri diferite. Prin scanarea imaginii cu un șablon scalat putem găsi obiectul chiar dacă mărimea acestuia sa schimbat. O alternativă este să scalați imaginea mai întâi (și, în consecință, șablonul), să selectați candidați plauzibili și apoi să căutați în vecinătatea acestor candidați în imaginea originală pentru cea mai bună potrivire. Luând această abordare cu un pas mai departe și repetând această operațiune de mai multe ori, obținem metoda piramidelor de imagine, ilustrată în Figura 3.10.3. Principalul dezavantaj al acestei metode este faptul că este computational scump și slab la adaptarea la schimbările de aspect ale obiectului de interes. Prin urmare, această metodă a fost respinsă într-un stadiu incipient al activității noastre.
Figura 3.10.3: Piramida imaginilor. O metodă care caută un șablon într-o imagine dată într-o manieră de sus în jos, de la cea mai micǎ rezoluție până la o rezoluție mare. [16]
Detectare culoare
O altă abordare elementară a detectării obiectului este de a baza algoritmul asupra informațiilor de culoare conținute în imagini. În scopul detectării culorilor este util să convertiți mai întâi imaginile din spațiul de culoare RGB în spațiul de culoare HSV (nuanță, saturație, valoare). Hue este o reprezentare numerică convenabilă pentru a fi discernământ între diferite culori [16]. Intrarea algoritmului de detectare a culorilor este o imagine împreună cu o gamă acceptabilă de valori de nuanță. Completarea culorii date în spațiul de culoare este filtrată din imagine. Ieșirea algoritmului este o imagine binară, în care unul este atribuit pixelilor situați în intervalul dat și zero este atribuit fiecărui alt pixel.
Figura 3.10.4 O ilustrare a detectării culorilor. Algoritmul a filtrat în mod corect părțile imaginii care nu conțineu balonul portocaliu. [16]
Detectarea si potrivirea elementelor
În domeniul viziunii pe calculator, caracteristicile unei imagini reprezintă ceva interesant, unic, ceva care abstracționează informațiile conținute în imagine. Câteva exemple sunt caracteristicile punctelor cheie (de exemplu colțurile) care sunt descrise de apariția unui punct de vecinătate. Alte exemple constituie margini, linii, șabloanelor. Figura 3.10.5 ilustrează caracteristicile detectate de un algoritm de detectare a caracteristicilor. În cazul nostru, metoda funcționează după cum urmează. În primul rând, prezentăm un algoritm de detectare a caracteristicilor cu o imagine care conține obiectul nostru de interes.
Algoritmul încearcă apoi să găsească și să înregistreze aceste caracteristici interesante – această fază se numește descriere a unei caracteristici, deoarece algoritmul încearcă să găsească o reprezentare compactă și expresivă a caracteristicilor selectate, de ex. Ca vector de numere. În imaginile ulterioare, încearcă să găsească caracteristici utilizând aceeași metodă și după aceea rulează un algoritm de potrivire a punctelor cheie care încearcă să asocieze funcțiile corespunzătoare. Există diferite metode de detectare a caracteristicilor, dintre care unele testate în aplicația noastră, și anume SIFT (transformarea caracteristicilor inversate în scală), SURF (caracteristici accelerate robuste) și BRIEF (caracteristici elementare independente binare independente). Acești algoritmi sunt implementați și bine documentați în biblioteca software de vizualizare a informațiilor OpenCV [6].
Acesti algoritmi au dat rezultate mai bune decât metoda de potrivire a șabloanelor și de detectare a culorilor, deoarece sunt robuste la scară și rotație, dar totuși au pierdut obiectul prea des, așa că am căutat o soluție mai bună.
Figura 3.10.5 prezintǎ caracteristici detectate de cǎtre algoritmul de detecție
a) o imagine cu caracteristici detectate (cercuri colorate). b) un șablon cu caracteristici detectate. c) un algoritm de potrivire a punctelor cheie a corespuns corect punctelor cheie corespunzătoare din imaginile a) și b) și a detectat ulterior șablonul din imagine [16]
Clasificari in cascadǎ
Acesta este probabil cel mai bun algoritm de detectare a obiectelor, dar cel mai solicitat, pe care l-am testat. Cascadele clasificatoare, așa cum sugerează și numele, cascade sau concatetează mai mulți clasificatori care împreună formează un clasificator combinat foarte bun. Clasificatorilor cascadă a fost folosită pentru prima dată într-un detector de fețe cu rezultate promițătoare. Clasificatorii sunt construiți din clasificatori de bază pentru luarea deciziilor [12]. Aceste clasificatoare de copaci de decizie sunt alimentate cu mai multe caracteristici (de ex., Muchii, linii, șabloane). Este posibil să creați un clasificator pe orice obiect.
Clasificatorul este pre-instruit cu câteva sute de mostre dintr-un obiect specific scalat la o dimensiune fixă și un set mai mare de eșantioane negative – imagini arbitrare care nu conțin obiectul specific. Practic, singurul motiv pentru care nu am încorporat această metodă în teza noastră este faptul că este dificil să antrenezi un nou detector de obiecte și poate dura mai multe ore sau chiar zile pentru a pregăti un bun clasificator.
Propunerea de estimare
Un dezavantaj serios al metodelor discutate anterior este ignoranța lor față de orice formă de corelație între imaginile succesive. Pentru că ne așteptăm să urmărim un obiect de interes care se mișcă în mod continuu și probabil că nu va fi blocat sau pierdut prea des, este rezonabil să încorporăm în căutarea noastră un element care să ne ofere o distribuție probabilistică asupra planului imaginii care ne-ar putea ajuta să ne înguste În jos de căutare. Propunerea de estimare este procesul de legare a imaginilor succesive prin crearea de vectori de mișcare care descriu transformarea făcută de pixelii individuali, la fel ca în Figura 3.10.6 Metoda este, de asemenea, populară în mai multe formate de comprimare video, de ex. În familia de standarde video MPEG.
Fluxul optic, care este studiul estimării mișcării aparente a obiectelor, face două ipoteze de bază. Prima ipoteză este că proiecția aceluiași punct din lumea reală pe planul imaginii este aceeași în fiecare cadru (aceasta este ipoteza constanței luminozității). A doua ipoteză este că pixelii vecini prezintă mișcare similară (aceasta este constrângerea de coerență spațială). Una dintre cele mai cunoscute abordări ale estimării mișcării este metoda diferențială Lucas Kanade pentru fluxul optic [16].
Cu aceste două ipoteze simplificatoare, să presupunem că într-un mic cartier dintr-un pixel în poziție (x, y) vectorul de mișcare al pixelilor de imagine a fost (u, v). Acest vector de mișcare este necunoscut și este ceva pe care ne-ar plăcea să-l găsim.
Previziunea constanta a luminozitatii ne spune ca I (x, y, t) = I (x + u, y + v, t + 1) in doua cadre consecutive, unde I (x, y, La poziția (x, y) la un cadru dat în timp t. Dacă luăm prima serie de expansiune Taylor a lui I (x + u, y + v, t + 1) obținem următoarea aproximare:
Acest lucru poate fi rescris ca:
Acum, ținând cont de ipoteza constanței luminozității, obținem următoarea aproximație:
Această problemă este nepotrivită, deoarece avem două necunoscute (u, v), dar doar o singură ecuație. Pentru a vedea de ce nu este suficient să avem doar această singură ecuație, se poate imagina o situație în care punctele de pe o margine verticală s-au mutat în același timp în aceeași direcție (orizontală). Având o singură ecuație, nu putem constata dacă a existat o mișcare verticală verticală a punctelor de-a lungul marginii. Prin urmare, trebuie să impunem constrângeri suplimentare. Aici intră în joc cea de-a doua presupunere pe care a spus-o mai devreme – constrângerea coerenței spațiale. De exemplu, dacă luăm o fereastră de 5 × 5 în jurul fiecărui pixel, obținem un sistem de 25 de ecuații pe pixel:
Prin urmare, sistemul devine supra-constrâns. Există mai multe metode de rezolvare a acestei probleme aproximativ. O abordare comună a algebrei liniare este de a rezolva acest sistem de ecuații supra-constrânse prin aproximarea erorilor celor mai mici pătrate. Exact această abordare este aplicată în sistemul de urmărire a fluxului optic Lucas-Kanade. Pentru a face față mișcărilor mai mari în fluxul video, metoda fluxului optic Lucas-Kanade utilizează metoda piramidelor optice și estimează mișcarea obiectelor de la grunduri mai mari la cele mai fine. În plus, există câteva probleme suplimentare care trebuie rezolvate pentru a obține un tracker fiabil, de ex. Unele puncte sunt adecvate pentru estimarea mișcării din setul de ecuații menționate mai sus, în timp ce alte puncte pot fi mai puțin potrivite. Prin urmare, înainte de urmărirea efectivă, metoda Lucas-Kanade încearcă să aleagă punctele corecte care trebuie urmărite în avans. Cititorii interesați de detalii suplimentare sunt sfătuiți să analizeze cartea de către Szeliski [16] sau la implementarea dispozitivului de urmărire a fluxului optic Lucas-Kanade în biblioteca OpenCV [6].
Numai metoda de estimare a debitului și a mișcării optice oferă rezultate slabe deoarece camera nu este staționară și se deplasează împreună cu quadcopterul, ceea ce face imposibilă discernerea între mișcarea obiectului și mișcarea quadcopterului. Un defect și mai critic al acestei metode este faptul că nu se poate bootstrap după ce obiectul de interes dispare temporar din scenă.
Abordarea selectata
În cele din urmă, după câteva încercări nereușite cu metodele descrise mai sus, am adaptat o abordare nouă de urmărire a obiectelor din înregistrările video – algoritmul de detectare a urmăririi de alertă (TLD) introdus inițial de Kalal [4]. Această metodă descompune sarcina de urmărire a obiectelor pe termen lung în trei sub-sarcini: urmărirea, învățarea și detectarea, de aici și numele TLD. Metoda acceptă faptul că urmărirea și detectarea devin predispuse la erori atunci când operează pe cont propriu, dar ele pot fi combinate pentru a forma o pereche care se sprijină reciproc. Dispozitivul de urmărire poate furniza detectorului date de învățare în timp real, iar detectorul poate reinitializa tracker-ul în cazul în care obiectul se pierde. În cele din urmă, studentul estimează erorile făcute de detector și actualizează modelul pentru a evita aceste erori în viitor. În secțiunile următoare vom oferi o prezentare generală a metodelor utilizate în această abordare și vom vedea cum combină inteligent câteva idei descrise mai sus.
Figura 3.10.6 Vectorii de mișcare calculați prin metoda fluxului optic Lucas Kanade. a) poziția mâinii înainte, b) poziția mâinii după, c) debitul optic calculat. [16]
Urmarirea
Urmărirea este procesul de estimare a mișcării unui obiect în cadre consecutive, sub condiția ca poziția obiectului să fie cunoscută în cadrele anterioare. Algoritmii de urmărire caracterizează un obiect prin starea sa, care ar putea cuprinde de ex. Locația și forma sa. Obiectele sunt reprezentate de un model. Modelele generative reprezintă obiectul indiferent de împrejurimile lor. Modelele discriminatorii sunt preocupate de diferențele dintre obiect și mediul lor. Dispozitivele de urmărire necesită doar un singur pas de inițializare și sunt de obicei foarte rapide și produc traiectorii netede. Un dezavantaj al trackerelor este faptul că aceștia tind să acumuleze erori și să înceapă să se îndepărteze de traiectoria reală a obiectului urmărit. Sau chiar mai rău, ei nu reușesc complet și pierd obiectul. Cu toate acestea, vom vedea că un bun detector de obiecte poate reinitializa tracker-ul.
Dispozitivele de urmărire au mai multe opțiuni pentru a reprezenta starea unui obiect:
puncte – urmaritorul(tracker) estimeaza translatarea obiectului
forme geometrice – ex casete delimitare (utilizate în TLD)
contururi – pentru reprezentarea obiectelor non-rigide.
modele articulate – reprezentând obiecte formate din mai multe părți rigide.
campuri de miscare
Pentru un exemplu al acestor reprezentări ale aceluiași obiect, a se vedea Figura 3.10.7.
Figura 3.10.7 Diferite reprezentări de stare ale unui obiect. a) Ciclistul este reprezentat ca punct unic. b) Ciclista este acum o singură formă. c) Reprezentarea conturului se poate adapta schimbărilor de formă. d) Reprezentarea ciclistului prin mai multe părți rigide. e) Reprezentarea ciclistului ca mai mulți vectori de mișcare. [16]
Traserele generatoare care reprezintă starea printr-o casetă de legare caută un dreptunghi într-o imagine care se potrivește cel mai bine modelului. Cea mai primitivă dintre aceste tehnici este metoda de urmărire a șabloanelor. Un dispozitiv de urmărire generativ cutie de legare este încorporat în interiorul algoritmului TLD. Algoritmul de urmărire utilizează metoda Lukas-Kanade pentru căutarea fluxului optic pentru deplasarea cea mai probabilă a obiectului de interes.
Tracker-urile discriminatorii construiesc adesea un clasificator binar care distinge un obiect de fundal. Descărcătorii de discriminare static sunt practic clasificatori instruiți offline. Analizoarele statice de discriminare au fost implementate cu succes, de exemplu în urmărirea feței. Căile de urmărire discriminatorii adaptive, pe de altă parte, nu necesită instruire offline, iar pe fiecare cadru efectuează o actualizare a clasificatorului.
De asemenea, este de dorit să se elaboreze și să se pună în aplicare un algoritm robust de urmărire care ar putea detecta eșecurile de urmărire. Un tracker dintr-o sarcină generală de urmărire pe termen lung construiește o traiectorie punct a obiectului. Putem efectua o verificare dublă bazată pe o metodă de consecvență înainte-înapoi care presupune că este irelevant dacă urmăm cronologia secvenței video sau dacă reluăm redarea video în sens invers. Funcționează după cum urmează. Luăm câteva k cadre consecutive (doar două cadre în cazul nostru, dar în general k ar putea fi mult mai mari) începând de la momentul t și în primul cadru se selectează o regiune de interes (ar putea fi un singur pixel). Apoi aplicăm un algoritm de urmărire care, sperăm, urmărește regiunea de-a lungul imaginilor k selectate și scoate o traiectorie înainte din această regiune . Apoi repetăm aceeași procedură exactă, cu excepția faptului că o aplicăm pe imaginile selectate k în ordinea inversă cu poziția ca regiune inițială de interes. Acest lucru ne va da o anumită traiectorie înapoi . În cele din urmă, luăm traiectoriile și și se calculează eroarea rezultată înainte-înapoi, care este distanța (euclidiană) între și . Cu cât distanța este mai mică, cu atât mai mare este încrederea pe care o avem în algoritmul de urmărire că a reușit să urmărească corect regiunea noastră de interes. În cazul în care distanța este peste un anumit prag ales, este posibil să încercăm să reinițializăm tracker-ul de către detector. Verificarea consistenței înainte înapoi este prezentată în figura 3.10.8. Algoritmul TLD încorporează metoda de consistență înainte-înapoi în algoritmul de urmărire a cutiei de legare. În interiorul casetei delimitării, selectăm puncte pe o rețea dreptunghiulară (creată luând în considerare toate intersecțiile a zece linii orizontale și zece linii echidistantă verticale în interiorul cutiei delimitate) și urmăriți independent aceste puncte (acum faptul că punctele au fost selectate dintr-o rețea dreptunghiulară nu joacă Importanță) de către un tracker Lucas-Kanade. Apoi efectuăm verificarea consecvenței înainte și înapoi pe aceste puncte în mod independent și atribuim o eroare înapoi spre fiecare punct. Jumătate dintre punctele cu cea mai mare eroare sunt filtrate. Punctele rămase estimează apoi deplasarea casetei de restricționare.
Anume, deplasarea în axa x a casetei de margine este estimată prin măsurarea mediană a deplasărilor în axa x peste punctele trase și deplasarea cutiei de delimitare în coordonata y este estimată în mod similar. În cele din urmă, modificarea scării este estimată, din nou, de valoarea mediană. Pentru fiecare pereche de puncte urmărite, se calculează raportul dintre distanța punctuală curentă și distanța punctului anterior în două imagini consecutive și se ia valoarea mediană pe toate aceste rapoarte. Un avantaj al acestei metode îl reprezintă robustețea sa împotriva ocluziunii parțiale, așa cum se vede în Figura 3.10.9.
Figura 3.10.8 Metoda de verificare a consistenței înainte-înapoi [4]
Figura 3.10.9 Urmărirea punctelor unice în interiorul casetei delimitate [4]
Detectia
Detectarea este procesul de găsire a unui obiect într-un singur cadru. Suntem interesați de urmărirea obiectelor pe termen lung și, pentru că am putea pierde evidența unui obiect, este important să încorporăm un mecanism de detectare și în algoritmul de urmărire pe termen lung. Obiectul este reprezentat de un model care este continuu instruit în timpul uptime al algoritmului pentru al adapta la o posibilă schimbare a aspectului obiectului.
Algoritmul TLD include metoda unui detector scalabil de ferestre de scanare. Creează o fereastră de scanare cu mai multe scale și cu fiecare scală se alunecă de-a lungul imaginii. O singură fereastră (preluată de detectorul ferestrelor de scanare) este scalată ulterior într-o zona, care este de 15 × 15 pătrimi de pixeli. Windows sunt dimensionate în acest fel, indiferent de dimensiunea lor inițială. Pentru fiecare zona algoritmul decide dacă conține obiectul sau nu. Cu toate acestea, acum nu comparăm șabloanele cu un șablon cunoscut al obiectului de interes, ci mai degrabă cu o bază de date completă de șabloane (această bază de date conține apariții detectate ale obiectului de interes, precum și exemple negative). Pentru un exemplu despre cum poate arăta această bază de date, vedeți Figura 3.10.10.
Figura 3.10.10 O ilustrare a unei baze de date cu zone pozitive și negative. [4]
Procesul de clasificare trebuie să fie foarte eficient, prin urmare algoritmul presupune parcurgerea in cascada a trei etape ale clasificatorilor. În prima etapă există un clasificator de variație a zonelor. În faza a doua există un clasificator de ansamblu, iar în cea de-a treia etapă există cel mai apropiat clasificator de vecină (denumit uneori clasificatorul NN).
Varianța de acoperire este primul clasificator din lanț. Scopul său este de a filtra mai devreme șabloanele (de exemplu, cer, pereți) și cu un cost redus de calcul. Se calculează variația variantei de culoare gri a plasturelui cu obiectul de la imaginea inițială și se respingă peticele a căror varianță este mai mică de 50% din varianța plasturelui inițial. În cazul în care plasturele a fost acceptat în prima etapă, acesta este trecut pe etapa a doua. A doua etapă este un clasificator de ansamblu și este compus din mai mulți clasificatori de bază (zece în cazul nostru). Fiecare clasificator de bază efectuează un număr de comparații pixeli pe un plasture, rezultând un vector binar x. Comparațiile pixelilor vor fi efectuate numai pe un număr limitat de perechi de pixeli, deoarece ar fi ineficient să comparați fiecare pereche de pixeli. Fiecare clasificator de bază va efectua comparații pixel pe un anumit subset al tuturor perechilor de pixeli. Comparațiile pixelilor se efectuează pe un plasture care este mai întâi neclare de un kernel gaussian pentru a crește robustețea metodei împotriva zgomotului și schimbării. Pozițiile individuale ale perechilor de pixeli dintr-un plasture pe care sunt realizate comparațiile într-un clasificator de bază dat sunt selectate la întâmplare o dată la început și rămân fixe în timpul întregului proces de urmărire a obiectelor. Perechele sunt restricționate să aibă aceleași coordonate orizontale sau verticale. O singură comparație a unei perechi de pixeli într-un singur șablon are ca rezultat fie zero, fie una. Comparația are ca rezultat dacă unul dintre cei doi pixeli are intensități similare. Pentru un exemplu de clasificatori de bază, a se vedea Figura 3.10.11. Cu un vector creat prin concatenarea rezultatelor comparațiilor individuale ale pixelilor într-un singur clasificator de bază, indexăm într-o tabelă a probabilităților posterioare , unde y ∈ {șabloanele negative, șabloanele pozitive}. Plăcuța este acceptată de către clasificatorul ansamblului dacă a fost etichetată ca pozitivă de cel puțin jumătate din clasificatorii de bază.
Figura 3.10.11: Comparațiile pixelilor măsurați în cadrul clasificatorilor individuali de bază. Cele trei pătrate corespund celor trei clasificatoare de bază diferite. Liniile liniare se alătură pixelilor (pătrate mici albastre) care sunt comparate în aceste clasificatoare de bază [4].
Fiecare clasificator de bază are o tabelă posterioară de probabilități cu 2 indicatori posibili, unde d este numărul de comparații pixeli și este selectat a fi relativ mic (d = 13 în implementarea TLD). Pentru fiecare vector binar x indexându-se în tabelul de probabilitate posterior în fiecare clasificator de bază, probabilitatea rezultantă este calculată ca numărul de șabloanele cu același vector binar x acceptat anterior de algoritmul de urmărire împărțit la numărul total de șabloane cu același vector binar x Considerat vreodată de acest clasificator de bază .
Clasificatorul de bază etichetează un plasture dat drept pozitiv dacă și numai dacă probabilitatea rezultată este de cel puțin 0,5.
Clasificatorul este inițial instruit cu caseta delimitată selectată și cu o colecție de casete care se suprapun cu caseta delimitată selectată. În plus, aceste cutii suprapuse sunt rotite, scalate și neclară, creând în total aproximativ 200 de cutii delimitare pozitive. Apoi este selectată o colecție de alte cutii delimitare aleatorii care formează fundalul imaginii inițiale (acestea sunt șabloanele negative). Toate aceste cutii sunt apoi scalate în șabloane. Acesta este setul de date de antrenament etichetat inițial pentru clasificator.
Tabelele de probabilități posterioare evoluează treptat și se adaptează la aspectul obiectului, iar cu fiecare plasture nou modificăm tabelele cu probabilități posterioare. Dacă un șablon a trecut clasificatorul ansamblului, adică clasificatorul ansamblului a estimat că șabloanul dat conține obiectul de interes, atunci unii clasificatori de bază pot fi corectați. Mai precis, să luăm în considerare un șablon p care a fost în cele din urmă etichetat drept pozitiv (nu numai în clasificatorul ansamblului, ci și în etapele ulterioare), dar un clasificator de bază etichetează șablonul drept negativ. șablonul p în a avut ca rezultat un vector binar x. Prin urmare, putem crește contorul numărului de șabloane pozitive cu vector binar x în . În mod similar, micșorăm contorul corespunzător de șabloanele pozitive dacă șabloanele au fost în cele din urmă respinse.
După trecerea primelor două etape, un șablon p trebuie să treacă prin clasificatorul NN. În cel mai apropiat spațiu al clasificatorului vecinului, păstrăm o istorie a mai multor șabloane clasificate pozitiv și negativ. Calculăm măsura de similitudine a șabloanelor nou-venite cu fiecare șablon pozitiv și negativ din clasificatorul NN.
Similaritățile dintre două șabloane p1 și p2 se calculează prin următoarea formulă:
unde NCC desemnează coeficientul de corelație normalizat aplicat procesării imaginilor. În prima etapă de calcul a NCC normalizăm luminozitatea imaginii celor doi plasturi. În al doilea pas se calculează NCC ca fiind covarianța dintre pixelii celor două șabloane împărțite de produsul abaterilor lor standard individuale. NCC afișează valori reale între -1 și 1, prin urmare, măsura de similaritate între două șabloanele se situează între zero și una (zero înseamnă că două șabloane sunt complet anticrecționate și una corespunde unei potriviri perfecte).
Vom găsi cel mai apropiat vecin între șabloanele pozitive și cel mai apropiat vecin printre șabloanele negative. Decizia finală privind etichetarea noului șablon ca fiind pozitivă sau negativă este apoi guvernată de următoarea formulă pentru similaritatea relativă:
unde este cuprins între zero și unu și θ este un parametru tunabil care formează limita de decizie în spațiul de stare a clasificatorului NN fie spre o mai bună rechemare a șabloanele clasificate anterior, fie spre precizie. Apoi, adăugăm șablonul p în spațiul de stare al clasificatorului NN. În cazul în care există prea multe șabloane în clasificator, alegem unul la întâmplare și îl aruncăm.
Pentru ca un șablon să fie clasificat ca conținând obiectul, trebuie să treacă prin sita celor trei clasificatori. Avantajul acestei abordări este scalabilitatea acesteia. Dacă am cunoaște în prealabil domeniul în care ne-am dori să aplicăm algoritmul, am putea înlocui clasificatorii din lanț cu al nostru pentru a obține performanțe și mai bune.
Integrarea
După ce algoritmii de urmărire și detectare procesează o imagine nou-venită, un integrator trebuie să decidă ce informații să prezinte. Trebuie să aleagă între eventualelezone identificate de detector și cea mai bună zonǎ de încadrare găsită de tracker. Integratorul oferǎ o zonǎ de ȋncadrare cu cea mai mare incredere mǎsuratǎ cu ajutorul ecuației similaritǎții relative. În cazul în care nici trackerul, nici detectorul nu găsesc o zonǎ de ȋncadrare candidat, integratorul indică această imposibilitate. Atât detectorul, cât și dispozitivul de urmărire au estimări diferite ale stării obiectului de interes. În timp ce detectorul depinde de istoricul întregului proces, tracker-ul este mult mai preocupat de starea curentă a obiectului și este probabil să localizeze potențiale șabloane noi ale obiectului care nu este considerat de detector.
Integrarea metodei
După ce am discutat părțile relevante ale teoriei de control și ale urmăririi obiectelor, trebuie încă să descriem cum sunt legate părțile individuale, și anume ce intrare este dată controllerului. Algoritmul de urmărire a obiectelor produce permanent dulapuri delimitare reprezentând poziția cea mai probabilă a obiectului de interes.
Mai întâi, reglează poziția orizontală și verticală a quadcopterului astfel încât obiectul de interes să fie văzut în centrul ecranului. Acest lucru este ușor de atins prin calcularea unghiului prin care quadcopterul trebuie să se rotească în jurul axei sale verticale pentru a obține obiectul de interes în centrul verticale al ecranului. Acest unghi este apoi dat ca intrare la controlerul PID, care efectuează ulterior acțiunea potrivită. În mod similar, reglează înălțimea quadcopterului astfel încât obiectul de interes să fie văzut în centrul orizontal al ecranului. Dacă quadcopterul este sub obiect, controlerul instruiește quadcopterul să urce aproximativ 0,4m. Acest proces poate fi repetat de mai multe ori, până când quadcopterul atinge înălțimea dorită. În mod similar, controlerul instruiește quadcopterul când trebuie să coboare. Aici trebuie să fim atenți să nu instruim quadcopterul să coboare atunci când acesta deja zboară prea jos, deoarece un contact cu solul ar putea face ca quadcopterul să devină incontrolabil.
După ce am corectat deplasarea orizontală și verticală, trebuie să corectăm distanța posibilă incorectă a quadcopter-ului față de obiectul de interes. Acest lucru se face cu ajutorul unui estimator de scară, așa cum se va descrie în secțiunea 3.10.12 Estitorul de scară emite o distanță pe care trebuie să o acopere quadcopterul pentru a ajunge la distanța corectă față de obiectul de interes. Această distanță este dată ca intrare pentru controlerul PID care finalizează apoi acțiunea. După fiecare acțiune așteptăm o perioadă mică de timp (aproximativ o secundă) pentru ca algoritmul de urmărire să se stabilizeze. Motivul este că, în timp ce quadcopterul efectuează o acțiune, algoritmul de urmărire a obiectelor tinde să emită casete de margini de jignire.
Estimarea stǎrii
Ultima problemă pe care a trebuit să o rezolvăm pentru a putea urmări obiectele de interes cu un quadcopter a fost problema estimării scalei. Scopul este de a păstra quadcopter-ul într-o distanță fixă față de obiectul de interes.
Dacă știm în avans mărimea obiectului de interes și știm că obiectul nu-și va schimba dramatic dimensiunea pe parcursul urmăririi, ar fi posibil să se estimeze distanța dintre quadcopter și obiect cu o formulă închisă formată. Chiar dacă nu cunoaștem dimensiunea obiectului în avans, este posibil să creăm în continuare o estimare cu următorul raționament. Fie x dimensiunea reală a obiectului de interes, y distanța reală între quadcopter și obiect și permiteți α să denotă unghiul sub care quadcopter-ul vede obiectul (pentru a calcula acest unghi trebuie să cunoaștem parametrii camerei quadcopterului).
Aceste trei variabile sunt legate de următoarea formulă: tan (α) ≈ x / y (α este singura cunoscută). Relația este doar aproximativă, deoarece x și y ar putea să nu fie perpendiculare între ele. Acum, să ne imaginăm că quadcopterul a mutat un metru spre obiect (distanța acoperită a fost estimată de sistemul inerțial al quadcopterului).
Apoi, putem scrie următoarea ecuație: tan (α ') ≈ x / (y – 1) (din nou α' este singura cunoscută).
Figura 3.10.12 Estimarea dimensiunii reale a obiectului de interes folosind trigonometria simplă și unitatea de măsurare inerțială a quadcopterului. [4]
Nu este dificil să combinăm aceste două ecuații și să obținem următoarea formulă:
x / tan (α) ≈ x / tan (α ') + 1. Din această ecuație derivăm cu ușurință următoarea formulă pentru
x: x ≈ 1 / (A ') – tan (a)). Dacă repetăm această procedură de mai multe ori, obținem un sistem de multe ecuații pentru mărimea reală a obiectului de interes, de aceea obținem un sistem de ecuații supraeterminat. Ținând cont de natura problemei la îndemână, am putea ignora unele estimări aparent absurde și apoi am estimat dimensiunea reală a obiectului fie prin media, fie prin mediană sau prin alte statistici mai sofisticate. Din nefericire, această metodă era prea sensibilă la chiar impresii minuscule ale datelor senzoriale, iar quadcopterul nu a reușit niciodată să ajungă undeva aproape de adevărul solului.
O altă opțiune a fost aceea de a implementa o metodă care să combine SLAM monocular și estimarea poziției din datele senzoriale așa cum este discutată în [2]. Această metodă construiește treptat o hartă a mediului înconjurător și creează progresiv o estimare a scării mai exactă. Această metodă nu a fost adaptată în această teză deoarece este mai potrivită pentru medii statice și nu pentru estimarea scării unui obiect în mișcare dinamic.
A doua încercare pe care am făcut-o în rezolvarea problemei sa bazat pe fluxul optic. De data aceasta am vrut să construim un agent reactiv foarte simplu. Dacă agentul a perceput obiectul de interes ca fiind îndepărtat de el, ar reacționa în consecință. Mișcarea a fost sesizată de algoritmul privind fluxul optic.
Vectorii de mișcare ai punctelor din interiorul zonei de interes vor indica directia catre centrul acesteia. În mod similar, agentul ar percepe că obiectul se apropia de el atunci când fiecare vector din interiorul cutiei de margine ar fi îndreptat în direcția opusă decât spre centrul casetei de legare. Din păcate, această metodă nu a funcționat foarte bine. Motivul principal a fost că vectorii de mișcare erau fie prea mici, fie erau nesigure și puteau fi ușor confundați cu vectorii care indicau o mișcare a obiectului în planul camerei. Apoi am experimentat o metodă care combină învățarea de întărire și o metodă care creează o cartografiere care estimează distanța față de un obiect de interes bazat pe dimensiunea casetei de legare.
În general, în procesul de consolidare a învățării, obiectivul este de a forma un agent acțiunile și comportamentul adecvat care să maximizeze rata de așteptat totală. În cazul nostru, recompensa a reflectat mărimea relativă a casetei de legare la mărimea ideală (aceasta este dimensiunea casetei delimitate când este selectată prima dată) și, prin urmare, distanța față de obiect.
Cu cât este mai mare diferența dintre dimensiunea căsuței delimitării actuale și mărimea cutiei delimitate dorite, cu atât este mai mică recompensa. Atunci când algoritmul de urmărire a obiectului detectează o creștere / micșorare a dimensiunii casetei de legare, este de dorit să se ia o anumită acțiune și să se instruiască quadcopter-ul cu comenzi adecvate. Mai exact, luăm dimensiunea observată a casetei de legare și o normalizăm.
Etapa de normalizare produce un număr real r care este raportul dintre dimensiunea casetei delimitării curente și dimensiunea inițială a casetei delimitate. Acum, luăm acest raport r și vedem dacă la orice precedent estimatorul scării a fost dat ca orice alt raport rp aproape de r (aproape aici înseamnă că distanța absolută dintre r și rp este mai mică decât 0,08 – constantă am stabilit experimental). Dacă acesta este cazul, vom renunța în mod deliberat la raportul nou sosit r și vom căuta în schimb o acțiune adecvată, ca în cazul în care raportul rp a fost dat ca intrare.
Altfel, luăm raportul r. Acum, pentru fiecare raport, urmărim acțiunile încercate anterior și menținem o estimare a performanței fiecărei acțiuni. Această estimare este actualizată de fiecare dată când primim feedback. Feedbackul constă în raportul dimensiunii casetei de legare în jurul obiectului de interes și dimensiunea inițială a casetei de delimitare după efectuarea acțiunii. Calculăm estimarea unei acțiuni ca medie a tuturor rapoartelor oferite vreodată ca feedback pentru această acțiune anume. Se selectează acțiunea cu cel mai bun rezultat așteptat. Ideea a fost aceea ca agentul sa construiasca treptat o cartografie care ar instrui quadcopter-ul bazat pe starea sa actuala care este cea mai buna actiune pe care ar trebui sa o efectueze pentru a-si maximiza recompensa. Această abordare face mai multe ipoteze.
În primul rând, se așteaptă ca obiectul de interes să nu se miște în timp ce quadcopterul executa o acțiune.
În al doilea rând, această metodă presupune că manevrele de zbor sunt îndeplinite cu exactitate.
În al treilea rând, se așteaptă ca detectorul de obiecte să fie robust și să ofere dimensiuni suficient
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: Pr Dipl Pana Alexandru Gr945 [308570] (ID: 308570)
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.
