MAK669 LINEER
ROBUST KONTROL
Prof.Dr. Selim SİVRİOĞLU
[email protected]
26.09.2014
1
Ders takvimi
Toplam 12 hafta içinde 10 hafta ders 1 hafta laboratuar
uygulaması ve 1 hafta sınav yapılacaktır.
Derse devam %70 istenmektedir
Dersler:
Eylül
Ekim
Kasım
Aralık
26
3, 10, 17, 24, 31
7, 14, 21, 28
5, 12, 19
3 Ekim kurban bayramı tatilidir.
Akademik takvim sonu 19 Aralık
Ders sunumları Ders Web’e yüklenecektir.
2
Kaynaklar
•Essentials of Robust Control
K. Zhou, J. Doyle
• Robust Control Design with Matlab
D.W.Gu, P.H. Petkov, M.M. Konstantinov
• Robust and Adaptive Control
E. Lavretsky, K. A. Wise
3
Ders önşartları
• Feedback Kontrolün Esaslarını bilmek
• Dinamik Sistemlerin Modellenmesini bilmek
• Matlab/Simulink ortamında simulasyon yapabilme
altyapısı olmak
4
Ders yükümlülükleri
• Yıl İçi Sınavı
• Ödevler
• Final Sınavı
Ders iki oturumda tek ara şeklinde yapılacak.
5
Ders kapsamı ve amacı
• Lineer kontrol esasları
• Mühendislik sistemlerinin H-infinity kontrol dizaynı
• Ödevlerle öğrencinin verilen bir problemi modelleme ve
kontrol dizayn yapabilmesi amaçlanmaktadır.
• Konuların anlatımında ispat verilmeyecek
Yıliçi ödevi teslim formatı:
Isimsoyad_OdevNo.doc
(e-mail adresime gönderilecek.
Basılı döküman verilmeyecek.)
6
Kontrol Sistem Tasarımı
Matlab/Simulink hem tasarımda hem de simülasyon
çalışmalarında kullanılmaktadır.
• Kontrol dizayn toolbox kullanımı
• Sistem simülasyonunun gerçeklenmesi
-Control system toolbox
-Robust control toolbox
-LMI control toolbox
7
Kontrol sistem yapısı
Geribesleme kontrol sistemini oluşturan elemanlar ve
değişkenler blok yapısı içinde gösterilebilir ve analiz
edilebilir.
Kontrol sistem yapısı
Oda sıcaklığı kontrol sistemi
Kontrol sisteminde değerlendirme değişkenleri fiziksel
değişkenler olması gerekmez. Fiziksel değişkenlerin
ölçeklendirilmiş karşılığı olan elektriksel
değişkenler(V) olabilir.
Kontrol sistem yapısı
Sistem
Gürültüsü
r +
Kontrolör
u
y
Aktüatör
Sistem
Sensör
r : referans girişi
y : kontrol edilen değişken
Sensor
Gürültüsü
u : kontrol girişi
10
Kontrol sistem yapısı
r
+
_
u
Kontrolor
y
Aktuator
Sistem
Sensor
P( s )
r +
_
e
K ( s)
u
y
P( s )
P( s) : Toplam Sistem (sistem+aktuator+sensor) transfer fonksiyonu
K ( s) : Kontrolor
11
Kontrol sistem yapısı
Sistem
Gürültüsü
r
+
_
Kontrolor
u
y
Aktuator
Sistem
Sensor
P( s )
Sensor
Gürültüsü
w
r +
_
e
K ( s)
u
P( s )
y
n
12
Blok diyagramı işlemleri
Toplam noktası
+
r
Kazanc elemani
e
r
u
G
-
y
Blok diyagramı işlemleri transfer fonksiyonları ve giriş çıkış sinyalleri
arasındaki toplam ilişkiyi bulmakta kullanılır.
r1
c1 +
u
c
c2  G3r2
G2
G1
+
r2
G3
c1  G2u
c2
u  G1r1
c  c1  c2  G1G2 r1  G3r2
13
Blok diyagramı işlemleri
r
+
-
e
u
G1 ( s)
y
G2 ( s)
y
?
r
e
?
r
u
?
r
H
G1 ( s)G2 ( s)
y

