1. Home
  2. Archives
  3. Vol 19 (2004) Issue 1
  4. Articles

Perancangan, Pembuatan dan Pengujian Omnidirectional Vehicle

Abstract

Research and development of Robot Vision activity requirs a Moving platform with high mobility on translation as well as rotation movement. Omnidirectional vehicle reported here has optimum planar movement in the form translational movement on any direction as well as turning radius from zero to infinity, therefore it is suitable as a moving platform for research activities on 2 dimensional Robot Vision. Testing and measurement on the accuracy of vehicle straight trajectory on different direction have been carried out. Some error compensation algorithm has been applied and some good results on reducing trajectory errors have been observed.

1. Pendahuluan

Program pengembangan Robot Vision yang ditujukan terutama untuk tujuan pengaturan navigasi secara bebas (free navigation) memerlukan suatu platform gerak yang mampu melakukan gerakan diatas suatu bidang datar (planar) dalam bentuk 3 sumbu gerak secara serentak, yaitu 2 sumbu translasi dan 1 sumbu rotasi.

Dengan kemampuan tersebut pengaturan gerak suatu vehicle yang menggunakan Robot Vision sebagai sensor feedbacknya dapat dilakukan dengan mudah, untuk menggerakkan suatu platform mencapai suatu posisi dengan orientasi tertentu.

Platform tersebut diwujudkan dalam bentuk Omnidirectional Vehicle dengan 3 buah roda yang masing-masing bersudut 120o , seperti yang diperlihatkan dalam Gambar 1 berikut.

Gambar 1. Omnidirectional Vehicle

Masing-masing roda selain dapat digerakkan dalam arah tangensial oleh motor servo DC brushless, rol yang membentuk roda tersebut dapat pula berputar bebas dalam arah radial.

Jadi untuk satu roda yang harus bergerak dengan kecepatan \(\overrightarrow{V}\) dan sudut \(\alpha\) seperti yang diperlihatkan dalam Gambar 2, maka roda tersebut harus bergerak dengan kecepatan \(\overrightarrow{v_i}\) dalam arah tangential dan rol akan berputar dengan kecepatan \(\overrightarrow{v_i}\) dalam arah aksial.

Gambar 2. Gerakan Roda Omnidirectional

2. Teori Dasar Gerakan

Gerakan Omnidirectional Vehicle dilakukan dengan mengatur kecepatan rotasi ketiga roda penggeraknya secara serentak untuk suatu arah dan kecepatan tertentu (Kalmár – Nagy et.al. 2002) seperti yang diperlihatkan dalam Gambar 3.

Untuk menggerakkan CM dengan vektor kecepatan \(\overrightarrow{V}\) maka masing-masing motor harus bergerak ke arah \(\overrightarrow{D}_i\) dengan kecepatan \(\overrightarrow{v}_i\).

Gambar 3. Geometri Omnidirectional Vehicle

Arti notasi dalam Gambar 3 adalah:

\(\overrightarrow{P_{0i}}\) = Vektor posisi roda ke i terhadap CM.

\(\overrightarrow{D_i}\) = Vektor satuan yang menunjukkan putaran motor i.

L = Jarak Roda terhadap CM. CM = Center of Mass yang diasumsikan berada di titik \nsimetri robot.

Berikut ini penurunan beberapa rumus berdasarkan gambar di atas dengan variabel vektor kecepatan platform yang terdiri dari besar laju platform dan arahnya (α).

Vektor posisi \(\overrightarrow{P_{01}}\) dapat dituliskan sebagai berikut :

\[\overrightarrow{P_{01}} = L \begin{pmatrix} 1 \\ 0 \end{pmatrix} \dots (1)\]

Vektor posisi \(\overrightarrow{P_{02}}\) dapat dilihat sebagai vektor posisi \(\overrightarrow{P_{01}}\) yang diputar sebanyak \(2\pi/3\) rad terhadap CM. Sedangkan rumus matrik rotasi adalah sebagai berikut:

\[\overrightarrow{R(\theta)} = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix} \dots (2)\]

sehingga,

