Oleh: Dimas Avian Maulana-1207100045 Dosen Pembimbing: Subchan, Ph.D
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)
Wahana Nir Awak (WaNA) Robot Mobil Lintasan Trajectory Tracking Pengendalian Robot Mobil Model predictive control
Masalah yang akan dibahas adalah bagaimana penerapan model predictive control pada desain pengendalian robot mobil beroda empat
Digunakan MPC linear. Karena masih berupa prototype, dianggap tidak ada hambatan pada lintasan dan robot mobil tidak pernah tergelincir. Lebar lintasan yang dilalui robot mobil adalah 1 m Kontrol masukannya adalah kecepatan linear v dan sudut kemudi φ. Kecepatan linear v tidak bernilai nol. State (ruang keadaan) dari model tersebut dianggap sama dengan model yang sebenarnya. Digunakan horizon prediksi N = 3 dan dilakukan iterasi sebanyak 10 kali Posisi robot mobil berada pada selang 0 θ < π 2
Tujuan yang ingin dicapai dalam Tugas Akhir ini adalah diterapkannya MPC untuk mendesain pengendalian robot mobil beroda empat. Manfaat yang diharapkan dari Tugas Akhir ini adalah: Mengendalikan robot mobil sesuai lintasan Sebagai rujukan untuk navigasi, panduan, dan kendali pada WaNA
Roda Depan Y x, y L φ Roda Belakang Gambar 1: Dimensi fisik Robot Mobil Gambar 2: Sistem kemudi robot mobil (1) x = dx dt y = dy dt = v cos θ (1) = v sin θ (2) θ X
φ φ L κ t = 1 R t κ t κ t = tan φ t L = dθ ds θ = dθ dt = dθ ds ds dt θ = κ t v t tan φ θ = v (3) L R Gambar 2: Sistem kemudi robot mobil (2)
Sehingga dari persamaan (1), (2), dan (3) dan dengan memisalkan dengan memisalkan x = x 1, y = x 2, dan θ = x 3, dapat dituliskan sebuah sistem dinamik dari kinematika robot mobil sebagai berikut : x 1 = v cos x 3 (1) x 2 = v sin x 3 (2) x 3 = v tan φ 3 L Atau jika dinyatakan dalam bentuk kompak x = f x, u 4
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 dua tipe MPC, yaitu MPC Linear dan MPC Nonlinear 3 komponen yang memegang peranan penting yaitu : Model prediksi Fungsi objektif Aturan kontrol (control law)
Tabel 1: Tipe MPC MPC Linear 1. Menggunakan model linear x = Ax + Bu 2. Fungsi objektif kuadratik F = x T Qx + u T Ru 3. Kendala linear Fx + Gu < 0 4. Diselesaikan dengan menggunakan Quadratic program (pada MATLAB menggunakan quadprog) MPC Nonlinear 1. Menggunakan model nonlinear x = f x, u 2. Fungsi objektif bisa berupa nonkuadratik F = x, u 3. Kendala nonlinear (x, u) < 0 4. Diselesaikan dengan menggunakan Nonlinear program (pada MATLAB menggunakan fmincon)
Gambar 4: Skema MPC
Didefinisikan x k = x k x r k 0 sebagai aturan kontrol Diharapkan nilai x k mendekati nol sehingga robot mobil bergerak sama persis dengan referensi lintasan.
Gambar 5: Algoritma Trayektori Lintasan Step 0 Input kontrol referensi x r 0, u r dan x 0 Step1 Bila kondisi STOP belum terpenuhi, kerjakan step 2-5 Step 2 Dapatkan nilai error posisi untuk iterasi k x k = x k x r k Step 3 Mendapatkan prediksi nilai kontrol optimal untuk sampling ke k, k + 1, dan k + 2 dari MPC Step 4 Dapatkan nilai error kontrol untuk iterasi k u k = u k u r k Step 5 Mendapatkan posisi sebenarnya x k + 1 robot mobil Step 6 Tes kondisi STOP Step 7 Plot grafik referensi lintasan Step 8 Plot grafik posisi sebenarnya robot mobil Step 9 Plot state x, y, dan θ
Metode pengendalian optimal yang digunakan pada MPC linear ini adalah quadratic programming. Didefinisikan fungsi objektif (da Silva Jr., Kühne, & Lages, 2005) N J k = x T k + j k Qx k + j k + u T k + j 1 k Ru(k + j Dengan : j=1 1 k) (5) N : horizon prediksi Q : matriks pembobot state-space R : matriks pembobot kontrol a m n menyatakan nilai a pada saat m yang diprediksi pada saat n
Matriks Q merupakan matriks semidefinit positif Q 0 dan matriks R merupakan matriks definit positif R > 0. Masalah optimasi dapat ditulis kembali dalam bentuk QP secara umum. Didefinisikan vektor-vektor berikut ini (da Silva Jr., Kühne, & Lages, 2005): x k + 1 u k x k + 1 k x k + 2 k x k + N k u k k u k + 1 k u k + N 1 k
Sehingga dapat ditulis kembali fungsi objektif (5) sebagai berikut: J k = x T k + 1 Qx k + 1 + u T k Ru k (6) dengan: Q R Q 0 0 0 Q 0 0 0 Q R 0 0 0 R 0 0 0 R
Didefinisikan x k + 1 = A k x k k + B k u k (7) dengan: B k A k k A k k A k + 1 k A k α k, 0 B k k 0 0 A k + 1 k B k k B k + 1 k 0 α k, 1 B k k α k, 2 B k + 1 k B k + N 1 k Dimana: α k, j didefinisikan sebagai: N 1 α k, j = A k + i k i=j
Fungsi objektif (7) ditulis kembali sebagai berikut J k = 1 2 ut k H k u k + f T k u k + d k (8) dengan: H k 2 B T k QB k + R f k 2B T k QA k x k k d k x T k k A T k QA k x k k Matriks H adalah Matriks Hessian, definit positif yang mendeskripsikan bagian kuadratik dari fungsi objektif tersebut. Sedangkan f mendeskripsikan bagian linear. d tidak bergantung pada u dan tidak berpengaruh pada penentuan nilai u.
Fungsi objektif (7) menjadi sebagai berikut J k = 1 2 ut k H k u k + f T k u k (9) yang merupakan pernyataan standar yang digunakan dalam masalah quadratic programming dan masalah optimasi yang diselesaikan pada waktu sampling dinyatakan sebagai: u = arg min u J k Agar performansi kontrol baik, perlu diberikan suatu batasan pada kontrol masukannya (Wang, 2009). Didefinisikan batasan untuk kontrol masukan pada iterasi ke-k u min u k + j k u maks
Dari persamaan tersebut dapat dinyatakan ke dalam dua bentuk pertidaksamaan u k + j k u maks u k + j k u min Jika dinyatakan dalam bentuk matriks I I u k + j k u maks u min dengan : j 0, N 1
Nilai u optimal yang akan meminimumkan J, diperoleh dari J = 0. Jika H k simetris, maka turunan pertama J k adalah dj k du = d 1 du 2 ut k H k u k + f T k u k dj k = H k u k + f k du Syarat perlu untuk memperoleh nilai minimum J adalah dj k du = 0 u k = H 1 k f k (10) Dalam tugas akhir ini akan digunakan subroutine quadprog dalam MATLAB untuk menyelesaikan masalah optimasi
1. Mengkaji kinematika robot mobil dan MPC 2. Membentuk desain pengendalian 3. Simulasi permasalahan dengan menggunakan MPC Linear 4. 5. Penyimpulan Hasil dan Pemberian Saran
Dari kinematika robot mobil akan diperoleh suatu referensi lintasan dengan mendiskritkan kinematika robot mobil dengan menggunakan beda hingga maju dan mengambil nilai L = 4/5. maka: x r 1 k + 1 = x r1 k + v r k t cos x r 3 k x r 2 k + 1 = x r2 k + v r k t sin x r 3 k x r 3 k + 1 = x r3 k + 5 4 v r k t tan φ r k
Dilakukan linearisasi sebelum mencari nilai x, y, dan θ. Sebuah model linear diperoleh dari penghitungan sebuah model error yang berhubungan dengan referensi robot mobil. Didefinisikan referensi robot mobil x r = f x r, u r (11) Dengan mengekspansikan persamaan (4) disekitar titik x r, u r dan menghilangkan turunan tingkat tinggi akan diperoleh: dx dt = f x r, u r + f x, u f x, u x x=x r u=u r x x r + u x=x r u=u r u u r (12) atau x = f x r, u r + f x,r x x r + f u,r u u r (13)
Dimana f x,r x x r dan f u,r u u r menyatakan matriks jacobian f yang berhubungan dengan x dan u disekitar titik referensi x r, u r Kemudian, dengan mengurangkan persamaan (11) dan (13) menghasilkan: x = f x,r x + f u,r u
Dengan menghampiri x dengan beda maju dan mengambil waktu sampling t = 1s, diperoleh suatu model prediksi sebagai berikut: x k + 1 = A k x k + B k u k (14) B = A = 1 0 v r k sin x 3 k 0 1 v r k cos x 3 k 0 0 1 cos x 3 k 0 sin x 3 k 0 5 4 tan φ r k 5 4 v r sec 2 φ r k
Persamaan (12) dapat ditulis sebagai: x k + 1 = A k x k + B k u k (15) dengan B k = 1 0 v r k sin x 3 k A k = 0 1 v r k cos x 3 k 0 0 1 cos x 3 k 0 sin x 3 k 0 5 4 tan φ r k 5 4 v r k sec 2 φ r k
Robot mobil diasumsikan bergerak pada lintasan yang bebas hambatan, dan hanya bergerak maju. Diberikan suatu batasan pada kontrol sudut kemudi yaitu π 6 φ π 6. 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 0 terletak pada sumbu-x positif sesuai dengan koordinat kartesius. θ menyatakan posisi mobil terhadap sumbu-x positif pada koordinat kartesius dan θ 0 menentukan arah gerak pertama robot mobil tersebut. Simulasi desain pengendalian ini dilakukan dengan memberikan nilai matriks pembobot state-space Q = 0,01 eye(9) dan matriks pembobot kontrol R = 0,01 eye(6). Dalam simulasi tugas akhir ini, source code dikerjakan dalam kondisi statis, dimana variabel-variabel yang diperlukan didefinisikan terlebih dahulu. Karena digunakan MPC dengan N = 3, dengan kata lain akan diprediksi kontrol untuk dua langkah kedepan, maka matriks Q berupa matriks 9 9 dan matriks R berupa matriks 6 6. Simulasi dilakukan dengan kontrol referensi yang konstan dalam beberapa lintasan.
posisi-y (meter) Pendahuluan Dengan mengambil Posisi awal referensi lintasan robot mobil x r0, y r0, θ r0 = 0,0,0, Kontrol referensi v r, φ r = 0.8, π 12, Posisi awal robot mobil x 0, y 0, θ 0 = 0,0, π 18 dan iterasi sebanyak 10 kali, diperoleh: Grafik Posisi Robot Mobil 0.18 0.16 Posisi Referensi Posisi Sebenarnya 0.14 0.12 0.1 0.08 0.06 0.04 0.02 0 0 1 2 3 4 5 6 7 8 posisi-x (meter) Gambar 4: Pergerakan robot mobil untuk φ r = π 12
posisi sudut (radian) posisi-y (meter) posisi-x (meter) Pendahuluan 8 6 4 2 Posisi Referensi Posisi Sebenarnya Posisi pada sumbu-x 0 1 2 3 4 5 6 7 8 9 10 waktu sampling (detik) Posisi pada sumbu-y 0.2 0.15 0.1 0.05 Posisi Referensi Posisi Sebenarnya 0 1 2 3 4 5 6 7 8 9 10 waktu sampling (detik) Posisi sudut mobil 0.2 0.15 0.1 0.05 Posisi Referensi Posisi Sebenarnya 0 1 2 3 4 5 6 7 8 9 10 waktu sampling (detik) Gambar 4: State x, y, dan θ untuk x 0, y 0, θ 0 = 0,0, π 18
Tabel 2: Posisi Referensi dan Posisi Sebenarnya Iterasi Referensi Sebenarnya x y θ x y θ 1 0,0000 0,0000 0,0000 0,0000 0,0000 0,1745 2 0,8000 0,0000 0,0058 0,8000 0,0000 0,0058 3 1,6000 0,0047 0,0117 1,6000 0,0047 0,0117 4 2,3999 0,0140 0,0175 2,3999 0,0140 0,0175 5 3,1998 0,0281 0,0234 3,1998 0,0281 0,0234 6 3,9996 0,0468 0,0292 3,9996 0,0468 0,0292 7 4,7992 0,0701 0,0351 4,7992 0,0701 0,0351 8 5,5988 0,0982 0,0409 5,5988 0,0982 0,0409 9 6,3981 0,1309 0,0468 6,3981 0,1309 0,0468 Tabel 3: Error Error Iterasi x y θ 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,0000 0,0000 0,0000 7 0,0000 0,0000 0,0000 8 0,0000 0,0000 0,0000 9 0,0000 0,0000 0,0000 10 0,0000 0,0000 0,0000 10 7,1972 0,1683 0,0526 7,1972 0,1683 0,0526
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 N = 3, waktu sampling t = 1s dan iterasi sebanyak 10 kali diperoleh nilai x k yang mendekati dengan nilai x r k 4. Dari hasil simulasi, robot mobil dapat mengikuti lintasan dengan baik pada beberapa lintasan, terutama lintasan lurus φ r k = 0.
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 N = 5 dan dilakukan iterasi lebih banyak lagi daripada iterasi yang dilakukan pada tugas akhir ini
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. Naidu, D. S. (2003). Optimal Control System. Idaho: CRC Press. 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. Wang, L. (2009). Model Predictive Control System Design and Implementation using MATLAB. Melbourne: Springer. Wikipedia. (2004). Model Predictive Control. Wikipedia: The Free Encyclopedia: <URL http://en.wikipedia.org/wiki/model_predictive_control> Wikipedia. (2006). Mobile Robot. Wikipedia: The Free Encyclopedia: <URL http://en.wikipedia.com/wiki/mobile_robot>