Model Predictive Control (MPC) atau sistem kendali prediktif termasuk dalam konsep perancangan pengendali berbasis model proses, dimana model proses digunakan secara eksplisit untuk merancang pengendali dengan cara meminimumkan suatu fungsi kriteria. Ide yang mendasari pada setiap jenis MPC adalah:
a. Penggunaan model proses secara eksplisit untuk memprediksi keluaran proses yang akan datang dalam rentang waktu tertentu (horizon)
b. Perhitungan srangkaian sinyal kendali dengan meminimasi suatu fungsi kriteria
c. Strategi surut, pada setiap waktu pencuplikan (pada waktu k) horizon dipindahkan menuju waktu pencuplikan berikutnya (pada waktu ๐ + 1) dengan melibatkan pemakaian sinyal kendali pertama (yaitu ๐ข(๐)) untuk mengendalikan proses, dan kedua prosedur di atas diulang dengan menggunakan informasi terakhir. Metode MPC memiliki bberapa keungulan dibandingkan dengan metode pengendali lainnya, di antaranya adalah:
a. Konsepnya sangat intuitif serta penalarannya mudah
b. Dapat digunakan untuk mengendalikan proses yang beragam, mulai dari proses yang sederhana, hingga proses yang kompleks, memiliki waktu tunda yang besar, non-minimum phase atau proses yang tidak stabil
c. Dapat menangani sistem multivariabel d. Mempunyai kompensasi terhadap waktu tunda
e. Mempunyai kemampuan dari pengendali feed forward untuk mengkompensasi gangguan yang terukur.
f. Mudah untuk mengimplementasikan pengendali yang diperoleh g. Dapat memperhitungkan batasan atau constraint dalam
merancang pengendali
h. Sangat berguna jika sinyal acuan untuk masa yang akan diketahui Selain beragam keuntungan yang dimiliki, metode MPC juga mempunyai kelemahan, yaitu masalah penurunan aturan sinyal kendali yang cukup kompleks dan keperluan akan model proses yang baik.
Tujuan utama dari sebuah Model Predictive Control (MPC) adalah untuk menghitung trayektori dari sinyal kontrol u (manipulated variable) yang akan datang untuk mengoptimalkan perilaku yang akan
datang (future behavior) pada sinyal output y pada sebuah plant berdasarkan pada nilai pengukuran saat ini dan prediksi dari nilai output yang akan datang. Objektif dari kontroler MPC adalah untuk menentukan nilai sinyal kontrol (sequence of control moves) sehingga nilai output yang diprediksi akan mendekati nilai setpoint dengan optimal. Pada Gambar 2.15, dapat dilihat susunan dari nilai output saat ini (actual output) y, nilai output terprediksi (predicted output) yห , dan manipulated input atau sinyal kontrol u.
Gambar 2. 6 Konsep dari Kontroler Model Predictive Control [11] Pada setiap waktu sampling k, kontroler MPC menghitung himpunan dari nilai M atau control horizon (selanjutnya disebut Nc) dari input
๏ป
u๏จ
k ๏ซ i ๏ญ1๏ฉ
, i ๏ฝ1, 2,..., M๏ฝ
. Nilai input akan ditahan pada nilai konstan setelah M langkah didalam sinyal kontrol tersebut. Nilai input akan dihitung sedemikian sehingga nilai himpunan dari P keluaran atau output terprediksi๏ป
y๏จ
k ๏ซ i๏ฉ
, i ๏ฝ 1, 2,..., P๏ฝ
mencapai nilai setpoint yang diinginkan. P merupakan nilai dari prediction horizon (selanjutnya disebut Np) pada kontroler MPC. Perhitungan nilai kontrol pada kontroler MPC dihitung berdasarkan nilai optimal dari suatu fungsi objektif atau indeks performansi J.Model State-Space dengan Embedded Integrator
Sistem Model Predictive Control didesain berdasarkan oleh model matematika plant. Model plant yang akan digunakan untuk desain system control dirubah menjadi model state space yang diperlukan untuk memprediksi respon kedepan yang diwakilkan oleh
variable saat ini. Untuk mempermudah, diasumsikan plant merupakan sistem single-input dan single output yang dapat dideskripsikan sebagai berikut :
๐ฅ๐(๐ + 1) = ๐ด๐๐ฅ๐(๐) + ๐ต๐๐ข(๐) (2.18)
๐ฆ(๐) = ๐ถ๐๐ฅ๐(๐) + ๐ท๐๐ข(๐) (2.19)
di mana u adalah variabel manipulasi, y adalah variabel output dan xm adalah variabel state. Dikarenakan prinsip dari receding horizon control, dimana state saat ini dibutuhkan untuk menghitung prediksi dan kontrol, maka dapat diasumsikan bahwa input u(k) tidak dapat mempengaruhi output y(k) pada waktu yang sama. Oleh karena itu Dm dapat diabaikan, sehingga Persamaan (2.18) dan Persamaan (2.19) dapat ditulis sebagai berikut :
๐ฅ๐(๐ + 1) = ๐ด๐๐ฅ๐(๐) + ๐ต๐๐ข(๐) (2.20)
๐ฆ(๐) = ๐ถ๐๐ฅ๐(๐) (2.21)
Kedua sisi dari Persamaan (2.20) dilakukan operesasi beda, sehingga persamaannya menjadi sebagai berikut :
๐ฅ๐(๐ + 1) โ ๐ฅ๐(๐) = ๐ด๐(๐ฅ๐(๐) โ ๐ฅ๐(๐ โ 1))
โกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโก+๐ต๐(๐ข(๐) โ ๐ข(๐ โ 1)) (2.22) Persamaan beda variabel state dapat dinotasikan sebagai berikut :
โ๐ฅ๐(๐ + 1) = ๐ฅ๐(๐ + 1) โ โก ๐ฅ๐(๐) (2.23) โ๐ฅ๐(๐) = ๐ฅ๐(๐) โ โก ๐ฅ๐(๐ โ 1) (2.24) ๐edangkan untuk persamaan beda vaiabel control dapat dinotasikan sebagai berikut :
โ๐ข(๐) = ๐ข(๐) โ ๐ข(๐ โ 1) (2.25)
โ๐ฅ๐(๐ + 1) = ๐ด๐โ๐ฅ๐(๐) + ๐ต๐โ๐ข(๐) (2.26) Untuk menghubungkan โ๐ฅ๐(๐) ke output ๐ฆ(๐) maka dibentuk vektor variabel state baru yaitu,
๐ฅ(๐) = [โ๐ฅ๐(๐)๐โก๐ฆ(๐)]๐ (2.27) ๐ฆ(๐ + 1) โ ๐ฆ(๐) = ๐ถ๐(๐ฅ๐(๐ + 1) โ ๐ฅ๐(๐)) = ๐ถ๐โ๐ฅ๐(๐) Atau
๐ฆ(๐ + 1) โ ๐ฆ(๐) โก = ๐ถ๐๐ด๐โ๐ฅ๐(๐) + ๐ถ๐๐ต๐โ๐ข(๐) (2.28) Persamaan (2.27) dan Persamaan (2.28) digabungkan membentuk model state space,
[โ๐ฅ๐(๐ + 1) ๐ฆ(๐ + 1) ] โ ๐ฅ(๐+1) = โก [ ๐ด๐ ๐๐ ๐ ๐ถ๐๐ด๐ 1] โ ๐ด [โ๐ฅ๐(๐) ๐ฆ(๐) ] โกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโกโก+ [ ๐ต๐ ๐ถ๐๐ต๐] โ ๐ต โ๐ข(๐) (2.29) ๐ฆ(๐) = โก [๐โ ๐ 1] ๐ถ [โ๐ฅ๐(๐) ๐ฆ(๐) ]โก (2.30) dimana ๐๐= [0โก0โก. . . 0]โ ๐1
, sedangkan matriks A,B, dan C disebut dengan matriks augmented yang akan digunakan untuk desain dari predictive control.
Prediction of State and Output Variables
Setelah mendapatkan augmented model, langkah selanjutnya merupakan menghitung nilai output terprediksi dan variabel kontrol yang akan datang. Variabel kontrol yang akan datang dapat dinotasikan seperti pada Persamaan (2.31).
โ๐ข(๐๐), โ๐ข(๐๐+ 1), . . . . , โ๐ข(๐๐+ ๐๐โ 1)โก (2.31) ๐๐ merupakan instan sampling sedangkan Nc merupakan nilai control horizon, yaitu jumlah langkah kontrol berkelanjutan yang diterapkan dan diprediksi oleh kontroler MPC dalam sebuah sampling time. Selain itu, variabel output terprediksi dapat diperkirakan dan diprediksi dalam jumlah sampel Np, dimana Np merupakan nilai
prediction horizon. Adapun variabel output terprediksi dapat dituliskan dalam Persamaan (2.32).
๐ฅ(๐๐+ 1|๐๐), . . . , ๐ฅ(๐๐+ ๐|๐๐), . . . , ๐ฅ(๐๐+ ๐๐|๐๐) (2.32) Dimana ๐ฅ(๐๐+ 1|๐๐) merupakan variabel state yang terprediksi saat ๐๐+ ๐โกdengan diberikan informasi plant saat ini ๐ฅ(๐๐), nilai Nc harus lebih kecil atau sama dengan nilai Np. Setelah itu, nilai output terprediksi dan variabel kontrol yang akan datang dapat dihitung dengan menggunakan Persamaan (2.33).
๐ = ๐น๐ฅ(๐๐) + ๐ทโ๐ (2.33)
di mana matriks F, ฮฆ, dan โ๐ dapat diformulasikan sebagai berikut: โ๐ = [๐ข(๐๐)โกโ๐ข(๐๐+ 1)โก. . ..โกโกโ๐ข(๐๐+ ๐๐โ 1)]๐ (2.34) ๐น = โก [ ๐ถ๐ด ๐ถ๐ด2 ๐ถ๐ด3 โฎ ๐ถ๐ด๐๐] (2.35) ๐ท = [ ๐ถ๐ต 0 0 โฏ 0 ๐ถ๐ด๐ต ๐ถ๐ต 0 โฏ 0 ๐ถ๐ด2๐ต ๐ถ๐ด๐ต ๐ถ๐ต โฏ 0 โฎ ๐ถ๐ด๐๐โ1 ๐ถ๐ด๐๐โ2 ๐ถ๐ด๐๐โ3 โฏ ๐ถ๐ด๐๐โ๐๐] (2.36)
Indeks performansi kontroler MPC
Dalam sebuah kontroler MPC, diperlukan proses optimasi yang mempunyai objektif kontrol untuk meminimalkan error yang terbentuk dari selisih nilai referensi dengan nilai keluaran dari plant. Optimasi tersebut dilakukan dengan mendeskripsikan sebuah nilai dan parameter indeks performansi J yang merefleksikan objektif kontrol dari kontroler MPC. Indeks performansi tersebut dapat didefinisikan sebagai berikut:
๐ ๐ ๐= [1โก1โก. . . 1]โ
๐๐
๐ ๐ = [1โก1โก. . . 1]โ ๐ ๐๐
๐(๐๐) = ๐ ฬ ฬ ฬ ๐(๐๐ ๐) (2.38) ๐ฝ = (๐ ๐ โ ๐)๐(๐ ๐ โ ๐) + โ๐๐๐ ฬ โ๐ (2.39) ๐ ๐ merupakan vektor yang berisi informasi sinyal referensi sinyal set point yang dinotasikan pada Persamaan (2.38). Persamaan (๐ ๐ โ ๐)๐(๐ ๐ โ ๐) pada Persamaan (2.39) indeks performansi J mempunyai tujuan untuk meminimalkan error yang terjadi antara nilai output yang terpredisi dengan setpoint yang diberikan. Sedangkan persamaan โ๐๐๐ ฬ โ๐ untuk merefleksikan seberapa besar nilai โ๐ yang akan dihasilkan ketika fungsi objektif indeks performansi J dibuat sekecil mungkin. Matriks ๐ ฬ adalah matriks diagonal yang berbentuk ๐ ฬ = ๐๐ค๐ผ๐๐ร๐๐(๐๐คโฅ 0) digunakan sebagai parameter tuning kontroler MPC. Variabel ๐๐ค merupakan tuning parameter untuk performa closed loop system pada kontroler MPC. Pada saat nilai ๐๐ค= 0, indeks performansi J akan mempunyai objektif untuk meminimalkan nilai error (๐ ๐ โ ๐)๐(๐ ๐ โ ๐) sekecil mungkin tanpa memperdulikan seberapa besar nilai โ๐. Untuk kasus dimana nilai rw dibuat semakin besar, indeks performansi J pada Persamaan (2.39) akan diterjemahkan ke dalam situasi dimana kita akan meminimalkan nilai error (๐ ๐ โ ๐)๐(๐ ๐ โ ๐) secara hati-hati dengan mempertimbangkan seberapa besar nilai โ๐ yang akan dihasilkan kontroler MPC. Indeks performansi dapat juga dinotasikan sebagai Persamaan (2.40).
๐ฝ = (๐ ๐ โ ๐น๐ฅ(๐๐))๐(๐ ๐ โ ๐น๐ฅ(๐๐)) โ 2โ๐๐๐ท๐(๐ ๐ โ ๐น๐ฅ(๐๐)) โกโกโกโกโกโกโกโกโกโกโกโก+โ๐๐(๐ท๐๐ท + ๐ ฬ โก)โ๐ (2.40) Setelah itu, Persamaan (2.40) diturunkan terhadap โ๐ sehingga persamaannya menjadi seperti Persamaan (2.41)
๐๐ฝ
๐โ๐= (๐ ๐ โ โก๐น๐ฅ(๐๐)) + 2(๐ท๐๐ท + ๐ ฬ โก)โ๐ (2.41) Kondisi yang dibutuhkan untuk meminimalkan indeks performansi dicari pada kondisi sebagai berikut :
๐๐ฝ
๐โ๐= 0 (2.42)
Dengan mensubtitusi Persamaan (2.41) dengan Persamaan (2.42) maka dapat disimpulkan solusi optimal dari sinyal control pada kontroler MPC sebagai Persamaan (2.43)
โ๐ = (๐ท๐๐ท + ๐ ฬ โก)โ1๐ท๐(๐ ๐ โ ๐น๐ฅ(๐๐)) (2.43)
Closed loop Control System
Nilai optimal parameter pada vektor โ๐mengandung sinyal control โ๐ข(๐๐), โ๐ข(๐๐+ 1), . . . . , โ๐ข(๐๐+ ๐๐โ 1) tetapi hanya sampel pertama dari urutan atau sequence yang dapat diimplementasikan dan mengabaikan urutan selanjutnya. Prinsip tersebut disbut dengan Receding Horizon Control(RHC). Ketika periode sampling selanjutnya datang, nilai pengukuran yang paling baru diambil dari state vector (๐๐+ 1) untuk perhitungan sinyal kontrol yang baru. Prosedur ini terus berlanjut pada kondisi real time untuk memenuhi prinsip RHC. Oleh karena itu, sinyal control yang didapatkan dari Persamaan (2.43) dapat ditulis ulang seperti pada Persamaan (2.44).
โ๐ข = (๐ท๐๐ท + ๐ ฬ โก)โ1(๐ท๐๐ ๐ ๐(๐๐) โ ๐ท๐๐น๐ฅ(๐๐)) Atau
โ๐ขโก = ๐พ๐ฆ๐(๐๐) โ ๐พ๐๐๐๐ฅ(๐๐) (2.44)
Dimana ๐พ๐ฆ adalah baris pertama dari matriks (๐ท๐๐ท + ๐ ฬ โก)โ1๐ท๐๐ ๐ dan ๐พ๐๐๐ adalah baris pertama dari matriks (๐ท๐๐ท + ๐ ฬ โก)โ1๐ท๐๐น. Persamaan (2.44) adalah bentuk standar dari linear time-invariant state feedback control. Gain dari state feedback control adalah ๐พ๐๐๐. Untuk mencari persamaan system closed loop pada kontroler MPC, digunakan augmented model. Seperti pada Persamaan (2.45).
๐ฅ(๐ + 1) = ๐ด๐ฅ(๐) + ๐ตโ๐ข(๐) (2.45)
mensubtitusi Persamaan (2.44) ke dalam Persamaan (2.45) dan mengganTi indeks ๐๐ ke dalam ๐ sebagai mana Persamaan (2.46).
๐ฅ(๐ + 1) = ๐ด๐ฅ(๐) โ ๐ต๐พ๐๐๐๐ฅ(๐) + ๐ต๐พ๐ฆ๐(๐) atau
๐ฅ(๐ + 1) โก = (๐ด โ ๐ต๐พ๐๐๐)๐ฅ(๐) + ๐ต๐พ๐ฆ๐(๐) (2.46) Nilai eigenvalues pada system closed-loop dapat diteukan dengan mengamati persamaan karakteristik closed-loop seperti pada Persamaan (2.47).
๐๐๐ก[๐๐ผ โ (๐ด โ ๐ต๐พ๐๐๐)] = 0 (2.47)
Dikarenakan struktur unik dari matriks A dan C, kolom terakhir dari matriks F identik dengan matriks ๐ ฬ ฬ ฬ , yaitu [1โก1โก. . . 1]๐ ๐. Oleh karena itu, gain ๐พ๐ฆ identik dengan elemen terakhir pada gain ๐พ๐๐๐.
Perlu dicatat bahwa nilai vektor state variable ๐ฅ(๐) = [โ๐ฅ๐(๐)๐โก๐ฆ(๐)]๐ dan dengan definisi ๐พ๐ฆsehingga dapat mendeklarasikan bahwa gainโก๐พ๐๐๐= [๐พ๐ฅ ๐พ๐ฆ], dimana ๐พ๐ฅ mendefinisikan hubungan feedback gain vector dengan โ๐ฅ๐(๐). Sedangkan ๐พ๐ฆ mendefinisikan hubungan antara gain dengan ๐ฆ(๐). Oleh karena itu, blok diagram sistem closed-loop pada kontroler MPC seperti pada Gambar 2.16. Notasi ๐โ1 merupakan notasi backward shift operator dan 1
Gambar 2. 7 Sistem Closed loop Kontroler MPC [12]