Controlul poziției unei bile pe un plan cu două grade de libertate Absolvent Ichimuță Nicoleta Coordonator Prof. dr. ing. Lupu Ciprian București,… [624390]

Universitatea Politehnica București
Facultatea de Automatică si Calculatoare
Departamentul de Automatică și Ingineria Sistemelor
LUCRARE DE LICENȚĂ
Controlul poziției unei bile pe un plan cu
două grade de libertate
Absolvent: [anonimizat], 2018

Cuprins
Listă de figuri ii
Listă de tabele iii
1 Introducere 1
1.1 Scurt istoric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Obiectivele lucrării . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Modul de organizare a lucrării . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Fundamente T eoretice 3
2.1 Sisteme dinamice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Sisteme liniare vs. neliniare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Sisteme multivariabile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 Regulatoare PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.5 Ball and Beam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.6 Prelucrarea imaginilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.7 Mediul de dezvoltare – Matlab/Simulink . . . . . . . . . . . . . . . . . . . . . . . 11
3 Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate 13
3.1 Descrierea instalației . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.1 Obiectul de poziționat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.2 Platoul mobil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.3 Elementele de execuție . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.4 Arduino Mega 2560 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.5 Camera web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2 Analiza de proces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 Realizarea modelului matematic . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4 Liniarizarea modelului: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.5 Construcție PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.5.1 Conmponenta proportională(Kp) . . . . . . . . . . . . . . . . . . . . . . . 24
3.5.2 Componenta integrală(Ki) . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.5.3 Componenta derivativă . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.6 Modelarea în Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.6.1 Sistem neliniar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.6.2 Sistem liniar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.6.3 Rezultate și simulări . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.7 Modelare în Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.7.1 Capturarea imaginilor și aflarea coordonatelor bilei . . . . . . . . . . . . . 34
3.8 Rezultate experimentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.9 Traiectorie circulară . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4 Concluzii 41
4.1 Îmbunătățiri viitoare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Anexe 43
Bibliografie 43
ii

Listă de figuri
1.1 Regulator mecanic centrifugal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.1 Structura de Reglare automata . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Sistem de reglare neliniar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Sistem de reglare cu regulator neliniar . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 Sistem de reglare cu regulator liniar . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5 Exemplu proiectare sistem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.6 PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.7 Model matematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.8 Coparatie așezare susra de lumină . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.9 Număr mic vs. număr mare de pixeli . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.10 Contrast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1 Modelul fizic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Modelul fizic 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 Obiectul de poziționat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4 Platoul mobil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.5 Micro Servomotor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.6 Placă de dezvoltare Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.7 Cameră web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.8 Schema de funcționare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.9 Model matematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.10 Structura de reglare – Caz neliniar . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.11 Controller 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.12 Modelare ecuațiilor de mișcare ale bilei . . . . . . . . . . . . . . . . . . . . . . . . 28
3.13 Structura de reglare – Caz liniar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.14 Răspunsul sistemului neliniar la intrare treaptă . . . . . . . . . . . . . . . . . . . 30
3.15 Răspunsul sistemului neliniar la poziția de referință impusă . . . . . . . . . . . . 31
3.16 Răspunsul sistemului liniarizat la intrare treaptă . . . . . . . . . . . . . . . . . . 32
3.17 Răspunsul sistemului liniarizat la poziția de referință impusă . . . . . . . . . . . 33
3.18 Comenzile controllerului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.19 Conexiune webcam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.20 Snapshoot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.21 Imagine cropată . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.22 Imagine binară + Imagine inversată . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.23 Poziție bilă în pixeli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.24 Poziția bilei în cm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.25 Saturare + anti wind-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.26 Traiectoria de mișcare a bilei pentru o referință setată în originea sistemului de
coodonate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.27 Traiectorie circulară . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
iii

Listă de tabele
3.1 Valori numerice folosite în simulări . . . . . . . . . . . . . . . . . . . . . . . . . . 40
iv

1 Introducere
1.1 Scurt istoric
Evoluția automaticii este strâns legată de cea a tehnologiei, în general, și a științei calculatoa-
relor, în particular, rezultate semnificative onținându-se în ultimele două decenii, atât în plan
conceptual, cât mai ales în cel aplicativ, ca urmare a dezvoltării microelectronicii, a introducerii
circuitelor electronice pe scară largă și foarte largă, a dezvoltării de sisteme de operare în timp
real.
Sistemele de regare automată au o lunga istorie, existâand din cele mai vehci timpuri. În
jurul anului 300 î.e.n., grecul Ktesibios a inventat ceasul cu apă, care controla curgerea apei cu
viteză constantă îintr-un container. Nivelul apei în container permitea măsurarea timpului. Un
alt sistem reprezentativ îl constituie sistemul pentru reglarea vitezei mașinilor cu abur în care
putem remarca regulatorul centrifugal datorat lui James Watt. Cu ajutorul acestui regulator se
asigură reglarea vitezei mașinilor cu abur prin modificarea debitului de abur. Dumitrache 2005
Figura 1.1 :Regulator mecanic centrifugal
1.2 Obiectivele lucrării
În această lucrare se dorește proiectarea hardware, modelarea sistemului, identificarea parame-
trilor, proiectarea legilor de reglare și testarea, atât teoretică cât si experimentală pentru un
1

