Transcript
Page 1: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

Universitatea Politehnica BucureştiFacultatea de Automatică şi Calculatoare

Departamentul de Automatică şi Ingineria Sistemelor

LUCRARE DE DIZERTAŢIE

Robot autonom cu autoechilibrare

Absolvent Ioniţă I. Mihai Eduard

Coordonator: Prof.dr.ing. Dumitru Popescu

Bucureşti, 2013

Page 2: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

2

Cuprins

Introducere ……………………………………………………………..…….………...41. Experienţe premergătoare proiectului “Pendulo Bot”…....………………….……5

1.1. Proiecte analogice ...………………………………………………….…….51.2. Trecerea la digital ……………………………………....……...…….....…5

1.2.1. Tahometru …...…………………………………………...….…..51.2.2. Matricea de LED-uri …………………………...………….….…6

1.3. Proiectul “Patrol Bot” ……………………………..............…………......71.4. Proiectul “RoboAres” .....…………………………..............………….....8

2. Roboţii autonomi din zilele noastre …………………………………………...…....92.1. Robotul -definiţie …………………………………………………...……...92.2. Clasificarea roboţilor …………………………………………………..…102.3. Arhitectura roboţilor ………………………………………………..……10

2.3.1. Sistemul senzorial al roboţilor …………………………….…...112.3.2. Sistemul de acţionare şi de transmisie al robotului ........…......12

2.4. Elemente de inteligenţă artificială ……………………………………….132.5. Roboţii de jucarie �i roboţii de companie …………………………….....14

3. Principiile robotului cu autoechilibrare ….…..……………………………….......144. Componentele funcţionale ale robotului cu autoechilibrare ….....……………....16

4.1. Senzorul unghiului de înclinare ………………………..……....……......164.1.1. Unitatea inerţială de măsurare, IMU ………..……...…………164.1.2. Senzorul infraroşu …………………………..……………..…...204.1.3. Potenţiometrul ……..………………………………..……..…...204.1.4. Înclinometrul ……..………………………………..……………20

4.2. Fltrarea datelor achiziţionate ……………………………..……….….....214.2.1. Fltrul complementar …………………………..…..……….…...214.2.2. Fltrul Kalman ……..………………………………..……...……21

4.3. Metoda de detecţie a vitezei de deplasare …………………..…………...234.3.1. Codificatorul rotativ ………………………………..…………..244.3.2. Codificatorul în cuadratură ………………………..…………..244.3.3. Feedback-ul câmpului electromagnetic .…………..……….…..25

4.4. Algoritmul de control ……..……………………………..…..……...……254.4.1. Controlul cu logica Fuzzy ……………………..…..……………254.4.2. Regulatorul PID ……..……………………………..…..….....…26

4.5. Comanda motoarelor ……..……………………………..…..……...……295. Realizarea practică a proiectului “Pendulo Bot” …..……………..………………31

5.1. Proiectul “Pendulo Bot” V1 …................………………………………..325.1. Proiectul “Pendulo Bot” V2 …................…………………………....…..33

5.2.1. Construcţia şasiului …................………………...……………..335.2.2. Deplasarea robotului ……………………………………........…345.2.3. Comanda motoarelor …..…………………………………….….355.2.4. Senzorul de înclinare ……….......……………………………….355.2.5. Alimentarea robotului …….................……………………....…365.2.6. Achiziţia datelor …………......................................………..….385.2.7. Microcontrollerului ATMEGA328 ……………………...….…..395.2.8. Programarea microcontrollerului ……………….…….………..40

6.Concluzii ……………………………………………………………….…...……….....44Bibliografie ……………………………………………………………….….………......45Anexă……………………………………………………………………….……….....…47

Page 3: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

3

Lista de figuri

Fig. 1. Tahometru – numaratoare ………………………………………………….…....…..5Fig. 2. Matrice LED-uri …………………………………………………………...........…..6Fig. 3. Patrol Bot V1 …………....….....................................……………………….……7Fig. 4. RoboAres …………...................................…………………………………..…...8Fig. 5. Robotul ..................………………………………………………..............…..…..9Fig. 6. Senzori de securitate ……………………………………........……………....…....11Fig. 7. Sistemul de actionare .………..………………………………………………….....12Fig. 8. Fibra musculara artificiala .………………………………………………….…...…13Fig. 9. Inteligenta artificiala …………………………..………………………………..….13Fig. 10. Roboti de companie ……………………………………………………….……...14Fig. 11. Reprezentarea modelului fizic …………...…………………………………..…...15Fig. 12. Accelerometru ……....……………………….………………….....…….……....17Fig. 13. Detectia acceleratiei gravitationale ..…………………………………….……..…19Fig. 14. Senzor infrarosu ………………………...........……………………………….....20Fig. 15. Filtru complementar …....……………………………………………………...…21Fig. 16. Algoritm filtru Kalman ……………………………………………………......…22Fig. 17. Codificator rotativ …...........................................…………………………..….24Fig. 18. Semnal codificator in cuadratură ………………………………………….…..…24Fig. 19. Tabel de control logica Fuzzy ………………………………………………...….25Fig. 20. Algoritm PID …................................…………………………………….…….26Fig. 21. Comanda PWM …..........………………………………………………...……...29Fig. 22. Puntea H ……………………………………….......................………………...30Fig. 23. Regimurile de operare ale puntii H …..……...…………….............………..…..30Fig. 24. Pendulo Bot V1 ….......................…………………………………………..…..32Fig. 25. Baza sasiului …....…………………………………………………………......…33Fig. 26. Dimensiunile motorului ….…………………………………………………...….34Fig. 27. Motor cu encoder …......………………………………………………….….......35Fig. 28. Punte H cu MOSFET …..………………………………………………...…...…35Fig. 29. IMU cu 10 grade de libertate ……………………….…………………….……...36Fig. 30. ADXL345 – accelerometru cu 3 axe …...………..............………………...…...36Fig. 31. L3G4200D – giroscop cu 3 axe …………………………………………….…....36Fig. 32. Acumulatori ………………………………………..............................….....….37Fig. 33. Schema interna L7805 ………………………………….………………...…...…38Fig. 34. Adaptor card SD ………………………………….……………..…….…….....…38Fig. 35. Structura interna si configuratia pinilor ATMEGA328 ………………...….....….40Fig. 36. Schema programatorului USB …………………………………………..….........40Fig. 37. Programatorul realizat practic ………………………………………...…..…...…41Fig. 38. Configurarea AVRDUDE …......…………………….……………….……….....41Fig. 39. Scrierea microcontrollerului …...............………..............………………..........42Fig. 40. Scrierea in linie de comanda …......……………………………………...……....43Fig. 41. Robotul in forma finala …..………………………..............................…...…...43

Page 4: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

4

Introducere

Un robot cu autoechilibrare pe două ro�i este un robot autonom care isi poate mentine echilibrul pe cele două ro�i ale sale. Acest principiu este asemanator pendulului invers. Pe parcursul ultimului deceniu, institutele de cercetare, companiile comerciale �i pasiona�ii de robotica au fost inspirati in dezvoltarea �i implementarea unui sistem de control pentru acest tip de robot si utilizarea lui în diferite aplica�ii.

In aceasta lucrare se prezinta construirea unui astfel de robot functional avand ca scop principal dezvoltarea performantelor sistemului precum si aplicatiile acestuia.

Structura lucrarii pune in evidenta prezentarea etapelor premergatoare proiectului

“Pendulo Bot”, descrierea comportamentului unui robot autonom, prezentarea componentelor

functionale ale robotului cu autoechilibrare, a teoriilor luate in calcul, realizarea practica a

proiectului si rezultatele experimentale.

Un robot cu autoechilibrare pe două ro�i oferă următoarele avantaje fata deplatformele cu trei sau mai multe ro�i:

mobilitate mai ridicata, permite rotatia la punct fix;

viteza mai mare datorita frecarii mici dintre cele doua roti si suprafata de rulare;

design structural simplu;

toleranta la anumiti factori perturbatori;

stabilitate crescuta pe suprafete inclinate sau pante.

Page 5: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

5

1. Experienţe premergătoare proiectului “Pendulo Bot”

1.1. Proiecte analogice

Domeniul electronicii a reprezentat o pasiune pentru mine intotdeauna si imi doream

tot timpul sa realizez inventii si proiecte noi. Tocmai de aceea am fost sprijinit in sensul

acesta si am pornit pe acest drum prin inscrierea la Cercul de Electronica de la Palatul

Copiilor. Acolo am invatat o multime de lucruri noi, acumuland experienta si participand la

concursuri de electronica judetene, interjudetene si nationale, in anul 1999 obtinand Locul 2 la

Concursul National de Electronica de la Poiana Pinului.

Dupa aceea am inceput sa realizez proiecte si montaje electronice care imi erau utile la

vremea respectiva. Astfel am realizat sonerii muzicale, alarma cu fascicul Laser, comanda la

distanta cu Laser, emitatoare de radiofrecventa, incuietoare automata cu cifru, comanda cu

senzor de atingere, amplificatoare audio cu protectie la iesire si soft-start, mixere audio,

redresor pentru incarcat baterii auto si multe altele, toate aceste montaje fiind realizate cu

ajutorul componentelor analogice.

1.2. Trecerea la digital

Odata cu ajungerea la facultate am dobandit cunostinte noi legate de domeniul

electronic si am realizat noi proiecte atat cu componente analogice cat si digitale. Astfel am

realizat mai multe proiecte cu microcontrollere.

1.2.1. Tahometru

Fig. 1. Tahometru - numaratoare

Acest proiect l-am realizat avand nevoie de un tahometru atunci cand bobinam

transformatoare, pentru a retine numarul de infasurari. Aceasta numaratoare am conectat-o la

dispozitivul de bobinat realizat dintr-un motor de stergator de parbriz caruia i-am sudat un ax

Page 6: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

6

pe care venea prinsa carcasa transformatorului. Acest motor avea doua lamele care faceau

contact la o rotatie completa a motorului (fiind indicatorul de capat de cursa la stergator) si

doua viteze de rotatie.

Pentru realizarea cablajului imprimat am incercat o metoda noua, aceea de a realiza

schema pe calculator, in Proteus si de a o scoate la o imprimanta Laser apoi urmand sa o

imprim cu fierul de calcat pe placuta. Bineinteles ca acesta nu mi-a reusit din prima, ci din a

3-a incercare deoarece erau trasee foarte apropiate pentru a fi cat mai compact. Pentru

realizare am ales microcontrollerul ATTINY2313 si in cadrul montajului acesta avea 3

comenzi: incrementare, decrementare si reset. Afisarea era pe 4 digiti multiplexati si

decodificati din binar in zecimal cu un circuit CD4543.

1.2.2. Matricea de LED-uri

Fig. 2. Matrice LED-uri

Ulterior am realizat o matrice de LED-uri pe care am reusit sa afisez pseudonimul meu

tot cu ajutorul unui ATTINY2313, dar am conectat un soclu si pentru

ATMEGA16/ATMEGA32. Aceasta are o rezolutie de 28x5, iar pentru realizarea acestui

proiect am efectuat peste 2000 de lipituri. De acesta data am utilizat cablaj de test pentru

suportul componentelor deoarece realizarea unui cablaj specific necesita foarte mult timp si

munca. Pentru a realiza afisarea am utilizat shift-registers pentru incarcarea bitilor deoarece

nu aveam suficienti pini de iesire, ATTINY2313 avand doar 20 de pini. Astfel am incarcat

bitii de pe o linie in cei 4 shift-registers, cate 4 o data pentru a fi cat mai rapid, iar dupa

incarcare am dat comanda de afisare si am aprins linia respectiva. Deoarece shift-registrii nu

aveau suficienta putere (cativa mA) a trebuit sa utilizez drivere de curent pentru aprinderea

LED-urilor pe coloana, iar pe linie aprinderea am realizat-o cu ajutorul MOSFET-urilor

IRF540, multiplexarea fiind facuta pe linie adica este aprinsa o singura linie la un moment

dat, liniile fiind aprinse succesiv cu viteza foarte mare. Pentru alimentarea microcontrollerului

am utilizat sursa L7805. Programul sursa avea 2048 linii de cod, adica toata memoria lui

ATTINY2313, fiind scris in Assembler.

Page 7: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

7

1.3. Proiectul “Patrol Bot”

Fig. 3. Patrol Bot V1

Proiectul “Patrol Bot” a reprezentat o provocare pentru mine in realizarea unui robot

subacvatic, deoarece era prima interactiune cu mediul acvatic si nu stiam dificultati pot

intampina in realizarea unui astfel de proiect. In cadrul competitiei a facut fata cu succes

toturor probelor obtinand Locul 1 la “Concursul National de Roboti Subacvatici – Portul

Tomis Constanta, 19 August 2012”.

Acest robot era un ROV (Remote Operated Vehicle) pe care il controlam de la

suprafata cu ajutorul unei telecomenzi si transmitea imagini la suprafata cu ajutorul unei

camere video. Pentru realizarea robotului a trebuit sa ma documentez in legatura cu forma

sasiului si sa aleg varianta optima pentru a avea robustete si hidrodinamica in acelasi timp. O

alta provocare a constituit-o pozitionarea motoarelor pentru a avea stabilitate la miscarea in

apa dar si manevrabilitate, asadar am ales 3 motoare pozitionate astfel: unul in partea din fata

central, iar doua in extremitatile din spate cu elicea catre interior pentru a fi protejata de alge

sau alte obstacole. Ultima problema, insa cea mai importanta a fost cea legata de etanseitatea

componentelor, de aceea am utilizat pentru propulsie pompe submersibile modificate, acestea

fiind deja etanse, carora le-am atasat cate o elice de avion ajustata la forma optima, iar pentru

a nu intra apa in interiorul sasiului am introdus spuma poliuretanica. Pentru echilibrare si

