Documente Academic
Documente Profesional
Documente Cultură
•Controlabilitate şi alocabilitate
Regulatoare Automate
3.1. Legea de comandă după stare
u ∈ Rm - comanda sistemului
u = −K ⋅ x x ∈ Rn - starea sistemului
⎧ 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
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
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
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⎟
⎝ ⎠
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