Capitolul 1. Introducere
sistem multivariabil și neliniar de poziționare a unui obiect, evitând un contact direct cu acesta.
Realizarea
Obiectivul principal al lucrării constă în implementarea unui sistem cu două grade de
libertate, care să permită controlul poziției unui obiect de formă sferică, o bilă. Sistemul constă
într-un platou fixat în centru cu o articulație sferică, cu posibilitatea de mișcare pe axele x și
y. Unghiurile de înclinație sunt manevrate prin acționarea motoarelor, astfel fiind controlată
mișcarea bilei.
Provocarea constă în aducerea și menținerea obiectului într-o poziție prestabilită, fiind
luate în considerare potențiale acționări din exterior. Ne propunem să menținem bila într-un
cerc de rază 1 cm, având centrul în poziția dorită.
Obiectivul secundar al lucrării constă în controlul mișcării obiectului astfel încât acesta să
urmeze o traiectorie circulară, având o rază de dimensiune prestabilită.
Următoarele aspecte trebuie respectate pentru atingerea obiectivelor:
– Bila este o sferă simetrică și omogenă
– Bila este tot timpul în contact cu planul
-Bila se poate rostogoli pe intreaga suprafață a planului fără să existe alunecare
– Platoul este rigid si omogen
– Toate frecările sunt neglijate
– Sistemul trebuie să fie capabil să ajusteze înclinațiile platoului pe două axe
– Sistemul trebuie să fie capabil să urmărească poziția bilei pe platoul prin intermediul
unei camere web
1.3 Modul de organizare a lucrării
Prezenta lucrare constă în patru capitole, în care sunt tratate principiile de funcționare ale sis-
temelor de poziționare, probleme ce pot apărea, precum și modalitățile de rezolvare a acestor
probleme, toate acestea fiind raportate la un sistem de control al poziției unui obiect, imple-
mentat.
În capitolul I, este prezentat un scurt istoric al sistemelor de reglare automate și o intro-
ducere în tematica sistemelor de poziționare fără contact direct.
În capitolul II, sunt prezentate concepte fundamentale ale sistemelor multivariabile, liniare
și neliniare, acestea stând la baza sistemului cu două grade de libertate implementat. În plus,
sunt prezentate noțiuni esențiale privind regulatoarele de tip PID, precum și noțiuni despre
procesul de prelucrare a imaginilor. De asemenea, este discutat un caz particular al sistemului
implementat.
În capitolul III, este prezentat studiul de caz al unui sistem de poziționare cu două grade
de libertate, modul de asamblare și funționare, etapele automatizării și rezultatele obținute atât
la teoretic, cât și practic, pe sistemul fizic.
Capitolul IV prezintă cocluziile acestei lucrări și viitoarele îmbunătățiri ce pot fi aduse
sistemului
2

2 Fundamente T eoretice
Un sistem de raglare automată(SRA) este reprezentat de un sistem tehnic prin intermediul
căruia se urmărește aducerea sau menținerea,in mod automat, valorii mărimii de ieșire dintr-un
proces, la o valoare de referință, pe baza unei legi de reglare, fără intervenția omului.
Un SRA este format dintr-un regulator(R) si procesul automatizat(P)
Figura 2.1 :Structura de Reglare automata
r – mărime de referință;
ϵeroare ;
u – mărime de execuție;
y – ieșire;
v – perturbații;
Orice sistem este caracterizat de trei mărimi fizice, și anume:
• Mărimi de intrare
– independente de sistem
– influențează din exterior starea și evoluția sistemului
• Mărimi de stare
– dependente de mărimile de intrare
– caracterizează starea internă curentă a sistemului
• Mărimi de ieșire
– dependente de mărimile de stare, uneori și direct de mărimile de intrare
– au rolul de a transmite informație privind starea curentă a sistemului, în exterior.
Regulatorul primește informații privind starea curentă a procesului reglat (P) si generează
comenzi asupra acestuia, in vederea menținerii sau aducerii stării acestuia intr-o anumita stare
dorită(de referință).
3

Capitolul 2. Fundamente Teoretice
2.1 Sisteme dinamice
Termenul de ”sistem dinamic” se referă la orice entitate fizică sau abstractă a cărei configurație,
în orice moment de timp dat, poate fi caracterizată printr-un set de numere, numite variabile,
iar la un moment de timp mai târziu, este unic determinată cu ajutorul formei sale prezente si
trecute, printr-un set de reguli pentru transformarea variabilelor sistemului.
Două tipuri generale de reguli ale transformării sunt deseori întâlnite. În sistemele de
timp continuu regulile sunt exprimate prin ecuații care specifică derivarea în timp a variabilelor
sistemului în concordanță cu valorile lor curente ( și posibil trecute). În aceste cazuri variabilele
sistemului sunt reprezentate de numere reale care variază continuu în timp. Ecuațiile de mișcare
formulate de către Newton care descriu triectoriile planetelor din sistemul solar, reprezintă un
sistem dinamic continuu în timp.
În sistemele de timp discret regulile sunt exprimate ca ecuații care dau valori noi vari-
abilelor sistemului ca funcții care depind de valorile curente ( și posibil trecute ). Cum fizica
clasică ne spune că toate sistemele sunt, la bază, sisteme în timp continuu, este convenabil să
folosim caracteristici pentru a descrie configurațiile sistemului doar pentru un set de perioade
de discretizare și a descrie efectele evoluției continue ca salturi discrete de la o configurație la
alta.
Un set de ecuații care descriu un sistem dinamic în timp continuu are forma:
x(t)
dt=f(x(t);p; t) (2.1)
Unde:
– componentele vectorului x reprezintă variabilele sistemului
– vectorul f reprezintă o funcție dependentă de toate variabilele sistemului la valori fixate
ale parametrilor p
Evoluția sistemului este descrisă ca o mișcare în spațiul stărilor ( spațiul tuturor valorilor
posibile ale vectorului x). O traiectorie este o cale directă prin spațiul stărilor, care arată valorile
variabilelor sistemului la momente de timp succesive. Teoria sistemelor dinamice este concen-
trată pe clasificarea tipurilor de traiectorii care pot apărea, determinând dacă sunt robuste chiar
dacă există variații mici ale variabilelor sistemului, categorizând modurile in care posibilele tra-
iectorii se schimbă odată cu variația parametrilor p, si dezvoltând tehnici, atât pentru simularea
numerică a traiectoriilor, cât și pentru deducerea structurii traiectoriilor din seturi incomplete
de observații ale variabilelor sistemului.
Cele mai de bază structuri care se arată în clasificarea traiectoriilor spațiului de stări :
puncte fixe, cicluri limită, fenomene tranzitorii, bazine de atracție , și stabilitate. Socolar 2006
2.2 Sisteme liniare vs. neliniare
Un sistem liniar este unul în care oricare două soluții ale ecuațiilor de mișcare pot fi combi-
nate prin simplă adiție pentru a genera o a treia soluție, dând definiții aproximative zerourilor
variabilelor.
Sistemul de ecuații poate fi extrem de complicat, reprezentând un număr mare de variabile
ale structurilor logice asociate cu conexiunile dintre ele, incluzând rețele complicate de relații
4