aducerea la flotabilitate neutra am utilizat greutati de plumb pozitionate strategic in diferite

puncte ale robotului. Acest tip de robot poate fi dezvoltat si adaptat pentru efectuarea

misiunilor de recunoastere pe fundul marii, explorarea puturilor si conductelor petroliere dar

si cercetarea epavelor.

Page 8: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

8

1.4. Proiectul “RoboAres”

Fig. 4. RoboAres

Acest proiect l-am realizat pentru competitia de sumo organizata de Robochallenge in

anul 2010. Fiind un robot de sumo, pentru a partcipa intr-o astfel de competitie “RoboAres”

trebuia sa respecte mai multe criterii.

Robo-sumo este o competitie intre roboti bazata pe wrestling japonez - sumo este

cuvantul japonez pentru wrestling. Similar meciurilor traditionale de sumo doi oponenti

(roboti) se afla fata in fata intr-un ring numit dohyo. Scopul este acela de a ramane in ring si

de a impinge adversarul in afara ringului. Robotul care ramane in ring cel mai mult timp

castiga meciul.

Robotii de sumo sunt mici roboti autonomi construiti special pentru competitia de

sumo. Regulile competitiei de sumo restrictioneaza dimensiunile robotului dar si greutatea,

mai exact 20 cm x 20 cm si greutate nu mai mare de 3 kg. Spre deosebire de alti roboti de

lupta in acest tip de competitie nu este permisa lovirea adversarului, este permisa doar

impingerea de pe ring.

Pentru a fi eficient, robotul trebuia sa satisfaca urmatoarele conditii:

- Sa stea in interiorul ringului;

- Sa caute adversarul;

- Sa tinteasca adversarul;

- Sa atace adversarul.

Page 9: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

9

In urma realizarii proiectului am reusit implementarea cu succes a unui program care

sa confere autonomie deplina robotului de sumo, folosind 4 stari de comportament pentru a

cunoaste precis situatia in care se afla si ce decizie trebuie sa ia.

Prin program am implementat inteligenta robotului, modificandu-si comportamentul in

functie de datele pe care le colecteaza de la mediu prin intermediul senzorilor. Pentru

detectarea suprafetei de joc am utilizat senzori infrarosu pozitionati atat in colturile din fata

cat si in spatele sasiului, iar pentru detectarea adversarului am ales senzori Sharp, fiind o

alternativa la senzorii ulrasonici sau Laser insa cu performante comparabile. Senzorii

infrarosu i-am orientat inspre suprafata de joc la o distanta stabilita prin teste fata de teren, iar

senzorii de detectie a adversarului i-am pozitionat indreptati inainte sub un unghi de inclinare

de asemenea stabilit in urma testelor pentru a minimiza perturbatiile ce ar putea fi induse in

timpul meciului si inducerea de masuratori eronate.

Pentru propulsie am folosit 2 motoare de curent continuu cu perii ce aveau un

reductor 131:1 si o turatie 80 rot./min care antrenau 2 senile, iar pentru alimentare un

acumulator LiPo (12 volti) preferat in schimbul altui tip de acumulatori precum NiCd, Pb-

Acid datorita raportului foarte bun putere/greutate. Programul a fost implementat intr-un

microcontroller ATMEGA 16, acesta oferind suficiente facilitati de programare pentru

realizarea unui astfel de proiect, cum ar fi: 16KB memorie Flash, 16 MHz frecventa de lucru,

4 iesiri PWM, 8 intrari analogice cu rezolutie de 10 biti si 4 porturi digitale de intrare/iesire.

Limbajul de programare utilizat a fost C++ datorita complexitatii destul de ridicate a codului.

Datorita modului de deplasare cu ajutorul senilelor, am obtinut performante foarte

bune in cazul schimbarii directiei de deplasare, acestea permitand rotatia la punct fix,

diminuand considerabil timpul de reactie. RoboAres a avut o evolutie buna in cadrul

competitiei ”Robochallenge” din 2010 si 2012 reusind sa isi demonstreze performantele.

2. Roboţii autonomi din zilele noastre

2.1. Robotul - definiţie

Fig. 5. Robotul

Definiţiile robotului se referă la mişcare sau la funcţionarea într-un mediu anume.

Conform specialiştilor japonezi robotul este un dispozitiv mecanic acţionat cu forţe motrice

cu comandă inteligentă şi care acţionează conform voinţei umane.

Page 10: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

10

Institutul Francez de Standardizare defineşte robotul ca fiind un manipulator automat

reprogramabil şi polivalent, capabil să realizeze poziţionarea şi reorintarea pieselor printr-o

mişcare variabilă şi programabilă a braţelor terminale, prin intermediul unor dispozitive.

Institutul American de Robotică consideră robotul ca fiind un operator reprogramabil

şi multifuncţional pentru deplasarea obiectelor pe traiectorii stabilite anterior în realizarea

unor sarcini concrete.

In literatura românească de specialitate robotul este definit ca fiind un echipament

automat, adaptabil prin reprogramare la condiţiile de mediu în care acţionează.

2.2. Clasificarea roboţilor

Roboţii se pot clasifica din mai multe puncte de vedere, si anume:

• din punctul de vedere al gradului de mobilitate se cunosc roboţi ficşi si mobili;

• din punct de vedere al informaţiei de intrare a informaţiei şi a metodei de instruire există:

- roboţi acţionaţi de om;

- roboţi cu sistem de comandă cu relee (secvenţial);

- roboţi cu sistem secvenţial cu program modificabil;

- roboţi repetitori (cu programare prin instruire);

- roboţi inteligenţi;

• din punct de vedere al sistemului de coordonate roboţii sunt în sistem de coordonate

carteziene (18%), cilindrice (33%) şi sferice (40%);

• din punct de vedere al sistemului de comandă:

- comandă punct cu punct (unde nu interesează traiectoria propriu-zisă);

- comandă pe contur (implică coordonarea mişcării axelor);

- comandă pe întreaga traiectorie (implică toţi parametrii de mişcare );

• din punct de vedere al sarcinii manipulate ;

• din punct de vedere al sistemului de acţionare : hidraulică (40%), electrică (30%),

pneumatică (21%), mixtă ;

• din punct de vedere al preciziei de poziţionare: sub 0,1mm, (0,1 ÷ 0,5 )mm, (0,5 ÷ 1 )mm, (1

÷ 3)mm, peste 3mm ;

• din punctul de vedere al tipului de programare :

- cu programare rigidă (fără posibilităţi de corecţie );

- cu programare flexibilă (există posibilitatea modificării programului);

- cu programare adaptivă (există posibilitatea adaptării automate a programului în timpul

funcţionării);

2.3. Arhitectura roboţilor

Arhitectura internă a unui robot conţine cinci sisteme importante, fiecare dintre

acestea aparţinând unui domeniu al tehnicii clasice:

- sistemul mecanic de susţinere şi al articulaţiilor (cuplelor de rotaţie şi de translaţie);

- sistemul de acţionare (hidraulic, pneumatic electric sau mixt);

Page 11: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

11

- sistemul de transmisie al mişcării;

- sistemul senzorial (intern şi extern);

- sistemul decizional.

2.3.1. Sistemul senzorial al roboţilor

Tipuri de senzori:

- senzori interni (interiorceptivi) – plasaţi pe buclele interne de reglare şi ajută la descrierea

traiectoriei segmentelor mecanice componente;

- senzori externi (exteriorceptivi) – se utilizează pe buclele externe pentru coordonarea

traiectoriei generale a ansamblului;

- senzori de securitate – utilizaţi pe buclele interne sau externe de reacţie pentru sesizarea

pericolelor (ciocniri, creşterea temperaturii, etc.).

Funcţiile sistemului senzorial sunt:

- realizarea reglajului de poziţie, viteză, deplasare, acceleraţie, efort;

- modelează o serie de funcţii senzoriale umane: tactilă, vizuală;

- de tip releu pentru evitarea coliziunilor şi securitate.

Senzorii interni sunt în general de tip poziţie şi deplasare. Cei mai utilizaţi în acest caz

sunt senzorii de tip potenţiometric (rezistivi) şi cei de tip optic. Sistemele senzoriale de tip

optic conţin un generator de flux luminos (de regulă un LED) şi un element receptor

(fototranzistor sau fotocelulă). Pentru poziţionări precise se utilizează senzori inductivi.

Senzorii externi sunt senzori de efort (în general au la bază mărci tensometrice plasate pe

concentratoare de efort), senzori de alunecare sau senzori tactili.

O categorie aparte de astfel de senzori o reprezintă pielea artificială ce are la bază

proprietăţile reflexiei şi refracţiei luminii. Este vorba de senzorul cu fibră optică şi senzorii cu

ghid optic tangenţial, cei mai utilizaţi dintre variantele constructive ce folosesc fascicole

luminoase.

Fig. 6. Senzori de securitate

Sistemul senzorial de securitate are rolul de a evita coliziunile când apar regimuri

deficitare de funcţionare sau obstacole neprevăzute. Noii algoritmi inteligenţi de recunoaştere

a paternului împreună cu tehnologiile de realizare a camerelor digitale de luat vederi (CCD)

de înaltă rezoluţie dau valenţe noi acestui sistem senzorial permiţând luarea deciziilor şi

stabilirea traiectoriilor de deplasare. Cei mai utilizaţi senzori datorită raportului preţ – precizie

Page 12: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

12

de poziţionare sunt senzorii optici în infraroşu şi senzorii cu ultrasunete, formaţi dintr-un

emiţător de undă şi un receptor comandat în fază cu emiţătorul.

Funcţionarea acestor senzori este puternic influenţată de caracteristicile mediului

(praf, fum, suprafeţe reflectorizante, etc.). Ca senzori de proximitate se mai folosesc senzori

fluidici (cu jet de aer), capacitivi sau inductivi, senzori ce comandă relee sau

microîntrerupătoare ce decuplează în situaţii critice alimentarea sistemului de acţionare.

Aceşti senzori au prioritate în nivelul de întreruperi a sistemului decizional.

2.3.2. Sistemul de ac�ionare �i de transmisie al robotului

Sistemul de acţionare se alege în funcţie de clasa de operaţii ce trebuie executate, în

funcţie de modul de lucru, de viteza de deplasare, de viteza de deplasare, de sarcină şi de

spaţiul de mişcare precum şi de precizia de poziţionare. Astfel există:

- sisteme de acţionare electrică (aproximativ 30% din numărul acestora),

- sisteme de acţionare pneumatice (cam 21% din cazuri),

- sisteme de acţionare hidraulice pentru sarcini mari şi deplasări limitate în spaţiu.

-sisteme de acţionare mixte (9% din variantele constructive) – de tip electropneumatic sau

electrohidraulic.

Fig. 7. Sistemul de actionare

Motoarele de acţionare ale roboţilor trebuie să îndeplinească următoarele condiţii:

- să dezvolte cupluri ridicate;

- să aibă gabarit şi masă reduse;

- să fie caracterizat printr-un moment de inerţie scăzut pentru a permite poziţionarea precisă;

- să fie compatibil cu sistemul de comandă şi cu sistemul senzorial;

- să fie insensibil la perturbaţii.

Page 13: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

13

Fig. 8. Fibra musculara artificiala

Noutatea în domeniul acţionărilor o constituie fibra musculară artificială, foarte

utilizată în cazul androizilor. Aceşti muşchi artificiali modelează grosier funcţionarea fibrei

musculare umane dar pe lângă viteza de acţionare scăzută, timpul mare de răspuns şi limitarea

posibilităţilor de deplasare spaţială a braţului astfel acţionat există şi dezavantajul unei sarcini

manipulate de valoare mică.

2.4. Elemente de inteligenţă artificială

Rezultatele obţinute de Alan Turing până în momentul de fată în domeniul tehnic au

dat şi satisfacţii. Pe scurt inteligenţa artificială s-a definit chiar de la început ca fiind o

combinaţie între ştiinţa computerelor, psihologie şi filosofie la nivelul la care aceasta dă o

explicaţie creaţiei ş i naturii umane. Bazele ei au fost puse de Turing care publica în George

Boole 1950 „Computing Machinery and Inteligence”, de filosoful şi matematicianul Boole şi

de şcoala modernă de medicină. S-a reuşit modelarea pe computerele clasice a reţelelor

neuronale, au fost create sisteme autoadaptive ce recunosc scrisul de mână şi amprenta vocală,

s-au implementat sisteme decizionale pe roboţii trimişi în cosmos, pe fundul oceanelor sau în

corpul uman pentru explorări.

Fig. 9. Inteligenta artificiala

Cele mai noi succese ale inteligenţei artificiale sunt realizarea în 1997 în cadrul firmei

IBM a computerului Deep Blue care nu a putut fi învins sub formă jocul de de campionul

mondial nici o în şah către Garry Kasparov şi apariţia în comerţul de larg consum în anul

2000 a unor roboţi ce pot exprima facial emoţii.

Page 14: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

14

2.5. Robo�ii de jucarie �i robo�ii de companie

De la un căţel şi până la persoana de companie nu a fost un drum prea lung. Este

cunoscut androidul numit Pino sau legendara Valerie care copiaza perfect o fiinţă umană şi

care are 111 articulaţii fiind capabilă şi de expresii faciale.

Fig. 10. Roboti de companie

Totuşi cea mai completă realizare în materie de „persoană” de companie este cea a

firmei Honda care comercializează androidul Asimo. Asimo este rezultatul unuiintens

program de cercetare în ceea ce priveşte copierea mersului uman şi păstrarea stabilităţii prin

controlul continuu al centrului de greutate. El este alimentat de la acumulatori la 138V, şi este

realizat în două variante constructive. Înălţimea este de 1,80 (1,60) m, viteza de deplasare de

2m/s, greutatea maximă ridicată 5 (2)Kg, fiind echipat cu senzori de tip giroscop, senzori de