r 1  G1 ( s)G2 ( s) H
14
Blok diyagramı işlemleri
d
e
r
+
-
y
+
G1 ( s)
+
G2 ( s)
e  P1 ( s)r  P2 ( s)d
P1 ( s) ve P2 ( s) transfer fonksiyonlarini bulunuz.
15
Kontrol yapısı tipleri
Servo yapı: Bir kapalı çevrim kontrol sisteminde kontrol edilen değişken belli bir
referans değerini takip ediyor ve yakınsıyor ise bu kontrol sistemi servo yapıdadır.
r +
e
_
K ( s)
u
y
P( s )
Regülatör yapı: Takip edilecek bir değişken yoktur. Kontrol edilen değişken sistemin
kararlı durumunun belirlediği bir değere yakınsıyor ise regülatör yapıdadır. Lineer
sistemlerde kararlılık değeri çoğunlukla sıfır olacak şekilde ortaya çıkar.
r 0
+
_
e
K ( s)
u
y
P( s )
K ( s)
u
y
P( s )
+
n
Transfer fonksiyonu
y
u
G1 ( s)
Transfer fonksiyonu giriş ile çıkış arasındaki ilişkiyi
veren sistemin bir modelidir. Matematiksel
modelleme ile veya deneysel olarak elde edilebilir.
y
 G( s)
u
En genel halde transfer fonksiyonu tanımı:
b1s m  b2 s m1   bm s  bm1
N ( s)
G( s) 
 n
D( s) s  a1s n 1  a2 s n 2   an 1s  an
Transfer fonksiyonu
DC MOTOR : Sargı Alan Kontrollü DC Motor
e f  Rf i f  Lf i f
T  Kt i f
J (t )  B (t )  T (t )
J
T
B

18
Transfer fonksiyonu
Laplace transformasyonu uygulanırsa:
T
T  Kt I f  I f 
Kt
E f  R f I f  L f sI f
Kt
T
Ef
 Rf  Lf s 
  Rf  Lf s  I f
  Rf  Lf s
T
Kt
B
T (t )
 (t ) 
J
J
Kt
B
s 2θ(s)  sθ(s) 
Ef
J
J  Rf  Lf s 
 (t ) 
Kt
 2 B 
s

s
θ(s)=
Ef


J 
J  Rf  Lf s

Kt
Kt
θ
J

 2

E f J  R f  L f s  Js  Bs  R f  L f s  Js 2  Bs


19
Transfer fonksiyonu
Transfer Fonksyonlarının Matlab Gösterimi:
tf
komutu
b1s m  b2 s m1   bm s  bm1
G( s)  n
s  a1s n 1  a2 s n 2   an 1s  an
num=[b1,b2,. . .,bm,bm+1];
den=[1,a1,a2,. . .,an−1, an];
G=tf(num,den)
G( s) 
s5
s 4  2s3  3s 2  4s  5
num=[1,5];
den=[1,2,3,4,5];
G=tf(num,den)
20
Transfer fonksiyonu
conv() komutu ile gosterim
G(s) 
25( s  10)
( s  8)( s  12)( s  0.3)
num=25*[1 10];
den=conv(conv([1 8],[1 12]),[1 0.3]);
G=tf(num,den)
G( s) 
6s  5
( s 2  3s  1)2 ( s  6)( s3  6s 2  5s  3)
den=conv(conv(conv([1,3,1],[1,3,1]),[1,6]),[1,6,5,3]);
num=6*[1,5];
G=tf(num,den)
21
Transfer fonksiyonu
Laplace değişkeni tanımlanarak aşağıdaki şekilde yazılabilir.
s=tf('s');
G=6*(s+5)/(s^2+3*s+1)^2/(s+6)/(s^3+6*s^2+5*s+3);
Yukarıdaki transfer fonksiyonunda operatör sembolünü değiştirmek
ve sisteme bir transport gecikmesi vermek gerekirse:
G( s)  e0.5 p
6p 5
p8  18 p 7  124 p 6  417 p5  740 p 4  729 p3  437 p 2  141 p  18
G.Variable='p';
G.ioDelay=0.5;
set(G,'Variable','p','ioDelay',0.5);
22
Transfer fonksiyonu
Transfer fonksiyonu matrisi(MIMO Sistem Gösterimi)
 0.1134e0.72 s
 1.78s 2  4.48s  1