Capitolul 2. Fundamente Teoretice
cauzale între variabile, întârzieri de timp între cauză și efect, neomogenități spațiale arbitrar
complexe, sau chiar zgomote externe impuse. Modul de recunoaștere a unui sistem dinamic
liniar este acela că ecuațiile sale de mișcare vor implica doar funcții polinomiale de gradul întâi
în variabilele sistemului; astfel nu vor fi produse ale variabilelor unui sistem diferit sau funcții
nontriviale ale vreunei variabile individuale. ( Exemple de funcții nontriviale includ pătrate
sau rădăcini pătrate, funcții prag care specifică schimbarea discontinuă a parametrilor odată ce
variabilele sistemului se modifică, sau cantități care au interpretări geometrice simple, dar se
dovedesc a fi funcții complicate ale variabilelor fundamentale.) Socolar 2006
Sistemele neliniare includ toate acele sisteme ce nu pot fi descrise prin modele liniare.
Marea majoritate a sistemelor intâlnite în tehnică, au un grad mai mare sau mai redus de
neliniaritate.
Alegerea corespunzătoare a punctului de funcționare în jurul căruia se face liniarizarea,
permite obținerea unor modele aproximative, liniarizate, cu un grad limitat de valabilitate în
jurul acestui punct, pentru mai multe dintre elementele ce compun structura unui sistem de
reglare automată.
Neliniaritățile ce nu pot fi liniarizate se cunosc în literatură sub denumirea de neliniari-
tăți esențiale. Într-un sistem automat pot apărea neliniarități statice(esențiale) si neliniarități
dinamice. Neliniaritățile statice definesc dependența intrare-ieșire ( y=f(u) ) în regim staționar
si sunt ilustrate prin intermediul caracteristicilor statice.
In cazul general, un sistem de reglare neliniar poate fi reprezentat ca în figura 2.2: float
Figura 2.2 :Sistem de reglare neliniar
Această structură evidentiază faptul că, atât obiectul condus, cât și regulatorul sunt ca-
racterizate de modele neliniare.
Admițând că modelul procesului poate fi liniarizat ( funcțiile f si g sunt liniarizabile) se
poate alcătui structura de sistem de reglare cu regulator neliniar( figura 2.3).
5

Capitolul 2. Fundamente Teoretice
Figura 2.3 :Sistem de reglare cu regulator neliniar
O a treia variantă o constituie varianta în care obiectul condus este neliniar, iar regulatorul
este definit ca sistem liniar ( figura 2.4 ).
Figura 2.4 :Sistem de reglare cu regulator liniar
Dumitrache 2005
6

Capitolul 2. Fundamente Teoretice
2.3 Sisteme multivariabile
Un sistem de control multivariabil definește un sistem cu cel puțin două intrări și două ie-
șiri(MIMO), în care variabilele interacționează unele cu celelalte. O perturbație a oricărei vari-
abile va cauza schimbări de răspuns de la cel puțin o ieșire.
Un astfel de sistem conține atâtea intrări și ieșiri cât să fie realizabil controlul procesului.
Un sistem cu un număr egal de intrări și ieșiri este denumit ”pătrat”.
În cele mai multe astfel de sisteme, perturbația unei anumite intrări are un procent mai
mare de acțiune asupra unei anumite ieșiri decât asupra celorlalte ieșiri. Modificarea celorlalte
ieșiri (asupra cărora se acționează cu un procentaj mai mic) se numește interacțiune.
Interacțiunile sunt, de obicei, rezultatul proiectării sistemului și nu pot fi evitate. P.
Albertos 2004
float
Figura 2.5 :Exemplu proiectare sistem
y1(s) =g11(s)u1(s) +g12(s)u2(s) (2.2)
y2(s) =g21(s)u1(s) +g22(s)u2(s) (2.3)
2.4 Regulatoare PID
Regulatoarele PID sunt cele mai comune si utilizate regulatoare. Există multe alte strategii
de control, dar in majoritatea cazurile, acestea au performanțe similare sau mai puțin bune
7

Capitolul 2. Fundamente Teoretice
comparativ cu PID-urile, iar dacă există performanțe mai bune, acestea nu reprezintă o diferență
semnificativă. Reglarea cu acțiune PID deține peste 9 din 10 din aplicațiile actuale de control
și automatizare, în primul rând pentru că este o soluție eficientă și ușor de implementat. O
excepție este cazul în care avem un model și condițiile sale operaționale, caz în care putem
crea un Feed Forward Controller, acesta având performanțe mai bune. Totuși, în majoritatea
cazurilor, folosirea unui control reactiv cu ajutorul PID-ului, reprezintă cea mai ușoară si rapidă
metodă de implementare.
Fiindinițialconceputpentrusistemeleliniare,invarianteîntimp,algoritmulPIDaevoluat,
permițând inginerilor să controleze chiar și sisteme cu o dinamică complexă. În realitate, toate
sistemele dispun de componente neliniare, care prezintă reale provocări în utilizarea controlului
clasic bazat pe feedback, de tip PID. Bitsoris și Truffet 2013
Forma generală a regulatoarelor PID este :
Figura 2.6 :PID
Forma continuă a comenzii:
u(t) =Kpe(t) +Ki∫t
0e(t)dt+Kdde(t)
dt(2.4)
Forma discretă a comenzii:
u=Kpe+Ki(Ki:prior +eiter:time )) + Kdeeprior
iter:time(2.5)
Fenomenul de ”wind-up” integral:
Parametrul integral al unui regulator PID însumează continuu factorul de eroare al siste-
mului, ceea ce este extrem de eficient pentru reducerea erorii în regim staționar.
Această integrare constantă a erorii reprezintă un efect secundar nedorit, astfel având loc
apariția fenomenului de wind-up. Acest fenomen se manifestă atunci când, din cauza erorii
acumulate, semnalul măsurat depășește valoarea de referință dorită. Astfel, sunt generate, de
asemenea, întârzieri prelungite și alte efecte destabilizatoare.
Una dintre tehnicile care permite reducerea efectelor acestui fenomen integral, constă în
resetarea erorii acumulate, odată ce sistemul a început să se stabilizeze aproape de valoarea de
referință. Călin Soare 2013
8

Capitolul 2. Fundamente Teoretice
2.5 Ball and Beam
Această lucrare se bazează pe experimentul Ball and Beam, extinzându-l prin adăugarea unui
al doilea sistem Ball and Beam in paralel, creând astfel un sistem Ball on Plate.
Pentru a ințelege conceptul sistemului Ball on Plate este necesar, inițial, să înțelegem
sistemul Ball and Beam. Modelul teoretic al sistemului Ball and Beam este prezentat in Figura
2.5. Acesta este un sistem cu un grad de libertate dat de posibilitatea de mișcare a bării, pe o
direcție.
Figura 2.7 :Model matematic
Sistemul este caracterizat de următoarele ecuații de mișcare :
(J/r2+m)(d2x/dt2) +mgSin(alpha )mx(dalpha /dt)2= 0(2.6)
= d/L(2.7)
unde: m – masa bilei;
r – raza bilei;
d – raza roții dințate;
J – momentul de inerție al bilei;
9