forţă şi senzori vizuali. Datorită înălţimii şi bazei mici de susţinere, androidul are incorporat

un sistem complex de menţinere a echilibrului în cazul deplasării pe o traiectorie curbă, caz în

care asupra sistemului acţionează o forţă centrifugă.

3. Principiile robotului cu autoechilibrare

Un robotul cu echilibrare pe doua ro�i se compune dintr-un �asiu al robotului �i

două ro�i. După cum sugerează �i numele, acesta are capacitatea de a men�ine o pozi�ie

verticală de echilibru considerata drept stabilitatea acestuia. Acesta este unic în compara�ie

cu robo�ii cu mai multe roti sau cu senile din cauza aceastei capacitati. De asemenea, are

capacitatea de rotatie la punct fix ceea ce il face mult mai u�or de manevrat. Acest lucru face

din robotul cu autoechilibrare pe doua roti un candidat ideal pentru lucrul în zone limitate sau

în aplica�ii de transport. Stabilitatea este realizata prin mentinerea celor doua roti sub centrul

de masa al robotului.

Acest domeniu de cercetare este de obicei abordat de către ingineri �i entuzia�ti ca o

abordare fa�ă de dezvoltarea unor tehnici de cercetare, proiectare �i analiză. Acest robot are

ca principiu sistemul pendulului invers care este instabil în mod natural �i reprezinta o

problemă de control clasic. Dezvoltarea �i implementarea unui sistem adecvat de control al

stabilită�ii, care este robust si raspunde în timp util poate fi realizată fie prin abordări liniare

fie prin abordari non-liniare.

Page 15: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

15

Pentru a dezvolta un sistem de control sigur �i capabil de echilibrarea unui robot pe

doua ro�i, o în�elegere a parametrilor din cadrul sistemului este esen�ială. Reprezentarea

aceasta poate fi ob�inuta printr-un model matematic.

Fig.11. Reprezentarea modelului fizic

Este necesara generalizarea efectelor ro�ii din stânga �i din dreapta, de aceea se vor

include împreună, combinate sub termenul "ro�i". Acest lucru simplifică calculele prin faptul

ca ambele ro�i vor lucra la unison pentru a men�ine stabilitatea. Pentru determinarea

cerin�elor specifice de cuplu pentru fiecare roată individual, valoarea ro�ilor poate fi redusa

la jumătate pentru o valoare aproximativa pe singură roată. Această abordare este considerată

acceptabilă datorita faptului ca terenul �i suprafa�a pot varia.

Scopul principiului pendulului inversat este de a men�ine ro�ile sub centrul de masa

al �asiului robotului. Dacă robotul începe să se încline înainte, pentru a men�ine stabilitatea,

roata va trebui sa se deplaseze mai departe pentru a reveni sub masa �asiului. Dacă aceasta

conditie nu este men�inuta, robotul va cădea pur �i simplu. Următoarele ecuatii de dinamica

sistemului sunt asociate cu problema matematică.

Func�ia cosinus din ecua�ia cuplului ro�ii detaliaza avantajul de înclinare a

�asiului robotului în direc�ia dorită de deplasare. Dacă robotul trebuie sa se deplaseze

înainte �i unghiul de înclinare în această direc�ie este crescut, atunci cuplul de torsiune

necesar pentru a misca robotul în această direc�ie va fi redus. De exemplu, atunci când

unghiul de înclinare este 0°, multiplicatorul cosinus va fi de 1 echivalentul a 100% din cuplu.

Atunci când unghiul de înclinare cre�te la 20° sau chiar 30°, atunci multiplicatorul va fi egal

cu 0,94 �i respectiv 0,87. Acest lucru se traduce prin aplicarea unui cuplu de 94%, respectiv

87% din cuplul disponibil comparat cu 100%.

Următoarele ecua�ii ofera un model sigur �i precis pentru dezvoltarea �i

implementarea unui sistem adecvat de control pentru robotul cu autoechilibrare pe doua ro�i.

Page 16: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

16

Acceleratia unghiulara

Acceleratia liniara

Stabilitatea robotului cu autoechilibrare consta in abilitatea de a mentine sasiul

robotului intr-o pozitie dreapta si de echilibru. Echilibrarea robotului in mod automat, fara

interventie umana este cunoscuta ca si stabilitate autonoma deoarece robotul ia propriile

decizii legate de actiunile sale. Teoria pendulului invers ofera ecuatiile necesare pentru a

determina miscarea, fortele si reactiunile care participa la proces. De aceea este absolut

necesara implementarea unui sistem de control eficient si eficace capabil sa raspunda la

intrarile senzorilor intr-un timp cat mai scurt astfel incat stabilitatea sa fie atinsa si mai apoi

mentinuta.

4. Componentele funcţionale ale robotului cu autoechilibrare

4.1. Senzorul unghiului de înclinare

Senzorul unghiului de înclinare este partea cea mai importantă a robotului cu

autoechilibrare. Senzorul folosit trebuie să fie capabil să furnizeze masuratori ale unghiul de

înclinare rapide si precise. În caz contrar, robotul nu va fi capabil să se echilibreze atunci când

apar schimbări bru�te ale unghiului de înclinare. Patru tipuri de senzori au fost luati în

considerare pentru acest robot.

4.1.1. Unitatea inerţială de măsurare, IMU

IMU cuprinde un accelerometru �i un giroscop pentru a sesiza unghiul de înclinare si

viteza unghiulara prin plasarea acestuia direct pe PCB. Ambii senzori ofera date

complementare pentru a oferi o masuratoare cat mai precisa a unghiului de înclinare. IMU

ofera masuratori foarte rapide �i precise, dar este relativ scump �i necesita o filtrare avansata

ca urmare a măsurătorilor sale zgomotoase.

Page 17: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

17

Accelerometrul

Fig. 12. Accelerometru

Un accelerometru este un dispozitiv care măsoară accelera�ia corespunzătoare.

Accelera�ia proprie măsurată de un accelerometru nu este neapărat coordonata acceleratiei

(rata de schimbare a vitezei). În schimb, accelerometrul vede accelerarea asociata

fenomenului de greutate experimentat de către masa de test in repaus din cadrul de referin�ă

al dispozitivului. De exemplu, un accelerometru în repaus pe suprafa�a pământului va

măsura o acceleratie g = 9.81 m/s2 drept in sus, datorita greută�ii sale. Prin contrast, un

accelerometru în cădere liberă sau în repaus în spa�iul cosmic va măsura zero. Un alt termen

pentru tipul de accelerare ce poate fi masurat de accelerometru este for�a G de accelera�ie.

Accelerometrele au multiple aplica�ii în industrie �i �tiin�ă. Accelerometre extrem

de sensibile sunt componente ale sistemelor de navigatie iner�iale pentru avioane �i rachete.

Accelerometrele sunt folosite pentru a detecta si monitoriza vibra�iile în ma�ini rotative.

Accelerometrele sunt utilizate în tablete �i camere digitale, astfel încât imaginea de pe ecran

sa fie afi�ata întotdeauna în pozi�ie verticală.

Modelele de accelerometre cu o singura axa �i multi-axa sunt disponibile pentru a

detecta magnitudinea �i direc�ia de accelera�ie corespunzătoare (sau forta g) ca o mărime

vectorială �i pot fi folosite pentru a sesiza orientarea (deoarece direc�ia greutatii se

modifica), accelera�ia de coordonate ( atât timp cât produce forta G sau o schimbare în forta

G), vibra�ii, �ocuri, �i caderea într-un mediu care opune rezistenta (un caz în care se

modifica accelera�ia corespunzătoare, deoarece aceasta începe de la zero, apoi cre�te).

Accelerometrele microprelucrate sunt prezente tot mai mult în dispozitive electronice

portabile �i controlere de jocuri video, pentru a detecta pozi�ia dispozitivului sau ofera un

mijloc de control a jocului.

Page 18: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

18

Perechi de accelerometre distribuite pe o regiune a spa�iului pot fi folosite pentru a

detecta diferen�e (gradien�i) în accelera�iile corespunzătoare ale cadrelor de referin�a

asociate acestor puncte. Aceste dispozitive sunt numite gradiometre de gravita�ie, deoarece

acestea măsoară pante în câmpul gravita�ional. Astfel de perechi de accelerometre, în teorie,

pot fi utilizate de asemenea pentru a detecta posibile valuri gravitationale.

Conceptual, un accelerometru se comportă ca o masă amortizată pe un arc. Când

accelerometrul sesizeaza o acceleratie masa este deplasata până la punctul in care resortul este

capabil de a accelera masa în acela�i ritm ca �i carcasa. Deplasarea este apoi măsurată

pentru a da valoarea accelera�iei.

La dispozitivele comerciale sunt utilizate în mod obi�nuit componente piezoelectrice,

piezorezistive �i capacitive pentru a converti mi�carea mecanică într-un semnal electric.

Accelerometrele piezoelectrice se bazează pe piezoceramice (de exemplu, titanat-zirconat de

plumb) sau cristale (cuart, turmalina). Ele sunt de neegalat în ceea ce prive�te gama lor

superioara de frecven�ă, greutate redusă �i intervalul de temperatură ridicat.

Accelerometrele piezorezistive sunt preferate în aplica�iile pentru socuri puternice.

Accelerometrele capacitive folosesc de obicei un element de siliciu micro-prelucrat pe post de

senzor. Performan�a lor este superioară în intervalul de frecven�ă joasă �i acestea pot fi

operate în modul servo pentru a atinge stabilitate ridicată �i liniaritate.

Accelerometre moderne sunt adesea sistemele micro electro-mecanice (MEMS) �i sunt într-

adevăr cele mai simple dispozitive MEMS, compuse din mai mult decât o articulatie cu o

masa de referinta (cunoscuta sub numele de masă seismică). Rezultatele sunt amortizate de

gazul rezidual incapsulat în dispozitiv. Atâta timp cât factorul de calitate nu este prea scăzut,

amortizarea nu are ca rezultat o sensibilitate mai mică.

Sub influen�a accelera�iei externe masa de referinta deviaza de la pozi�ia sa neutră.

Această deformare se măsoară într-un mod analogic sau digital. Cel mai frecven este măsurată

capacitatea dintre un set de armaturi fixe �i un set de armaturi ata�ate masei de referinta.

Această metodă este simplă, sigura �i ieftina. Integrarea piezoresistorilor pentru a detecta

deformarea resorturilor �i astfel deviatia, este o alternativă bună, de�i sunt necesari câ�iva

pa�i de proces in plus în cadrul secven�ei de fabricatie. Pentru sensibilitate foarte mare

poate fi de asemenea utilizat efectul cuantic, insa acest lucru necesită un proces dedicat ceea

ce il face foarte scump. Măsurarea optică a fost demonstrată in laborator.

In urma plasarii unui accelerometru in campul gravitational, acesta detecteaza

acceleratia gravitationala si astfel poate fi dedus cu usurinta unghiul de inclinare si orientarea

acceleratiei Pamantului. Atunci cand una din axele accelerometrului este exact perpendiculara

pe suprafata Pamantului, dispozitivul va inregistra valoarea 1g.

Page 19: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

19

Fig. 13. Detectia acceleratiei gravitationale

Cele mai multe accelerometre micromecanice operează în plan, prin urmare acestea

sunt concepute pentru a fi sensibile numai la o direc�ie în plan. Prin integrarea a două

dispozitive perpendiculare pe o singură matri�ă poate fi realizat un accelerometru cu două

axe. Prin adăugarea unui dispozitiv suplimentar cu axa in afara planului celor doua pot fi

măsurate trei axe. O astfel de combina�ie poate avea eroarea de nealiniere mult mai mica

decât daca cele trei module ar fi combinate ulterior in afara carcasei.

Accelerometrele micromecanice sunt disponibile intr-o mare varietate de intervale de

măsurare, ajungând până la mii de de g. Proiectantul trebuie să facă un compromis între

sensibilitate �i accelera�ia maximă care poate fi măsurată.

Giroscopul

Un giroscop este un dispozitiv pentru măsurarea sau men�inerea orientarii, bazat pe

principiile momentului cinetic. Din punct de vedere mecanic, un giroscop este o roata in

miscare sau un disc al carui ax este liber să aiba orice orientare. De�i această orientare nu

rămâne fixă, se schimbă ca răspuns la un cuplu extern mult mai pu�in �i într-o direc�ie

diferită decât ar fi fără a avea un moment cinetic mare asociat unei viteze mari de rota�ie si

fara momentul de iner�ie al discului. Orientarea aparatului rămâne aproape fixa, independent

de deplasarea platformei pe care se afla montat, pentru că montarea dispozitivului într-o

articulatie cardanica minimizează cuplul exterior.

Există, de asemenea, giroscoape bazate pe alte principii de func�ionare, cum ar fi

dispozitive electronice giroscop MEMS ce se utilizeaza în dispozitivele electronice de larg

consum, cu inele de laser, giroscoape cu fibra optica si giroscoape cuantice extrem de

sensibile.

Aplicatii ale giroscoapelor sunt si sistemele de naviga�ie iner�iale unde busolele

magnetice nu ar func�iona (ca �i în telescopul Hubble) sau nu ar fi suficient de precisă (ca în

ICBM) sau pentru stabilizarea vehiculelor zburatoare, cum ar fi elicoptere controlate radio sau

Page 20: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

20

vehiculele aeriene fără pilot. Datorită preciziei acestora, giroscoapele sunt, de asemenea,

utilizate în giro-teodolit pentru a men�ine direc�ia de minerit in tunel.

4.1.2. Senzorul infraro�u

Fig. 14. Senzor infrarosu

Pot fi utilizati senzori infrarosu pentru a sesiza înclinarea robotului prin citirea

distantei fata de sol între două seturi de senzori aflati pe sasiul robotului si pozitionati în jos,

