penerapan model predictive control (mpc...
TRANSCRIPT
1
PENERAPAN MODEL PREDICTIVE CONTROL (MPC)
PADA DESAIN PENGENDALIAN ROBOT MOBIL BERODA EMPAT
oleh:
Dimas Avian Maulana
1207 100 045
Dosen Pembimbing:
Subchan, M.Sc., Ph.D
Abstrak
Robot mobil adalah salah satu contoh dari wahana nir awak (WaNA) yang dapat dikendalikan dari
jauh atau memiliki sistem pengendali otomatis untuk bergerak dan berpindah haluan. Robot mobil menjadi
salah satu sarana yang digunakan oleh pihak militer untuk untuk melakukan pengintaian, penjelajahan, dan
pengawasan ke tempat-tempat yang berbahaya bagi manusia. Pada penerapannya ada beberapa lintasan yang
dianggap berbahaya untuk dilalui, didefinisikan suatu lintasan terlebih dahulu agar robot mobil bergerak
sesuai lintasan tersebut. Robot mobil tidak bisa mengikuti lintasan dengan baik tanpa diberi perintah terlebih
dahulu dan dikendalikan. Untuk itu, diperlukan suatu metode untuk mengendalikan robot mobil agar dapat
bergerak mengikuti lintasan dalam misinya untuk melakukan pengintaian, penjelajajahan dan pengawasan.
Dalam tugas akhir ini, diterapkan model predictive controller (MPC) untuk mendesain suatu desain
pengendalian. Lebih lanjut lagi digunakan MPC Linear dalam mendesain pengendalian robot mobil tersebut.
Hasil yang diperoleh adalah bahwa MPC Linear dapat diterapkan dalam desain pengendalian robot mobil
dengan beberapa bentuk lintasan.
Kata kunci : Desain pengendalian, Robot mobil, Model Predictive Control (mpc)
1. Pendahuluan
Robot mobil (mobile robot) adalah sebuah
mesin otomatis yang mampu bergerak pada
suatu kondisi tertentu. Robot mobil
diklasifikasikan menjadi dua, yaitu menurut
lingkungan tempat robot tersebut bekerja dan
alat yang digunakan untuk bergerak.
Berdasarkan lingkungan tempat robot tersebut
bekerja, robot mobil terbagi menjadi empat
macam: robot yang bekerja di atas permukaan
tanah (land robot), robot udara yang biasa
disebut unmanned aerial vehicle (UAV),
autonomous underwater vehicles (AUVs),
dan Robot yang bekerja pada lingkungan
kutub—robot yang berkerja pada kondisi
permukaan tanah yang dilapisi es (polar
robots). Sedangkan berdasarkan alat yang
digunakan untuk bergerak, robot mobil
terbagi menjadi robot berlengan atau
berkaki—lengan atau kaki menyerupai
manusia (android) ataupun hewan, robot
beroda—Wheeled Mobile Robot (WMR)
(Wikipedia, Mobile Robot, 2006).
Robot mobil tersebut merupakan Wahana
Nir Awak (WaNA) yang telah menjadi sarana
yang sering digunakan oleh pihak militer
maupun pihak sipil untuk melakukan
pengintaian, penjelajahan, dan pengawasan ke
tempat-tempat yang berbahaya bagi manusia.
Kemampuannya yang dapat dikontrolkan dari
jauh atau bahkan dirancang agar dapat
bergerak sendiri sesuai dengan lintasan
tertentu akan sangat menguntungkan bagi
manusia. Beberapa keuntungan yang dapat
diperoleh antara lain meminimalisasi resiko,
meminimalisasi objektif, dan lain sebagainya
(Hartini, 2011).
Kemajuan teknologi khususnya dalam
bidang navigasi berpengaruh besar terhadap
kemajuan teknologi militer. Jika dahulu
navigasi robot mobil masih dilakukan dengan
sistem manual menggunakan peta, kini sistem
navigasi berbasis GPS telah banyak
digunakan pada robot mobil sehingga
memudahkan pengendalian dan pelacakan
robot mobil tersebut. Agar dapat mengikuti
lintasan dengan tepat, diperlukan suatu
metode untuk mengendalikan robot mobil
agar tetap berada pada lintasan.
Ada berbagai macam sistem pengendali
yang sering digunakan untuk mengendalikan
suatu sistem, diantaranya Proportional-
Integral Derivative (PID), Model Predictive
Control (MPC), dan sebagainya. Pada
umumnya, PID tidak dirancang untuk sistem
nonlinear dengan banyak ketidakpastian
(uncertainties) dan tidak didesain untuk
menghadapi beban yang cepat berubah. Model
predictive control tampaknya menjadi
pendekatan yang menarik dan menjanjikan
2
untuk menyelesaikan masalah-masalah
tersebut (da Silva Jr., Kühne, & Lages, 2005).
Contoh dari penggunaan MPC adalah
pada Model Ketidakpastian berdasarkan
Model Predictive Control dengan Perturbasi
untuk Sistem Max-Plus Linear (MPL) oleh
Nurwan dalam Tesis Jurusan Matematika ITS
dan Pengaturan Gerakan Lateral Dan
Longitudinal Pada Helikopter Model
Menggunakan Kontrol Prediktif Model oleh
R. P. Dahniar Harinyoto dalam Tugas Akhir
Jurusan Elektro ITS.
Pada Tugas Akhir ini, akan diterapkan
MPC untuk mendesain pengendalian pada
robot mobil beroda empat.
2.1 Kinematika Robot Mobil
Robot mobil yang digunakan dalam
tugas akhir ini adalah robot mobil yang
bergerak di darat dan menggunakan empat
roda dengan dua roda depan yang dapat
berbelok untuk berpindah tempat. Pada
(Hartini, 2011), dimensi fisik robot mobil
akan tampak seperti gambar berikut:
Gambar 1 Dimensi fisik robot mobil
Gambar 2 Sistem kemudi robot mobil (1)
Dengan mengasumsikan bahwa robot
bergerak lurus berarturan dan penguraian
gaya-gaya yang bekerja pada robot mobil,
dapat diperoleh dan dimana:
(1)
Gambar 3 Sistem kemudi robot mobil (2)
Dari gambar 3 (Sotelo, 2003), dengan
mengasumsikan bahwa kedua roda depan
robot mobil berubah sedikit demi sedikit
secara diferensial, maka pusat rotasi sesaat
dapat dihitung. Anggap ( ) adalah
kelengkungan sesaat lintasan
( )
( )
( ) ( )
( )
(2)
Dimana adalah jari-jari
kelengkungan, jarak sumbu roda, sudut
kemudi, posisi robot, dan adalah orientasi
robot pada koordinat secara umum. Maka
dapat diperoleh persamaan berikut:
( ) ( )
(3)
( )
Roda Depan
Roda Belakang
3
Dari persamaan (1), (2), dan (3)
dapat dibentuk suatu sistem dinamik berikut
ini:
(4)
Dimana:
: posisi robot mobil
: posisi sudut robot mobil
: kecepatan robot mobil
: sudut kemudi robot mobil
: jarak antara sumbu roda depan dan
belakang
dengan memisalkan , , dan ,
maka:
(5)
atau dalam bentuk yang lebih kompak menjadi
( ) (6)
dimana
[
]
[ ]
3. Model Predictive Control
Model Predictive Contol atau MPC
adalah suatu metode proses kontrol lanjutan
yang banyak diterapkan pada proses industri.
MPC adalah algoritma pengendali peubah
banyak (Wikipedia, Model Predictive Control,
2004).
Ada satu hal yang membedakan MPC
dari desain pengendali yang lain, yaitu
Horizon Prediksi. Dalam MPC, horizon
prediksi menjadi suatu alat yang untuk
mendapatkan prediksi nilai pada saat
sampai . Selain horizon prediksi Model
prediksi, fungsi objektif, dan aturan kontrol.
Secara umum, ada dua tipe MPC, yaitu MPC
Linear dan MPC Nonlinear yang akan
dijelaskan pada Tabel 1 berikut ini (Orukpe,
2005):
Tabel 1: Tipe MPC
MPC Linear MPC Nonlinear
1. Menggunakan
model linear
2. Fungsi objektif
kuadratik
3. Kendala linear
4. Diselesaikan
dengan
menggunakan
Quadratic
programming
1. Menggunakan
model
nonlinear
( ) 2. Fungsi objektif
bisa berupa
nonkuadratik
( ) 3. Kendala
nonlinear
( ) 4. Diselesaikan
dengan
menggunakan
Nonlinear
programming
Gambar 4 berikut adalah skema MPC
(Wikipedia, Model Predictive Control, 2004;
Bordons & Camacho, 1999)
Gambar 4: Skema MPC
Prediction horizon atau horizon prediksi
mengacu pada langkah yang yang digunakan
untuk memprediksi keluaran. Pada horizon
prediksi, kendali masukan sebelumnya
menjadi pedoman untuk menentukan prediksi
kendali masukan yang akan digunakan untuk
memprediksi keluaran selanjutnya.
Dalam MPC linear, model prediksi
diperoleh dari kinematika sistem dinamik
robot mobil yang telah dilinearkan, fungsi
objektif menggunakan dinyatakan dalam
fungsi objektif kuadratik dengan kendala
linear yang akan diselesaikan dengan
quadratic programming. Sedangakan untuk
aturan kontrol, didefinisikan sebagai berikut:
( ) ( ) ( ) (7)
Dengan ( ) menyatakan posisi robot mobil
pada saat dan ( ) menyatakan referensi
robot mobil pada saat , diharapkan ( )
4
( ) mendekati nol sehingga robot mobil
bergerak sama persis dengan referensi
lintasan. Dalam tugas akhir ini, digunakan
MPC Linear untuk mendesain pengendalian
robot mobil beroda empat.
3.1 Algoritma trayektori lintasan dengan
menggunakan MPC
Secara sederhana, algoritma trayektori
lintasan dapat dijelaskan melalui skema
berikut ini:
Gambar 5: Algoritma trayektori lintasan
Step 0 Input kontrol referensi ( ), ( ) dan ( ). ( ) adalah posisi awal
referensi lintasan robot mobil, ( ) adalah kontrol awal robot mobil, dan
( ) adalah posisi dan orientasi awal
robot mobil.
Step1 Bila kondisi STOP belum
terpenuhi, kerjakan step 2-5
Step 2 Mendapatkan nilai error
posisi untuk iterasi dari
persamaan ( ) ( ) ( )
Step 3 Mendapatkan prediksi nilai
kontrol optimal untuk
sampling pada saat , ,
dan .
Step 4 Dapatkan nilai error kontrol
untuk iterasi dari
persamaan ( )
( ) ( ) Step 5 Mendapatkan posisi
sebenarnya robot mobil pada
saat
Step 6 Tes kondisi STOP
Step 7 Mendapatkan nilai referensi lintasan
pada saat hingga
Step 8 Plot grafik referensi lintasan robot
mobil
Step 9 Mendapatkan nilai posisi dan orientasi
robot mobil pada saat hingga
Step 10 Plot grafik posisi sebenarnya robot
mobil
Step 11 Mendapatkan error pada saat
hingga
Step 12 Plot state , , dan
Algortima ini memenuhi kondisi STOP jika
telah dilakukan iterasi sebanyak 10 kali
3.2 Optimasi dalam MPC Linear
Metode pengendalian optimal yang
digunakan pada MPC linear ini adalah
quadratic programming. Didefinisikan fungsi
objektif
( ) ∑ ( ) ( )
( ) ( )
(8)
Dengan :
: horizon prediksi
: matriks pembobot state-space
: matriks pembobot kontrol
( ) menyatakan nilai pada saat
yang diprediksi pada saat
Dimana bagian pertama dari fungsi biaya
tersebut berkaitan dengan minimalisasi error
antara prediksi keluaran dan titik awal,
sedangkan bagian kedua berhubungan dengan
ukuran matriks ketika fungsi objektif dibuat sekecil mungkin (Wang, 2009).
Matriks merupakan matriks
semidefinit positif ( ) dan matriks
merupakan matriks definit positif ( ). Masalah optimasi dapat ditulis kembali dalam
bentuk QP secara umum. Didefinisikan
vektor-vektor berikut ini:
( ) [
( )
( )
( )
]
( ) [
( )
( )
( )
]
5
Sehingga dapat ditulis kembali fungsi
objektif (8) sebagai berikut:
( ) ( ) ( ) ( ) ( )
(9)
Dengan:
[
]
[
]
Dari vektor-vektor ( ) dan
( ), dapat ditulis persamaan ( ) sebagai:
( ) ( ) ( ) ( ) ( ) (10)
Dengan:
( ) [
( )
( ) ( )
( )
]
( )
[
( )
( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
]
( ) didefinisikan sebagai:
( ) ∏ ( )
Dari persamaan (9) dan (10), fungsi
objektif (8) dapat ditulis kembali dalam
bentuk kuadratik standar sebagai berikut:
( )
( ) ( ) ( )
( ) ( ) ( ) (11)
Dengan:
( ) ( ( ) ( ) ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
Matriks adalah Matriks Hessian, definit
positif yang mendeskripsikan bagian
kuadratik dari fungsi objektif tersebut.
Sedangkan mendeskripsikan bagian linear.
tidak bergantung pada dan tidak
berpengaruh pada penentuan nilai . Sehingga didefinisikan persamaan
( )
( ) ( ) ( )
( ) ( ) (12)
yang merupakan pernyataan standar yang
digunakan dalam masalah quadratic
programming dan masalah optimasi yang
diselesaikan pada waktu sampling dinyatakan
sebagai:
* ( )+ (13)
dengan kendala:
( ) , -
(14)
Perlu dipahami bahwa sekarang hanya
variabel kontrol yang digunakan sebagai
variabel keputusan. Lebih lanjut lagi,
kendala-kendala untuk kondisi awal dan
model dinamik tidak diperlukan lagi, karena
informasi-informasi tersebut sekarang
menjadi implisit pada fungsi kendala (11),
dan sembarang kendala harus ditulis
berkenaan dengan variabel keputusan
(kendala (14)).
( ) ( ) ( )
dan diperoleh
[ ]
[ ( )
( )]
(15)
Sehingga persamaan (14) dapat
ditulis:
[ ] ( ) [
( )
( )]
dengan :
, -
(16)
Syarat perlu untuk memperoleh nilai
minimum adalah (Wang, 2009):
6
( )
jika ( ) simetris, maka berlaku sifat-sifat
matriks sebagai berikut (Naidu, 2003):
, -
, -
, -
sehingga:
( )
[
( ) ( ) ( ) ( ) ( )]
[
( ) ( )]
, ( ) ( )-
, ( ) ( )-
, ( ) ( )-
( ( ) ( )) ( )
( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( )
( ) ( )
Kontrol optimal diperoleh dari persamaan
( ) ( ) ( ). Dalam tugas akhir ini
digunakan subroutine quadprog dalam
MATLAB untuk menyelesaikan masalah
optimasi tersebut.
4. Metodologi Penelitian
Mengkaji kinematika robot mobil dan
MPC
Membentuk desain pengendalian
Simulasi permasalahan dengan
menggunakan MPC linear
Analisis dan Pembahasan
Penyimpulan Hasil dan Pemberian Saran
5. Analisis dan Pembahasan
5.1 Referensi Lintasan
Dari kinematika robot mobil akan diperoleh
suatu referensi lintasan dengan mendiskritkan
kinematika robot mobil dengan menggunakan
beda hingga maju dan mengambil nilai
. maka persamaan (4) menjadi :
( ) ( )
( ) ( ) (17)
( ) ( )
( ) ( )
( ) ( )
( ) ( )
5.2 Linearisasi Model Robot Mobil
Dari kinematika robot mobil—persamaan (4),
dilakukan linearisasi terlebih dahulu sebelum
mencari nilai , , dan . Sebuah model
linear diperoleh dari penghitungan sebuah
model error yang berhubungan dengan
referensi robot mobil. Didefinisikan referensi
robot mobil sebagai berikut:
( ) (18)
[
]
[ ]
Dengan mengekspansikan persamaan (10)
disekitar titik ( ) dan menghilangkan
turunan tingkat tinggi akan diperoleh:
( )
( )
|
( )
( )
|
( )
(19)
atau
( ) ( )
( ) (20)
Kemudian, dengan mengurangkan persamaan
(18) dan (20) menghasilkan:
(21)
Dengan mengambil waktu sampling diperoleh suatu model prediksi sebagai
berikut:
7
[
( )
( )
( )]
[ ( ) ( )
( ) ( )
] [
( )
( )
( )]
[
( )
( )
( )
( )
] [ ( )
( )]
(22)
Dapat ditulis sebagai:
( ) ( ) ( ) ( ) ( ) (23)
dengan
( ) [ ( ) ( )
( ) ( )
]
( ) [
( )
( )
( )
( )
( )
]
5.3 Simulasi dengan Menggunakan MATLAB
Desain pengendalian pada subbab 4.3
akan disimulasikan dengan menggunakan
bantuan software MATLAB. Robot mobil
diasumsikan bergerak pada lintasan yang
bebas hambatan, dan hanya bergerak maju.
Diberikan suatu batasan pada kontrol sudut
kemudi yaitu ⁄ ⁄ . Tanda
negatif menyatakan robot mobil sedang
melakukan pergerakan ke kanan (belok ke
kanan), sedangkan tanda positif menyatakan
hal yang sebaliknya (belok ke kiri) dengan
acuan terletak pada sumbu- positif sesuai
dengan koordinat kartesius. menyatakan
posisi mobil terhadap sumbu- positif pada
koordinat kartesius dan menentukan arah
gerak pertama robot mobil tersebut.
Simulasi desain pengendalian ini
dilakukan dengan memberikan nilai matriks
pembobot state-space ( ) dan
matriks pembobot kontrol ( ). Dalam simulasi tugas akhir ini,
source code dikerjakan dalam kondisi statis,
dimana variabel-variabel yang diperlukan
didefinisikan terlebih dahulu.
Karena digunakan MPC dengan ,
dengan kata lain akan diprediksi kontrol
untuk dua langkah kedepan, maka matriks
berupa matriks dan matriks berupa
matriks . Simulasi dilakukan dengan
kontrol referensi yang konstan dalam
beberapa lintasan.
Dengan mengambil Posisi awal referensi
lintasan robot mobil ( ) ( ),
Kontrol referensi ( ) ( ⁄ ),
Posisi awal robot mobil ( )
( ⁄ ) dan iterasi sebanyak 10 kali,
diperoleh:
Gambar 4: Pergerakan robot mobil untuk
⁄
Jika ditabelkan, maka diperoleh nilai ( ) pada setiap iterasi pada Tabel 2 sebagai berikut :
Tabel 2: Posisi Referensi dan Posisi
Sebenarnya
Ite-
rasi
Referensi Sebenarnya
1 0,0000 0,0000 0,1745 0,0000 0,0000 0,0000
2 0,8000 0,0000 0,0029 0,8000 0,0000 0.0029
3 1,6000 0,0023 0,0058 1,6000 0.0023 0.0058
4 2,4000 0,0070 0,0088 2,4000 0.0070 0.0088
5 3,2000 0,0140 0,0117 3,2000 0.0140 0.0117
6 4,0000 0,0234 0,0146 3,9999 0.0234 0.0146
7 4,8000 0,0351 0,0175 4,7998 0.0351 0.0175
8 5.6000 0,0491 0,0205 5,5997 0.0491 0.0205
9 6.4000 0,0655 0,0234 6,3995 0.0655 0.0234
10 7,2000 0,0842 0,0263 7,1993 0.0842 0.0263
0 1 2 3 4 5 6 7 80
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09Grafik Posisi Robot Mobil
posisi-x (meter)
posis
i-y (
mete
r)
Posisi Referensi
Posisi Sebenarnya
8
Gambar 5: State dan untuk
( ) ( ⁄ )
Error untuk setiap iterasi ( ) ditabelkan
sebagai berikut:
Tabel 3: Error
Iterasi Error
1 0,0000 0,0000 0,1745
2 0,0000 0,0000 0,0000
3 0,0000 0,0000 0,0000
4 0,0000 0,0000 0,0000
5 0,0000 0,0000 0,0000
6 0,0001 0,0000 0,0000
7 0,0002 0,0000 0,0000
8 0,0003 0,0000 0,0000
9 0,0005 0,0000 0,0000
10 0,0007 0,0000 0,0000
Terlihat bahwa error terbesar berada pada
posisi sudut robot mobil pada iterasi pertama sebesar 0,1745
6. Kesimpulan dan saran
6.1 Kesimpulan Dari analisis dan pembahasan yang telah
dilakukan dalam menerapkan MPC untuk
mendesain pengendalian pada robot mobil
beroda empat diperoleh kesimpulan bahwa:
1. Model Predictive Controller (MPC) dapat
diterapkan pada desain pengendalian
robot mobil beroda empat.
2. MPC linear memberikan hasil yang cukup
baik untuk memberikan prediksi nilai
kontrol optimal dengan menghasilkan
error yang paling besar pada posisi sudut
sebesar 0,1745.
3. Dengan mengambil horizon prediksi
, waktu sampling dan iterasi
sebanyak 10 kali diperoleh nilai ( ) yang mendekati dengan nilai ( )
4. Dari hasil simulasi, robot mobil dapat
mengikuti lintasan dengan baik pada
beberapa lintasan, terutama lintasan lurus
( ) .
6.2 Saran Saran yang diajukan dari Tugas Akhir ini
untuk penelitian selanjutnya adalah sebagai
berikut:
1. Source code simulasi pada tugas akhir ini
dilakukan secara statis, tidak dinamis.
Diharapkan pada penelitian selanjutnya
dikembangkan source code simulasi yang
dinamis guna mempercepat running
program dan menambah variasi lintasan.
2. Digunakan horizon prediksi yang lebih
besar, misal dan dilakukan iterasi
lebih banyak lagi daripada iterasi yang
dilakukan pada tugas akhir ini
7. Daftar Pustaka
Bordons, C., & Camacho, E. F. (1999). Model
Predictive Control. Sevilla: Springer-
Verlag London Limited.
da Silva Jr., J. M., Kühne, F., & Lages, W. F.
(2005). Mobile Robot Trajectory
Tracking Using Model Predictive Control.
VII SBAI / II IEEE Latin America
Robotics Symposium, 1-7.
Hartini, S. (2011). Implementasi Metode
Ensemble Kalman Filter (EnKF) Untuk
Mengestimasi Posisi Robot Mobil. Tugas
Akhir Jurusan Matematika. Surabaya,
Jawa Timur, Indonesia: Institut Teknologi
Sepuluh Nopember.
Orukpe, P. E. (2005). Basics of Model
Predictive Control. ICM, EEE-CAP (hal.
1-27). London: Imperial College.
Sotelo, M. A. (2003). Lateral Control
Strategy for Autonomous Steering of
Ackerman-like Vehicles. Robotics and
Autonomous Systems 45, 223-233.
1 2 3 4 5 6 7 8 9 100
2
4
6
8Posisi pada sumbu-x
waktu (sekon)
posis
i-x (
mete
r)
Posisi Referensi
Posisi Sebenarnya
1 2 3 4 5 6 7 8 9 100
0.05
0.1Posisi pada sumbu-y
waktu (sekon)
posis
i-y (
mete
r)
Posisi Referensi
Posisi Sebenarnya
1 2 3 4 5 6 7 8 9 100
0.05
0.1
0.15
0.2Posisi Sudut
waktu (sekon)
posis
i sudut
(radia
n)
Posisi Referensi
Posisi Sebenarnya
9
Wang, L. (2009). Model Predictive Control
System Design and Implementation using
MATLAB. Melbourne: Springer.
Wikipedia. (2004). Model Predictive Control.
Diakses pada 17 Maret 2011, dari
Wikipedia: The Free Encyclopedia:
http://en.wikipedia.org/wiki/Model_predi
ctive_control
Wikipedia. (2006). Mobile Robot. Diakses 21
Maret 2011, dari Wikipedia: The Free
Encyclopedia:
http://en.wikipedia.com/wiki/Mobile_rob
ot