SISTEM KONTROL PADA PENDULUM TERBALIK TK4112 – Kontrol Modern
Oleh: Reza Sakaridani
13309069
Ashri Rahmatia Salma
13309019
PROGRAM STUDI TEKNIK FISIKA FAKULTAS TEKNOLOGI INDUSTRI INSTITUT TEKNOLOGI BANDUNG 2012 1
SISTEM KO KONTROL NTROL PADA PADA PENDULUM TERBALIK TE RBALIK
Sistem kontrol pada pendulum terbalik dilakukan agar pendulum terbalik tersebut dapat tetap berdiri tegak apabila diberi gaya dengan besaran gaya yang bervariasi. Pada kehidupan sehari-hari, sistem pendulum terbalik diterapkan pada peluncuran roket atau pada ke ndaraan roda dua.
Gambar 1. Pendulum terbalik
Gambar di atas merupakan gambaran sistempendulum terbalik. Dengan x merupakan posisi cart , θ merupakan sudut pendulum dengan cart dan F merupakan gaya yang diberikan pada pendulum dan cart , maka dapat dituliskan persamaan
Dengan M merupakan massa cart, m merupakan massa pendulum, l merupakan panang pendulum, g merupakan koefisien gravitasi, dan f θ merupakan koefisien gaya gesek pada antara pendulum dengan cart .
Berikut ini merupakan diagram blok dari sistemkontrol pendulum yang merupakan sistem kalang tertutup dengan feedback dari posisi cart dan sudut pendulum.
2
Gambar 2.Model sistem kontrol pendulum dengan feedback dengan feedback yang yang berasal dari posisi cart cart dan dan sudut pendulum
Dengan menggunakan state variables berikut,
Dengan menggunakan program Matlab, dengan nilai parameter berupa M = 2.4,
m = 0.23,
l = 0.36,
f θ = 0.1,
൦ ሶሶଵଶ൪ ൦00 01 −0.09 4 0. 4016 ൪ ൦ ଵଶ൪ + ൦0.4016 ൪ ሶሶଷସ 00 00 29.8061 −0.3104 ଷସ −1.015
g = 9.8
maka dapat diperoleh bentuk persamaan state space sebagai berikut.
=
3
= ሾ1 0 0
ଵଶ 0ሿ ൦ ଷସ൪
Dengan menggunakan program Matlab, diperoleh transfer function berupa
= 0.4ସ16+ 0.ଶ3−0.043519ଷ − 29.−811.6 3ଶ4
Pengujian Stabilitas
Matrix A :
0൦0 01 −0.09 4 0. 4016 ൪ 00 00 29.8061 −0.3104
Pole yang dimiliki oleh sistem adalah : 0
0
5.3146
-5.6186
Terdapat satu buah pole yang bernilai positif yang artinya terletak di sebelah kanan sumbu imajiner, sehingga dapat disimpulkan sistem pendulum terbalik ini tidak stabil.
Pengujian Controlability
Matrix controlability didapatkan dengan perintah: matrix_controlability = ctrb(system_ss)
0 0 . 4 1 6 0 − 0 . 4 7 8 4 1 . 2 2 6 4 ൦−1.0.410160165000 −−0.013..41496758040 −34.10..324264264464946 20.−−14.14394..11164548634൪ 0 0 . 4 1 6 0 − 0 . 4 7 8 4 1 . 2 2 6 4 41578400 10..23246496 −14.4.−1−34.65864458634ተ ተ−1.0.0.410150060 −−0.0.0.13.4784 496 −34.4464 20.9111
Matrix :
Dengan menggunakan cara determinan,
D=
= 170.1030
4
Dengan menggunakan cara rank,dengan perintah: rank(matrix_controlability) Rank = 4
Pengujian di atas menunjukkan bahwa sistem ini complete state controllable karena determinan matriks controllability bernilai tidak sama dengan 0 dan matriks ini ber sifat full rank.
Pengujian Observability:
Matrix observability dicari dengan perintah matlab:
1൦0 01 00 00 ൪ 00 00 12.−0.4924 −1.−0.0466516 1ተ0 01 00 00 ተ = −4.1651 00 00 12.−0.4924 −1.−0.0466516
Matrix_observability = Obsv(system_ss)
Matrix:
Dengan menggunakan cara determinan,
D=
Dengan menggunakan cara rank,perintahnya yaitu: Rank(matrix_observability) Rank = 4
Pengujian di atas menunjukkan bahwa sistem ini complete state observable karena determinan matriks observability bernilai tidak sama dengan 0 dan matriks ini bersifat f ull rank.
Maka dapat disimpulkan bahwa sistem kontrol kalang tertutup pada pendulum terbalik bersifat controllable dan observable, tetapi tidak stabil.Agar sistem ini stabil, diperlukan suatu manipulasi
misalnya penempatan pole.
5
Pole Placement
Dengan mengubah pole sebelumnya menjadi pole yang diinginkan, yaitu µ 1 = -7
µ 2 = -6
µ 3 = -2+3.9j
µ 4 = -2-3.9j
Dari nilai-nilai di atas, didapatkan matriks J, yaitu: J = [-7
-6
-20-3.9j ]
-2+3.9j
Diperoleh nilai matriks state state feedback gain K dengan menggunakan program Matlab, yaitu: yaitu: K = acker(A,B,J) K = [0
0 -54.2027 -9.4922]
Sehingga diperoleh persamaan keadaan baru, yaitu
u = -Kx = [0
0
54.2027
ሶ = +ሶ = ሺ =− +ሻ ሺ− ሻ
ଵଶ ൦ ଷସ൪
9.4922]
Melihat Kestabilan Lyapunov dari Sistem
Dengan menggunakan pole yang diperoleh dari perhitungan pole placement di atas, didapatkan nilai matriks: Kp = [-115.1803 -47.5104 -184.5786 -34.3133] P =[ 0.7813 -0.5000 -0.4202 -0.2519; -0.5000
8.0135
0.2519 -10.4850;
-0.4202 0.2519 0.4349 -0.5000; -0.2519 -10.4850 -0.5000 17.5517]
6
Dengan menggunakan fungsi Matlab : clc; clear; %kondisi system A = [0 1 0 0; 0 0 -0.94 0.416; 0 0 0 1; 0 0 29.861 -0.304]; B = [0;0.416;0;-1.15]; C = [1 0 0 0]; D = []; system_ss = ss(A,B,C,D); s1 = -2+3.9j; s2= -2-3.9j; s3= -8+2j; s4= -8-2j; J =[s1 s2 s3 s4]; %lihat respon Kp = acker(A,B,J) sys = ss(A-B*Kp, eye(4), eye(4), eye(4)); t = 0:0.01:4; x = initial(sys,[1;0;0;0],t); x1 = [1 0 0 0]*x'; x2 = [0 1 0 0]*x'; x3 = [0 0 1 0]*x'; x4 = [0 0 0 1]*x'; subplot(4,1,1);plot(t,x1), grid title('Response to Initial Condition') ylabel('State x1') subplot(4,1,2);plot(t,x2), grid ylabel('State x2') subplot(4,1,3);plot(t,x3), grid ylabel('State x3') subplot(4,1,4);plot(t,x4), grid xlabel('t(sec)') ylabel('State x4') %lihat matrix P lyapunov P = lyap(A-B*Kp,eye(4))
7
Diperoleh grafik input x terhadap waktu t berupa Response to Initial Condition 1 x e t a t S
2 x e t a t S
3 x e t a t S
4 x e t a t S
2 0 -2
0
0.5
1
1. 5
2
2.5
3
3. 5
4
0
0.5
1
1. 5
2
2.5
3
3. 5
4
0
0.5
1
1. 5
2
2.5
3
3. 5
4
0
0.5
1
1. 5
2 t(sec)
2.5
3
3. 5
4
5 0 -5 1 0 -1 5 0 -5
Dari hasil simulasi, didapatkan bahwa kestabilan tiap state telah stabil. Hal ini juga didukung dengan didapatkannya matrix P yang unikyaitunilai unikyaitunilai P seluruhnyalebihdarinol, seluruhnyalebihdarinol, sehingga dapat dikatakan bahwa sistem yang telah memiliki full state feedback telah stabil.
Respon sistem untuk Tracking input berupa step, ramp, dan sinusoidal
Untuk melakukan pengujian respon sistem untuk tracking terhadap sinyal input step, ramp, dan sinusoidal pertama-tama dilakukan pengujian kekontrolan sistem. Sistem ini merupakan sistem yang controllable, seperti yang dijelaskan pada bab pengujian controlability dan observability. Kemudian, dihitung eigen dari sistem untuk melihat komponen keadaan inisial, apakah memiliki komponen sinyal step, ramp, atau sinusoidal.
Eigen dari sistem adalah :
0 ൦−5.5.360146186൪ 8
Dari nilai eigen itu, didapatkan eigen 0 dan eigen bilangan real. Jadi, komponen initial condition yang dimiliki oleh sistem pada awalnya adalah sinyal step dan ramp.
Tracking input step Digunakan simulink untuk melihat respon sistem terhadap sinyal step. Terdapat sistem penggenerasi sinyal dan hasil sinyal yang digenerasi akan dibandingkan dengan sinyal asli dari sistem. Skema simulink di bawah ini digunakan untuk simulasi semua sinyal mode / je nis sinyal referensi.
Simulink kami pilih untuk menjalankan simulasi karena lebih simple dalam pemrogramannya dan menunjukkan hasil yang sama dengan pemrograman biasa pada matlab. Pemilihan Initial Condition untuk menghaislkan sinyal step dilakukan secara metode empiris. Metode ini kami pilih untuk gunakan karena perhitungan secara konvensional cukup rumit untuk sistem berorde 4. Initial condition yang digunakan adalah:
[1 0 0 0]
9
Hasil respon sistem terhadap sinyal step:
Hasil respon sistem dan controller terhadap sinyal step:
Tracking input ramp Skema yang digunakan pada simulink untuk menghasilkan sinyal ramp sama dengan skema yang digunakan pada sinyal step di atas. Yang membedakan adalah initial condition yang digunakan. Metode pencarian initial condition juga sama, dilakukan dengan metode empiris dan didapatkan bahwa initial condition yang menghasilkan sinyal ramp adalah:
[0 1 0 0]
10
Hasil respon sistem dan controller terhadap sinyal ramp:
Tracking input sinusoidal Untuk tracking input sinusoidal, tidak ditemukan kondisi sinyal sinusoidal pada nilai eigen A. Komponen mode yang dimaksud adalah komponen bernilai imajiner saja pada eigen sistem. Jadi, untuk memunculkan sinyal sinusoidal, kami melakukan proses augmenting sistem dengan suatu sinyal sinusoidal yang memiliki persamaan laplace
మ௦ ଵାଵ
. Hasil penggabungan antara sistem pada plant dengan
11
sinyal sinusoidal kami namakan persamaan kompensator pada pemrograman di bawah ini. Pemrograman matlabnya adalah sebagai berikut: clc; clear; %kondisi system A = [0 1 0 0; 0 0 -0.94 0.416; 0 0 0 1; 0 0 29.861 29.861 -0.304]; B = [0;0.416;0;-1.15]; C = [1 0 0 0]; D = []; system_ss = ss(A,B,C,D); %lihat fungsi transfer system_tf = tf(system_ss); num = [0.416 -0.3519 -11.34]; den = [1 0.304 -29.86 0 0]; %fungsi transfer referensi num1 = 1; den1 = [1 0 1]; sin_tf = tf(num1,den1); [a,b,c,d] = tf2ss(num1,den1); %kompensator t=0:0.1:100; AA=[A B*c; [0 0 0 0; 0 0 0 0] a]; BB=[0;0;0;0;b]; CC=eye(6); DD=0; xr=[0;0;0;0;0;1]; sig=ss(AA,BB,CC,DD); [y,t,x]=initial(sig,xr,t); y1=[0 0 0 0 0 1]*y'; plot(t,y1) %pole placement s1 = -2+3.9j; s2= -2-3.9j; s3= -7+2j; s4= -7-2j; s5= -6+j; s6= -6-j; J =[s1 s2 s3 s4 s5 s6]; K = acker(AA,BB,J) a1=aa-bb*K b1=bb*K(1) c1=cc d1=dd
12
Respon sistem untuk tracking terhadap input sinusoidal:
Respon sistem dan sinyal controller untuk tracking te rhadap input sinusoidal:
Dari ketiga uji tracking di atas, dilakukan dengan menggunakan sinyal referensi yang sama dengan sinyal sistem. Hal ini perlu dilakukan agar mode yang dimilki oleh referensi sama dengan sistem. Jika mode yang dimiliki referensi berbeda dengan sistem, akan didapatkan offset pada saat simulasi. Oleh karena itu, penyamaan mode antara sistem dan referensi perlu dilakukan dalam suatu sistem tracking. 13
Jika suatu sistem telah memiliki komponen mode yang diperlukan untuk menghasilkan sinyal (step, ramp, sinusoid, atau sinyal jenis lain) maka kita hanya perlu menentukan initial condition yang mampu menghasilkan sinyal yang kita inginkan tersebut. Jika mode yang diperlukan belum dimililki oleh referensi, sinyal referensi perlu dikompensasikan dengan sinyal yang memiliki mode diinginkan. Setelah sinyal referensi dikompensasi, sinyal sistem perlu disamakan dengan mode sinyal referensi.
Menentukan Parameter Parameter PID sebagai kontroler
PID merupakan controller yang cukup konvensional digunakan pada saat ini. Dalam menentukan parameter PID digunakan persamaan:
Persamaan di atas merupakan bentuk standar. Dapat diamati bahwa bahwa K1 = Kp /Ti , K2 = Kp , K3 = Kp*Td. Untuk menentukan besaran K 1, K2, dan K3 digunakan persamaan:
Dimana,
merupakan bentuk normalisasi dari K 1, K2, dan K3. Digunakan suatu persamaan baru
untuk menunjukkan hubungan antara
dengan Ka. Persamaannya adalah:
Untuk Ka sendiri, didapatkan dari augmented system equation. Untuk suatu sistem dengan orde 2, Augmented system memiliki matrix sebagai berikut:
14
Metode Full state feedback dipergunakan untuk menentukan Ka dengan menggunakan titik pole diinginkan yang sama dengan sebelumnya. Program matlab yang digunakan untuk menentukan parameter PID adalah: clc; clear; %kondisi sistem A = [0 1 0 0; 0 0 -0.94 0.416; 0 0 0 1; 0 0 29.861 29.861 -0.304]; B = [0;0.416;0;-1.15]; C = [1 0 0 0]; D = []; SYS = ss(A,B,C,D); Mp=0.2; ts=5; ln=log(Mp); ksi=sqrt(ln*ln/(pi*pi+ln*ln)); wn=4/(ksi*ts); s1= -ksi*wn+i*wn*sqrt(1-ksi^2); s2= -ksi*wn-i*wn*sqrt(1-ksi^2); s3= -9*ksi*wn; s4= -9*ksi*wn-1; s5= -9*ksi*wn-2; J =[s1 s2 s3 s4 s5]; %augmented system Aa = [A B; 0 0 0 0 0]; Ba = [0; 0; 0; 0; 1]; %Menentukan K1,K2,K3 Ka = acker(Aa,Ba,J); sigma = [C 0; C*A C*B; C*A*A C*A*B]; Khat = Ka*pinv(sigma) K3hat = Khat(1,3); K3 = K3hat/(1+(K3hat*C*B)); K =[Khat(1,1)*(1-K3*C*B);Khat(1,2)*(1-K3*C*B);K3]; display('penentuan parameter PID:') Kp = K(2,1) Ki = K(1,1) Kd = K(3,1)
Parameter yang digunakan (Kp, Ki , Kd) adalah: Kp = -126.5393
Ki = -147.4423
Kd = 1065.3
Respon sistem dengan menggunakan parameter di atas ternyata tidak menghasilkan respon yang stabil. Meskipun dilakukan pendekatan parameter PID secara empiris, namun tetap tidak dapat
15
dihasilkan reson yang stabil. Oleh karena itu diasumsikan bahwa sistem ini memang tidak cocok menggunakan controller PID. Sistem ini tidak cocok menggunakan controller PID karena kondisi pendulum terbaik yang memang cenderung tidak stabil, sehingga tidak cocok bila menggunakan controller PID
Respon sistem dengan controller PID ini dengan parameter Kp, Ki, Kd adalah:
Perancangan Kontrol LQR
Untuk menyempurnakan sinyal kontrol yang sebelumnya, kami menggunakan pengontrol LQR. Pada suatu sistem pengontrolan, energi merupakan parameter penting terjadinya suatu proses atau tidak. Pengontrol LQR mampu mengoptimalkan penggunaan energi suatu sistem.
Pada perancangan kontrol LQR ini, digunakan nilai Q = 0.0001, 0.01, 1, 100, 10000 untuk setiap nilai R = 0.0001, 0.01, 1, 100, dan 10000. Dengan menggunakan fungsi Matlab di bawah ini,
clc;
16
clear; %kondisi sistem A = [0 1 0 0; 0 0 -0.94 -0.94 0.416; 0.416; 0 0 0 1; 0 0 29.861 -0.304]; B = [0;0.416;0;-1.15]; C = [1 0 0 0]; D = []; q = 10000; Q = [q 0 0 0; 0 q 0 0; 0 0 q 0; 0 0 0 q]; R = 0.0001; N = []; SYS = ss(A,B,C,D); [K,S,e] = lqr(SYS,Q,R,N) sys = ss(A-B*K, eye(4), eye(4), eye(4)); t = 0:0.01:4; x = initial(sys,[1 initial(sys,[1;0;0;0],t ;0;0;0],t); ); x1 = [1 0 0 0]*x'; x2 = [0 1 0 0]*x'; x3 = [0 0 1 0]*x'; x4 = [0 0 0 1]*x'; subplot(4,1,1);plot(t,x1), subplot(4,1,1);plot(t,x1 ), grid title('Response title('Re sponse to Initial Condition') ylabel('State x1') subplot(4,1,2);plot(t,x2), subplot(4,1,2);plot(t,x2 ), grid ylabel('State x2') subplot(4,1,3);plot(t,x3), subplot(4,1,3);plot(t,x3 ), grid ylabel('State x3') subplot(4,1,4);plot(t,x4), subplot(4,1,4);plot(t,x4 ), grid xlabel('t(sec)') ylabel('State x4')
diperoleh respon sistem untuk setiap nilai Q dan nilai R yang dimasukkan sesuai yang tertera pada penjelasan di atas.
Q = 0.0001, R = 0.0001
Q = 0.0001, R = 0.001
K = -1.0000 -2.8424 -60.8741 -11.1539
K = -0.1000 -0.7661 -54.4126 -9.7625
17
Response to Initial Condition
Response to Initial Condition 1 x e t a t S
1
e t a t S
0
0
0.5
1
1.5
2
2.5
3
3.5
4
S
-0.5
e t a t S
0
0.5
1
1.5
2
2.5
3
3.5
-0.05
1
1.5
2
2.5
3
3.5
e t a t S
4 x
0 -0.1
e t a t S
0
0.5
1
1.5
2 t(sec)
2.5
3
3.5
1.5
2
2.5
3
3.5
4
0. 5
1
1.5
2
2.5
3
3.5
4
0
0. 5
1
1.5
2
2.5
3
3.5
4
0
0. 5
1
1.5
2 t(sec)
2.5
3
3.5
4
0 x 10
0 -2 -4
4
0.1
4 x
-0.1
e t a t S
0.5
1
0
3 x
0
0. 5
-3
0
e t a t
0
4
0.05
3 x
1 0.5 0.1
2 x
0
e t a t
S
1 x
0.5
2 x
1.5
2
0.01 0 -0.01
4
Q = 0.0001, R = 1
Q = 0.0001, R = 100
K = 0.0100 -0.2330 -52.6972 -9.4030
K = -0.0010 -0.0729 -52.1726 -9.2932
Response to Initial Condition 1 x e t a t
S
2 x e t a t S
Response to Initial Condition
1.05 1 0.95
1.005
1 x e t a t
1
S
0
0. 5
1
1. 5
2
2.5
3
3. 5
4
0.02
0.995 0
2 x
0
e t a t S
-0.02 0
0. 5
1
1. 5
2
2.5
3
3. 5
4
2
3 x e t a t S
4 x e t a t S
0
3 x
-2
e t a t S
-4 0 1
x 10
0. 5
1
1. 5
2
2.5
3
3. 5
4
-2
0 -1
e t a t S
0
0
0. 5
1
1. 5
2 t(sec)
2.5
3
3. 5
4
1
1. 5
2
2. 5
3
3.5
4
0 x 10
0. 5
1
1. 5
2
2. 5
3
3.5
4
0. 5
1
1. 5
2
2. 5
3
3.5
4
0. 5
1
1. 5
2 t(sec)
2. 5
3
3.5
4
-5
-2 -4
-3 4 x
0. 5 -3
0
-4
x 10
x 10
2
0 x 10
-4
0 -2 0
Q = 0.0001, R = 10000
Q = 0.01, R = 0.0001
K = -0.0001 -0.0230 -52.0081 -9.2587
K = -10.0000 -16.3650 -108.7138 -23.1095
18
Response to Initial Condition
Response to Initial Condition 1 1.0005 x
e t a t S
1 0.9995
2
1 x
1
e t a t
S
0
0. 5
1
1.5
2
2.5
3
3.5
4
-4
2 x e t a t
S
x 10
2
2 x
-2 0
0. 5
1
1.5
2
2.5
3
3.5
3 x e t a t S
x 10
0
-4
0
0. 5
1
1.5
2
2.5
3
3.5
4
e t a t
S
x 10
1
-0.1
-1
0
0. 5
1
1.5
2 t(sec)
2.5
3
3.5
4
2
2. 5
3
3.5
4
0
0. 5
1
1. 5
2
2. 5
3
3.5
4
0
0. 5
1
1. 5
2
2. 5
3
3.5
4
0
0. 5
1
1. 5
2 t(sec)
2. 5
3
3.5
4
0.5
4 x e t a t S
0
1. 5
0
-5
4 x
-1
e t a t
S
1
0.1
3 x
-2
0. 5
0
4
-6
0
1
e t a t S
0
0
0 -0.5
Q = 0.01, R = 0.01
Q = 0.01, R = 1
K = -1.0000 -2.8424 -60.8741 -11.1539
K = -0.1000 -0.7661 -54.4126 -9.7625
Response to Initial Condition
Response to Initial Condition
2
1 x
1 x e 1 t a t S
0
2 x e t a t S
0
0.5
1
1. 5
2
2.5
3
3.5
0. 5
1
1. 5
2
2.5
3
3. 5
4
0. 5
1
1. 5
2
2.5
3
3. 5
4
0
0. 5
1
1. 5
2
2.5
3
3. 5
4
-0.01 0
0. 5
1
1. 5
2 t(sec)
2.5
3
3. 5
4
4
0.5
e t a t S
0
0.5
1
1. 5
2
2.5
3
3.5
0 -0.1
4 3 x
0 -0.05
4 x e t a t S
e t a t S
0
0.5
1
1. 5
2
2.5
3
3.5
4 x
0 -0.1
e t a t S
0
0.5
1
1. 5
2 t(sec)
2.5
3
3.5
0
4
0 x 10
-3
-2 -4
4
0.1
0
0.1
2 x
0 -0.5
1 0.5
0.05
3 x e t a t S
e t a t S
1.5
0.01 0
Q = 0.01, R = 100
Q = 0.01, R = 10000
K = -0.0100 -0.2330 -52.6972 -9.4030
K = -0.0010 -0.0729 -52.1726 -9.2932 19
Response to Initial Condition 1 x e t a t S
Response to Initial Condition
1.05
1 x
1 0.95
0
0.5
1
1.5
2
2.5
3
3.5
e t a t S
4
1.005 1 0.995
0
0.5
1
1.5
2
2.5
3
3.5
4
0.5
1
1.5
2
2.5
3
3.5
4
0.5
1
1.5
2
2.5
3
3.5
4
0.5
1
1.5
2 t(sec)
2.5
3
3.5
4
-3
2 x e t a t S
0.02
-0.02
2
2 x
0 0
0.5
1
1.5
2
2.5
3
3.5
e t a t S
4
0 -2
-4
3 x
x 10
1
4 x e t a t S
0.5
1
1.5
2
2.5
3
3.5
e t a t S
4
-4
0 -4
2
4 x
0
x 10
-2
-3
0
-1
0
3 x
-2
e t a t S
-4 0
0 -5
x 10
0
x 10
0.5
1
1.5
2 t(sec)
2.5
3
3.5
e t a t S
4
x 10
0 -2 0
Q = 1, R = 0.0001
Q = 1, R = 0.01
K = -100.0000 -151.6288 -666.5591 -166.3249
K = -10.0000 -16.3650 -108.7138 -23.1095
Response to Initial Condition
Response to Initial Condition
2
2
1 x e 1 t a t S
0
2 x e t a t S
3 x e t a t S
1 x e 1 t a t S
0
0.5
1
1. 5
2
2.5
3
3.5
2 x e t a t S
0
-1 0 0.2
0.5
1
1. 5
2
2.5
3
3.5
4 3 x e t a t S
0 -0.2
4 x e t a t S
0
4
1
0
0.5
1
1. 5
2
2.5
3
3.5
4
1
-1 0
e t a t S
0.5
1
1. 5
2 t(sec)
2.5
3
3.5
4
0. 5
1
1.5
2
2.5
3
3. 5
4
0
0. 5
1
1.5
2
2.5
3
3. 5
4
0
0. 5
1
1.5
2
2.5
3
3. 5
4
0
0. 5
1
1.5
2 t(sec)
2.5
3
3. 5
4
0 -1
0.1 0 -0.1 0.5
4 x
0
0
1
0 -0.5
Q = 1, R = 1
Q = 1, R = 100
K = -1.0000 -2.8424 -60.8741 -11.1539
K = -0.1000 -0.7661 -54.4126 -9.7625 20
Response to Initial Condition
Response to Initial Condition
2
e t a t
0
0.5
1
1. 5
2
2.5
3
3.5
0.5 0
e t a t
0.5
1
1. 5
2
2.5
3
3.5
-0.1
4
0
e t a t S
-0.05
4 x e t a t S
0
0.5
1
1. 5
2
2.5
3
3.5
0.1
0
0.5
1
1. 5
2 t(sec)
2.5
3
3.5
4
2
2.5
3
3.5
4
0.5
1
1.5
2
2.5
3
3.5
4
0
0.5
1
1.5
2
2.5
3
3.5
4
0
0.5
1
1.5
2 t(sec)
2.5
3
3.5
4
0 x 10
-4
0.01
4 x e t a t S
-0.1
1.5
-2
4
0
1
-3
3 x
0
0.5
0
S
0
0
0.1
2 x
-0.5
0.5
4
0.05
3 x e t a t S
1
S
0
2 x e t a t S
1.5
1 x
1 x e 1 t a t S
0 -0.01
Q = 1, R = 10000
Q =100, R = 0.0001
K = -0.0100 -0.2330 -52.6972 -9.4030
K = -1.0000 -1.5083 -6.3127 -1.6140
Response to Initial Condition 1 x e t a t S
1.05
Response to Initial Condition 2
1 0.95
0
0.5
1
1.5
2
2. 5
3
3.5
4
1 x e 1 t a t S
0
2 x e t a t
S
0.02 0 -0.02
0
0.5
1
1.5
2
2. 5
3
3.5
4
2 x e t a t S
-4
3 x e t a t S
4 x e t a t S
0
x 10
-2 -4 0 1
x 10
0.5
1
1.5
2
2. 5
3
3.5
4
Q = 100, R = 0.01
1.5
2 t(sec)
2. 5
3
3.5
4
1.5
2
2.5
3
3.5
4
-1
0
0. 5
1
1.5
2
2.5
3
3.5
4
0
0. 5
1
1.5
2
2.5
3
3.5
4
0
0. 5
1
1.5
2 t(sec)
2.5
3
3.5
4
0 -0.2
e t a t S
1
1
0.2
4 x
0.5
0. 5
0
-3
0 -1 0
3 x e t a t S
0
1
1 0 -1
Q = 100, R = 1
21
K = -100.0000 -151.6288 -666.5591 -166.3249
K = -10.0000 -16.3650 -108.7138 -23.1095
Response to Initial Condition 1 x
Response to Initial Condition
2
1 x
e 1 t a t S
0
2 x e t a t S
3 x e t a t S
e t a t
S
0
0.5
1
1.5
2
2.5
3
3.5
4
1
S
0.5
1
1.5
2
2.5
3
3.5
4
-0.2
4 x e t a t S
-1
S
0.5
1
1.5
2
2.5
3
3.5
4
1
-1 0
-0.1
S
1
1.5
2 t(sec)
2.5
3
3.5
4
1.5
2
2. 5
3
3.5
4
0
0.5
1
1.5
2
2. 5
3
3.5
4
0
0.5
1
1.5
2
2. 5
3
3.5
4
0
0.5
1
1.5
2 t(sec)
2. 5
3
3.5
4
0
e t a t
0.5
1
0.5
4 x
0
0.5
0
e t a t
0
0
0.1
3 x
0
0
0
e t a t
-1 0 0.2
1
1
2 x
0
2
-0.5
Q = 100, R = 100
Q = 100, R = 10000
K = -1.0000 -2.8424 -60.8741 -11.1539
K = -0.1000 -0.7661 -54.4126 -9.7625 Response to Initial Condition
Response to Initial Condition 1 x
2
1 x e t a t
e 1 t a t S
0
2 x e t a t S
3 x e t a t S
S
0
0.5
1
1. 5
2
2.5
3
3.5
2 x e t a t S
0 0
0.5
1
1. 5
2
2.5
3
3.5
S
0.5
1
1. 5
2
2.5
3
3.5
4 x
0
e t a t S
0
0.5
1
1. 5
Q = 10000, R = 0.0001
2 t(sec)
2.5
3
3.5
1
1.5
2
2.5
3
3. 5
4
0 0.5 -3 x 10
1
1.5
2
2.5
3
3. 5
4
0
0
0.5
1
1.5
2
2.5
3
3. 5
4
0
0.5
1
1.5
2 t(sec)
2.5
3
3. 5
4
-2 -4
4
0.1
-0.1
0.5
0 -0.1
e t a t
0
0
0.1
3 x
0
4 x e t a t S
0.5
4
0.05
-0.05
1
4
0.5
-0.5
1.5
4
0.01 0 -0.01
Q = 10000, R = 0.01
22
K = -10000 -15076 -62783 -16093
K = -1000 -1508.3 -6312.7 -1614
Response to Initial Condition 1 x
Response to Initial Condition
2
1 x
e 1 t a t S
0
2 x e t a t S
3 x e t a t S
e t a t
S
0
0.5
1
1.5
2
2.5
3
3.5
4
1
S
0.5
1
1.5
2
2.5
3
3.5
4
-0.2
4 x e t a t S
-1
S
0.5
1
1.5
2
2.5
3
3.5
4
1
-1 0
-0.2
S
1
1.5
2 t(sec)
2.5
3
3.5
1.5
2
2.5
3
3.5
4
0
0.5
1
1.5
2
2.5
3
3.5
4
0
0.5
1
1.5
2
2.5
3
3.5
4
0
0.5
1
1.5
2 t(sec)
2.5
3
3.5
4
0
e t a t
0.5
1
1
4 x
0
0.5
0
e t a t
0
0
0.2
3 x
0
0
0
e t a t
-1 0 0.2
1
1
2 x
0
2
4
-1
Q = 10000, R = 1
Q = 10000, R = 100
K = -100.0000 -151.6288 -666.5591 -166.3249
K = -10.0000 -16.3650 -108.7138 -23.1095 Response to Initial Condition
Response to Initial Condition 1 x
2
1 x e t a t S
e 1 t a t S
0
2 x e t a t S
3 x e t a t S
0
0.5
1
1. 5
2
2.5
3
3.5
4
1
2 x e t a t S
0
-1 0 0.2
0.5
1
1. 5
2
2.5
3
3.5
4 3 x e t a t S
0 -0.2
4 x e t a t S
0
0.5
1
1. 5
2
2.5
3
3.5
4 x
0
e t a t S
0.5
1
1. 5
2 t(sec)
2.5
3
3.5
1 0
4
0
0. 5
1
1. 5
2
2.5
3
3. 5
4
0
0. 5
1
1. 5
2
2.5
3
3. 5
4
0
0. 5
1
1. 5
2
2.5
3
3. 5
4
0
0. 5
1
1. 5
2 t(sec)
2.5
3
3. 5
4
1 0 -1
0.1 0 -0.1
4
1
-1 0
2
0.5 0 -0.5
Q = 10000, R = 10000
K = -1.0000 -2.8424 -60.8741 -11.1539 23
Response to Initial Condition 2
1 x e 1 t a t S
0
2 x e t a t S
3 x e t a t S
0
0.5
1
1. 5
2
2.5
3
3.5
4
0
0.5
1
1. 5
2
2.5
3
3.5
4
0
0.5
1
1. 5
2
2.5
3
3.5
4
0
0.5
1
1. 5
2 t(sec)
2.5
3
3.5
4
0.5 0 -0.5
0.05 0 -0.05
4 x e t a t S
0.1 0 -0.1
Dari seluruh grafik respons di atas, dapat terlihat bagaimana respons suatu sistem untuk setiap nilai Q dan R yang berbeda. Untuk nilai Q yang sama, pertambahan nilai R mengakibatkan sistem mencapai steady state dalam waktu tempuh yang lebih lama. Sedangkan untuk nilai R yang sama, pertambahan nilai Q mengakibatkan osilasi sistem berkurang. Oleh karena itu, dapat disimpulkan bahwa sistem pengontrol memiliki respons paling baik saat nilai Q = 10000 dan R =0.0001, sehingga diperoleh nilai K = (-1
-1.5076
-6.2783
-1.6093) * 10-4
Nilai Q menggambarkan nilai cost state, sedangkan nilai R menggambarkan nilai cost input. Maka dapat disimpulkan bahwa sistem ini memiliki respons yang baik saat cost state bernilai paling besar dan input state bernilai paling kecil.
Perancangan State Observer
Pada perancangan sistem kontrol menggunakan pendekatan pole placement , diasumsikan variabel keadaan dapat digunakan sebagai feedback. Namun pada kenyataannya, tidak seluruh variabel keadaan dapat digunakan sebagai feedback sehingga variabel-variabel keadaan yang tidak dapat digunakan tersebut perlu diestimasi agar sistem kontrol yang dirancang dapat berfungsi dengan baik. State observer mengestimasi variabel keadaan berdasarkan nilai perhitungan output dan variabel
kontrol.
Diberikan bentuk state space suatu plant
ሶ = +
24
=+ = + + ሺ − ሻ = ሶ − =− − − ሺ − ሻ = ሶ = ሺሺ −− ሻሻሺ − ሻ
dan bentuk state space suatu observer
dengan nilai error
Dapat disimpulkan dari turunan persamaan di atas,bahwa nilai error dipengaruhi oleh nilai Ke dalam perancangan state observer ini. Berikut ini merupakan diagram blok dari suatu sistem yang menggunakan state observer.
control
Dengan menggunakan program Matlab di bawah ini, clc; clear; %kondisi system A = [0 1 0 0; 0 0 -0.94 0.416; 0 0 0 1; 0 0 29.861 29.861 -0.304]; -0.304]; B = [0;0.416;0;-1.15]; C = [1 0 0 0]; D = [0]; system_ss = ss(A,B,C,D); ob = obsv(A,C); [num_p,den_p]=ss2tf(A,B,C,D); plant = tf(num_p,den_ tf(num_p,den_p) p) s1 = -4+3.9j; s2= -4-3.9j; s3= -10+2j; s4= -10-2j; J =[s1 s2 s3 s4]; Kp = acker(A,B,J) J_ob = [s1 0 0 0; 0 s2 0 0; 0 0 s3 0; 0 0 0 s4]; poly(J); Phi = polyvalm(poly(J_ob polyvalm(poly(J_ob),A); ),A);
25
Ke = Phi*(inv(ob))*[0;0;0 Phi*(inv(ob))*[0;0;0;1] ;1] A_baru = A-Ke*C-B*Kp; B_baru = Ke; C_baru = Kp; D_baru = 0; [num_c,den_c] = ss2tf(A_baru,B_baru,C_baru,D_baru); control = tf(num_c,den_c) T=(plant*control)/(1+(plant*control)) T=(plant*control)/(1+(plant* control)) S=1/(1+(plant*control)) L=control*plant figure(1) bode(T) figure(2) bode(S) figure(3) bode(L)
Dengan menggunakan program matlab di atas, m aka diperoleh nilai Kp dan Ke berturut-turut: Kp = -286.1996
-119.5181
Ke = 1.0e+003 * ( 0.0277
-349.6237 0.3167
1.7621
-67.3179 9.2389)
dan diperoleh pula fungsi transfer untuk pengontrol, yaitu: -1.284e006 s^3 - 7.326e006 s^2 - 8.047e005 s - 9.29e005 ----------------------------------------------------------------------s^4 + 55.7 s^3 + 1387 s^2 + 5.547e005 s + 2.644e006
sehingga diperoleh pula fungsi transfer dan grafik L
-1.582e-008 s^6 - 5. 341e005 s^5 - 2.596e006 s^4 + 1.68e007 s^3 + 8.298e007 s^2 + 9.453e006 s + 1.054e007
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------s^8 + 56 s^7 + 1374 s^6 + 5.535e005 s^5 + 2.771e006 s^4 - 1.576e007 s^3- 7.894e007 s^2
26
Bode Diagram 100 50 ) B d ( e d u t i n g a M
0 -50 -100 -150 0
) g e d ( e s a h P
-90 -180 -270 -360 -2
10
-1
10
0
10
1
10
2
10
3
10
4
10
Frequency (rad/sec)
Grafik L seharusnya akan menuju ke nilai negatif tak hingga, dan grafik L pada sistem ini pun menuju ke arah nilai nilai negatif tak hingga. Kecuraman pada grafik L ini dipengaruhi oleh nilai gain feedback.
Berikut ini merupakan fungsi transfer dan grafik untuk S. s^8 + 56 s^7 + 1374 s^6 + 5.535e005 s^5 + 2.771e006 s^4 - 1.576e007 s^3 - 7.894e007 s^2
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------s^8 + 56 s^7 + 1374 s^6 + 1.944e004 s^5 + 1.752e005 s^4 + 1.042e006 s^3 + 4.037e006 s^2 + 9.453e006 s + 1.054e007
27
Bode Diagram 60 40 ) B d ( e d u t i n g a M
20 0 -20
-40 720
) g e d ( e s a h P
540 360 180 0 -1
10
0
1
10
10
2
10
3
10
Frequency (rad/sec)
Nilai S merupakan noise rejection sehingga grafik S seharusnya menuju ke arah nol. Grafik S pada sistem ini sudah menuju ke arah nol walaupun sempat berosilasi. Hal ini menunjukkan kecepatan sistem mengurangi noise, sehingga noise menjadi 0.
Di bawah ini merupakan fungsi transfer dan grafik T. -1.582e-008 s^14 - 5.341e005 s^13 - 3.25e007 s^12 - 8.626e008 s^11 - 2.981e011 s^10 - 2.889e012 s^9 + 1.064e013 s^8 + 1.756e014 s^7 + 1.752e014 s^6 - 2.602e015 s^5 - 6.67e015 s^4 - 9.123e014 s^3 - 8.317e014 s^2
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------s^16 + 112 s^15 + 5885 s^14 + 7.269e005 s^13 + 3.692e007 s^12 + 9.377e008 s^11 + 1.391e010 s^10 + 1.264e011 s^9 + 6.53e011 s^8 + 8.378e011 s^7 - 1.381e013 s^6 - 1.138e014 s^5 - 4.385e014 s^4 - 9.123e014 s^3 - 8.317e014 s^2
28
Bode Diagram 50
) B d ( e d u t i n g a M
0
-50
-100
-150 540
) g e d ( e s a h P
360 180 0 -180 -2
10
-1
10
0
10
1
10
2
10
3
10
4
10
Frequency (rad/sec)
Nilai T menggambarkan kemampuan tracking suatu sistem terhadap disturbance sehingga grafik bode T seharusnya menuju ke nilai negatif tak hingga. Grafik bode T pada sistem ini pun menuju ke arah negatif tak hingga. Jadi, error yang dihasilkan antara disturbance dan sistem menjadi semakin kecil.
29
Referensi
http://www.control.isy.liu.se/ Endra Joelianto ; Robust H
PID Controller Design Via LMI Solution S olution of Dissipative Integral Backstepping
∞
with State Feedback Synthesis, Bandung Endra Joelianto; Linear Quadratic Control, Bandung: 2010 Katsuhiko Ogata; Modern Control Engineering, fifth edition; 2010
30