40 1 1MB
6/19/2017
ROBOTIKA Kuliah 11:
Kinematika Mobile Robot Kode Matakuliah:
VE-0418 Dosen: Ali Husein Alasiry, S.T., M.Eng
Kinematika Mobile Robot
Mencari kecepatan robot mobil pada arah x, y dan θ sebagai fungsi parameter-parameter gerakan aktuator (kecepatan putar roda-roda, sudut haluan (steering angle), kecepatan haluan (steering speed) dlsb.) Kinematika Mobile Robot Kecepatan robot
Parameter-parameter gerakan aktuator
x, y dan
, dan Kinematika Terbalik Mobile Robot
1
6/19/2017
Kinematika Robot Mobil
Kinematika Maju
Kinematika Terbalik
Asumsi dan Batasan Masalah
Kontak antara roda dan bidang dianggap satu titik Roda bersifat kaku, tidak ada perubahan bentuk Putaran sempurna, tidak ada slide atau slip Tidak ada gesekan pada titik kontak ketika roda berbelok
2
6/19/2017
Asumsi dan Batasan Masalah
Robot selalu berada pada bidang (2D), tidak ada altitude Sumbu haluan (ZR) tegak lurus bidang Roda-roda terkoneksi pada bodi yang kaku (chassis)
Penempatan Frame Frame-frame pada mobile robot:
Posisi mobile robot dinyatakan:
Bagaimana memetakan kedua frame ?
3
6/19/2017
Pengemudian dan Pengendalian
Untuk mendapatkan arah gerak mobile yang diinginkan dapat dilakukan dengan cara: 1. Driving (pengemudian): Pengaturan kecepatan roda-roda aktif 2. Steering (pengendalian): Pengaturan posisi sudut roda baik aktif atau pasif
Kemudi Tunggal (Single Drive)
Vw r
Vw r
tf
D
rdt
t0
D
4
6/19/2017
Pengemudian v.s. Pengendalian Diferensial
Kenadali differensial (Differential Driving)
Kemudi diferensial (Differential Steering)
Dua atau lebih roda diubah-ubah kecepatannya secara terpisah Dua atau lebih roda diubah-ubah arahnya secara terpisah
Apa contoh kegunaannya?
Berputar ditempat (pivot): dua roda sesumbu diputar dengan arah berlawanan Berjalan mengikuti trayektori yang ditentukan
Kemudi Diferensial v.s Sinkron
Robot dengan kemudi diferensial:
Jika dua motor sesumbu dikendalikan secara terpisah Umumnya non-holonomis
5
6/19/2017
Kemudi Diferensial (Differential Drive) 1. Menentukan besaran ukur sistem Menentukan sistem koordinat
y
2. Menentukan titik putar dan jari-jari putar robot.
w
masing-masing roda akan memiliki kecepatan yang sama bila berputar pada ICC
V VL
x 2d
3. Menetukan kecepatan robot disekitar ICC serta kecepatan linier robot
w(R+d) = VL
VR
w(R-d) = VR ICC
R
Kemudian,
Jari-jari putar robot
w = ( VR - VL ) / 2d R = d ( V R + VL ) / ( VR - VL )
Sehingga kecepatan robot: V = wR = ( VR + VL ) / 2
Kemudi Diferensial (Differential Drive) 4. Integrasi untuk mendapatkan kecepatan robot
y
Vx = V(t) cos((t))
w(t) Kemudian, V(t)
x(t) =
VL
x 2d
y(t) = (t) =
VR ICC
R(t) Jari-jari putar robot Apa yang terjadi jika letak ICC diubah?
dengan
Vy = V(t) sin((t))
∫ V(t) cos((t)) dt ∫ V(t) sin((t)) dt ∫ w(t) dt
Kinematika Mobil w = ( VR - VL ) / 2d R = d ( V R + VL ) / ( VR - VL ) V = wR = ( VR + VL ) / 2
6
6/19/2017
Kemudi Serempak (Synchro drive)
Semua roda berputar serempak Semua roda berputar dalam arah dan kecepatan yang sama Dapat dilakukan dengan menggunakan belt komplek yang menghubungkan semua roda dengan motor
Kemudi Serempak (Synchro drive) Nomad 200
Bagaimana kinematika-nya? bagaimana menghitung posisi dan kecepatan robot jika diketahui kecepatan dari roda-roda, ? 1. Menentukan sistem/satuan pengukuran
Dimana letak ICC ?
2. Menentukan titik pusat dan jari-jari rotasi. 3. Menghitung kecepatan ketika robot berbelok dan kecepatan ketika bergerak lurus 4. Integrasikan untuk mendapatkan kecepatan robot keseluruhan
7
6/19/2017
Kemudi Serempak (Synchro drive) Nomad 200 ICC at
Vrobot = Vroda-roda wrobot = wwheels
y
Kecepatan
Kinematika
w
∫ w(t) dt ∫ Vwheels(t) cos((t)) dt ∫ Vwheels(t) sin((t)) dt
(t) =
x
x(t) =
Vwheels
y(t) =
posisi
Roda dua (Two-steered-wheel)
Mempunyai kinematika yang tidak biasa
Roda depan memiliki power (kecepatan roda depan = v f ) Arah kedua roda dapat diatur (steered) secara terpisah: f r Sebuah frame kaku (rigid frame) sepanjang L menghubungkan kedua roda
f r
L
vf
Bagaimana kinematikanya?
8
6/19/2017
Tiga roda (Tricycle drive) • Roda depan bertenaga (aktif) dan dapat dikemudikan
Robot Mecos tricycle-drive
• Roda-roda belakang terpasang pada satu poros
w
Diketahui:
, sudut kemudi robot
VF B
VF = w B / sin() Sehingga:
V
w = VF sin() / B
VL
R = B / tan()
2d
VR
V = wR = VF cos()
Kinematika
VL = w(R+d) = V + dVF sin() / B
R
VR = w(R-d) = V - dVF sin() / B
Jari-jari putar robot
Kemudi Ackerman (Ackerman Steering) L VFL
y VFR
g VBL
d
• Mirip dengan tricycle-drive R
r
=
g +d tan(R)
wg sin(R)
=
VFR
Kecepatan roda-roda lainnya tetap!
d
wg sin(L)
VBR
=
VFL
L = tan-1(g / (r + d))
x r
w(r - d) = VBR ICC
w(r + d) = VBL
9
6/19/2017
Pendekatan Praktis 1
d
s
d
R
2
d R
b 2 b 2
tan( 1 ) tan( 2 )
d d b tan( 1 ) tan( 2 )
b ICR
b cot( 1 ) cot( 2 ) d Persamaan b cot( s ) cot( 2 ) Ackerman 2d b cot( s ) cot( 1 ) 2d
Kontrol Robot
Kontrol Aktif (Autonomous) Robot mampu membaca kondisi aktual lingkungan, kemudian melakukan adaptasi pergerakan yang dibutuhkan secara “on-line” Robot dilengkapi sensor-sensor lingkungan seperti proximity, sensor jarak, cahaya, kompas dll Kontrol Pasif Robot dibekali dengan data-data lingkungan yang akan dilalui secara “off-line”, misalnya peta (map) atau data rute yang akan dilalui Robot tidak memiliki kamampuan merespon perubahan lingkungan
10
6/19/2017
Kontrol Titik ke Titik (Point to Point (P2P) Control )
Membagi rute yang akan dilalui menjadi titik-titik target antara Masing-masing bagian rute antara dua titik yang berdekatan diberikan kontrol tertentu sehingga didapatkan gerakan yang diinginkan
Target
Start
p1
p2
p3
p4
p5
Menentukan posisi titik-titik Untuk mengetahui letak titik-titik dapat dilakukan dengan cara: 1. Timer Menghitung waktu tempuh Menggunakana timer hardware yang ada pada mikrokontroler jarak tempuh berbanding lurus waktu 2. Counter Mengukur jarak tempuh menggunakan sensor putaran roda Sensor odometri, jarak tempuh berbanding lurus jumlah pulsa
11
6/19/2017
Contoh Kontrol P2P (1/6)
Diketehui: Ruang 3 X 4 meter Jarak roda-roda 20 cm Diameter roda 5 cm Kecepatan maju maksimum 25 cm/detik Buatlah kontrol P2P? Hitung waktu tempuh dari Start ke Target
Target OBSTACLE
OBSTACLE
Start
Contoh Kontrol P2P (2/6)
Langkah 1 Menentukan unit ukur misalnya dalam meter, cm atau mm, disesuaikan dengan dimensi dari robot Langkah 2 Membagi area dalam satuan-satuan area atau grid.
Target OBSTACLE
OBSTACLE
Start
12
6/19/2017
Contoh Kontrol P2P (3/6)
Langkah 3 Mencari semua kemungkinan rute dengan mempertimbangkan kriteria-kriteria
Target OBSTACLE
Dimensi dan geometri robot Jarak terpendek Rute teraman dll OBSTACLE
Contoh Kontrol P2P (4/6)
Langkah 3 Mencari semua kemungkinan rute dengan mempertimbangkan kriteria-kriteria
Target OBSTACLE
Dimensi dan geometri robot Jarak terpendek Rute teraman dll OBSTACLE
Start
13
6/19/2017
Contoh Kontrol P2P (5/6)
Langkah 4 Membuat target-target antara Langkah 5 Melakukan perhitungan kecepatan untuk masing-masing rute antara titik ke titik
Target OBSTACLE
OBSTACLE
Start
Contoh Kontrol P2P (6/6)
Rute yang dilalui: Start ke 1 1 ke 2 (belok 1) 2 ke 3 3 ke 4 (belok 2) 4 ke Target
Target
=> Track 1 => Track 2 => Track 3 => Track 4 => Track 5
OBSTACLE
OBSTACLE
Start
14
6/19/2017
Trek Lurus
Track 1, 3 dan 5, kecepatan linier roda kanan (vR) dan roda kiri (vL) sama yaitu 5 cm/detik
Waktu tempuh Track 1:
Kecepatan roda-roda:
Panjang Track 1 Kec. Linier pd Track 1 100 cm 4 detik 25 cm/detik
t1
Kec. Linier pd Track 1 jari - jari roda kiri/kanan 25 cm/det 10 rad/det R CW , L CCW 2.5 cm
wR wL
Trek Lurus Panjang Track 3 Kec. Linier pd Track 3 100 cm 4 detik 25 cm/detik
Waktu temp uh Track 1
Waktu tempuh Track 3:
Kecepatan putar roda:
Waktu tempuh Track 5:
Kec. Linier pd Track 3 jari - jari roda kiri/kanan 25 cm/det 10 rad/det 2.5 cm
wR wL
Panjang Track 5 Kec. Linier pd Track 5 100 cm 4 detik 25 cm/detik
Waktu temp uh Track 1
Kecepatan putar roda:
Kec. Linier pd Track 5 jari - jari roda kiri/kanan 25 cm/det 10 rad/det 2.5 cm
wR wL
15
6/19/2017
Trek Belok Kanan
Pada Track 2, untuk dapat berbelok, kecepatan roda kanan (wR) dikurangi Waktu tempuh Track 2: Panjang Track 2 Luar Kec. Linier pd Track 2 Luar 2 3.14 (50 10) / 4 3.77 detik 25 cm/detik
CCW
t1
Lintasan roda kiri (vL)
CW
Kecepatan putar motor:
Lintasan roda kanan (vR)
Panjang Lintasan Dalam vR waktu temp uh 2 3.14 (50 10) / 4 16.67 cm/det 3.77 25 cm/det ωL 10 rad/det berlawanan jam (CCW) 2.5 cm 16.67 cm/det ωR 6.67 rad/det searah jam (CW) 2.5 cm
R
Jari-jari putar roda kanan (rR) = R-d
Jari-jari putar roda kiri (rL) = R+d Pusat Rotasi (ICC)
Trek Belok Kiri
Pada Track 4, untuk dapat berbelok, kecepatan roda kiri (wL) dikurangi Pusat Waktu tempuh Track 4: Rotasi Panjang Track 4 Luar Kec. Linier pd Track 4 Luar 2 3.14 (50 10) / 4 3.77 detik 25 cm/detik
(ICC)
t4
Jari-jari putar roda kanan (rR) = R-d
Kecepatan putar motor: Jari-jari
Panjang Lintasan Dalam putar roda kiri (rL) waktu temp uh = R+d 2 3.14 (50 10) / 4 16.67 cm/det 3.77 25 cm/det ωR 10 rad/det searah jam (CW) 2.5 cm 16.67 cm/det ωL 6.67 rad/det berlawanan jam (CW) 2.5 cm
R
vL
CCW Lintasan roda kiri (vL)
CW Lintasan roda kanan (vR)
16
6/19/2017
Simulasi P2P Diferensial
Total waktu pencapaian target OBSTACLE
T t1 t2 t3 t4 t5 4 3.77 4 3.77 4 19.54 detik
Simulasi hasil yang diharapkan OBSTACLE
Pekerjaan Rumah
Pelajari dan rencanakan pengemudian secara P2P untuk robot mobail dengan kondisi sbb Kondisi robot sama dengan contoh diatas
Target
17