Sunteți pe pagina 1din 28

CAPITOLUL 6.

CONTROLUL OPTIMAL AL
SISTEMELOR AUTOMATE
6.1. PRINCIPIUL COMENZII OPTIMALE
A. Generalităţi
Problemelor de control optimal le-a fost dată o mare importanţă în teoria sistemelor. Un
sistem de control optimal – adică un sistem a cărui proiectare „optimizează” (minimizează sau
maximizează, după caz) valoarea unei funcţii aleasă ca index de performanţă – diferă de cel ideal
prin aceea că primul este cel mai bun sistem realizabil în prezenţa constrângerilor fizice, în timp
ce al doilea poate fi de neatins.
A.1. Indexul de performanţă
În proiectarea unui sistem de control sau reglare optimal, trebuie să găsim o regulă după
care să validăm decizia curentă, în prezenţa anumitor constrângeri, în scopul de a minimiza
anumite deviaţii ale mărimilor de la valorile ideale. Această măsură este în mod normal dată de
indexul de performanţă impus, care este o funcţie a cărei valoare o considerăm a fi un indiciu al
apropierii actualului sistem de cel dorit. În cele mai multe cazuri comportarea sistemului este
optimizată prin alegerea vectorului de comandă u astfel încât indicele de performanţă să fie
optimizat. O alegere corespunzătoare a indicelui de performanţă este importantă deoarece în mare
măsură determină natura sistemului optimal, adică sistemul rezultat va fi linear, nelinear,
staţionar sau variabil în timp în funcţie de forma indicelui de performanţă ales. Inginerul care
alege acest indice trebuie să ţină cont de cerinţele sistemului şi de natura sistemului rezultant.
Cerinţele proiectării includ nu doar specificaţii cu privire la performanţă, dar şi asigurarea
realizabilităţii fizice şi restricţii cu privire la forma comenzii.
Procesul de optimizare trebuie nu doar să ne asigure legea de comandă şi configuraţia
parametrilor, dar trebuie şi să poată prevedea degradarea performanţei la o depărtarea indicelui de
valoarea optimă la aplicarea unei legi non-optimale.
Alegerea celui mai potrivit indice de performanţă pentru o problemă dată este dificilă, mai
ales dacă sistemul este complex. Pentru grade considerabile folosirea metodei optimale s-a lovit
de conflictul între fezabilitatea analitică şi utilitatea practică în ceea ce priveşte alegerea indexului
de performanţă. Este de dorit ca criteriul de determinarea indicelui de performanţă să fie ales nu
din considerente matematice, ci din considerente practice ale aplicaţiei. În general, s-a făcut totuşi
un compromis între evaluarea performanţelor fizice ale aplicaţiei şi rezolvabilitatea matematică a
problemei.
1
A.2. Formularea problemelor de control optimal
Problemele de control optimal pot fi formulate dacă sunt furmizate următoarele date:
1. sistemul de ecuaţii
2. clasa de vectori de comandă acceptabili
3. restrângerile problemei
4. indicele de performanţă
5. parametrii sistemului
Soluţionarea unei probleme de control optimal constă în determinarea vectorului de
comandă optimal u în cadrul clsei acceptabile. Acest vector depinde de :
1. natura indicelui de performanţă
2. natura constrăngerilor
3. starea sau ieşirea iniţială
4. starea sau ieşirea dorite
Cu excepţia anumitor probleme particulare, soluţionarea analitică a problemelor de
control optimal este atât de complexă încât este nevoie să fie dezvoltată o metodă numerică de
calcul a soluţiei.
A.3. Problema existenţei soluţiei optimale.
S-a arătat că problema comenzii optimale constă în găsirea vectorului de comandă u
acceptabil astfel încăt plecând de la orice stare iniţială x(0 ) sistemul să poată fi dus în orice
starea finală impusă păstrând indicele de performanţă minim.
Este important de menţionat că există cazuri în care combinaţia dintre sistem, starea
impusă, constrângeri şi indice de performanţă este imposibil de atins datorită faptului că se cere
de la sistem mai mult decât poate da el fizic.
Întrebările cu privire al existenţa vectorului de control optimal este importantă din
moment ce serveşte la informarea proiectantului cu privire la posibilitatea realizării unui sistem
de comandă optimală pentru un anumit sistem cu un anumit set de constrângeri. Două dintre cele
mai importante întrebări de acest tip sunt cele cu privire la controlabilitatea şi observabilitatea
sistemului de reglat.

