MAK669 LINEER ROBUST KONTROLabl.gtu.edu.tr/hebe/AblDrive/63288041/w/Storage/109_2011...Kontrol...
Transcript of MAK669 LINEER ROBUST KONTROLabl.gtu.edu.tr/hebe/AblDrive/63288041/w/Storage/109_2011...Kontrol...
Kontrol Tasarımı
Şekildeki yapısal sistem bina benzeri bir 4 katlı yapının modelini göstermektedir. Bu modelde katlar kütleleri, kolonlar yay ve sönüm katsayısı içerdiği kabul edilmektedir. Zeminden sismik bir giriş olduğunda yapının titreşimlerinin en üst katta bulunan bir aktüatör ile kontrol edildiği düşünülmektedir. Bu yapısal sistem için kontrol tasarımı gerçekleştiriniz.
Bu yapısal sistemde 4 adet titreşim modu olup birinci ve ikinci titreşim modları kontrol edilirse titreşimlerin büyük kısmı kontrol edilebilmektedir. Kontrol tasarımında ilk 2 mod esas alınacaktır.
Kontrol Tasarımı
1 1
2 2
3 3
4 4
0
0, ,
0
1
f f f f f
f f
M x C x K x F u H z
x m
x mx F H
x m
x m
1 1 2 2 1 2 2
2 2 2 3 3 2 2 3 3
3 3 3 4 4 3 3 4 4
4 4 4 4 4
0 0 0 0
0 0, ,
0 0
0 0 0 0
f f f
m c c c k k k
m c c c c k k k kM C K
m c c c c k k k k
m c c k k
Yapısal sistemin hareket denklemi
1 1
1
0,
0
0 ,
0 0 0 1
( )0
f f f f
r f f
f
f f f f
f
f f
f y
y
f f
f
f
x A x B u
y C x
IA
M K M C
BM F
C C
C
A BP s
C
Kontrol Tasarımı
1
2
3
4
İndirgenmiş model elde etmek için öncelikle
tam dereceli sistemi modal koordinatlara
transforme edilmelidir. Bu amaçla
=
tanımlayalım. Modal transformasyon
, T
fx M I
(z=0)C K Fu
Tam dereceli sistem
1 2
11 22
2 2
1 2
1 2
12
Modal koordinatlara taşınan sistemde
ilk iki mod indirgenmiş sistem
modelini oluşturur.
,
,
İndirgenmiş sistem durum
uzayı denklem
r r r r r r
T
r
r
r
T
r
r
C K F u
C diag c c
K diag
F f f
x
i:
r r r r
r r r
x A x B u
y C x
Kontrol Tasarımı
11 22 33 44
2 2 2 2
1 2 3 4
1 2 3 4
1 2 3 4
diag
diag
( )
T
f
T
f
TT
f
C C
c c c c
K K
F F f f f f
Kontrol Tasarımı
kontrol edilen son mod frekansı 43 rad/s
kontrol edilmeyen ilk mod frekansı 66 rad/s
Bina modeli % plant parameter m1 = 1.5; m2 = 1.5;m3 = 1.5; m4 = 1.5;k1 = 2600; k2 = 2600;k3 = 2600; k4 = 2600; c1 = 0.1; c2 = 0.1;c3 = 0.1; c4 = 0.1; M_f=diag([m1 m2 m3 m4]); K_f=[ k1+k2 -k2 0 0 ;-k2 k2+k3 -k3 0 ;0 -k3 k3+k4 -k4 ;0 0 -k4 k4 ]; C_f=[ c1+c2 -c2 0 0 ; -c2 c2+c3 -c3 0 ;0 -c3 c3+c4 -c4 ;0 0 -c4 c4 ]; F_f=[0 0 0 1]'; n = length(M_f); M_fi = inv(M_f); % Definition of the full order model Af = [ zeros(n,n) eye(n,n) ;-M_fi*K_f -M_fi*C_f ]; Bf = [ zeros(n,1) ; M_fi*F_f ]; Cf1 = [ 0 0 0 1 ]; Cf = [ Cf1 zeros(1,n) ];Df = [ 0 ]; % Transform to modal axis [V,D] = eig(M_fi*K_f); [eva,idx] = sort(diag(D)); eve = V(:,idx); eme = eve'*M_f*eve; nrm = inv(sqrt(diag(diag(eme)))); phi = eve*nrm; M = phi'*M_f*phi;K = phi'*K_f*phi; C = phi'*C_f*phi;F = phi'*F_f; Cf1p = Cf1*phi; % Definition of the reduced order model (modal axis model) nr = 2; Mm = M(1:nr,1:nr);Km = K(1:nr,1:nr); Cm = C(1:nr,1:nr);Fm = F(1:nr,1); Cfm = Cf1p(1,1:nr); Arm = [ zeros(nr,nr) eye(nr,nr) ;-Km -Cm ]; Brm = [ zeros(nr,1) ; Fm ]; Crm = [ Cfm, zeros(1,nr) ]; Drm = [ 0 ]; % Definition of the reduced order model(physical axis model) phi12=phi(:,1:nr); Tphi12=[phi12 zeros(n,nr) ;zeros(n,nr) phi12 ]; Cy=[ 1 0 0 0 ; 0 0 0 1 ]; iT=[ Cy zeros(nr,n) ; zeros(nr,n) Cy ]*Tphi12; T=inv(iT); Ar=iT*Arm*T; Br=iT*Brm; Cr =Crm *T; Dr =Drm; % Frekans cevabi w = logspace(-1,2,300); omega = w*2*pi; [magp,phase] = bode(Af,Bf,Cf,Df,1,omega); [magr,phaser] = bode(Ar,Br,Cr,Dr,1,omega); figure(1) semilogx(omega,20*log10(magp(:,1)),'r-',omega,20*log10(magr(:,1)),'b-');grid; set(gca,'fontname','times','fontsize',12) title(' Tam ve Indirgenmis dereceli sistem frekans cevaplari ') xlabel('Frekans [ rad/s ]'); ylabel('Genlik [ dB ]') axis([ 1 100 -140 -20 ])
1zw
tW
K
MW
rPy
u
2z
İlk olarak titreşim kontrolü problemini ihmal edilen
yapısal olmayan belirsizliklerin neden olduğu gürültü
kontrolü problemi olarak ele alalım.
Sisteme etkiyen gürültünün giriş tarafından etkidiği
(çarpı
1
m belirsizliği)
kabulu ile kontrolör dizayn yapısı oluşturulabilir.
Gürültü w dan kontrol edilen değişken z
1
rM
r
PW
P K
Kontrol Tasarımı
m
fP
u y Pr
K
m
2
Robust kararlılık için çarpım belirsizlik
( ) ( )
şartını sağlayan kullanarak
w dan z e norm şartı
1
oluşturulabilir.
t
t
rt
r
j W j
W
P KW
P K
( ) ( )( )
( )
f r
m
r
P j P jj
P j
Kontrol Tasarımı
Pf = pck(Af,Bf,Cf,Df); Pr = pck(Ar,Br,Cr,Dr); w = logspace(0,2,500); Pf_g=frsp(Pf,w); Pr_g=frsp(Pr,w); Pd_g=mmult(msub(Pf_g,Pr_g),minv(Pr_g));
Çarpım belirsizliği oluşturulması
22 2
2 2
2
2
Titresim kontrol sistemlerinde
kontrol edilecek son mod frekansı
ile kontrolün yapılmayacağı
ilk mod frekansı ağırlık fonksiyonunun
belirlenmesinde kul
nm nm nmt t
dm dm dm
nm
dm
sW k
s
lanılmaktadır.
Kontrol Tasarımı
100
101
102
10-4
10-3
10-2
10-1
100
101
102
Frequency response of Wm and Pd
Frequency [rad/s]
Gain
[dB
]
Wt
Pd
olmayan mod hatası
Kontrol Tasarımı
%Carpim belirsizligi Pf = pck(Af,Bf,Cf,Df); Pr = pck(Ar,Br,Cr,Dr); w = logspace(0,2,500); Pf_g=frsp(Pf,w); Pr_g=frsp(Pr,w); Pd_g=mmult(msub(Pf_g,Pr_g),minv(Pr_g)); % Frekans sekillendirme filtresi wnm = 43; nzta = 0.50; wdm = 66; dzta = 0.15; kt = 2.0; numWt = [1 2*wnm*nzta wnm^2]; denWt = [1 2*wdm*dzta wdm^2]; Wt = nd2sys(numWt,denWt); Wt = mmult(Wt,Wt,kt); % Wt=Wm*Wm*kt; Wt_g = frsp(Wt,w); vplot('liv,lm',Wt_g,'--',Pd_g) title('Frequency response of Wt and Pd') xlabel('Frequency [rad/s]'), ylabel('Gain [dB]') legend('Wt','Pd')
100
101
102
-120
-100
-80
-60
-40
-20
0
20
Pf
m
Çarpım belirsizliği ve sistem frekans
cevabı birlikte çizilirse ihmal edilen
modlar daha belirgin
olarak görülebilir.
Kontrol Tasarımı olmayan mod hatası
m
% Frekans cevabi w1 = logspace(0,2,200); gf = bode(Af,Bf,Cf,Df,1,w1); gr = bode(Ar,Br,Cr,Dr,1,w1); gf_log = vpck(20*log10(gf),w1); vplot('liv,d',gf_log,'b-',Pd_g,'r--') legend('P_f','\Delta_m') title('Frequency response of P_f and \Delta_m') xlabel('Frequency [rad/s]'); ylabel('Gain [dB]')
İhmal edilen modlar
100
101
102
103
-100
-80
-60
-40
-20
0
20
Frequency [rad/s]
Gain
[dB
]
Pf
Wt
22 2
2 2
2
2
Titreşim kontrol sistemlerinde
kontrol edilecek son mod frekansı
ile kontrolün yapılmayacağı
ilk mod frekansı ağırlık fonksiyonunun
belirlenmesinde kul
nm nm nmt t
dm dm dm
nm
dm
sW k
s
lanılmaktadır.
Kontrol Tasarımı
nm dm
Pf = pck(Af,Bf,Cf,Df); w1 = logspace(0,3,400); gf = bode(Af,Bf,Cf,Df,1,w1); gf_log = vpck(20*log10(gf),w1); % Frekans sekillendirme filtresi wnm = 43; nzta = 0.50; wdm = 66; dzta = 0.15; kt = 2.0; numWt = [1 2*wnm*nzta wnm^2]; denWt = [1 2*wdm*dzta wdm^2]; Wt = nd2sys(numWt,denWt); Wt = mmult(Wt,Wt,kt); Wt_g = frsp(Wt,w1); vplot('liv,d',gf_log,'b-',Wt_g,'r-') axis([1 1000 -100 20]) legend('P_f','Wt') xlabel('Frequency [rad/s]'); ylabel('Gain [dB]')
Kontrol Tasarımı
200
Filtre sabit olarak alınırsa frekans dinamiği olmamaktadır.
Kontrolör derecesi filtre derecesi sıfır olduğundan
artmamaktadır.
MW sabit
100
101
102
103
0
20
40
60
80
100
120
140
160
180
200
220
Frequency [rad/s]
Gain
[dB
]
MW
Esas olarak filtresi
belirsizlik etkisinde kontrol
sistem hassasiyetini
azaltmak için kullanılmaktadır.
1
200
200
M
rM
r
M r r
r
W
PW
P K
W SP SP
SP
aM=[];bM=[];cM=[];dM=200;
WMM=pck(aM,bM,cM,dM);
WM_g = frsp(WMM,w);
vplot('liv,d',WM_g,'b-')
axis([10^0 10^3 0 220])
xlabel('Frequency [rad/s]'),
ylabel('Gain [dB]')
1zw
tW MW
rPyu
2z
Kontrol Tasarımı
systemnames = ' Pr WM Wt '; inputvar = '[ dist; control ]'; outputvar = '[ WM; Wt; Pr ]'; input_to_Pr = '[ dist + control ]'; input_to_Wt = '[ control ]'; input_to_WM = '[ Pr ]'; cleanupsysic = 'yes'; G=sysic;
>> gmin = 0; gmax = 10; k = hinfsyn(G,1,1,gmin,gmax,0.1,2); Warning: Divide by zero. > In hinf_st at 49 In hinfsyn at 171 d21 does not have full row rank
Kontrol Tasarımı
Rank şartı yerine gelmediğinden çözüm yok
310
n
1zw
mWMW
rPyu
2z
Kontrol Tasarımı
Rank şartının yerine gelmesi için
ölçülen değişken üzerinde sensör
gürültüsü kabul ediyoruz.
systemnames = ' Pr WM Wt '; inputvar = '[ dist; noise; control ]'; outputvar = '[ WM; Wt; Pr + 0.001*noise ]'; input_to_Pr = '[ dist + control ]'; input_to_Wt = '[ control ]'; input_to_WM = '[ Pr ]'; cleanupsysic = 'yes'; G=sysic;
Kontrol Tasarımı düşük frekans
bölgesinde
integral etkisi
içermiyor fakat
kazanç yeterince
yüksek.
kontrol etkinliğinin
titreşim modlarını
bastırdığı bölge
kontrol kazancı
yüksek frekans bölgesinde
düşüyor. kontrol edilmeyen
modların uyarılmamaması
sağlanıyor. Robust performans
şartı yerine getiriliyor.
kontrolör derecesi: >> size(ak) ans = 8 8
>> size(Ar)+size(awt) ans = 8 8
gmin = 0; gmax = 10; k = hinfsyn(G,1,1,gmin,gmax,0.1,2); [ak,bk,ck,dk]=unpck(k); % Frequency response of controller w = logspace(0,3,200); k_g = frsp(k,w); vplot('bode',k_g);
Kontrol Tasarımı
100
101
102
-140
-120
-100
-80
-60
-40
-20
0 Tam Dereceli Sistem Acik ve Kapali Cevrim Frekans cevabi
Frekans [ rad/s ]G
enlik
[ d
B ]
w = logspace(-1,3,300); omega = w*2*pi; %Kapali cevrim sisteminin cevabi Pff=ltisys(Af,Bf,Cf,Df); PKcl=sloop(Pff,k,1); [Ac,Bc,Cc,Dc]=ltiss(PKcl); [magPK,phasePK] = bode(Ac,Bc,Cc,Dc,1,omega); [magPf,phasePf] = bode(Af,Bf,Cf,Df,1,omega); figure(4) semilogx(omega,20*log10(magPK(:,1)),'r',omega,20*log10(magPf),'b');grid; title(' Tam Dereceli Sistem Acik ve Kapali Cevrim Frekans cevabi ') xlabel('Frekans [ rad/s ]') ylabel('Genlik [ dB ]') axis([ -1 100 -140 0 ])
Kontrol Tasarımı
Kontrolör der
H kontrolor
ecesi = sist
durum uzayı ya
em derecesi+ağırlık fonksiyonları dereces
pısı
i
:
K K K K
K K K K
x A x B y
u C x D y
>> size(ak)
ans =
4 4
>> size(ap)+size(aws)+size(awt)
ans =
4 4
T
T
T
T
T
w
wW
w
w
S
S
S
wW
w
Genel bir kural ağırlık fonksiyonları derecesi
arttıkça kontrol sisteminin performansı artar.Fakat
kontrol girişi ve ölçülen değişken sayısı arttıkça
kontrolör derecesi sistem derecesinin çok üstünde bir
değerde oluşur.
TwTw
Tw
Tw
u P
2z
1z
SwSw
y
Kontrol Tasarımı
Kontrol sisteminde kontrol
edilen değişkenlerin sayısına
bağlı olarak frekans şekillendirme filtrelerinin
boyutu ortaya çıkar. Değişken
sayısına bağlı olarak filtre toplam transfer
matrisi köşegen şekilde oluşturulur.
Kontrol Tasarım Örnekleri Hadde kontrol sistemi
H
Kontrol Tasarım Örnekleri Gaz türbini kontrol sistemi
H
Kontrol Tasarım Örnekleri Tren süspansiyon kontrol sistemi
H
Kontrol Tasarım Örnekleri
Uydu kontrol sistemi
H
Kontrolörün HesaplanmasıH
1 2
1 2
1 11 12
2 21
Matlab içinde yer alan komutu K.Glover, J.C Doyle
tarafından tanımlanan yöntemi kullanmaktadı
hinfs
r.
Genel sistem yapısı:
A B B
G(s)= C D D
C D 0
Boyutlar:
( ) , ( ) ,
yn
p p
A B
C D
z t y t
1 2( ) , ( ) , ( )m m nw t u t x t
Glover, K., and J.C. Doyle, "State-space formulae for all stabilizing controllers that
satisfy an H-infinity norm bound and relations to risk sensitivity,“
Systems and Control Letters, vol. 11, pp. 167-172, 1988.
Matlab Command window:
type hinfsyn
type hinf_c
2
1 2
1 11 12
2 21 2
12
2
2
2
Genel sistem aşağıdaki şekilde verilsin:
H Kontrolörün varlığı için Temel Kabuller:
A1 - ( , ) kontrol edilebilir ( , ) ölçülebilir
A2 - ve
A
x Ax B w B u
z C x D w D u
y C x D w D u
B C A
D D
2
12
1 12
1
21
2 2
1
1
A3 - G : bütün değerleri için tam rank
A4 -
tam r
G : bütün değerleri için ta
ank şartını yerine get
m rank
irir
A j I B
C D
A j I B
C D
Kontrolörün HesaplanmasıH
12 21
11
Yöntem ilk olarak aşağıdaki kabulü yapmaktadır:
A2 kabulünü 2 olarak aşağıdaki şekilde somutlaştıralım:
0, 0
Ayrıca bu kabullere uygun olarak D aşagıdaki şekilde kısımlara ayrilir:
A
D D II
1
1
1 2
2
11
1 2
11 1112
11
1121 1122
2
*
1• 1• 1• 11 12
2
*
•1 •
2
1
D
Bir sonraki adımda aşağıdaki matrisler tanımlanmıştır:
0: ,
( )
0 0
0,
0
)
0
(
:
m
p
p m
m
D D
D D
m
IR D D D D D
ID
p
R D
p
11
•1
21
D
DD
Kontrolörün HesaplanmasıH
1 11 12
1 2
2 21
1 * *
1 1* * *
1 1 1 1
* *
*
1 1 1
: , : , 0
matrisleri için Hamilton matrisleri L , aşağıdaki şekilde tanımlanmaktadır:
0L
0J
C D DB B B C D
C D
J
A BR D C B
C C A C D
A C
B B A B D
1 *
1 1*
1
Bu aşamada asağıdaki Riccati denklemlerinin çözülebilir olduğunu kabul edip
bu çözümlerin X , :
X =Ric(L ), Y =Ric(J )
olduğunu kabul ediyoruz. Buradan
R D B C
Y
Kontrolörün HesaplanmasıH
1 2 2 2
1 2 11
1 * *
2 12 1 1
2 2
* * 1
11 12 2 1 1
( )
Sırasıyla aşağıdaki state feedback ve output feedback matrisleri hesaplanır:
( )
[ ]
st
p m m p
m p F
F p F R D C B X
m F
H H H H B D Y C R
F
11 12 2
11 1111 1112
12 1121 1122
2
ate feedback H output feedback matrisleri aşağıdaki şekilde yapılandırılır.
0
0 0
T
T
F F F
H D DF
H D D IH D
H I
Kontrolörün HesaplanmasıH
Kontrolörün HesaplanmasıH
A1, A2 , A3, A4 kabullerinde standart H kontrol probleminin çözümü
aynı zamanda G şartını saglayan iç kararlı kontrolör K(s) in var olabilmesi
için gerek ve yeter şart
1. Verilen bir değeri
:
Teorem
* *
1111 1112 1111 11
2
21
Riccati denklemlerinin çözümlerinin X
için aşağıdaki şart
0,Y 0 var ol
max
mas
sağlanmalı.
ı ve (X Y )<
şartını sa
2
[ , ],
ğlam
[
ı
]
.
a
,
s
D D D D
1
11 12 22
11 12
21 22
21
Teoremdeki şartları yerine getiren bütün H kontrolörler şartını sağlayan
serbest parametreye
( )
bağlı olarak aşağıdaki şekilde bulunur:
Burada
ˆ ˆ
M M
N(
M(s)=M M
)
s)
(
1
K s M M I N
A
M NM
B
2 2 2 2
1 2
1 11 12
2 21
1* 2 *
11 1121 1111 1111 1111 1112 1112
12 21
1* 2 * *
12 12 1121 1111 1111 1121
*
21
ˆ
ˆ ˆ ˆ
ˆ ˆ 0
ˆ
ˆ ˆ, matrisleri aşağıdaki şartları sağlayan matrislerdir
ˆ ˆ
ˆ
m m p p
B
C D D
C D
D D D I D D D D
D D
D D I D I D D D
D
1
* 2 *
21 1112 1111 1111 1112D̂ I D I D D D
Kontrolörün HesaplanmasıH
Kontrolörün HesaplanmasıH
2 2 12 12
2 12 2 12
1
1 2 2 12 11
1
1 2 11 21 2
1
2 12
1
1
1
1
12
1 1
ˆ ˆ( )
ˆ ˆ ( )
ˆ ˆ ˆ ˆ
ˆ ˆˆ ˆ
ˆ ˆˆ ˆ
Burada
( ) 0 olduğu durum
ˆ
da
elde edilir. Bu ç
ˆ ˆ ˆ
özüm "merkezi çözü
)
"
(
m
)
(
(
B B H D
C D C F Z
B H B D D
C F Z D D C
A A HC
K s C s
B D C
Z I
N s
I A B D
Y X
central solution) olarak isimlendirilmektedir.
Kontrolörün HesaplanmasıH
Matlab de temel olarak kontrolün hesaplanması:
içinden dosyası çagrılmakta A3, A4 kabulleri =0 için
yerine getiriliyormu kontrol edildikten
hinf
son
hinf
ra R
syn
hinf
iccati d
sysn.
enkle
_st.m
m
mleri
çözümlerinin
olup olmadığına bakılmaktadır. Bu şart sağlandıktan sonra A2 şartı yerine getirilmesine
bakılır orijinal genel sistem için çevrim şekillendirme yerine getirilir.
hin
i
f
te
sy
rasy
n.m
onu
her
bir iterasyonda dosyasını çağırarak yerine getirmektedir.
Temel olarak verilen icin X ve Y de hesaplanır bu sonuçlara
hinfsyn
hinf_gam.m
hinf bağlı olarak
herbir iterasyonun çöz
_g
üm
am
o. l
.m
dm ma u
rumu değerlendirilmektedir. minimize
eden kontrolör dosyasından alınır.
M-dosyasının içeriğine bakıldığında burada anlatılan adımların aynen yerine getirildiği
hinf
görü
_c.m
lür.
35
z
x
Kontrol
Bilgisayarı Ki
Ky
Manyetik
Aktüatör
f Elastik çubuk
sx
ax
Dönem Ödevi L=1.8 m;
m=0.2421 kg;
E=0.75e11;
I=6.75e-11;
h=3e-3;
xs=0.5 m;
xa=0.3 m;
zeti=[0.05;0.008;0.006;0.005;0.005; 0.004 ; 0.004 ; 0.004 ];
im=8; % modellenecek mod sayısı
Ki=0.078;% aktüatör kazancı [N/V]
Ky=20e-6;%sensor kazancı [1/V]
Elastik çubuğun 8. moda kadar sürekli sistem olarak modellendiğini düşünelim. Kontrol dizaynı ilk üç mod için yapılacaktır.
36
Dönem Ödevi
Kontrol tasarım çalışmasını gerçekleştiriniz. -Frekans şekillendirme filtrelerini elde ediniz. Frekans cevaplarını çizdiriniz. -Genelleştirilmiş sistem yapısını oluşturunuz. -Hinf kontrol tasarımını karışım hassaslık yapısında yapınız. -Kapalı çevrim frekans cevabını elde ediniz. -Sistemin kapalı çevrim Simulink dosyasını oluşturarak zaman domenindeki davranışını sensör çıkışı, kontrol girişi gibi elde ediniz.(Başlangıç şartları siz seçiniz)
Ödev dosya içinde Final sınavı günü teslim edilecektir.
Final Sınavı
Final sınavı 9 Ocak 2015 günü saat 14:00 de Z14 nolu sınıfta yapılacaktır. Sınava tüm konular dahildir.