G(s)  
 0.3378e0.3s
 0.361s 2  1.09s  1

0.924
2.07 s  1   G11 G12 


1.29 s
0.318e
  G21 G22 
2.93s  1 
G11=tf(0.1134,[1.78 4.48 1],'ioDelay',0.72);
G12=tf(0.924,[2.07 1]);
G21=tf(0.3378,[0.361 1.09 1], 'ioDelay',0.3);
G22=tf(-0.318,[2.93 1], 'ioDelay',1.29);
G=[G11, G12; G21, G22];
23
Transfer fonksiyonu
Zero-Pole-Gain
Transfer fonksiyonu pay kökleri sıfırlar(zeros) ve payda kökleri
(poles) çarpımları olarak verilebilir.
G( s)  K
( s  z1 )( s  z2 )
( s  p1 )( s  p2 )
( s  zm )
( s  pn )
z=-[z1; z2; · · · ; zm]; p=-[p1; p2; · · · ; pn];
G=zpk(z,p,K)
( s  1.9294)( s  0.0353  0.9287 i)
G( s)  6
( s  0.9567  1.2272 i)( s  0.0433  0.6412 i)
z=[-1.9294; -0.0353+0.9287j; -0.0353-0.9287j];
p=[-0.9567+1.2272j; -0.9567-1.2272j; +0.0433+0.6412j; +0.0433-0.6412j];
G=zpk(z,p,6)
24
Transfer fonksiyonu
4s 5  3s 4  2s 3  6s 2  10s  15
G( s)  5
s  7 s 4  2s 3  9s 2  5s  20
num=[4 3 2 6 10 15];
den=[1 7 2 9 5 20];
printsys(num,den)
[z,p,k]=tf2zp(num,den)
[num,den]=zp2tf(z,p,k)
Transfer fonksiyonundan zero pole gösterimine dönüşüm
zero pole gösteriminden transfer fonksiyonuna dönüşüm
z=
0.8865 + 1.0813i
0.8865 - 1.0813i
-1.3388
-0.5921 + 1.0402i
-0.5921 - 1.0402i
p=
-6.8929
0.7062 + 1.1166i
0.7062 - 1.1166i
-0.7598 + 1.0417i
-0.7598 - 1.0417i
k=4
25
Transfer fonksiyonu
Blok diyagramlarının bağlanması
G1 ( s) 
%Seri
G1=zpk([],[-1,-1],1);
G2=zpk([],[-1],1);
G=G1*G2
1
1
,
G
(
s
)

2
( s  1)2
( s  1)
%Paralel
G1=zpk([],[-1,-1],1);
G2=zpk([],[-1],1);
G=G1+G2
26
Transfer fonksiyonu
Geri besleme yapısı:
G=feedback(G1,G2,Sign)
G1 ( s ) 
1
1
,
G
(
s
)

2
s 2  2s  1
s 1
G ( s )  G1 ( s )[ I  G2 ( s )G1 ( s )]1 : pozitif feedback
G ( s )  G1 ( s )[ I  G2 ( s )G1 ( s )]1 : negatif feedback
%negatif feedback
G1=tf(1,[1 2 1]);
G2=tf(1,[1 1]);
G=feedback(G1,G2)
%pozitif feedback
G=feedback(G1,G2,+1)
27
Transfer fonksiyonu
Gcl ( s) 
G( s)Gc ( s)
1  H ( s)G( s)Gc ( s)
Gcl=feedback(G*Gc,H)
s3  7 s 2  24s  24
10s  5
1
G( s)  4
,
G
(
s
)

,
H
(
s
)