2
A.4. Comentarii cu privire la sistemele optimale.
Sistemul a cărui proiectare optimizează indicele de performanţă ales este, prin definiţie,
optimal. Este evident că indicele de performanţă, în realitate, determină configuraţia sistemului.
Este important de arătat că un sistem care este optimal din punctul de vedere al unui indice de
performanţă, este de cele mai multe ori non-optimal din punctul de vedere al altui indice de
performanţă. În plus, realizarea hardware a unei legi de control optimal poate fi dificilă şi
costisitoare. Astfel, poate fi inutil să se depună prea multe eforturi pentru implementarea unui
controller optimal care este cel mai bun doar într-o anumită direcţie individuală. Asemenea
sisteme se proiectează, de cele mai multe ori dedicat pentru anumite probleme particulare,
specifice. În schimb este de dorit ca ele să efectueze o sarcină aleasă la întâmplare dintr-o gamă
variată de sarcini posibile. Astfel, în sistemele practice este mai probabil să fie căutate soluţii
aproximativ optimale, adică legi de comandă nu atât de rigid legate de un singur indice de
performanţă.
Mai precis, trebuie să realizăm că sistemul de control optimal obţinut, în marea majoritate
a cazurilor, ne furnizează cea mai ridicată performanţă posibil de atins din punctul de vedere al
unui indice de performanţă şi este mai mult un termen de comparaţie, decât un obiectiv. De
aceea, înainte de a decide dacă să construim un sistem de comandă optimal sau ceva inferior, dar
mai simplu, trebuie să evaluăm cu atenţie gradul în care performanţele unui sistem optimal
complex sunt superioare celor furnizate de un sistem suboptimal, mai simplu. Exceptând cazul în
care costul este justificat, nu trebuie să construim sisteme extrem de complicate şi costisitoare
doar pentru a fi optimale.
Odată ce cel mai înalt grad de performanţă este găsit folosind teoria controlului optimal,
trebuie să facem eforturi pentru a proiecta sisteme mai simple, dar apropriate ca performanţe de
acesta. Păstrând acest deziderat în minte, construim un prototip al sistemului fizic, în testăm, şi îl
modificăm până ce ajungem la performanţe apropriate de cele ale sistemului optimal obţinut în
teorie.
Problemele de control optimal rezolvabile analitic ne furnizează informaţii cu privire la
structurile şi algoritmii ce pot fi folisiţi în cazurile practice. Un exemplu de problemă optimală
rezolvabilă analitic este aceea a unui sistem linear bazat pe un indice de performanţă pătratic.
Indicii de performanţă pătratici au fost folosiţi frecvent în sistemele practice de comandă pentru a
măsura performanţele acestora.

3
B. Problema sistemelor cu timp continuu
B.1. Formularea problemei generale şi soluţia diferenţială
Se consideră cazul general al unui sistem cu timp continuu descris de ecuaţia difernţială:
x = f ( x, u, t ) (1)

unde x ∈ℜn reprezintă stările sistemului (care pot fi accesibile sau nu), iar u ∈ℜm reprezintă
intrările sistemului. Starea iniţială x0 a sistemului este dată.
Din categoria mărimilor de intrare fac parte: mărimile de comandă şi perturbaţiile. De
exemplu, în cazul unui motor de curent continuu alimentat în curent, mărimile de intrare sunt:
curentul (comanda) şi cuplul de sarcină (perturbaţia).
Dacă se notează cu v vectorul perturbaţie, iar prin abuz de notaţie se desemnează cu u
vectorul mărimilor de comandă, atunci (1) se poate scrie sub forma:
x = f ( x, u , v, t )
punându-se astfel în evidenţă atât mărimile de comandă cât şi mărimile perturbatoare.
La proiectarea regulatorului, în general se consideră că mărimile perturbatoare sunt nule.
De aceea, sistemul dinamic devine:
x = f ( x, u, t )
unde, prin u se desemnează vectorul mărimilor de comandă.
Problema standard a controlului optimal pe orizontul (0, t f ) constă în determinarea unei
legi de comandă:
u (t ) = K (t ) x(t ) (2)
care mută sistemul din starea iniţială x0 într-o stare finală x f = x (t f ) , extremizănd indicele de

performanţă:

J = φ (x(t f ), t f ) + ∫ L( x(t ), u (t ), t ) dt
tf
(3)
0

Starea finală x f poate avea orice valoare, ea nu interesează în această problemă. Se

urmăreşte doar extremizarea indicelui de performanţă.


Observaţii:
a) φ depinde numai de starea şi momentul final de timp – se mai numeşte şi criteriu de tip
Mayer.
b) L depinde atât de stările cât şi de intrările sistemului la momentele de timp t - se mai
numeşte şi criteriu de tip Lagrange.

4
Considerăm că orizontul (0, t f ) este fixat, ceea ce este echivalent cu impunerea timpului
final t f . Definim funcţia Hamilton:

H ( x, u, λ , t ) = L( x, u, t ) + λT f ( x, u, t ) (4)

unde λ (t ) ∈ ℜ n reprezintă n mărimi scalare, variabile în timp, numite multiplicatorii Lagrange.


Indicele de performanţă (3) capătă, utilizând expresia (4), forma:

J ' = φ (x(t f ), t f ) + ∫
Tf

0
[H (x, u, λ , t ) − λ x ]dt
T
(5)

Introducerea multiplicatorilor Lagrange este numai un artificiu de calcul pentru uşurarea


rezolvării problemei, nefiind necesară evaluarea directă a acestora.
Teoria matematică a ecuaţiilor diferenţiale demonstrează că determinarea extremului
condiţionat al lui J (dat de expresia (3)) cu Lagrangeanul L (condiţionat de expresia (1)) se
reduce le determinarea unui extrem necondiţionat al expresiei J ' (dată de (5)), ceea ce este
echivalent cu:
dJ ' = 0 (6)
După unele calcule, relativ complicate, ecuaţiile care descriu soluţia generală a
regulatorului optimal sunt:
- ecuaţia de stare:
∂H
x = = f ( x, u , t ) (7)
∂λ
- ecuaţiile de co-stare:
T
∂H ∂L  ∂ f 
− λ = = +  λ (8)
∂x ∂x  ∂x 
- condiţia de optimalitate a comenzii:
T
∂H ∂L  ∂ f 
0= = +  λ (9)
∂u ∂u  ∂u 
- condiţiile pe frontieră:
x(0) = x0 dat (10)

∂φ
λ= (11)
∂x t =t f

Se poate demonstra că pe orice traiectorie optimală există relaţia:


dH ∂H
= (12)
dt ∂t

