Sunteți pe pagina 1din 10

3.

Stabilizarea sistemelor utilizând


o lege de comandă după stare
Scop:

•Stabilizarea sistemelor, printr-o lege de comandă după


stare;

•Controlabilitate şi alocabilitate

•Algoritmului Ackermann pentru calculul unei legi de


comandă după stare;

Regulatoare Automate
3.1. Legea de comandă după stare

O lege de comandă după stare este o relaţie de forma:

u ∈ Rm - comanda sistemului
u = −K ⋅ x x ∈ Rn - starea sistemului

K ∈ R mxn - calcul K determina o lege de comandă

⎧ x& = ( A − B ⋅ K ) u

⎩y = C x
Evoluţia stărilor ⎧⎪ e ( A − B ⋅ K ) ⋅ t x0 t∈R
sistemului rezultant: x(t ) = ⎨ x0 = x(t ) t = 0
⎪⎩ ( A − B ⋅ K ) t x0 t∈Z starea iniţială

Scopul unei legi de comandă după stare este de-a impune care să fie valorile proprii
ale sistemului rezultant
A1 = A − BK - matricea mărimilor de stare
a sistemului rezultant
Regulatoare Automate
Caz particular: Sisteme cu o singură mărime de comandă u = −k T ⋅ x k ∈ R1× n
u = − (k1 ⋅ x1 + k 2 ⋅ x 2 + L + k n ⋅ x n ) ⎡ x1 ⎤
⎢ ⎥
⎢ x2 ⎥
u = −[k1 k2 L k n ]⋅ ⎢ ⎥
u y ⎢M⎥
⎢ ⎥
_ ∑__ (A, B, C ) ⎣ xn ⎦

x1 x 2 xn
K1 Sistemul rezultant :

K2
... (
⎧⎪ x& = A − b ⋅ k T x)
M ⎨
⎪⎩ y = cT x
Kn

Legea de comandă după stare pentru cazul m=1, u∈R

Prin aplicarea unei legi de comandă după stare se poate obţine:


- stabilizarea sistemelor (dacă erau iniţial instabile)
- îmbunătăţirea performanţelor
Regulatoare Automate
3.2 Controlabilitate. Alocabilitate

Def. :Un sistem este controlabil dacă pentru orice stare x1 dată, există o comandă u(t) care
conduce la o evolutie a stării de la valoarea iniţială x0 = x(t ) t = 0 la valoarea x(t)=x1
Testatea controlabilitării unui sistem:
• matricea de controlabilitate [
R = B A⋅ B A2 ⋅ B L An−1 ⋅ B ∈ Rnx(n+m) ]
• dacă rang ( R) = n sistemul este controlabil
n -dimensiunea sistemului Exemplu:
>>A=[0 1 0;0 0 1;2 1 2];
Caz particular: Sistem cu o singură mărime de comandă, m=1 >>b=[0;0;1];
>>R=ctrb(A,b)
R=
R= b[ A⋅b ]
A 2 ⋅ b L A n −1 ⋅ b ∈ R nxn matrice pătratică 0 0 1
0 1 2
Notă: În Matlab, matricea de controlabilitate se obţine cu funcţia ctrb şi 1 2 5
>> rank(R)
rangul unei matrici cu funcţia rank ans =
Dacă un sistem este controlabil, atunci el este şi alocabil. 3

Pentru orice mulţime de valori proprii dorite: Λ = {λ1 , λ 2 , ..., λ n }


se poate determina o lege de comandă după stare u = −K ⋅ x
σ( A − BK ) = Λ
Spectrul matricei sistemului rezultant,
adică mulţimea valorilor ei proprii.
Regulatoare Automate
3.3 Algoritmul Ackemann
Sisteme cu o singură mărime de comandă
A ∈ R nxn , b ∈ R nx1
Date de intrare:
Λ = {λ1 , λ 2 , ..., λ n }
Legea de comandă după stare se obţine cu relaţia

k T = q T χ d ( A ) = q T ( A n + α n −1 A n −1 + ... + α 1 A + α 0 )
α n −1 ,..., α1 , α 0 - coeficienţii polinomului caracteristic dorit pentru sistemul rezultant

Polinomul coracteristic dorit se obţine cu relaţia:


χd (λ) = (λ −λ1)(λ −λ2 ) L(λ −λn ) = λn + αn−1λn−1 +...+ α1λ + α0
⎡0⎤
⎢0⎥
q T soluţia ecuaţiei: R q = ⎢ ⎥ T
= [0 0 ... 1]R −1
T
⎢...⎥
q
⎢ ⎥
⎣1 ⎦
[
R = b A ⋅ b A 2 ⋅ b L A n −1 ⋅ b ∈ R nxn ] - matricea de controlabilitate
Regulatoare Automate
Din punct de vedere practic
- Se obţine polinomului caracteristic dorit pentru sistemul rezultant χ λ
d ( )
⎡ 0⎤
= [q1 q 2 L q n ]
- Se rezolvă sistemul de ecuaţii: ⎢ 0⎥ T
Æ q
R q=⎢ ⎥
T
⎢M⎥
⎢ ⎥
⎣1 ⎦
Obs: Sistemul are o soluţie unică numai dacă matricea R este inversabilă Æ rang ( R) = n

- Se calculează prin înmulţiri succesive produsele q T = [q1 q2 ... q n ] × α 0