c
s  10s3  35s 2  50s  24
s
0.01s  1
G=tf([1 7 24 24],[1,10,35,50,24]);
Gc=tf([10,5],[1,0]);
H=tf([1],[0.01,1]);
G_cl=feedback(G*Gc,H)
28
Transfer fonksiyonu
M(t)=0
syms ka kr c1 c2 c Ra T1 T2 km kb s % symbolic declaration
Ga=feedback( 1/Ra/(T1*s+1)*km *1/c/(T2*s+1),kb); % inner loop
g1=c1*feedback(ka*kr*Ga/s,c2);
g1=collect(g1,s)
Symbolic Toolbox içinde feedback komutu ile işlem yapabilmek
için aşağıdaki programın toolbox\symbolic\@sym altına yerleştirilmesi
gerekmektedir.
function H=feedback(G1,G2,key)
if nargin==2; key=-1; end,
H=G1/(sym(1)-key*G1*G2); H=simple(H);
29
Transfer fonksiyonu
Geri besleme yapisi:
g1=tf(1,[0.01,1]);
g2=tf([0.17,1],[0.085,0]);
g3=g1;
g4=tf([0.15,1],[0.051,0]);
g5=tf(70,[0.0067,1]);
g7=tf(130,[1,0]);
g6=tf(0.21,[0.15,1]);
g8=0.212;
g9=tf(0.1,[0.01,1]);
g91=g9/g7;
g10=0.0044*g1;
gg1=feedback(g7*g6,g8); %paths 6-8
gg2=feedback(gg1*g5*g4,g91); %paths 4-9
G=feedback(gg2*g3*g2,g10)*g1;
minreal(zpk(G)), %overall system
30
Transfer fonksiyonu
Symbolic Toolbox icinde ifade edilen bir laplace() fonksiyonu
verilen bir f(t) fonksiyonunun Laplace donusumunu elde
etmekte kullanilabilir.
F=laplace(f )
f (t )  ebt cos(at  c)
syms s t a b c;
f= exp(b*t)*cos(a*t+c);
F=laplace(f)
Matlab’de hesaplanan:
F =cos(c)*(s-b)/((s-b)^2+a^2)-sin(c)*a/((s-b)^2+a^2)
F ( s) 
cos(c)( s  b)
sin(c)a

( s  b ) 2  a 2 ( s  b) 2  a 2
31
Transfer fonksiyonu
Pole zero map
2
1.5
1
0.5
Imag Axis
n2
C ( s)  2
R( s )
2
s  2n s  n
-0.5
wn=1; %natural frequency
zeta=0.0; % damping coefficient
t1=0:0.05:15;
% define a time interval
for k=1:9;
num=[ wn*wn];
den=[1 2*zeta*wn wn*wn];
-1
-1.5
-2
-2
-1.5
-1
-0.5
Real Axis
0
0.5
1
Step repsonse of the second order system
2
=0.0
1.8
1.6
1.4
Amplitude
[y1,x1,tt]=step(num,den,t1); % compute the step response
ydat(:,k)=y1; %store data
figure(1)
plot(tt,y1)
%plot the figure
xlabel('Time [ s ]');
ylabel('Amplitude');
title('Step repsonse of the second order system')
hold on;
figure(2)
zeta=0.1+zeta;
pzmap(num,den) % plot the pole and zero map
hold on;
axis([-2 1 -2 2]); %Define axis size
end
figure(3)
mesh(ydat') %3D plot
set(gca,'xtick',[0 100 200 300 400])
0
1.2
1
=1
0.8
0.6
0.4
0.2
0
0
5
10
15
Time [ s ]
32
Transfer fonksiyonu
G1 
s2
( s  5)( s  3)
G2 
s2
( s  5)( s  3)
num1=[1 2];
den1=conv([1 5],[1 3]);
num2=-[1 -2];
den2=conv([1 5],[1 3]);
t=0:0.05:5;
[y1,x1,t]=step(num1,den1,t);
[y2,x2,t]=step(num2,den2,t);
plot(t,y1,t,y2)
grid
text(0.5,0.13,'G1');
text(1,0.075,'G2');
title('Step response of the minimum and nonminimum systems')
xlabel('t [ s ]')
ylabel('y_1 y_2')
33
Transfer fonksiyonu
y ( s)
4
 3
u ( s) s  3s 2  6s  2
 x1   0 1 0   x1   0 
 x    0 0 1   x   0 u
 2 
 2  
 x3   2 6 3  x3   4 
 x1 
y  1 0 0  x2 
 x3 
num=4;
den=[1 3 6 2];
printsys(num,den,'s');
[A,B,C,D]=tf2ss(num,den)
[num1,den1]=ss2tf(A,B,C,D,1);
printsys(num1,den1,'s');
34
Download

Ders-1