5
În cazul particular al problemelor invariabile în timp, de aici rezultă că
H ( x, u, λ , t ) = H ( x, u, λ ) (deci H nu depinde de timp) adică mai mult:
∂H dH
=0⇒ = 0 ⇒ H = const.
∂t dt
ceea ce înseamnă că Hamiltonianul este o mărime constantă pe traiectoria optimală. Rezolvarea
problemei generale a controlului optimal este dificilă şi, de aceea, se caută o linearizare a
sistemului.
B.2. Problema linear pătratică a controlului optimal
În cazul linear, sistemul (1) capătă forma:
x = Ax + Bu (13)
iar indicele de performanţă (3) se alege poate de forma:
x T (t f )S(t f )x (t f ) 1 t f T
J (t 0 ) =
2 2 0
( )
+ ∫ x Qx + u T Ru dt (14)

unde matricele S (t f ), Q, R se numesc ponderi. Ele sunt matrici simetrice, constante, primele

două fiind pozitiv semidefinite:


S(t f ), Q ≥ 0

iar R este pozitiv definită:


R>0
Observăm că u T Ru reprezintă o componentă energetică, iar xT Q x penalizează regimul
dinamic al sistemului.
Se poate demonstra că, alegând R > 0 , extremizarea indicelui de performanţă este
echivalentă cu minimizarea acestuia, în timp ce pentru R < 0 (matrice negativ definită),
extremizarea implică maximizarea lui J .
Alegerea ponderilor este esenţială în ceea ce priveşte forma răspunsurilor. În general, ele
sunt matrice diagonale, pentru a elimina produsele între 2 stări diferite sau între 2 mărimi de
comandă.
Dacă se doreşte ca x ( t f ) să tindă către zero, atunci se alege S ( t f ) cât mai mare.

Funcţia Hamilton capătă forma:


1 T
H ( x, u , t ) =
2
( )
x Q x + u T Ru + λT (A x + Bu ) (15)

Ecuaţiile (8), (9), (10) şi (11), care descriu structura regulatorului optimal, capătă formele:
- ecuaţia de co-stare:

6
∂H
− λ = = Q x + AT λ (16)
∂x
- condiţia de optimalitate a comenzii:
∂H
0= = Ru + B T λ (17)
∂u
- condiţiile de frontieră:
x(0 ) dat (18)
λ (t f ) = S (t f )x(t f ) (19)

Din (17) obţinem:


u (t ) = − R −1BT λ (t ) (20)
Căutăm pentru orice moment de timp t o expresie similară cu (1.19):
λ (t ) = S (t ) x(t ) (21)
care va fi scrisă, mai pe scurt, sub forma:
λ = Sx (22)
Derivând (22), avem:
λ = S x + S x (23)
Înlocuind (23) în ecuaţia de co-stare (16), găsim:
− S x − S x = Q x + A T S x (24)
Dar:
x = A x + Bu = A x − BR −1B T λ
x = A x − BR −1B T S x
atunci (24) se transformă în:
− S x − S (Ax − BR −1B T S x ) = Q x + A T S x
sau:
− S = A T S + SA − SBR −1B T S + Q (25)
ecuaţie care se mai numeşte şi Ecuaţia Diferenţială Matriceală Riccati (EDMAR).
Prin urmare, regulatorul optimal căutat este descris de ecuaţiile:
− S = A T S + SA − SBR −1B T S + Q
S (t f ) dat
(26)
K (t ) = − R −1B T S (t )
u (t ) = K (t )x(t )

7
EDMAR se poate exprima în funcţie de matricea de reacţie K (t ) sub forma:

− S = A T S + SA − K T RK + Q (27)
Sistemul în buclă închisă este descris de ecuaţia:
x = (A + BK (t ))x(t ) (28)
Este de remarcat că rezolvarea EDMAR e cu atât mai complicată cu cât ordinul sistemului
e mai mare. Calculul ei este dificil de făcut chiar şi pentru sisteme simple, după cum se va vedea
în continuare.
B.3. Regulatorul continuu suboptimal
Datorită problemelor care apar în rezolvarea problemelor de control optimal se alege de
multe ori să se studieze problema asa-zisului control suboptimal, caz în care se consideră că
timpul t f poate fi oricat de mare, el tinzând la infinit.

Sistemul dinamic este de forma:


x ( t ) = A x ( t ) + Bu ( t ) (29)

cu matricele A şi B constante.
Starea iniţială a sistemului x ( 0 ) este fixată. în cazul în care t f → ∞ , indicatorul de

performanţă capătă forma:


1 ∞ T
2 ∫0 
J=  x ( t ) Q ( t ) + uT ( t ) Ru ( t )  dt (30)

cu:
Q ≥ 0 (pozitiv semidefinită)
R > 0 (pozitiv definită)
Extinderea problemei către t f → ∞ impune restricţii de convergenţă pentru integrala

improprie (30), printre care condiţiile necesare:


lim x ( t ) = 0 , lim u ( t ) = 0
t →∞ t →∞

Aceste condiţii sunt însă automat îndeplinite dacă ( A ⋅ B ) este stabilizabilă, deci să existe

un K astfel încât:
σ (A + BK ) ∈ C −1
Matricea de reacţie este unică numai dacă sistemul are o singură comandă.
Indicele de performanţă (30) fiind o integrală improprie, trebuie evaluată (şi minimizată)
printr-o trecere la limită cu t f → ∞ .

8
În cazul încare soluţia EDMAR converge, atunci S = 0 , şi deci:
A T S ∞ + S ∞ A − S ∞ BR −1 B T S ∞ + Q = 0 , (31)
ecuaţie care se mai numeşte Ecuaţia Matriceală Ricatti (EMAR):
Dacă S∞ există, atunci:

K ∞ = −R −1B T S ∞ (1.32)
lege de comandă prin reacţii după stare, matricea de reacţie K fiind însă o mărime constantă.
Se pot de asemenea demonstra doua lucruri: în primul rând: dacă (A ⋅ B ) este
controlabilă, atunci, pentru orice S (t f ) există soluţie limită mărginită S ∞ a EDMAR. S ∞ este şi