\[\overrightarrow{P_{02}} = \overline{R}(2\pi / 3) \bullet \overrightarrow{P_{01}} = \frac{L}{2} \begin{pmatrix} -1 \\ \sqrt{3} \end{pmatrix} ...(3)\]

hampir sama dengan penurunan vektor posisi \(\overrightarrow{P_{02}}\), vektor posisi \(\overrightarrow{P_{03}}\) dituliskan :

\[\overrightarrow{P_{03}} = \overrightarrow{R} (4\pi / 3) \bullet \overrightarrow{P_{01}} = -\frac{L}{2} (\frac{1}{\sqrt{3}}) \dots (4)\]

Vektor satuan \(\vec{D}_i\) diturunkan dari vektor posisi \(\overrightarrow{P_{0i}}\):

\[\vec{D}_i = \frac{1}{L} \vec{R} (\pi / 2) \bullet \overrightarrow{P_{0i}} \dots (5)\]

didapat : \(\vec{D}_1 = \begin{pmatrix} 0 \\ 1 \end{pmatrix} \dots (6)\)

\[\vec{D}_2 = -\frac{1}{2} \begin{pmatrix} \sqrt{3} \\ 1 \end{pmatrix} \dots (7)\]

\[\vec{D}_3 = \frac{1}{2} \begin{pmatrix} \sqrt{3} \\ -1 \end{pmatrix} \dots (8)\]

Hanya vektor-vektor \(\overrightarrow{D_i}\) inilah yang bisa memberikan vektor kecepatan pada platform.

Untuk menggerakkan platform dengan kecepatan \(\overrightarrow{V}\) dan arah \(\alpha\) yang konstan, maka kecepatan \(\overrightarrow{v_i}\) merupakan proyeksi \(\overrightarrow{V}\) terhadap \(\overrightarrow{D_i}\). Untuk menjalankan operasi ini digunakan dot product (hasil kali titik).

\[\overrightarrow{v}_i = \overrightarrow{V} \bullet D_i \dots (9)\]

komponen vektor kecepatan \(\overrightarrow{V}\) :

\[\overrightarrow{V_i} = \overrightarrow{V} \begin{pmatrix} \cos \alpha \\ \sin \alpha \end{pmatrix} \dots (10)\]

sedangkan untuk vektor di bidang 2 dimensi, maka

\[\vec{u} \bullet \vec{v} = u_1 v_1 + u_2 v_2 \dots (11)\] dari rumus (9) maka didapat :

\[\vec{v_1} = \vec{V} \cdot \cos\alpha \cdot 0 + \vec{V} \cdot \sin\alpha \cdot 1\] \[= \vec{V} \cdot \sin\alpha\] ....(12)

dengan cara yang sama didapat :

\[\vec{v_2} = -\frac{1}{2}(\vec{V} \cdot \cos\alpha \cdot \sqrt{3} + \vec{V} \cdot \sin\alpha) \dots (13)\]

\[\overrightarrow{v_3} = \frac{1}{2} (\overrightarrow{V} \cdot \cos \alpha \cdot \sqrt{3} - \overrightarrow{V} \cdot \sin \alpha) \dots (14)\]

Jadi robot tersebut dapat bergerak dengan kecepatan \(\overrightarrow{V}\) konstan ke arah \(\alpha\) dengan mengatur kecepatan 3 roda sebesar \(\overrightarrow{v_1}\), \(\overrightarrow{v_2}\) dan \(\overrightarrow{v_3}\).

3. Pengujian dan Analisis

Pengujian gerakan ODV yang dilakukan meliputi dua jenis, yaitu :

  • Pengujian ketepatan jarak yang di tempuh oleh robot.
  • Pengujian kelurusan lintasan yang sudah ditempuh oleh robot.

Pengujian dilakukan dengan menggerakkan platform pada posisi tertentu dengan kecepatan 1 m/s. Platform tidak diberi beban kecuali beratnya sendiri sebesar ± 160 kg.

Sebelum pengujian dilakukan, perlu dibuat suatu referensi garis lurus yang menandakan kelurusan gerakan robot. Referensi lurus ini didefinisikan terhadap kelurusan frame.

