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.
Wahana Nir
Awak (WaNA)
Robot Mobil
Lintasan
Trajectory
Tracking
Pengendalian
Robot Mobil
Model
predictive
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 𝑚
• Kontrol masukannya adalah kecepatan linear 𝑣 dan sudut kemudi 𝜙 . Kecepatan linear 𝑣 tidak bernilai nol.
• State (ruang keadaan) dari model tersebut dianggap sama dengan model yang sebenarnya.
• Digunakan horizon prediksi 𝑁 = 3 dan dilakukan iterasi sebanyak 10 kali
• 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
𝑥 = 𝑑𝑥
𝑑𝑡 = 𝑣 cos 𝜃 … … (1) 𝑦 = 𝑑𝑦
𝑑𝑡 = 𝑣 sin 𝜃 … … (2)
Gambar 1: Dimensi fisik Robot Mobil Gambar 2: Sistem kemudi robot mobil (1) 𝐿 𝑥, 𝑦 Roda Depan Roda Belakang 𝜃 𝜙 𝑋 𝑌
𝜅 𝑡 = 1 𝑅 𝑡 𝜅 𝑡 = tan 𝜙 𝑡 𝐿 𝜅 𝑡 = 𝑑𝜃 𝑑𝑠 𝜃 = 𝑑𝜃 𝑑𝑡 = 𝑑𝜃 𝑑𝑠 ∙ 𝑑𝑠 𝑑𝑡 𝜃 = 𝜅 𝑡 ∙ 𝑣 𝑡 𝜃 = tan 𝜙 𝐿 𝑣 … … (3)
Gambar 2: Sistem kemudi robot mobil (2) 𝐿
𝑅 𝜙
• Sehingga dari persamaan (1), (2), dan (3) dan dengan
memisalkan dengan memisalkan 𝑥 = 𝑥1, 𝑦 = 𝑥2, dan 𝜃 = 𝑥3, dapat dituliskan sebuah sistem dinamik dari kinematika robot mobil sebagai berikut :
𝑥 1 = 𝑣 cos 𝑥3 … … (1) 𝑥 2 = 𝑣 sin 𝑥3 … … (2) 𝑥 3 = 𝑣
𝐿 tan 𝜙 … … 3
• Atau jika dinyatakan dalam bentuk kompak 𝑥 = 𝑓 𝑥, 𝑢 … … 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
MPC Linear
MPC Nonlinear
1. Menggunakan model linear 𝑥 = 𝐴𝑥 + 𝐵𝑢
2. Fungsi objektif kuadratik 𝐹 = 𝑥𝑇𝑄𝑥 + 𝑢𝑇𝑅𝑢
3. Kendala linear 𝐹𝑥 + 𝐺𝑢 < 0
4. Diselesaikan dengan menggunakan Quadratic program (pada MATLAB menggunakan quadprog)
1. Menggunakan model nonlinear 𝑥 = 𝑓 𝑥, 𝑢
2. Fungsi objektif bisa berupa nonkuadratik 𝐹 = 𝑥, 𝑢
3. Kendala nonlinear (𝑥, 𝑢) < 0
4. Diselesaikan dengan
menggunakan Nonlinear
program (pada MATLAB
menggunakan fmincon)
• Didefinisikan 𝑥 𝑘 = 𝑥 𝑘 − 𝑥𝑟 𝑘 → 0 sebagai aturan kontrol
• Diharapkan nilai 𝑥 𝑘 mendekati nol sehingga robot mobil bergerak sama persis dengan referensi lintasan.
Gambar 5: Algoritma Trayektori Lintasan
Step 0 Input kontrol referensi 𝑥𝑟 0 , 𝑢𝑟 dan 𝑥 0
Step1 Bila kondisi STOP belum terpenuhi,
kerjakan step 2-5
Step 2 Dapatkan nilai error posisi untuk
iterasi 𝑘 𝑥 𝑘 = 𝑥 𝑘 − 𝑥𝑟 𝑘
Step 3 Mendapatkan prediksi nilai kontrol
optimal untuk sampling ke 𝑘, 𝑘 + 1, dan 𝑘 + 2 dari MPC
Step 4 Dapatkan nilai error kontrol untuk
iterasi 𝑘 𝑢∗ 𝑘 = 𝑢 ∗ 𝑘 − 𝑢
𝑟 𝑘
Step 5 Mendapatkan posisi sebenarnya 𝑥 𝑘 + 1 robot mobil
Step 6 Tes kondisi STOP
Step 7 Plot grafik referensi lintasan
Step 8 Plot grafik posisi sebenarnya robot
mobil
• Metode pengendalian optimal yang digunakan pada MPC linear ini adalah quadratic programming. Didefinisikan fungsi objektif (da Silva Jr., Kühne, & Lages, 2005)
𝐽 𝑘 = 𝑥 𝑇 𝑘 + 𝑗|𝑘 𝒬𝑥 𝑘 + 𝑗|𝑘 + 𝑢 𝑇 𝑘 + 𝑗 − 1|𝑘 ℛ𝑢 (𝑘 + 𝑗 𝑁 𝑗=1 − 1|𝑘) … … (5) • Dengan : 𝑁 : horizon prediksi
𝒬 : matriks pembobot state-space ℛ : matriks pembobot kontrol
optimasi dapat ditulis kembali dalam bentuk QP secara umum. Didefinisikan vektor-vektor berikut ini (da Silva Jr., Kühne, & Lages, 2005): 𝑥 𝑘 + 1 ≜ 𝑥 𝑘 + 1|𝑘 𝑥 𝑘 + 2|𝑘 ⋮ 𝑥 𝑘 + 𝑁|𝑘 𝑢 𝑘 ≜ 𝑢 𝑘|𝑘 𝑢 𝑘 + 1|𝑘 ⋮ 𝑢 𝑘 + 𝑁 − 1|𝑘
• Sehingga dapat ditulis kembali fungsi objektif (5) sebagai berikut: 𝐽 𝑘 = 𝑥 𝑇 𝑘 + 1 𝒬 𝑥 𝑘 + 1 + 𝑢 𝑇 𝑘 ℛ 𝑢 𝑘 … … (6) dengan: 𝒬 ≜ 𝒬 0 ⋯ 0 0 𝒬 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ 𝒬 ℛ ≜ ℛ 0 ⋯ 0 0 ℛ ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ ℛ
dengan: 𝐴 𝑘 ≜ 𝐴 𝑘|𝑘 𝐴 𝑘|𝑘 𝐴 𝑘 + 1|𝑘 ⋮ 𝛼 𝑘, 0 𝐵 𝑘 ≜ 𝐵 𝑘|𝑘 0 … 0 𝐴 𝑘 + 1|𝑘 𝐵 𝑘|𝑘 𝐵 𝑘 + 1|𝑘 … 0 ⋮ ⋮ ⋱ ⋮ 𝛼 𝑘, 1 𝐵 𝑘|𝑘 𝛼 𝑘, 2 𝐵 𝑘 + 1|𝑘 … 𝐵 𝑘 + 𝑁 − 1|𝑘 Dimana: 𝛼 𝑘, 𝑗 didefinisikan sebagai: 𝛼 𝑘, 𝑗 = 𝐴 𝑘 + 𝑖|𝑘 𝑁−1 𝑖=𝑗
• Fungsi objektif (7) ditulis kembali sebagai berikut 𝐽 𝑘 = 1 2 𝑢 𝑇 𝑘 𝐻 𝑘 𝑢 𝑘 + 𝑓𝑇 𝑘 𝑢 𝑘 + 𝑑 𝑘 … … (8) dengan: 𝐻 𝑘 ≜ 2 𝐵 𝑇 𝑘 𝒬 𝐵 𝑘 + ℛ 𝑓 𝑘 ≜ 2𝐵 𝑇 𝑘 𝒬 𝐴 𝑘 𝑥 𝑘|𝑘 𝑑 𝑘 ≜ 𝑥 𝑇 𝑘|𝑘 𝐴 𝑇 𝑘 𝒬 𝐴 𝑘 𝑥 𝑘|𝑘
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 𝒖∗.
𝐽 𝑘 =
2 𝑢 𝑘 𝐻 𝑘 𝑢 𝑘 + 𝑓 𝑘 𝑢 𝑘 … … (9)
yang merupakan pernyataan standar yang digunakan dalam masalah quadratic programming dan masalah optimasi yang diselesaikan pada waktu sampling dinyatakan sebagai:
𝑢 ∗ = 𝑎𝑟𝑔 min
𝑢 𝐽 ′ 𝑘
• Agar performansi kontrol baik, perlu diberikan suatu batasan pada kontrol masukannya (Wang, 2009). Didefinisikan batasan untuk kontrol masukan pada iterasi ke-𝑘
• Dari persamaan tersebut dapat dinyatakan ke dalam dua bentuk pertidaksamaan
𝑢 𝑘 + 𝑗|𝑘 ≤ 𝑢𝑚𝑎𝑘𝑠 −𝑢 𝑘 + 𝑗|𝑘 ≤ −𝑢𝑚𝑖𝑛
• Jika dinyatakan dalam bentuk matriks 𝐼 −𝐼 𝑢 𝑘 + 𝑗|𝑘 ≤ 𝑢𝑚𝑎𝑘𝑠 −𝑢𝑚𝑖𝑛 dengan : 𝑗 ∈ 0, 𝑁 − 1
𝑑𝐽 ′ 𝑘 𝑑𝑢 = 𝑑 𝑑𝑢 1 2 𝑢 𝑇 𝑘 𝐻 𝑘 𝑢 𝑘 + 𝑓𝑇 𝑘 𝑢 𝑘 𝑑𝐽 ′ 𝑘 𝑑𝑢 = 𝐻 𝑘 𝑢 𝑘 + 𝑓 𝑘
• Syarat perlu untuk memperoleh nilai minimum 𝐽 adalah 𝑑𝐽 ′ 𝑘
𝑑𝑢 = 0
𝑢 𝑘 = −𝐻−1 𝑘 𝑓 𝑘 … … (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. Analisis dan Pembahasan
Dari kinematika robot mobil akan diperoleh suatu referensi lintasan dengan mendiskritkan kinematika robot mobil dengan menggunakan beda hingga maju dan mengambil nilai 𝐿 = 4/5. maka:
𝑥𝑟1 𝑘 + 1 = 𝑥𝑟1 𝑘 + 𝑣𝑟 𝑘 ∆𝑡 cos 𝑥𝑟3 𝑘 𝑥𝑟2 𝑘 + 1 = 𝑥𝑟2 𝑘 + 𝑣𝑟 𝑘 ∆𝑡 sin 𝑥𝑟3 𝑘 𝑥𝑟3 𝑘 + 1 = 𝑥𝑟3 𝑘 + 5
• Dilakukan linearisasi sebelum mencari nilai 𝑥, 𝑦, dan 𝜃. Sebuah model linear diperoleh dari penghitungan sebuah model error yang berhubungan dengan referensi robot mobil. Didefinisikan referensi robot mobil
𝑥 𝑟 = 𝑓 𝑥𝑟, 𝑢𝑟 … … (11)
• Dengan mengekspansikan persamaan (4) disekitar titik 𝑥𝑟, 𝑢𝑟 dan menghilangkan turunan tingkat tinggi akan diperoleh:
𝑑𝑥 𝑑𝑡 = 𝑓 𝑥𝑟, 𝑢𝑟 + 𝜕𝑓 𝑥, 𝑢 𝜕𝑥 𝑥=𝑥𝑟 𝑢=𝑢𝑟 𝑥 − 𝑥𝑟 + 𝜕𝑓 𝑥, 𝑢 𝜕𝑢 𝑥=𝑥𝑟 𝑢=𝑢𝑟 𝑢 − 𝑢𝑟 … … (12) atau 𝑥 = 𝑓 𝑥𝑟, 𝑢𝑟 + 𝑓𝑥,𝑟 𝑥 − 𝑥𝑟 + 𝑓𝑢,𝑟 𝑢 − 𝑢𝑟 … … (13)
• Dimana 𝑓𝑥,𝑟 𝑥 − 𝑥𝑟 dan 𝑓𝑢,𝑟 𝑢 − 𝑢𝑟 menyatakan matriks jacobian 𝑓 yang berhubungan dengan 𝑥 dan 𝑢 disekitar titik referensi 𝑥𝑟, 𝑢𝑟
• Kemudian, dengan mengurangkan persamaan (11) dan (13) menghasilkan:
waktu sampling ∆𝑡 = 1𝑠, diperoleh suatu model prediksi sebagai berikut: 𝑥 𝑘 + 1 = 𝐴 𝑘 𝑥 𝑘 + 𝐵 𝑘 𝑢 𝑘 … … (14) 𝐴 = 1 0 −𝑣0 1 𝑣𝑟𝑟𝑘 cos 𝑥 𝑘 sin 𝑥 33 𝑘𝑘 0 0 1 𝐵 = cos 𝑥 3 𝑘 0 sin 𝑥 3 𝑘 0 5 4 tan 𝜙𝑟 𝑘 5 4 𝑣𝑟 sec2 𝜙𝑟 𝑘
dengan 𝐴 𝑘 = 1 0 −𝑣0 1 𝑣𝑟𝑟𝑘 cos 𝑥 𝑘 sin 𝑥 33 𝑘𝑘 0 0 1 𝐵 𝑘 = cos 𝑥 3 𝑘 0 sin 𝑥 3 𝑘 0 5 4 tan 𝜙𝑟 𝑘 5 4 𝑣𝑟 𝑘 sec2 𝜙𝑟 𝑘
• 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-𝑥 positif sesuai dengan koordinat kartesius. 𝜃 menyatakan posisi mobil terhadap sumbu-𝑥 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 𝒬 = 0,01 ∗ 𝑒𝑦𝑒(9) dan matriks pembobot kontrol ℛ = 0,01 ∗ 𝑒𝑦𝑒(6). Dalam simulasi tugas akhir ini, source code dikerjakan dalam kondisi statis, dimana variabel-variabel yang diperlukan didefinisikan terlebih dahulu.
• Karena digunakan MPC dengan 𝑁 = 3, dengan kata lain akan diprediksi kontrol untuk dua langkah kedepan, maka matriks 𝒬 berupa matriks 9 × 9 dan matriks ℛ berupa matriks 6 × 6. Simulasi dilakukan dengan kontrol referensi yang konstan dalam beberapa lintasan.
Gambar 4: Pergerakan robot mobil untuk 𝜙𝑟 = 𝜋 12 0 1 2 3 4 5 6 7 8 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 posisi-x (meter) p o s is i-y ( m e te r) Posisi Referensi Posisi Sebenarnya
Gambar 4: State 𝑥, 𝑦, dan 𝜃 untuk 𝑥0, 𝑦0, 𝜃0 = 0,0,𝜋 18 1 2 3 4 5 6 7 8 9 10 0 2 4 6
waktu sampling (detik)
p o s is i-x ( m e te Posisi Sebenarnya 1 2 3 4 5 6 7 8 9 10 0 0.05 0.1 0.15 0.2
Posisi pada sumbu-y
waktu sampling (detik)
p o s is i-y ( m e te r) Posisi Referensi Posisi Sebenarnya 1 2 3 4 5 6 7 8 9 10 0 0.05 0.1 0.15 0.2
Posisi sudut mobil
waktu sampling (detik)
p o s is i s u d u t (r a d ia n ) Posisi Referensi Posisi Sebenarnya
Iterasi Referensi Sebenarnya 𝑥 𝑦 𝜃 𝑥 𝑦 𝜃 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 10 7,1972 0,1683 0,0526 7,1972 0,1683 0,0526 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,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
• 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 𝑁 = 3, waktu sampling 𝑡 = 1𝑠 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.
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 𝑁 = 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>