×
Hot Robot Projects Omnidirectional Robot 3WD

3WD Wheel Drive Omnidirectional Robot #10013

KlinikRobot sedang mengerjakan projek Robot 3WD Omni Wheel Arduino Robot (Wheel Drive), proses pembuatan sampai kepada hasil yang didapatkan, termasuk peralatan dan komponen robot yang diperlukan dapat dilihat disini. Semoga bermanfaat.

Sebelum memulai pembahasan mengenai perakitan robot, kita perlu mengetahui konsep cara bergerak dari 3WD Omni Robot, karena berbeda dengan robot yang bergerak dengan 2 roda, dan 4 roda. Berikut ini pembahasan singkat yang dapat dijadikan referensi mengenai pergerakan Robot Omni beroda 3.

Dari video diatas dapat diambil rumusan cara mengendalikan robot 3WD Omni Wheel adalah mengkombinasikan 3 buah motor yang bekerja, baik itu berputar searah jarum jam, mau pun berlawanan arah dengan jarum jam. Perhatikan gambar dibawah ini :

Berdasarkan diagram robot diatas, setiap roda omni memiliki 2 arah gerak, yaitu arah gerak mengikuti putaran motor yang memutar roda (maju/mundur) dan yang kedua adalah arah gerak roller bebas yang tegak lurus dengan arah gerak motor tadi (lihat setiap roda memiliki 2 sumbu gerak). Kemudian ada faktor dimensi daripada robot yaitu jari-jari (d) daripada base plate robot (dalam satuan meter). Setelah semua data diatas didapatkan maka kita dapat memasukkan nilai-nilai tersebut menjadi script pada pemrograman sbb :

Motor1 = -R*theta + x_axis
Motor2 = -R*theta – 0.5*x_axis – sin(PI/3)*y_axis
Motor3 = -R*theta – 0.5*x_axis + sin(PI/3)*y_axis

Dimana :
Motor 1/ Motor 2/ Motor 3 = masing-masing adalah nilai kecapatan ketiga motor yang teerpasang sesuai urutan
x_axis = nilai yang hendak dituju dalam arah sumbu x
y_axis = nilai yang hendak dituju dalam arah sumbu y
theta = nilai pergerakan yang hendak dituju dalam arah rotasi (0-360 derajat/ angular)

Perhatikan video dibawah ini mengenai simulasi pergerakan robot yang dapat kita kontrol cukup dengan memasukkan faktor perbandingan kecepatan antara motor1, motor2, dan motor 3, guna menghasilkan arah daripada pergerakan robot (dalam arah X, dalam arah Y, dan dalam arah Rotasi w/ angular).

Misalnya kita hendak menggerakan robot bergeser ke atas/ maju (arah sumbu y positif) seperti gambar dibawah ini :

Maka secara manual kita bisa gunakan perhitungan rumusan diatas (sumbu x, sumbu y, angular) => kita masukkan nilai yang berkaitan dengan arah sumbu y, sehingga menjadi (0,1,0) => nilai 1 disini adalah nilai sumbu y secara penuh 100% (artinya kecepatan penuh/ maksimal daripada motor), bisa juga kita masukkan nilai 0.5, 0.8, 0.1 yang berarti mengurangi kecapatan motor menjadi 50%, 80%, dan 10%.

Untuk mempermudah kita gunakan spread sheet seperti contoh dibawah ini :

Pada diagram diatas memperlihatkan kolom pergerakan robot (kolom pertama), kemudian ketiga kolom berikutnya adalah nilai acuan yang dapat kita pakai sebagai koordinat dari pergerakan (diatas menunjukkan arah sumbu Y positif – gambar atas dan Y negatif – gambar bawah). Setelah kita masukkan nilai (x axis = 0, y axis = 1, rotasi = 0) / Y positif, didapatkan nilai Motor (M1= 0.00, M2= -0.87, M3= 0.87). Nilai ketiga motor tersebut yang kita masukkan sebagai perbandingan kecepatan putar, arah putar dari motor yang berguna untuk bergerak ke arah Y positif (maju).

Arah gerak Y negatif (gambar bawah), kita masukkan nilai (x axis = 0, y axis = -1, rotasi = 0) / Y negatif, didapatkan nilai motor (M1= 0.00, M2= 0.87, M3= -0.87). Nilai ketiga motor tersebut yang kita masukkan sebagai perbandingan kecepatan putar, arah putar dari motor yang berguna untuk bergerak ke arah Y negatif (mundur).