Dengan bantuan laser pointer, dibuat suatu garis lurus tertentu terhadap frame yang menjadi lintasan ideal robot. Semua error diukur dari posisi robot terhadap garis referensi tersebut.

Gerakan ODV diuji ke beberapa arah berbeda yang didefinisikan terhadap framenya seperti yang diperlihatkan dalam Gambar 4.

Gambar 4. Definisi Arah Gerakan ODV

3.1. Pengujian Jarak Tempuh

Pengujian ini dilakukan dengan menggerakkan robot lurus menuju posisi tertentu yaitu 3 meter dan 5 meter dengan arah robot 90° seperti yang diperlihatkan dalam Gambar 4. Pengujian ini diulang sebanyak 3 kali.

Tujuan pengujian ini adalah:

  • Mengetahui ketepatan (akurasi) panjang lintasan vang ditempuh.
  • Mengetahui keterulangan panjang lintasan yang ditempuh.
  • Mengetahui pengaruh akselerasi dan deselerasi terhadap panjang lintasan yang ditempuh.
  • Mengetahui lintasan robot untuk panjang lintasan 3 m dan 5 m.

Hasil Pengujian dapat dilihat pada Gambar 5a untuk jarak 3 m, dan Gambar 5b untuk jarak 5 m.

30

Gambar 5a. Pengukuran Panjang Lintasan 3 m

0

Gambar 5b. Pengukuran Panjang Lintasan 5 m

Dari data-data diatas terlihat bahwa untuk semua jarak tempuh lintasan dan arah 90° seperti yang didefinisikan pada Gambar 4, error yang dihasilkan maksimum 1% dari panjang lintasan. Besar error maksimum yang dihasilkan adalah 3 cm pada panjang lintasan 3 m.

Tetapi hasil tersebut tidak terlalu bagus mengingat secara teoritis satu resolusi enkoder setara dengan 2,12 mm jarak tempuh roda. Kesalahan tersebut dapat disebabkan terutama oleh :

  • 1. Dimensi roller yang tidak presisi, sehingga jika roller diputar maka diameter roller berubah-ubah, simpangannya mencapai 1,5 mm. Hal ini menyebabkan untuk posisi roller yang berbeda, diameter roda akan berbeda juga.
  • 2. Adanya slip antara roda dengan lantai, terutama pada saat percepatan dan perlambatan

3.2. Pengujian Kelurusan Lintasan

Pengujian kelurusan dilakukan 3 kali dengan kondisi program kendali yang berbeda, yaitu :

  • A. Kondisi Tanpa Kompensasi
  • B. Kompensasi 1 Kecepatan Motor
  • C. Kompensasi 2 Flip-flop

Hasil keseluruhan simpangan rata-rata dari ketiga pengujian diatas diperlihatkan dalam Tabel 1. berikut ini.

Tabel 1. Hasil Pengujian Kelurusan

PengujianRata-rata Error (cm)
Posisi
2.5 m
Posisi
5 m
Posisi
7.5 m
Posisi
10 m
A616,436,464,7
B5142742,2
C-0,20,71,63,1

Cara pengujian dan hasil pengujian diatas, secara lebih rinci diuraikan lebih lanjut berikut ini.

3.2.1. Pengujian Tanpa Kompensasi

Pengujian 1 dilakukan dengan menggerakkan robot sejauh 10 meter untuk arah robot 90°, 0° dan 270° seperti yang terlihat pada Gambar 4. Untuk masingmasing arah gerakan robot, pengujian diulang 5 kali.

Pada percobaan 1 ini, simpangan kelurusan gerak robot sangat besar. Simpangan maksimum bisa mencapai 3,43 meter untuk panjang lintasan 10 meter arah 270° seperti yang terlihat pada Gambar 4.

Hal ini terjadi karena beberapa sebab, tetapi yang paling berpengaruh antara lain :

  • 1. Terjadi misalignment antara ketiga roda itu sehingga ketiga sumbu roda tidak berhimpit pada satu titik.
  • 2. Adanya perbedaan diameter masing-masing roda.
  • 3. Alasan yang sama dengan analisa pengujian variasi jarak tempuh robot.