soluţie pozitiv definită, unică, a EMAR, şi al doilea: dacă C este o matrice astfel încât
Q = C T C şi presupunem (A ⋅ C) observabilă, atunci (AB ) este stabilă. De aici rezultă că:
a) există o unică soluţie limită pozitiv definită S ∞ a EDMAR, care este în acelaşi timp şi
unica soluţie pozitivă a EMAR.
b) sistemul în buclă închisă e intern asimptotic stabil:
x = (A + B K ) x , u =Kx
u = K x este o lege de comandă optimală numai pe [0, ∞ ) .

C. Problema sistemelor cu timp discret


Tratăm doar cazul sistemelor lineare.
Fie sistemul liniar definit de:
x(k +1) = A d x(k ) + B d u(k ) (33)
unde:
x(k ) este vectorul stărilor (n dimensional)
u(k ) este vectorul comenzilor (r dimensional)
A d este o matrice nxn

B d este o matrice nxr


În problema controlului optimal pătratic numeric este de dorit să determinăm o lege de
comandă corespunzătoare vectorului u(k ) astfel încât indicele de performanţă pătratic să fie
minimizat.
Un exemplu de indice de performanţă pătratic este:

9
1 1 N −1
J= x * ( N )S x (N ) + ∑ [x * (k )Q x (k ) + u * (k )Ru(k )]
2 2 k =0 (34)
Q este o matrice nxn dimensională pozitiv sau semipozitiv definită Hermitiană
(sau o matrice reală simetrică)
R este o matrice rxr dimensională pozitiv definită Hermitiană (sau o matrice reală
simetrică)
S este o matrice nxn dimensională pozitiv sau semipozitiv definită Hermitiană
(sau o matrice reală simetrică)
Primul termen al sumei reprezintă importanţa stării finale. Primul termen al sumei
iterative reprezintă importanţa relativă a erorii în timpul procesului şi cel de-al doilea reprezintă
importanţa relativă a consumului de energie în semnalele de comandă. Presupunem că vectorul
de comandă u(k ) nu este supus la restricţii.
Legea de comandă va fi de forma:
u(k ) = −K (k ) x (k ) (35)
unde K (k ) este o matrice rxn dimensională variabilă în timp. Dacă N → ∞ , atunci K (k ) devine
o matrice rxn dimensională constantă. Proiectarea unui sistem de control optimal bazat pe un
astfel de indice de performanţă pătratic se reduce la determinarea matricii K (k ) , respectiv a
matricii K în cazul controlului suboptimal.
Cea mai importantă caracteristică a legii de comandă bazată pe un astfel de indice de
performanţă este aceea că este reprezentată de o funcţie lineară a vectorului de stare x(k ) . Pentru
o astfel de reacţie este necesar ca toate stările să fie accesibile. Este, din acest motiv, avantajos să
reprezentăm sistemul în funcţie de variabilele de stare măsurabile. Dacă nu toate mărimile sunt
măsurabile este necesar să le estimăm sau să le observăm pe cele care nu sunt măsurabile,
folosind astfel mărimile măsurate şi cele estimate pentru a genera reacţia optimală.
Avantajul folosirii unei scheme de control optimal pătratică este acela că sistemul
proiectat va fi asimptotic stabil pentru orice sistem.
Există mai multe abordări ale acestei probleme. Cea mai uzuală este aceea care foloseşte
multiplicatorii Lagrange. Este de remarcat că trebuie studiat şi răspunsul în frecvenţă pentru
sistemele de comandă optimală proiectate în spaţiul stărilor. Există cazuri în care trebuie luată în
considerare şi o anumită rejecţie a zgomotelor, în astfel de cazuri trebuind să se accepte un
control suboptimal sau să se modifice indicele de performanţă.

10
C.1. Problema controlului optimal pătratic.
Problemele de control optimal pătratic pot fi rezolvate prin mai multe metode. În acest caz
vom folosi metoda multiplicatorilor Lagrange.
Fie sistemul linear discret descris mai sus (1.33). Să se găsească secvenţa de control
optimal u(0), u(1), u(2),…u( N − 1) care minimizează indicele de performanţă pătratic. Un
exemplu de indice de performanţă pătratic pentru un proces finit (0 ≤ k ≤ N ) este dat de formula
(1.34).
Matricile Q , R şi S sunt alese astfel încăt să moduleze importanţa relativă a
performanţelor vectorului de stare x(k ) (k = 0,1, 2,… N − 1) , vectorului de comandă
u(k ) (k = 0,1, 2, … N − 1) şi respectiv a stării finale x( N ) .
Starea iniţială a sistemului este arbitrar aleasă ca fiind x(0) = c . Starea finală x( N ) poate
1
fi fixată, caz în care termenul x * ( N )S x ( N ) este scos din cadrul indicelui de performanţă
2
prezentat în ecuaţia (1.34) şi este impusă starea finală x( N ) = x f , unde x f este starea finală

impusă. Dacă starea finală nu este impusă, atunci primul termen al sumei reprezintă influenţa
stării finale asupra performanţei. Este de remarcat că includerea acestui termen în indicele de
minimizat implică faptul că impunem ca starea finală să fie cât mai aproape de origine.
O proprietate importantă a vectorului K (k ) este aceea că acesta este practic constant,
după cum vom arăta într-un exemplu.

Blocul de precalcul al

K (k )

x(k ) u(k ) + x(k )


− K(k ) Bd z −1I
+

Ad

Figura 6.1. Schema de principiu a sistemului reglat pe baza controlului optimal

11
6.2. COMANDA UNUI MOTOR DE CURENT CONTINUU ALIMENTAT
ÎN CURENT

