Bab 3 PERUMUSAN MODEL KINEMATIK DDMR Model kinematika diperlukan dalam menganalisis pergerakan suatu robot mobil. Model kinematik merupakan analisis pergerakan sistem yang direpresentasikan secara matematis tanpa memperhitungkan gaya-gaya penyebab terjadinya pergerakan tersebut. Model ini berhubungan dengan persamaan-persamaan geometris yang mendeskripsikan perilaku sistem robot berjalan. Selain itu, model kinematik juga menggambarkan hubungan antara parameter yang dikendalikan, yaitu kecepatan dengan parameter pergerakan sistem robot, yaitu posisi dan orientasi robot. Pada implementasinya, model kinematik ini akan digunakan dalam proses penghitungan kecepatan, posisi dan orientasi yang dilakukan oleh mikrokontroler pada robot. Pemodelan DDMR dimulai dengan mengasumsikan robot tersebut bergerak secara kaku (rigid ) sehingga menghasilkan gerakan yang nonholonomic. Hal ini mengakibatkan robot tidak dapat bergerak secara bebas, sebagai contoh robot tidak dapat bergeser ke kiri atau ke kanan tanpa melakukan manuver (maju atau mundur sambil berbelok). Pada bahasan kali ini, model kinematik DDMR yang diperoleh dipakai untuk membentuk persamaan ruang keadaan. Dalam kajian kinematik ini robot diasumsikan bergerak relatif pelan dan roda tidak slip terhadap permukaan jalan. Ketika posisi robot berubah, setiap titik pada robot berubah. Untuk mendapatkan 12
13
BAB 3. PERUMUSAN MODEL KINEMATIK DDMR
persamaan kinematik pada pergerakan sistem differential steering dapat dimulai dari penentuan titik referensi. Setiap titik pada sistem ini dianggap bergerak relatif terhadap titik referensi ini. Dengan pendekatan ini akan dapat diperoleh solusi yang dapat diterapkan pada model pergerakan robot yang lebih umum dengan titik referensi absolut. Titik yang dipilih di sini adalah titik tengah dari roda kiri. Titik ini merupakan titik kontak antara roda ideal dengan lantai. Karena roda kanan tegak lurus sumbu roda kiri maka pergerakan roda kanan dengan referensi roda kiri selalu membentuk lintasan melingkar dengan jari-jari b (lihat Gambar 3.1), yaitu jarak antara pusat roda kanan dan pusat roda kiri. Lintasan roda kanan ini sendiri tidak diperlukan untuk menentukan koordinat (X,Y ). Selain itu, karena kita mengasumsikan robot bergerak secara rigid, maka setiap titk pada robot akan memiliki orientasi yang sama. Jika robot berputar 100 terhadap roda kiri, maka seluruh bagian robot akan berputar 100 . Berikut ini adalah gambaran robot ketika bergerak dalam kawasan 2D pada kooordinat Cartesian XY
Y V (t ) rw
Y' q q
b O
X' VR - VL
X Gambar 3.1: DDMR pada Kawasan 2D
BAB 3. PERUMUSAN MODEL KINEMATIK DDMR
14
Parameter-parameter yang digunakan berdasarkan gambar di atas adalah sebagai berikut: 1. θ adalah orientasi atau sudut arah robot. 2. b ialah lebar robot yang diukur dari garis tengah roda ke roda. 3. O merupakan pusat gravitasi dari robot. 4. rw ialah jari-jari roda robot. 5. VR dan VL masing-masing merupakan kecepatan roda kanan dan kiri. 6. V (t) adalah kecepatan tangensial dari robot. Roda kiri dan kanan dianggap sama dan sebangun sehingga rw kiri dan kanan sama. Pusat gravitasi robot (O) yang dipilih ialah titik tengah pada garis b (garis yang menghubungkan ke dua roda). Titik ini nantinya digunakan sebagai acuan gerak robot pada koordinat XY . Misalkan pada titik O, X 0 = VX dan Y 0 = VY berdasarkan Gambar 2, diperoleh p persamaan V (t) = VX2 + VY2 dengan VX = V (t) cos θ(t)
(3.1)
VY = V (t) sin θ(t).
(3.2)
dan
Definisikan kecepatan robot sebagai berikut V (t) =
VR (t) + VL (t) . 2
(3.3)
Dengan menyubtitusikan persamaan (3.3) ke persamaan (3.1) dan (3.2) maka diperoleh persamaan kinematik untuk posisi sumbu X dan Y sebagai berikut: dx(t) VR (t) + VL (t) = cos (θ(t)) dt 2
(3.4)
15
BAB 3. PERUMUSAN MODEL KINEMATIK DDMR dan dy(t) VR (t) + VL (t) = sin (θ(t)) . dt 2
(3.5)
Berikutnya, perhatikan Gambar 3.2 untuk mempermudah menurunkan persamaan kinematik untuk orientasi θ. Definisi sudut dalam radian ialah panjang lintasan
Y q b
VR - VL
X Gambar 3.2: Sketsa Pembelokan DDMR pada Kawasan 2D melingkar yang terbentuk dibagi dengan jari-jari lingkaran tersebut. Berdasarkan definisi gerak melingkar yaitu dθ 2πradian = . dt W aktumengitarilingkaran
(3.6)
Persamaan (3.6) juga merupakan definisi dari kecepatan sudut ( dθ ) . Definisi ini dt serupa dengan definisi kecepatan biasa dimana 2π adalah jarak tempuh dalam radian dan waktu mengitari lingkaran sebagai waktu tempuh dalam detik. Oleh karena itu, kita dapat memperoleh panjang lintasan per unit waktu dari kecepatan relatif roda kanan (selisih kecepatan antara roda kanan dan kiri) serta jari-jari lintasan lingkaran
BAB 3. PERUMUSAN MODEL KINEMATIK DDMR
16
dari jarak antara roda kanan ke roda kiri (b). Dengan mengkombinasikan fakta ini dan dua definisi sebelumnya kita dapat memperoleh persamaan kinematik untuk orientasi dari DDMR dalam bentuk persamaan berikut: vR (t) − vL (t) dθ(t) = . dt b
(3.7)
Perhatikan kembali persamaan (3.4), (3.5), dan (3.7) di atas, ketiga persamaan tersebut ialah persamaan kinematik yang juga merupakan persamaan ruang keadaan dari DDMR. Bila diperhatikan sistem persamaan ini memiliki keluaran x(t), y(t) dan θ(t), serta masukan VR dan VL . Masalah klasik dalam kontrol kinematik DDMR adalah bahwa robot ini memiliki dua aktuator, namun parameter kontrolnya lebih dari dua, yaitu arah gerak ke sumbu X dan arah gerak ke sumbu Y yang diukur relatif terhadap perpindahan titik O, dan gerakan sudut hadap θ yang diukur pada titik referensi yaitu, titik tengah roda kiri. Oleh karena itu, x(t), y(t) dan θ(t) harus dikontrol secara simultan untuk mendapatkan gerakan yang selaras. Persamaan ruang keadaan yang diperoleh berupa persamaan diferensial tak linier sehingga analisis kontrol sistem menjadi lebih rumit. Selanjutnya akan dibahas salah satu alternatif untuk menyelesaikan sistem tak linier yaitu dengan melakukan linierisasi pada persamaan ruang keadaannya. Kemudian dilanjutkan dengan pencarian solusi persamaan tersebut secara numerik, hal ini berguna untuk melakukan validasi kecocokan model (persamaan kinematik) yang diperoleh.
3.1
Linierisasi Persamaan Ruang Keadaan dari DDMR
Proses ini dilakukan untuk mencoba kemungkinan menyelesaikan masalah kontrol DDMR yang memiliki persamaan ruangan keadaan yang tak linier. Linierisasi dilakukan menggunakan metode ekspansi deret Taylor. Berdasarkan sistem persamaan ruang keadaan yang diperoleh sebelumnya, misalkan suatu sistem dengan ³ ´T ˙ keluaran X˙ = , yang merupakan fungsi dengan input u = x(t) ˙ y(t) ˙ θ(t)
BAB 3. PERUMUSAN MODEL KINEMATIK DDMR 17 ³ ´T ´T ³ ³ ´T . Sehingga bisa dan X = x(t) y(t) θ(t) = VR (t) VL (t) u1 u2 ditulis
f1
X˙ = f (x, u) = f2 = f3
vR (t)+vL (t) cos (θ(t)) 2 vR (t)+vL (t) sin (θ(t)) 2 vR (t)−vL (t) b
.
(3.8)
´T ³ ¯ = X0 x y θ dan u = u¯ = Pada kondisi kerja normal, input X = X 0 0 0 ³ ´T uo VR0 VL0 sehingga kecepatan robot menjadi V0 . Karena pada saat kerja normal
dX dt
= 0, kita mempunyai f (¯ x, u¯) = 0. Sehingga persamaan (3.8) dapat
diuraikan menjadi suatu deret Taylor di sekitar titik kerja sebagai berikut £ ¤ X˙ = f (¯ x, u¯) + ∂f (x − x¯) + ∂f (u − u¯) + ∂x ∂u h i ∂2f ∂2f 1 ∂2f 2 2 (x − x¯) + 2 ∂x∂u (x − x¯)(u − u¯) + ∂u2 (u − u¯) + .... 2! ∂x2
(3.9)
Di dekat titik kerja normal bentuk-bentuk orde tinggi persamaan (3.9) dapat diabaikan. Oleh karena itu, model linier dari sistem (3.8) akan menjadi X˙ = F X + Gu,
dengan F =
∂f || u,X=X¯ ∂X u=¯
dan
F =
dan G =
∂f || u,X=X¯ . ∂u u=¯
∂f1 ∂x(t)
∂f1 ∂y(t)
∂f1 ∂θ(t)
∂f2 ∂x(t)
∂f2 ∂y(t)
∂f2 ∂θ(t)
∂f3 ∂x(t)
∂f3 ∂y(t)
∂f3 ∂θ(t)
G=
(3.10)
∂f1 ∂u1
∂f1 ∂u2
∂f2 ∂u1
∂f2 ∂u2
∂f3 ∂u1
∂f3 ∂u2
Jika diturunkan, maka diperoleh 0 0 −V0 sin θ0 (3.11) = 0 0 V0 cos θ0 0 0 0
=
cos θ0 2
cos θ0 2
sin θ0 2
sin θ0 2
1 b
− 1b
.
(3.12)
Dari persamaan (3.14)-(3.11) diperoleh sistem persamaan ruang keadaan yang linear dari DDMR sebagai berikut: 0 0 −V0 sin θ0 x(t) ˙ X˙ = y(t) = 0 0 V0 cos θ0 ˙ ˙ θ(t) 0 0 0
x(t)
y(t) + θ(t)
cos θ0 2
cos θ0 2
sin θ0 2
sin θ0 2
1 b
− 1b
V (t) R . VL (t)
(3.13)
18
BAB 3. PERUMUSAN MODEL KINEMATIK DDMR
Selanjutnya adalah memeriksa kemungkinan penggunaan sistem kontrol umpan balik (feedback control ). Perhatikan kembali persamaan (3.13), misalkan 0 0 −V0 sin θ0 A = 0 0 V0 cos θ0 . 0 0 0 Syarat agar sistem di atas dapat dianalisis dengan pengontrol umpan balik adalah rank matriks keterkontrolan harus sama dengan banyaknya variabel keadaan atau determinan dari matriks A tidak boleh 0. Karena det(A) = 0 maka sistem (3.13) tidak bisa diselesaikan dengan sistem kontrol linier.
3.2
Mencari Solusi Numerik Persamaan Ruang Keadaan DDMR
Maksud dari pencarian solusi ini adalah untuk melakukan validasi model. Pada tugas akhir ini metode yang digunakan ialah finite difference equation (FDE) atau persamaan beda hingga dengan pembentukan persamaan menggunakan metode Euler Eksplisit Perhatikan kembali persamaan (3.4) yang telah diturunkan sebelumnya. Selanjutnya hanya akan diturunkan langkah-langkah mencari solusi numerik persamaan tersebut sedangkan untuk persamaan (3.5) dan (3.6) ide penurunannya tidak berbeda jauh. Tulis kembali persamaan (3.4),
dx(t) dt
= f (t, x) =
vR (t)+vL (t) 2
cos (θ(t)).
Misal bagian eksak dari persamaan ini ialah x¯˙ (t) = f¯(t, x¯),
(3.14)
dengan x¯(t0 ) = x¯0 . Pilih n = 0 sebagai titik awal (pada saat t = 0). Selanjutnya, akan ditentukan nilai x untuk n =1,2,...(untuk t setelah t = 0). Bila dilakukan penurunan dari deret Taylor dapat diperoleh pendekatan FDE dari x¯˙ ialah x¯˙ |n =
x¯n+1 − x¯n 1 − x¨¯(τn )∆t. ∆t 2
(3.15)
BAB 3. PERUMUSAN MODEL KINEMATIK DDMR
19
Subtitusi persamaan (3.15) ke persamaan (3.14) dan lakukan perhitungan f¯(t, x¯)pada titik n, maka x¯n+1 − x¯n 1 − x¨¯(τn )∆t = f¯(t, x¯n ) = f¯n . ∆t 2
(3.16)
1 x¯n+1 = x¯n + ∆tf¯n + x¨¯(τn )∆t2 = x¯n + ∆tf¯n + O(∆t2 ). 2
(3.17)
Sehingga diperoleh
Dengan menghilangkan galat (O(∆t2 )) akan diperoleh aproksimasi dari solusi eksak yaitu xn+1 = xn + ∆tfn .
(3.18)
Bila kita mengasumsikan percepatan tidak terjadi selama pergerakan robot atau kecepatan robot konstan maka fn =
VR +VL 2
cos θn . Oleh karena itu diperoleh solusi
numerik untuk persamaan (3.4) yang menunjukan posisi X ialah µ ¶ VR + VL xn+1 = xn + ∆t cos θn . 2
(3.19)
Lakukan hal serupa untuk mencari solusi numerik persamaan (3.5) (posisi Y ) dan persamaan (??) (orientasi θ) sehingga diperoleh µ ¶ VR + VL yn+1 = yn + ∆t sin θn , 2
(3.20)
dan θn+1 = θn + (
VR − VL ). b
(3.21)
Tahap selanjutnya ialah melakukan simulasi sederhana untuk validasi model. Diberikan data awal robot sebagai berikut: 1. b = 0,15 m. 2. kondisi awal x0 = y0 = 0 dan θ0 = 1.5π (x dan y dalam meter serta θ dalam radian ). 3. ∆t = 0, 25 detik.
20
BAB 3. PERUMUSAN MODEL KINEMATIK DDMR
Kita atur VR = 0,5 m/s dan VL = 0,3 m/s, lalu menyubtitusikan nilai parameterparameter pada persamaan (3.19)-(3.21). Dengan Menyelesaikannya secara rekursif diperoleh grafik perubahan posisi robot seperti diperlihatkan oleh Gambar (3.3) di bawah ini. Gambar di atas memberikan ilustrasi bahwa robot akan berbelok ke arah kiri. Hal pendekatan numerik 0 -0.5
-0.2 0
0.5
1
1.5
2
Y
-0.4 -0.6 -0.8 -1 -1.2 -1.4 X
Gambar 3.3: Ilustrasi Pergerakan DDMR Berdasarkan Persamaan Beda Hingganya ini sesuai dengan kenyataan karena bila kecepatan roda kanan dibuat lebih cepat tentunya suatu robot berjalan akan membelok ke kiri. Ilustrasi lainnya diperlihatkan pada Gambar (3.4). Simulasi kali ini dilakukan dengan mengatur agar kecepatan kedua roda robot sama, yaitu 0,2 m/s dan θ0 = 1.5π. Berdasarkan hasil simulasi yang ditunjukkan oleh Gambar (3.4), robot bergerak menyimpang dari lintasan yang diharapkan. Seharusnya robot tersebut bergerak sepanjang sumbu Y negatif, tapi kenyataannya lintasan robot tersebut melenceng beberapa milimeter. Simulasi terakhir memberikan kita gambaran bahwa dari solusi dengan pendekatan numerik (menggunakan persamaan beda hingga), lintasan aktual yang terbentuk akan melenceng. Oleh karena itu, perlu dicari suatu metode yang lebih baik untuk memprediksi lintasan aktual robot tersebut. Pada bab se-
21
BAB 3. PERUMUSAN MODEL KINEMATIK DDMR solusi numerik 0 -0,5
0
0,001
0,002
0,003
0,004
0,005
0,006
-1 Y
-1,5 -2 -2,5 -3 -3,5 X
Gambar 3.4: Ilustrasi Pergerakan DDMR untuk Kecepatan Kedua Roda Sama lanjutnya, akan dibahas masalah ini menggunakan metode lain, yaitu jaringan saraf tiruan. Hasil simulasi pada Gambar (3.4) nantinya akan dijadikan sebagai bahan pembanding dengan hasil prediksi menggunakan jaringan saraf tiruan.