Capitolul 2. Fundamente Teoretice
x – poziția bilei pe bara;
alpha – poziția unghiulară a bării;
beta – poziția unghiulară a roții dințate;
2.6 Prelucrarea imaginilor
Prelucrarea de semnale reprezintă o disciplină care se ocupă atât cu analiza și procesarea sem-
nalelor analogice sau digitale, cât și cu stocarea, filtrarea și alte operații. Aceste semnale pot fi
semnale de transmisie, semnale sonore sau vocale, imagini, etc.
Prelucrarea de imagini este o metodă ce constă în aplicarea unor operații unei imagini,
cu scopul de a extrage informații utile de la aceasta. Această metodă reprezintă un tip de
prelucrare de semnal în care, intrarea este o imagine iar ieșirea poate fi o imagine sau un set de
caracteristici.
O imagine digitală constă în reprezentarea unei imagini bidimensionale sub forma unui set
de valori ce alcătuiesc o matrice. Elementele imaginii(matricii) se numesc pixeli.
Pixelul reprezintă cea mai mică unitate dintr-o imagine de tip bitmap. Pentru imaginile
alb-negru (cazul relevant al lucrării) un pixel este reprezentat printr-un octet(byte).
Prelucrarea imaginilor constă în trei pași:
– Captarea imaginilor
– Analiza si manipularea imaginii
– Extragerea informațiilor din imagine
F actorii principali care influențează întregul proces:
-Lumina –> Pentru a avea o imgine cât mai clară și a accentua diferența dintre bilă si
platou, a fost folosită o cameră cu leduri încorporate.Astfel, aceasta nu va cauza crearea de
umbre pe suprafața platoului, problema intâlnită în cazul fixării sursei de lumină in partea
laterală a platoului. Locul optim al amplasării sursei de lumină este in jurul camerei, la nivel
cu aceasta.
float
-Performanțele camerei web –> Pentru o calitate bună a imaginii este necesară o cameră
cu un număr cât mai mare de pixeli. Cu cât numărul pixelilor este mai mic cu atât identificarea
corectă a obiectelor din imagine, este mai grea, forma acestora fiind distorsionată. Camera
folosită asigură o imagine de 640×480 pixeli ( înălțime x lățime).
Rezoluția unei imagini reprezintă numărul total de pixeli ce o compun.
float
-Culorile platoului si obiectului –> Pentru o distingere ușoară a obiectului, acesta a fost
ales de o culoare închisă, comparativ cu platoul, astfel, realizând un contrast mare în imaginea
captată.
Anbarjafari 2014
10

Capitolul 2. Fundamente Teoretice
Figura 2.8 :Coparatie așezare susra de lumină
Figura 2.9 :Număr mic vs. număr mare de pixeli
2.7 Mediul de dezvoltare – Matlab/Simulink
Matlab este un mediu de dezvoltare pentru calucul numeric si vizualizare, folosind un limbaj
propiu de programre.
În Matlab pot fi simulate modele pentru o gamă largă de aplicații. Modelarea și simularea
11

Capitolul 2. Fundamente Teoretice
Figura 2.10 :Contrast
ajută la o definire, vizualizare si întelegere mai ușoară a unor sisteme reale. Atât modelarea cât
și simularea necesită identificarea unor aspecte relevante a unei situații din lumea reală.
Utilizând Matlab putem analiza date, putem dezvolta algoritmi și putem crea modele și
apliații.
12