3.2.2. Pengujian dengan Kompensasi 1

Pengujian 2 dilakukan dengan memberikan modifikasi pada program dalam bentuk pemberian kompensasi kecepatan untuk setiap motor berdasarkan pada datadata empirik dari hasil beberapa kali percobaan.

Hasil pengujian 2 memperlihatkan bahwa kelurusan gerakan robot menjadi lebih baik dibandingkan dengan kelurusan gerakan robot pada percobaan pertama.

Error maksimum yang terjadi adalah 0,62 meter untuk panjang lintasan 10 meter dengan arah gerakan 210° seperti yang diperlihatkan dalam Gambar 4.

Namun pada percobaan 2 ini, harga-harga kompensasi untuk masing-masing motor dibatasi oleh resolusi kecepatan motor. Walaupun error pada percobaan ini lebih kecil dari error pada percobaan tanpa kompensasi, tetapi tetap masih terdapat error sistematis. Adanya error ini berarti error masih bisa diperbaiki lagi.

3.2.3. Pengujian dengan Kompensasi 2

Pada percobaan 3 berikutnya, digunakan algoritma baru untuk mengatasi keterbatasan resolusi kecepatan motor. Dijelaskan pada Gambar 6 dibawah ini, keterbatasan resolusi akan menyebabkan terjadinya error sistematis.

Pada Gambar 6, kompensasi A yang diberikan, hanya berbeda satu resolusi kecepatan motor dengan kompensasi B. Terlihat kedua kompensasi tersebut menunjukkan penyimpangan sistematis ke arah yang berbeda.

Untuk menghasilkan error yang kecil maka digunakan kompensasi A digabungkan dengan kompensasi B dengan perbandingan waktu secara bergantian, sehingga dapat disebut sebagai Kompensasi Flip-Flop.

Perbandingan waktu antara digunakan harga kompensasi A dan B didapat dari percobaan dan dimasukkan ke dalam tabel pada program.

2

Gambar 6. Kompensasi Flip-Flop

Dengan kompensasi tersebut, dari beberapa perbandingan waktu antara kompensasi A dan kompensasi B yang dipilih, diperoleh kelurusan gerak yang lebih baik, seperti yang diperlihatkan dalam Tabel 1 dan Gambar 7.

Pada arah 0° seperti yang diperlihatkan dalam Gambar 4, untuk 10 meter jarak tempuh, error maksimal yang terjadi 0,12 meter atau hanya 1,2 %.

Sedangkan harga error rata-rata adalah 0,031 meter atau 0,3 % seperti yang diperlihatkan dalam Gambar 7 berikut ini

Untuk keperluan gerakan ODV tanpa sensor luar, harga error ini dianggap cukup baik.

8

Gambar 7. Kurva Hasil Pengujian Kelurusan

4. Kesimpulan

Perancangan, Pembuatan dan Pengujian Omnidirectional Vehicle telah dilakukan dan dapat ditarik beberapa kesimpulan sebagai berikut:

  • 1. Omnidirectional Vehicle yang dirancang dan dibuat telah diuji dengan hasil mampu berfungsi dengan baik.
  • 2. Pengurangan simpangan lintasan dengan penggunaan Kompensasi Flip-Flop, akibat keterbatasan resolusi kecepatan motor penggerak, menunjukkan hasil yang jauh lebih baik apabila dibandingkan dengan cara kompensasi biasa.

5. Pustaka

  • 1. Kalmár-Nagy, Tamás dkk, "Near Optimal Trajectory Generation and Control of an Omnidirectional Vehicle", Cornell Univerity, 8 April 2002.
  • 2. Spenko, Mathew dkk, "Analysis and Design of an Omnidirectional Platform for Operation on Non-Ideal Floors", MIT.

References

  1. Kalmar-Nagy, Tamas dkk, "Near Optimal
  2. Trajectory Generation and Control of an
  3. Omnidirectional Vehicle" , Cornell Univerity, 8
  4. April 2002.
  5. Spenko, Mathew dkk, "Analysis and Design of an
  6. Omnidirectional Platform for Operation on Non-
  7. Ideal Floors" , MIT.