BAB IV HASIL DAN PEMBAHASAN
4.1 Perubahan Rancangan
BAB IV
HASIL DAN PEMBAHASAN
Bab 4 menjelaskan mengenai bentuk fisik robot dan hasil implementasi dari perancangan pergerakan robot hexapod pemadam api berkaki dengan metode inverse kinematics. Dalam bab ini akan dibagi menjadi 3 bagian yaitu, hasil perancangan perangkat keras, hasil perancangan perangkat lunak dan pengujian alat.
4.1 Perubahan Rancangan
Penelitian ini mengalami perubahan rancangan dengan rancangan yang terdapat dalam BAB III. Perubahan perancangan terjadi pada kontroler pengendali servo, flowchart dan perubahan metode komunikasi dan format untuk pengiriman data ke mikrokontroler. Perubahan yang dilakukan akan dijelaskan dalam Sub-bab dibawah ini.
4.1.1 Perubahan Kontroler
OpenCM 9.04 direncanakan peneliti untuk mengolah data inverse kinematics dan mengendalikan setiap pergerakan servo. Setelah melakukan percobaan beberapa kali diketahui bahwa mikrokontroler tersebut mudah mengalami gagal fungsi dan tidak dapat diprogram kembali. Sehingga digunakan Arduino Mega yang lebih mudah untuk didapatkan di pasaran dengan harga yang jauh lebih murah dari OpenCM 9.04.
Tabel 4. 1. Spesifikasi Arduino Mega [29] Mikrokontroler ATmega 2560
Tegangan Operasi 5V
Batas Tegangan Masukan 6-20V
Digital I/O Pin 54
Analog Input Pin 16
Clock Speed 16 MHz
Penelitian ini menggunakan data yang dikirim oleh arduino pengolah data sensor sebagai masukan untuk pemprosesan perhitungan inverse kinematics. Bentuk dan spesifikasi dari Arduino Mega ditunjukkan dalam gambar 4.1. dan tabel 4.1.
4.1.2 IC 74LS241
Arduino Mega tidak dapat digunakan secara langsung untuk mengontrol ke servo dynamixel karena Arduino menggunakan komunikasi serial full-duplex dan servo dynamixel menggunakan komunikasi serial half-duplex. Agar dapat melakukan komunikasi digunakan IC octal buffer and line driver with 3 state outputs bertipe 74LS241 dengan pengkabelan seperti yang ditunjukkan pada gambar 4.2.
Gambar 4. 2. Skema rangkaian 74LS241 [30]
4.1.3 Perubahan Metode Komunikasi
Penelitian direncanakan menggunakan komunikasi serial untuk komunikasi antar mikrokontroler. Setelah membaca lebih banyak referensi diketahui bahwa komunikasi serial
ini memiliki buffer. Data yang diterima akan disimpan dalam buffer untuk menunggu dikerjakan setelah data sebelumnya selesai dikerjakan. Jumlah data yang berada dalam buffer akan mempengaruhi respon robot yang dikerjakan dengan data yang dikirim oleh mikrokontroler master. Komunikasi I2C dapat mengatasi permasalah buffer yang terjadi, dan juga komunikasi I2C tidak perlu adanya pengaturan baudrate sehingga akan lebih mudah dalam pengaturan komunikasi data yang sepenuhnya diatur oleh master. Komunikasi I2C merupakan komunikasi serial standar dua arah menggunakan dua saluran yang didesain khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. Piranti yang dihubungkan dengan sistem I2C Bus dapat dioperasikan sebagai Master dan Slave.
4.1.4 Perubahan Flowchart
Setelah peneliti membaca lebih banyak referensi diketahui bahwa jika setiap pergantian gerak harus memanggil perintah siap akan terlalu banyak memakan waktu untuk berpindah melakukan pergerakan tripod dengan nilai yang berbeda. Gambar 4.3. merupakan flowchart program utama untuk perhitungan inverse kinematics dan Gambar 4.4. merupakan sub program untuk variasi gerakan tripod robot.
MULAI Cek Komunikasi ? T Y Parsing isi perintah Nilai perintah sesuai kata kunci?
T Kondisi siap Y Nilai perintah maju Y T Nilai perintah khusus T Y SELESAI Y Berjalan maju khusus Berjalan maju
Gambar 4. 3. Program utama inverse kinematics BERJALAN MAJU KEMBALI Memanggil fungsi jalan maju Apakah sudah terpenuhi? T Y BERJALAN MAJU KHUSUS KEMBALI Memanggil fungsi jalan maju khusus
Apakah sudah terpenuhi?
T
Y
Gambar 4. 4. Sub program utama
4.1.5 Gerak Robot
Penelitian ini menggunakan data yang dikirim oleh mikrokontroler master untuk di proses oleh mikrokontroler servo. Mikrokontroler servo akan menerima data dengan format *nilai_kiri, nilai_kanan#. Pada gerakan normal, nilai_kiri dan nilai_kanan mempunyai nilai 10-30 untuk mempengaruhi pergerakan sudut coxa robot. Sedangkan gerakan khusus nilai_kiri akan bernilai 0 dan nilai_kanan akan bernilai 50, pada kondisi ini robot akan bergerak ke kiri dengan nilai_kiri bernilai -10 dan nilai_kanan bernilai 20. Jika data yang diterima tidak sesuai dengan perintah yang ditentukan robot akan dalam kondisi diam.
Pengujian dilakukan dengan menggunakan perulangan gerakan robot sebanyak 25 kali siklus pergerakan tripod dengan nilai untuk mengatur pergerakan sudut coxa sebesar 2/3 kali dari nilai pengujian yang digunakan 10, 15, 20, 25 dan 30. Nilai pergerakan sudut digunakan sebesar 2/3 kali karena pergerakan bebas sudut coxa maksimal sampai 20ยฐ dari titik tengah. Sehingga panjang gerakan end effector terhadap sumbu coxa dapat ditentukan sebagai berikut.
Y1 = tan(10 โ 2/3) x 44,5 mm Y1 = 5,2 ๐๐
Jarak yang dapat ditempuh robot saat berjalan maju dapat ditentukan dengan jumlah siklus pergerakan dikali 2 dari pergerakan tripod dan dikali 2 dari hasil perhitungan inverse kinematics yang dibagi menjadi dua bagian untuk mengatasi gerakan maju dan mundur. Sehingga jarak yang ditempuh dapat ditentukan sebagai berikut.
๐ฝ๐๐๐๐1 = 5,2๐๐ ๐ฅ 2 ๐ฅ 2 ๐ฅ 25 ๐ฝ๐๐๐๐1 = 0,52 ๐๐๐ก๐๐
Nilai_kanan dan nilai_kiri yang diterima akan menyebabkan nilai sumbu coxa kanan dan kiri bergerak sesuai dengan nilai yang diterima. Sehingga robot berjalan ke arah nilai sumbu yang lebih kecil. Besarnya titik sumbu putar dapat ditentukan dengan perhitungan perbandingan jarak end effector kiri dan kanan yang bergerak ke arah sumbu Y seperti yang ditunjukkan pada gambar 4.5.
Gambar 4. 5. Ilustrasi kaki robot pada saat belok kanan
L1 dan L2 merupakan jarak end effector ke arah sumbu coxa untuk memudahkan dalam perhitungan L1 dan L2 dibagi 2 sehingga nilainya akan sama dengan perhitungan untuk mencari panjang gerakan end effector. Sudut yang dibentuk pada saat robot jalan belok ke kanan, ke kiri dan radius yang dibentuk dapat ditentukan dengan perhitungan sebagai berikut:
Data yang diterima *10,15# dan *15,10#, maka nilai radius dan fase pergerakan tripod: ๐ก๐๐(15 โ 2/3) ๐ฅ 44,5 ๐๐ โ ๐ก๐๐(10 โ 2/3) ๐ฅ 44,5 ๐๐ 44,5๐๐ + 100๐๐ + 44,5๐๐ = ๐ก๐๐(10 โ 2/3) ๐ฅ 44,5 ๐๐ ๐ ๐๐๐๐ข๐ 7,85๐๐ โ 5,2๐๐ 189๐๐ = 5,2๐๐ ๐ ๐๐๐๐ข๐ ๐ ๐๐๐๐ข๐ = 189๐๐ ๐ฅ 5,2๐๐ 2,65๐๐ = 37,09๐๐
ฯดbelok = ๐ก๐๐โ1(0,52 37,09) ฯดbelok = 0,8ยฐ
mencari fase tripod untuk mencapai 90 derajat ๐ก๐๐๐๐๐ = 90ยฐ/0,8ยฐ
๐ก๐๐๐๐๐ = 113 ๐๐๐ ๐
Gerakan khusus digunakan saat robot menerima data dengan nilai_kiri bernilai 0 dan nilai_kanan bernilai lebih dari sama dengan 50. Nilai_kiri dan nilai_kanan yang masuk dalam perhitungan akan bernilai -10 dan 20.
Gambar 4. 6. Ilustrasi gerakan robot saat robot melakukan gerakan khusus ๐ก๐๐(20 โ 2/3) ๐ฅ 44,5 ๐๐ โ ๐ก๐๐(10 โ 2/3) ๐ฅ 44,5 ๐๐ 100๐๐ = ๐ก๐๐(10 โ 2/3) ๐ฅ 44,5 ๐๐ ๐ ๐๐๐๐ข๐ 10,55๐๐ โ 5,2๐๐ 100๐๐ = 5,2๐๐ ๐ ๐๐๐๐ข๐ ๐ ๐๐๐๐ข๐ = 100๐๐ ๐ฅ 5,2๐๐ 5,35๐๐ = 97,2๐๐ ฯดbelok = ๐ก๐๐โ1(5,2 97,2) ๐ฅ2๐ฅ2๐ฅ25 ฯดbelok = 306,23ยฐ