qT A = [ ] × α1
qT A2 = [ ] × α2
..............................
q T A n−1 = [ ] × α n−1
qT An = [ ] ×1
n
T k −1
- Se obţine k =
T
∑ k −1
α q A + q T n
A
k =1 Regulatoare Automate
Notă: În cazul când perechea (A, b) a sistemului comandat este în formă standard controlabilă,
prin aplicarea unei legi de comandă după stare matricea
⎡ 0 1 0 ⎤ ⎡0 ⎤
⎢ M O O ⎥ ⎢0 ⎥
A1 = ⎢ ⎥ - ⎢ ⎥ [k 0 k 1 ... k n - 1 ]
⎢ 0 O 1 ⎥ ⎢M⎥
⎢ ⎥ ⎢ ⎥
⎣ − α 0 − α 1 K − α n −1 ⎦ ⎣1 ⎦
⎡ 0 1 0 ⎤ ⎡ 0 1 0 ⎤
⎢ M O O ⎥ ⎢ M O O ⎥
A1 = ⎢ ⎥ =⎢ ⎥
⎢ 0 O 1 ⎥ ⎢ 0 O 1 ⎥
⎢ ⎥ ⎢ ' ' ⎥
− α
⎣ 0 0 − k − α1 − k1 K − α n −1 − k n −1 ⎦ ⎣ − α 0 − α '
1 K − α n −1 ⎦

χ d (λ ) = λn + α 'n −1λn −1 + ... + α1' λ + α '0 polinomul cararacteristic dorit


Determinarea [
k T = α 0' ... α n1−1 ]− [α 0 ... α n −1 ]
α i' , i = 0,..., n − 1 - coeficienţii polinomului caracteristic dorit

α i , i = 0,..., n − 1 - coeficienţii polinomului caracteristic al sistemului controlat


Notă: În Matlab, calculul unei legi de comandă după stare se poate face
cu funcţia acker care aplică algoritmul Ackermann.
Regulatoare Automate
Sisteme cu mai multe mărimi de comandă

Cazul sistemelor cu m mărimi de comandă K ∈ R mxn

- Se aleg aleator K 0 ∈ R mxn

g ∈ Rm
Se poate demonstra că dacă perechea (A,B) este controlabilă
şi perechea ( A − BK 0 , Bg ) este controlabilă

- Se calculează kT σ( A1 − b1k T ) = Λ

A1 = A − BK 0 b1 = Bg

σ( A1 − b1k T ) = σ( A − B ( K 0 + gk T )) K = K 0 + gk T

Regulatoare Automate
Exemple
Să se calculeze o lege de comandă după stare care plasează valorile proprii ale sistemului

⎡0 1 0 ⎤ ⎛ 0⎞
Λ = {− 1, − 1, − 1}
⎢ ⎥ ⎜ ⎟ T
A = ⎢0 0 1 ⎥, b = ⎜ 0 ⎟ c = [0 1 0]
⎢⎣2 1 2⎥⎦ ⎜1⎟
⎝ ⎠

Polinomul caracteristic dorit

χ d (λ ) = (λ + 1)(λ + 1)(λ + 1) = (λ + 1)3 = λ3 + 3λ2 + 3λ + 1

Perechea (A,b) este în formă standard controlabilă

k T = [1 3 3] − [− 2 − 1 − 2] = [3 4 5]

Regulatoare Automate
Să se calculeze o lege de coamndă după stare care plasează valorile proprii ale sistemului discretizat
⎡ 0 1 0⎤ ⎡0 ⎤
Ad = ⎢⎢ 1 0 0⎥⎥, bd = ⎢⎢1⎥⎥, cd = [0 0 1] Λ = {0, 0, 0}
⎢⎣− 1 0 1⎥⎦ ⎢⎣0⎥⎦
Soluţia 1. Polinomul caracteristic dorit χ d (λ ) = λ3
Matricea de controlabilitate ⎡0 1 0 ⎤
[
R = bd Ad bd ]
Ad2 bd = ⎢⎢1 0 1 ⎥⎥
⎢⎣0 0 − 1⎥⎦
Se rezolvă ecuaţia:
⎡0 ⎤ ⎡ 0 1 0⎤ ⎡ q1 ⎤ ⎡0⎤ q1 = 0
R T q = ⎢⎢0⎥⎥ ⎢ 1 0 0 ⎥ ⋅ ⎢ q ⎥ = ⎢0 ⎥ q2 = 0
⎢ ⎥ ⎢ 2⎥ ⎢ ⎥
⎢⎣1⎥⎦ ⎢⎣− 1 0 1⎥⎦ ⎢⎣ q3 ⎥⎦ ⎢⎣1⎥⎦ q3 = −1
Se construiesc produsele urmatoare, şi se înmulţesc cu coeficienţii polinomului caracteristic dorit
q T = [0 0 − 1] ×0
q T ⋅ Ad = [1 0 − 1] ×0 Soluţia 2. Utilizând Matlab
>>A=[0 1 0;1 0 0;-1 0 1];
q T ⋅ Ad2 = [− 1 − 1 − 1] ×0 >>b=[0;1;0];
>>P=[0 0 0]; % Valorile proprii dorite

q T ⋅ Ad3 = [2 1 − 1] ×1 >>k=acker(A,b,P)
k=
% Apelare algoritm Ackermann

k T = [2 1 − 1]
2 1 -1
Regulatoare Automate

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