Sunteți pe pagina 1din 11

A.

Reglarea după stare

Fie SLIT reprezentat de ecuaţiile de stare:


 
x ( t )  A  x  t   B  u  t 

 y t   C  x  t   D  u  t 
 (1)

   dt

x(t) y(t)
u(t) x t 
B C

A
Reprezentarea de stare a SLIT (1) (D = 0)

Reglarea după stare presupune o reacţie după starea reală a sistemului, reacţie care poate plasa
oriunde în semiplanul complex stâng polii matricei de stare cu reacţie dacă sunt îndeplinite
următoarele condiţii:
Ipoteza 1: Sistemul este complet controlabil.
Un sistem este complet controlabil dacă starea sa iniţială poate fi adusă în origine într-un interval de
timp finit.
Pentru (1), condiţia de controlabilitate completă se traduce prin:
rk B, A  B, A 2  B,..., A n 1  B  n , (2)
unde n este dimensiunea vectorului de stare, adică
 x1  t  
x  t  
x t    2 
 ... 
 
x n  t  
Ipoteza 2: vectorul de stare x(t) este complet accesibil, adică măsurabil (toate componentele
vectorului de stare se pot măsura.
În cazul în care ipotezele 1 sau 2 nu sunt îndeplinite, se vor face consideraţiuni ulterioare.
Schema de reglare după stare arată astfel

   dt
v(t) 
x(t) y(t)
u(t) x t 
B C
-
Sistemul
A condus

K
Schema de reglare cu reacţie după stare

Cu alte cuvinte, reacţia după stare stabileşte intrarea originală u(t) ca fiind:
u  t   v t   K  x  t  (3)
Înlocuind (3) în (1), se obţine:
 
 x ( t )   A  B  K   x  t   B  v t 

  t   C  x  t   D  v t 
 y
(4)
Principala deosebire între (1) şi (4) este reprezentată de valorile proprii ale matricilor de stare.
Sistemul (1) are valorile proprii eig A  iar sistemul (4) are valorile proprii (ale sistemului cu
reacţie după stare) date de eig A  B  K  .
Dacă SLIT (1) este complet controlabil (vezi ipoteza 1), atunci teoria spune că, pentru orice set de
valori proprii impuse sistemului cu reacţie după stare, se poate găsi o matrice K de reacţie după
stare care asigure valorile proprii dorite.
Procesul de proiectare constă în parcurgerea următorilor paşi, implementaţi cu comenzi MATLAB:

Pas 1: Se reprezintă în spaţiul stărilor sistemul (1), deci se obţine cvadruplul (A, B, C, D)
Pas 2: Se studiază completa controlabilitate
>> rank(ctrb(a,b))
Dacă valoarea returnată de comanda de mai sus este „n”, dimensiunea vectorului de stare, atunci
sistemul este complet controlabil.
Pas 3: Se alege o dispoziţie convenabilă a valorilor proprii ale sistemului cu reacţie după stare:
VP   1 ,  2 ,...,  n 
Pas 4: se calculează matricea de reacţie după stare cu comanda „place”
>> K=place(a,b,VP)

Exemplu: Reglarea poziţiei unghiulare la MCC SRV02 de la Quanser.


80 Y s   rad
H MCC  s   
s  45s U s  [ volti V ]
2

80 * 360 / pi Y s   grade o 
H MCC  s    (5)
s 2  45s U s  [ volti V]
 80 * 360 / pi   U s    s 2
 45s   Y s 
 
 80 * 360 / pi  u t   y t   45 y t 
 
y t   45 y t    80 * 360 / pi  u t  (6)
Se aleg drept componente ale vectorului de stare toate mărimile care apar derivate, deci:
 x  t    x  t    y t  
x t    1    1      (7)
 x 2  t    x 2  t    y t  
Folosind (6) şi (7), se poate scrie:
 
x1  t   y t   x 2  t 
  (6)
x 2  t   y t    45x 2  t    80 * 360 / pi  u t 
Reunind cele de mai sus, putem scrie:
x
1  t   x2  t

 
 x 2  t   45 x 2  t    80 * 360 / pi   u t 
y  x
1  t 


  
x 1 t    0 1   x1  t    0   u t 

(8)
   0  45 x 2  t  80 * 360 / pi
x 2  t
 
 x 1  t  
 y   1 0     0  u  t 
 x 2  t  

Relaţia (8) este reprezentarea de stare a SRV02 de la Quanser.


Obţinem deci cvadruplul (a, b, c, d)
 0 1 
a  0
   45


  0 
b  80
  * 360 / pi 

c

 1 0
d
  0
2 2 1 2
b* u c* u
s 2

Pulse Gain 1 Integrator Gain 2 Scope


2
Generator

2
a* u
2

Gain

2
k* u

Gain 3

Srv02_model_state.mdl

% Hmcc(s) (intrare volti [V], iesire radiani [rad])


num=80;
den=[1,45,0];
% Hmcc(s) (intrare volti [V], iesire grade [o])
num=80*(360/pi);
a=[0,1;0,-45];
b=[0;80*360/pi];
c=[1,0];
d=0;
rank(ctrb(a,b))
vp=[-10,-20];
k=place(a,b,vp)

Se observă cum raspunsul la semnale dreptunghiulare cu amplitudine 1 este stabilizat la valori


cuprinse intre 45 şi 50, deci eroarea staţionară de poziţie nu este nulă.
Sistemul trebuie scalat la ieşire cu un factor dat de inversul amplificării în regim staţionar.
Acest fapt poate fi pus în evidenţă calculând acestă valoare de regim staţionar.
H*MCC  s   c s  I   a  b  k    b
1

Y s   H*MCC  s   U s 

u  t   1 t   U s    Y s   c s  I   a  b  k    b 
1 1 1 (9)
s s
Teorema valorii finale spune că valoarea de regim staţionar se calculează cu formula:
  
  1
(9)
y    lim          c   a  b  k   b
1 1
y t  lim s  Y s  lim s  c s  I  a  b  k  b   (10)
t  s0 s0
 s 
1
1/factor * u b* u c* u
s
Pulse Gain 1 Integrator Gain 2 Scope
Gain 10
Generator
a* u

Gain
k* u

Gain 3
% Hmcc(s) (intrare volti [V], iesire radiani [rad])
num=80;
den=[1,45,0];
% Hmcc(s) (intrare volti [V], iesire grade [o])
num=80*(360/pi);
a=[0,1;0,-45];
b=[0;80*360/pi];
c=[1,0];
d=0;
rank(ctrb(a,b))
vp=[-10,-20];
k=place(a,b,vp)
factor=-c*inv(a-b*k)*b;
factor1=-c*inv(a-b*k)*b*k*[1;0];

Se observă cum ieşirea reproduce intrarea de referinţă.


O variantă modificată, des utilizată în practică, foloseşte faptul ca starea x1 este de fapt mărimea
reglată (de ieşire). Sistemul se va transforma într-un sistem autonom (fără o intrare de referinţă
clasică), referinţa fiind aplicată pe starea x1.
2 2 1 2
1/factor * u b* u 2 c* u
s
Pulse Gain 1 Integrator Gain 2 Scope
Gain 10 2
Generator
2
a* u
2

2 Gain
k* u

Gain 3

2 2 1 2
b* u c* u
s 2

Gain 6 Integrator 1 Gain 7 Scope 1


2
2
a* u
2

Gain 5
1/factor 1* u

-k* u 2 Gain 4 Pulse


2
Generator 1
Gain 8
     x  t 
x1 t   a   1   b  k   x1  t   v t  
   x 2  t   x  t  
 x 2  t  
2 
 x  t  
y  c   1 
 x 2  t  
  
 x1 t     a  b  k    x1 t    b  k  1   v t 
x  t   0
 x 2  t  

2  

  x1  t  
y  c   
  x 2 t  

Noul factor de regim staţionar va fi:


1 
y     c   a  b  k 
1
factor1 = bk 
0 
(11)
În cazul nostru acest factor este 1.
De fapt acest factor este întotdeauna unitar deoarece reprezintă amplificarea de la x1 (intrare) la x1
(ieșire).
B. Observerul de stare

B1. Observerul total de stare


În teoria reglării automate, un observer de stare este un sistem care modelează un sistem real pentru
a furniza o estimare a stării interne a sistemului real pe baza intrărilor şi ieşirilor reale din sistemul
real. În mod normal, acest observer este un model matematic implementat într-un computer (este un
algoritm numeric de estimare a stării).
Se foloseşte denumirea de observer şi nu cea de estimator de stare deoarece estimatorul de stare este
un algoritm matematic care estimează starea unui sistem în condiţii de incertitudine (marimea de
măsură este afectată de un zgomot nedeterminist, care se modelează ca un proces stochastic). În
cazul în care vorbim de observerul de stare, se presupune că măsurile sunt precise, neafectate de
zgomot.
Teoria observerului de stare (state observer) porneşte de la faptul că ipoteza 2 din capitolul anterior
nu se poate aplica frecvent în practica, deoarece nu se pot măsura întotdeauna toate componentele
de stare ale unui sistem.
Pentru implementarea unui observer de stare, se porneşte de la o nouă ipoteză, şi aceasta ideală,
şi anume ca se cunoaşte precis modelul matematic liniar al sistemului real.
După cum se ştie din teoria sistemelor, răspunsul general al unui SLIT depinde de mărimea
de intrare şi de starea iniţială a sistemului.
În figura de mai jos se reprezintă două scheme de reglare după starea modelului sistemului,
nu după starea reală a sa. Sistemul real este modelat printr-o funcţie de transfer. Modelul sistemului
real este un model de stare, care ne permite modelarea stării sistemului real.
Dacă starea iniţială (modelată în integrator) şi intrarea în sistemul real şi în model este aceeaşi,
atunci răspunsul sistemului real cât şi cel al modelului sunt identice.

num (s)
den (s)
Transfer Fcn Scope 2
Sistem real

2 2 1 2
1/factor * u b* u c* u
s 2

Pulse Gain 1 Integrator Gain 2 Scope


Gain 10 2
Generator
2
2 a* u

2 Gain
k* u

Gain 3
num (s)
den (s)
Transfer Fcn Scope 3
Sistem real 1

2 2 1 2
b* u c* u
s 2

Gain 6 Integrator 1 Gain 7 Scope 1


2
2
a* u
2

Gain 5
1/factor 1* u

-k* u 2 Gain 4 Pulse


2
Generator 1
Gain 8

Dacă starea iniţială a modelului este identică cu starea iniţială a sistemului real, atunci răspunsurile
vor fi identice, cum este exemplificat mai jos:
Răspunsuri identice: starea iniţială model este identică cu cea a sistemului real

Dacă starea iniţială a modelului este diferită de cea a sistemului real (de exemplu [-10,1]), atunci
cele 2 răspunsuri sunt diferite.

Răspunsuri diferite: starea iniţială model ([-10,1]) este diferită de cea a sistemului real ([0,0])

Mai mult, în realitate un sistem real are răspunsul afectat de anumite perturbaţii, lucru evidenţiat de
introducerea în modelul Simulink al unui semnal perturbator modelat aditiv la ieşirea sistemului
real. Modelul nu va putea reproduce răspunsul sistemului real deoarece nu poate cunoaşte apriori
evoluţia perturbaţiilor.

Răspunsuri diferite: perturbaţia afectează ieşirea sistemului real

Din cele de mai sus rezultă evident că modelul individual, fără alte informaţii din sistemul real, nu
poate fi folosit pentru o reacţie de stare, deoarece starea modelului nu poate reconstitui exact starea
sistemului real.
Arhitectura unui sistem de reglare cu reacţie după starea observerului (starea estimată) este
următoarea:
perturbatie
v(t) u(t) Sistem real
x(t) y(t)
-

Observer de
stare
x̂ ( t )

K
Arhitectura de reglare cu reacţie după starea estimată

Menirea principală a observerului de stare este aceea de a furniza o estimare x̂  t  cât mai exactă a
stării x(t) a sistemului real. La limită, dacă x̂  t   x  t  , atunci arhitectura de mai sus implementează
schema de reglare cu reacţie după starea reală.
Se observă din figura de mai sus cum observerul de stare foloseşte un feedback din sistem, şi
anume ieşirea sistemului real, afectată în mod normal de perturbaţii.
Arhitectura observerului de stare este reprezentată mai jos:
y(t)
L
-

x̂  t  ŷ t 
   dt
u(t) x̂  t 
B C

Observer de
A stare

x̂  t 
Arhitectura observerului de stare
Observerul de stare se bazează pe modelul liniar exact al sistemului real şi corectează dinamica
stării estimate cu o reacţie după diferenţa dintre ieşirea estimată ŷ t  şi ieşirea sistemului real y(t).
Sistemul de reglare global cu reacţie după starea estimată (starea observerului) este redată mai jos.
perturbatie
v(t) u(t) Sistem real
x(t)
- y(t) y(t)

L
-

x̂  t  ŷ t 
   dt
u(t) x̂  t 
B C

Model Observer de
A Sistem real stare

x̂  t 
K
Sistemul de reglare global cu reacţie după starea estimată
Ecuaţiile care descriu sistemul de reglare global sunt:
 x  t   A  x t  B  u t 
SR : 
 y t   C  x t 

 x̂  t   A  x̂ t   B  u t   L y t  ŷ t  
Obs : 
 ŷ t   C  x̂  t 
u t   v t   K  x̂ t 



Dacă definim eroarea de estimare


e t   x  t   x̂  t 
şi dacă scădem ecuaţiile perechi corespunzătoare, obţinem
x  t   x̂
  t   A   x  t   x̂  t    L  y t   ŷ t  

 y t   ŷ  t   C   x  t   x̂  t  
e  t    A  LC   e t 

 x̂  t   x  t   e t 
x   t   A  x  t   B   v t   K   x t   e t 

e   t    A  LC  e t 
 y t   C  x  t 

x  t    A  B  K   x t   B  K  e t   B  v t 

e  t    A  LC  e  t 
 y t   C  x t 

(12)
x  t  A  B  K  B  K  x t B
             v t 
et    0  A  LC e t  0 

y t    C 0   x t  


 
e t 
(13)
x t  
x t   
Dacă se notează starea extinsă ~  , atunci (13) se poate scrie:
~ ~ ~
 e t  

x  t  A
~  x  t   B  v t 
 ~ ~
 y t   C  x  t 
(14)

~  A  B  K  BK  ~  B ~
A   , B   , C   C 0
 0  A  LC 
 0 

Din (12) se observă cum eroarea de estimare are o evoluţie autonomă, din starea iniţială e 0  e 0  .
Dacă sistemul real (1) este observabil, atunci este întotdeauna posibil să se găsească o matrice
L astfel încât valorile proprii ale matricei de observabilitate  A  L  C  să aibe valorile proprii
plasate oriunde în semiplanul stâng.
~
Din (13) sau (14) se observă că matricea de evoluţie a stării A are valorile proprii date de
reuniunea dintre valorile proprii ale matricei de reglare după stare  A  BK  şi ale matricei de
observabilitate (A-LC).
Mai mult, proiectarea unui sistem de reglare după starea estimată constă în găsirea matricilor
de controlabilitate K şi de observabilitate L, proces care se poate desfăşura în etape separate şi
independente.
Proiectarea matricei L se face folosind funcţia place cu care se făcea plasamentul polilor
pentru matricea (A-BK).
 A  L  C T
 A T  CT LT
Se va face plasamentul polilor pentru perechea  A , C  , obţinându-se matricea LT .
T T

Programul de proiectare este prezentat mai jos.

% Hmcc(s) (intrare volti [V], iesire radiani [rad])


num=80;
den=[1,45,0];
% Hmcc(s) (intrare volti [V], iesire grade [o])
num=80*(360/pi);
a=[0,1;0,-45];
b=[0;80*360/pi];
c=[1,0];
d=0;
rank(ctrb(a,b))
vp_control=[-10,-20];
% proiectare K
k=place(a,b,vp_control);
factor=-c*inv(a-b*k)*b;
factor1=-c*inv(a-b*k)*b*k*[1;0];
% proiectare L
vp_observer=[-20,-30];
l=place(a',c',vp_observer);
l=l';

Semnal perturbator num (s)


den (s)
Add Iesire sistem real
Transfer Fcn
Sistem real l* u

Matrice observer L
1
c* u
1/factor * u b* u s x
Integrator C Iesire model
Pulse Corectie I /O B
Generator
a* u

A
k* u

Matrice reactie stare

Semnal perturbator 1 num (s)


den (s)
Add 1 Iesire sistem real 1
Transfer Fcn l* u
Sistem real 1
Matrice observer L 1
1
c* u
b* u s x^
Integrator 1 c Iesire model 1
b

a* u

a
1/factor 1* u

-k* u Corectie I /O1 Pulse


Generator 1
Matrice reactie K

Din figura de mai sus se observă cum perturbaţiile de la ieşirea sistemului real sunt rejectate de către
sistemul de reglare, perturbaţiile manifestându-se scurt timp faţă de valorile impuse (0 sau 1).

B2. Observerul parţial de stare


Observerul proiectat anterior se numeşte total deoarece s-a presupus că printre componentele
vectorului de măsură y(t) nu se regăsesc şi componente ale vectorului de stare x(t).
Observerul total estimează toate componentele vectorului de stare x(t). Dacă, în caz particular,
anumite componente ale vectorului de stare sunt direct măsurabile, acele componente nu se vor mai
estima, ele fiind deja cunoscute prin măsurare. În acest caz, restul componetelor de stare se vor
estima, rezultând un algoritm de control mai puţin complex.
Cu alte cuvinte, vectorul de măsură y(t) se poate scrie sub forma:
 y  t   x  t    I 0  x  t  
y t           
1 1 1

2  y  t    y  t   0 C   x  t  
2 2 2
 x 1  t    A11 A12   x1  t    B1 
             u t
 x 2  t   A 21 A 22   x 2  t    B2 
SR : 
 y t    y1  t     I 0    x1  t  


 y  t   0 C   x  t  
 2   2  2 
(15)
  t  A
 x̂  t   A 22  x̂ 2  t   B 2  u  t   L 2  y 2  t   ŷ 2  t  
21  x 1
Obs redus : 2
 ŷ 2  t   C 2  x̂ 2  t 
(16)


 y 2  t   ŷ 2  t   C 2  e 2  t 

e 2  t   A 22  e2  t   L2  C2  e2  t    A 22  L 2  C2   e2  t 

u  t   v  t    K  x1  t    x1  t  
K2      v t    K1 K 2    x  t   e  t    v t   K  x  t   K 2  e 2  t
  x̂ 2  t  
1
  2 2 


x   t    A  B  K   x  t   B  K 2  e 2  t   B  v t 

e  2  t    A 22  L 2  C 2   e 2  t 

 y t    I 0   x1  t  
0  

  C2   x 2  t  

(17)

 x t  
x t   
Dacă se notează starea extinsă ~  , atunci (17) se poate scrie:
e 2  t  
~ ~
  t  A ~

x
~  x  t   B  v t 
 ~ ~
 y t   C  x  t 
(18)

~  A  B  K  B  K2  ~  B ~
A   , B   , C   C 0
 0 A  L 2C2  
 0 

Din (17) se observă cum eroarea de estimare are o evoluţie autonomă, din starea iniţială e 20  e 2  0 .
22

Dacă sistemul real (15) este observabil, atunci este întotdeauna posibil să se găsească o matrice
L2 astfel încât valorile proprii ale matricei reduse de observabilitate  A 22  L 2  C 2  să aibe
valorile proprii plasate oriunde în semiplanul stâng.
Condiţia de observabilitate a întregului sistem (15) este suficientă dar nu necesară. Trebuie ca
numai starea x 2 să fie observabilă.
În cazul SRV-02 de la Quanser, avem o situaţie mai specială, în care
x  t  
y t   1 0     x  t
1

x  t  
1
2

Se vede cum starea x 2  t  este neobservabilă. În cazul relaţiilor de mai sus, C 2  0 şi relaţia (16)
care implementează observerul redus se scrie
Obs redus : x̂ 2  t   A 21  x1  t   A 22  x̂ 2  t   B2  u  t 
Modelul simplificat este
Semnal perturbator num (s)
y =x1
den (s)
Add Iesire sistem real
Transfer Fcn a(2,1)* u
Sistem real

A1
1
1/factor * u b(2)* u s x2^
Integrator Iesire model
Pulse Corectie I /O B
Generator
a(2,2)* u

A
k* u

Matrice reactie stare

Semnal perturbator 1 num (s)

den (s)
Add 1 Iesire sistem real 1
Transfer Fcn a(2,1)* u
Sistem real 1

1 A2
b(2)* u s x2^
Integrator 1 Iesire model 1
b

a(2,2)* u

1/factor 1* u
-k* u
Corectie I /O1 Pulse
Matrice reactie K
Generator 1

Reglarea după starea estimată x̂ 2 (observer redus de stare)

De fapt, dacă reţinem faptul că x 2  t   x 1  t  , atunci o estimare a stării x̂ 2  t   x 1  t  se va face prin


implementarea unei metode de derivare a măsurii x1  t  .
O variantă finală a estimatorului de stare redus este:

Semnal perturbator
num (s)
1/factor * u y =x1
den (s)
Add Iesire sistem real
Pulse Corectie I /O Transfer Fcn
x2 20 s
Generator Sistem real
s+20
Derivator real Iesire model

k* u

Matrice reactie stare

Semnal perturbator 1 num (s)


den (s)
Add 1 Iesire sistem real 1
Transfer Fcn
Sistem real 1 x2 20 s
s+20
Derivator real 1 Iesire model 1

1/factor 1* u
-k* u
Corectie I /O1 Pulse
Matrice reactie K
Generator 1

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