perancangan pergerakan robot hexapod pemadam api...
TRANSCRIPT
-
TUGAS AKHIR
PERANCANGAN PERGERAKAN ROBOT HEXAPOD
PEMADAM API BERKAKI DENGAN METODE
INVERS KINEMATIK
Diajukan untuk memenuhi salah satu syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
disusun oleh:
STEFANUS HERU SETYAWAN
NIM: 165114013
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2020
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
ii
FINAL PROJECT
DESIGN OF MOVEMENT ROBOT HEXAPOD FIRE
FIGHTING WITH INVERSE KINEMATICS
METHOD
In a partial fulfilment of the requirements
for the degree of Sarjana Teknik
Department of Electrical Engineering
Faculty of Science and Technology, Sanata Dharma University
By:
STEFANUS HERU SETYAWAN
NIM: 165114013
DEPARTEMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2020
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
vi
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO:
MASA DEPAN TIDAK SAMA DENGAN
BEBERAPA HARI KE DEPAN
Skripsi ini saya persembahkan untuk:
1. Tuhan yang selalu membantu dan memberi kekuatan.
2. Kedua orang tua saya, budhe Suster Hilaria dan Suster Yacobi yang selalu
mendukung dan memberi semangat dalam menyelesaikan tugas akhir ini.
3. Pak Martanto selaku dosen pembimbing saya yang selalu memberikan arahan.
4. Seluruh Dosen Jurusan Teknik Elektro yang telah memberikan ilmu yang sangat
bermanfaat bagi saya selama menjalani perkuliahan.
5. Teman-teman seperjuangan yang saling berbagi ilmu dan tawa selama masa kuliah.
6. Semua pihak yang telah membantu terselesaikannya skripsi ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
viii
INTISARI
Penelitan ini menerapkan algoritma inverse kinematics pada robot hexapod dengan
menggunakan Arduino Mega untuk mengendalikan seluruh servo yang digunakan robot.
Inverse Kinematics merupakan metode untuk menghitung nilai end effector dengan
menghitung nilai parameter pada bagian lengan robot. Aturan trigonometri digunakan untuk
memudahkan perhitungan dalam menentukan sudut bantuan.
Robot hexapod ini menggunakan mikrokontroler yang diprogram untuk
menggerakkan setiap lengan robot untuk mencapai posisi end effector yang telah ditentukan
sesuai dengan nilai input masukan. Pada penelitian ini, menggunakan servo dynamixel
AX12A dan AX18A untuk menentukan nilai sudut joint hasil dari perhitungan inverse
kinematics. Penggunaan 18 servo dengan tiap lengan terdapat 3 servo untuk menggerakkan
3 bagian lengan sumbu lengan yakni sumbu caxa, femur, tibia. Nilai sudut yang sudah
ditentukan pada joint digunakan untuk melakukan gerakan jalan maju, belok kanan dan
belok kiri dengan berbagai variasi gerakan sumbu coxa yang telah ditentukan.
Hasil akhir dari penelitian robot hexapod ini menunjukkan robot dapat berjalan maju
dengan tingkat rata-rata keberhasilan mencapai 95% setelah dilakukan kalibrasi. Pengujian
jalan belok ke kiri dan ke kanan mempunyai tingkat keberhasilan radius rata-rata mencapai
53% dan sudut 60%. Pengujian jalan belok ke kiri dengan nilai perhitungan radius 72 cm
dan 87 cm menghasilkan nilai pengukuran sudut mencapai 87° lebih mendekati dengan nilai
perhitungan teori. Sedangkan pengujian belok ke kanan menghasilkan nilai pengukuran
sudut 56,4° dan 63,8°. Program yang dibuat dapat selalu mengecek kondisi data terbaru yang
dikirim oleh mikrikontroler master setiap selesai melakukan fase pergerakan tripod gait.
Kata kunci: Inverse kinematics, Hexapod, Robotis, OpenCm 9.04, Dynamixel, Arduino.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
ix
ABSTRACT
This research applies the inverse kinematics algorithm to the hexapod robot using
Arduino Mega to control all servo used by the robot. Inverse Kinematics is a method for
calculating the value of the end effector by calculating the parameter values of the robot arm.
Trigonometric rules are used to facilitate calculations in determining the angle of assistance.
This hexapod robot uses a microcontroller programmed to move each robot arm to
reach the end effector position that has been determined according to the input value. In this
study, used the dynamixel AX12A and AX18A servo to determine the joint angle value
resulting from inverse kinematics calculations. The use of 18 servo with each arm has 3
servo to move 3 parts of the arm axis of the arm coxa, femur, and tibia. The angle value that
has been determined at the joint is used to make a forward, right turn and left turn with
variations of the predetermined coxa axis motion.
The final result of this research on the hexapod robot shows that the robot can move
forward with an average success rate of 95% after calibration. The road test turning left and
right has an average success rate of a radius of 53% and an angle of 60%. The road test
turning left with a radius of 72 cm and 87 cm resulted in an angle measurement of 87° closer
to the theoretical calculation value. Meanwhile, the right turn test resulted in an angle
measurement of 56.4° and 63.8°. The program that is created can always check the condition
of the latest data send by the master microcontroller after every phase of the tripod gait
movement.
Keywords: Inverse kinematics, Hexapod, Robotis, OpenCm 9.04, Dynamixel, Arduino.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xi
DAFTAR ISI
TUGAS AKHIR ..................................................................................................................... i
FINAL PROJECT ................................................................................................................. ii
LEMBAR PERSETUJUAN ................................................................................................. iii
LEMBAR PENGESAHAN .................................................................................................. iv
PERNYATAAN KEASLIAN KARYA ................................................................................ v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ..................................................... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS ........................................................................................... vii
INTISARI ........................................................................................................................... viii
ABSTRACT ......................................................................................................................... ix
KATA PENGANTAR ........................................................................................................... x
DAFTAR ISI ........................................................................................................................ xi
DAFTAR GAMBAR .......................................................................................................... xiv
DAFTAR TABEL .............................................................................................................. xvi
BAB I PENDAHULUAN ................................................................................................... 1
1.1. Latar Belakang ............................................................................................... 1
1.2. Tujuan dan Manfaat ....................................................................................... 2
1.3. Batasan Masalah ............................................................................................ 2
1.4. Metodologi Penelitian .................................................................................... 3
BAB II DASAR TEORI ....................................................................................................... 5
2.1 Kinematics dan Inverse Kinematics ............................................................... 5
2.1.1 Perhitungan Inverse Kinematics ......................................................... 6
2.1.2 Pengaturan Inverse Kinematics [21] .................................................. 8
2.1.3 Pola Langkah Robot ......................................................................... 11
2.2 Torsi ............................................................................................................. 12
2.3 Komunikasi I2C ........................................................................................... 13
2.4 ROBOTIS .................................................................................................... 13
2.4.1 OpenCM 9.04 ................................................................................... 13
2.4.2 Aplikasi Program OpenCM IDE ...................................................... 15
2.5 Servo Dynamixel AX12A dan AX18A ....................................................... 16
2.6 Robotis 3 pin cable sets ............................................................................... 20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xii
2.7 Structural part components.......................................................................... 21
2.8 Washers dan bushings (BPF-WA/BU) ........................................................ 22
2.9 Level Logic Converter ................................................................................. 23
2.10 Sepatu kaki robot ......................................................................................... 23
BAB III RANCANGAN PENELITIAN ............................................................................. 24
3.1 Perancangan Sistem ..................................................................................... 24
3.2 Perancangan Perangkat Keras ...................................................................... 24
3.2.1 Perancangan Mekanik Robot ........................................................... 25
3.2.2 Perancangan Rangkaian Pengendali Servo ...................................... 27
3.2.3 Perhitungan Torsi ............................................................................. 28
3.3 Perancangan Gerak Robot............................................................................ 28
3.3.1 Posisi Siap ........................................................................................ 33
3.3.2 Jalan Maju ........................................................................................ 33
3.3.3 Jalan Mundur .................................................................................... 35
3.3.4 Putar Kiri .......................................................................................... 36
3.3.5 Putar Kanan ...................................................................................... 37
3.4 Perancangan Perangkat Lunak ..................................................................... 37
BAB IV HASIL DAN PEMBAHASAN ............................................................................. 40
4.1 Perubahan Rancangan .................................................................................. 40
4.1.1 Perubahan Kontroler ........................................................................ 40
4.1.2 IC 74LS241 ...................................................................................... 41
4.1.3 Perubahan Metode Komunikasi ....................................................... 41
4.1.4 Perubahan Flowchart ....................................................................... 42
4.1.5 Gerak Robot ..................................................................................... 43
4.2 Hasil Perancangan Perangkat Keras ............................................................ 45
4.3 Pengujian Komunikasi ................................................................................. 46
4.4 Pengujian Gerakan ....................................................................................... 47
4.4.1 Pengujian Jalan Maju ....................................................................... 47
4.4.2 Pengujian Jalan Belok ...................................................................... 53
4.4.3 Pengujian Gerakan Khusus .............................................................. 65
4.5 Hasil Perancangan Perangkat Lunak ........................................................... 66
BAB V KESIMPULAN DAN SARAN ............................................................................. 69
5.1 KESIMPULAN ............................................................................................ 69
5.2 SARAN ........................................................................................................ 69
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xiii
DAFTAR PUSTAKA .......................................................................................................... 70
LAMPIRAN .......................................................................................................................... 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xiv
DAFTAR GAMBAR
Gambar 1. 1. Blok diagram sistem ........................................................................................ 4
Gambar 2. 1. Ilustrasi kaki robot dengan metode inverse kinematics [11] ........................... 6
Gambar 2. 2. geometri kaki robot tampak dari atas [9] ......................................................... 7
Gambar 2. 3. geometri kaki robot tampak dari depan [9]...................................................... 7
Gambar 2. 4. aturan segitiga kosinus [19] ............................................................................. 8
Gambar 2. 5. Bidang koordinat kaki robot bagian kanan (tampak depan) ............................ 9
Gambar 2. 6. Normalisasi 0 derajat kaki kanan ..................................................................... 9
Gambar 2. 7. Normalisasi 0 derajat kaki kanan tampak atas ............................................... 10
Gambar 2. 8. Normalisasi 0 derajat kaki kiri ....................................................................... 10
Gambar 2. 9. Normalisasi 0 derajat kaki kiri tampak atas ................................................... 10
Gambar 2. 10. diagram gait hexapod [25] ........................................................................... 11
Gambar 2. 11. Kondisi sinyal start dan stop ........................................................................ 13
Gambar 2. 14. OpenCM 9.04 [12] ....................................................................................... 14
Gambar 2. 15. Pemberian catu daya pada OpenCM 9.04 [12] ............................................ 15
Gambar 2. 16. Tampilan aplikasi OpenCM IDE [26] ......................................................... 16
Gambar 2. 17. Servo dynamixel AX18A [13] ..................................................................... 17
Gambar 2. 18. Servo dynamixel AX12A [14] ..................................................................... 17
Gambar 2. 19. Goal position pada servo dynamixel AX12A dan AX18A ......................... 20
Gambar 2. 20. Kabel ROBOTIS untuk servo dynamixel tipe AX/MX [15] ....................... 21
Gambar 2. 21. ROBOTIS FP04-F7 untuk servo dynamixel tipe AX [16] .......................... 21
Gambar 2. 22. ROBOTIS FP04-F6 untuk servo dynamixel tipe AX [17] .......................... 22
Gambar 2. 23. ROBOTIS FP04-F3 untuk servo dynamixel tipe AX [18] .......................... 22
Gambar 2. 24. Washers dan bushings untuk servo dynamixel tipe AX [18] ...................... 22
Gambar 2. 25. Bidirectional Logic Level Converter [22] ................................................... 23
Gambar 2. 26. Tali karet 10mm. [23] .................................................................................. 23
Gambar 3. 1. Diagram Blok Sistem ..................................................................................... 24
Gambar 3. 2. Ukuran dimensi robot bagian atas ................................................................. 25
Gambar 3. 3. Ukuran dimensi robot bagian bawah ............................................................. 26
Gambar 3. 4. Dimensi lengan dan end effector robot. ......................................................... 27
Gambar 3. 5. Panjang lengan coxa, femur dan tibia. ........................................................... 27
Gambar 3. 6. Lengan robot tampak atas .............................................................................. 29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xv
Gambar 3. 7. Lengan robot tampak samping....................................................................... 30
Gambar 3. 8. Posisi lengan robot pada saat siap ................................................................. 33
Gambar 3. 9. Siklus pergerakan tripod dan penomoran kaki hexapod. .............................. 34
Gambar 3. 10. Flowchart hexapod ...................................................................................... 38
Gambar 3. 11. Subroutine flowchart hexapod ..................................................................... 39
Gambar 4. 1. Papan Arduino Mega [29] ............................................................................. 40
Gambar 4. 2. Skema rangkaian 74LS241 [30] .................................................................... 41
Gambar 4. 3. Program utama inverse kinematics ................................................................ 43
Gambar 4. 4. Sub program utama ........................................................................................ 43
Gambar 4. 5. Ilustrasi kaki robot pada saat belok kanan ..................................................... 44
Gambar 4. 6. Ilustrasi gerakan robot saat robot melakukan gerakan khusus ...................... 45
Gambar 4. 7. Bentuk fisik robot hexapod ............................................................................ 46
Gambar 4. 8. Grafik hasil pengujian jalan maju sebelum di kalibrasi................................. 50
Gambar 4. 9. Kalibrasi pada program normalisasi kaki kiri robot ...................................... 50
Gambar 4. 10. Grafik hasil pengujian jalan maju setelah di kalibrasi ................................. 53
Gambar 4. 11. Pengukuran radius dan sudut belok kiri....................................................... 54
Gambar 4. 12. Pengukuran radius dan sudut belok kanan................................................... 54
Gambar 4. 13. Hasil radius dan sudut belok kiri ................................................................. 55
Gambar 4. 14. Hasil radius dan sudut belok kanan ............................................................. 55
Gambar 4. 15. Grafik hasil pengujian radius ....................................................................... 64
Gambar 4. 16. Grafik hasil pengujian sudut ........................................................................ 64
Gambar 4. 17. Lintasan yang dibuat robot saat berbelok .................................................... 65
Gambar 4. 18. Program komunikasi I2C ............................................................................. 66
Gambar 4. 19. Program parsing data ................................................................................... 67
Gambar 4. 20. Program perhitungan Inverse Kinematics dan normalisasi ......................... 67
Gambar 4. 21. Program utama pergerakan robot ................................................................ 68
Gambar 4. 22. Program untuk management pergerakan servo............................................ 68
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xvi
DAFTAR TABEL
Tabel 2. 1. Tabel Normalisasi 0 derajat ............................................................................... 11
Tabel 2. 2. Spesifikasi Open CM 9.04 [12] ......................................................................... 14
Tabel 3. 1. Pola pergerakan tripod dengan perhitungan inverse kinematics ....................... 32
Tabel 3. 2. Urutan nilai sudut pada tiap joint pada saat robot berjalan maju ...................... 34
Tabel 3. 3. Urutan nilai sudut pada tiap joint pada saat robot berjalan mundur .................. 35
Tabel 3. 4. Urutan nilai sudut pada tiap joint pada saat robot belok kiri ............................. 36
Tabel 3. 5. Urutan nilai sudut pada tiap joint pada saat robot belok kanan ......................... 37
Tabel 4. 1. Spesifikasi Arduino Mega [29] ......................................................................... 41
Tabel 4. 2. Pengujian penerimaan data dengan interval pengirimaan 0.5 detik .................. 46
Tabel 4. 3. Hasil pengujian berjalan maju dengan nilai 10 sebelum di kalibrasi ................ 48
Tabel 4. 4. Hasil pengujian berjalan maju dengan nilai 15 sebelum di kalibrasi ................ 48
Tabel 4. 5. Hasil pengujian berjalan maju dengan nilai 20 sebelum di kalibrasi ................ 49
Tabel 4. 6. Hasil pengujian berjalan maju dengan nilai 25 sebelum di kalibrasi ................ 49
Tabel 4. 7. Hasil pengujian berjalan maju dengan nilai 30 sebelum di kalibrasi ................ 49
Tabel 4. 8. Hasil pengujian berjalan maju dengan nilai 10 setelah di kalibrasi .................. 51
Tabel 4. 9. Hasil pengujian berjalan maju dengan nilai 15 setelah di kalibrasi .................. 51
Tabel 4. 10. Hasil pengujian berjalan maju dengan nilai 20 setelah di kalibrasi ................ 51
Tabel 4. 11. Hasil pengujian berjalan maju dengan nilai 25 setelah di kalibrasi ................ 52
Tabel 4. 12. Hasil pengujian berjalan maju dengan nilai 30 setelah di kalibrasi ................ 52
Tabel 4. 13. Belok kiri dengan data masukan nilai kiri 10 dan nilai kanan 15 ................... 56
Tabel 4. 14. Belok kanan dengan data masukan nilai kiri 15 dan nilai kanan 10 ............... 56
Tabel 4. 15. Belok kiri dengan data masukan nilai kiri 10 dan nilai kanan 20 ................... 56
Tabel 4. 16. Belok kanan dengan data masukan nilai kiri 20 dan nilai kanan 10 ............... 57
Tabel 4. 17. Belok kiri dengan data masukan nilai kiri 10 dan nilai kanan 25 ................... 57
Tabel 4. 18. Belok kanan dengan data masukan nilai kiri 25 dan nilai kanan 10 ............... 58
Tabel 4. 19. Belok kiri dengan data masukan nilai kiri 10 dan nilai kanan 30 ................... 58
Tabel 4. 20. Belok kanan dengan data masukan nilai kiri 30 dan nilai kanan 10 ............... 58
Tabel 4. 21. Belok kiri dengan data masukan nilai kiri 15 dan nilai kanan 20 ................... 59
Tabel 4. 22. Belok kanan dengan data masukan nilai kiri 20 dan nilai kanan 15 ............... 59
Tabel 4. 23. Belok kiri dengan data masukan nilai kiri 15 dan nilai kanan 25 ................... 60
Tabel 4. 24. Belok kanan dengan data masukan nilai kiri 25 dan nilai kanan 15 ............... 60
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xvii
Tabel 4. 25. Belok kiri dengan data masukan nilai kiri 15 dan nilai kanan 30 ................... 60
Tabel 4. 26. Belok kanan dengan data masukan nilai kiri 30 dan nilai kanan 15 ............... 61
Tabel 4. 27. Belok kiri dengan data masukan nilai kiri 20 dan nilai kanan 25 ................... 61
Tabel 4. 28. Belok kanan dengan data masukan nilai kiri 25 dan nilai kanan 20 ............... 62
Tabel 4. 29. Belok kiri dengan data masukan nilai kiri 20 dan nilai kanan 30 ................... 62
Tabel 4. 30. Belok kanan dengan data masukan nilai kiri 30 dan nilai kanan 20 ............... 62
Tabel 4. 31. Belok kiri dengan data masukan nilai kiri 25 dan nilai kanan 30 ................... 63
Tabel 4. 32. Belok kanan dengan data masukan nilai kiri 25 dan nilai kanan 30 ............... 63
Tabel 4. 33. Hasil pengujian gerakan khusus ...................................................................... 66
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Pada era modern saat ini dengan perkembangan Ilmu Pengetahuan dan Teknologi
(IPTEK) menjadi hal yang sangat penting dalam setiap aspek kehidupan manusia dan
berkembang teknologi yang sangat pesat. Kecanggihan teknologi saat ini hampir menyentuh
dalam setiap aspek kehidupan manusia, seperti dalam bidang pendidikan, kesehatan, industri
dan pertanian. Semua perkembangan teknologi ini diciptakan untuk meringankan dan
memberikan kemudahan manusia dalam melakukan pekerjaan yang lebih efisien. Pada saat
ini banyak robot cerdas yang diciptakan untuk memenuhi kebutuhan, meringankan dan
membantu manusia dalam melakukan pekerjaan yang lebih efisien dalam waktu
penyelesaian dan mengurangi resiko kecelakaan kerja bagi manusia yang memiliki resiko
kecelakaan dan pekerjaan yang membutuhkan konsentrasi tinggi, seperti membantu manusia
dalam proses pemadaman api. Perkembangan teknologi yang semakin pesat tidak akan
bermaanfaat dengan baik bila tidak diiringi dengan perkembangan sumber daya manusia
dalam pengetahuan bidang teknologi khususnya dalam bidang teknologi robotik [1].
Perangkat robot sebagai sebuah gabungan peralatan mekanik dengan elektronik yang
dibuat oleh manusia untuk membantu meringankan pekerjaan. Petugas pemadam kebakaran
memiliki resiko yang besar untuk memadamkan api dengan dengan bertaruh nyawa dan
menghirup asap beracun. Pada saat ini proses pemadaman kebakaran masih dilakukan
langsung oleh manusia, tentu hal ini akan memiliki resiko yang tinggi bagi nyawa dan
kesehatan petugas. Dengan menggunakan robot akan mengurangi resiko yang terjadi pada
manusia dalam proses pemadaman kebakaran [2].
Inverse kinematic adalah metode yang digunakan untuk mengetahui nilai sudut pada
sendi-sendi yang diperlukan supaya ujung efektor untuk dapat mencapai posisi yang
diinginkan. Pergerakan robot dapat ditentukan dengan salah satu jenis metode, yaitu dengan
menggunakan metode inverse kinematic. Metode ini melakukan analisa transformasi dari
koordinat kartesius ke ruang sendi agar diperoleh hubungan konsep antara ruang geometri
dengan ruang sendi. Pergerakan robot dengan menggunakan metode inverse kinematic ini
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
2
pergerakan robot hanya tergantung dari koordinat ujung kaki [3]. Penelitian sudah berjalan
dan berhasil dengan obyek dari penelitian robot berkaki dua (biped). Penelitian ini memiliki
kekurangan yaitu posisi robot kurang stabil dan seimbang pada saat berjalan. Pergerakan
robot hanya dapat berjalan berjalan maju. Membutuhkan waktu yang lama untuk
menciptakan pergerakan kaki secara fleksibel secara trial-error dan juga akan memakan
memori penyimpanan yang sangat besar untuk menciptakan variasi pergerakan [4].
Kelebihan dari inverse kinematic ini adalah dengan melakukan analisa transformasi
koordinat kartesius ke ruang sendi agar diperoleh hubungan konsep antara ruang geometri
dengan ruang sendi. Pergerakan robot dengan menggunakan metode ini hanya tergantung
dari koordinat ujung kaki [3]. Penelitian yang sudah dilakukan oleh Surya Setiawan dkk
dengan metode inverse kinematic untuk robot berkaki dua, robot kurang stabil saat berjalan
maju [4]. Dari permasalahan yang sudah ada, akan dirancang pada tugas akhir ini robot
hexapod untuk dapat melakukan kontrol yang lebih baik pada saat berjalan lurus, berbelok
ke kanan dan ke kiri. Untuk menyimpan nilai data hasil perhitungan dan mengontrol
pergerakan robot, data disimpan ke dalam mikrokontroler. Alat mikrokontroler ini dalam
melakukan kontrol pergerakan robot akan berkomunikasi dengan alat pengolah data sensor
robot.
1.2. Tujuan dan Manfaat
Penelitian ini bertujuan untuk menerapkan metode inverse kinematics pada robot
pemadam api berkaki untuk berjalan lurus, berbelok ke kanan, dan berbelok ke kiri, dengan
menggunakan mikrokontroler OpenCM 9.04.
Manfaat dari karya ilmiah ini untuk mengembangkan robot pemadam api berkaki
untuk mengikuti lomba dan sebagai referensi pengembangan pengetahuan robotika tentang
perancangan robot pemadam api.
1.3. Batasan Masalah
Batasan masalah untuk tujuan yang ingin dicapai dalam penelitian ini adalah:
1. Obyek pengukuran robot berjalan lurus, berbelok ke kanan dan berbelok ke kiri dengan
alas yang terbuat dari triplek.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
3
2. Menggunakan mikrokontroler OpenCm9.04 untuk menyimpan program dan mengontrol
pergerakan servo dynamixel.
3. Menggunakan servo dynamixel AX12A dan AX18A sebagai actuator robot.
4. Torsi pada motor servo.
1.4. Metodologi Penelitian
Karya ini dibuat dengan metode sebagai berikut:
1. Mencari referensi sebagai sumber data dan mempelajari referensi berupa jurnal, artikel,
buku dan tutorial dari internet yang berkaiatan dengan permasalahan tugas akhir ini. Pada
tahap ini dilakukan studi literatur yang berhubungan dengan inverse kinematics,
mikrokontroler OpenCM9.04, Coreldraw, EaglePCB, structural part.
2. Perancangan sistem hardware.
Perancangan ini bertujuan untuk menentukan model dari alat yang akan dibuat dan tata
letak komponen yang diperlukan. Penelitian ini berfokus pada sistem navigasi robot
pemadam api dengan masukan data dari mikrokontroler pengolah data sensor, keluaran
berupa nilai data servo penggerak lengan robot dengan metode inverse kinematic:
a. Perhitungan dengan menggunakan inverse kinematics.
Metode ini digunakan untuk menentukan besaran sudut servo pada pada tiap joint agar
ujung dari kaki robot dapat melakukan pergerakan untuk mencapai titik yang sudah
ditentukan.
b. Pembuatan program.
Metode ini digunakan untuk merealisasikan data dari hasil perhitungan inverse kinematic
yang sudah dilakukan dengan memasukkan ke dalam program.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
4
Gambar 1. 1. Blok diagram sistem
3. Pembuatan perangkat hardware.
Membuat hardware untuk akrilik dengan menggunakan proses laser cutting, structural
parts menggunakan produk keluaran dari Robotis ataupun mencetak structural parts
secara solid dengan printer 3D dan pembuatan PCB secara handmade untuk merakit tata
letak komponen elektronika dengan jalur penghubung atar komponen agar dapat
berfungsi dengan baik. Perakitan dilakukan dengan cara direkatkan, dibaut dan disolder
untuk menyatukan masing-masing komponen. Hardware untuk sistem kelistrikan robot
hexapod ditunjukkan pada gambar 1.1.
4. Proses pengujian dan pengambilan data.
Teknik pengujian dan pengambilan data dilakukan dengan cara menguji sistem penggerak
robot untuk berjalan lurus, berbelok ke kanan dan berbelok ke kiri. Pengujian ini
dilakukan untuk mengetahui tingkat besaran error pada robot.
5. Analisa dan kesimpulan data hasil penelitian.
Analisa data dilakukan untuk mengetahui apakah alat sudah bekerja dengan baik dan
sesuai dengan desain rancangan awal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
5
BAB II
DASAR TEORI
2.1 Kinematics dan Inverse Kinematics
Merupakan studi kinemtics dan inverse kinematics untuk analisis pergerakan kaki atau
lengan robot terhadap sistem kerangka koordinat acuan yang diam atau bergerak tanpa
memperhatikan gaya yang menyebabkan pergerakan tersebut. Model kinematika
merepresentasikan hubungan end effector dalam ruang tiga dimensi dengan variabel sendi
dalam ruang sendi. Dalam kinematika dikenal istilah body kinematics yakni mengolah data
posisi relatif setiap ujung kaki terhadap titik pusat bodi robot, kemudian digunakan untuk
mengkoordinasikan setiap ujung kaki robot sehingga bodi robot dapat bergerak [21]. Inverse
kinematics merupakan metode untuk mengetahui nilai sudut pada sendi-sendi yang
diperlukan agar end effector dapat mencapai posisi yang dikehendaki [3].
Metode inverse kinematics menghitung data koordinat ujung kaki (end-effector).
Untuk dapat menghasilkan pergerakan robot sesuai dengan perhitungan yang ditentukan dan
meminimalkan error yang terjadi, dalam pembuatan robot pemadam api berkaki ini perlu
menggunakan perhitungaan kinematika untuk mempelajari bagaimana gerakan terjadi yang
mencakup perhitungan geometris tentang hubungan antara sudut-sudut yang harus dibentuk
oleh beberapa joint pada lengan robot dengan koordinat pergerakan yang telah ditentukan
[7].
Untuk menghasilkan suatu gerakan yang bagus, presisi serta halus, dalam robotika
perlu perlu menerapkan perhitungan kinematika pada penyusunan perangkat lunaknya.
Kinematik mempelajari bagaimana suatu gerakan terjadi meliputi perhitungan-perhitungan
matematis secara geometri ruang tentang hubungan antara sudut-sudut yang harus dibentuk
oleh beberapa poros pada lengan robot dengan koordinat yang diharapkan. Disini akan
dicoba diterapkan perhitungan inverse kinematics untuk robot berlengan banyak (multi arm).
Penambahan sendi pada suatu lengan meningkatkan kemampuan bermanuver robot dalam
ruang gerak yang dapat dijangkau, serta variasi gerakan yang dapat dibuat. Namun
penambahan ini juga menimbulkan beberapa kerugian karena harus menambah servo motor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
6
sebagai penggerak sehingga biaya lebih mahal, peningkatan konsumsi daya, berat robot,
selain itu pengontrolan robot jadi lebih rumit karena lebih banyak motor yang digerakkan
dan dikontrol dalam waktu yang bersamaan [6].
Gambar 2. 1. Ilustrasi kaki robot dengan metode inverse kinematics [11]
Robot hexapod memiliki dua bagian yaitu bagian tubuh dan bagia kaki, dan memiliki
3 derajat kebebasan (3 DOF) yang dibentuk oleh yang dibentuk oleh tiga sendi pada kaki,
yaitu coxa, femur dan tibia [10]. Base frame dari lengan robot berada pada bagian atas
sedangkan frame bagian bawah berfungsi sebagai penyangga dari gerakan servo. Servo
untuk menggerakkan coxa dan femur diletakkan secara bertumpuk dan berada di antara
frame atas dan bawah ditunjukkan pada gambar 2.1. Hal ini bertujuan untuk
mempertahankan body robot tetap kecil dan ramping dengan memanfaatkan ruang yang ada.
Servo yang menggerakkan tibia diletakkan pada lengan tibia dengan titik tumpu dari servo
di lengan femur. Bagian kaki dari robot ini menggunakan karet sebagai media bantuan untuk
membantu meredam getaran yang timbul dan mencengkram lebih baik pada permukaan alas
sewaktu robot berjalan.
2.1.1 Perhitungan Inverse Kinematics
Merupakan metode yang digunakan untuk menentukan nilai sudut pada tiap sendi (ϴ1,
ϴ2, dan ϴ3) dengan memberikan informasi posisi x, y, dan z [9]. Dengan menggunakan
metode Inverse kinematics maka akan didapatkan sudut tiap end-effector dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
7
menggunakan rumus trigonometri [20]. Pada gambar 2.2 sudut ϴ1 dapat dihitung dengan
menggunkan persamaan:
ϴ1 = 𝑡𝑎𝑛−1(𝑦
𝑥) (2.1)
Gambar 2. 2. geometri kaki robot tampak dari atas [9]
Gambar 2. 3. geometri kaki robot tampak dari depan [9]
Untuk menghitung sudut ϴ2 pada gambar 2.3 memerlukan sudut bantuan, yaitu sudut
A1 dan A2 dengan menggunakan aturan segitiga kosinus seperti pada gambar 2.4.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
8
Gambar 2. 4. aturan segitiga kosinus [19]
Z_offset merupakan jarak dari lantai ke sumbu dari servo femur robot. Pada saat z =
0, Z_offset adalah Z_offset acuan. Untuk posisi Z lainnya, maka Z_offset dapat dinyatakan
dengan persamaan [9].
𝑍𝑜𝑓𝑓𝑠𝑒𝑡 = 𝑍_𝑜𝑓𝑓𝑠𝑒𝑡 acuan ± Z (2.2)
Sudut ϴ2 dapat dinyatakan sebagai berikut:
𝐿 = √𝑧_𝑜𝑓𝑓𝑠𝑒𝑡2 + (𝐿1 − 𝑐𝑜𝑥𝑎)2 (2.3)
A1 = 𝑐𝑜𝑠−1(𝑧𝑜𝑓𝑓𝑠𝑒𝑡
𝐿) (2.4)
𝑡𝑖𝑏𝑖𝑎2 = 𝑓𝑒𝑚𝑢𝑟2 + 𝐿2 − 2 . 𝑓𝑒𝑚𝑢𝑟. 𝑡𝑖𝑏𝑖𝑎 . cos (A2) (2.5)
A2 = 𝑐𝑜𝑠−1(𝑡𝑖𝑏𝑖𝑎2−𝑓𝑒𝑚𝑢𝑟2−𝐿2)
−2.𝑓𝑒𝑚𝑢𝑟.𝐿 (2.6)
ϴ2 = A1 + A2 (2.7)
ϴ2 = 𝑐𝑜𝑠−1(𝑧𝑜𝑓𝑓𝑠𝑒𝑡
𝐿) + 𝑐𝑜𝑠−1
(𝑡𝑖𝑏𝑖𝑎2−𝑓𝑒𝑚𝑢𝑟2−𝐿2)
−2.𝑓𝑒𝑚𝑢𝑟.𝐿 (2.8)
Untuk menghitung sudut ϴ3 pada gambar 2.3 yang dapat dinyatakan sebagai berikut:
ϴ3 = 𝑐𝑜𝑠−1(𝐿2−𝑡𝑖𝑏𝑖𝑎2−𝑓𝑒𝑚𝑢𝑟2)
−2.𝑡𝑖𝑏𝑖𝑎.𝑓𝑒𝑚𝑢𝑟 (2.9)
2.1.2 Pengaturan Inverse Kinematics [21]
Struktur kaki robot yang digunakan pada algoritma inverse kinematics terdapat pada
Gambar 2.5 dengan panjang sebagai berikut:
• Panjang Coxa = 12 mm
• Panjang Femur = 54 mm
• Panjang Tibia = 75 mm
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
9
Pengaturan sumbu bidang koordinat kaki robot dilakukan untuk memudahkan
pemrograman pada robot. Pada algoritma inverse kinematics pusat koordinat berada pada
sumbu coxa masing masing kaki. Gambar 2.5. merupakan bidang koordinat kaki robot
bagian kanan. Bidang koordinat ini berlaku untuk kaki kanan dan kaki kiri robot, sehingga
terdapat perbedaan arah gerak pada sumbu X kaki robot bagian kiri dan kanan.
Gambar 2. 5. Bidang koordinat kaki robot bagian kanan (tampak depan)
Selanjutnya, persamaan inverse kinematics pada bagian II-A harus dinormalisasi untuk
menyesuaikan posisi 0 derajat antara perhitungan dan hardware yang digunakan.
Normalisasi 0 derajat memiliki perbedaan pada kaki kiri dan kaki kanan yang disebabkan
posisi komponen motor servo. Perhitungan normalisasi 0 derajat dijelaskan pada Gambar
2.6 hingga Gambar 2.9.
Gambar 2. 6. Normalisasi 0 derajat kaki kanan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
10
Gambar 2. 7. Normalisasi 0 derajat kaki kanan tampak atas
Gambar 2. 8. Normalisasi 0 derajat kaki kiri
Gambar 2. 9. Normalisasi 0 derajat kaki kiri tampak atas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
11
Tabel 2. 1. Tabel Normalisasi 0 derajat
Normalisasi 0 derajat Kaki Kiri Kaki Kanan
Sudut Coxa
sebenarnya (θc’) Θc’ = 270-θc Θc’ = 90-θc
Sudut Femur
sebenarnya (θf’) θf‘ = 90+θf θf‘ = 90-θf
Sudut Tibia
sebenarnya (θt’) θt' = 90 - θt θt' = 90 + θt
2.1.3 Pola Langkah Robot
Pergerakan untuk mengatur semua kaki robot pada gambar 2.10 diperlukan adanya
gaya berjalan (gait) yang merupakan pola pergerakan sendi. Gaya berjalan (gait) pada
sebuah robot berkaki enam jauh lebih banyak dibandingkan robot berkaki empat karena
kombinasi pilihan untuk bergerak dengan kaki tunggal atau pasangan lebih besar. Gerakan
setiap kaki dapat dibagi menjadi fase support, dimana kaki memberikan dukungan dan
mendorong badan robot dan fase transfer yaitu saat kaki diangkat dari tanah dan berayun
maju [25].
Pada robot hexapod mempunyai tiga gaya berjalan dasar yaitu wave, ripple dan tripod
gait. Algoritma pergerakan robot hexapod yang sering digunakan dalam robotika dalam
mengontrol gerakan kaki robot hexapod adalah pergerakan tripod gait dan wave gait [24].
Gambar 2. 10. diagram gait hexapod [25]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
12
Bar hitam merupakan fase support dari kaki dan ruang antara bar merupakan fase
transfer. Gaya berjalan pada gambar 2.10 wave gait adalah pola langkah yang lambat karena
hanya satu kaki pada fase transfer setiap waktunya, berikutnya adalah ripple gait yang cukup
cepat dan terlihat alami. Gait ketiga adalah tipe tripod gait yang stabil statis [25].
Mekanisme pergerakan robot hexapod menggunakan tripod gait bekerja berdasarkan
kestabilan robot pada tiga titik segitiga, yaitu 3 kaki robot yang berada di lantai dalam satu
waktu. Pergerakan tripod gait menghasilkan pergerakan robot yang paling cepat [10].
Gerakan kaki dari robot hexapod ini terdiri atas 4 siklus gerakan yaitu power, lift, swing dan
contact.
1. Power merupakan pose kaki saat tepat di atas permukaan dan menyangga badan robot.
2. Lift adalah pose saat servo bagian sendi femur dan tibia terangkat sepanjang sumbu z.
3. Swing adalah pose saat servo bagian coxa berputar dengan sumbu putar z.
4. Contact adalah pose saat kaki kembali dari keadaaan swing ketika sumbu z kembali.
Bergerak ke koordinat baru 3 kaki hexapod akan bergerak ke koordinat baru dan 3 kaki
lainnya tetap diam. Setelah 3 kaki selesai melakukan 1 langkah siklus, maka 3 kaki yang
diam akan bergerak ke koordinat baru [9].
2.2 Torsi
Torsi atau momen gaya adalah tenaga untuk menggerakkan, menarik atau menjalankan
sesuatu. Satuan untuk torsi di internasional adalah feet/lbs, feet-pounds atau Newtonmeter
(Nm). Torsi dihasilkan dari jarak dan kekuatan. Untuk menghitung torsi dapat cari dengan
menghitung gaya yakni massa dikali dengan percepatan kemudiaan dikali vektor posisi dari
sumbu putaran ke titik gaya yang bekerja [28].
𝜏 = F. r
𝜏 = m. a. r
𝜏 = Torsi (Nm)
r = vektor posisi dari sumbu putaran ke titik di mana gaya bekerja (m)
F = gaya (N)
a = percepatan (m/s2)
m = massa (kg)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
13
2.3 Komunikasi I2C
Komunikasi adalah perpindahan data antara satu atau lebih piranti, yang dilakukan
antara dua perangkat dengan pengiriman data bit dilakukan secara berurutan satu per satu.
Komunikasi I2C memiliki kelebihan hanya membutuhkan satu jalur komunikasi saja untuk
mengirim atau meneriama data jika dibandingkan dengan komunikasi pararel. Komunikasi
I2C membutuhkan dua jalur komunikasi dan jumlah kabel yang sedikit dari pada komunikasi
pararel.
Komunikasi I2C dimulai dengan membentuk sinyal start untuk memulai perintah
dengan perubahan tegangan SDA dari “1” menjadi “0” pada saat SCL “1”. Mengakhiri
semua perintah dengan membentuk sinyal stop dengan perubahan tegangan SDA dari “0”
menjadi “1” pada saat SCL “1” [27]. Kondisi sinyal Start dan sinyal Stop seperti tampak
pada Gambar 2.11.
Gambar 2. 11. Kondisi sinyal start dan stop
2.4 ROBOTIS
2.4.1 OpenCM 9.04
Open CM9.04 merupakan papan mikrokontroler STM32F103CB (ARM Cortex-M3)
yang dikeluarkan oleh ROBOTIS yang bersifat open source. Papan kontroler ini memiliki 3
tipe, yakni tipe A, tipe B dan tipe C. Perbedaan dari masing-masing tipe adalah part yang
disediakan oleh ROBOTIS untuk mendukung kinerja dari OpenCM9.04 ini. Gambar 2.12
merupakan papan mikrokontroler Open Cm 9.04 dan Tabel 2.2 merupakan spesifikasi dari
mikrokontroler OpenCM 9.04.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
14
Gambar 2. 12. OpenCM 9.04 [12]
Tabel 2. 2. Spesifikasi Open CM 9.04 [12]
Menggunakan chip STM32F103CB yang merupakan keluarga dari chip ARM Cortex-
M3 dengan memori flash 128 kB dan SRAM 20kB. Mikrokontroler ini bekerja pada
tegangan 3,3volt DC dan pada jalur TTL menggunakan tegangan 5 volt DC. Papan
mikrokontroler ini disuplay dengan tiga cara, yaitu:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
15
Kabel mikro-B USB
Port micro-B USB pada OpenCM9.04 ini memiliki dua fungsi, yaitu sebagai port untuk
komunikasi serial dan sebagai port catu daya untuk menyalakan board OpenCM9.04.
Soket baterai LBS-40
Terdapat 2 soket baterai LBS-40 yang dipasang seri, kita dapat memanfaatkan pin ini jika
OpenCM9.04 akan di supply menggunakan baterai LBS-40. Dengan rekomendasi
menggunakan 2 LBS-40 ketika mengoperasikan servo dynamixel XL-320. Port ini juga
dapat digunakan sebagai masukan untuk catu daya dengan tegangan masukan 5V-16V
DC seperti yang terlihat pada gambar 2.4 [12].
Gambar 2. 13. Pemberian catu daya pada OpenCM 9.04 [12]
Power supply melalui pin header
Pin header pada OpenCM9.04 dapat digunakan sebagai masukan dari power supply
eksternal dengan tegangan masukan 5V-16V dengan tegangan yang direkomendasikan
12volt DC atau 3 cell baterai lithium seperti yang ditunjukkan pada gambar 2.13. Pada
OpenCM9.04 ini terdapat saklar dan jumper yang digunakan untuk menghidupkan dan
mematikan.
2.4.2 Aplikasi Program OpenCM IDE
Untuk membuat program Robotis dan upload program ke board OpenCM 9.04
memerlukan Aplikasi OpenCM IDE (Integrated Development Enviroment). Bahasa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
16
pemprograman OpenCM adalah bahasa C dan mirip dengan pemprograman Arduino IDE.
Bahasa pemprograman ini sudah dipermudah dengan menggunakan fungsi-fungsi yang
sederhana dan contoh program yang sudah disediakan. Tampilan dari Aplikasi OpenCM
dapat dilihat pada gambar 2.14.
Gambar 2. 14. Tampilan aplikasi OpenCM IDE [26]
2.5 Servo Dynamixel AX12A dan AX18A
Servo dynamixel merupakan servo yang dikeluarkan oleh ROBOTIS. Bentuk fisik dari
servo dynamixel tipe AX18A dan AX12A dapat dilihat pada gambar 2.15. dan gambar 2.16.
Servo ini sudah terdapat motor DC, mikrokontroler, driver motor, dan jaringan dalam satu
modul. Sehingga servo dynamixel ini masuk dalam kategori smart actuator. Sensor pada
servo ini akan memberikan informasi dari servo saat bekerja.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
17
Gambar 2. 15. Servo dynamixel AX18A [13]
Gambar 2. 16. Servo dynamixel AX12A [14]
Servo dynamixel termasuk dalam jenis smart servo karena servo ini mempunyai
beberapa kelebihan, diantaranya adalah:
Posisi dan kecepatan putaran servo dapat dikontrol dengan resolusi 10bit (1024).
Dilengkapi dengan sensor posisi yang digunakan untuk mendeteksi posisi dan arah putar
servo, sensor suhu digunakan untuk mendeteksi suhu dan mengontrol kinerja servo,
sensor beban digunakan untuk mendeteksi beban kerja servo.
Memberikan informasi peringatan kepada pengguna saat servo bergerak tidak sesuai
dengan parameter dengan notifikasi dan led built in alarm indicator yang terdapat pada
servo.
Hemat kabel karena menggunakan komunikasi serial half duplex dengan kecepatan
hingga 1 Mbps.
Motor servo dynamixel terdiri dari gear reduction, encoder, shaft, horn dan juga
kontrol elektronik. Motor servo dynamixel berbentik balok dengan sisi atas dan bawah dari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
18
panjang servo digunakan untuk mounting. Servo ini dilengkapi dengan 2 buah port yang
masing-masing berisi 3 pin yaitu control, power, dan ground.
Servo dynamixel AX12A dan AX18A memiliki 2 port molex yang berisi 3 pin untuk
masukan catu daya dan juga sebagai komunikasi.
Spesifikasi dynamixel AX12A
Berat : 54,6 gram
Dimensi : 32mm x 50mm x 40mm
Resolusi : 0,29°
Rasio gigi : 254:1
Torsi : 1,5Nm (pada catu daya 12V, 1,5A)
Kecepatan tanpa beban : 59 rpm (pada 12V)
Sudut putaran : 0° - 300°, berotasi
Suhu pengoperasian : -5°C -+70°C
Tegangan kerja : 9-12V
Sinyal perintah : Paket digital
Tipe protokol : Half duplex asynchronous serial communication
(8bit, 1 stop, no parity)
Koneksi antar servo : TTL level multi drop (daisy chain)
ID servo : 0-253
Kecepatan komunikasi : 7343 – 1Mbps
Umpan balik : Posisi, suhu, beban, tegangan masukan.
Material Servo : Plastik
Spesifikasi dynamixel AX18A
Berat : 55,9 gram
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
19
Dimensi : 32mm x 50mm x 40mm
Resolusi : 0,29°
Rasio gigi : 254:1
Torsi : 1,8Nm (pada catu daya 12V, 2,2A)
Kecepatan tanpa beban : 97 rpm (pada 12V)
Sudut putaran : 0° - 300°, berotasi
Suhu pengoperasian : -5°C -+70°C
Tegangan kerja : 9-12V (rekomendasi tegangan 11,1V)
Sinyal perintah : Paket digital
Tipe protokol : Half duplex asynchronous serial communication
(8bit, 1 stop, no parity)
Koneksi antar servo : TTL level multi drop (daisy chain)
ID servo : 0-253
Kecepatan komunikasi : 7343 – 1Mbps
Umpan balik : Posisi, suhu, beban, tegangan masukan.
Material Servo : Plastik
Servo ini dalam mode joint dapat dikontrol kecepatannya dari 0-1023 untuk dapat
mencapai goal position. Goal position pada servo digunakan untuk mengatur nilai sudut
yang servo dari 0 - 300 derajat dengan mengirimkan nilai paket dari 0 – 1023 sehingga servo
memilki resolusi sebesar 0,29 derajat untuk setiap perubahan nilai paket yang di terima oleh
servo. Pada gambar 2. 19 merupakan hubungan antara paket data yang dikirim dengan nilai
sudut yang akan ditunjukkan oleh servo. Nilai 0 derajat dimulai dari kanan berputar ke kiri
sebesar 150 derajat atau nilai paket sebesat 512 yang berada tepat pada posisi tengah dari
servo dan 300 derajat pada sisi kanan dengan nilai paket 1023.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
20
Gambar 2. 17. Goal position pada servo dynamixel AX12A dan AX18A
2.6 Robotis 3 pin cable sets
Kabel 3 pin pada gambar 2.20 merupakan kabel yang digunakan untuk komunikasi
dan mengendalikan antar servo dynamixel dengan kontroler. Kontroler keluaran ROBOTIS
menggunakan pin molex 3 pin dan molex 4 pin untuk membaca dan menulis status ke servo
dynamixel. Konektor 3 pin digunakan untuk komunikasi servo dynamixel tipe AX/ dengan
tipe komunikasi yang digunakan half-duplex.
Kontroler keluaran dari ROBOTIS menggunakan port molex untuk komunikasi servo
dynamixel dengan kontroler. Selain untuk komunikasi kabel ini juga digunakan untuk
menyalurkan daya dari kontroler menuju ke servo dynamixel. Kabel untuk servo dynamixel
ini sudah dilengkapi dengan konektor molex 3 pin yang sudah terpasang pada ujung kabel
ini. Ada dua ukuran konektor pin molex yang digunakan, yakni ukuran besar dan kecil.
Konektor kecil pin molex digunakan untuk
Kabel servo ini tersedia dengan beberapa macam ukuran, ukuran yang disediakan yaitu
60mm, 100mm, 140mm, 180mm dan 200mm.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
21
Gambar 2. 18. Kabel ROBOTIS untuk servo dynamixel tipe AX/MX [15]
2.7 Structural part components
Structural part pada gambar 2.21 sampai pada gambar 2.23 merupakan komponen
yang digunakan untuk menggabungkan antar servo dynamixel agar membentuk kaki robot.
Gambar 2. 19. ROBOTIS FP04-F7 untuk servo dynamixel tipe AX [16]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
22
Gambar 2. 20. ROBOTIS FP04-F6 untuk servo dynamixel tipe AX [17]
Gambar 2. 21. ROBOTIS FP04-F3 untuk servo dynamixel tipe AX [18]
2.8 Washers dan bushings (BPF-WA/BU)
Gambar 2.24 Washers dan bushings merupakan merupakan bagian komponen dari
ROBOTIS yang digunakan sebagai titik pergerakan dari servo dengan badan. Komponen ini
biasanya dipasang sejajar dengan titik putar pada servo. Tujuan dari pemasangan komponen
ini adalah untuk mempermudah ketika servo yang sebagai sendi pergerakan robot bergerak
pada badan robot.
Gambar 2. 22. Washers dan bushings untuk servo dynamixel tipe AX [18]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
23
2.9 Level Logic Converter
Papan logic level converter pada gambar 2.25 digunakan pada dua tingkat level
tegangan yang berbeda. Sistem yang mempunyai level tegangan 3.3volt dan tidak
mempunyai toleransi tegangan sampai dengan 5volt akan mengalami kerusakan. Untuk
mencegah diperlukan sistem yang dapat mengalihkan level logika digital dari sistem 5volt
ke level tegangan 3.3 volt, begitu pun sebaliknya.
Penggunaan dari konverter ini sederhana, dengan menghubungkan sumber tegangan
di kedua sisi dengan 3.3 volt dan 5 volt. Pin ground sebagai acuan yang sama digunakan
untuk titik level yang akan dikonversi.
Gambar 2. 23. Bidirectional Logic Level Converter [22]
2.10 Sepatu kaki robot
Karet berfungsi untuk membuat kaki hexapod mencengkram lebih baik pada
permukaan alas. Gambar 2.26 merupakan tali karet yang biasanya digunakan untuk industri
sebagai seal untuk mencegah kebocoran cairan pada sambungan pipa.
Gambar 2. 24. Tali karet 10mm. [23]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
24
BAB III
RANCANGAN PENELITIAN
Pada bagian ini menjelaskan mengenai perancangan pembuatan robot hexapod dengan
menggunakan mikrokontroler OpenCm9.04. Perancangan yang akan dibahas pada bagian
ini meliputi perhitungan inverse kinematics, diagram alir sistem, perancangan perangkat
lunak (software), perancangan perangkat keras (hardware) mekanik dan elektrik.
3.1 Perancangan Sistem
Diagram blok sistem actuator dengan menggunakan OpenCm9.04 ditunjukkan pada
gambar 3.1 di bawah ini:
Gambar 3. 1. Diagram Blok Sistem
Diagram blok penelitian pada Gambar 3.1 menampilkan proses pengontrolan
pergerakan robot menggunakan mikrokontroler yang mengolah data sensor robot.
Mengirimkan perintah ke mikrokontroler OpenCm9.04 yang berfungsi untuk mengontrol
pergerakan servo robot.
3.2 Perancangan Perangkat Keras
Perancangan perangkat keras terdari dari dua bagian utama, yaitu perancangan
mekanik robot dan perancangan rangkaian pengendali sendi robot.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
25
3.2.1 Perancangan Mekanik Robot
Kerangka utama robot terdiri dari dua bagian utama yakni bagian atas yang
ditunjukkan pada gambar 3.2 yang berfungsi sebagai titik tumpu dari servo dan juga sebagai
tempat dari komponen utama dari robot, seperti baterai, mikrokontroler, konverter daya,
sensor dan extinguiser. Pada bagian atas kerangka dibuat lebih besar dan memiliki 8 sisi
untuk penempatan sensor serta dapat menampung komponen robot. Papan bagian atas
mempunyai dimensi panjang 23 cm dan lebar 19 cm dengan tebal 3mm lebih tebal 1mm dari
keranggka bagian bawah yang ditunjukkan pada gambar 3.3 mempunyai 6 lubang dengan
jarak dan sudut yang disesuaikan dengan kerangka utama robot bagian atas. Berikut ini
ukuran dimensi kerangka bagian atas robot.
Gambar 3. 2. Ukuran dimensi robot bagian atas
Pada papan kerangka robot bagian bawah berfungsi menyangga pergerakan servo dan
juga sebagai tempat untuk meletakkan sensor warna. Papan bagian bawah ini terbuat dari
bahan akrilik dengan ketebalan 2 mm yang terdapat 6 lubang yang digunakan sebagai titik
tumpu servo dynamixel. Jarak bebas dari bushing 3mm, maka pada kerangka utama robot
ini diberikan ring akrilik 1mm, untuk mengurangi kelonggaran yang terjadi. kerangka robot
paling bawah ini mempunyai dimensi dengan panjang 20 cm dan lebar 13 cm. Berikut ini
ukuran dimensi kerangka bagian bawah robot.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
26
Gambar 3. 3. Ukuran dimensi robot bagian bawah
Pada bagian lengan robot (femur) memiliki jarak sumbu 40 mm, lengan robot ini
menggunakan dua paduan bahan antara akrilik dengan stainless steel. Akrilik memiliki
ketebalan 3 mm dengan panjang 58 mm dan lebar 18 mm, akrilik ini lebih berfungsi sebagai
penyangga dari gerakan putar servo untuk menggerakkan lengan robot. Stainless steel
digunakan untuk menyalurkan tenaga dari gerakan putar servo sehingga robot dapat
melakukan gerakkan sesuai dengan fungsinya. Bahan ini memiliki ketebalan 1mm dengan
panjang 62 mm dan lebar 22 mm. Pada Tibia mempunyai panjang 60 mm, yang merupakan
panjang gabungan dari servo, structural part dan karet sebagai alas kaki dari robot.
Bagian penghubung antar servo menggunakan structural part dari Robotis dan juga
menggunakan 3D printing. Structural keluaran dari robotis dan 3D printimg ini digunakan
untuk menggabungkan dua servo dan juga untuk menghubungkan servo pada lengan tibia
ke kaki robot. Kaki robot menggunakan stainless steel 1mm dengan diameter 20,5 mm
dengan lubang ditengah sebesar 3mm sebagai tempat untuk lubang baut yang digunakan
untuk mengaitkan karet sebagai sepatu robot. Gambar 3.4 merupakan ukuran dimensi lengan
dan kaki robot. Gambar 3.5 merupakan gambaran dari panjang femur, tibia dan sepatu robot
(end-effector) yang terpasang pada tibia saat sudah terangkai.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
27
Gambar 3. 4. Dimensi lengan dan end effector robot.
Gambar 3.5 merupakan gambaran dimensi salah satu lengan robot bagian kiri yang
terdiri dari 3 servo dynamixel untuk menggerakkan 3 sendi. Tipe servo yang digunakan
untuk menggerakkan sendi bagian coxa bertipe AX18A dan dua sendi lainnya menggunakan
tipe AX12A. End effector pada lengan robot menggunakan bahan yang terbuat dari karet
untuk menambah daya pijak pada permukaan.
Gambar 3. 5. Panjang lengan coxa, femur dan tibia.
3.2.2 Perancangan Rangkaian Pengendali Servo
Mikrokontroler OpenCM 9.04 digunakan sebagai driver untuk mengendalikan motor
servo. OpenCM 9.04 digunakan sebagai driver servo agar proses pada rangkaian pengendali
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
28
dapat berjalan lancar pada saat bekerja. OpenCM 9.04 dengan rangkaian pengendali saling
terhubung menggunakan komunikasi serial, komunikasi tersebut memanfaatkan pin TX dan
RX pada OpenCM 9.04 dan juga pada rangkaian pengendali. Level converter dalam
rangkaian input ini diperlukan untuk dapat berkomunikasi, karena mikrokontroler OpenCM
9.04 menggunakan tegangan kerja 3,3V dan mikrokontroler pengendali menggunakan
tegangan kerja 5V.
3.2.3 Perhitungan Torsi
Beban yang harus diangkat oleh robot adalah 2,5 kg, sedangkan panjang lengan
femur 40 mm dan tibia 64 mm dari badan robot. Kebutuhan torsi untuk motor servo dalam
perancangan robot hexapod adalah sebagai berikut:
m = 2,5 kg
r = 40 mm + 64 mm = 0,104 m
𝜏 = m.a.r = 2,5 kg . 10 m/s2 . 0,104 m = 2,6 Nm
Berdasarkan kebutuhan torsi yang dibutuhkan oleh robot hexapod membutuhkan torsi
yang besar untuk dapat menopang beban robot. Torsi yang besar ini terbagi ke 3 lengan yang
tiap lengan mempunyai 2 buah servo yang dipasang pada sendi femur dan tibia, sehingga
pembagian beban untuk setiap servo adalah sebagai berikut 2,6 Nm : 6 = 0,43 Nm. Mengacu
pada pembahasan 2.4 servo dynamixel AX12A mampu memberikan torsi hingga 1,5 Nm.
3.3 Perancangan Gerak Robot
Pergerakan kaki robot dapat dipermudah dengan mengubah bentuk 3 dimensi menjadi
2 dimensi yakni tampak atas dan tampak samping lengan robot. Tampak atas digunakan
untuk mengetahui sudut ϴ1 saat lengan bergerak dari sumbu X ke sumbu Y. Struktur kaki
robot yang yang ditunjukkan pada gambar 3.3 dan gambar 3.4 mempunyai spesifikasi
sebagai berikut:
X = L1= 44,5 mm
Y = 12 mm
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
29
Z_offset = 49 mm
Z_naik = 5 mm
Tibia = 64 mm
Femur = 40 mm
Rumus untuk mencari ϴ1 mengacu pada persamaan (2.1) adalah sebagai berikut nilai
X adalah panjang L1 yang dihitung dari jangkauan end-effector ke sumbu putar coxa dan Y
adalah gerakan end-effector ke arah depan atau arah belakang dari body robot. Besarnya
sudut ϴ1 yang ditunjukkan pada gambar 3.6.
Normalisasi digunakan untuk menyesuaikan perhitungan persamaan inverse
kinematics yang ada pada program dengan hasil aktualisasinya. Data hasil dari perhitungan
inverse kinematics tidak dapat langsung digunakan karena nilai yang ditunjukkan pada hasil
perhitungan perlu penyesuaian dengan hardware yang digunakan.
Berikut ini adalah perhitungan inverse kinematics dan perhitungan normalisasi untuk
lengan kanan dan kiri:
Gambar 3. 6. Lengan robot tampak atas
Pada sudut ϴ1 digunakan untuk bergerak ke arah sumbu Y sejauh 12 mm ke depan
dan ke belakang :
ϴ1 = 𝑡𝑎𝑛−1(12
44,5)
ϴ1 = 15,1°
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
30
Perhitungan normalisasi untuk ϴ1 cukup satu kali saja karena penggunaan nilai
normalisasi untuk joint lengan kanan dan kiri dapat menggunakan nilai normalisasi yang
sama :
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ1 = (15,1 ∗ 512.00/150.00) + 512
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ1 = 563
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ1 = (15,1 ∗ −512.00/150.00) + 512
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ1 = 460
Gambar 3. 7. Lengan robot tampak samping
Pada gambar 3.7 merupakan lengan robot tampak samping, dalam perancangan lengan
coxa ditiadakan karena servo ϴ2 berada pada garis sumbu putar servo ϴ1. Untuk mencari ϴ2
mengacu pada persamaan (2.8) dan ϴ3 mengacu pada persamaan (2.9). Perhitungan inverse
kinematics pada saat lengan femur dan tibia bergerak turun sejauh 5 mm dapat dinyatakan
sebagai berikut :
𝐿 = √(𝑍𝑜𝑓𝑓𝑠𝑒𝑡 + 𝑍_𝑛𝑎𝑖𝑘)2 + 𝑌2
𝐿 = √(49 + 5)2 + 44,52
𝐿 = 70 𝑚𝑚
ϴ2 = 𝑐𝑜𝑠−1(49 + 5
70) + 𝑐𝑜𝑠−1
(642 − 402 − 702)
−2.40.70
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
31
ϴ2 = 104,1°
ϴ3 = 𝑐𝑜𝑠−1(702 − 642 − 402)
−2.64.40
ϴ3 = 81,1°
Perhitungan normalisasi sudut ϴ2 dan ϴ3 untuk lengan kanan dan kiri berbeda sehingga
perhitungan normalisasi dilakukan dua kali :
lengan kanan
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ2 = ((180 − (104,1 + 45)) ∗ 512.00/150.00) + 512
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ2 = 617
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ3 = ((81,1 − 45) ∗ 512.00/150.00) + 512
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ3 = 635
lengan kiri
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ2 = ((180 − (104,1 + 45)) ∗ −512.00/150.00) + 512
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ2 = 407
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ3 = ((81,1 − 45) ∗ −512.00/150.00) + 512
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ3 = 389
Perhitungan inverse kinematics pada saat lengan femur dan tibia bergerak naik sejauh
5 mm dapat dinyatakan sebagai berikut :
𝐿 = √(𝑍𝑜𝑓𝑓𝑠𝑒𝑡 − 𝑍_𝑛𝑎𝑖𝑘)2 + 𝑌2
𝐿 = √(49 − 5)2 + 44,52
𝐿 = 62,6 𝑚𝑚
ϴ2 = 𝑐𝑜𝑠−1(49 − 5
62,6) + 𝑐𝑜𝑠−1
(642 − 402 − 62,62)
−2.40.62,6
ϴ2 = 118,8°
ϴ3 = 𝑐𝑜𝑠−1(62,62 − 642 − 402)
−2.64.40
ϴ3 = 69,7°
Perhitungan normalisasi sudut ϴ2 dan ϴ3 untuk lengan kanan dan kiri berbeda sehingga
perhitungan normalisasi dilakukan dua kali :
lengan kanan
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ2 = ((180 − (118,8 + 45)) ∗ 512.00/150.00) + 512
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ2 = 567
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
32
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ3 = ((69,7 − 45) ∗ 512.00/150.00) + 512
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ3 = 596
lengan kiri
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ2 = ((180 − (118,8 + 45)) ∗ −512.00/150.00) + 512
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ2 = 457
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ3 = ((69,7 − 45) ∗ −512.00/150.00) + 512
𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ3 = 428
Nilai joint servo untuk bagian lengan kiri dan kanan pada sudut ϴ2 dan ϴ3 berbeda
namun saling berkebalikan karena nilai sudut ϴ2 dan ϴ3 didapatkan dari perhitungan inverse
kinematics yang sama nilai joint berbeda karena merupakan nilai hasil dari konversi
perhitungan inverse kinematics untuk normalisasi nilai joint pada servo agar didapatkan nilai
sudut perhitungan inverse kinematics dengan nilai sudut aktual yang sama dengan
perhitungan. Hal ini diperlukan karena untuk mengatur nilai sudut pada servo digunakan
instruksi paket 10 bit.
Pada tabel 3.1 merupakan urutan pola pergerakan tripod dengan masukan nilai
koordinant untuk end effector dengan hasil keluaran berupa sudut hasil dari perhitungan
inverse kinematics dan nilai joint hasil normalisasi dari hasil perhitungan inverse kinematics.
Tabel 3. 1. Pola pergerakan tripod dengan perhitungan inverse kinematics
Lengan Fase Posisi (mm) Sudut (°) Joint
x y z Ө1 Ө2 Ө3 Coxa Femur Tibia
Kiri
lift 44,5 12 5 15,1 118,8 69,7 563 457 428
Swing 44,5 12 -5 15,1 104,1 81,1 563 407 389
Contact 44,5 -12 -5 -15,1 104,1 81,1 460 407 389
Power 44,5 -12 5 -15,1 118,8 69,7 460 457 428
Kanan
lift 44,5 12 5 15,1 118,8 69,7 460 567 596
Swing 44,5 12 -5 15,1 104,1 81,1 460 617 635
Contact 44,5 -12 -5 -15,1 104,1 81,1 563 617 635
Power 44,5 -12 5 -15,1 118,8 69,7 563 567 596
Untuk mencari jarak yang dapat ditempuh oleh robot adalah dengan mengalikan jarak
end effector pada sumbu Y dikali dengan 2 untuk setiap 1 siklus tripod kemudiaan dikali 2
untuk fase support dan fase transfer.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
33
3.3.1 Posisi Siap
Gambar 3.8 merupakan gambar dari salah satu bagian lengan robot bagian kiri ketika
robot dalam posisi siap dan belum melakukan perhitungan inverse kinematics. Pada posisi
siap semua sudut servo berada pada sudut 150 derajat dari sudut 300 derajat yang dimiliki
oleh servo. Mengacu pada spesifikasi servo yang dapat bergerak dari 0-300 derajat dengan
paket perintah 10 bit = 1024, untuk mencapai pada sudut 150 derajat nilai joint putar yang
harus diberikan oleh mikrokontroler sebesar 1024/2 = 512.
Gambar 3. 8. Posisi lengan robot pada saat siap
3.3.2 Jalan Maju
Gerakan maju memerlukan perhitungan inverse kinematics. Perhitungan ini digunakan
untuk memperoleh nilai koordinat baru pada untuk langkah berikutnya yang dilakukan oleh
robot. Pergerakan kaki robot untuk membuat robot dapat berjalan maju menggunkan pola
gerakan tripod seperti yang ditunjukkanpada gambar 3.9 yaitu menggerakkan tiga kaki
secara bersamaan dan tiga kaki lainnya sebagai penyangga. Pola gerakan kaki yaitu kaki
depan, tengah dan belakang secara silang dengan kaki pengangga. Pola gerakan ini akan
bergantian dan terus berulang hingga mencapai kondisi yang di inginkan. Urutan penomoran
dan warna pada lengan digunakan untuk memudahkan dalam pengelompokan fase
pergerakan tripod.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
34
Gambar 3. 9. Siklus pergerakan tripod dan penomoran kaki hexapod.
Mengacu perhitungan inverse kinematics pada hasil perhitungan pada sub bab 3.4 dan
pola gerakan tripod maka nilai koordinat pada tiap lengan robot pada fase pergerakan tripod
dapat mudah dipahami dengan membuat tabel 3.2.
Tabel 3. 2. Urutan nilai sudut pada tiap joint pada saat robot berjalan maju
Kaki Step Fase Sudut kiri (°)
Fase Sudut kanan (°)
Tibia Femur Coxa Coxa Femur Tibia
Depan
1
Lift 69,7 118,8 15,1 Contact -15,1 104,1 81,1
Tengah Contact 81,1 104,1 -15,1 Lift 15,1 118,8 69,7
Belakang Lift 69,7 118,8 15,1 Contact -15,1 104,1 81,1
Depan
2
Swing 81,1 104,1 -15,1 Power 15,1 118,8 69,7
Tengah Power 69,7 118,8 15,1 Swing -15,1 104,1 81,1
Belakang Swing 81,1 104,1 -15,1 Power 15,1 118,8 69,7
Depan
3
Contact 81,1 104,1 -15,1 Lift 15,1 118,8 69,7
Tengah Lift 69,7 118,8 15,1 Contact -15,1 104,1 81,1
Belakang Contact 81,1 104,1 -15,1 Lift 15,1 118,8 69,7
Depan
4
Power 69,7 118,8 15,1 Swing -15,1 104,1 81,1
Tengah Swing 81,1 104,1 -15,1 Power 15,1 118,8 69,7
Belakang Power 69,7 118,8 15,1 Swing -15,1 104,1 81,1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
35
Untuk mencari jarak yang ditempuh oleh robot saat berjalan maju dapat ditentukan
sebagai berikut:
𝐽𝑎𝑟𝑎𝑘 = 12𝑚𝑚 𝑥 2 𝑥 2 𝑥 25
𝐽𝑎𝑟𝑎𝑘 = 1,2 𝑚𝑒𝑡𝑒𝑟
𝐽𝑎𝑟𝑎𝑘 = 12𝑚𝑚 𝑥 2 𝑥 2 𝑥 50
𝐽𝑎𝑟𝑎𝑘 = 2,4 𝑚𝑒𝑡𝑒𝑟
3.3.3 Jalan Mundur
Pola pergerakan robot yang digunakan untuk berjalan mundur sama dengan pola
pergerakan robot yang digunakan untuk berjalan maju yaitu menggunakan pola pergerakan
tripod dengan menggerakkan 3 kaki secara bersamaan dan tiga kaki lainnya sebagai
penyangga. Pola gerakan kaki yaitu kaki depan, tengah dan belakang secara silang dengan
kaki pengangga. Pola gerakan ini di lakukan secara bergantian dan terus di ulang hingga
mencapai kondisi yang di inginkan. Tabel 3.3 merupakan tabel urutan pergerakan tripod
pada saat robot berjalan mundur.
Tabel 3. 3. Urutan nilai sudut pada tiap joint pada saat robot berjalan mundur
Kaki Step Fase Sudut kiri (°)
Fase Sudut kanan (°)
Tibia Femur Coxa Coxa Femur Tibia
Depan
1
Lift 69,7 118,8 15,1 Contact -15,1 104,1 81,1
Tengah Contact 81,1 104,1 -15,1 Lift 15,1 118,8 69,7
Belakang Lift 69,7 118,8 15,1 Contact -15,1 104,1 81,1
Depan
2
Swing 69,7 118,8 -15,1 Power 15,1 104,1 81,1
Tengah Power 81,1 104,1 15,1 Swing -15,1 118,8 69,7
Belakang Swing 69,7 118,8 -15,1 Power 15,1 104,1 81,1
Depan
3
Contact 81,1 104,1 -15,1 Lift 15,1 118,8 69,7
Tengah Lift 69,7 118,8 15,1 Contact -15,1 104,1 81,1
Belakang Contact 81,1 104,1 -15,1 Lift 15,1 118,8 69,7
Depan
4
Power 81,1 104,1 15,1 Swing -15,1 118,8 69,7
Tengah Swing 69,7 118,8 -15,1 Power 15,1 104,1 81,1
Belakang Power 81,1 104,1 15,1 Swing -15,1 118,8 69,7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
36
Untuk mencari jarak yang ditempuh oleh robot saat berjalan mundur dapat ditentukan
sebagai berikut:
𝐽𝑎𝑟𝑎𝑘 = 12𝑚𝑚 𝑥 2 𝑥 2 𝑥 25
𝐽𝑎𝑟𝑎𝑘 = 1,2 𝑚𝑒𝑡𝑒𝑟
𝐽𝑎𝑟𝑎𝑘 = 12𝑚𝑚 𝑥 2 𝑥 2 𝑥 50
𝐽𝑎𝑟𝑎𝑘 = 2,4 𝑚𝑒𝑡𝑒𝑟
3.3.4 Putar Kiri
Pola pergerakan robot untuk belok ke kiri menggunakan pola tripod sama seperti pola
pergerakan yang digunakan untuk berjalan, yakni dengan menggerakkan 3 kaki secara
bersamaan. Perbedaan berbelok dengan berjalan adalah kaki robot akan menggerakkan
badan robot berputar ke kiri seperti yang ditunjukkan pada tabel 3.4. Untuk dapat berbelok
sebesar 45 derajat dan 90 derajat dilakukan dengan pengulangan siklus pergerakan tripod.
Tabel 3. 4. Urutan nilai sudut pada tiap joint pada saat robot belok kiri
Kaki Step Fase Sudut kiri (°)
Fase Sudut kanan (°)
Tibia Femur Coxa Coxa Femur Tibia
Depan
1
Lift 69,7 118,8 15,1 Contact 15,1 104,1 81,1
Tengah Contact 81,1 104,1 -15,1 Lift -15,1 118,8 69,7
Belakang Lift 69,7 118,8 15,1 Contact 15,1 104,1 81,1
Depan
2
Swing 69,7 118,8 -15,1 Power -15,1 104,1 81,1
Tengah Power 81,1 104,1 15,1 Swing 15,1 118,8 69,7
Belakang Swing 69,7 118,8 -15,1 Power -15,1 104,1 81,1
Depan
3
Contact 81,1 104,1 -15,1 Lift -15,1 118,8 69,7
Tengah Lift 69,7 118,8 15,1 Contact 15,1 104,1 81,1
Belakang Contact 81,1 104,1 -15,1 Lift -15,1 118,8 69,7
Depan
4
Power 81,1 104,1 15,1 Swing 15,1 118,8 69,7
Tengah Swing 69,7 118,8 -15,1 Power -15,1 104,1 81,1
Belakang Power 81,1 104,1 15,1 Swing 15,1 118,8 69,7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
37
3.3.5 Putar Kanan
Pola pergerakan robot untuk dapat berbelok ke kanan sama dengan pola robot untuk
berbelok ke kiri dengan tetap menggunakan pola bergerakan tripod dan menggerakkan
badan robot untuk berputar ke kanan seperti yang ditunjukkan pada tabel 3.5. Untuk dapat
berbelok sebesar 45 derajat dan 90 derajat sama dengan berbelok ke kiri dengan dilakukan
pengulangan siklus pergerakan tripod.
Tabel 3. 5. Urutan nilai sudut pada tiap joint pada saat robot belok kanan
Kaki Step Fase Sudut kiri (°)
Fase Sudut kanan (°)
Tibia Femur Coxa Coxa Femur Tibia
Depan
1
Lift 69,7 118,8 -15,1 Contact -15,1 104,1 81,1
Tengah Contact 81,1 104,1 15,1 Lift 15,1 118,1 69,7
Belakang Lift 69,7 118,8 -15,1 Contact -15,1 104,1 81,1
Depan
2
Swing 69,7 118,8 15,1 Power 15,1 104,1 81,1
Tengah Power 81,1 104,1 -15,1 Swing -15,1 118,1 69,7
Belakang Swing 69,7 118,8 15,1 Power 15,1 104,1 81,1
Depan
3
Contact 81,1 104,1 15,1 Lift 15,1 118,1 69,7
Tengah Lift 69,7 118,8 -15,1 Contact -15,1 104,1 81,1
Belakang Contact 81,1 104,1 15,1 Lift 15,1 118,1 69,7
Depan
4
Power 81,1 104,1 -15,1 Swing -15,1 118,1 69,7
Tengah Swing 69,7 118,8 15,1 Power 15,1 104,1 81,1
Belakang Power 81,1 104,1 -15,1 Swing -15,1 118,1 69,7
3.4 Perancangan Perangkat Lunak
Gambar 3.10 merupakan gambar diagram alir (Flowchart) untuk mengendalikan
hexapod dan gambar 3.11 merupakan subroutine program dari perintah yang diterima.
Mikrokontroler master akan memberikan perintah sesuai dengan pembacaan data masukan
sensor yang diterima dan sudah diolah. Terdapat 6 data masukan seperti pada diagram alir
yang digunakan untuk memanggil fungsi pergerakan servo pada kaki robot hexapod. Dengan
memberikan data, pengendali akan memberikan perintah untuk mengaktifkan servo dan
menggerakkan sesuai siklus pergerakan tripod untuk mencapai tujuan yang ditentukan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
38
MULAI
Cek Komunikasi ?
T
Y
Baca isi perintah
Nilai perintah
sesuai kata kunci?
T
Kirim Pesan Error
Beri Perintah
mode siap
Y
Nilai perintah
1
Y
T
Nilai perintah
2
T
Nilai perintah
3
Y
Y
T
Nilai perintah
4Y
T
Nilai perintah
5Y
SELESAI
Berjalan
mundur
Belok kanan
Belok kiri
Serong kiri
Serong kanan
Berjalan maju
T
Y
Gambar 3. 10. Flowchart hexapod
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
39
Gambar 3. 11. Subroutine flowchart hexapod
Gambar 3. 11. (Lanjutan) Subroutine flowchart hexapod
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
40
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.
Gambar 4. 1. Papan Arduino Mega [29]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
41
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
42
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
YT
Nilai perintah
khusus
T
Y
SELESAI
Y
Berjalan maju
khusus
Berjalan maju
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
43
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 𝑚𝑚
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
44
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𝑐𝑚
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
45
ϴ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°
4.2 Hasil Perancangan Perangkat Keras
Hasil perancangan robot hexapod yang ditunjukkan pada gambar 4.7 terdiri dari bagian
servo dynamixel, structural part, plat stainless steel dan akrilik. Servo dynamixel berfungsi
untuk menggerakkan sendi pada robot dengan sudut yang sudah ditentukan dalam
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
46
perhitungan sehingga membentuk suatu pola tertentu. Structural part dan plat stainless stell
digunakan untuk membentuk struktur lengan dengan mengikat antar servo dan
menghubungkan ke chasis robot.
Gambar 4. 7. Bentuk fisik robot hexapod
4.3 Pengujian Komunikasi
Pengujian komunikasi dilakukan untuk mengetahui data yang dikirim oleh
mikrokontroler master ke mikrokontroler servo. Arduino Nano diprogram untuk
mengirimkan data setiap 0,5 detik dengan data yang dikirim adalah angka yang secara
periodik bertambah satu hingga mencapai 25. Pengujian dilakukan dengan menghubungkan
kedua papan Arduino dengan jalur komunikasi I2C. Pada tabel 4.2. merupakan kinerja
komunikasi Arduino Mini dengan Arduino Mega.
Tabel 4. 2. Pengujian penerimaan data dengan interval pengirimaan 0.5 detik
No Data dikirim Data diterima
1 1 1
2 2 2
3 3 3
4 4 4
5 5