unul ata�at în fa�ă �i celalalt in partea din spate a robotului. Senzorii infraro�u sunt foarte

ieftini �i u�or de folosit, dar pot sesiza numai direc�ia de înclinare �i îinclinarea

aproximativă în loc de unghiul de înclinare exact. Răspunsul său este lent în compara�ie cu

IMU. Mai mult, acestia au nevoie de o suprafa�ă de podea netedă �i plană pentru a reflecta

în mod corespunzător.

4.1.3. Poten�iometrul

Poten�iometrul poate fi folosit pentru a sesiza inclinarea robotului prin ata�area unei

tije ce atinge solul la celalalt capat. Când robotul se înclină tija va rotiti butonul

potentiometrului schimband rezisten�a si astfel se schimbă căderea de tensiune pe aceasta.

Unghiul de înclinare poate fi determinat aproximativ prin compararea tensiunii actuale cu

tensiunea atunci cand inclinarea este de 0°. Este foarte simplu �i foarte ieftin, dar răspunsul

este foarte lent. Acest nu este foarte precis deoarece apar schimbări ale rezistentei o data cu

temperatura. Tija poate ingreuna de asemenea mi�carea robotului.

4.1.4. Înclinometrul

Un înclinometru sau clinometru este un instrument care masoara unghiul sau panta, inclinarea sau declinarea unui obiect in raport cu gravitatia. De asemenea, este cunoscut ca un masurator de înclinare, indicator de înclinare, alerta de panta, marime a pantei, masurator al gradientului, gradiometru, indicator de nivel si declinometru. Inclinometrul masora ambele pante: inclinarile (pantele pozitive, a�a cum sunt văzute de un observator care priveste de sus) �i declinarile (pantele negative, a�a cum sunt văzute de un observator care priveste de

Page 21: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

jos), folosind unită�i diferite de măsură: grade sau procente. Astrolaburilecare au fost folosite pentru navigarea

Alegerea senzorului

După o analiza comparativa

În primul rând, senzorul infraro

real �i răspunsul lor este lent în com

motoare de viteza mare si de

rând măsurătorile zgomotoase

accelerometrului �i ale giroscopulu

mai mare dintre cele trei.

4.2. Fltrarea datelor achizi�

4.2.1. Fltrul complementar

Filtrul complementar actioneaza prin efectuarea unui filtraj cu pondere mai mica

pentru datele masurate de catre accelerometru si un filtraj cu pondere mai mare pentru datele

achizitionate de giroscop care implica practic calcule de mediere a valorilor celor doi senzori.

O astfel de metoda da rezultate satisfacatoare oferind un reglaj bun

medierii, lucru care produce întârzieri.

Mai mult, acesta neglijează

compensatii ale referintei în cazul în care

4.2.2. Fltrul Kalman

Filtrul Kalman, de asemenea c

este un algoritm care utilizează o serie de măsurători observate în timp, care con

(varia�ii aleatorii) sau alte inexactită�i �i produce estimări ale vaiab

tind să fie mai precise decât cele bazate pe o singură măsurare. Mai formal, filtrul Kalman

func�ionează recursiv pe fluxuri de date de intrare zgomotoase pentru a produce o estimare

rite de măsură: grade sau procente. Astrolaburile sunt inclinometre care au fost folosite pentru navigarea �i localizarea obiectelor astronomice.

După o analiza comparativa, IMU a fost ales pentru detectarea unghiului de înclinare.

imul rând, senzorul infraro�u cat �i poten�iometrul nu pot sesiza unghiul de înclinare

�i răspunsul lor este lent în compara�ie cu IMU. Pentru a compensa

cuplu ridicat, care costa mai mult de IMU singur. În al doilea

zgomotoase ale IMU pot fi filtrate ulterior combinând

scopului. In al treilea rand, IMU are rezolu�ie de 0.1

�ionate

Filtrul complementar actioneaza prin efectuarea unui filtraj cu pondere mai mica

asurate de catre accelerometru si un filtraj cu pondere mai mare pentru datele

achizitionate de giroscop care implica practic calcule de mediere a valorilor celor doi senzori.

O astfel de metoda da rezultate satisfacatoare oferind un reglaj bun, dar lent d

întârzieri.

Fig. 15. Filtru complementar

neglijează tendinta giroscopului, ceea ce poate provoca mari

în cazul în care tendinta giroscopului se modfica.

Filtrul Kalman, de asemenea cunoscut sub numele de estimator pătratic liniar (LQE),

este un algoritm care utilizează o serie de măsurători observate în timp, care con

�ii aleatorii) sau alte inexactită�i �i produce estimări ale vaiabilelor necunoscute, care

tind să fie mai precise decât cele bazate pe o singură măsurare. Mai formal, filtrul Kalman

�ionează recursiv pe fluxuri de date de intrare zgomotoase pentru a produce o estimare

sunt inclinometre

IMU a fost ales pentru detectarea unghiului de înclinare.

t sesiza unghiul de înclinare

IMU. Pentru a compensa sunt necesare

e IMU singur. În al doilea

combinând masuratorile

de 0.1°, fiind cea

Filtrul complementar actioneaza prin efectuarea unui filtraj cu pondere mai mica

asurate de catre accelerometru si un filtraj cu pondere mai mare pentru datele

achizitionate de giroscop care implica practic calcule de mediere a valorilor celor doi senzori.

, dar lent din cauza

ului, ceea ce poate provoca mari

pătratic liniar (LQE),

este un algoritm care utilizează o serie de măsurători observate în timp, care con�in zgomot

ilelor necunoscute, care

tind să fie mai precise decât cele bazate pe o singură măsurare. Mai formal, filtrul Kalman

�ionează recursiv pe fluxuri de date de intrare zgomotoase pentru a produce o estimare

Page 22: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

optimala statistica a starii de la baza sistemul

Kálmán, unul dintre dezvoltatorii principali ai teoriei sale.

Filtrul Kalman are numeroase aplica

orientare, navigare �i control

filtrul Kalman este un concept aplicat pe scară largă în analiza seriilor de timp utilizate în

domenii cum ar fi procesare a semnalelor

Algoritmul are la baza un proces în două

produce estimări ale variabilelor actuale de stare, împreună cu incertitudinile lor. Odată

rezultatul măsurării următoare (în mod necesar alterat cu o anumită eroare, inclusi

aleator) se observă ca aceste estimări sunt actualizate folosind o pondere, o insemnatate mai

mare fiind acordată estimării cu certitudine mai mare. Datorita naturii recursive a

algoritmului, acesta poate rula în timp real, folosind doar măsurătorile de intrare curente

starea calculata anterior, nu este necesară o informa

efectuate anterior.

Din punct de vedere teoretic, ipoteza principală a filtrului Kalman este aceea că

sistemul de bază este un sistem dinamic liniar

măsurătorile au o distribu�ie Gaussiană (adesea o distribu�ie Gaussiană multivariata).

Extensii �i generalizări ale metodei au fost de asemenea dezvoltate, cum ar fi filre

Kalman extinse �i filtre Kalman modificate care func�ionează pe

de bază este un model Bayesian similar cu un model Markov ascuns, dar în care starea

spatiului de variabile latente este continuă

distribu�ie Gaussiană.

Toate măsurătorile �i calcul

Datele zgomotoase oferite de senzori, aproximările în ecua

schimbă sistemul �i factorii externi nu sunt luati in considerare pentru a introduce o anumită

optimala statistica a starii de la baza sistemului. Filtrul este numit dupa Rudolf (Rudy) E.

Kálmán, unul dintre dezvoltatorii principali ai teoriei sale.

Fig. 16. Algoritm filtru Kalman

Filtrul Kalman are numeroase aplica�ii în tehnologie. O aplica�ie comună este de

�i control al vehiculelor, în special aeronave �i nave spa�iale. Mai mult,

filtrul Kalman este un concept aplicat pe scară largă în analiza seriilor de timp utilizate în

domenii cum ar fi procesare a semnalelor �i econometrie.

Algoritmul are la baza un proces în două etape. În etapa de predic�ie, filtrul Kalman

produce estimări ale variabilelor actuale de stare, împreună cu incertitudinile lor. Odată

