Professional Documents
Culture Documents
GÁSPÁR PÉTER
Közlekedés- és Járműirányı́tási Tanszék
1 Irányı́tástervezés pólusallokációval
Budapest, 2017 2 / 40
Kérdések
Irányı́tástervezés pólusallokációval
A ✛
kT ✛
Az irányı́thatóság ellenőrzése:
1 0
C= → rangC = 1
0 0
Az állapotvisszacsatolás alkalmazásával:
T
u = −k T x + r, ahol k = k1 k2
ẋ1 −k1 1 − k2 x1 1
= + r
ẋ2 0 −1 x2 0
ẋ = Ac x + bc u
y = cTc x.
Ac − bc k T =
−(an−1 + kn−1 ) . . . −(a1 + k1 ) −(a0 + k0 )
1 0 0
= .. ..
0 . .
0 ... 1 0
αi = ai + ki , i = 0, . . . , n − 1.
ki = αi − ai , i = 0, . . . , n − 1.
ai + ki = αi
ki = αi − ai
Állapottér transformáció:
Ha a rendszer irányı́tható, de nem irányı́thatósági alakban adott, akkor
egy T nem szinguláris transzformációs mátrix segı́tségével irányı́thatósági
alakra hozható.
xc = T x
ahol T = Tc a transzformciós mátrix. Az irányı́thatósági alakban jelöljük
Ac = T x és bc = T b-vel az állapotegyenlet együtthatóit.
A tervezés ebben az irányı́thatósági alakban történik, ami azt jelenti,
hogy a tervezés eredményeként egy olyan kc állapot-visszacsatolást
tervezünk, amely az irányı́thatósági állapottér reprezentációra működik,
azaz az u irányı́tójel az xc állapottérben:
u = −kcT xc
u = −kcT xc = −kcT T x
k T = kcT · T
Az irányı́tójel az alábbi:
u = −kn−1 x1 − · · · − k1 xn−1 − k0 xn + r
ẋ = Az x + br
y = cT x,
ahol Az = A − bkT
ẋ = Ax + bu
y = cT x
11 −17 −7 1
A= 1 0 0 b = 0 cT = 0 0 1
0 1 0 0
a2 = −11; a1 = 17; a0 = 7
Szabályozott rendszer karakterisztikus polinomja:
(s − λ1 ) (s − λ2 ) (s − λ3 ) = (s + 1) (s + 2) (s + 3)
= s3 + 6s2 + 11s + 6
α2 = 6; α1 = 11; α0 = 6
Állapotvisszacsatolás erősı́tései: k2 = 17; k1 = −6; k0 = −1
kT = 17 −6 −1
ẋ = Ax + bu
y = cT x
0 1 2 2
A= 0 2 1 b = 0 cT = 1 0 0
0 2 −3 1
Transzformációs mátrix:
2 4 −19
T −1 = Cτ = 0 1 0
1 −2 0
ahol
2 0 1 1 1 −8
C= 2 1 −3 , τ = 0 1 1 ,
−5 −1 11 0 0 1
det(sI − A) = s3 + s2 − 8s.
Transzformációs mátrix:
0 2.0000 1.0000
T = 0 1.0000 0
−0.0526 0.4211 0.1053
θ mg
❄
l
u (erő)
M ✲
z (elmozdulás)
✲
Tervezzünk állapotvisszacsatolást pólusallokáció módszerrel, melynek
eredményeként a pólusok µ1,2 = −2 ± 3.46i, µ3 = −10, µ4 = −10.
helyekre kerülnek. Állapottér reprezentáció elemei:
0 1 0 0 0
0 0 −0.4905 0 0.5 T
A= , b= ,c = 1 0 0 0
0 0 0 1 0
0 0 20.601 0 −1
Irányı́tástervezés pólusallokációval / Inverz inga Budapest, 2017 24 / 40
Irányı́tási feladat
a(s) = s4 − 20.6s2
ahol a3 = 0, a2 = −20.60, a1 = 0, a0 = 0.
A tervezett zárt rendszer karakterisztikus polinomja alapján az
együtthatók:
xM ✲
ẋM ✲ y✲
r ✲ u ✲
ẋ = Ax + Bu θ ✲ y = cT x
− ✒ ✕❑ ■ − θ̇ ✲
− −
k3 = −162.8 ✛
k2 = −73.3 ✛
k1 = −297.9 ✛
k0 = −60.6 ✛
0
0.01
−2
0
−4
−0.01
−6
−8 −0.02
0 1 2 3 4 0 1 2 3
sec 4
x 10
−3 szögelfordulássec szögsebesség
4 0.02
0.01
2
0
0
−0.01
−2
−0.02
−4 −0.03
0 1 2 3
sec 4 0 1 2 3 4
sec
0 0
−0.05 −0.05
−0.1 −0.1
−0.15 −0.15
0 2 4 6 8 0 2 4 6 sec8
sec
szögelfordulás szögsebesség
0.01 0.04
0.02
0
0
−0.02
−0.01
−0.04
−0.02 −0.06
0 2 4 6 sec 8 0 2 4 6 8
Irányı́tástervezés pólusallokációval / Módosı́tott feladat (b. eset) Budapest, 2017 29 / 40
Módosı́tott feladat (c. eset)
A c. kı́sérletben a tervezett rendszer pólusait a zérustól távolabb
helyezzük: µ1,2 = −4 ± 6.92i, µ3 = −20, µ4 = −20. Az tervezett k T
erősı́tő együtthatói
az előző esettel azonos levezetéssel a
következő:k T = −2604.95 −586.65 −216.96 −341.34 A kimeneti
jel átmeneti függvénye szerint a beállási idő 1.56 sec-ra csökkent, viszont
a túllendülés mértéke nőtt az első pólusallokációs esethez képest.
−4
x 10 elmozdulás sebesség
5 0.01
0.005
0
−5
−0.005
−10 −0.01
0 0.5 1 1.5 2 0 0.5 1 1.5
sec 2
sec
−3
x 10 szögelfordulás szögsebesség
1 0.01
0.005
0.5
0
0
−0.005
−0.5
−0.01
−1 −0.015
0 0.5 1 1.5 2 0 0.5 1 1.5 2
Irányı́tástervezés pólusallokációval / Módosı́tott feladat (c. eset) sec Budapest, 2017 30 / 40
Matlab: Pólusallokáció
Tervezzünk állapotvisszacsatolt szabályozót pólusallokációs módszerrel:
A=[0 1 0 0; 0 0 -0.4905 0; 0 0 0 1; 0 0 20.601 0];
B=[0;0.5;0;-1];
C=[1 0 0 0];
D=0;
% Matlab függvénnyel
p=[-1-i*sqrt(2) -1+i*sqrt(2) -2 -3];
k=acker(A,B,p)
% lépésről - lépésre
p0=poly(A),
p1=conv([1 -p(1)],[1 -p(2)]); p1=conv(p1,[1 -p(3)]); p1=conv(p1,[1 -p(4)]),
k=[p1(2)-p0(2) p1(3)-p0(3) p1(4)-p0(4) p1(5)-p0(5)],
ti=ctrb(A,B)*[p0(1:4); 0 p0(1:3); 0 0 p0(1:2); 0 0 0 p0(1)],
t=inv(ti),
k=k*t
a=A-B*k; b=B; c=C; d=D;
eig(a)
[y,x]=step(a,b,c,d);
subplot(221), plot(x(:,1)), title(’x1’)
subplot(222), plot(x(:,2)), title(’x2’)
subplot(223),
Irányı́tástervezés pólusallokációval /plot(x(:,3)), title(’x3’)
Matlab: Pólusallokáció Budapest, 2017 31 / 40
Összefoglalás
ẋ = Ax + bu
y = cT x
A szabályozójel:
u = −k̂ T ŷ
ˆ azaz
ahol a kimenőjel: ŷ = ĉx̂ + du,
ˆ
u = −k̂ T ĉx̂ − k̂ T du
Átrendezve:
ˆ −1 k̂ T ĉx̂
u = −(1 + k̂ T d)
vagy
ˆ T )−1 .
k̂ T = k T (ĉ − dk
Az irányı́tójel:
z
u = −k̂ T ŷ = − AI AP AD y = −AI z − AP y − AD ẏ
ẏ
Z
= −AI ydt − AP y − AD ẏ
PI szabályozó
Írjuk fel az állapottér reprezentációt a bővı́tett állapottér
reprezentációban:
x̂˙ = Âx̂ + b̂u
ŷ = ĉx̂
0 cT 0 I 0
ahol  = , b̂ = , ĉ = .
0 A b 0 cT
A szabályozójel:
u = −k̂ T ŷ
ahol a k̂ T állapotvisszacsatolt erősı́tő:
k̂ T = AI AP
és az irányı́tójel:
Z
z
u = −k T = −AI ydt − AP y
y
Állapotvisszacsatolás és PID szabályozás / PI szabályozó Budapest, 2017 39 / 40
Állapotvisszacsatolás realizálása
PD szabályozó
Írjuk fel az állapottér reprezentációt:
x̂˙ = Âx̂ + b̂u
ŷ = ĉx̂ + duˆ
T
c 0
ahol  = A és b̂ = b, ĉT = T és dˆ = T
c A c b
A szabályozójel:
u = −k̂ T ŷ