Bab 5 Disain Pengendali Dengan Metode Model Predictive Control (MPC)
Tujuan Pengajaran Tujuan dari bab 5 ini adalah untuk memahami konsep dasar sistem kendali dengan multi-langkah-prediksi kedepan. Kemudian tujuan yang kedua adalah kemampuan untuk mendisain pengendali sederhana yang berbasiskan kepada konsep model predictive control yang digunakan untuk mengendalikan proses yang mempunyai waktu tunda besar.
5.1 Pendahuluan Sistem kendali prediktif termasuk kedalam katagori konsep perancangan pengendali berbasis model proses, yaitu model proses digunakan secara eksplisit untuk mendisain pengendali, dengan meminimumkan suatu fungsi kriteria. Ide yang mendasari pada setiap jenis pengendali prediktif adalah: Penggunaan model proses secara eksplisit untuk memprediksi keluaran proses yang akan datang didalam rentang waktu tertentu (horizon). Perhitungan rangkaian sinyal kendali dengan meminimasi suatu fungsi kriteria. Strategi surut; pada setiap waktu pencuplikan (pada waktu t) horizon dipindahkan menuju waktu pencuplikan berikutnya (pada waktu t+1) dengan melibatkan pemakaian sinyal kendali pertama (yaitu u(t)) untuk mengendalikan proses, dan kedua prosedur di atas diulang dengan menggunakan informasi terakhir. Algoritma MPC yang beragam (yang disebut pula long-range predictive control) hanya saling membedakan diantaranya pada model proses yang digunakan untuk mendiskripsikan sistem, model derau, serta fungsi kriteria yang akan diminimasi. Hingga saat ini banyak sekali dijumpai keberhasilan aplikasi
90
Bab 5: Model Predictive Control
pengendali prediktif bukan hanya didalam industri proses, tetapi juga aplikasi pengendalian lengan robot, boimedik, industri semen, kolom destilasi, generator servo, dan lain-lain. Kinerja yang memuaskan dari hasil aplikasi tersebut menunjukkan kepasitas MPC untuk memperoleh sistem kendali yang berefisiensi tinggi serta mampu beroperasi selama periode waktu yang lama dengan berbagai intervensi. Metode MPC menawarkan serangkaian keuntungan dibandingkan metode pengendalian lainnya, diantaranya adalah: Konsepnya sangat intuitif serta penalaannya sangat mudah. Dapat digunakan untuk mengendalikan proses yang beragam, mulai dari proses yang sederhana, hingga sampai proses yang kompleks, mempunyai waktu tunda besar, non-minimum phase atau proses yang tidak stabil. Dapat menangani sistem multivariabel. Mempunyai kompensasi terhadap waktu tunda. Mempunyai kemampuan dari pengendali feed forward untuk mengkompensasi gangguan yang terukur. Mudah untuk mengimplementasikan pengendali yang diperoleh. Constraints dapat diperhitungkan didalam perancangan pengendali. Sangat berguna jika sinyal referensi untuk masa datang diketahui. Disamping beragam keuntungan yang dimiliki, metode MPC juga mempunyai kerugian-kerugian. Salah satu diantaranya adalah masalah penurunan aturan sinyal kendali. Walaupun aturan kendali mudah diimplementasikan dan membutuhkan sedikit komputasi, namun penurunan aturan kendali tersebut lebih kompleks dibandingkan pengendali PID klasik. Jika dinamika proses tidak berubah, maka bentuk persamaan sinyal kendali dapat diperoleh dengan mudah. Tetapi untuk kasus pengendali adaptif, dimana karakteristik proses dapat berubah, membutuhkan proses penurunan sinyal kendali pada setiap waktu pencuplikan. Hal ini tentu saja menyebabkan waktu komputasi yang dibutuhkan menjadi besar. Jika constraints diperhitungkan dalam disain, maka waktu komputasi bahkan menjadi lebih besar lagi. Walaupun dengan menggunakan kecanggihan teknologi komputer saat ini hal tersebut bukanlah masalah yang berarti, namum perlu diingat bahwa tidak semua komputer yang digunakan didalam industri proses menggunakan kecanggihan komputer tersebut. Disamping itu pula penggunaan komputer bukan hanya melulu untuk menghitung algoritma kendali, tetapi juga untuk komunikasi, dialog dengan komputer lain, alarm, perekaman, dan lain-lain, sehingga sangat dituntut keefisienan dalam waktu komputasi dari algoritma kendali. Kelemahan yang lain adalah keperluan akan model proses yang baik, karena algoritma perancangan berbasis pengetahuan perancang akan sistem yang akan dikendalikan yang berupa model sistem tersebut.
Bab 5: Model Predictive Control
91
Konsep Dasar MPC Metodologi semua pengendali yang termasuk kedalam katagori jenis-jenis MPC dapat dikenali oleh strategi berikut ini, seperti yang diwakili pada gambar 5.1 1. Keluaran proses yang akan datang untuk rentang horizon N yang ditentukan, dinamakan prediction horizon, diprediksi pada setiap waktu pencuplikan dengan menggunakan model proses. Keluaran proses terprediksi ini y(t+k|t) untuk k = 1 ... N bergantung pada nilai masukan dan keluaran lampau dan kepada sinyal kendali yang akan datang u(t+k|t), k = 0 ... N-1 yang akan digunakan sistem dan yang harus dihitung. 2. Serangkaian sinyal kendali dihitung dengan mengoptimasi suatu fungsi kriteria yang ditetapkan sebelumnya, dengan tujuan untuk menjaga proses sedekat mungkin terhadap trayektori acuan w(t+k). Fungsi kriteria tersebut umumnya berupa suatu fungsi kuadratik dari kesalahan antara sinyal keluaran terprediksi dengan trayektori acuan. Dalam banyak kasus tujuan pengendalian seperti pemakaian energi yang minimum disertakan didalam fungsi kriteria. Solusi eksplisit dapat diperoleh jika fungsi kriteria adalah kuadratik, model linier, dan tidak ada constraints, jika tidak optimasi iteratif harus digunakan untuk memecahkannya. Langkah pertama dan kedua ini dapat diilustrasikan didalam gambar 5.2 3. Sinyal kendali u(t|t) dikirim ke proses, sedangkan sinyal kendali terprediksi berikutnya dibuang, karena pada pencuplikan berikutnya y(t+1) sudah diketahui nilainya. Maka langkah pertama diulang dengan nilai keluaran proses yang baru dan semua prosedur perhitungan yang diperlukan diperbaiki. Sinyal kendali yang baru u(t+1|t+1) (nilainya berbeda dengan u(t+1|t) dihitung dengan menggunakan konsep receding horizon.
Past inputs and outputs Model
Predicted outputs -
Reference trajectory
+
Future inputs Optimizer Future errors Cost function
Constraints
Gambar 5.1 Struktur dasar MPC
92
Bab 5: Model Predictive Control
Gambar 5.2 Kalkulasi keluaran proses dan pengendali terprediksi
5.2 Perkembangan MPC Model Predictive Control (MPC) pertama kali dikembangkan di akhir dekade 70’an secara hampir bersamaan oleh Richalet [13] yang mengusulkan Model Algorithmic Control (MAC) serta Cutler dan Ramaker [14] yang mengembangkan Dynamic Matrix Control (DMC). Sebuah model proses dinamik digunakan secara eksplisit di kedua algoritma tersebut untuk memprediksi pengaruh aksi kendali yang akan datang terhadap keluaran proses; hal ini ditentukan dengan meminimasi kesalahan terprediksi terhadap batasan-batasan operasional. Proses optimasi diulang pada setiap kali periode pencuplikan dengan informasi terbaru dari proses. MPC berkembang dengan pesat terutama di industri-industri kimia, dikarenakan kesederhanaan algoritmanya dan penggunaan model non-parametrik yang membutuhkan sedikit informasi a-priori tentang proses dibandingkan model parametrik. Teknik kendali ini kemudian dikombinasikan dengan algoritma swa-tala. Metode yang dikembangkan oleh Peterka [15], yaitu predictor-based self-tuning control, dan oleh Ydstie [16], yaitu extended horizon adaptive control (EHAC), termasuk kedalam katagori ini. Metode ini berusaha menjaga keluaran yang akan datang yang dihitung dengan persamaan Diophantine mendekati acuan. Extended prediction self adaptive control oleh De Keyser [17] mengusulkan sinyal kendali konstan dengan menggunakan sub-optimal prediktor. Generalized predictive control (GPC) yang dikembangkan oleh Clarke et. al. pada tahun 1987 [18] diusulkan pula didalam konteks ini. Metode ini menggunakan ide-ide dari generalized minimum variance (GMV) dan menjadi jenis pengendali prediktif yang paling populer hingga saat ini. Dengan berbasis ide-ide yang hampir sama hingga saat ini terdapat berbagai macam formulasi pengendali prediktif, diantaranya adalah: multistep multivariable adaptive control (MUSMAR) [19], multipredictor receding horizon adaptive control (MURHAC) [20], predictive
Bab 5: Model Predictive Control
93
functional control (PFC) [21], dan unified predictive control (UPC) [22]. Perbedaan dari setiap jenis pengendali prediktif terutama terletak pada penentuan elemen-elemen dasar yang membentuk strategi kendali, seperti model prediksi, fungsi kriteria, dan aturan kendali yang diperoleh. Tiga teknik kendali prediktif yang paling banyak dipakai di industri adalah Dynamic Matrix Control (DMC), Model Algorithmic Control (MAC), dan Generalized Predictive Control (GPC). Dua teknik pertama termasuk kedalam katagori teknik kendali prediktif yang menggunakan model non-parametrik. Kedua pendekatan ini berbasiskan kepada respon model terhadap masukan step atau impulse. Sedangkan GPC termasuk kedalam katagori metode parametrik, karena model proses direpresentasikan dalam bentuk fungsi alih yang menyatakan letak kutub-kutub serta zero-zero model.
Dynamic Matrix Control DMC dikembangkan pada akhir dekade 70’an oleh Cutler dan Ramaker yang bekerja pada Shell Company, dan diterima secara luas di industri terutama pada industri-industri petrokimia. Model proses yang digunakan pada teknik kendali ini adalah respon proses terhadap masukan berupa fungsi step, dengan mengasumsikan gangguan bernilai tetap selama control horizon. Persamaan keluaran proses adalah ∞
y (t ) = ∑ g i Δu(t − i )
(5.1)
i =1
Nilai keluaran proses terprediksi selama horizon tersebut adalah ∞
yˆ (t + k | t ) = ∑ g i Δu(t + k − i ) + nˆ (t + k | t ) = i =1
k
= ∑ g i Δu(t + k − i ) + i =1
∞
∑ g Δu(t + k − i ) + nˆ(t + k | t )
i = k +1
(5.2)
i
Gangguan diperhitungkan tetap nilainya, yaitu nˆ (t + k | t ) = nˆ (t | t ) = y m (t ) − yˆ (t | t ) . Maka persamaan keluaran prediksi di atas dapat ditulis menjadi:
k
yˆ (t + k | t ) = ∑ g i Δu(t + k − i ) + i =1
∞
∑ g Δu(t + k − i ) + y
i = k +1
i
m
(t ) −
94
Bab 5: Model Predictive Control
∞
k
i =1
i =1
− ∑ g i Δu(t − i ) = ∑ g i Δu(t + k − i ) + f (t + k ) dengan f(t+k) adalah respon bebas sistem, yaitu bagian dari respon yang yang tidak bergantung kepada aksi kendali yang akan datang. Bentuk persamaannya adalah: ∞
f (t + k ) = y m (t ) + ∑ (g k + i − g i )Δu(t − i )
(5.3)
i =1
Jika proses adalah stabil asimptot, koefisien-koefisien gi dari respon sistem akan menuju ke suatu harga yang tidak berubah setelah N periode pencuplikan. Dengan demikian dapat diperhitungkan bahwa tidak terdapat perbedaan nilai antara dua buah nilai koefisien gi setelah N periode pencuplikan g k + i − g i ≈ 0,
i>N
Dengan demikian respon bebas dapat dihitung sebagai N
f (t + k ) = y m (t ) + ∑ (g k + i − g i )Δu(t − i )
(5.4)
i =1
Yang perlu diperhatikan adalah bahwa N tidak eksis jika proses tidak stabil, sehingga f(t+k) tidak dapat dihitung. Nilai prediksi dapat dihitung selama prediction horizon (k = 1, ..., p), serta dengan memperhitungkan m aksi kendali. yˆ (t + 1 | t ) = g1 Δu(t ) + f (t + 1) yˆ (t + 2 | t ) = g 2 Δu(t ) + g1 Δu(t + 1) + f (t + 2) M yˆ (t + p | t ) =
m
∑ g Δu ( t + p − i ) + f ( t + p ) i =1
i
Dengan mendefinisikan matriks dinamik sistem G sebagai ⎡ g1 ⎢g ⎢ 2 ⎢ M G=⎢ ⎢g m ⎢ M ⎢ ⎢⎣ g p
0 g1 M g m −1 M g p −1
0 ⎤ L 0 ⎥⎥ L O M ⎥ ⎥ g1 ⎥ L O M ⎥ ⎥ L g p −m +1 ⎥⎦
Bab 5: Model Predictive Control
95
maka sejumlah N keluaran proses terprediksi yˆ
dapat dinyatakan oleh
persamaan
yˆ = Gu + f
(5.5)
dengan yˆ adalah vektor dimensi-p yang mengandung keluaran prediksi sistem selama horizon, u mewakili vektor dimensi-m dari kendali integrator, dan f adalah vektor respon bebas. Matriks G dibentuk oleh m (control horizon) kolom dari respon sistem terhadap masukan step gi, dimana jumlah koefisien gi pada setiap kolom ditentukan berdasarkan orde prediksi dari control horizon. Tujuan dari pengendali DMC adalah untuk menuntun keluaran proses mendekati sinyal acuan didalam kerangka kuadrat-terkecil, yaitu kesalahan kuadrat antara keluaran proses dengan sinyal acuan adalah minimum. Dengan demikian variabel termanipulasi ditentukan sedemikian untuk meminimumkan suatu fungsi kuadratik yang dapat memperhitungkan minimasi kesalahan yang akan datang p
J = ∑ [yˆ (t + j | t ) − w (t + j )]
2
(5.6)
j =1
Bentuk fungsi kriteria di atas dapat dibuat menjadi lebih umum dengan mengikutsertakan pula sinyal kendali sebagai salah satu komponen yang harus diminimumkan p
m
J = ∑ [yˆ (t + j | t ) − w (t + j )] + ∑ λ [Δu(t + j − 1)] 2
j =1
2
(5.7)
j =1
Jika tidak pembatasan pada besarnya sinyal kendali, solusi dari minimasi fungsi kriteria J = eTe + λuTu, dengan e adalah vektor kesalahan yang akan datang selama horizon dan u adalah vektor yang berisi aksi kendali integrator yang akan datang Δu(t), ..., Δu(t+m), dapat diperoleh secara analitik dengan menghitung turunan dari J dan membuatnya sama dengan nol, sehingga menghasilkan persamaan untuk keluaran sinyal kendali
(
u = G G + λI T
)
−1
G (w − f ) T
(5.8)
Yang perlu diperhatikan adalah bahwa pada semua strategi kendali prediktif hanya elemen pertama dari vektor u (Δu(t)) yang benar-benar digunakan oleh proses. Untuk mengimplementasikan semua rangkaian sinyal kendali yang terhitung selama m interval adalah sangat tidak dianjurkan. Hal ini dikarenakan sesuatu yang tidak mungkin untuk mengestimasi vektor gangguan dengan sempurna, sehingga hal yang tidak mungkin pula untuk mengantisipasi dengan tepat gangguan-gangguan yang tidak dapat dihindari yang menyebabkan keluaran proses yang sebenarnya berbeda dengan nilai prediksi yang dipakai
96
Bab 5: Model Predictive Control
untuk menghitung serangkaian aksi kendali. Alasan yang lain adalah bahwa sinyal acuan dapat pula berubah selama m interval.
Contoh 5.1 Suatu sistem yang tidak diketahui mempunyai bentuk fungsi alih G p ( z −1 ) =
y (t ) 0.81z −1 + 0.405 z −2 = u(t ) 1 − 0.2z −1 + 0.01z −2
Sistem ini adalah sistem yang kausal, sehingga harga awal keluarannya adalah sama dengan nol, y(0) = 0. Sistem ini kemudian diidentifikasi kedalam bentuk model step-response. Dalam kondisi lup terbuka sistem diberi masukan berupa fungsi step dengan amplitudo satu. Hasil kurva respon keluaran sistem dapat dilihat pada gambar di bawah ini
Gambar 5.3 Respon sistem untuk masukan fungsi step
dengan vektor keluaran proses
y (t ) = [0 0.81 1.377 1.4823 1.4977 1.4997 1.5 1.5 L] T
Nilai penguat statik dari sistem ini adalah yss = 1.5. Berdasarkan data keluaran proses di atas, sistem masuk kedalam kondisi settle setelah pencuplikan ketiga,
Bab 5: Model Predictive Control
97
p=3. Nilai parameter model sistem adalah g1 = 0.81, g2 = 1.377, dan g3 = 1.4823, sedangkan g4, g5, ..., g∞ diasumsikan sama dengan g3. Model non-parametrik yang digunakan mempunyai bentuk 3
∑ g Δu ( t − i )
y (t ) =
i =1
i
= 0.81Δu(t − 1) + 1.377 Δu(t − 2) + 1.4823 Δu(t − 3) Respon bebas sistem untuk prediction horizon p=3 diberikan oleh persamaan berikut ini:
f (t + 1) = y m (t ) + (g 2 − g 1 )Δu(t − 1) + (g 3 − g 2 )Δu(t − 2) + (g 4 − g 3 )Δu(t − 3) 1424 3 :=0
f (t + 2) = y m (t ) + (g 3 − g 1 )Δu(t − 1) + (g 4 − g 2 )Δu(t − 2) + (g 5 − g 3 )Δu(t − 3) 1424 3 :=0
f (t + 3) = y m (t ) + (g 4 − g 1 )Δu(t − 1) + (g 5 − g 2 )Δu(t − 2) + (g 6 − g 3 )Δu(t − 3) 1424 3 :=0
Jika control horizon ditentukan sebesar m=2 dan bobot sinyal kendali λ = 1, maka matriks dinamik sistem dapat disusun menjadi ⎡ g1 G = ⎢⎢g 2 ⎢⎣g 3
0 ⎤ ⎡ 0.81 0 ⎤ ⎥ ⎢ g 1 ⎥ = ⎢ 1.377 0.81 ⎥⎥ g 2 ⎥⎦ ⎢⎣1.4823 1.377 ⎥⎦
(G
)
dan T
G + λI
−1
⎡ 0.2751 0.2232 0.0879 ⎤ T G =⎢ ⎥ ⎣− 0.2444 0.0297 0.3096 ⎦
Jika sistem tidak berubah karakteristiknya, maka nilai matriks di atas akan selalu konstan untuk setiap periode pencuplikan. Nilai yang berubah terhadap waktu adalah respon bebas dan sinyal kendali. Jika sinyal acuan yang diberikan berupa fungsi step, maka untuk pencuplikan ke-nol (t=0) hasil perhitungan respon bebas dan vektor sinyal kendali adalah sebagai berikut f (1) = y m (0) + (g 2 − g 1 )Δu( −1) + (g 3 − g 2 )Δu( −2) = 0 + (1.377 − 0.81).0 + (1.4823 − 1.377 ).0 = 0 f ( 2) = y m (0) + (g 3 − g 1 )Δu( −1) + (g 4 − g 2 )Δu( −2) = 0 + (1.4823 − 0.81).0 + (1.4823 − 1.377 ).0 = 0
98
Bab 5: Model Predictive Control f (3 ) =
y m (0) + (g 4 − g 1 )Δu( −1) + (g 5 − g 2 )Δu( −2)
= 0 + (1.4823 − 0.81).0 + (1.4823 − 1.377 ).0 = 0
(G
)
G (w − f ) ⎡ ⎡1⎤ ⎡0⎤ ⎤ ⎡Δu(0)⎤ ⎡ 0.2751 0.2232 0.0879 ⎤ ⎢ ⎢ ⎥ ⎢ ⎥ ⎥ ⎢ Δu(1) ⎥ = ⎢− 0.2444 0.0297 0.3096 ⎥ ⎢ ⎢1⎥ − ⎢0⎥ ⎥ ⎣ ⎦ ⎣ ⎦ ⎢ ⎢1⎥ ⎢0⎥ ⎥ ⎣⎣ ⎦ ⎣ ⎦⎦ ⎡Δu(0)⎤ ⎡ 0.5861⎤ ⎢ Δu(1) ⎥ = ⎢0.0948 ⎥ ⎣ ⎦ ⎣ ⎦ =
u
T
G + λI
−1
T
Dengan demikian sinyal kendali yang dihasilkan adalah u(0) = u( −1) + Δu(0) = 0.5861 Pada pencuplikan berikutnya (t=1) nilai keluaran proses yang dihasilkan adalah y (1) = 0.2y (0) − 0.01y ( −1) + 0.81u(0) + 0.405u( −1) =
0.4747
Nilai keluaran proses ini selanjutnya kembali digunakan untuk memperbaharui nilai respon bebas dan keluaran pengendali yang baru, yaitu sebagai berikut: f ( 2) =
y m (1) + (g 2 − g 1 )Δu(0) + (g 3 − g 2 )Δu( −1)
= 0.4747 + (1.377 − 0.81)0.5861 + (1.4823 − 1.377 ).0 = 0.807 f (3 ) =
y m (1) + (g 3 − g 1 )Δu(0) + (g 4 − g 2 )Δu( −1)
= 0.4747 + (1.4823 − 0.81)0.5861 + (1.4823 − 1.377 ).0 = 0.8687 f ( 4) = y m (1) + (g 4 − g 1 )Δu(0) + (g 5 − g 2 )Δu( −1) = 0.4747 + (1.4823 − 0.81)0.5861 + (1.4823 − 1.377 ).0 = 0.8687 ⎡ ⎡1⎤ ⎡ 0.807 ⎤ ⎤ ⎡ Δu(1) ⎤ ⎡ 0.2751 0.2232 0.0879 ⎤ ⎢ ⎢ ⎥ ⎢ ⎥⎥ ⎢Δu(2)⎥ = ⎢− 0.2444 0.0297 0.3096 ⎥ ⎢ ⎢1⎥ − ⎢0.8687 ⎥ ⎥ ⎣ ⎦ ⎣ ⎦ ⎢ ⎢1⎥ ⎢0.8687 ⎥ ⎥ ⎦⎦ ⎣⎣ ⎦ ⎣ ⎡ 0.0939 ⎤ = ⎢− 0.0026 ⎥ ⎣ ⎦ u(1) =
u(0) + Δu(1)
= 0.5861 + 0.0939 = 0.68
Bab 5: Model Predictive Control
99
Hasil lengkap keluaran proses dan keluaran pengendali dapat dilihat pada gambar 5.4.
Gambar 5.4 Kurva respon waktu keluaran sistem dan pengendali dengan algoritma DMC
Model Algorithmic Control Metode ini dikenal sangat sederhana dan intuitif dan hampir menyerupai teknik DMC dengan memiliki hanya sedikit perbedaan. Algoritma kendali dibuat dengan dengan memakai respon proses terhadap masukan step dan menyediakan solusi eksplisit yang sederhana didalam ketidakhadiran constraints. Keberhasilan teknik ini diterima di industri dikarenakan model proses berupa non-parametrik dengan masukan impulse yang digunakan. Model fungsi alih dapat memberikan kesalahan besar jika terjadi perbedaan yang cukup signifikan pada orde model. Sedangkan model non-parametrik adalah pilihan yang cukup tepat, karena identifikasi response sistem dengan masukan impulse adalah relatif mudah. Hubungan keluaran sistem pada waktu t terhadap masukan diwakili oleh koefisien-koefisien hasil respon sistem terhadap masukan impulse dan dinyatakan sebagai:
100
Bab 5: Model Predictive Control
N
y (t ) = ∑ h j u(t − j ) = H ( z −1 )u(t )
(5.9)
j =1
Model ini memprediksi keluaran proses pada waktu t dan tergantung kepada kombinasi linier dari nilai masukan lampau, dengan bobot hi adalah koefisienkoefisien repon sistem terhadap masukan impulse. Banyaknya koefisien hi yang dipakai hanya terbatas hingga N elemen, dimana keluaran sistem pada waktu ke-N diasumsikan stabil (sudah memasuki daerah 2% atau 5% dari keadaan tunak). Dengan menggunakan model ini, sebuah prediktor k-langkah kedepan dapat ditulis sebagai: N
yˆ (t + k | t ) = ∑ h j u(t + k − j ) + nˆ (t + k | t )
(5.10)
j =1
Bagian sumasi pada persamaan di atas dapat dipisah menjadi dua suku:
f r (t + k ) =
N
k
∑ h j u (t + k − j )
f o (t + k ) = ∑ h j u ( t + k − j )
j = k +1
(5.11)
j =1
Variabel fr mewakili respon bebas, dan fo mewakili respon pemaksa. Diasumsikan bahwa gangguan akan tetap konstan pada waktu yang akan datang dengan mempunyai nilai yang sama seperti pada waktu t, sehingga N
nˆ (t + k | t ) = nˆ (t | t ) = y (t ) − ∑ h j u(t − j ) j =1
Maka bentuk keluaran prediksi adalah: yˆ (t + k | t ) = f r + fo + nˆ (t | t )
(5.12)
Jika M adalah horizon dan u+ adalah vektor aksi kendali, u- adalah aksi kendali lampau, y adalah keluaran proses terprediksi, n adalah gangguan, dan w adalah trayektori referensi u (t ) ⎡ ⎤ ⎢ u(t + 1) ⎥ ⎥ u+ = ⎢ ⎥ ⎢ M ⎢ ⎥ ⎣u(t + M − 1)⎦
⎡ u(t − N + 1) ⎤ ⎢u(t − N + 2)⎥ ⎥ u− = ⎢ ⎥ ⎢ M ⎢ ⎥ ⎣ u(t − 1) ⎦
⎡ yˆ (t + 1) ⎤ ⎢ yˆ (t + 2) ⎥ ⎥ y=⎢ ⎥ ⎢ M ⎢ ⎥ ⎣ yˆ (t + M )⎦
Bab 5: Model Predictive Control ⎡ nˆ (t + 1) ⎤ ⎢ nˆ (t + 2) ⎥ ⎥ n=⎢ ⎢ ⎥ M ⎢ ⎥ ⎣nˆ (t + M )⎦
101 ⎡ w (t + 1) ⎤ ⎢ w (t + 2) ⎥ ⎥ w=⎢ ⎢ ⎥ M ⎢ ⎥ ⎣w (t + M )⎦
serta dengan mendefinisikan matriks-matriks ⎡ h1 ⎢h H1 = ⎢ 2 ⎢ M ⎢ ⎣hM
0 h1 M hM −1
L 0⎤ L 0 ⎥⎥ O M⎥ ⎥ L h1 ⎦
⎡hN ⎢0 H2 = ⎢ ⎢ M ⎢ ⎣0
L hi L hj O M L hN
L h2 ⎤ L h3 ⎥⎥ O M ⎥ ⎥ L hM +1 ⎦
dengan demikian keluaran prediksi dapat ditulis menjadi: y = H 1u + + H 2 u − + n
(5.13)
Dengan demikian fungsi kriteria dapat ditulis kembali menjadi J = e e + λu + u + T
T
(5.14)
dengan e adalah vektor kesalahan antara sinyal acuan dengan keluaran proses e =
w −y
= w − H 2 u − − n − H 1u + =
w − f − H 1u +
dan f = H 2u− + n
Jika tidak ada constraints yang diperhitungkan, maka solusi minimasi fungsi kriteria di atas adalah: u + = (H 1 H 1 + λ I ) H 1 (w − f ) −1
T
(5.15)
Contoh 5.2 Untuk sistem yang sama pada contoh 5.1 akan dirancang algortima pengendali dengan berbasis Model Algortihmic Control dengan nilai control horizon m = 2 dan bobot sinyal kendali λ = 0.1. Keluaran sistem lup terbuka untuk masukan berupa fungsi impuls dapat dilihat pada gambar 5.5. Nilai keluaran sistem yang
102
Bab 5: Model Predictive Control
tertera pada gambar tersebut adalah y(t) = {0, 0.81, 0.567, 0.1053, 0.0154, 0.002, 0.0003, 0, 0, ...}. Dari nilai keluaran ini terlihat bahwa sistem mulai menuju keadaan tunak setelah pencuplikan keempat. Dengan demikian nilai prediction horizon dapat ditentukan sebesar p = 4 serta nilai parameter model proses adalah h1 = 0.81, h2 = 0.567, h3 = 0.1053, h4 = 0.0154, dan h5, h6, ..., h∞ sama dengan h4. Sinyal acuan yang diberikan untuk sistem lingkar tertutup adalah berupa fungsi step. Dari keluaran respon impuls di atas dapat disusun matriks H1 dan H2 0 ⎤ ⎡ 0.81 H1 = ⎢ ⎥ ⎣0.567 0.81⎦
⎡0.0154 0.1053 0.567 ⎤ H2 = ⎢ 0.0154 0.1053 ⎥⎦ ⎣ 0
serta dapat pula dihitung
(
H = H 1 H 1 + 0.1I 2 T
)
−1
0.0939 ⎤ ⎡ 1.0143 T H1 = ⎢ ⎥ ⎣− 0.61608 1.0143 ⎦
Gambar 5.5 Respon keluaran sistem dengan masukan fungsi impuls
Selama tidak terjadi perubahan parameter sistem, maka nilai matriks H konstan. Pada pencuplikan ke-nol besarnya derau yang terprediksi serta vektor sinyal kendali lampau adalah sebagai berikut:
Bab 5: Model Predictive Control
103
nˆ (0 0 ) = nˆ (10 ) =
4
y (0 ) − ∑ h j u ( − j ) j =1
= y (0) − h1u( −1) − h2u( −2) − h3 u( −3) − h4 u( −4) = 0 ⎡u( −3)⎤ ⎡0⎤ u − = ⎢⎢u( −2)⎥⎥ = ⎢⎢0⎥⎥ ⎢⎣ u( −1) ⎥⎦ ⎢⎣0⎥⎦
⎡0⎤ n=⎢ ⎥ ⎣0⎦
Karena derau sepanjang control horizon diasumsikan konstan, maka kedua elemen pada vektor derau n adalah sama. Langkah selanjutnya adalah perhitungan vektor respon bebas f dan vektor sinyal u+ kendali: ⎡0⎤ f = H 2u− + n = ⎢ ⎥ ⎣0⎦
(
)
= u+ H 1 H 1 + 0.1I 2 H 1 (w − f ) 0.0939 ⎤ ⎡ ⎡1⎤ ⎡0⎤ ⎤ ⎡u(0)⎤ ⎡ 1.0143 ⎢ u(1) ⎥ = ⎢− 0.61608 1.0143 ⎥ ⎢ ⎢1⎥ − ⎢0⎥ ⎥ ⎣ ⎦ ⎣ ⎦ ⎣⎣ ⎦ ⎣ ⎦⎦ u ( 0 ) 1 . 1082 ⎡ ⎤ ⎡ ⎤ ⎢ u(1) ⎥ = ⎢0.39817 ⎥ ⎣ ⎦ ⎣ ⎦ T
−1
T
Hanya elemen baris pertama vektor sinyal kendali yang dipakai sebagai masukan proses, sedangkan elemen selebihnya dibuang. Nilai u(1) yang dihitung pada pencuplikan ke-nol tidak (harus) sama dengan u(1) yang dihitung pada pencuplikan pertama t=1. Langkah-langkah di atas kemudian diulang untuk setiap periode pencuplikan dengan data keluaran proses yang berbeda. Hasil lengkap keluaran proses dan keluaran pengendali dapat dilihat pada kurva gambar 5.6.
Generalized Predictive Control Metode GPC pertama kali diusulkan oleh Clarke et. al. [18] dan menjadi salah satu metode MPC yang paling populer di industri. Metode ini terbukti sukses diimplementasikan di berbagai aplikasi industri dan mampu menunjukkan kinerja dan ketegaran yang baik. Algoritma ini sanggup mengatasi permasalahan yang berbeda untuk proses yang memiliki karakteristik berbeda pula. Ide dasar metode ini adalah perhitungan rangkaian sinyal kendali yang akan datang sedemikian sehingga meminimumkan suatu fungsi kriteria dengan multi langkah yang didefinisikan sepanjang prediction horizon. Indeks yang akan
104
Bab 5: Model Predictive Control
dioptimasi adalah harga ekspetasi dari suatu fungsi kuadratik yang mengukur perbedaan antara keluaran sistem terprediksi dengan sinyal acuan sepanjang horizon, serta fungsi kuadratik dari sinyal kendali yang diperlukan.
Gambar 5.6 Kurva respon waktu keluaran sistem dan pengendali dengan algoritma MAC
Jika constraints tidak diperlukan pada disain pengendali, maka metode GPC dapat dipecahkan secara analitik. Kelebihan yang utama dibandingkan metode disain pengendali lainnya adalah kemampuannya untuk mengendalikan sistem yang tidak stabil, non-minimum phase, sistem yang berubah struktur model (misal: orde sistem), serta sistem yang mempunyai waktu tunda besar. Melihat keunggulan metode ini dibanding metode kendali prediktif lainnya, maka metode GPC akan dibahas khusus pada sub-bab berikutnya.
5.3 Generalized Predictive Control Bagian ini menjelaskan prosedur umum dari metode GPC untuk menurunkan aturan kendali serta karakteristik utama GPC. Algoritma yang diperoleh juga akan diperluas untuk kasus derau warna.
Bab 5: Model Predictive Control
105
Model Prediksi Suatu sistem single-input-single-output (SISO) yang biasanya diperoleh setelah proses penyederhanaan, linierisasi, serta beroperasi di sekitar titik kerja, dapat dinyatakan sebagai A( z −1 )y (t ) = z − d B( z −1 )u(t − 1) + C ( z −1 )e(t )
(5.16)
dengan u(t) dan y(t) adalah berturut-turut sinyal masukan dan keluaran proses, dan e(t) adalah derau putih dengan rata-rata nol serta d adalah waktu tunda proses. A, B, dan C adalah polinomial-polinomial yang dinyatakan dalam backward shift operator z-1:
A( z −1 ) = 1 + a1 z −1 + a 2 z −2 + L + ana z − na B( z −1 ) = b0 + b1 z −1 + b2 z − 2 + L + bnb z −nb
C( z −1 ) =
1 + c1 z −1 + c 2 z − 2 + L + c nc z −nc
Model ini dikenal sebagai model ARMAX (Auto Regressive Moving Average eXogenous). Untuk aplikasi-aplikasi di industri yang mempunyai gangguan yang tidak stasioner maka model CARIMA (Controller Auto Regressive Integrated Moving Average ) cocok digunakan. Model CARIMA dinyatakan oleh persamaan berikut ini: A( z −1 )y (t ) = z −d B( z −1 )u(t − 1) + C( z −1 )
e(t ) Δ
(5.17)
dengan Δ = 1 − z −1 Untuk kemudahan maka pada bagian ini polinomial C ditentukan sebesar satu. Kasus umum untuk derau warna akan dibahas terpisah.
Fungsi Kriteria Algoritma GPC terdiri dari penggunaan serangkaian sinyal kendali yang meminimumkan fungsi kriteria dengan multi langkah yang memiliki bentuk persamaan
J (N1 , N 2 , N u ) =
N2
Nu
∑ δ ( j )[yˆ (t + j | t ) − w (t + j )] + ∑ λ ( j )[Δu(t + j − 1)]
j =N1
2
j =1
2
(5.18)
106
Bab 5: Model Predictive Control
dengan yˆ (t + j | t ) adalah prediksi optimum keluaran sistem j-langkah kedepan yang dihitung pada waktu t, N1 dan N2 adalah costing horizon minimum dan maksimum, Nu adalah control horizon, δ(j) dan λ(j) adalah rangkaian bobot, dan w(t+j) adalah trayektori acuan yang akan datang. Untuk penyederhanaan δ(j) ditentukan sama dengan satu dan λ(j) tetap nilainya. Tujuan kendali prediktif adalah untuk menghitung rangkaian sinyal kendali yang akan datang u(t), u(t+1), ... sedemikian sehingga keluaran proses yang akan datang y(t+j) dituntun untuk mendekati w(t+j). Hal ini dapat dilakukan dengan meminimumkan fungsi kriteris J(N1, N2, Nu). Dalam rangka mengoptimasi fungsi kriteria, maka bentuk prediksi optimal untuk j ≥ N1 dan j ≤ N2 harus ditentukan. Langkah pertama yang harus dilakukan adalah dengan menyelesaikan persamaan Diophantine berikut ini: ~ 1 = E j ( z −1 )A( z −1 ) + z − j F j ( z −1 )
dengan
~ A( z −1 ) = ΔA( z −1 )
(5.19)
Polinomial Ej dan Fj berturut-turut didefinisikan secara unik dengan derajat j-1 ~ dan na. Keduanya diperoleh dengan membagi 1 dengan A( z −1 ) sampai dengan sisa pembagian dapat difaktorisasi sebagai z-jFj(z-1). Hasil pembagian adalah polinomial Ej(z-1). Jika persamaan (5.17) dikalikan dengan ΔEj(z-1)zj menghasilkan ~ A( z −1 )E j ( z −1 )y (t + j ) = E j ( z −1 )B( z −1 )Δu(t + j − d − 1) + +
E j ( z −1 )e(t + j )
(5.20)
Dengan memperhitungkan persamaan Diophantine persamaan (5.20) dapat ditulis menjadi
(1 − z
−j
)
F j ( z −1 ) y (t + j ) = E j ( z −1 )B( z −1 )Δu(t + j − d − 1) + E j ( z −1 )e(t + j )
atau y (t + j ) = F j ( z −1 )y (t ) + E j ( z −1 )B( z −1 )Δu(t + j − d − 1) + E j ( z −1 )e(t + j )
Karena derajat polinomial Ej(z-1) = j-1, maka suku gangguan didalam persamaan adalah untuk waktu yang akan datang. Dengan demikian prediksi terbaik yang dapat dilakukan adalah yˆ (t + j ) = F j ( z −1 )y (t ) + G j ( z −1 )Δu(t + j − d − 1)
(5.21)
Bab 5: Model Predictive Control
107
dengan G( z −1 ) = E j ( z −1 )B( z −1 )
(5.22)
Perhitungan polinomial Ej dan Fj dapat dilakukan secara rekursif. Diasumsikan kedua polinomial tersebut diperoleh dari hasil pembagian antara 1 dengan ~ A( z −1 ) sampai dengan sisa pembagian dapat difaktorisasi sebagai z-jFj(z-1). Polinomial tersebut dapat diekspresikan sebagai F j ( z −1 ) =
f j ,0 + f j ,1 z −1 + L + f j ,na z − na
E j ( z −1 ) = e j ,0 + e j ,1 z −1 + L + e j , j −1 z −( j −1)
(5.23)
Diasumsikan bahwa prosedur yang sama digunakan untuk memperoleh Ej+1 dan ~ Fj+1, maka sisa pembagian 1 dengan A( z −1 ) dapat difaktorisasi sebagai z(j+1) Fj+1(z-1), dengan F j +1 ( z −1 ) = f j +1,0 + f j +1,1 z −1 + L + f j +1,na z − na
(5.24)
Bentuk rekursif polinomial Ej+1 diberikan oleh persamaan berikut ini: E j +1 ( z −1 ) = E j ( z −1 ) + e j +1, j z − j
(5.25)
dengan ej+1,j = fj,0. Koefisien-koefisien Fj+1 dengan demikian dapat diekspresikan sebagai: f j +1,i = f j ,i +1 − f j ,0 a~i +1
i = 0 ... na-1
(5.26)
Polinomial Gj+1 dapat pula diperoleh secara rekursif seperti berikut ini:
(
)
G j +1 = E j +1B = E j + f j ,0 z − j B
(5.27)
−j
G j +1 = G j + f j ,0 z B
Dengan demikian j koefisien pertama dari Gj+1 akan identik dengan j koefisien pertama dari Gj dan koefisien sisa diberikan dengan persamaan g j +1, j + i = g j , j + i + f j ,0 bi
i = 0 ... nb
(5.28)
Aturan Kendali Untuk memecahkan permasalahan pada GPC serangkaian sinyal kendali u(t), u(t+1), ..., u(t+N) harus dihitung untuk mengoptimasi fungsi kriteria. Jika sistem
108
Bab 5: Model Predictive Control
mempunyai suku waktu tunda d yang merupakan kelipatan bilangan integer dari perioda pencuplikan, maka keluaran sistem dipengaruhi oleh sinyal kendali u(t) setelah perioda pencuplikan d+1. Nilai N1, N2, dan Nu yang mendefinisikan horizon dapat didefinisikan sebagai N1 = d+1, N2 = d+N, dan Nu = N. Pada waktu t rangkaian prediksi optiman j-langkah kedepan dinyatakan sebagai: yˆ (t + d + 1 | t ) yˆ (t + d + 2 | t )
= Gd +1 Δu(t ) + Fd +1 y (t ) = Gd + 2 Δu(t + 1) + Fd + 2 y (t ) M yˆ (t + d + N | t ) = Gd +N Δu(t + N − 1) + Fd +N y (t ) Persamaan di atas dapat ditulis kembali menjadi: y = Gu + F ( z −1 )y (t ) + G' ( z −1 )Δu(t − 1)
(5.29)
dengan ⎡ yˆ (t + d + 1 | t ) ⎤ ⎢ yˆ (t + d + 2 | t ) ⎥ ⎥ y=⎢ ⎢ ⎥ M ⎢ ⎥ ⎣ yˆ (t + d + N | t )⎦ ⎡ g0 ⎢ g G=⎢ 1 ⎢ M ⎢ ⎣g N −1
0 g0 M g N −2
Δu(t ) ⎤ ⎡ ⎢ Δu(t + 1) ⎥ ⎥ u=⎢ ⎢ ⎥ M ⎢ ⎥ ⎣Δu(t + N − 1)⎦
0⎤ L 0 ⎥⎥ O M⎥ ⎥ L g0 ⎦ L
(
)
⎡ ⎤ Gd +1 ( z −1 ) − g 0 z ⎢ ⎥ −1 −1 2 Gd + 2 ( z ) − g 0 − g 1 z z ⎥ G' ( z −1 ) = ⎢ ⎢ ⎥ M ⎢ ⎥ −1 −1 −( N −1) z N ⎥⎦ ⎢⎣ Gd +N ( z ) − g 0 − g1 z − L − g N −1 z
(
(
⎡ Fd +1 ( z −1 ) ⎤ ⎢ ⎥ Fd + 2 ( z −1 ) ⎥ −1 ⎢ F (z ) = ⎢ ⎥ M ⎢ −1 ⎥ ⎣⎢Fd +N ( z )⎦⎥
)
)
Bab 5: Model Predictive Control
109
Dua suku terakhir dari persamaan (5.29) hanya bergantung pada nilai sebelumnya. Dengan mengelompokkan suku-suku ini kedalam variabel baru f, maka persamaan (5.29) menjadi
y = Gu + f
(5.30)
Jika semua kondisi awal sama dengan nol, maka respon bebas f juga sama dengan nol. Jika fungsi step diberikan pada masukan pada waktu t, maka
Δu(t ) = 1, Δu(t + 1) = 0,L, Δu(t + N − 1) = 0 T Rangkaian keluaran terprediksi [yˆ (t + 1), yˆ (t + 2),L, yˆ (t + N )] sama dengan kolom pertama matriks G. Dengan demikian kolom pertama matriks G dapat dihitung sebagai nilai respon sistem terhadap masukan fungsi step. Suku respon bebas dapat dihitung secara rekursif:
f
j +1
(
)
~ = z 1 − A( z −1 ) f j + B( z −1 )Δu(t + j − d )
(5.31)
dengan f0 = y(t) dan Δu(t+j) = 0 untuk j ≥ 0. Fungsi kriteria pada persamaan (5.18) dapat ditulis kembali menjadi
J = (Gu + f − w ) (Gu + f − w ) + λ u u T
T
(5.32)
dengan
w = [w (t + d + 1) w (t + d + 2) L w (t + d + N )]
T
(5.33)
Persamaan (5.32) dapat ditulis kembali menjadi
J = 12 u H u + b u + f 0 T
T
(5.34)
dengan
H T b
= =
f0
=
(
2 G G + λI T 2(f − w ) G T
)
(f − w ) (f − w )
(5.35)
T
Dengan mengasumsikan tidak terdapat constraints pada sinyal kendali u, nilai minimum dari fungsi kriteria dapat diperoleh dengan membuat gradien dari J sama dengan nol. Hal ini membuat persamaan sinyal kendali mempunyai bentuk sebagai berikut:
Bab 5: Model Predictive Control
110
−1
(
u = −H b = G G + λ I T
)
−1
G (w − f ) T
(5.36)
Sinyal kendali yang dipakai oleh proses adalah elemen pertama dari vektor u, yang diberikan oleh persamaan berikut ini:
Δu(t ) = K (w − f )
(5.37)
dengan K adalah baris pertama dari matriks (GTG+λI)-1GT. Skema dari persamaan keluaran pengendali dapat dilihat pada gambar 5.7. Dari gambar tersebut terlihat bahwa persamaan sinyal kendali mempunyai arti yang sama dengan skema dasar suatu sistem kendali umpan balik negatif: jika tidak terdapat kesalahan terprediksi yang akan datang, yaitu w - f = 0, maka tidak terjadi perubahan nilai sinyal kendali, karena tujuan pengendalian sudah terpenuhi dengan perkembangan respon bebas sistem. Sebaliknya akan terjadi perubahan pada aksi kendali sebanding dengan kesalahan terprediksi yang akan datang.
w K +
u
y Process
+
f
Free response calculation
Gambar 5.7 Aturan kendali GPC
Prosedur perhitungan sinyal kendali di atas diulang untuk setiap kali perioda pencuplikan. Hal yang menjadi isu yang sangat penting pada implementasi algoritma GPC untuk sistem riil adalah masalah komputasi sinyal kendali. Solusi sinyal kendali masih melibatkan operasi invers N x N matriks yang membutuhkan waktu yang cukup berarti jika ukuran matriks tersebut besar. Salah satu alternatif pemecahannya adalah dengan menggunakan konsep control horizon untuk mereduksi jumlah waktu komputasi yang diperlukan, dengan mengasumsikan bahwa sinyal kendali terproyeksi akan menuju konstan setelah Nu < N. Hal ini hanya membutuhkan invers matriks ukuran Nu x Nu yang mengurangi jumlah waktu komputasi, tetapi membatasi optimalisasi dari GPC. Alternatif lain adalah dengan menggunakan suatu fast algorithm untuk mengimplementasikan GPC swa-tala untuk proses yang dapat dimodelkan dengan model non-parametrik. Masalah waktu komputasi GPC tidak akan dibahas lebih lanjut pada diktat kuliah ini.
Bab 5: Model Predictive Control
111
Kasus Untuk Derau Warna Jika polinomial derau C(z-1) dari persamaan (5.16) tidak sama dengan satu, maka prediksi berubah mendadak. Untuk menghitung prediksi untuk kasus ini persamaan Diophantine berikut ini harus dipecahkan ~ C( z −1 ) = E j ( z −1 )A( z −1 ) + z − j F j ( z −1 )
(5.38)
~ dengan δ(Ej(z-1)) = j-1 dan δ(Fj(z-1)) = δ ( A( z −1 )) − 1 . Mengalikan persamaan (5.16) dengan ΔEj(z-1)zj serta dengan menggunakan persamaan (5.38)
(
)
C( z −1 ) y (t + j ) − E j ( z −1 )e(t + j ) = E j ( z −1 )B( z −1 )Δu(t + j − 1) + F j ( z −1 )y (t )
Karena suku-suku derau adalah untuk masa yang akan datang, nilai ekspektasi dari ruas sebelah kiri persamaan di atas adalah:
[
(
)]
E C ( z −1 ) y (t + j ) − E j ( z −1 )e(t + j ) = C ( z −1 )yˆ (t + j | t )
Nilai keluaran ekspektasi dapat dihitung dengan menggunakan persamaan:
C( z −1 )yˆ (t + j | t ) = E j ( z −1 )B( z −1 )Δu(t + j − 1) + F j ( z −1 )y (t )
(5.39)
Persamaan prediksi ini dapat dibuat untuk menghitung prediksi secara rekursif. Ekspresi eksplisit untuk prediksi optimal j-langkah kedepan dapat diperoleh dengan menyelesaikan persamaan Diophantine: 1 = C ( z −1 )M j ( z −1 ) + z − k N j ( z −1 )
(5.40)
dengan δ(Mj(z-1)) = j-1 dan δ(Nj(z-1)) = δ(C(z-1)) – 1. Dengan mengalikan persamaan (5.29) dengan Mj(z-1) dan menggunakan persamaan identitas (5.40), bentuk keluaran prediksi menjadi yˆ (t + j | t ) = M j E j ( z −1 )B( z −1 )Δu(t + j − 1) + M j ( z −1 )F j ( z −1 )y (t ) + N j ( z −1 )y (t )
atau dapat diekspresikan sebagai
(
)
yˆ (t + j | t ) = G( z −1 )Δu(t + j − 1) + G p ( z −1 )Δu(t + j − 1) + M j ( z −1 )F j ( z −1 ) + N j ( z −1 ) y (t )
dengan δ(G(z-1)) < j. Bentuk prediksi ini selanjutnya dapat digunakan didalam fungsi kriteria yang dapat diminimumkan untuk kasus derau warna.
Bab 5: Model Predictive Control
112
Contoh 5.3 Berikut ini adalah sebuah contoh sederhana untuk menunjukkan bagaimana algoritma GPC diimplementasikan. Pengendali didisain untuk sistem orde satu yang mempunyai fungsi alih sebagai berikut:
(1 − 0.8z )y (t ) = (0.4 + 0.6z )u(t − 1) + eΔ(t ) −1
−1
Parameter horizon yang digunakan adalah N1 = 1 dan N2 = Nu = 3. Langkah pertama yang dilakukan adalah menghitung keluaran proses terprediksi sepanjang prediction horizon, kemudian aturan kendali dihitung dengan menggunakan persamaan (5.36). Polinomial prediktor Ej(z-1), Fj(z-1) dihitung dengan menyelesaikan persamaan Diophantine dari j=1 hingga j=3 dengan ~ A( z −1 ) = A( z −1 )(1 − z −1 ) = 1 − 1.8z −1 + 0.8z −2 Pada contoh ini nilai horizon tidak terlalu besar, dengan demikian polinomial ~ prediktor dapat diperoleh secara langsung dengan membagi 1 dengan A( z −1 ) . Seperti sudah dijelaskan pada bagian lalu, polinomial-polinomial tersebut dapat dihitung secara rekursif, dimulai dari nilai yang diperoleh langkah pertama pembagian, yaitu
E1(z-1) = 1
F1(z-1) = 1.8 – 0.8z-1
Hasil pembagian dua langkah berikutnya adalah
E2(z-1) = 1 + 1.8z-1 E3(z ) = 1 + 1.8z-1 + 2.44z-2 -1
F2(z-1) = 2.44 – 1.44z-1 F3(z-1) = 2.952 – 1.952z-1
Dengan hasil di atas dan juga polinomial B(z-1) = 0.4 + 0.6z-1, maka nilai polinomial G(z-1) adalah
G1
=
0.4 + 0.6z −1
G2
=
0.4 + 1.32z −1 + 1.08c
G3
= 0.4 + 1.32z −1 + 2.056z − 2 + 1.464z −3
Dengan demikian keluaran proses terprediksi dapat ditulis menjadi
Bab 5: Model Predictive Control ⎡ yˆ (t + 1 | t ) ⎤ ⎢ yˆ (t + 2 | t )⎥ = ⎥ ⎢ ⎢⎣ yˆ (t + 3 | t )⎥⎦
113
0 0 ⎤ ⎡ Δu ( t ) ⎤ ⎡ 0. 4 ⎢ 1.32 0.4 0 ⎥⎥ ⎢⎢ Δu(t + 1) ⎥⎥ + ⎢ ⎢⎣2.056 1.32 0.4⎥⎦ ⎢⎣Δu(t + 2)⎥⎦ 0.6Δu(t − 1) + 1.8y (t ) − 0.8y (t − 1)
⎤ ⎡ ⎢ + ⎢ 1.08Δu(t − 1) + 2.44 y (t ) − 1.44 y (t − 1) ⎥⎥ ⎢⎣1.464Δu(t − 1) + 2.952 y (t ) − 1.952 y (t − 1)⎥⎦ 144444444244444444 3 f
Langkah berikut adalah untuk menghitung H-1b. Jika λ ditentukan sama dengan 0.8, maka
(G
T
G + λI
)
−1
0.286 0.147 ⎤ ⎡ 0.133 ⎢ G = ⎢− 0.154 − 0.165 0.286 ⎥⎥ ⎢⎣− 0.029 − 0.154 0.1334⎥⎦ T
Selama hanya Δu(t) yang diperlukan untuk kalkulasi, yaitu baris pertama dari matriks di atas yang dipakai, maka bentuk persamaan sinyal kendali yang diperoleh adalah Δu(t ) =
− 0.604Δu(t − 1) − 1.371y (t ) + 0.805y (t − 1) +
+ 0.133w (t + 1) + 0.286w (t + 2) + 0.147w (t + 3) dengan w(t+i) adalah trayektori acuan yang dapat diasumsikan tetap nilainya dan sama dengan sinyal acuan atau dengan pendekatan orde satu terhadap nilai yang diinginkan. Dengan demikian sinyal kendali adalah fungsi dari acuan yang diinginkan dan masukan dan keluaran lampau yang diberikan oleh persamaan: u(t ) = 0396u(t − 1) + 0.604u(t − 2) − 1.371y (t ) + 0.805y (t − 1) + + 0.133w (t + 1) + 0.286w (t + 2) + 0.147w (t + 3) Hasil simulasi pada gambar 5.8 menunjukkan kelakuan sistem lingkar tertutup. Pada gambar tersebut terlihat bahwa keluaran proses mempunyai respon yang halus dengan nilai tunak sama dengan satu serta sedikit overshoot terjadi.
5.4 Generasi Masa Depan MPC Visi dari generasi masa depan teknologi MPC pada bagian ini adalah merupakan hasil survei dari berbagai perusahaan di USA.
114
Bab 5: Model Predictive Control
Formulasi Pengendali Dasar Dikarenakan sangat sulit untuk mendeskripsikan semua tujuan pengendalian yang relevan kedalam sebuah fungsi kriteria, maka teknologi MPC masa depan kemungkinan memanfaatkan multi fungsi kriteria. Prediction horizon yang tak terbatas mempunyai karakteristik teoritis yang menguntungkan dan kemungkinan menjadi bentuk standar. Pilihan trayektori masukan dan keluaran juga akan mengikutsertakan sinyal acuan, zona, trayektori, serta funnels.
Gambar 5.8 Kurva respon waktu keluaran sistem dan pengendali dengan algoritma GPC
Nonlinier MPC MPC yang menggunakan model non linier akan menjadi lebih umum sejalan dengan tuntutan pengguna akan kinerja tinggi dan perangkat lunak baru akan membuat model linier siap untuk digunakan dalam perancangan. Pengembangan model nonlinier empiris yang cocok mungkin menjadi isu yang menarik. Sinyal uji seperti Pseudo Random Binary Signal (PRBS) yang cocok dipakai pada model linier tidak akan sama sukses untuk menyediakan eksitasi untuk sistem non linier. Tidak akan ada bentuk model yang dapat mewakili proses non linier secara umum. Model Volterra orde dua mungkin dapat menjembatani kesenjangan antara model empiris linier dengan model non linier dalam waktu dekat ini.
Bab 5: Model Predictive Control
115
Pendekatan lain adalah dengan menggunakan model hibrid yang mengintegrasikan prinsip pertama dari keadaan tunak non linier dengan model dinamik baik linier maupun non linier mungkin menjanjikan keberhasilan pada masa depan. Gain-scheduling dengan model dinamik linier adalah sala satu contoh untuk pendekatan ini. Penggunaan model non linier mengubah masalah pengendalian dari pemrograman konveks menjadi pemrograman non linier non konveks, dimana pemecahannya menjadi sulit. Solusi tidak dijamin sebagai contoh akan menemukan optimasi global. Walaupun pemecahan masalah MPC non linier pada setiap waktu pencuplikan menjadi sulit, namun beberapa peneliti berhasil menunjukkan bahwa kestabilan nominal Lyapunov untuk model linier dapat digunakan untuk kasus model non linier dengan sedikit modifikasi. Hanya saja sebagai catatan yang perlu menjadi perhatian adalah MPC nonlinier membutuhkan penyesuaian ekstra yang tidak diinginkan. Hal ini mengimplikasikan bahwa penalaan pengendali MPC non linier sangat sulit, terutama untuk ketidaksesuain model.
Adaptif MPC Beberapa algoritma MPC seperti GPC yang diusulkan Clarke et. al. dengan kemampuan beradaptasi hanya terdapat pada satu produk di pasaran, yaitu STAR dari perusahaan Dot Products. Hal ini memberi pangsa pasar yang besar untuk pengendali MPC swa-tala. Hanya saja realisasi pengendali ini dalam dunia nyata tidak sesederhana seperti pada kasus akademik. Di lain fihak pengendali adaptif dan kebutuhan akan metode penalaan pengendali PID telah sukses di pasaran. Hal ini menyarankan bahwa pengendali MPC adaptif dapat mengambil alih peran pengendali PID pada lup tunggal, serta untuk mengatasi sistem-sistem yang kompleks.
Kestabilan Robus MPC Jaminan kestabilan robus akan mengurangi waktu yang diperlukan untuk menala dan menguji algoritma MPC untuk industri secara berarti. Kelebihan-kelebihan teoritis yang sanggup diberikan pengendali MPC untuk model sistem yang sempurna akan ditingkatkan untuk memperhitungkan ketidakpastian akan model sistem untuk waktu yang akan datang. Pengendali MPC akan dilengkapi dengan perangkat tambahan seperti blok identifikasi yang dilengkapi dengan supervisi untuk selalu memperbaiki model kasar yang mengandung ketidakpastian yang tinggi. Hal ini ditujukan untuk memudahkan disain dan penalaan pengendali MPC.
116
Bab 5: Model Predictive Control