Scopul acestui paragraf este de a arăta pe un exemplu simplu, cunoscut, de ordinul 1 că nu


există diferenţe semnificative între rezultatele obţinute pentru cazul reglării optimale şi cele din
cazul în care se consideră reglarea suboptimală.
Considerăm un motor de curent continuu alimentat în curent (Figura 6.2). Comportarea sa
este descrisă de ecuaţia de regim dinamic:
dΩ
J = k i − FΩ − ms
dt
sau:
F k 1
Ω = − Ω + i − m s
J J J
Dacă se notează:
F k 1
A=− B= E=− x =Ω u=i v = ms
J J J
atunci obţinem forma generală a unui sistem dinamic linear de ordinul I:
x = Ax + Bu + Ev .
Ecuaţia EDMAR va fi:
− S = A T S + S A − S BR −1B T S + Q .
Sistemul fiind de ordinul 1, S este un scalar. Presupunem că: x0 = 200 rad/s.
Calculul vectorului de reacţie este făcut în MATLAB prin integrarea ecuaţiei (26) la
fiecare pas al simulării. Schema în SIMULINK cu care s-a făcut simularea este ceea din Figura
6.2.
Dacă considerăm S N = R = 1000 şi Q = 10 5 , atunci modul de variaţie în timp al vitezei şi

al curentului (mărimi de comandă) este prezentat în Figura 6.3 şi 6.4, iar variaţia lui F ( t ) în

Figura 6.5.

12
Figura 6.2. Schema de simulare în MATLAB SIMULINK pentru un motor de curent continuu alimentat în
curent, pentru cazul comenzii optimale

Variatia curentului prin motor


20