3 Studiu de caz – Controlul poziției unui obiect
cu patru grade de libertate
Figura 3.1 :Modelul fizic
Problema controlului poziției unui obiect, în sistemele reale, poate fi dificilă în cazul în
care sistemul are mai multe grade de libertate.
Această lucrare aduce in prim-plan problema menținerii poziției unei bile pe un plan plat,
cu doua grade de libertate.
Această provocare de control, este o extensie a sistemului ”Ball and Beam”. Sistemul ”Ball
and Plate” este un sistem cu două grade de libertate, reprezentate de inclinațiile platoului, care
controlează indirect mișcarea bilei.
13

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
Un alt aspect al acestui sistem constă in faptul că este un sistem MIMO(multiple inputs
multiple outputs), fiind deasemenea un sistem neliniar, instabil in buclă-deschisă.
3.1 Descrierea instalației
Modelul fizic este format dintr-un platou pe care se află obiectul ce trebuie poziționat. Cele două
grade de libertate ale platoului sunt date de posibilitatea acestuia de a se înclina pe direcțiile
Ox si Oy.
Unghiurile de înclinație se realizează cu ajutorul a două servomotoare montate sub platou
si care realizează mișcarea prin intermediul a două axe metalice rigide, prinse pe mijlocul a
doua margini alăturate ale platoului. Modelul mai dispune de un al treilea ax, situat în centrul
platoului, perpendicular pe acesta, fiind prins prin intermediul unei articulații sferice, acest ax
având doar rol de susținere, fără să limiteze mișcările platoului. Deasupra platoului este montată
o cameră web. Din sistemul vizual se extrag informații cu privire la poziția bilei pe platou, prin
procesarea imaginilor obținute. Astfel, cunoaștem poziția bilei în orice moment și putem calcula
eroarea de poziție dintre aceasta si destinația dorită. Folosind Arduino putem controla pulsurile
servo-motoarelor și astfel, platoul se va înclina cu anumite unghiuri, iar bila se va mișca către
destinație.
Figura 3.2 :Modelul fizic 2
3.1.1 Obiectul de poziționat
Obiectul ales este de forma sferică, de culoare închisă, cu raza de 0,5 cm.
Forma obiectului a fost aleasă astfel încât să poată fi neglijată frecarea dintre acesta si
platou. Culoarea obiectului a fost aleasă pentru a putea fi ușor de detectat prin intermediul
camerei web, fiind in contrast cu platoul.
14

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
Figura 3.3 :Obiectul de poziționat
3.1.2 Platoul mobil
Platoul ales este de forma pătrată, de culoare albă, dintr-un material rigid si omogen, având
dimensiunea de 30×30 cm. Aria de mișcare a bilei pe platou este 28×28 cm.
Figura 3.4 :Platoul mobil
Forma obiectului a fost aleasă astfel pentru a ușura calculul ecuațiilor de mișcare ale bilei.
15

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
3.1.3 Elementele de execuție
Elementele de executie sunt reprezentate de două micro servo-motoare Pololu HD-1900A. Ele-
mentele au fost alese pentru a asigura o putere medie la o tensiune nominală de 5V.
Figura 3.5 :Micro Servomotor
Caracteristici tehnice:
Tensiune de operare: 4.5V – 6V;
Viteză de operare (fără sarcină): 0.11 secunde / 60 de grade @ 4.8V, 0.08 secunde / 60 de
grade @ 6V;
Unghi limită de rotire: 180 +- 10 grade;
Control cu PWM.
Dimensiuni: 31.7 x 12 x 22.9 mm.
16

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
Servo-motoareleaufostatașateastfelîncât, pentruocomandăegalăcu0.5, unghiulformat
de brațul motorului față de planul orizontal va fi 0, și implicit unghiul de înclinație al platoului
va fi egal cu 0. Plaja de valori a comezii este reprezentată de intervalul [0;1], valoarea unghiului
format de brațul motorului va avea valori în intervalul [-90;90] grade.
3.1.4 Arduino Mega 2560
Placa de dezvoltare Arduino Mega 2560 ne permite transmiterea comenzilor către motoare.
Figura 3.6 :Placă de dezvoltare Arduino
Caracteristici tehnice:
Tensiune de functionare: 5V;
Tensiune de alimentare Jack: 7V – 12V;
Pini I/O: 54;
17

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
Pini PWM: 15 (din cei de I/O);
Pini analogici: 16
Memorie flash: 256KB, din care 8KB ocupati de bootloader;
Frecventa de functionare: 16MHz.
Dimensiuni: 5.3cm x 10cm.
3.1.5 Camera web
Pentru această lucrare a fost aleasă o camera web Hama 86510 Ac-150, care asigura captarea de
imagini în timp real, acestea fiind transmise si prelucrare in Matlab, pentru identificarea poziției
obiectului de poziționat.
Figura 3.7 :Cameră web
Caracteristici tehnice
Tip senzor: VGA
Rezolutie senzor (pixeli): 0.3 MP
Rezolutie video (pixeli): 640 x 480
Rezolutie foto (pixeli): 1.2 MP
Pentru a avea o imgine cât mai clară și a accentua diferența dintre bilă si platou, a
fost folosită o cameră cu leduri încorporate.Astfel, aceasta nu va cauza crearea de umbre pe
suprafața platoului, problema intâlnită în cazul fixării sursei de lumină in partea laterală a
platoului.Camera folosită asigură o imagine de 640×480 pixeli ( înălțime x lățime).
18

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
3.2 Analiza de proces
Sistemul prezentat în această lucrare este unul dintre cele mai populare modele de studiu din
ingineria sistemelor de control, având o proprietate importantă – este instabil în bulcă deschisă.
Sistemul este foarte simplu, o bilă care se rostogolește pe un plan. Controlul acestuia
constă în reglarea automată a poziției bilei pe platou prin schimbarea unghiurilor platourilor,
pe direcțiile x si y. Acest lucru este dificil de obținut, deoarece bila nu stă într-un singur loc
pe plan, miscându-se cu o accelerație aproximativ proporțională cu încliarea planului. Sistemul
este instabil în buclă deschisă din cauza faptului că ieșirile sistemului ( poziția bilei pe axa x
si pe axa y ) cresc fără limită, pentru intrări fixe ( unghiurile planului ). Pentru a stabiliza
sistemul și a menține bila într-o poziție dorită este necesară folosirea unui control cu feedback.
În instalația realizată, camera web are rolul de a da feedback sistemului, privind poziția
bilei la fiecare iterație de timp.
Figura 3.8 :Schema de funcționare
Trebuie luate în considerare următoarele aspecte
– Comenzile acceptate de către servomotoare se încadrează în intervalul [0 ; 1] – Unghiurile
realizate de brațul atașat motorului se încadrează în intervalul [-90 ; 90] grade – Astfel, pentru
19

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
realizarea unui anumit unghi dorit, comanda trimisă către servomotoare trebuie scalată după
formula :
u= (u+ 90)/180 (3.1)
– Comanda 0.5 reprezintă valoarea corespunzătoare unghiului de 0 grade => platoul se
află în poziție orizontală dacă cele două servomotoare primesc comanda 0.5
3.3 Realizarea modelului matematic
Sergio Galvan-Colmenares și Aguilar-Ibáñez 2014Controlul sistemului se bazeaza pe ecuatiile
Euler-Lagrange pentru a deriva o functie ce poate fi implementata in Simulink. Ecuatiile de
miscare au fost calculate folosind enegia cinetică si energia potențială.
Figura 3.9 :Model matematic
Lagrangianul sistemului este definit astfel:
L=EcEp (3.2)
unde Ec – Energia cinetică; Ep – Energia potențială;
Energia cinetică a bilei:
Ec= (m(vb)2
2+ (Jw2
2) (3.3)
unde
w=d
dt(3.4)
20

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
w – viteza unghiulară
Ec=m
2((dx
dt)2+ (dy
dt)2) +m
2(xdx
dt+ydy
dt)2+J
2r((dx
dt)2+ (dy
dt)2) +J
2((dx
dt)2+ (dy
dt)2)(3.5)
unde:√
(dx
dt)2+ (dy
dt)2vitezliniar
theta x, theta y – unghiurile de inclinație ale planului

(dx
dt)2+ (dy
dt)2vitezaunghiularaplanului
r – raza bilei
m – masa
J – momentul de inerție al bilei
x,y – poziția bilei în raport cu planul
x=xD
L(3.6)
y=yD
L(3.7)
unde: D – lungimea bării atașate motorului L – lungimea laturii planului
Energia potențială:
Ep=mg(xSin(x) +ySin(y)) (3.8)
Ecuația Lagrange:
L=m
2((dx
dt)2+ (dy
dt)2) +m
2(xdx
dt+ydy
dt)2+J
2r((dx
dt)2+ (dy
dt)2) +J
2((dx
dt)2+ (dy
dt)2)
– m*g(x*Sin( x) +ySin(y))(3.9)
Ecuațiile de miscare Lagrange :
@
@t@L
@dx
dt@L
@x= 0 (3.10)
@
@t@L
@dx
dt@L
@x=x (3.11)
@
@t@L
@dy
dt@L
@y= 0
21

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
(3.12)
@
@t@L
@dy
dt@L
@y=y (3.13)
unde : taux, tauy – torsiunile aplicate planului
Rezultă:
@
@t[mdx
dt+Jdx
dt
r]m(x(dx
dt)2+ydx
dtdy
dt) +mgsinx= 0 (3.14)
@
@t[m(x2dx
dt+xydy
dt) +Jdx
dt] +mgxcosx=x (3.15)
@
@t[mdy
dt+Jdy
dt
r]m(y(dy
dt)2+xdx
dtdy
dt) +mgsiny= 0 (3.16)
@
@t[m(y2dy
dt+xydx
dt) +Jdy
dt] +mgycosy=y (3.17)
Rezultă:
(m+J
r2)d2x
dt2m(x(dx
dt)2+ydx
dtdy
dt) +mgsinx= 0 (3.18)
(J+mx2)d2x
dt2+2mxdx
dtdx
dt+mxyd2y
dt2+m(xdy
dt+ydx
dt)dy
dt+mgxcosx=x(3.19)
(m+J
r2)d2y
dt2m(y(dy
dt)2+xdx
dtdy
dt) +mgsiny= 0 (3.20)
(J+mx2)d2y
dt2+2mydy
dtdy
dt+mxyd2x
dt2+m(xdy
dt+ydx
dt)dx
dt+mgycosy=y(3.21)
Ecuațiile (2.17) si (2.19) descriu mișcarea bilei pe plan și relația dintre accelerația bilei,
unghiul de rotație si viteza unghiulară, ale planului.
Ecuațiile (2.18) si (2.20) descriu efectul torsiunii externe asupra intregului sistem.
22

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
3.4 Liniarizarea modelului:
Considerăm starea de echilibru a sistemului ca fiind reprezentată de planul perfect orizontal:
x=y= 0 (3.22)
Derivăm un model liniarizat în jurul acestei stări, cu premisa că unghiurile de rotație ale
planului aparțin intervalului [-5;5][grade].
Așadar putem aproxima:
Sinx =x (3.23)
Siny =y (3.24)
x
dty
dt= 0 (3.25)
(x
dt)2= 0 (3.26)
(y
dt)2= 0 (3.27)
După aceste simplificații, ecuații de mișcare ale bilei vor avea forma:
(m+J
r2)d2x
dt2+mgx= 0 (3.28)
(m+J
r2)d2y
dt2+mgy= 0 (3.29)
J=2mr
5(3.30)
(2.29)->(2.27) si (2.28) Rezultă ecuatiile:
5
7d2x
dt2+gx = 0 (3.31)
5
7d2y
dt2+gy = 0 (3.32)
Considerând: Intrări:
x (3.33)
23

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
y (3.34)
Ieșiri: x, y
Putem scrie funcțiile de tranfer ale sistemului:
Ux(s) =x
x=g
5
7s2(3.35)
Uy(s) =y
y=g
5
7s2(3.36)
3.5 Construcție PID
Principalul scop al lucrării constă în obținerea unei erori cât mai mică (maxim 1 cm).
În prezenta lucrare au fost implementate două PID-uri, câte unul pentru controlul fiecărui
servomotor.
Forma comenzii este următoarea
u= (Kperoare ) + ( Ki(Ki:anterior +eroare iteratie:timp ))
+ ( Kd * (eroare – eroare.anterioară)/iteratie.timp) (3.37)
unde
eroare =valoare:referin valoare:real (3.38)
valoare referință – poziția la care se dorește să ajungă bila valoare reală – poziția reală a bilei
obținută prin intermediul camerei web la fiecare iterație de timp Kp – constantă de proces Ki –
constantă de integrare Kd – constantă de derivare
Pentrudeterminareaconstantelorregulatoruluiamalesmetodadeacordareexperimentală,
întru-cât funcția de transfer a modelului nu permite folosirea metodelor uzuale de calcul al
regulatorului. Toate cele trei constante au un rol important privind reducerea erorii.
3.5.1 Conmponenta proportională(Kp)
Componenta proporțională este invers proporționalaă cu eroarea. Atfel, cu un Kp mic, regula-
torul va face incercări mici de reducere a erorii, iar cu Kp mare, regulatorul va face incercări
mari. Daca Kp este prea mic, este posibil ca eroarea să fie foarte greu minimizată ( în funcție
de constantele Ki si Kd) și regulatorul să nu fie capabil sa răspundă la schimbările ce afectează
sistemul. Pe de altă parte, dacă Kp este prea mare pot apărea oscilații, având un filtru instabil
care va conduce la un suprareglaj foarte mare.
A fost aleasă valoarea Kp = 8.5 . Pentru această valoare sistemul fizic s-a comportat cel
mai bine, realizând un compromis între reducerea timpului de minimizare a erorii și oscilațiile
apărute. Astfel, eroarea este minimizată într-un timp foarte scurt, cu posibilitatea aparițiilor
de oscilații mici și de scurtă durată.
24

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
3.5.2 Componenta integrală(Ki)
Aceastăcomponentăpermiteregulatoruluisămanipulezeerorileadunate. Componentaintegrală
este necesară in momentul când există de manipulare a erorilor staționare, însă, dacă Ki este
prea mare, acesta poate cauza instabilitate.
Teoretic, având în vedere că funcția de transfer a modelului conține doi poli în origine, nu
ar fi necesară introducerea constantei de integrare, însă pentru o constantă de intregrare Ki =
0, s-au observat apariția unor posibile probleme.În acest caz, comanda are forma :
u= (Kperoare ) + ( Kd(eroare eroare:anterioar )/iteratie:timp )(3.39)
Înmomentulîncarebilaesteadusăîntr-opozițieapropiatădeceadorită, eroareacalculată
la pasul următor este foarte mică, rezultând valori foarte mici ale comenzii. Caz în care, bila
nu mai este mișcată din loc, deși o comandă a fost aplicată. Acest lucru se întâmplă din cauza
faptului că, spre deosebire de simulările teoretice, masa bilei nu este luată în considerare la
simulările practice.
În acest caz, comanda va consta doar în produsul dintre constanta proporțională și eroare.
Adăugând componenta integrativă, comanda va arăta astfel :
u= (Kperoare ) + ( Ki(Ki:anterior +eroare iteratie:timp ))
+ ( Kd * (eroare – eroare.anterioară)/iteratie.timp) (3.40)
Așadar, în acest caz comanda va crește treptat, deoarece are loc o acumulare a erorilor.
Astfel, bila este obligată să-și reia mișcarea.
O alternativă ar fi cea de a mări constanta proporțională foarte mult, însă acest lucru ar
crea oscilații mari și incontrolabile, împiedicând astfeș atingerea obiectivului.
Astfel, pentru a putea manipula erorile staționare am ales o valoare mică a acestei com-
ponente, astfel încât perfomanțele sistemului să fie cât mai puțin influențate.
În implementarea algoritmului pentru sistemul experimental (fizic) a ales valoarea Ki =
0.5, iar pentru realizarea simulărilor teoretice, am folosit Ki = 0.
3.5.3 Componenta derivativă
Componenta derivativă are rolul de a urmări comportamentul sistemului intre iterațiile de timp
existente. Aceasta ajută la amortizarea sistemului, imbunătățind, astfel, stabilitatea acestuia.
Introducerea unei constante derivative, va face regulatorul să fie mai sensibil la zgomote și valori
random, dar va reduce timpul de reacție al sistemului, minimizând eroarea intr-un timp mai
scurt.
Valoarea aleasă este Kd = 4.5 , astfel încât sistemul să reacționeze rapid la mișcările mare
create de constanta proporțională, amortizând sistemul.
25

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
3.6 Modelarea în Simulink
În acest capitol vor fi prezentată schemele modelului liniar si neliniar realizate în Simulink,
precum și rezultatele simulărilor sistemului neliniar vs. sistemul liniar, în bulcă închisă, fiind
evidențiatăstabilizareasistemului. Vorfiprezentatesimulărialerăspunsuluisistemuluilaintrare
treaptă si la intrarea referinței dorite.
3.6.1 Sistem neliniar
Schema de reglare realizată în Simulink este următoarea:
Figura 3.10 :Structura de reglare – Caz neliniar
Subsistemele ” Controller 1 ” si ” Controller 2 ” conțin calulul comenzii pentru fiecare
motor folosind PID-uri. în imagiea următoare este prezentată schema unui Controller, celălalt
fiind identic, dar respectând variabilele corespunzătoare.
float
26

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
Figura 3.11 :Controller 1
Comnzile sunt saturate astfel încât să se încadreze în intervalul [-90 ; 90]grade, reprezen-
tând limitele unhiurilor relizate de brațul atașat motorului.
27

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
Subsistemul ” Bilă ” conține ecuațiile de mișcare ale bilei, calculate mai sus . Schema
acestuia este următoarea :
Figura 3.12 :Modelare ecuațiilor de mișcare ale bilei
Inițial, unghirile de mișcare ale planului sunt calculate în funcție de unghiurile realizate
de brațul motorului, pe baza relției următoare:
28

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
=d
L (3.41)
unde d – lungimea brațului atașat motorului L – lungimea platoului
3.6.2 Sistem liniar
Schema de reglare realizată in Simulink este următoarea :
Figura 3.13 :Structura de reglare – Caz liniar
29

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
Subsistemele Controller-elor sunt identice cu cele de mai sus, însă, subsistemul cu ecuațiile
de mișcare ale bilei au fost înlocuite cu funcțiile de transfer obținute prin liniarizare.
3.6.3 Rezultate și simulări
Încontinuarevorfiprezentaterăspunsurilelaintraretreaptășilaintrareauneipozițiidereferiță,
atât pentru sistemul neliniar, cât și pentru cel liniar.
float
Figura 3.14 :Răspunsul sistemului neliniar la intrare treaptă
În imaginea de mai sus este prezentat răspunsul sistemului neliniar la o intrare treaptă,
poziția inițială a bilei fiind stabilită în (0,0).
float
30

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
Figura 3.15 :Răspunsul sistemului neliniar la poziția de referință impusă
În imaginea de mai sus este prezentată comportarea sistemului neliniar la o referință
impusă, poziția inițială a bilei fiind stabilită:
xreal = 0
yreal = 0
xref = -1
yref = 4
31

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
Figura 3.16 :Răspunsul sistemului liniarizat la intrare treaptă
În imaginea de mai sus este prezentat răspunsul sistemului liniarizat la o intrare treaptă,
poziția inițială a bilei fiind stabilită în (0,0). Aici se poate observa caracterul oscilant al siste-
mului.
float
32

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
Figura 3.17 :Răspunsul sistemului liniarizat la poziția de referință impusă
În imaginea de mai sus este prezentată comportarea sistemului liniarizat la o referință
impusă, poziția inițială a bilei fiind stabilită:
xreal = 0
yreal = 0
xref = -1
yref = 4
33

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
Figura 3.18 :Comenzile controllerului
În imaginea de mai sus sunt descrise comenzile date de controller, intrarea fiind reprezen-
tată de un set de numere random aflate în intervalul [-12;12] ( coordonatele bilei în cm trebuie
sa aparțină acestui interval). Linia galbenă reprezintă comanda înainte de saturare, iar cea
albastră reprezintă comanda după saturare. Comanda dată de regulator reprezintă unghiul pe
care brațul motorului îl va forma, acest unghiu aparținând intervalului [-90;90] grade.
3.7 Modelare în Matlab
Luând în considerare faptul că sistemul trebuie să reacționeze într-un timp cât mai mic, pentru
a menține bila pe platou, este necesară folosirea unui număr minim de medii de dezvoltare.
Așadar, schema Simulink a fost înlocuită cu un script Matlab, optimizând astfel întregul
proces de control al bilei.
În continuare va fi prezentată soluția de control a poziției bilei.
3.7.1 Capturarea imaginilor și aflarea coordonatelor bilei
Pentru realizarea capturilor de imagini este necesară o conexiune a camerei web la mediul de
dezvoltare Matlab. Aceasta a fost realizată astfel :
34

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
Figura 3.19 :Conexiune webcam
Odată realizată conexiunea, a fost creată o funcție care returnează poziția bilei, în cm,
considerând sistemul de coordonate astfel:
Sistemul de coordonate (Xb,Yb) este specific platoului, dând poziția bilei în cm. Sistemul
de coordonate (Xc,Yc) este specific camerei, dând poziția bilei in pixeli.
În funcția ”[x,y]=gasire obiect()”(anexe) sunt realizați următorii pași:
– Este realizată conexiunea camerei web la Matlab
– Este obținută o imagine instantanee cu ajutorul funcției ”snapshoot” (figura 3.19)
Figura 3.20 :Snapshoot
– Imaginea este trasformată in nuanțe de gri cu ajutorul funcției ”rbg2gray” si apoi este
tăiată la o anumită dimensiune ( 430 x 430 ),cu ajutorul funcției ”imcrop” astfel încât să conțină
35

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
doar platoul (figura 3.20)
Figura 3.21 :Imagine cropată
– Este aplicată funcția ” imbinarize ” pentru creerea unei imagini binare, înlocuind toate
valorile mai mari decât un prag determinat global, cu 1, iar pe celelalte cu 0 (figura 3.21).
Figura 3.22 :Imagine binară + Imagine inversată
– Sunt inversate culorile ( figura 3.21)
– Pata albă din imaginea inversată constituie obiectul de peziționat
– Este verificat procentul de rotunjime al obiectului detectat, astfel încât doar obiectele cu
un procent mai mare decât un prag prestabilit de 0.94 vor fi luate în considerare ca fiind bile
36

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
Figura 3.23 :Poziție bilă în pixeli
– Este extrasă poziția centrului bilei în pixeli (figura 3.22)
– În final, coordonatele bilei sunt transformate în cm, fiind raportate la sistemul de coor-
donate amintit mai sus, având originea în centrul platoului. (figura 3.23)
Figura 3.24 :Poziția bilei în cm
3.8 Rezultate experimentale
Algoritmul de control al bilei se află în anexe. Acesta cuprinde următorii pași:
– Sunt realizate conexiunile între Matlab, camera web si arduino
– Este setată destinația bilei, au loc inițializările variabilelor și setarea parametrilor regu-
latorului
– Este creată o buclă infinită astfel încât sistemul primește constant feedback privind
poziția bilei și actionează în consecință, pentru atingerea obiectivului.
– Saturarea comenzii și evitarea efectului de wind-up au fost realizate astfel:
37

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
Figura 3.25 :Saturare + anti wind-up
Observație:
Comanda ”set(0, ’DefaultFigureVisible’,’off’)” este folosită pentru a minimiza timpul de
rulare a scriptului, reducând timpul de reacție a sistemului, prin oprirea apariției figurilor/video-
ului.
Figura 3.26 :Traiectoria de mișcare a bilei pentru o referință setată în originea sistemului de
coodonate
38

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
Obiectivul princpal al lucrării constă în aducerea si menținerea bilei în interiorul unui cerc
cu raza egală cu 1 cm, având originea în punctul de coordonate date de poziția de referință
setată. În imaginea de mai sus poate fi observată întreaga mișcare a bilei pe platou, punctul de
pornire și punctul de final fiind marcate cu cerculeț negru. Punctul de final reprezintă o poziție
de echilibru a bilei, programul fiind oprit forțat.
3.9 T raiectorie circulară
Obiectivul secundar al lucrării constă în realizarea unui algoritm de control al bilei, astfel încât
aceasta sa urmeze o traiectorie circulară, având raza si coordonatele centrului prestabilite.
Algoritmul realizat este asemănător cu cel anterior, diferența o reprezintă coordonatele
poziției de referință, care nu mai sunt fixate, ci sunt recalculate în fiecare ciclu al buclei.
Figura 3.27 :Traiectorie circulară
În imaginea de mai jos, sunt suprapuse două grafice, fiind mai ușoră comprația între
acestea. Primul grafic, de culoare neagră, reprezintă simularea algoritmului realizat. În cel de-al
doilea grafic, de culoare albastră, este prezentată comportarea reală a sistemului fizic. Poziția
inițială a bilei este marcată cu un cerculeț verde, iar cea finală, cu un cerculeț roșu.
39

Capitolul 3. Studiu de caz – Controlul poziției unui obiect cu patru grade de libertate
Simbol Unitate de măsură Valoare Descriere
g m / s2(3.42) 9.81 Constantă gravitațională
m kg 0.03 Masa bilei
r m 0.005 Raza bilei
J kg * m2(3.43) 2/5 * m (3.44) Momentul de inerție al bilei
d m 0.02 Brațul motorului
L m 0.28 Lungime platou
Tabela 3.1 :Valori numerice folosite în simulări
40

4 Concluzii
Obiectivul principal al acestei lucrări a fost acela de a realiza modelarea si controlul unui sistem
de poziționare cu două grade de libertate. Acest obiectiv a fost indeplinit cu succes de către
legile de reglare implementate în mediul de dezvoltare Matlab, și în final, testate pe sistemul
real, prin intermediul plăcii de dezvoltare Arduino și a servo-motoarelor. Sistemul a fost modelat
în simulink, iar cu ajutorul simulărilor poate fi studiat comportamentul său. Fiind realizată o
comparație între comportamentul sistemului observat în simulări și comportamentul sistemului
în realitate, putem trage concluzia că sistemul teoretic este doar un model al sistemului adevă-
rat, între acestea existând câteva diferențe importante. Modelul trebuie să fie o reprezentare
simplificată a sistemului adevărat, și nu poate reproduce toate aspectele comportării sistemului.
Asemenea efecte sunt dificil de simulat, fiind mai ușor de înțeles prin experimentarea pe sistemul
fizic.
Obiectivul secundar a fost acela de a realiza un control al mișcării bilei, astfel încât aceasta
să urmărească o traiectorie circulară. Acest obiectiv a fost îndeplinit cu succes. Încă o dată
poate fi observată diferența dintre simulare teoretică si experimentarea pe sistemul fizic, acest
lucru fiind pus în evidentă prin folosirea aceluiași algoritm, atât pentru simularea teoretică, cât
și pentru partea practică.
4.1 Îmbunătățiri viitoare
41

Anexe
42

Bibliografie
Anbarjafari, Gholamreza. Digital Image Processing .
Bitsoris, G. și Truffet, L. F unctii avansate in Reglarea cu actiune proportionala-integrala-
diferentiala (PID) . Măsuri si Automatizări, vol. 3, pags. 32–34.
Călin Soare Sergiu Stelian Iliescu, Ioana Făgărășan Nicoleta Arghira Iulia Dumitru. Sis-
teme Neliniare și Eșantionate . Conspres.
Dumitrache, Ioan. Ingineria Reglării Automate . Editura Politehnica Press, București.
P. Albertos, A. Sala. Multivariable Control Systems : An Engineering Approach . Springer.
Sergio Galvan-Colmenares Marco A. Moreno-Armendáriz, José de Jesús Rubio Floriberto
Ortíz-Rodriguez Wen Yu și Aguilar-Ibáñez, Carlos F. Dual PD Control Regulation with Non-
linear Compensation for a Bal l and Plate System . Mathematical Problems in Engineering,
vol. 2014(894209), pag. 10.
Socolar, Joshua E. S. Nonlinear Dynamical Systems . Complex Systems Science in Biome-
dicine, pags. 115–140.
43

Similar Posts