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) 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 ProportionalIntegral 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
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 1
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.
Dengan mengasumsikan bahwa robot bergerak lurus berarturan dan penguraian gaya-gaya yang bekerja pada robot mobil, dapat diperoleh ̇ dan ̇ dimana: ̇ (1) ̇
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: Roda Depan
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 ( ) adalah dapat dihitung. Anggap kelengkungan sesaat lintasan ( )
Roda Belakang
( )
( )
Gambar 1 Dimensi fisik robot mobil
( )
(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: ̇ ̇ ̇
( )
Gambar 2 Sistem kemudi robot mobil (1) 2
( )
(3)
Dari persamaan (1), (2), dan (3) dapat dibentuk suatu sistem dinamik berikut ini:
,
Tabel 1: Tipe MPC MPC Linear MPC Nonlinear 1. Menggunakan 1. Menggunakan model linear model nonlinear ̇ ( ) 2. Fungsi objektif ̇ kuadratik 2. Fungsi objektif bisa berupa nonkuadratik ( ) 3. Kendala linear 3. Kendala nonlinear 4. Diselesaikan ( ) dengan 4. Diselesaikan menggunakan dengan Quadratic menggunakan programming Nonlinear programming
(5)
Gambar 4 berikut adalah skema MPC (Wikipedia, Model Predictive Control, 2004; Bordons & Camacho, 1999)
̇ ̇
(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 maka:
,
, dan
̇ ̇ ̇ atau dalam bentuk yang lebih kompak menjadi ̇
(
)
(6)
dimana [ ] [ ]
Gambar 4: Skema MPC
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):
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 ( )
3
( ) 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.
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
3.1 Algoritma trayektori lintasan dengan menggunakan MPC Secara sederhana, algoritma trayektori lintasan dapat dijelaskan melalui skema berikut ini:
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)
̃ ( ) ̃( ) Gambar 5: Algoritma trayektori lintasan
Dengan : : horizon prediksi : matriks pembobot state-space : matriks pembobot kontrol ( ) menyatakan nilai pada saat yang diprediksi pada saat
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
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 ) dan matriks semidefinit positif ( ). merupakan matriks definit positif ( Masalah optimasi dapat ditulis kembali dalam bentuk QP secara umum. Didefinisikan vektor-vektor berikut ini:
̅(
)
̅( )
[
[
̃( ̃(
) )
̃(
) )
̃( ̃(
̃(
4
]
)
] )
Sehingga dapat ditulis kembali fungsi objektif (8) sebagai berikut:
( )
) ̅ ̅( ) ̅ ̅ ( ) ̅( )
̅ (
kuadratik dari fungsi objektif tersebut. Sedangkan mendeskripsikan bagian linear. tidak bergantung pada ̃ dan tidak berpengaruh pada penentuan nilai . Sehingga didefinisikan persamaan
(9)
̅( )
Dengan:
̅
[
yang merupakan pernyataan standar yang digunakan dalam masalah quadratic programming dan masalah optimasi yang diselesaikan pada waktu sampling dinyatakan sebagai:
]
̃
) dan Dari vektor-vektor ̅( ) ̅( ), dapat ditulis persamaan ̅( sebagai: ̅ ( ) ̃(
)
̅(
Dengan:
̅( )
( [
(
̅ ( )̅( )
)
)
(
̃(
(10)
( [
(
) ) (
]
)
) (
(
) )
( (
)
) (
)
(
(
) didefinisikan sebagai: (
)
∏ (
)
( )̅( )
[ [
( )
[
(̅ ( )̅ ̅( ) ) ̅ ( ) ̅ ̅ ( ) ̃( ) ̃ ( ) ̅ ( ) ̅ ̅ ( ) ̃(
(14)
-
) (
̃(
)
] ( (
(15)
) ] )
persamaan
(14)
( (
) ] )
dapat
ditulis:
(11)
Dengan:
( ) ( ) ( )
)
Sehingga
̅ ( ) ( )̅( )
)
,
dan diperoleh
Dari persamaan (9) dan (10), fungsi objektif (8) dapat ditulis kembali dalam bentuk kuadratik standar sebagai berikut:
(̅ )
(13)
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)).
̅( ) (
* ̅ ( )+
̃
dengan kendala:
)
) (
(12)
( )̅( )
]
[
̅
̅ ( ) ( )̅( )
] ̃( dengan :
)
[ ,
-
Syarat perlu untuk memperoleh nilai minimum adalah (Wang, 2009):
)
Matriks adalah Matriks Hessian, definit positif yang mendeskripsikan bagian 5
(16)
̅( ) ̅ jika ( ) simetris, maka berlaku sifat-sifat matriks sebagai berikut (Naidu, 2003): ,
-
,
̅ ̅
̅( ) ̅
[ ̅ ( ) ( )̅( ) [ ̅ ( ) ( )] ̅
(
)
( )̅( )] ̅
,̅ ( ) ( )-
(
̅
( )
)
(18)
( )
( )̅( ) ( ( ) ( ) ( ( ) (
( ) )̅( )
[ ] Dengan mengekspansikan persamaan (10) ) dan menghilangkan disekitar titik ( turunan tingkat tinggi akan diperoleh: (
)
(
) |
(
) |
(
) (19)
(
)
atau ̇
(
)
(
) (
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
)
(20)
Kemudian, dengan mengurangkan persamaan (18) dan (20) menghasilkan: ̃̇
̃
̃
(21)
Dengan mengambil waktu sampling diperoleh suatu model prediksi sebagai berikut:
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 : ( )
]
[
, ( )̅( )-
( )̅( ))
( ) ( )
( )
, ( )̅( )-
Kontrol optimal diperoleh dari persamaan ( ) ( ). Dalam tugas akhir ini ̅( ) digunakan subroutine quadprog dalam MATLAB untuk menyelesaikan masalah optimasi tersebut.
)
( ̇
)̅( ) ) ̅( ) ( ) ( )
(
( ) ( ) ( )
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:
-
sehingga:
)
( )
,
(
(17)
6
̃ ( [̃ ( ̃ (
) )] ) ( ) ( )
[
[
̃ ( ) ̃ ( )
̃ ( ) ̃ ( ) ̃ ( ) ] [ ̃ ( )] ̃ ( )
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:
(22)
( ) ][ ] ( ) ( )
( )
Grafik Posisi Robot Mobil 0.09
Dapat ditulis sebagai: )
̃(
( ) ̃( )
( )̃( )
(23)
( )
0.07 0.06
[
[
( ) ( )
̃ ( ) ̃ ( )]
̃ ( ) ̃ ( ) ( )
posisi-y (meter)
dengan ( )
Posisi Referensi Posisi Sebenarnya
0.08
0.05 0.04 0.03
( )
] ( )
0.02 0.01 0
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
0
1
2
3
4 5 posisi-x (meter)
6
7
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 Iterasi 1 2 3 4 5 6 7 8 9 10
7
Referensi 0,0000 0,8000 1,6000 2,4000 3,2000 4,0000 4,8000 5.6000 6.4000 7,2000
0,0000 0,0000 0,0023 0,0070 0,0140 0,0234 0,0351 0,0491 0,0655 0,0842
0,1745 0,0029 0,0058 0,0088 0,0117 0,0146 0,0175 0,0205 0,0234 0,0263
Sebenarnya 0,0000 0,8000 1,6000 2,4000 3,2000 3,9999 4,7998 5,5997 6,3995 7,1993
0,0000 0,0000 0.0023 0.0070 0.0140 0.0234 0.0351 0.0491 0.0655 0.0842
0,0000 0.0029 0.0058 0.0088 0.0117 0.0146 0.0175 0.0205 0.0234 0.0263
8
Posisi pada sumbu-x
posisi-x (meter)
8 Posisi Referensi Posisi Sebenarnya
6 4 2 0
1
2
3
4
5 6 waktu (sekon)
10
7
8
9
7
8
9
10
9
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 10 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
Posisi pada sumbu-y
posisi-y (meter)
0.1 Posisi Referensi Posisi Sebenarnya 0.05
0
1
2
3
4
5 6 waktu (sekon)
posisi sudut (radian)
Posisi Sudut 0.2 Posisi Referensi Posisi Sebenarnya
0.15 0.1 0.05 0
1
2
3
4
5 6 waktu (sekon)
Gambar 5: State ( ) (
7
8
dan untuk ⁄ )
Error untuk setiap iterasi ( sebagai berikut:
) ditabelkan
Tabel 3: Error
1 2 3 4 5 6 7 8 9 10
7. Daftar Pustaka Bordons, C., & Camacho, E. F. (1999). Model Predictive Control. Sevilla: SpringerVerlag 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.
Error
Iterasi 0,0000 0,0000 0,0000 0,0000 0,0000 0,0001 0,0002 0,0003 0,0005 0,0007
0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000
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 ( ) .
0,1745 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 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
8
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
9