-20

) -40
A(
aI -60
r
ot
o -80
m
ni
pr
l -100
ut
n
er -120
u
C
-140

-160

-180
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
5
x 10
pasi de esantionare (h=1e-6 sec) Durata simularii 0.2 sec

Figura 6.3. Variaţia curentului prin motor în cazul comenzii optimale

13
Variatia vitezei motorului
200

180

160

140
)
s/
d
a(r 120

i
ul
ur 100
ot
o
m 80
a
z
et
i 60
V
40

20

0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
5
x 10
pasi de esantionare (h=1e-6) Durata simularii 0.2 sec

Figura 6.4. Variaţia vitezei prin motor în cazul comenzii optimale

Variatia factorului de reactie


12

10

6
)t
(
F
4

0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
5
x 10
pasi de esantionare (h=1e-6) Durata simularii 0.2 sec

Figura 6.5. Variaţia factorului de reacţie K (t ) în decursul simulării

14
S-a studiat comportarea aceluiaşi sistem pentru cazul în care factorul de reacţie nu variază
în timp, respectiv pentru cazul reglării suboptimale, considerând valoarea stabilizată a
K (t ) = 10.036 (valoare obţinută şi pentru aplicarea algoritmului LQR din MATLAB pentru datele
de simulare) pentru o comparaţie între cele două situaţii şi s-a putut observa că nu există diferenţe
sesizabile între compartările celor două sisteme, motiv pentru care nici nu le-am prezentat
comparativ (se suprapuneau).
După cum se observă din grafice, factorul de reacţie este practic constant, el variind doar
pentru o perioada de 0.015 secunde. Din acest considerent şi datorită faptului că practic între
rezultatele celor două simulari (pentru F ( t ) variabil şi respectiv constant, egal cu valoarea

stabilizată din primul caz), nu există diferenţe sesizabile putem trage concluzia că se poate folosi
pentru sisteme mai complexe valoarea stabilizată a vectorului de reacţie, respectiv metoda
suboptimală.
Mai mult, în cazul sistemelor de gradul 2 se poate calcula forma matricii S∞ pornind de la
parametrii clasici de definire a performanţelor unui astfel de sistem, respectiv ξ şi ω , dar forma
analitică obţinută este extrem de complicată, iar calculul în sine practic imposibil de făcut pentru
sisteme de ordin mai mare, acesta fiin dun argument în plus pentru folosirea acestei metode
pentru care există algoritmi de calcul în MATLAB sau dezvoltaţi de diferiţi autori (cum este cel
prezentat în paragraful 6.3).

6.3. COMANDA OPTIMALA PENTRU UN PENDUL INVERS


Scopul acestui paragraf este acela de a arăta că cu ajutorul metodei suboptimale se poate
stabiliza un sistem intrinsec instabil.
Un exemplu clasic de model instabil este cel al pendulului invers cu care fiecare dintre noi
s-a jucat în copilărie menţinând în echilibru o coadă de mătură. În exemplul prezentat este tratat
doar cazul 2D în care deplasarea se face doar în spaţiul xz . (Figura 6.6). Problema este inversă
cazului pendulului simplu, deoarece poziţia sa s-a inversat. Sfera de masă m este în partea
superioară a unei tije rigide de lungime l , de masă neglijabilă ce este în partea inferioară cuplată
la o articulaţie fixată pe un cărucior de masă M . Acest cărucior se deplasează de la stânga la
dreapta cu ajutorul unui servomotor şi al unui reductor care îi aplică acestuia o forţă u de
amplitudine şi sens variabile.

15
Definim unghiul de înclinare a tijei faţă de verticală ca fiind θ . Cum scopul este acela de
a păstra tija verticală, vom pleca de la presupunerea că θ este mic. Definim de asemenea,
coodonatele centrului de masă al pendulului în sistemul ( x, z ) ca fiind:

xG = x + l sin θ
zG = l cos θ
Aplicând a doua lege a lui Newton pe direcţia x de mişcare vom avea:
d2 x d 2 xG
M + m =u
dt 2 dt 2
sau:
d2 x d2
M + m ( x + l sin θ ) = u (36)
dt 2 dt 2
Aplicând o serie de calcule nu foarte complicate se aduce sistemul la forma:
x1 = x 2
M +m 1
x 2 = g x1 − u
Ml Ml
,
x 3 = x 4
m 1
x 4 = − g x1 + u
M M

z
m, l

O P
u M

Figura 6.6. Sistemul cu pendul invers

16
Figura 6.7. Schema de simulare pentru reglarea pendulului invers

considerând stările sistemului ca fiind:


x1 = θ
x = θ
2

x3 = x
x4 = x
Scriind aceste relaţii matriceal vom avea:
0 1 0 0 x 0 
 x1   M + m   
 x    1   1 
0 0 0 x −
 2  =  Ml  2  +  Ml u (37)
 x 3   0 0 0 1  x 3   0 
  m    1 
 x 4   − M g 0 0 0  x 4  
  M 

 x1 
x 
y = [0 0 1 0] 2  (38)
 x3 
 
x4 
Ecuaţiile dau reprezentarea în spaţiul stărilor pentru sistemul pendulului invers. (este de
reţinut că această reprezentare nu este unică, existând o infinitate de reprezentări echivalente).
Înlocuind valorile numerice pentru m = 0.1Kg , M = 2 Kg , g = 9.98m / s 2 şi l = 0.5m vom
avea:

17
 0 1 0 0 0
 20.601 0 0 0  − 1
A= , B =  , C = [0 0 1 0] , D = [0]
 0 0 0 1 0
   
− 0.4905 0 0 0 0.5
În continuare discretizăm ecuaţia în spaţiul stărilor. Acest lucru se va face folosind
comanda MATLAB:
[A d , B d ] = c2d (A, B, Ts )
unde Ts este perioada de eşantionare a sistemului discret. În această problemă considerăm

Ts = 0.1 sec.
şi va transforma ecuaţia continuă în spaţiul stărilor în echivalenta ei discretă. Astfel, modelul
discret devine:
x (k + 1) = A d x(k ) + B d u (k )
y (k ) = Cx(k ) + Du (k )
unde:
 1.1048 0.1035 0 0  − 0.0051
 2.1316 1.1048 0 0  − 0.1035
Ad =  , Bd =  
− 0.0025 − 0.001 1 0.1  0.0025 
   
− 0.0508 − 0.0025 0 1  0.0501 

Simularea a fost făcută pentru acest sistem în forma sa extinsă, folosind şi în plus un
integrator pentru imbunătăţirea răspunsului. Schema de simulare este prezentată în Figura 6.7.
Răspunsul sistemului este prezentat în Figura 6.8.
Important de reţinut în acest caz este că deşi acest sistem este instabil iniţial, el a putut fi
reglat, variţiile poziţiei pendului nedepăşind o valoare rezonabilă (oricum fiind sub 15 grade, o
dată depăşită această valoare modelul sistemului nu mai este valabil şi deci controlul nu va mai
funcţiona sistemul redevenind instabil).
Pentru cazul acestui sistem s-au făcut simulări folosind algoritmul MATLAB, LQRD
pentru cazul discret ( h = 0.1 sec) şi s-au obţinut următorul rezultat:
K1 = [− 56.15 − 12.50 − 5.41 − 6.26]
În acest paragraf s-a simulat reglarea unui sistem intrinsec instabil, având ca principal
obiectiv stabilizarea sistemului şi de asemenea păstrarea variaţiilor mărimilor de stare în anumite
limite, deci minimizarea acestor variaţii. Totuşi, implementarea acestui sistem se va lovi de

18
impedimente datorate în primul rând faptului ca nu toate mărimile de stare sunt accesibile, iar
această variantă de reglare necesită accesul la toate mărimile de stare, ceea ce va presupune
estimarea unora dintre ele, respectiv a poziţiei şi vitezei pendului.
Una din diferenţele semnificative în ceea ce priveşte comparaţia celor două variante este
aceea că în timp ce algoritmul LQRD foloseşte modelul scris în timp continuu şi îl discretizează
în interior, algoritmul iterativ poate folosi direct modelul discretizat în cazul în care modulul în
timp continuu nu este cunoscut, acesta fiind un avantaj al acestei variante.
Starile sistemului cu pendul invers
1.2

pozitia caruciorului
1

0.8

0.6

0.4 viteza caruciorului

0.2
viteza unghiulara a pendulului

0
pozitia pendulului

-0.2
0 10 20 30 40 50 60 70 80 90 100

pasi de esantionare (h=0.001) durata simularii 0.1 sec

Figura 6.8. Răspunsul sistemului cu pendul invers, folosind algoritmul MATLAB de


calcul al vectorului de reacţie

6.4. COMANDA OPTIMALĂ PENTRU BANDA DE MAGNETOFON

Sistemul pe care îl vom prezenta în continuare este modelul sistemului cu bandă de


magnetofon. Acest sistem este un foarte bun exemplu în ceea ce priveşte sistemele MIMO. Şi în
acest caz am considerat în calculul vectorului de reacţie şi o parte integrală a reglării pentru cele
două ieşiri. Sistemul este cel din Figura 6.9 şi este compus din două motoare independente, deci
este posibil să controlăm poziţia benzii deasupra capului de citire (mărimea x3 ) şi de asemenea

19
tensiunea în bandă ( Te ). Sistemul a fost modelat astfel încat să fie luată în considerare şi o mică
vâscozitate precum şi elasticitatea benzii. Scopul este de a regla poziţia benzii deasupra capului
de citire menţinănd în acelaşi timp o tensiune în bandă constantă.
Ecuaţiile modelului sunt:
Jθ1 = −Te r + K mi1
Jθ = −T r + K i
2 e m 2

Te = k ( x2 − x1 ) + b ( x2 − x1 )
x1 + x2
x3 =
2
unde:
J = 0.01Kgm 2
r = 0.1m
K m = 0.8 Nm / A
k = 3100 N / m
b = 4.5 Ns / m
După rescrierea sistemului de ecuaţii în funcţie de mărimile de stare alese, vom avea:
 0.5 0.5 
0 0 −  0 0 
r   bK bK m 
r
 x3   k

k   x3   − m
 T  0 0    rJ rJ   i 
 e= r r   Te    1
ω1   1  ω  + K m
 0  i2 
  0 − 0 0   1  J 
ω 2   r  ω2 
 Km 
 1 
0 − 0 0   0 
 J 
 r 

20
x1 x3 x2
b
θ1
θ2

r r
k
Kmi1

Kmi 2

i1 i2

Figura 6.9. Sistemul cu banda de magentofon

Figura 6.10. Schema SIMULINK pentru reglarea pozitiei benzii de magnetofon

21
Dificultatea acestei probleme a constat în faptul că sistemul este de tip MIMO, în plus
ieşirile lui nu se regăsesc printre mărimile de stare ale sistemului, fiind de fapt o combinaţie a
acestora, după cum urmează: avem patru mărimi de stare: tensiunea în bandă, poziţia deasupra
capului de scriere, şi cele două viteze unghiulare ale motoarelor de angrenare şi ca ieşiri ale
sistemului avem de fapt poziţiile benzii deasupra celor două capete de angrenare, mărimi care pot
fi obţinute din mărimile de stare şi invers.
Au fost simulate două variante: prima variantă este aceea a unei referinţe de poziţie de tip
treaptă ( x3ref = 1 ) şi cea de a doua pentru o referinţă de tip rampă (cu pantă unitară) pentru poziţia

deasupra capului de scriere.


Pentru cele două variante au fost impuse două seturi de matrici pondere şi s-au obţinut doi
vectori de reacţie după cum urmează:
Pentru referinţă treaptă:
2000 0 0 0 0 0
 0 1000 0 0 0 0 

 0 0 1 0 0 0 1 0
Q=  şi R =  
 0 0 0 1 0 0 0 1 
 0 0 0 0 100 0 
 
 0 0 0 0 0 10

− 32.1426 − 21.2525 2.4067 − 0.0696 − 7.1627 − 2.1190


K = 
− 31.2884 21.7234 10.8645 − 8.4494 − 6.9723 2.1786 

Pentru intrare rampă:


1e + 9 0 0 0 0 0
 0 2e + 6 0 0 0 0 

 0 0 1 0 0 0 1 0
Q=  şi R =  
 0 0 0 1 0 0 0 1 
 0 0 0 0 100 0 
 
 0 0 0 0 0 10

− 22455 − 1920 81 − 43 − 7.10 − 1.35


K = 
 − 22181 198 89 − 34 − 7.01 − 1.39

22
Figura 6.11. Răspunsul sistemului cu bandă de magnetofon la intrare treaptă

Figura 6.12. Răspunsul sistemului cu bandă de magnetofon la intrare rampă

23
Se observă că dacă pentru referinţa treaptă răspunsul este cel aşteptat, prezentând un uşor suprareglaj şi apoi
stabilizându-se, pentru referinţă rampă apare o uşoară întârziere a răspunsului, dar aceasta este foarte mică. O
modificare a matricilor de pondere astfel încât această întârziere să nu mai apară ar duce la apariţia unor oscilaţii ale
tensiunii în bandă, ceea ce este de evitat din considerente mecanice.

6.5. COMANDA OPTIMALĂ VS. COMANDA ÎN CASCADĂ PENTRU UN


SISTEM DE POZIŢIONARE ACŢIONAT CU UN MOTOR DE CURENT
CONTINUU

Pentru studiul principial al comparaţiei între comanda clasică şi cea optimală pentru sistemul de
poziţionare vom folosi modelul motorului de curent continuu exprimat în timp continuu cu
ajutorul transformatei Laplace. Pentru acest model am simulat două variante de reglare:
- prima variantă presupune reglarea în cascadă (poziţie, viteză, curent), cu tratarea saturaţiei
pe fiecare buclă şi regulatoare PI proiectate pentru un suprareglaj de aproximativ ξ = 0.7
pentru buclele de curent şi viteză şi un regulator P pentru bucla de poziţie.
- a doua variantă presupune reglarea sub-optimală după stare în timp continuu, cu vectorul
de reacţie calculat cu ajutorul algoritmului MATLAB. Punându-se problema reglării după
stare, nu vom avea blocuri de saturaţie.
S-a făcut simularea celor două variante în paralel şi rezultatele sunt prezentate comparativ
pentru cele trei mărimi de stare.
Datele motorului pentru care am făcut simularea sunt:
- tensiunea nominală: U n =60 V;

- cuplul nominal: M n =7 Nm;

- cuplul maxim: M nmax =70 Mn

- turaţia nominală: n N =1000 rpm;

- turaţia maximă: n max =2000 rpm;

- curentul nominal: I n =16 A;

- curentul maxim: I max =95 A;

- tensiunea maximă: U max =120 V;

- constanta de flux: k=0.44 Nm/A


- momentul de inerţie: J=0.015 Kgm2

24
- coeficient de frecări vâscoase: F=6e-3 .
Setul de ecuaţii ce definesc modelul motorului de curent continuu se poate scrie pornind
de la mărtimile de stare:
x1 (s ) = i A , x2 ( s ) = Ω e ( s ) = x3 ( s ) şi x3 (s ) = θ e (s ) ,
Cu aceste notaţii modelul de mai sus se poate scrie sub forma unui sistem de ecuaţii de
ordinul 1 de forma:
1
x1 ( t ) =
LA ∫ {kT k A θi ( t ) − x1 ( t ) − kr x2 ( t ) − RA x3 ( t )} dt
1
J ∫
x2 ( t ) =  k x1 ( t ) − Frx2 ( t ) − ms ( t )  dt

x3 (t ) = ∫ x 2 (t )dt (68)

Diferenţiind aceste ecuaţii şi notând operatorul de derivare printr-un punct plasat deasupra
variabilelor de stare, sistemul se poate rescrie sub o formă matricială de tipul:

. R k k k kT k A
− A − − T A x1 ( t ) 0
x1 ( t ) LA LA LA LA
.
= k F . + θi ( t ) + 1 ms ( t )
x2 ( t ) − 0 x2 ( t ) 0
Jr Jr Jr
.
x3 ( t ) 0 1 0 x3 ( t ) 0 0

unde:
 x1 ( t )  i A ( t ) 
   
x ( t ) =  x2 ( t )  = Ωe ( t ) 
   
 x3 ( t )  θe ( t ) 

reprezintă vectorul de stare ( x ∈ ℜn , n = 3 stări), u( t ) = θi ( t ) -intrarea ( u ∈ ℜ1 ) v( t ) = m s (t ) -

perturbaţia ( v ∈ ℜ1 ), y( t ) = θe (t ) = x 3 ( t ) -ieşirea sau mărimea măsurată direct y(t ) , ( y ∈ ℜ1 )

 x1 (t ) 
 
θe (t ) = y(t ) = x 3 (t ) = [ 0 0 1 ] ⋅  x 2 (t ) (69)
 x (t ) 
 3 

25
Acest set de n = 3 ecuaţii diferenţiale reprezintă modelul unui sistem cu o singură intrare
şi o singură ieşire, tipic pentru majoritatea sistemelor de poziţionare sau de reglare a vitezei. Setul
de ecuaţii de mai sus se poate scrie şi sub o formă compactă:
x ( t ) = A x( t ) + b u(t ) + e v(t )

y( t ) = c T x( t ) + d u( t ) (70)

 RA k kPkA   kP k A  0  0   0 
− L − −        
LA LA  
LA
      
 A 
 k F      0   1 
A= − 0 , b= , c= , d= , e= 
 Jr Jr  0  0 J r
      
      0   
 0 1 0         0 
 0  1     

A ∈ ℜ n×n , b ∈ ℜ n , c ∈ ℜ n , d ∈ ℜ1 , e ∈ ℜ n (71)
Pentru varianta în cascadă am obţinut din calcul următorii coeficienţi ai regulatoarelor:
-regulatorul de curent: K ii = 98.96 , K pi = 79.16*10−3 ;

-regulatorul de viteză: K pv = 5.39 K iv = 2.01 ;

-regulatorul de poziţie: K poz = 1.1 .

- K = [15.58 21.51 316.22] ,

pentru matricile de pondere egale cu: Q=[25 0 0; 0 15 0; 0 0 10000] si respectiv r=0.1.

Schema de simulare este cea prezentată Figura 6.13. Rezultatele simulării sunt cele din
Figurile 6.14 (curent), 6.15 (viteză) şi respectiv 6.16 (poziţie).

26
Variatia curentului prin motorul de curent continuu (cazul 2)
100

80
reglarea in cascada

60

40
)
A(
aI
r 20
ot
o
m 0
ni
pr
l
ut -20 reglarea optimala
n
er
u
c
-40

-60

-80

-100
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

pasi de esantionare (h=1e-4) durata simularii 0.5 sec

Figura 5.5. Variaţia curenţilor încele două cazuri

Variatia vitezei motorului de curent continuu


100

80

reglarea in cascada

60
)
s/
d
a(r
a
ci 40
r
ot
or reglarea optimala
a
z
eti
20
v

-20
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

pasi de esantionare (h=1e-4) durata sumularii 0.5 sec

Figura 5.6 Variaţia vitezelor în cele două cazuri

27
Variatia pozitiei motorului de curent continuu (cazul 2)
6

5
reglarea in cascada

4
reglarea optimala
)
d
ar(
i
ul
ur 3
ot
or
ati
i
z
o
p 2

0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

pasi de esantionare (h=1e-4) durata simularii 0.5 sec

Figura 5.7. Variaţia poziţiei rotorului în cele două cazuri

S-au modificat iterativ matricile pondere astfel încât să se rezolve problema curentului
mare (problemă care apărea la o primă alegere a matricilor pondere), în acest caz curentul maxim
cerut de sistemul de reglare fiind mai mic decât cel maxim admisibil prin motor şi să pentru a se
mări viteza de creştere a poziţiei, obţinându-se un răspuns chiar mai rapid decât în cazul reglării
în cascadă, unica problemă fiind apariţia unui suprareglaj, deşi acesta este mai mic de 1 % din
valoarea stabilizată a poziţiei.
Rămâne de studiat posibilitatea implementării unei reglări combinate (clasică cu
regulatoare PI pentru partea de curent) şi eventual suboptimală pentru partea de viteză şi poziţie,.
Totuşi, până la găsirea soluţiei de compromis, în măsura în care se hotărăşte folosirea
acesteia, s-a văzut că răspunsurile în poziţie (mărimea care ne interesează) răspunsul sistemului
cu reglare optimală este superior celui cu reglare în cascadă, dar diferenţele nu sunt suficient de
mari încât să justifice implementarea unei asemenea soluţii în acest moment. Pentru acest caz
reglarea suboptimală este mai degrabă un sistem de referinţă, iar decizia de folosire a unei
variante sau a celeilalte este legată strâns de aplicaţiile particulare.

28

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