Untuk arah pergerakan lain dengan cara yang sama kita juga bisa masukkan sbb :

Contoh diatas adalah pergerakan berikutnya pergerakan dengan arah X positif (dimana arah Y nol). Gambar berikutnya contoh arah pergerakan diagonal arah sumbu X positif dan arah sumbu Y positif. Contoh terakhir adalah pergerakan rotasi/ berputar daripada robot yang menunjukkan robot berputar pada sumbunya, sehingga tidak ada pergerakan pada Sumbu X maupun Sumbu Y. Perhatikan gambar berikut ini :

Setelah memahami contoh pergerakan robot diatas, berikutnya adalah merakit mekanik robot itu sendiri.

1. Perakitan Mekanik Robot, mencakup : base plate, bracket sensor, bracket motor, dan DC gearmotor

Perakitan awal ini tidak banyak memerlukan peralatan, selain obeng dan tang/ kunci pas untuk pengencangan baut-baut saja. Baut yang dipakai ukuran standar M3x8mm dan M4x10mm. Keunikan yang ada pada saat instalasi bracket dc gearmotor dengan dc gearmotor terlihat pada pilihan ketinggian dc gearmotor yang mau dipasang, bisa posisi tinggi atau posisi rendah sbb :

Keunggulan posisi bawah yang dipilih – robot nantinya akan bergerak lebih leluasa ketika menghadapi perbedaan ketinggian permukaan lantai, misalnya sambungan-sambungan lantai, namun kekurangannya mudah oleng dikarenakan titik keseimbangan lebih tinggi.

Keunggulan posisi atas yang dipilih – nantinya robot lebih rendah, keseimbangan robot lebih mudah dijaga karena lebih dekat ke lantai, kekurangannya jika menghadapi sambungan antar lantai terlalu tinggi bisa menyangkut ke sensor lantai.

Perakitan Base Plate Robot diawali dengan mekanik berupa bracket motor dan penempatan dc gearmotor

Pada video diatas kami mengajak Young Engineer (anak 8 tahun) membantu merakit robot, tidak banyak skill yang diperlukan selain kekuatan saat mengencangkan baut.

Video berikutnya memperlihatkan pemasangan bracket untuk sensor infrared dan ultrasonic pada sisi robot, dimana membutuhkan 3 buah sensor. Sensor tersebut nantinya akan digunakan sebagai navigasi 360 derajat daripada robot. Jarak antar sensor diberikan sudut 120 derajat, jika nantinya dirasakan kurang, bisa ditambahkan sensor tambahan pada titik yang dibutuhkan.

Final pemasangan base plate robot, bracket sensor, bracket motor, dan dc gearmotor dapat dilihat pada video berikut ini :

Hot Robot Projects Omnidirectional Robot 3WD

Langkah selanjutnya adalah melakukan pengetesan antara Arduino sebagai controller, Driver Motor, dan DC Gearmotor, terntu saja memerlukan power supply. KlinikRobot menggunakan power supply industrial untuk melakukan pengetasan agar tegangan dan arus yang dihasilkan lebih stabil, sehingga pada saat implementasi akhir dapat dikalkulasi kebutuhan arus yang tepat.

2. Pengetesan DC Gearmotor dengan Driver Motor

Langkah berikutnya melakukan pengetesan DC Gearmotor, dapat dilihat pada 2 buah tutorial berikut ini :

  1. Pengetesan Internal DC Motor Driver L298P pada board Arduino Dueminalove ATMega168
  2. Pengetesan Arduino dengan modul L298N V3 4 Channel Motor Driver

Adapun module/ peralatan yang dipergunakan sebagai berikut :

Penggunaan Internal Driver Motor L298P pada Arduino Dueminalove ATMega168
Penggunaan L298N V3 4 Channel Driver Motor dengan Arduino

3. Pengetesan Sensor Jarak Inframerah dan Sensor Ultrasonik

Langkah berikut nya adalah melakukan test sensor jarak, sensor jarak terdapat 2 macam pengukuran, pertama menggunakan sensor inframerah/ infrared, lalu kedua menggunakan sensor ultrasonic/ gelombang suara. Kali ini kita akan membahas cara menggunakan sensor inframerah, terutama untuk pengukuran jarak sbb. :

  1. Sensor Jarak Inframerah SHARP 4-30cm tipe GP2Y0A41SK0F
  2. Sensor Jarak Inframerah SHARP 10-80cm tipe GP2Y0A21YK0F

Adapun module/ peralatan yang dipergunakan sebagai berikut :

Pages: 1 2