rezultatul măsurării următoare (în mod necesar alterat cu o anumită eroare, inclusi

aceste estimări sunt actualizate folosind o pondere, o insemnatate mai

mare fiind acordată estimării cu certitudine mai mare. Datorita naturii recursive a

algoritmului, acesta poate rula în timp real, folosind doar măsurătorile de intrare curente

rea calculata anterior, nu este necesară o informa�ie suplimentară din celelate masuratori

Din punct de vedere teoretic, ipoteza principală a filtrului Kalman este aceea că

sistemul de bază este un sistem dinamic liniar �i că toate condi�iile de eroare �i

�ie Gaussiană (adesea o distribu�ie Gaussiană multivariata).

�i generalizări ale metodei au fost de asemenea dezvoltate, cum ar fi filre

�i filtre Kalman modificate care func�ionează pe sisteme neliniare. Modelul

de bază este un model Bayesian similar cu un model Markov ascuns, dar în care starea

spatiului de variabile latente este continuă �i toate variabilele latente si observabile au

�i calculele bazate pe modele sunt estimări cu un anumit grad.

Datele zgomotoase oferite de senzori, aproximările în ecua�iile care descriu modul în care se

�i factorii externi nu sunt luati in considerare pentru a introduce o anumită

ui. Filtrul este numit dupa Rudolf (Rudy) E.

�ii în tehnologie. O aplica�ie comună este de

�i nave spa�iale. Mai mult,

filtrul Kalman este un concept aplicat pe scară largă în analiza seriilor de timp utilizate în

�ie, filtrul Kalman

produce estimări ale variabilelor actuale de stare, împreună cu incertitudinile lor. Odată cu

rezultatul măsurării următoare (în mod necesar alterat cu o anumită eroare, inclusiv zgomotul

aceste estimări sunt actualizate folosind o pondere, o insemnatate mai

mare fiind acordată estimării cu certitudine mai mare. Datorita naturii recursive a

algoritmului, acesta poate rula în timp real, folosind doar măsurătorile de intrare curente �i

�ie suplimentară din celelate masuratori

Din punct de vedere teoretic, ipoteza principală a filtrului Kalman este aceea că

�iile de eroare �i

�ie Gaussiană (adesea o distribu�ie Gaussiană multivariata).

�i generalizări ale metodei au fost de asemenea dezvoltate, cum ar fi filre

sisteme neliniare. Modelul

de bază este un model Bayesian similar cu un model Markov ascuns, dar în care starea

�i toate variabilele latente si observabile au

ele bazate pe modele sunt estimări cu un anumit grad.

�iile care descriu modul în care se

�i factorii externi nu sunt luati in considerare pentru a introduce o anumită

Page 23: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

23

incertitudine cu privire la valorile deduse despre starea unui sistem. Filtrul Kalman atinge

ofera o predic�ie a stării unui sistem cu o nouă măsurare folosind o medie ponderată. Scopul

ponderilor este ca valorile cu incertitudinea estimata mai mica sunt considerate mai sigure.

Ponderile sunt calculate din covarian�ă, o măsură a incertitudinii predictiei estimate a stării

sistemului. Rezultatul mediu ponderat este o noua estimare a starii, care se află între starea

prezisa �i măsurata �i are o incertitudine mai buna decat a celor doua stari luate separat.

Acest proces se repetă la fiecare pas, cu noua estimare �i covarian�a informand predic�ia

utilizata în următoarea itera�ie. Acest lucru înseamnă că filtrul Kalman functioneaza recursiv

�i necesită doar ultima cea mai buna apreciere mai degrabă, decât întreaga istorie de stari a

sistemului pentru a calcula o noua stare.

Deoarece certitudinea măsurătorilor este de multe ori dificila de estimat, este de inteles

tratarea comportamentul filtrului din punct de vedere al câ�tigului. Câ�tigul filtrului Kalman

este o func�ie de siguran�ă relativa a măsurătorilor �i de estimare a stadiul actual, prin

urmare poate fi reglat pentru a ob�ine o performan�ă cat mai buna. Cu un câ�tig mare,

filtrul pune mai mult accent pe măsurători �i astfel le urmareste mai indeaproape. Cu un

câ�tig mic, filtrul urmareste predictiile modelului mai îndeaproape, netezind zgomotul, dar îi

scade sensibilitatea. La extreme, un câ�tig unitar determina filtrul sa ignore complet

estimarea starii, în timp ce un castig nul va determina ignorarea măsurătorilor. La efectuarea

calculelor actuale pentru filtrul Kalman starea estimata �i covarian�ele sunt codificate în

matrici pentru a ocupa multiplele dimensiuni implicate într-un singur set de calcule. Acest

lucru permite o reprezentare a rela�iilor liniare între diferite variabile de stare (cum ar fi

pozi�ia, viteza �i accelera�ia) în oricare dintre modelele de tranzitie sau covarian�e.

Alegerea filtrului

In urma comparatiei celor doua tipuri de filtrare atat din punct de vedere teoretic dar si

in urma testelor experimentale am decis utilizarea filtrului Kalman pentru prelucrarea datelor

achizitionate de catre senzori.

Dezavantajul filtrului Kalman este că acesta trebuie să fie reglat corespunzător înainte

de a putea fi implementat într-un sistem �i nu există nici o metodă fixa de reglaj disponibila

deoarece este aplicabil pe scară largă în numeroase domenii. Din aceasta cauza reglajul

acestuia a necesitat numeroase incercari si teste pana am ajuns la valori optime ale

parametrilor de reglare.

4.3. Metoda de detecţie a vitezei de deplasare

Pentru a cunoaste in timp real situatia in care se fla robotul, respectiv date despre

viteza de deplasare, viteza de rotatie a motoarelor este absolut necesar sa avem acces rapid la

aceste variabile in vederea adaptarii si actualizarii comportamentului robotului.

Page 24: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

24

4.3.1. Codificatorul rotativ

Fig. 17. Codificator rotativ

Codificatorul rotativ masoara viteza motorului cu ajutorul unui senzor infraro�u �i

unui disc rotativ cu fante. Discul rotativ trebuie să fie instalat pe parte mobila a motorului.

Este o alternativa ieftina �i poate detecta viteza motorului in timp real. Precizia acestuia este

data de numarul de fante ale discului. Dezavantajul este acela ca nu se cunoaste sensul de

rotatie.

4.3.2. Codificatorul în cuadratură

Fig. 18. Semnal codificator in cuadratură

Codificatorul in cuadratura detecteaza viteza motorului prin utilizarea a doi senzori magnetici pentru a măsura viteza de rota�ie a ro�ii de referinta. Ie�irea sa este în formă de impulsuri. Principiul se aseamana cu cel al codificatorului rotativ, insa poate detecta si sensul. Se poate detecta viteza in timp real a motorului, dar �i consumă multe cicluri de calcul dinviteza procesorului.

Page 25: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

25

4.3.3. Feedback-ul câmpului electromagnetic

Metoda feedback-ului campului electromagnetic generat de motor se bazeaza pe

detectia propriului camp electromagnetic generate de motorul de curent continuu, care este

propor�ional cu viteza motorului, prin oprirea motorului pentru o durată scurtă de timp. Prin

urmare, astfel se reduce viteza maximă a motorului. Această metodă este la indemana si

aplicabila pe orice tip de motor de curent continuu fara a aduce modificari acestuia, dar se

poate simti doar reprezentarea magnitudinii vitezei cu ajutorul metodei, nu si sensul de rotatie.

Principiul are la baza fenomenul de autoinductie si se realizeaza practic prin monitorizarea

tensiunii la bornele motorului.

Alegerea metodei de detecţie a vitezei

Dupa compararea alternativelor pentru detectarea vitezei de deplasare am considerat

ca find cel mai potrivit codificatorul in cuadratura deoarece pe langa precizia mare de detectie

a vitezei de rotatie poate detecta si sensul de rotatie al motoarelor. Sensul de rotatie fiind un

aspect foarte important in cadrul unui astfel de proiect.

4.4. Algoritmul de control

Un rol dosebit de important in controlul unui robot autonom cu autoechilibrare il

ocupa algoritmul principal de control al sistemului deoarece acesta sta la baza principiului de

autobalansare.

4.4.1. Controlul cu logica Fuzzy

Fig. 19. Tabel de control logica Fuzzy

Un controler cu logica Fuzzy este un controller care utilizeaza logica Fuzzy pentru a

determina un cursul unei ac�iuni. Calculul ac�iunii de control este compus din patru etape:

scalarea intrarii �i reprofilarea, fuzificarea, inferenta fuzzy �i defuzificarea. În scalarea

intrarii �i reprofiare, intrările sistemului pot fi prelucrate �i scalate corespunzător. În etapa

de fuzificare, intrările actualizate sunt apoi convertite în valori fuzzy. După inferen�a fuzzy,

Page 26: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

o ac�iune adecvata de control este determinat

stabilite anterior. În cele din urmă, ie

Pentru implementarea

stari multiple care sa ia in considerare cel putin doua seturi de valori furnizate de senzori

datorita complexitatii si instabilitatii ridicate a sistemului.

4.4.2. Regulatorul PID

Un regulator propor�ional

al buclei de feedback, utilizat pe scară largă în sistemele de control industrial. Un controler

PID calculează o valoare a "erorii" ca diferen

valoarea de referin�ă dorită.

intrărilor de controlul ale procesului.

Algoritm de calcul al regulatorului PID implică trei parametri constanti diferiti

consecin�ă, este uneori numit control cu trei termen

derivat, notate P, I �i D. Mai exact, aceste valori pot fi interpretate în termeni de tim

depinde de eroarea prezenta, I de acumularea de erori din trecut, iar D este o predi

erorilor viitoare, în func�ie de rata actuală de schimbare. Suma ponderată a acestor trei

ac�iuni este utilizata pentru a regla un proces prin intermediul controlului unui element

precum pozi�ia unei vane de reglare, un amortizor sau puterea furniza

încălzire.

În absen�a cunoa�terii procesului ce sta la baza sistemului, regulatorul PID a fost

considerat inca din trecut drept fiind cel mai bun regulator. Prin ajustarea celor trei parametri

în algoritmul regulatorului PID,

pentru cerin�ele specifice ale unui proces. Răspunsul regulatorului poate fi descris ca fiind

raspunsul la o eroare al controlerului, gradul în care regulatorul se abate de la valorea de

de control este determinata de căutarea in cadrul unui tabel a regulii

anterior. În cele din urmă, ie�irea determinista este definită în etapa de

Pentru implementarea unui astfel de algoritm este necesara definirea unei matrici cu

stari multiple care sa ia in considerare cel putin doua seturi de valori furnizate de senzori

datorita complexitatii si instabilitatii ridicate a sistemului.

�ional-integral-derivat (PID) este un mecanism generic de control

al buclei de feedback, utilizat pe scară largă în sistemele de control industrial. Un controler

PID calculează o valoare a "erorii" ca diferen�ă între variabila de proces măsurată �i

�ă dorită. Regulatorul încearcă să minimizeze eroarea prin ajustarea

intrărilor de controlul ale procesului.

Fig. 20. Algoritm PID

Algoritm de calcul al regulatorului PID implică trei parametri constanti diferiti

ste uneori numit control cu trei termeni: termenul proportional

�i D. Mai exact, aceste valori pot fi interpretate în termeni de tim

depinde de eroarea prezenta, I de acumularea de erori din trecut, iar D este o predi

�ie de rata actuală de schimbare. Suma ponderată a acestor trei

�iuni este utilizata pentru a regla un proces prin intermediul controlului unui element

�ia unei vane de reglare, un amortizor sau puterea furnizată unui element de

�a cunoa�terii procesului ce sta la baza sistemului, regulatorul PID a fost

considerat inca din trecut drept fiind cel mai bun regulator. Prin ajustarea celor trei parametri

în algoritmul regulatorului PID, algoritmul poate oferi control asupra actiunii proiectate

�ele specifice ale unui proces. Răspunsul regulatorului poate fi descris ca fiind

raspunsul la o eroare al controlerului, gradul în care regulatorul se abate de la valorea de

cadrul unui tabel a regulii

de defuzificare.

necesara definirea unei matrici cu

stari multiple care sa ia in considerare cel putin doua seturi de valori furnizate de senzori

derivat (PID) este un mecanism generic de control

al buclei de feedback, utilizat pe scară largă în sistemele de control industrial. Un controler

�ă între variabila de proces măsurată �i

Regulatorul încearcă să minimizeze eroarea prin ajustarea

Algoritm de calcul al regulatorului PID implică trei parametri constanti diferiti �i, în

termenul proportional, integral �i

�i D. Mai exact, aceste valori pot fi interpretate în termeni de timp: P

depinde de eroarea prezenta, I de acumularea de erori din trecut, iar D este o predic�ie a

�ie de rata actuală de schimbare. Suma ponderată a acestor trei

�iuni este utilizata pentru a regla un proces prin intermediul controlului unui element

tă unui element de

�a cunoa�terii procesului ce sta la baza sistemului, regulatorul PID a fost

considerat inca din trecut drept fiind cel mai bun regulator. Prin ajustarea celor trei parametri

poate oferi control asupra actiunii proiectate

�ele specifice ale unui proces. Răspunsul regulatorului poate fi descris ca fiind

raspunsul la o eroare al controlerului, gradul în care regulatorul se abate de la valorea de

Page 27: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

referin�ă, precum �i gradul de oscila

algoritmilor PID pentru control nu garantează un control optim al sistemului sau stabilitatea

sistemului.

Unele aplica�ii pot necesita folosirea uneia sau a două ac�iuni pentru a ofe

controlul adecvat al sistemului. Acest lucru se realizează prin ajustarea celorlal

zero. Un regulator PID va fi numit un regulator PI, PD, P sau I în absen

control respective. Regulatoarele PI sunt destul de comune, deoare

sensibila la zgomotul de măsurare, în timp ce absen

sistemul să atingă valoarea sa optimă, datorită ac

Sistemul de control PID este numit după cele trei termeni corectare,

reprezintă variabila manipulată (MV). Termenii propor

însumate pentru a calcula Ie

forma finală a algoritmului PID este:

Unde:

: Câ�tig propor�ional, un parametru de tuning

: Câ�tig integral, un parametru de tuning

: Câ�tig derivat, un parametru de tuning

: Eroare

: Timp sau timp instant (

: Variabilă de integrare, ia valori de la momentul 0 până în prezent

Termenul propor�ional

Termenul propor�ional produce o valoare de ie�ire

valoarea de eroare actuala. Răspunsul propor

o constantă Kp, numită constanta

Termenul propor�ional

Un câ�tig propor�ional mare are drept consecinta o schimbare majora a ie�ir

anumita schimbare a erorii. În cazul în care câ

poate deveni instabil. In contrast, un câ

la o eroare de intrare mare �i un regulator mai putin receptiv sau mai pu�in sensibile. În

cazul în care câ�tigul propor�ional este prea mic, ac�iunea de control poate fi prea mica

atunci când răspunde la perturbat

faptul că termenul propor�ional ar trebui să contribuie in cea mai mare masura la modificarea

ie�irii.

Termenul integral

gradul de oscila�ie al sistemului. De remarcat este faptul ca utilizarea

algoritmilor PID pentru control nu garantează un control optim al sistemului sau stabilitatea

�ii pot necesita folosirea uneia sau a două ac�iuni pentru a ofe

controlul adecvat al sistemului. Acest lucru se realizează prin ajustarea celorlal

zero. Un regulator PID va fi numit un regulator PI, PD, P sau I în absen�a ac�iunilor de

control respective. Regulatoarele PI sunt destul de comune, deoarece ac�iunea derivata este

sensibila la zgomotul de măsurare, în timp ce absen�a unui termen integrant poate împiedica

sistemul să atingă valoarea sa optimă, datorită ac�iunii de control.

Sistemul de control PID este numit după cele trei termeni corectare,

reprezintă variabila manipulată (MV). Termenii propor�ionale, complete, �i derivat sunt

însumate pentru a calcula Ie�irea controlerului PID. Definirea ca ie�irea regulatorului,

forma finală a algoritmului PID este:

�ional, un parametru de tuning

�tig integral, un parametru de tuning

�tig derivat, un parametru de tuning

Timp sau timp instant (prezent)

Variabilă de integrare, ia valori de la momentul 0 până în prezent

�ional

�ional produce o valoare de ie�ire care este propor

Răspunsul propor�ional poate fi ajustat prin înmul

, numită constanta de câ�tig propor�ional.

�ional este dat de:

�tig propor�ional mare are drept consecinta o schimbare majora a ie�ir

rii. În cazul în care câ�tigul propor�ional este prea mare, sistemul

poate deveni instabil. In contrast, un câ�tig mic are drept consecinta un răspuns de ie

�i un regulator mai putin receptiv sau mai pu�in sensibile. În

�tigul propor�ional este prea mic, ac�iunea de control poate fi prea mica

atunci când răspunde la perturbatiile sistemului. Teoria reglarii �i practica industrială indică

�ional ar trebui să contribuie in cea mai mare masura la modificarea

�ie al sistemului. De remarcat este faptul ca utilizarea

algoritmilor PID pentru control nu garantează un control optim al sistemului sau stabilitatea

�ii pot necesita folosirea uneia sau a două ac�iuni pentru a oferi

controlul adecvat al sistemului. Acest lucru se realizează prin ajustarea celorlal�i parametri la

�a ac�iunilor de

�iunea derivata este

�a unui termen integrant poate împiedica

Sistemul de control PID este numit după cele trei termeni corectare, a căror sumă

�ionale, complete, �i derivat sunt

�irea regulatorului,

.

care este propor�ională cu

i ajustat prin înmul�irea erorii cu

�tig propor�ional mare are drept consecinta o schimbare majora a ie�irii la o

�tigul propor�ional este prea mare, sistemul

drept consecinta un răspuns de ie�ire mic

�i un regulator mai putin receptiv sau mai pu�in sensibile. În

�tigul propor�ional este prea mic, ac�iunea de control poate fi prea mica

�i practica industrială indică

�ional ar trebui să contribuie in cea mai mare masura la modificarea

Page 28: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

Contribu�ia termenului integrant este propor�ională atât în magnitudin

�i în durata erorii. Termenul integral într

timp �i rezulta diferen�a acumulata care ar fi fost corectata anterior. Eroare acumulata este

apoi multiplicată cu un câ�tig integral (

Termenul integral este dat de:

Termenul integral accelerează mi

�i elimina eroarea reziduală a starii de echilibru, care apare cu un regulator strict

propor�ional. Cu toate acestea, deoarece termenul integrant răspunde la erorile acumulate

anterior, se poate determina ca valoarea actualizată sa depă

Termenul derivativ

Derivata erorii din proces este calculata prin determinarea pantei de eroare în ti

înmul�ind această rata de variatie cu derivata câ�tigului

termenului derivat la ac�iunea de control general este determinata de câ�tigul derivatei,

Termenul derivat este dat de:

Ac�iune derivatei prezice

timpul tranzitoriu si stabilitatea sistemului. Cu toate acestea, ac

utilizata în practică din cauza sensibilitatii sale inerente de zgomot de măsurare. Dacă acest

zgomot este destul de sever, ac

performanta controlului. Schimbările mari, bru

atunci când punctul de setare este schimbat) determina o ac

rezultă din termenul derivat si poarte numele de lovitura a derivatei. Această problemă poate

fi ameliorata intr-o oarecare masura dacă eroarea măsurată este trecuta printr

jos liniar sau un filtru median neliniar, dar simplu.

In general stabilizarea raspunsului sistemului este necesara si procesul nu trebuie sa

oscileze pentru nicio combinatie a conditiilor initiale, desi uneori stabilitatea marginala este

acceptata. Comportamentul optimal al regulatorului variaza odata cu tipul de proces. D

cerinte sunt impuse in acest caz: reglarea (rejectia perturbatiilor

referinta) si urmarirea comenzii (actualizarea schimbarii referintei). Pot fi impuse criterii

specifice de urmarire a comenzii precum timpul tranzitoriu si

Alegerea algoritmului

Pentru realizarea controlului comportamentului robotului am ales utilizarea unui

regulator PID si ajustarea valorilor

de-a lungul efectuarii testelor. Chiar daca structura sa este destul de simpla, un regulator PID

nu este usor de reglat, mai ales in cazul in care se doreste un grad ridicat de stabilitate. Iesirea

�ia termenului integrant este propor�ională atât în magnitudin

�i în durata erorii. Termenul integral într-un regulator PID este suma erorii instantanee în

�i rezulta diferen�a acumulata care ar fi fost corectata anterior. Eroare acumulata este

�tig integral ( ) �i se adaugă la ie�irea regulatorului.

Termenul integral este dat de:

Termenul integral accelerează mi�carea a procesului fa�ă de valoarea de referin�ă

�i elimina eroarea reziduală a starii de echilibru, care apare cu un regulator strict

stea, deoarece termenul integrant răspunde la erorile acumulate

anterior, se poate determina ca valoarea actualizată sa depă�easca valoarea de referin�ă.

Derivata erorii din proces este calculata prin determinarea pantei de eroare în ti

�ind această rata de variatie cu derivata câ�tigului Kd. Amploarea contribu

�iunea de control general este determinata de câ�tigul derivatei,

Termenul derivat este dat de:

�iune derivatei prezice comportamentul sistemului �i, astfel, îmbunătă�e�te

timpul tranzitoriu si stabilitatea sistemului. Cu toate acestea, ac�iunea derivatei este rar

utilizata în practică din cauza sensibilitatii sale inerente de zgomot de măsurare. Dacă acest

ul de sever, ac�iunea derivatei va fi neregulata �i va degrada de fapt

performanta controlului. Schimbările mari, bru�te în eroarea măsurata (care apar de obicei

atunci când punctul de setare este schimbat) determina o ac�iune de control brusc, mare care

ezultă din termenul derivat si poarte numele de lovitura a derivatei. Această problemă poate

o oarecare masura dacă eroarea măsurată este trecuta printr

jos liniar sau un filtru median neliniar, dar simplu.

bilizarea raspunsului sistemului este necesara si procesul nu trebuie sa

oscileze pentru nicio combinatie a conditiilor initiale, desi uneori stabilitatea marginala este

acceptata. Comportamentul optimal al regulatorului variaza odata cu tipul de proces. D

cerinte sunt impuse in acest caz: reglarea (rejectia perturbatiilor – mentinerea unei valori de

referinta) si urmarirea comenzii (actualizarea schimbarii referintei). Pot fi impuse criterii

specifice de urmarire a comenzii precum timpul tranzitoriu si timpul de stabilizare.

Pentru realizarea controlului comportamentului robotului am ales utilizarea unui

valorilor parametrilor de calcul (proportional, integral, derivativ)

a lungul efectuarii testelor. Chiar daca structura sa este destul de simpla, un regulator PID

nu este usor de reglat, mai ales in cazul in care se doreste un grad ridicat de stabilitate. Iesirea

�ia termenului integrant este propor�ională atât în magnitudinea erorii cat

un regulator PID este suma erorii instantanee în

�i rezulta diferen�a acumulata care ar fi fost corectata anterior. Eroare acumulata este

�irea regulatorului.

�carea a procesului fa�ă de valoarea de referin�ă

�i elimina eroarea reziduală a starii de echilibru, care apare cu un regulator strict

stea, deoarece termenul integrant răspunde la erorile acumulate

�easca valoarea de referin�ă.

Derivata erorii din proces este calculata prin determinarea pantei de eroare în timp �i

. Amploarea contribu�iei

�iunea de control general este determinata de câ�tigul derivatei, Kd.

�i, astfel, îmbunătă�e�te

�iunea derivatei este rar

utilizata în practică din cauza sensibilitatii sale inerente de zgomot de măsurare. Dacă acest

�iunea derivatei va fi neregulata �i va degrada de fapt

�te în eroarea măsurata (care apar de obicei

�iune de control brusc, mare care

ezultă din termenul derivat si poarte numele de lovitura a derivatei. Această problemă poate

o oarecare masura dacă eroarea măsurată este trecuta printr-un filtru trece-

bilizarea raspunsului sistemului este necesara si procesul nu trebuie sa

oscileze pentru nicio combinatie a conditiilor initiale, desi uneori stabilitatea marginala este

acceptata. Comportamentul optimal al regulatorului variaza odata cu tipul de proces. Doua

mentinerea unei valori de

referinta) si urmarirea comenzii (actualizarea schimbarii referintei). Pot fi impuse criterii

timpul de stabilizare.

Pentru realizarea controlului comportamentului robotului am ales utilizarea unui

de calcul (proportional, integral, derivativ)

a lungul efectuarii testelor. Chiar daca structura sa este destul de simpla, un regulator PID

nu este usor de reglat, mai ales in cazul in care se doreste un grad ridicat de stabilitate. Iesirea

Page 29: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

sistemului poate fi instabila sau poate intra in oscilatii amplificate datorita valorilo

parametrilor. De asemenea ar putea fi utilizat si un algoritm de control hibrid PD

4.5. Comanda motoarelor

Pentru controlul motoarelor este necesara o comanda variabila a vitezei, pe cat se poate de liniara. Viteza motorului este direct proporacestea, reducând tensiunea motorului pentru o turacuplul motorului.

Modularea de tip PWM, se poate folosi pentru a contracara aceasta problema. PWM

func�ionează prin trimiterea unui semnal dreptunghiular pentru pornirea �i oprirea

motorului la o frecven�ă foarte mare în

Motorul primeste maximul de tensiune pentru o perioada de timp ceea ce duce la dezvoltarea

unui cuplu mai mare decât reducerea directa a tensiunii motorului pentru controlul vitezei

Factorul de umplere PWM este propor

de umplere PWM este propor�ional cu viteza motorului.

In vederea schimbarii directie de mers si a sensului de rotatie nu este suficient sa

trimitem doar o comanda PWM modulata in frecv

cazul servomotoarelor. In cadrul acestui proiect ar putea fi utilizate servomotoare pentru ca au

un raspuns rapid dar, in general acestea au puteri destul de mici si implicit

redus.

Puntea H este un circuit electronic

sarcină în orice direcţie. Aceste circuite

a permite motoarelor de curent continuu

ca si circuite integrate, sau pot fi construite din

poate fi instabila sau poate intra in oscilatii amplificate datorita valorilo

De asemenea ar putea fi utilizat si un algoritm de control hibrid PD

Pentru controlul motoarelor este necesara o comanda variabila a vitezei, pe cat se Viteza motorului este direct propor�ională cu tensiunea motorului. Cu toate

acestea, reducând tensiunea motorului pentru o tura�ie mai mică a motorului se

Fig. 21. Comanda PWM

Modularea de tip PWM, se poate folosi pentru a contracara aceasta problema. PWM

�ionează prin trimiterea unui semnal dreptunghiular pentru pornirea �i oprirea

�ă foarte mare în a�a fel încât in realitate motorul sa nu se opreasca .

Motorul primeste maximul de tensiune pentru o perioada de timp ceea ce duce la dezvoltarea

unui cuplu mai mare decât reducerea directa a tensiunii motorului pentru controlul vitezei

re PWM este propor�ional cu tensiunea medie motorului. Astfel, factorul

�ional cu viteza motorului.

In vederea schimbarii directie de mers si a sensului de rotatie nu este suficient sa

trimitem doar o comanda PWM modulata in frecventa sau in factorul de umplere cum este

cazul servomotoarelor. In cadrul acestui proiect ar putea fi utilizate servomotoare pentru ca au

un raspuns rapid dar, in general acestea au puteri destul de mici si implicit dezvolta un cuplu

n circuit electronic care permite unei tensiuni să fie

Aceste circuite sunt adesea folosite în robotică şi alte aplicaţii

motoarelor de curent continuu să ruleze înainte şi înapoi. Puntile H

pot fi construite din componente discrete.

poate fi instabila sau poate intra in oscilatii amplificate datorita valorilor gresite ale

De asemenea ar putea fi utilizat si un algoritm de control hibrid PD-Fuzzy.

Pentru controlul motoarelor este necesara o comanda variabila a vitezei, pe cat se �ională cu tensiunea motorului. Cu toate �ie mai mică a motorului se reduce si

Modularea de tip PWM, se poate folosi pentru a contracara aceasta problema. PWM

�ionează prin trimiterea unui semnal dreptunghiular pentru pornirea �i oprirea

�a fel încât in realitate motorul sa nu se opreasca .

Motorul primeste maximul de tensiune pentru o perioada de timp ceea ce duce la dezvoltarea

unui cuplu mai mare decât reducerea directa a tensiunii motorului pentru controlul vitezei.

cu tensiunea medie motorului. Astfel, factorul

In vederea schimbarii directie de mers si a sensului de rotatie nu este suficient sa

enta sau in factorul de umplere cum este

cazul servomotoarelor. In cadrul acestui proiect ar putea fi utilizate servomotoare pentru ca au

dezvolta un cuplu

să fie aplicata într-o

alte aplicaţii pentru

H sunt disponibile

Page 30: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

Termenul punte H este derivat din

punte H este construita cu patru

întrerupătoare S1 şi S4 (în conformitate cu

deschise), o tensiune pozitivă

întrerupătoarelor S1 şi S4 şi închiderea întrerupătoarelor

inversată , permiţând o operaţie inversă a motorului.

Folosind schema prezentată, întrerupătoarele S1 şi S2 nu trebuiesc niciodată închise în

acelaşi timp, deoarece aceasta ar

aplică şi pentru întrerupătoarele

Regimul de lucru al puntii H

motorului, dar poate de asemenea

ajunge la o oprire bruscă, pentru

permite motorului să meargă în gol

circuit.

Fig. 2

O punte H este construita de obicei utilizand dispozitive de polaritati diferite,

tranzitori PNP sau MOSFET

MOSFET-uri canal N conectate la borna negativa.

Cel mai eficient design MOSF

dar şi pe partea negativa, deoarece acestea au

urilor canal P. Acest lucru necesită

partea superioara trebuiesc alimantate pozitiv cu respectarea polaritatii sursei de tensiune.

Fig. 22. Puntea H

este derivat din reprezentarea grafică a unui astfel de circuit

cu patru switch-uri (solid-state sau mecanice

în conformitate cu prima cifră) sunt închise (S2 şi S3

pozitivă va fi aplicata la nivelul motorului. Prin deschiderea

întrerupătoarelor S1 şi S4 şi închiderea întrerupătoarelor S2 şi S3, această tensiune este

permiţând o operaţie inversă a motorului.

Folosind schema prezentată, întrerupătoarele S1 şi S2 nu trebuiesc niciodată închise în

acelaşi timp, deoarece aceasta ar provoca un scurtcircuit la sursa de tensiune. Ac

ntrerupătoarele S3 si S4.

de lucru al puntii H este, în general, folosit pentru a inversa polaritatea

de asemenea fi folosit pentru a "frana" motorul, în cazul în care

, pentru că terminalele motorului sunt scurtcircuitate

să meargă în gol într-o oprire, ca şi cum motorul ar fi efectiv

Fig. 23. Regimurile de operare ale puntii H

O punte H este construita de obicei utilizand dispozitive de polaritati diferite,

MOSFET-uri canal P conectate la borna pozitiva şi tranzitori

conectate la borna negativa.

Cel mai eficient design MOSFET utilizează MOSFET canal N atât pe partea pozitiva

, deoarece acestea au de obicei o treime din rezistenta

Acest lucru necesită un design mult mai complex, deoarece porttile de pe

trebuiesc alimantate pozitiv cu respectarea polaritatii sursei de tensiune.

a unui astfel de circuit. O

mecanice). Atunci când

S2 şi S3 şi sunt

Prin deschiderea

S2 şi S3, această tensiune este

Folosind schema prezentată, întrerupătoarele S1 şi S2 nu trebuiesc niciodată închise în

. Acelaşi lucru se

inversa polaritatea

în cazul în care motorul

scurtcircuitate, sau pentru a

ar fi efectiv deconectat din

O punte H este construita de obicei utilizand dispozitive de polaritati diferite, cum ar fi

tranzitori NPN sau

atât pe partea pozitiva

rezistenta MOSFET-

, deoarece porttile de pe

trebuiesc alimantate pozitiv cu respectarea polaritatii sursei de tensiune.

Page 31: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

31

O altă metodă pentru conducerea punţilor MOSFET este utilizarea unui transformator

special, cunoscute ca un GDT (Gate Drive Transformer), care oferă iesiri izolate galvanic

pentru conducerea portilor superioare ale MOSFET-urilor. Miezul transformatorului este de

obicei un toroid de ferita, cu raport de înfaşurare 1:1 sau 4:9. Cu toate acestea, această

metodă poate fi utilizată numai cu semnale de înaltă frecvenţă. Designul transformatorului

este, de asemenea, foarte important, deoarece pierderile de camp magnetic trebuiesc

minimizate, sau conducere încrucişată poate avea loc. Trebuiesc montate diode zener la

iesirile transformatorului pentru că vârfurile de curent ar putea distruge jonctiunile

tranzistorilor.

O variantă comună a acestui circuit foloseşte doar doi tranzistori pe o parte a sarcinii,

similar cu un amplificator de clasa AB. O astfel de configuraţie este numită un "o jumatate de

punte". Jumatatea de punte este folosită în unele surse de alimentare care folosesc redresoare

sincrone şi în amplificatoare de comutare. O altă variaţie comună, adăugând un al treilea brat

la punte, creează un invertor cu 3 faze. Invertorul cu 3 faze este baza oricarui motor de curent

alternativ.

O alta varianta este puntea H pe jumatate controlata, în cazul în care unul dintre

dispozitivele de comutare pe borna pozitiva si negativa (pe părţile opuse ale puntii) se

înlocuiesc cu diode. Acest lucru elimină modul de esec al comenzii şi este frecvent utilizat

pentru a comanda masini care pornesc reticent şi elemente de acţionare unde fluxul de curent

bidirectional nu este necesar.

Un releu cu doua randuri de contacte poate atinge, în general, aceeaşi funcţionalitate

din punct de vedere electric ca o punte H (având în vedere funcţia uzuala a dispozitivului). O

punte H ar fi de preferat in schimbul releului deoarece are o dimensiune mai mica, comutare

de mare viteză si tensiune scăzută de conducere, sau în cazul în care nu se doreste utilizarea

unor piese mecanice.

5. Realizarea practica a proiectului “Pendulo Bot”

In urma cercetarii fenomenelor ce stau la baza robotului cu autoechilibrare am trecut la

realizarea fizica a unui astfel de sistem si testarea teoriilor de reglare descrise anterior.

5.1. Proiectul “Pendulo Bot” V1

O prima varianta a acestui proiect a fost robotul “Penduino Bot” V1 cu o inaltime de

20 cm si greutatea de 170g. Acest robot a fost realizat in special pentru intelegerea

functionarii principiului de autoechilibrare si experimentarea a diferiti algoritmi de control in

practica.

In vederea realizarii sasiului acestui robot am utilizat o placa de Comatex de care am

atasat un motor de 3 volti cu un angrenaj cu roti dintate care antreneaza doua roti motoare

coaxiale. Pentru a comanda puterea transmisa la motor dar si sensul de rotatie al acestuia

aveam nevoie de un dispozitiv miniatural dar suficient de puternic. De aceea am folosit puntea

H L298, care suporta o tensiune de alimentare de maxim 46 de volti si un curent maxim de 4

Page 32: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

32

amperi. Este o punte duala de comanda cu o tensiune ridicata, curent mare care accepta intrari

logice de tip TTL si poate comanda sarcini inductive precum relee, bobine, motoare de curent

continuu sau motoare pas cu pas.

Fig. 24. Pendulo Bot V1

Senzorul pentru detectarea miscarii folosit este un accelerometru cu 3 axe

Freescale MMA7361 ce ofera cate o iesire analogica pe fiecare dintre cele 3 axe si are

urmatoarele caracteristici: consum redus – 400 μA / 3,3 V, sensibilitate ridicata – 800 mV/g,

sensibilitate selectabila (±1.5g si ±6g), detectie 0g pentru cadere libera si altele. Pentru

aplicatia robotului aveam nevoie de o sensibilitate cat mai ridicata, asa ca am setat scala de

masurare ±1.5g.

Partea de control unde se afla implementat un algoritm PD o reprezinta

microcontrollerul Atmega8L care coordoneaza intregul proces de autoechilibrare. Pentru

alimentarea sistemului am folosit 3 celule NiCd ce totalizeaza 3,6 volti. Microcontrollerul

fiind versiunea de voltaj redus avea o alimentare tot de 3,3 volti, ca si senzorul. Pentru

protectia impotriva supraalimentarii componentelor logice am montat la partea de intrare o

dioda Zenner de 3,3 volti.

Odata cu implementarea algoritmului am intampinat dificultati legate de calibrarea

regulatorului si prelucrarea datelor masurate de accelerometru, pentru acesta din urma

utilizand un filtru cu compensare. Atunci cand robotul sesiza o inclinare a sasiului incerca sa

se redreseze, dar aplica un cuplu prea mare asupra rotilor, astfel dezechilibrandu-se si intrand

in oscilatii amplificate.

Solutia acestei probleme a fost ajustarea filtrului cu compensare si citirea mai multor

valori dar astfel se consumau multi clicli de calcul. Daca unghiul de inclinare era mai mare de

o anumita valoare robotul se destabiliza fara a mai reusi sa se echilibreze.

Page 33: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

33

5.2. Proiectul “Pendulo Bot” V2

Fiind deja familiarizat cu problemele ce pot aparea in cazul controlului unui robot cu

autoechilibrare am decis sa realizez o versiune imbunatatita a acestui tip de robot, la o scara

mai mare, utilizand componente mai sofisticate si incercand sa obtin un control cat mai bun

asupra proceselor ce au loc in cadrul sistemului.

5.2.1. Construc�ia �asiului

Pentru realizarea cadrului care sustine intreg sistemul am utilizat o bucata de plexiglas

decupata intr-o forma circulara, un material rezistent dar si usor in acelasi timp, careia i-am

creat ulterior orificii pentru prinderea motoarelor, a rotilor si a celorlalte componente. Forma

finala a robotului este pe mai multe straturi, pentru a putea fixa toate componentele

ansamblului si eventual modificarea centrului de greutate prin repozitionarea pieselor care au

pondere mai mare in masa robotului, cum ar fi acumulatorii.

Fig. 25. Baza sasiului

Page 34: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

34

5.2.2. Deplasarea robotului

Modul de deplasare si control al stabilitatii robotului a fost realizat cu ajutorul a doua

motoare comandate din S.U.A. si care au montate cutii de transmisie pentru reducerea

raportului de transmisie si cresterea cuplului. Au incorporate cutii de transmisie cu raportul

102,083:1 si sunt destinate alimentarii la 6V pana la 12V. In cazul alimentarii la 12V are o

viteza de rotatie fara sarcina de 100 rot./min. si 300mA curent consumat in gol. Dezvolta un

moment de 16kg-cm la un curent de sarcina de 5A. Pentru conectare au un ax tip "D" cu

diametrul de 6mm.

Fig. 26. Dimensiunile motorului

Find disponibila si versiunea motorului cu un codificator in cuadratura atasat axului

am optat pentru aceasta varianta. Acesta reprezentand modalitatea de detectie a vitezei de

rotatie a motorului si calcularea ulterioara a cuplului si acceleratiei.

Fig. 27. Motor cu encoder

Page 35: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

35

Acest codificator in cuadratura are o rezolutie de 64 de pasi pe rotatia axului

motorului, ceea ce corespunde la 6533 de pasi pe rotatia axului reductorului, deci o precizie

foarte mare. Pe aceste axuri ale cutiei de transmisie am montat doua roti cu diametrul de 10

cm din material plastic si cauciuc pentru a avea o aderenta sporita.

5.2.3. Comanda motoarelor

Comandarea motoarelor am realizat-o cu ajutorul unei punti H confectionata special

pentru acesta aplicatie cu 4 tranzistori MOSFET de tip N si un driver pentru acestia.

Tranzistorii de tipul N avand o rezistenta interna mai mica decat tranzistorii tip P datorita

tehnologiei actuale mai dezvoltate si a diferentei procesului fizic de realizare a jonctiunilor.

Totodata prin utilizarea unui driver MOSFET pentru controlul puntii H am obtinut un

timp de raspuns mai mic decat in cazul altui tip de punte H, lucru absolut necesar in cadrul

acestui proiect deoarece sensurile motoarelor se inverseaza cu foarte mare rapiditate in

vederea mentinerii echilibrului. Driverul de punte TLE6281G este destinat controlului PWM

al motoarelor de curent continuu cu puteri mari, are o plaja de alimentare de la 7,5 volti la 60

de volti si temperatura maxima de functionare 150 de grade.

Fig. 28. Punte H cu MOSFET

5.2.4. Senzorul de înclinare

Senzorul folosit la detectia inclinarii ales a fost o unitate inertiala de masurare,

prescurtat IMU, cu 10 grade de libertate care furnizeaza informatii de baza pentru calcularea

tuturor datelor de intrare necesare sistemului, impreuna cu codificatorul in cuadratura. Astfel

IMU este compus dintr-un accelerometru cu 3 axe, giroscop cu 3 axe, magnetometru cu 3 axe

si senzor de presiune.

Page 36: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

36

Fig. 29. IMU cu 10 grade de libertate

Accelerometrul ADXL345

Fig. 30. ADXL345 – accelerometru cu 3 axe

ADXL345 este un accelerometru pe 3 axe mic, subtire si cu consum redus care are o rezolutie maxima de 13 biti si scala de masurare de la ±2g la ±16g. Ofera o iesire digitala pe 16 biti si este accesibila prin protocolul SPI sau interfata digitala I2C. Acest accelerometru este potrivit pentru multiple aplicatii, poate masura acceleratia statica gravitationala dar si acceleratia dinamica rezultata in urma miscarii sau socurilor. Datorita rezolutiei ridicate poate detecta modificari ale inclinarii mai mici de 1.0°. De asemenea prezinta functii speciale precum detectia miscarii sau absenta miscarii prin compararea acceleratiei pe oricare axa cu o valoare predefinita de utilizator.

Giroscopul L3G4200D

Fig. 31. L3G4200D – giroscop cu 3 axe

Page 37: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

37

L3G4200D este un senzor de detectie a variatiei unghiului cu 3 axe capabil de o stabilitate foarte buna in timp si odata cu variatia temperaturii. Se compune dintr-un senzor si o interfata capabila sa ofere masuratorile variatiei unghiului printr-o interfata digitala (SPI/I2C). Acest giroscop are o scala selectabila ±250/±500/±2000 si o rezolutie de 16 biti.

Magnetometrul HMC5883L

HMC5883L este un senzor magnetorezistiv cu 3 axe, o sensibilitate de masurare 2 mili-Gauss intr-un camp de ±8 Gauss si o rezolutie de iesire de 12 biti pe interfata digitalaI2C. Datorita tehnologiei folosite in producerea senzorului (Anisotropic Magnetoresistive) acest senzor ofera o liniaritate si o sensibilitate sporita.

Senzorul de presiune BMP085

BMP085 este un senzor de presiune digital ce masoara presiuni cuprinse intre

300...1100hPa (+9000m...-500m sub nivelul marii) cu o rezolutie de 0.03hPa si interfata I2C.

5.2.5. Alimentarea robotului

Pentru alimentarea robotului trebuia sa aleg un tip de acumulatori care sa ofere o

energie destul de mare dar sa aiba si o greutate acceptabila. De preferat ar fi fost acumulatorii

pe baza de plumb care se gasesc pe piata la specificatiile 12V si 1...6A, dar din cauza ca

acestia aveau o greutate considerabila, aproximativ 1,5 kg nu am putut opta pentru aceasta

varianta, robotul fiind prea greu si dificil de controlat. Astfel am optat pentru acumulatori de

tip Ni-Cd care au o greutate mai mica decat cei pe baza de plumb si o putere comparabila.

Fig. 32. Acumulatori

Astfel am ales un pachet de 10 celule Ni-Cd de 1,2 volti si 1400 mA obtinand astfel o

tensiune de 12 volti si 1400 mA, suficienta pentru alimentarea motoarelor.

Page 38: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

38

Pentru alimentarea microcontrollerului ATMEGA328 am folosit sursa de tensiune

stabilizata L7805, utilizata si in aplicatiile anterioare.

Fig. 33. Schema interna L7805

Fiind o sursa de tensiune stabilizata, L7805 este utilizata cu succes in alimentarea

microprocesoarelor si a altor echipamente ce au un consum redus. In functie de tensiunea de

intrare si curentul consumat de dispozitivul alimentat sursa disipa caldura proportional. De

aceea daca este utilizata la un curent mai mare este necesara montarea sa pe un radiator.

Pentru alimentarea senzorilor cu tensiunea stabilizata de 3,3 volti am utilizat un

montaj cu dioda Zenner.

5.2.6. Achizi�ia datelor

Pentru inregistrarea datelor despre variabilele sistemului am utilizat un adaptor pentru

SD-card care face conversia intre nivelul de tensiune de 5V utilizat de microcontroller si

nivelul de tensiune 3,3 volti la care lucreaza cardul. Astfel am stocat pe memoria cardului

parametrii de functionare ai motoarelor, respectiv valorile de comanda, datele achizitionate de

accelerometru si giroscop si ulterior le-am interpretat sub forma de grafice.

Fig. 34. Adaptor card SD

Page 39: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

39

5.2.7. Microcontrollerului ATMEGA328

Pentru implementarea programului am ales ATmega328 , un microcontroler CMOS de 8 biti de mică putere bazat pe arhitectura RISC AVR imbunatatita.

Dispune de un set de 131 instructiuni si 32 de registri de uz general. Cele 32 de registre sunt direct adresabile de Unitatea Logica Aritmetica (ALU), permitând accesarea a doua registre independente intr-o singura instructiune. Se obtine astfel o eficienta sporita in executie (de pana la zece ori mai rapide decat microcontrorelerele conventionale CISC).

Atmega328 este un microcontroler RISC pe 8 biti realizat de firma Atmel. Caracteristicile principale ale acestuia sunt:-32KB de memorie Flash reinscriptibilă pentru stocarea programelor-2KB de memorie RAM-1KB de memorie EEPROM-două numărătoare/temporizatoare de 8 biti-un numărător/temporizator de 16 biti-contine un convertor analog – digital de 10 biti, cu intrări multiple-contine un comparator analogic-contine un modul USART pentru comunicatie serială (port serial)-dispune de un cronometru cu oscilator intern-oferă 32 de linii I/O organizate în patru porturi (PA, PB, PC, PD).

Structura internă generală a controlerului este prezentată în figura de mai jos. Se poate observa că există o magistrală generală de date la care sunt conectate mai multe module:-unitatea aritmetică si logică (ALU)-registrele generale-memoria RAM si memoria EEPROM-liniile de intrare (porturile – I/O Lines) si celelalte blocuri de intrare/iesire.

Aceste ultime module sunt controlate de un set special de registre, fiecare modul având asociat un număr de registre specifice.

Memoria Flash de program împreună cu întreg blocul de extragere a instructiunilor, decodare si executie comunică printr-o magistrală proprie, separată de magistrala de date mentionată mai sus.

Acest tip de organizare este conform principiilor unei arhitecturi Harvad si permite controlerului să execute instructiunile foarte rapid.

Modul Power-down salveaza continutul registrelor, dar blocheaza Oscilatorul, dezactivând toate celelalte functii al chip-ului pană la urmatoarea Intrerupere Externa sau Reset hardware. In modul Power-save, timer-ul asincron continua sa mearga, permitind user-ului sa mentina o baza de timp in timp ce restul dispozitivului este oprit.

In modul Standby , Oscilatorul functionează în timp ce restul despozitivului este oprit. Acest lucru permite un start foarte rapid combinat cu un consum redus de energie. In modul standby extins(Extended Stanby Mode), atat Oscilatorul principal cat si timer-ul asincron continuă să functioneze.

Memoria flash (On-chip) permite să fie reprogaramată printr-o interfată serială SPI , de catre un programator de memorie nonvolatilă conventional, sau de către un program de boot Onchip ce ruleaza pe baza AVR. Programul de boot poate folosi orice interfata pentru a incarca programul de aplicatie in memoria Flash .

Combinând un CPU RISC de 8 biti cu un Flash In-system auto –programabil pe un chip monolithic, ATmega 328 este un microcontroler puternic ce ofera o solutie extrem de flexibilă si cu un cost redus în comparatie cu multe altele de pe piata.

ATmega 328 AVR este sustinut de o serie completa de instrumente de program si dedezvoltare a sistemului, care include: compilatoare C, macroasambloare, programe debug/ simulare etc.

Page 40: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

40

Fig. 35. Structura interna si configuratia pinilor ATMEGA328

5.2.8. Programarea microcontrollerului

Dupa realizarea partii practice a robotului am trecut la redactarea codului pentru

controlul robotului autonom. Am utilizat limbajul de programare C si ca mediu de programare

am folosit WinAVR si AVR Studio pentru a realiza simulari. Pentru incarcarea codului sursa

pe microcontroller a trebuit sa realizez un programator pe USB deoarece laptopul la care

lucram nu avea porturi de comunicatie COM(RS232) si pentru scriere am utilizat AVR Burn-

O-Mat.

Fig. 36. Schema programatorului USB

Page 41: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

41

Realizarea acestui montaj nu mi-a luat foarte mult timp deoarece nu era o schema complicata ci se baza pe microcontrollerul ATMEGA8.

Fig. 37. Programatorul realizat practic

Pentru a putea utiliza acest programator microcontrollerul trebuia scris cu un cod care ii conferea calitatea de programator USB, lucru pe care l-am si facut.

WinAvr este un set de instrumente, incluzand avr-gcc (compilator in linie de comanda), avr-libc (librarie de compilator esentiala pentru avr-gcc), avr-as (asamblor), avrdude (interfata de programare), avr-gdb (debugger), notepad (editor programator) şi multe altele.

Fig. 38. Configurarea AVRDUDE

Multe functii de setare a întreruperilor, setarea PWM-ului au fost generate in CodeVision Avr, un mediu mai prietenos, simplu de folosit. Dezavantajul principal al acestui mediu de programare este dat de erorile pe care le genereaza in interiorul microcontroller-ului (dupa încarcarea pe microcontroller), in sensul ca la compilare şi construirea main-ului nu se afiseaza nicio eroare, dar codul este modificat într-unul gresit. De exemplu, într-un proiect

Page 42: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

42

mai vechi am încercat sa generez functiile pentru conversia ADC. Pentru citirea de pe un singur pin, adica pentru folosirea unui singur senzor functiona perfect, însa când doream citirea mai multor senzori în timp real microcontroller-ul inversa valorile convertite indicate de senzori. Asadar microcontroler-ul indica pentru un senzor A, valoarea senzorului B şi invers, dar corect! De aceea în proiect am folosit un cod open-source dezvoltat de Pascal Stang, pentru conversia pe portul ADC. Cum am vazut, acest lucru face ca debuging-ul sadevina foarte greu de realizat, fiind necesar un timp foarte mare.

Am preferat WinAvr pentru lipsa de erori din cadrul fişierului hex generat, a codului în sine. Poate ati folosit sau nu ati folosit alte compilatoare, dar majoritatea au un buton de „compile” si un GUI. Compiler-ul avr-gcc este diferit, într-un mod ce îl face mai puternic. Poate fi folosit sa functioneze cu multe GUI-uri diferite si customizate după preferintele fiecăruia.

Unul din motivele din cauza carora se poate realiza asta este ca avr-gcc foloseste „makefiles”. Un „makefile” spune compilatorului ce comanda sa ruleze, ce fisiere sacompileze si sa faca legaturi (link), ce iesiri sa creeze, si de asemenea sa programeze chip-ul, etc. Un „makefile” poate fi gândit ca un fisier ce contine o lista de comenzi de rulat, de altfel în realitate este mult mai puternic decât acel fisier având variabile si alte proprietati. "Makefiles” au numele „Makefile” (fara extensie) ca default, si sunt procesate de un program numit make. Pentru simpla folosire, pur si simplu tastam în linia de comanda (presupunem cane aflam în C:\mydir\myproj1\directory already):C:\mydir\myproj1> make <CR>(<CR> înseamna sa tastez o comanda). Programul make va gasi „makefile” -ul în directorul curent si executa acest makefile. Daca nu exista nici un „makefile”, se va arata o eroare. Dacamake-ul nu este gasit, înseamna ca directoarele proprii nu sunt în cale. Aici intervine Windows-ul care va cauta programul ca sa îl execute.

Fig. 39. Scrierea microcontrollerului

Am folosit doar doua comenzi de baza pentru compilarea unui fisier hex: make cleansi make „nume_fisier”. „Make clean” se foloseste în cazul când modificam alte fisiere incluse de sursa, si rulând doar „make” nu va modifica nimic crezând ca nu trebuie sa recompileze nimic. Trebuie rulat „make clean” si apoi „make hex” pentru a avea efectul dorit. „Make all” este aceiasi ca si comanda „make hex”. „Make all” este default, si în acest caz AVR va compila toate fişierele de coduri sursa şi va crea fişierul cu extensia hex. „Make clean” va îndeparta toate fisiere temporare, fişierele hex, şi fişierele. Cof. Astfel el pregateşte mediul pentru o noua compilare.

Page 43: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

43

Fig. 40. Scrierea in linie de comanda

Ca mediu de programare prezinta eficienta si acces usor în linie de comanda pentru compilare şi rulare. Pentru imprimarea fişierului hex în microcontroller, cu ajutorul programatorului USBasp, s-a folosit programul Avr-Burn-O-Mat. Acesta este un nou tool de programare, foarte util, deoarece poate comunica cu o gama foarte variata de programatoare.

Fig. 41. Robotul in forma finala

Page 44: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

44

6. Concluzii

In cadrul proiectului „Pendulo Bot” am realizat o varianta functionala a robotului cu

autoechilibrare pe doua roti, i-am studiat performantele pentru diverse configuratii alegand

varianta optima.

Pentru realizarea practica a robotului am acordat o atentie deosbita elementelor de

executie, alegand motoare cu demultiplicatoare de turatie foarte precise si cu encodere in

cuadratura, ce se situeaza intr-o gama de precizie ridicata pentru masurarea rotatiei. In

vederea asigurarii unui feedback rapid al intregului sistem am optat pentru utilizarea unei

uitati inertiale de masurare (IMU) pentru parametrii ansamblului. Performantele exceptionale

ale acestui IMU impreuna cu algoritmii de filtrare utilizati au determinat ca influenta

factorilor perturbatori sa fie minimizata.

Dupa constructia robotului am trecut la etapa de inregistrare a parametrilor procesului

folosind un card SD interfatat cu microcontrollerul ATMEGA 328 si analizarea ulterioara a

datelor.

Obiectivele legate de constructia si dezvoltarea robotului cu autoechilibrare pe doua

roti au fost indeplinite cu succes, acesta avand o functionare complet autonoma.

Ca o dezvoltare viitoare a proiectului se propune adaugarea unui modul de control

wireless si comanda vocala, a unor senzorilor de apropiere si actualizarea algoritmilor pentru

indeplinirea unor sarcini de o complexitate mai ridicata, precum parcurgerea in mod autonom

a unor trasee predefinite si evitarea obstacolelor dar si transpunerea la o scara mai mare.

Page 45: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

45

Bibliografie

Electronica - Intrebari si raspunsuri, Clement Brown, Ed. Tehnica 1975

Conexiuni prin lipire in aparatura electronica, Ioan Bacivarof, Ed. Tehnica 1984

Constructii radio. Amplificatoare de audiofrecventa cu tranzistoare, G. Stanciulescu,

Ed. Tehnica 1965

Piese si constructii radio - Semiconductoarele si utilizarile lor, Emanuel Vasiliu, Ed.

Tehnica 1969

"8052-Basic Microcontrollers" by Jan Axelson 1994

"Atmel’s Self-Programming Flash Microcontrollers" by Odd Jostein Svendsli 2003

Heath, Steve (2003). Embedded systems design. EDN series for design engineers (2

ed.). Newnes. pp. 11–12. ISBN 9780750655460

Robert Edwards (1987). "Optimizing the Zilog Z8 Forth Microcontroller for Rapid

Prototyping"

Astrom, K & T. Hagglund. 1995 ‘PID Controllers: Theory, Design and

Tuning’Instument Society of America. United States of America.

Bokor, J, Hangos, K & Szederkenyi, G 2004, Analysis & Control of Nonlinear

Process Systems, Springer, New York.

Ingineria Reglarii Atomate - Prof. Dr. Ing. Ioan Dumitrache

M. A. Johnson, and M. H. Moradi, PID Control: New Identification and Design

Methods. Springer, 2005.

Angeles, J 2007, Fundamentals of Robotic Mechanical Systems, Springer, New York.

Bishop, R 2006, Mechatronics - An Introduction, Taylor & Francis, London.

Haugeland, John (1985). Artificial Intelligence: The Very Idea. Cambridge, Mass.:

MIT Press. ISBN 0-262-08153-9.

NRC, (United States National Research Council) (1999). "Developments in Artificial

Intelligence". Funding a Revolution: Government Support for Computing Research.

National Academy Press.

Goher K. M. K. and Tokhi M. O. 2008. Modelling, simulation and balance control of a

two-wheeled robotic machine with static variation in load position. Proceedings of the

22nd

European Conference on Modelling and Simulation, Nicosia, Cyprus.

Salerno A., Angles J. 2004. The control of semi-autonomous self balancing two-

wheeled quasiholonomic mobile robot. Proceedings of the 15th CISM-IFToMM

Symposium on Robot Design, Montreal, Canada.

Page 46: LUCRARE DE DIZERTAŢIE - ACSE Departmentacse.pub.ro/wp-content/uploads/2013/07/UPB-Dizertatie-Ionita-Mihai... · Universitatea Politehnica Bucureşti Facultatea de Automatică şi

46

R. A. Hyde, L. P. Ketteringham, S. A. Neild, and R. J. S. Jones, Estimation of upper-

limb orientation based on accelerometer and gyroscope measurements, IEEE

Transactions on Biomedical Engineering, vol. 55, 2008.

Lenat, Douglas; Guha, R. V. (1989). Building Large Knowledge-Based Systems.

Addison-Wesley. ISBN 0201517523.

Ha, Yunsu & Shin’ichi Yuta. 1996 ‘Trajectory Control for Navigating of Self- Contained

Mobile Inverse Pendulum’, Robotics and Automated Systems, v 17.

D. M. Ling, and W. W. Kong, Robot head to toe, Two Wheeled Balancing Robot, vol.

4, 2010.

De Almeida, A & Khatib, 1998, Autonomous Robotic Systems, Springer, Palo Alto.

Barshan, Billur & Hugh F. Durrant-Whyte. 1995 ‘Inertial Navigation Systems for

Mobile Robots’, IEEE Transactions on Robotics and Automation, vol 11, no. 3.

Sutherland, Alistair & Thomas Bräunl, 2002 ‘An Experimental Platform for Researching

Robot Balance’, Department of Electrical & Electronic Engineering. University of

Western Australia.

D. Simon, Kalman filtering with state constraints: A survey of linear and nonlinear

algorithms, IET Proceediings in Control Theory & Applications, vol. 4, no. 8, pp.

1303-1318, 2010.

van der Walt, Christiaan; Bernard, Etienne 2006, "Data characteristics that determine

classifier performance"

A. Warnasch, and A. Killen, Low cost, high G, micro electro-mechanical systems

(MEMS), inertial measurements unit (IMU) program, IEEE Position Location and

Navigation Symposium, 2002, pp. 299-305.

Honda Asimo Robot, http://asimo.honda.com/education-materials/

Wireless Controlled Two Wheel Balancing Robot, Charles Yong and Chiew Foong

Kwong, http://ijnmt.com/

Balancing a Two-Wheeled Autonomous Robot, http://robotics.ee.uwa.edu.au/

Wikipedia – The Free Enciclopedia, http://en.wikipedia.org

Miller, P. (2008), Building a two wheeled balancing robot.

https://eprints.usq.edu.au/6168/

Pololu Robotics and Electronics, http://www.pololu.com/

Artificial Intelligence, http://www.scriptphd.com/guest-post/2013/01/28/artificial-

intelligence-robots/

nBot Balancing Robot, David P. Anderson, http://www.geology.smu.edu/~dpa-

www/robo/nbot/


Recommended