Sunday, November 6, 2016

Tentang Linear Quadratic Gaussian Regulator

Bismillah, dengan Kasih dan Rahmat Allah, saya mengawali tulisan ini. Pada artikel tentang Linear Quadratic Regulator (LQR), saya ingin menjelaskan bahwa LQR adalah suatu teknik untuk membuat regulator dari suatu proses dengan menjadikan variabel state-nya sebagai input proses (state-feedback). Lalu, di tulisan selanjutnya, saya menuliskan bahwa tiap proses dalam realitanya tercampur noise, baik noise proses ataupun noise ukur, dan menjelaskan pengaruh noise pada LQR. Kini, saya akan coba menulis tentang LQG Regulator.

Apa itu LQG Regulator?

Seperti biasa, saya belum sempat mencari definisi resminya, setahu saya, LQG Regulator adalah LQR yang proses dan pengukurannya telah bercampur Gaussian white noise dan semua/sebagian variabel state-nya tidak terukur.

Mengapa perlu LQG Regulator?

Dari definisi di atas, LQG Regulator diperlukan jika/ketika

1. Diduga ada noise pada LQR, baik noise proses maupun noise ukur
2. Semua/sebagian variabel state tidak terukur

Solusi apa yang ditawarkan oleh LQG Regulator?

Pertama, kehadiran Gaussian white noise pasti memengaruhi respon sistem, sehingga diperlukan filter untuk mengeliminasi pengaruh noise tersebut. Filter yang handal untuk mengatasi noise ini adalah Kalman filter.

Ke dua, sebagian atau bahkan semua variabel state tidak dapat diukur oleh sensor, padahal teknik LQR itu memerlukan umpan balik variabel state (state-feedback) untuk dijadikan input. Hal ini dapat diatasi dengan teknik yang disebut Observer, yaitu membuat estimasi (dugaan) variabel state berdasarkan nilai ukur dari output proses.

Kombinasi dari Kalman filter dan Observer untuk LQR inilah yang ditawarkan oleh LQG Regulator.

Diagram blok LQG Regulator

LQG Regulator diilustrasikan sebagaimana diagram blok berikut, saya capture dari [2].


y adalah output proses, w noise proses, v noise ukur, keduanya diasumsikan Gaussian white noise, dan u sinyal kontrol. Persamaan state-space untuk proses yang memuat noise ini dituliskan sebagai berikut


G dan H adalah matriks untuk noise proses.

Kalman filter menghasilkan estimasi variabel state (x_est) yang selanjutnya digunakan sebagai sinyal kontrol u = -K.x_est. Blok Kalman filter mewakili persamaan state-observer berikut


dengan L adalah gain Kalman.

Menetapkan Qn dan Rn untuk Kalman filter

Kalman filter memiliki setidaknya dua parameter, yaitu Qn (kovarian noise proses) dan Rn (kovarian noise ukur). Keduanya harus ditetapkan untuk menghasilkan estimasi yang bagus. Semakin dekat nilai Qn dan Rn dengan hakikat noise sebenarnya, maka makin bagus hasil estimasinya. Persoalannya, dalam realita, kita tidak mengetahui persis tentang noise2 tersebut kecuali sekedar mengira2. Metode trial dan error umum digunakan untuk mencari nilai Qn dan Rn. Tips untuk tuning dan pengaruh masing2 parameter dapat dibaca di artikel [4][5].

Simulasi

Seorang rekan saya mengusulkan sebuah plant, katanya magnetic levitation (maglev), dinyatakan dengan persamaan state-space berikut

A=[0 1;3406.25 -2.381];
B=[0;92.37];
C=[159.49206 0];
D=[0];

Menetapkan pembobot Q dan R sekaligus menghitung gain state-feedback K

Q=2000*eye(2);
R=1*eye(1);
K=lqr(A,B,Q,R);

Menghitung gain Kalman (L)

G=[1;1];
SYS=SS(A,[B G],C,D);
Qn=0.05;
Rn=0.1;
[kest,L,P]=kalman(SYS,Qn,Rn);

Sengaja saya tetapkan Qn dan Rn sama persis dengan kovarian noise w dan v, artinya Kalman filter harusnya menghasilkan estimasi terbaiknya. Kondisi awal untuk kedua state adalah x1(0) = x2(0) = 5 saya tetapkan di kedua integrator. Diagram simulink saya tampilkan pada gambar berikut.


Simulasi saya jalankan dan berikut ini adalah grafik plot variabel state sebenarnya (yang bercampur noise) dan variabel state hasil estimasi Kalman.


Variabel state (bercampur noise proses dan noise ukur)


Variabel state hasil estimasi Kalman dari output proses yang bercampur noise

Dari kedua grafik di atas, kita telah melihat bahwa Kalman filter sangat sukses mengestimasi variabel state dari output proses. Variabel state hasil estimasi ini selanjutnya diumpan-balikkan dengan gain state-feedback menjadi sinyal kontrol untuk proses. Demikianlah yang dapat saya ceritakan tentang LQG Regulator.

Terus terang, saya cukup terkejut dengan kualitas estimasi Kalman ini. Dia menduga variabel state dari output proses yang bercampur noise namun hasil estimasinya jauh lebih baik dari variabel state-nya yang asli. Maha Suci Allah yang berkenan mengijinkan manusia untuk bisa memahami secercah Ilmu-Nya yang kompleks nan indah.

Sekian. Mudah2an bermanfaat.

Penyusun

M. Nur Qomarudin, +62 85733484101, alfiyahibnumalik@gmail.com

Bila tulisan ini dirasa bermanfaat, saya berharap pembaca sudi mendoakan saya dengan kebaikan atau dengan membacakan surat al-Fatihah. Terimakasih.

Referensi

[1] Frank L. Lewis, Optimal Control 2nd Edition
[2] Mathworks, Linear-Quadratic-Gaussian (LQG) Design
[3] R. M. Murray, Lecture 2 – LQR Control, California Institute of Technology
[4] http://mnurqomarudin.blogspot.com/2014/03/aplikasi-kalman-filter-diskrit-estimasi.html
[5] http://mnurqomarudin.blogspot.com/2016/06/meninjau-kembali-kalman-filter-untuk.html

Unduh PDF

https://drive.google.com/uc?export=download&id=0B_EZTWjA0yY3Ny0yWEc3V1JzSk0

No comments:

Post a Comment