View
25
Download
0
Category
Preview:
Citation preview
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 5
6 6 6
7 7 7
8 8 8
9 9 9
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Tabel 4.2. (Lanjutan) Pengujian penerimaan data dengan interval pengirimaan 0.5 detik
No Data dikirim Data diterima
10 10 10
11 11 11
12 12 12
13 13 13
14 14 14
15 15 15
16 16 16
17 17 17
18 18 18
19 19 19
20 20 20
21 21 21
22 22 22
23 23 23
24 24 24
25 25 25
Hasil pengujian penerimaan data dapat dilihat pada tabel 4.2 menunjukkan data yang
dikirim oleh mikrokontroler master dengan data yang diterima oleh mikrokontroler servo.
Pengujian penerimaan data dilakukan sebanyak 25 percobaan. Pengujian penerimaan data
dilakukan dengan mengamati pada serial monitor apakah data yang dikirim oleh
mikrokontroler master dengan data yang diterima oleh mikrokontroler servo sudah sama
atau berbeda.
4.4 Pengujian Gerakan
Pengujian dilakukan untuk mengetahui keberhasilan dari perhitungan teori dengan
pengujian. Pengujian jarak tempuh menggunakan alas yang terbuat dari triplek yang sudah
diberikan garis matrik dengan jarak 30 cm untuk memudahkan dalam pengambilan data.
4.4.1 Pengujian Jalan Maju
Pengujian jalan maju robot dilakukan dengan meletakkan robot di atas papan triplek.
Data yang diterima dari mikrokontroler master adalah data untuk melakukan gerakan pada
sumbu coxa dengan nilai kanan dan kiri sama. Pada penelitian ini variasi nilai yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
digunakan untuk pengambilan data menggunakan nilai 10,15,20,25 dan 30. Tabel 4.3.
hingga tabel 4.7 menunjukkan hasil pengujian untuk jalan maju dengan pengulangan
program jalan maju sebanyak 100 kali pose loop dan pengambilan data sebanyak 10 kali.
𝐽𝑎𝑟𝑎𝑘 = 2 𝑥 2 𝑥 25 𝑥 tan (10 ∗2
3) 𝑥 44,5 𝑚𝑚
𝐽𝑎𝑟𝑎𝑘 = 52 𝐶𝑚
𝐸𝑟𝑟𝑜𝑟 (%) =52 − 50
52𝑥 100%
𝐸𝑟𝑟𝑜𝑟 = 3,85%
Tabel 4. 3. Hasil pengujian berjalan maju dengan nilai 10 sebelum di kalibrasi
Percobaan Jarak (Cm) Error (%) Keterangan
1 49 5,77 Bergeser ke kiri 15 Cm
2 48 7,69 Bergeser ke kiri 18 Cm
3 50 3,85 Bergeser ke kiri 15 Cm
4 50 3,85 Bergeser ke kiri 15 Cm
5 48 7,69 Bergeser ke kiri 14 Cm
6 47 9,62 Bergeser ke kiri 14 Cm
7 47 9,62 Bergeser ke kiri 14 Cm
8 46 11,54 Bergeser ke kiri 15 Cm
9 47 9,62 Bergeser ke kiri 16 Cm
10 47 9,62 Bergeser ke kiri 15 Cm
Rata-rata 48 7,89 Bergeser ke kiri 15,1 Cm
Tabel 4. 4. Hasil pengujian berjalan maju dengan nilai 15 sebelum di kalibrasi
Percobaan Jarak (Cm) Error (%) Keterangan
1 73 7,01 Bergeser ke kiri 20 Cm
2 72 8,28 Bergeser ke kiri 18 Cm
3 72 8,28 Bergeser ke kiri 19 Cm
4 73 7,01 Bergeser ke kiri 19 Cm
5 72 8,28 Bergeser ke kiri 20 Cm
6 71 9,55 Bergeser ke kiri 20 Cm
7 72 8,28 Bergeser ke kiri 19 Cm
8 71 9,55 Bergeser ke kiri 18 Cm
9 72 8,28 Bergeser ke kiri 20 Cm
10 72 8,28 Bergeser ke kiri 19 Cm
Rata-rata 72 8,28 Bergeser ke kiri 19,2 Cm
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Tabel 4. 5. Hasil pengujian berjalan maju dengan nilai 20 sebelum di kalibrasi
Percobaan Jarak (Cm) Error (%) Keterangan
1 97 8,06 Bergeser ke kiri 20 Cm
2 95 9,95 Bergeser ke kiri 22 Cm
3 95 9,95 Bergeser ke kiri 22 Cm
4 95 9,95 Bergeser ke kiri 22 Cm
5 96 9 Bergeser ke kiri 21 Cm
6 95 9,95 Bergeser ke kiri 22 Cm
7 96 9 Bergeser ke kiri 22 Cm
8 95 9,95 Bergeser ke kiri 23 Cm
9 94 10,9 Bergeser ke kiri 22 Cm
10 94 10,9 Bergeser ke kiri 21 Cm
Rata-rata 95 9,76 Bergeser ke kiri 21,7 Cm
Tabel 4. 6. Hasil pengujian berjalan maju dengan nilai 25 sebelum di kalibrasi
Percobaan Jarak (Cm) Error (%) Keterangan
1 112 15,92 Bergeser ke kiri 25 Cm
2 115 13,66 Bergeser ke kiri 26 Cm
3 113 15,17 Bergeser ke kiri 24 Cm
4 111 16,67 Bergeser ke kiri 28 Cm
5 113 15,17 Bergeser ke kiri 24 Cm
6 113 15,17 Bergeser ke kiri 25 Cm
7 112 15,92 Bergeser ke kiri 24 Cm
8 111 16,67 Bergeser ke kiri 25 Cm
9 113 15,17 Bergeser ke kiri 24 Cm
10 112 15,92 Bergeser ke kiri 25 Cm
Rata-rata 113 15,54 Bergeser ke kiri 2 Cm
Tabel 4. 7. Hasil pengujian berjalan maju dengan nilai 30 sebelum di kalibrasi
Percobaan Jarak (Cm) Error (%) Keterangan
1 144 11,11 Bergeser ke kiri 25 Cm
2 140 13,58 Bergeser ke kiri 22 Cm
3 138 14,81 Bergeser ke kiri 25 Cm
4 140 13,58 Bergeser ke kiri 23 Cm
5 140 13,58 Bergeser ke kiri 24 Cm
6 142 12,35 Bergeser ke kiri 24 Cm
7 140 13,58 Bergeser ke kiri 24 Cm
8 138 14,81 Bergeser ke kiri 25 Cm
9 140 13,58 Bergeser ke kiri 24 Cm
10 139 14,8 Bergeser ke kiri 25 Cm
Rata-rata 140 13,52 Bergeser ke kiri 24,1 Cm
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Hasil pengujian pada tabel 4.3 hingga tabel 4.7 dapat dilihat bahwa nilai persentase
keberhasilan akan semakin kecil dengan semakin besarnya nilai sudut coxa yang digunakan
untuk menggerakkan badan robot. Posisi badan robot selalu bergeser ke kiri dengan nilai
rata-rata pergeseran akan semakin besar dengan besarnya sudut coxa yang digunakan. Badan
robot selalu bergeser ke kiri disebabkan karena terjadinya slip pada end effector pada saat
robot berjalan. Berdasarkan data hasil pengujian yang ditunjukkan pada tabel 4.3 hingga
tabel 4.7 di atas dapat dijelaskan dengan menggunakan grafik seperti yang ditunjukkan pada
gambar 4.8 di bawah ini.
Gambar 4. 8. Grafik hasil pengujian jalan maju sebelum di kalibrasi
Pada gambar 4.8 merupakan grafik hasil pengujian keseluruhan jalan maju, didapatkan
nilai error rata-rata sebesar 11%. Pergeseran ke kiri ini akan mempengaruhi jalan robot pada
pengujian robot belok ke kiri dan ke kanan. Kalibrasi pada kaki kiri robot perlu dilakukan
dengan melakukan kalibrasi pada variabel teta_1_kiri_y_a dan teta_1_kiri_y_b untuk
mengatur kembali jalannya robot agar dapat lurus. Gambar 4.9 merupakan program
normalisasi bagian kiri robot yang sudah dilakukan kalibrasi.
Gambar 4. 9. Kalibrasi pada program normalisasi kaki kiri robot
7,89 8,28
9,76
15,54
13,52
10,998
0
2
4
6
8
10
12
14
16
18
Error (%)
Hasil pengujian jalan maju
6,67 10 13,33 16,67 20 Rata-rata
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Pengujian jalan maju setelah dilakukan kalibrasi perlu dilakukan kembali untuk
menguji hasil nilai error yang lebih kecil. Pada tabel 4.8 hingga tabel 4.12 merupakan hasil
pengujian jalan maju setelah dilakukan kalibrasi.
Tabel 4. 8. Hasil pengujian berjalan maju dengan nilai 10 setelah di kalibrasi
Percobaan Jarak (Cm) Error (%) Keterangan
1 51 1,92 Bergeser ke kiri 1 Cm
2 49 5,77 Bergeser ke kiri 3 Cm
3 50 3,85 Bergeser ke kiri 3 Cm
4 50 3,85 Bergeser ke kiri 4 Cm
5 49 5,77 Bergeser ke kiri 3 Cm
6 48 7,69 Bergeser ke kiri 4 Cm
7 49 5,77 Bergeser ke kiri 4 Cm
8 50 3,85 Bergeser ke kiri 2 Cm
9 51 1,92 Bergeser ke kiri 1 Cm
10 51 1,92 Bergeser ke kiri 1 Cm
Rata-rata 49,8 4,23 Bergeser ke kiri 2,6 Cm
Tabel 4. 9. Hasil pengujian berjalan maju dengan nilai 15 setelah di kalibrasi
Percobaan Jarak (Cm) Error (%) Keterangan
1 75 4,46 Bergeser ke kiri 2 Cm
2 74 5,73 Bergeser ke kiri 2 Cm
3 75 4,46 Bergeser ke kiri 2 Cm
4 76 3,18 Bergeser ke kiri 2 Cm
5 73 7,01 Bergeser ke kiri 3 Cm
6 74 5,73 Bergeser ke kiri 2 Cm
7 76 3,18 Bergeser ke kiri 2 Cm
8 75 4,46 Bergeser ke kiri 2 Cm
9 74 5,73 Bergeser ke kiri 3 Cm
10 76 3,18 Bergeser ke kiri 2 Cm
Rata-rata 74,8 4,71 Bergeser ke kiri 2,2 Cm
Tabel 4. 10. Hasil pengujian berjalan maju dengan nilai 20 setelah di kalibrasi
Percobaan Jarak (Cm) Error (%) Keterangan
1 101 4,27 Bergeser ke kiri 3 Cm
2 100 5,21 Bergeser ke kiri 4 Cm
3 99 6,16 Bergeser ke kiri 3 Cm
4 97 8,06 Bergeser ke kiri 2 Cm
5 103 2,37 Bergeser ke kiri 2 Cm
6 98 7,11 Bergeser ke kiri 3 Cm
7 99 6,16 Bergeser ke kiri 4 Cm
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Tabel 4.10. (Lanjutan) Hasil pengujian berjalan maju dengan nilai 20 setelah di kalibrasi
Percobaan Jarak (Cm) Error (%) Keterangan
8 100 5,21 Bergeser ke kiri 3 Cm
9 101 4,27 Bergeser ke kiri 4 Cm
10 102 3,32 Bergeser ke kiri 4 Cm
Rata-rata 100 5,21 Bergeser ke kiri 3,2 Cm
Tabel 4. 11. Hasil pengujian berjalan maju dengan nilai 25 setelah di kalibrasi
Percobaan Jarak (Cm) Error (%) Keterangan
1 125 6,16 Bergeser ke kiri 3 Cm
2 123 7,66 Bergeser ke kiri 4 Cm
3 127 4,65 Bergeser ke kiri 5 Cm
4 127 4,65 Bergeser ke kiri 4 Cm
5 126 5,41 Bergeser ke kiri 4 Cm
6 128 3,9 Bergeser ke kiri 5 Cm
7 125 6,16 Bergeser ke kiri 4 Cm
8 126 5,41 Bergeser ke kiri 5 Cm
9 123 7,66 Bergeser ke kiri 4 Cm
10 125 6,16 Bergeser ke kiri 5 Cm
Rata-rata 125,5 5,78 Bergeser ke kiri 4,3 Cm
Tabel 4. 12. Hasil pengujian berjalan maju dengan nilai 30 setelah di kalibrasi
Percobaan Jarak (Cm) Error (%) Keterangan
1 149 8,02 Bergeser ke kiri 6 Cm
2 151 6,79 Bergeser ke kiri 5 Cm
3 152 6,17 Bergeser ke kiri 6 Cm
4 151 6,79 Bergeser ke kiri 7 Cm
5 153 5,56 Bergeser ke kiri 5 Cm
6 154 4,94 Bergeser ke kiri 6 Cm
7 153 5,56 Bergeser ke kiri 4 Cm
8 152 6,17 Bergeser ke kiri 5 Cm
9 153 5,56 Bergeser ke kiri 6 Cm
10 152 6,17 Bergeser ke kiri 4 Cm
Rata-rata 152 6,17 Bergeser ke kiri 5,4 Cm
Hasil pengujian setelah dilakukan kalibrasi ditunjukkan pada tabel 4.8 hingga tabel
4.12 dapat dilihat bahwa nilai persentase keberhasilan lebih baik setelah dilakukan kalibrasi.
Pada gambar 4.10 dapat dilihat bahwa nilai persentase keberhasilan akan semakin kecil
dengan semakin besarnya nilai sudut coxa yang digunakan untuk menggerakkan badan
robot. Posisi badan robot selalu bergeser ke kiri dengan nilai rata-rata pergeseran akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
semakin besar dengan besarnya sudut coxa yang digunakan. Badan robot selalu bergeser ke
kiri disebabkan karena terjadinya slip pada end effector pada saat robot berjalan.
Gambar 4. 10. Grafik hasil pengujian jalan maju setelah di kalibrasi
Hasil pengujian jalan maju robot dilakukan sebanyak 10 kali pengambilan data. Nilai
pada Tabel 4.8 hingga Tabel 4.12 merupakan hasil pengujian dengan kondisi alas robot
menggunakan triplek. Berdasarkan hasil data yang diperoleh sesuai grafik pada Gambar 4.10
di atas dapat diketahui bahwa nilai error terkecil sebesar 4,23% untuk pengujian jalan maju
dengan nilai yang dikirim oleh mikrokontroler master adalah 10. Semakin besar nilai sudut
coxa, maka nilai error akan semakin besar seperti yang ditunjukkan pada grafik dengan
pemberian nilai master yang semakin bertambah besar. Pengujian ini mencapai error 6,17%
dengan pemberian nilai master sebesar 30. Hal ini disebabkan karena jarak titik end effector
yang harus dicapai semakin jauh dan waktu tempuh yang tetap untuk setiap pergerakan nilai
end effector sehingga resiko terjadinya slip end effector akan semakin besar pada saat
bergerak ke titik end effector berikutnya.
4.4.2 Pengujian Jalan Belok
Robot dapat berjalan belok merupakan bagian yang penting untuk dapat menyusuri
lorong dan ruangan. Pengujian ini dilakukan dengan memanggil program untuk belok
4,23
4,71
5,21
5,786,17
5,22
0
1
2
3
4
5
6
7
Error (%)
Hasil pengujian jalan maju
10 15 20 25 30 Rata-rata
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
dengan perulangan sebanyak 100 kali. Pada pengujian ini menggunakan data masukan dari
komputer melalui serial monitor untuk memanggil fungsi. Pada gambar 4.11 dan gambar
4.12 menjelaskan pengujian robot saat jalan belok ke kiri dan ke kanan untuk menentukan
nilai radius dan sudut yang dibentuk. Pada gambar 4.13 dan gambar 4.14 merupakan radius
dan sudut yang dibentuk robot pada saat belok ke kiri dan ke kanan.
Gambar 4. 11. Pengukuran radius dan sudut belok kiri
Gambar 4. 12. Pengukuran radius dan sudut belok kanan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Gambar 4. 13. Hasil radius dan sudut belok kiri
Gambar 4. 14. Hasil radius dan sudut belok kanan
Pada pengujian ini pengulangan program dilakukan sebanyak fase pergerakan tripod
yang sudah sudah ditentukan dalam perubahan perancangan dan pengambilan data dilakukan
sebanyak 10 kali percobaan. Hasil dari pengujian ini diisajikan dalam tabel 4.13 hingga tabel
4.32.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Tabel 4. 13. Belok kiri dengan data masukan nilai kiri 10 dan nilai kanan 15
Percobaan
Hasil pengukuran
Radius
37,09 cm
Sudut
90°
1 64 67
2 64 66
3 62 68
4 58 72
5 63 71
6 58 70
7 58 72
8 56 73
9 53 79
10 57 75
Rata-rata 59,3 71,3
Tabel 4. 14. Belok kanan dengan data masukan nilai kiri 15 dan nilai kanan 10
Percobaan
Hasil pengukuran
Radius
37,09 cm
Sudut
90°
1 92 34
2 65 45
3 89 32
4 82 34
5 73 43
6 83 37
7 67 46
8 88 34
9 86 36
10 83 38
Rata-rata 80,8 37,9
Tabel 4. 15. Belok kiri dengan data masukan nilai kiri 10 dan nilai kanan 20
Percobaan
Hasil pengukuran
Radius
18,37 Cm
Sudut
90°
1 51 52
2 49 56
3 49 54
4 51 53
5 48 54
6 50 55
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Tabel 4.15. (Lanjutan) Belok kiri dengan data masukan nilai kiri 10 dan nilai kanan 20
Percobaan
Hasil pengukuran
Radius
18,37 Cm
Sudut
90°
7 51 52
8 48 58
9 51 55
10 49 56
Rata-rata 49,7 54,5
Tabel 4. 16. Belok kanan dengan data masukan nilai kiri 20 dan nilai kanan 10
Percobaan
Hasil pengukuran
Radius
18,37 Cm
Sudut
90°
1 43 54
2 41 57
3 39 59
4 41 56
5 42 55
6 40 58
7 41 57
8 39 58
9 41 57
10 40 59
Rata-rata 40,7 57
Tabel 4. 17. Belok kiri dengan data masukan nilai kiri 10 dan nilai kanan 25
Percobaan
Hasil pengukuran
Radius
12,1 cm
Sudut
90°
1 20 68
2 21 67
3 20 68
4 19 67
5 18 68
6 22 70
7 22 68
8 20 69
9 21 67
10 20 70
Rata-rata 20,3 68,2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Tabel 4. 18. Belok kanan dengan data masukan nilai kiri 25 dan nilai kanan 10
Percobaan
Hasil pengukuran
Radius
12,1 cm
Sudut
90°
1 17 56
2 19 57
3 17 58
4 19 54
5 18 55
6 17 53
7 19 58
8 18 57
9 18 52
10 19 45
Rata-rata 18,1 54,5
Tabel 4. 19. Belok kiri dengan data masukan nilai kiri 10 dan nilai kanan 30
Percobaan
Hasil pengukuran
Radius
9 Cm
Sudut
90°
1 21 55
2 19 58
3 22 53
4 22 54
5 20 55
6 23 52
7 22 55
8 23 49
9 22 50
10 22 54
Rata-rata 21,6 53,5
Tabel 4. 20. Belok kanan dengan data masukan nilai kiri 30 dan nilai kanan 10
Percobaan
Hasil pengukuran
Radius
9 Cm
Sudut
90°
1 15 48
2 17 46
3 16 44
4 15 46
5 16 47
6 15 46
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
Tabel 4.20. (Lanjutan) Belok kanan dengan data masukan nilai kiri 30 dan nilai kanan 10
Tabel 4. 21. Belok kiri dengan data masukan nilai kiri 15 dan nilai kanan 20
Percobaan
Hasil pengukuran
Radius
54,95 cm
Sudut
90°
1 73 75
2 75 72
3 74 73
4 75 71
5 74 71
6 78 65
7 77 69
8 74 74
9 77 66
10 72 74
Rata-rata 74,9 71
Tabel 4. 22. Belok kanan dengan data masukan nilai kiri 20 dan nilai kanan 15
Percobaan
Hasil pengukuran
Radius
54,95 cm
Sudut
90°
1 90 51
2 87 57
3 91 55
4 84 56
5 85 52
6 90 48
7 82 54
8 87 50
9 91 51
10 83 54
Rata-rata 87 52,8
Percobaan
Hasil pengukuran
Radius
9 Cm
Sudut
90°
7 16 45
8 17 46
9 15 48
10 16 45
Rata-rata 15,8 46,1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Tabel 4. 23. Belok kiri dengan data masukan nilai kiri 15 dan nilai kanan 25
Percobaan
Hasil pengukuran
Radius
27,12 cm
Sudut
90°
1 54 55
2 38 70
3 48 60
4 46 52
5 41 66
6 42 63
7 44 60
8 49 61
9 41 67
10 40 68
Rata-rata 44,3 62,2
Tabel 4. 24. Belok kanan dengan data masukan nilai kiri 25 dan nilai kanan 15
Percobaan
Hasil pengukuran
Radius
27,12 cm
Sudut
90°
1 47 46
2 43 49
3 44 47
4 46 44
5 44 47
6 45 46
7 44 47
8 45 45
9 44 48
10 45 46
Rata-rata 44,7 46,5
Tabel 4. 25. Belok kiri dengan data masukan nilai kiri 15 dan nilai kanan 30
Percobaan
Hasil pengukuran
Radius
17,77 cm
Sudut
90°
1 29 67
2 28 69
3 27 69
4 29 66
5 30 66
6 28 69
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Tabel 4.25. (Lanjutan) Belok kiri dengan data masukan nilai kiri 15 dan nilai kanan 30
Percobaan
Hasil pengukuran
Radius
17,77 cm
Sudut
90°
7 29 68
8 28 67
9 28 70
10 29 68
Rata-rata 28,5 67,9
Tabel 4. 26. Belok kanan dengan data masukan nilai kiri 30 dan nilai kanan 15
Percobaan
Hasil pengukuran
Radius
17,77 cm
Sudut
90°
1 38 44
2 33 39
3 27 43
4 31 38
5 34 35
6 36 37
7 32 36
8 35 38
9 29 41
10 31 36
Rata-rata 32,6 38,7
Tabel 4. 27. Belok kiri dengan data masukan nilai kiri 20 dan nilai kanan 25
Percobaan
Hasil pengukuran
Radius
71,98 cm
Sudut
90°
1 78 86
2 78 87
3 80 86
4 81 85
5 78 88
6 80 86
7 79 89
8 80 87
9 76 88
10 80 86
Rata-rata 79 86,8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
Tabel 4. 28. Belok kanan dengan data masukan nilai kiri 25 dan nilai kanan 20
Percobaan
Hasil pengukuran
Radius
71,98 cm
Sudut
90°
1 89 57
2 87 58
3 88 56
4 81 63
5 86 56
6 88 54
7 78 58
8 92 50
9 90 52
10 87 60
Rata-rata 86,6 56,4
Tabel 4. 29. Belok kiri dengan data masukan nilai kiri 20 dan nilai kanan 30
Percobaan
Hasil pengukuran
Radius
35,3 Cm
Sudut
90°
1 57 66
2 62 62
3 59 63
4 57 65
5 59 65
6 62 60
7 63 59
8 65 58
9 58 64
10 63 58
Rata-rata 60,5 62
Tabel 4. 30. Belok kanan dengan data masukan nilai kiri 30 dan nilai kanan 20
Percobaan
Hasil pengukuran
Radius
35,3 Cm
Sudut
90°
1 42 62
2 44 58
3 41 61
4 43 59
5 42 59
6 44 58
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
Tabel 4.30. (Lanjutan) Belok kanan dengan data masukan nilai kiri 30 dan nilai kanan 20
Percobaan
Hasil pengukuran
Radius
35,3 Cm
Sudut
90°
7 42 58
8 40 61
9 40 59
10 41 59
Rata-rata 41,9 59,4
Tabel 4. 31. Belok kiri dengan data masukan nilai kiri 25 dan nilai kanan 30
Percobaan
Hasil pengukuran
Radius
87,41 cm
Sudut
90°
1 95 87
2 94 89
3 96 90
4 93 91
5 95 88
6 97 87
7 98 83
8 94 83
9 96 86
10 98 89
Rata-rata 95,6 87,3
Tabel 4. 32. Belok kanan dengan data masukan nilai kiri 25 dan nilai kanan 30
Percobaan
Hasil pengukuran
Radius
87,41 cm
Sudut
90°
1 81 69
2 93 63
3 87 63
4 91 56
5 86 64
6 88 61
7 87 62
8 90 65
9 84 67
10 82 68
Rata-rata 86,9 63,8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
Gambar 4. 15. Grafik hasil pengujian radius
Berdasarkan hasil pengamatan pada Gambar 4.15 diketahui bahwa perbandingan
antara radius kiri dengan kanan yang ditempuh oleh robot saat berbelok memiliki rata-rata
perbandingan 53,37 pada saat belok ke kiri dan 53,51 pada saat belok kanan. Pada grafik
juga dapat dilihat bahwa nilai semakin besar nilai perhitungan radius yang digunakan maka
nilai radius hasil pengukuran akan semakin mendekati dengan nilai perhitungan, seperti yang
ditunjukkan pada nilai perhitungan radius sebesar 87,41 Cm. Hasil pengukuran pada saat
belok kiri mendapatkan 95,6 Cm dan belok kanan mendapatkan 87 Cm.
Gambar 4. 16. Grafik hasil pengujian sudut
21,6 20,328,5
49,744,3
60,5 59,3
74,979
95,6
53,37
15,8 18,1
32,640,7
44,7 41,9
80,887 86,6 86,9
53,51
0
20
40
60
80
100
120
9 12,1 17,77 18,37 27,12 35,3 37,09 54,95 71,98 87,41 Rerata
Rad
ius
pen
guku
ran
(C
m)
Radius (Cm)
Kiri Kanan
53,5
68,2 67,9
54,562,2 62
71,3 71
86,8 87,3
68,47
46,1
54,5
38,7
57
46,5
59,4
37,9
52,856,4
63,8
51,31
0
10
20
30
40
50
60
70
80
90
100
9 12,1 17,77 18,37 27,12 35,3 37,09 54,95 71,98 87,41 Rerata
Sud
ut
(°)
Sudut (°)
Kiri Kanan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
Berdasarkan grafik yang ditunjukkan pada gambar 4.16 memperlihatkan hubungan
antara sudut yang dibentuk ketika robot berbelok ke kiri dan ke kanan. Dari grafik dapat
dilihat bahwa nilai sudut yang dicapai pada saat belok ke kiri cenderung lebih mendekati
dengan nilai perhitungan teori yang sudah ditentukan yakni sebesar 90°. Pada gambar 4.16
diatas penyajian grafik sudut diurutkan dari hasil perhitungan radius terkecil ke hasil
perhitungan radius terbesar. Nilai sudut yang dihasilkan pada saat pengambilan data
ditunjukkan pada gambar 4.16 mempunyai nilai besar sudut yang fluktuatif terhadap nilai
perhitungan radius. Namun pada perhitungan radius 72 Cm dan 87Cm menghasilkan nilai
pengukuran sudut pada saat belok ke kiri sebesar 87° yang mendekati dengan perhitungan.
4.4.3 Pengujian Gerakan Khusus
Gerakan khusus dilakukan dengan memberikan nilai coxa kiri -6,67° dan coxa kanan
13,33°, sehingga tobot akan bergerak seperti yang ditunjukkan pada gambar 4.17. Pengujian
radius dan sudut dilakukan dengan menggunakan alat ukur panjang dan sudut untuk
mengetahui nilai perbandingan antara perhitungan dengan aktualisasi pergerakan robot.
Pada pengujian ini dilakukan sebanyak 10 kali pengambilan data radius dan sudut. Data hasil
dari pengujian ditampilkan dalam tabel 4.33 berikut ini.
Gambar 4. 17. Lintasan yang dibuat robot saat berbelok
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
Tabel 4. 33. Hasil pengujian gerakan khusus
Percobaan
Hasil pengukuran
Radius
9,72Cm
Sudut
306,23°
1 16,55 283
2 17 280
3 17,46 280
4 18,79 275
5 17,49 275
6 16,16 278
7 15,65 280
8 17 283
9 17,46 283
10 16,55 280
Rata-rata 17,01 279,7
Dari hasil pengambilan data yang sudah dilakukan untuk nilai rata-rata radius yang
didapatkan adalah sebesar 17,01Cm atau mengalami kesalahan error sebesar -75,01% dari
perhitungan teori. Dari pengambilan nilai sudut didapat nilai rata-rata sudut yang didapatkan
sebesar 279,7° atau mengalami error sebesar 8,67% dari perhitungan teori.
4.5 Hasil Perancangan Perangkat Lunak
Perancangan pergerakan robot hexapod pemadam api berkaki menggunkan Arduino
Mega sebagai pusat pemprosesan data yang diterima. Bahasa pemprograman yang
digunakan adalah C++ yang diprogram dengan menggunakan software ArduinoIDE.
Pemprograman pada sistem ini terbagi menjadi 3 bagian. Penjelasan lebih lanjut dijelaskan
dalam paragraf berikut.
Proses komunikasi dimulai dengan menerima data dari mikrokontroler master agar
memperoleh dua parameter nilai untuk mengatur nilai servo pada sumbu coxa kanan dan kiri
robot. Program membaca data yang dikirim oleh mikrokontroler master dan menyimpan ke
dalam variabel inChar seperti yang ditunjukkan pada gambar 4.18.
Gambar 4. 18. Program komunikasi I2C
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
Pada program yang ditunjukkan pada gambar 4.19 berfungsi memisahkan data dalam
matrik dataIn yang mempunyai format *xx1,xx2# dengan xx1 dan xx2 merupakan nilai yang
digunakan untuk mengatur nilai sudut coxa kiri dan kanan. Proses pemisahan data akan
dimulai jika data yang dikirim adalah #. Tanda “,“ dan “#” digunakan untuk memisahkan
nilai kanan dan kiri yang ditampung dalam matrik dt. Selesai melakukan proses memisahkan
data, matrik dataIn akan dikosongkan kembali untuk menampung data baru.
Gambar 4. 19. Program parsing data
Gambar 4. 20. Program perhitungan Inverse Kinematics dan normalisasi
Program yang ditunjukkan pada gambar 4.20 ini merupakan program yang berfungsi
untuk melakukan proses perhitungan inverse kinematics. Perhitungan sudut coxa langsung
masuk ke perhitungan normalisasi. Perhitungan normalisasi berfungsi untuk menyesuaikan
hasil perhitungan dengan rentang nilai yang digunakan oleh servo untuk menentukan sudut
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
pada servo. Nilai sudut femur dan tibia menggunakan nilai yang sudah ditentukan di
program, nilai ini didapatkan melalui pengukuran perangkat keras pada lengan robot.
Gambar 4. 21. Program utama pergerakan robot
Program yang ditunjukkan oleh gambar 4.21 merupakan program utama yang
berfungsi untuk melakukan sortir nilai yang diterima pada komunikasi I2C untuk
menentukan gerakan sesuai data yang diterima. Pada program ini juga terdapat program
counter untuk mengatur fase pergerakan tripod dan mengecek data komunikasi yang
diterima.
Gambar 4. 22. Program untuk management pergerakan servo
Program Dynamixel.movespeed yang ditunjukkan pada gambar 4.22 merupakan
program yang berfungsi sebagai perintah untuk mengatur servo sebagai joint mode. Pada
program ini nomer 1 dan 2 adalah ID servo dynamixel yang akan kita beri nilai joint baru.
Setelah tanda koma, Teta_3_kiri dan teta_3_kiri hasil dari perhitungan yang berfungsi untuk
memberikan nilai joint servo sebesar 10bit. Variabel speed berfungsi untuk mengatur
kecepatan motor servo sebesar 10bit saat melakukan perpindahan dari nilai joint lama ke
nilai joint baru.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
BAB V
KESIMPULAN DAN SARAN
5.1 KESIMPULAN
Penelitian ini menghasilkan sistem pergerakan robot hexapod dengan menggunakan
metode inverse kinematics untuk sistem pergerakan tripod yang digunakan oleh robot.
Berdasarkan penelitian yang telah dilakukan dari hasil proses perancangan, pembuatan
sampai dengan pengujian alat serta pembahasan yang sudah dilakukan. Pengujian pada
sistem secara keseluruhan menunjukkan sistem dapat bekerja sebagai berikut:
1. Pengujian jarak yang ditempuh oleh robot saat berjalan maju dengan perhitungan
teori memiliki persentase error rata-rata sebesar 5,22%.
2. Perbandingan radius kiri dan kanan saat belok memiliki rata-rata 53,37 Cm pada
saat belok ke kiri dan 53,51 cm pada saat belok kanan.
3. Nilai sudut yang dicapai pada saat belok ke kiri mencapai 87° lebih mendekati
dengan nilai perhitungan teori pada radius 72 cm dan 87 cm.
4. Komunikasi I2C bekerja dengan baik, dimana data terbaru dapat diterima dan
diproses pada program inverse kinematics.
5.2 SARAN
Untuk hasil yang lebih baik untuk penelitian selanjutnya, beberapa saran untuk
memperbaiki dan mengembangkan robot hexapod sebagai berikut:
1. Diperlukan pengembangan dalam perhitungan body kinematics robot sehingga
dapat menentukan gerakan robot.
2. Perancangan robot perlu memperhatikan keseimbangan.
3. Penggunaan bahan untuk end effector perlu diperhatikan untuk meminimalisir error
pada saat robot bergerak.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
DAFTAR PUSTAKA
[1] Robi Darwis, Indrawan Arifianto, Anwar Mujadin, Suci Rahmatia, 2019,
Perancangan Robot Pemadam Api Hexapod, Universitas Al Azhar Indonesia, vol. 5,
no. 1, hal. 1-2.
[2] M. Dwiyanto, ST.,MT, Marel Bakarbesy,S.Tr, 2018, Rancang Bangun Robot Beroda
Pemadam Api Menggunakan Arduino Uno Rev.1.3, Politeknik Katolik Saint Paul
Sorong, hal. 1-2.
[3] Surya Setiawan, Firdaus, Budi Rahmadya, Derisma., 2015, Penerapan Invers
Kinematika untuk Pergerakan Kaki Robot Biped, Politeknik Negeri Padang, hal. 1-8.
[4] Johan Wijaya Kusuma, Shinta P, Dedy H., Penerapan Invers Kinematik Terhadap
Pergerakan Kaki pada Robot Hexapod, STMIK GI MDP, hal. 1-9.
[5] Rudy, Lukas, 2017, Pergerakan Jalan Stabil Robot Hexapod di Atas Medan yang tidak
rata, TESLA, vol. 19, no. 2, hal. 1-9.
[6] Lintang Setiawan, Darmawan Utomo, M.Eng., 2011, Inverse Kinematic dengan Real
Time Operating System pada robot Quadruped, Universitas Kristen Duta Wacana, hal.
2-14.
[7] Danang Yufan Habibie., Penerapan Inverse Kinematic pada Pengendalian Gerak
Robot, Institut Teknologi Sepuluh Nopember, hal. 1-6.
[8] Rahmad Prasetyo., 2019, Pengembangan Sistem penyelaras Gerak Robot dengan
Komunikasi Bluetooth HC-05 Sebagai Media Pembelajaran Mata Kuliah Robotika,
Tugas Akhir, Pendidikan Teknik Elektro, Fakultas Teknik, Universitas Negeri
Yogyakarta.
[9] Wulandari., 2013, Implementasi Inverse Kinematics untuk koordinasi gerak robot
berkaki enam, Tugas Akhir, Departemen Ilmu Komputer, Fakultas Matematika dan
Ilmu Pengetahuan Alam, Institut Pertanian Bogor.
[10] Adithya Pratama, Alfred Junus Verdio Manalu, Dwi Sagesti Saputri, Rudy Susanto,
2013, Perencanaan Gerak Robot Hexapod, Universitas Bina Nusantara, hal. 2-10.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
[11] Anonim., 2016, https://toglefritz.com/hexapod-inverse-kinematics-equations/,
diakses pada tanggal 15 Februari 2020.
[12] Robotis e-Manual, OpenCM9.04., 2020,
http://emanual.robotis.com/docs/en/parts/controller/opencm904/ , diakses pada
tanggal 15 Februari 2020.
[13] Robotis e-Manual, AX12A., 2020, http://emanual.robotis.com/docs/en/dxl/ax/ax-
12a/, diakses pada tanggal 15 Februari 2020.
[14] Robotis e-Manual, AX18A., 2020,http://emanual.robotis.com/docs/en/dxl/ax/ax18a/,
diakses pada tanggal 15 Februari 2020.
[15] Robotshop, Bioloid 3 pin cable set (25)., 2020,
https://www.robotshop.com/en/robotis-bioloid-3pin-cable-set.html, diakses pada
tanggal 5 Maret 2020.
[16] Generation robots, Robotis FP04-F7., 2020,
https://www.generationrobots.com/en/403058-robotis-fp04-f7-structuralcomponents-
x6.html , diakses pada tanggal 5 Maret 2020.
[17] Generation robots, Robotis FP04-F6., 2020,
https://www.generationrobots.com/en/403057-robotis-fp04-f6-structural-
components-x12.html, diakses pada tanggal 5 Maret 2020.
[18] Robotis, Robotis FP04-F3., 2020, http://www.robotis.us/fp04-f3-10pcs/ , diakses
pada tanggal 15 Mei 2020.
[19] Mathcentre, 2000, The sine rule and cosine rule, Pearson Education Ltd.
[20] Wahyu Tri Wibowo., 2017, Implementasi Inverse Kinematics pada Pergerakan
Robot Quadruped, Tugas Akhir, Departemen Teknik Elektro, Fakultas Teknik
Elektro, Institut Teknologi Sepuluh Nopember, Surabaya.
[21] Indra Agustian Kurniawan, Feriyonika, Sabar Pramono., Inverse dan Body
Kinematics pada Robot Hexapod, Politeknik Negeri Bandung.
[22] -----, 2015, Data Sheet bi directional logic level converter, sparkfun.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
[23] Flamboyanstores. O-Ring Rubber Cord 10mm,
https://www.tokopedia.com/flamboyanstores/o-ring-rubber-cord-10mm , diakses
pada tanggal 15 Mei 2020.
[24] Andi Chairunnas., 2018, Penerapan Algoritma Tripod Gait pada Robot Hexapod
menggunakan Arduino Mega128, Fakultas Matematika dan Ilmu Pengetahuan Alam,
Jurusan Ilmu Komputer Universitas Pakuan Bogor, hal. 3-11.
[25] Muhammad Fajar Ramadhan., 2017, Perancangan Kontrol Stabilitas Hexapod Robot
Menggunakan Metode Neuro-Fuzzy, Fakultas Teknik Elektro, Institut Teknologi
Sepuluh Nopember Surabaya, hal 9-10.
[26] ROBOTIS,
http://emanual.robotis.com/docs/en/software/opencm_ide/getting_started/, diakses
pada tanggal 15 Mei 2020.
[27] Jonathan Valdez dkk, 2015, Understanding the I2C Bus, Texas Instrument, hal 4.
[28] Kristian Adi Perbowo, 2015, Lengan robot bermain keyboard menggunakan lima jari
dalam satu oktaf nada mayor dengam kendali keypad, Universitas Sanata Dharma, hal.
27-31.
[29] arduino.cc, https://www.arduino.cc/en/Main/arduinoBoardMega2560/ diakses
pada tanggal 27 Juni 2020.
[30] -----, 2020, Datasheet octal buffer and line drivers with 3 state outputs, Texas
Instruments.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-1
LAMPIRAN
1. Spesifikasi dan dimensi hardware robot hexapod
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-3
2. Komunikasi servo dynamixel
3. Desain robot hexapod
Tampak depan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-4
Tampak samping kanan
Tampak samping kiri
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-5
Tampak belakang
Tampak atas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-6
Tampak bawah
Bagian – bagian robot:
1. Aktuator.
Menggunakan servo dynamixel AX12A dan AX18A.
2. Kerangka.
Akrilik dengan tebal 1mm, 2mm dan 3mm.
3. Lengan.
Menggunakan Akrilik 3mm dan stainless steel 1mm.
4. Kaki.
Menggunakan stainless steel, baut berukuran m2, m3 dan karet
5. Structural part
Menggunakan part dari robotis dan 3D print.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-7
4. Skema rangkaian
5. Listing program
#include <Wire.h>
#include <DynamixelSerial.h>
String dataIn;
String dt[2];
char inChar;
byte i;
boolean parsing=false;
long Serial_2 = 1000000;
int speed = 150;//max 1023
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-8
int tunda = 1000;//tunggu untuk siklus selanjutnya
byte step = 0;
int teta_1_kiri_y_a, teta_1_kanan_y_a, teta_1_kiri_khusus_a, teta_1_kanan_khusus_a,
teta_1_kiri_y_b, teta_1_kanan_y_b, teta_1_kiri_khusus_b, teta_1_kanan_khusus_b,
teta_2_kiri, teta_2_kanan, teta_3_kiri, teta_3_kanan, teta_2_kiri_mirror,
teta_2_kanan_mirror, teta_3_kiri_mirror, teta_3_kanan_mirror;
float sudut_1, sudut_2, sudut_3, alpha_1, alpha_2, panjang, sudut_2_mirror,
sudut_3_mirror, alpha_1_mirror, alpha_2_mirror, panjang_mirror;
const float tibia = 64.00;//mm
const float femur = 40.00;//mm
const float rad2deg = 57.3; //1 rad = 180 derajat/phi = 57.2958
const float y = 12.00;//10-18 mm
const float x = 44.50;//mm
const float z_offset = 49.0;//mm
const float z_naik = 5.00;//mm kaki angkat dan turun
void setup()
{
dataIn="";
Wire.begin(8);
Wire.onReceive(hitung);
Dynamixel.setSerial(&Serial3);
Dynamixel.begin(1000000,2);
siap();
delay(1500);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-9
Serial.begin(115200);
}
void hitung()
{
while (0 < Wire.available())
{
inChar = Wire.read();
dataIn += inChar;
if (inChar == '#')
{
parsing = true;
}
}
if(parsing)
{
byte j = 0;
dt[j]="";//inisialisasi variabel, (reset isi variabel)
for(i=1;i<dataIn.length();i++)//proses parsing data
{
if ((dataIn[i] == '#') || (dataIn[i] == ',')) //pengecekan tiap karakter dengan karakter (#)
dan (,)
{
j++; //increment variabel j, digunakan untuk merubah index array penampung
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-10
dt[j]=""; //inisialisasi variabel array dt[j]
}
else
{
dt[j] = dt[j] + dataIn[i]; //proses tampung data saat pengecekan karakter selesai.
}
}
// tampak atas
// sudut 1
// dengan y masukan
teta_1_kiri_y_a = ((dt[0].toInt()*2/3)*512.00/150.00)+521;
teta_1_kiri_y_b = ((dt[0].toInt()*2/3)*-512.00/150.00)+503;
teta_1_kanan_y_a = ((dt[1].toInt()*2/3)*512.00/150.00)+512;
teta_1_kanan_y_b = ((dt[1].toInt()*2/3)*-512.00/150.00)+512;
// dengan y khusus
teta_1_kiri_khusus_a = ((-10*2/3)*512.00/150.00)+512;
teta_1_kiri_khusus_b = ((-10*2/3)*-512.00/150.00)+512;
teta_1_kanan_khusus_a = ((20*2/3)*512.00/150.00)+512;
teta_1_kanan_khusus_b = ((20*2/3)*-512.00/150.00)+512;
// tampak samping
// sudut 2
panjang = sqrt(pow((z_offset-z_naik),2)+pow(x,2));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-11
alpha_1 = (acos((z_offset-z_naik)/panjang)*rad2deg);
alpha_2 = acos(((pow(tibia,2)-pow(femur,2)-pow(panjang,2))/(-
2*femur*panjang)))*rad2deg;
sudut_2 = alpha_1 + alpha_2;
teta_2_kiri = ((180-(sudut_2+45))*-512.00/150.00)+512;
teta_2_kanan = ((180-(sudut_2+45))*512.00/150.00)+512;
// tampak samping
// sudut 3
sudut_3 = acos((pow(panjang,2)-pow(tibia,2)-pow(femur,2))/(-
2*tibia*femur))*rad2deg;
teta_3_kiri = ((sudut_3-45)*-512.00/150.00)+512;
teta_3_kanan = ((sudut_3-45)*512.00/150.00)+512;
///////////////////////////////////////////////////////
kebalikan//////////////////////////////////////////////////////////////
// tampak samping
// sudut 2
panjang_mirror = sqrt(pow((z_offset+z_naik),2)+pow(x,2));
alpha_1_mirror = (acos((z_offset+z_naik)/panjang_mirror)*rad2deg);
alpha_2_mirror = acos(((pow(tibia,2)-pow(femur,2)-pow(panjang_mirror,2))/(-
2*femur*panjang_mirror)))*rad2deg;
sudut_2_mirror = alpha_1_mirror + alpha_2_mirror;
teta_2_kiri_mirror = ((180-(sudut_2_mirror+45))*-512.00/150.00)+512;
teta_2_kanan_mirror = ((180-(sudut_2_mirror+45))*512.00/150.00)+512;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-12
// tampak samping
// sudut 3
sudut_3_mirror = acos((pow(panjang_mirror,2)-pow(tibia,2)-pow(femur,2))/(-
2*tibia*femur))*rad2deg;
teta_3_kiri_mirror = ((sudut_3_mirror-45)*-512.00/150.00)+512;
teta_3_kanan_mirror = ((sudut_3_mirror-45)*512.00/150.00)+512;
parsing=false;
dataIn="";
}
}
void siap()
{
Dynamixel.moveSpeed(1,512,100);
Dynamixel.moveSpeed(2,512,100);
Dynamixel.moveSpeed(3,512,100);
Dynamixel.moveSpeed(4,512,100);
Dynamixel.moveSpeed(5,512,100);
Dynamixel.moveSpeed(6,512,100);
Dynamixel.moveSpeed(7,512,100);
Dynamixel.moveSpeed(8,512,100);
Dynamixel.moveSpeed(9,512,100);
Dynamixel.moveSpeed(10,512,100);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-13
Dynamixel.moveSpeed(11,512,100);
Dynamixel.moveSpeed(12,512,100);
Dynamixel.moveSpeed(13,512,100);
Dynamixel.moveSpeed(14,512,100);
Dynamixel.moveSpeed(15,512,100);
Dynamixel.moveSpeed(16,512,100);
Dynamixel.moveSpeed(17,512,100);
Dynamixel.moveSpeed(18,512,100);
}
void maju()
{
switch (step)
{
case 0:
Dynamixel.moveSpeed(1,teta_3_kiri,speed);
Dynamixel.moveSpeed(2,teta_2_kiri,speed);
Dynamixel.moveSpeed(3,teta_1_kiri_y_a,speed);
Dynamixel.moveSpeed(4,teta_1_kanan_y_a,speed);
Dynamixel.moveSpeed(5,teta_2_kanan_mirror,speed);
Dynamixel.moveSpeed(6,teta_3_kanan_mirror,speed);
Dynamixel.moveSpeed(7,teta_3_kiri_mirror,speed);
Dynamixel.moveSpeed(8,teta_2_kiri_mirror,speed);
Dynamixel.moveSpeed(9,teta_1_kiri_y_b,speed);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-14
Dynamixel.moveSpeed(10,teta_1_kanan_y_b,speed);
Dynamixel.moveSpeed(11,teta_2_kanan,speed);
Dynamixel.moveSpeed(12,teta_3_kanan,speed);
Dynamixel.moveSpeed(13,teta_3_kiri,speed);
Dynamixel.moveSpeed(14,teta_2_kiri,speed);
Dynamixel.moveSpeed(15,teta_1_kiri_y_a,speed);
Dynamixel.moveSpeed(16,teta_1_kanan_y_a,speed);
Dynamixel.moveSpeed(17,teta_2_kanan_mirror,speed);
Dynamixel.moveSpeed(18,teta_3_kanan_mirror,speed);
break;
case 1:
Dynamixel.moveSpeed(1,teta_3_kiri_mirror,speed);
Dynamixel.moveSpeed(2,teta_2_kiri_mirror,speed);
Dynamixel.moveSpeed(3,teta_1_kiri_y_a,speed);
Dynamixel.moveSpeed(4,teta_1_kanan_y_a,speed);
Dynamixel.moveSpeed(5,teta_2_kanan,speed);
Dynamixel.moveSpeed(6,teta_3_kanan,speed);
Dynamixel.moveSpeed(7,teta_3_kiri,speed);
Dynamixel.moveSpeed(8,teta_2_kiri,speed);
Dynamixel.moveSpeed(9,teta_1_kiri_y_b,speed);
Dynamixel.moveSpeed(10,teta_1_kanan_y_b,speed);
Dynamixel.moveSpeed(11,teta_2_kanan_mirror,speed);
Dynamixel.moveSpeed(12,teta_3_kanan_mirror,speed);
Dynamixel.moveSpeed(13,teta_3_kiri_mirror,speed);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-15
Dynamixel.moveSpeed(14,teta_2_kiri_mirror,speed);
Dynamixel.moveSpeed(15,teta_1_kiri_y_a,speed);
Dynamixel.moveSpeed(16,teta_1_kanan_y_a,speed);
Dynamixel.moveSpeed(17,teta_2_kanan,speed);
Dynamixel.moveSpeed(18,teta_3_kanan,speed);
break;
case 2:
Dynamixel.moveSpeed(1,teta_3_kiri_mirror,speed);
Dynamixel.moveSpeed(2,teta_2_kiri_mirror,speed);
Dynamixel.moveSpeed(3,teta_1_kiri_y_b,speed);
Dynamixel.moveSpeed(4,teta_1_kanan_y_b,speed);
Dynamixel.moveSpeed(5,teta_2_kanan,speed);
Dynamixel.moveSpeed(6,teta_3_kanan,speed);
Dynamixel.moveSpeed(7,teta_3_kiri,speed);
Dynamixel.moveSpeed(8,teta_2_kiri,speed);
Dynamixel.moveSpeed(9,teta_1_kiri_y_a,speed);
Dynamixel.moveSpeed(10,teta_1_kanan_y_a,speed);
Dynamixel.moveSpeed(11,teta_2_kanan_mirror,speed);
Dynamixel.moveSpeed(12,teta_3_kanan_mirror,speed);
Dynamixel.moveSpeed(13,teta_3_kiri_mirror,speed);
Dynamixel.moveSpeed(14,teta_2_kiri_mirror,speed);
Dynamixel.moveSpeed(15,teta_1_kiri_y_b,speed);
Dynamixel.moveSpeed(16,teta_1_kanan_y_b,speed);
Dynamixel.moveSpeed(17,teta_2_kanan,speed);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-16
Dynamixel.moveSpeed(18,teta_3_kanan,speed);
break;
case 3:
Dynamixel.moveSpeed(1,teta_3_kiri,speed);
Dynamixel.moveSpeed(2,teta_2_kiri,speed);
Dynamixel.moveSpeed(3,teta_1_kiri_y_b,speed);
Dynamixel.moveSpeed(4,teta_1_kanan_y_b,speed);
Dynamixel.moveSpeed(5,teta_2_kanan_mirror,speed);
Dynamixel.moveSpeed(6,teta_3_kanan_mirror,speed);
Dynamixel.moveSpeed(7,teta_3_kiri_mirror,speed);
Dynamixel.moveSpeed(8,teta_2_kiri_mirror,speed);
Dynamixel.moveSpeed(9,teta_1_kiri_y_a,speed);
Dynamixel.moveSpeed(10,teta_1_kanan_y_a,speed);
Dynamixel.moveSpeed(11,teta_2_kanan,speed);
Dynamixel.moveSpeed(12,teta_3_kanan,speed);
Dynamixel.moveSpeed(13,teta_3_kiri,speed);
Dynamixel.moveSpeed(14,teta_2_kiri,speed);
Dynamixel.moveSpeed(15,teta_1_kiri_y_b,speed);
Dynamixel.moveSpeed(16,teta_1_kanan_y_b,speed);
Dynamixel.moveSpeed(17,teta_2_kanan_mirror,speed);
Dynamixel.moveSpeed(18,teta_3_kanan_mirror,speed);
break;
}
Serial.println("maju dengan nilai atas");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-17
}
void gerak()
{
switch (step)
{
case 0:
Dynamixel.moveSpeed(1,teta_3_kiri,speed);
Dynamixel.moveSpeed(2,teta_2_kiri,speed);
Dynamixel.moveSpeed(3,teta_1_kiri_khusus_a,speed);
Dynamixel.moveSpeed(4,teta_1_kanan_khusus_a,speed);
Dynamixel.moveSpeed(5,teta_2_kanan_mirror,speed);
Dynamixel.moveSpeed(6,teta_3_kanan_mirror,speed);
Dynamixel.moveSpeed(7,teta_3_kiri_mirror,speed);
Dynamixel.moveSpeed(8,teta_2_kiri_mirror,speed);
Dynamixel.moveSpeed(9,teta_1_kiri_khusus_b,speed);
Dynamixel.moveSpeed(10,teta_1_kanan_khusus_b,speed);
Dynamixel.moveSpeed(11,teta_2_kanan,speed);
Dynamixel.moveSpeed(12,teta_3_kanan,speed);
Dynamixel.moveSpeed(13,teta_3_kiri,speed);
Dynamixel.moveSpeed(14,teta_2_kiri,speed);
Dynamixel.moveSpeed(15,teta_1_kiri_khusus_a,speed);
Dynamixel.moveSpeed(16,teta_1_kanan_khusus_a,speed);
Dynamixel.moveSpeed(17,teta_2_kanan_mirror,speed);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-18
Dynamixel.moveSpeed(18,teta_3_kanan_mirror,speed);
break;
case 1:
Dynamixel.moveSpeed(1,teta_3_kiri_mirror,speed);
Dynamixel.moveSpeed(2,teta_2_kiri_mirror,speed);
Dynamixel.moveSpeed(3,teta_1_kiri_khusus_a,speed);
Dynamixel.moveSpeed(4,teta_1_kanan_khusus_a,speed);
Dynamixel.moveSpeed(5,teta_2_kanan,speed);
Dynamixel.moveSpeed(6,teta_3_kanan,speed);
Dynamixel.moveSpeed(7,teta_3_kiri,speed);
Dynamixel.moveSpeed(8,teta_2_kiri,speed);
Dynamixel.moveSpeed(9,teta_1_kiri_khusus_b,speed);
Dynamixel.moveSpeed(10,teta_1_kanan_khusus_b,speed);
Dynamixel.moveSpeed(11,teta_2_kanan_mirror,speed);
Dynamixel.moveSpeed(12,teta_3_kanan_mirror,speed);
Dynamixel.moveSpeed(13,teta_3_kiri_mirror,speed);
Dynamixel.moveSpeed(14,teta_2_kiri_mirror,speed);
Dynamixel.moveSpeed(15,teta_1_kiri_khusus_a,speed);
Dynamixel.moveSpeed(16,teta_1_kanan_khusus_a,speed);
Dynamixel.moveSpeed(17,teta_2_kanan,speed);
Dynamixel.moveSpeed(18,teta_3_kanan,speed);
break;
case 2:
Dynamixel.moveSpeed(1,teta_3_kiri_mirror,speed);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-19
Dynamixel.moveSpeed(2,teta_2_kiri_mirror,speed);
Dynamixel.moveSpeed(3,teta_1_kiri_khusus_b,speed);
Dynamixel.moveSpeed(4,teta_1_kanan_khusus_b,speed);
Dynamixel.moveSpeed(5,teta_2_kanan,speed);
Dynamixel.moveSpeed(6,teta_3_kanan,speed);
Dynamixel.moveSpeed(7,teta_3_kiri,speed);
Dynamixel.moveSpeed(8,teta_2_kiri,speed);
Dynamixel.moveSpeed(9,teta_1_kiri_khusus_a,speed);
Dynamixel.moveSpeed(10,teta_1_kanan_khusus_a,speed);
Dynamixel.moveSpeed(11,teta_2_kanan_mirror,speed);
Dynamixel.moveSpeed(12,teta_3_kanan_mirror,speed);
Dynamixel.moveSpeed(13,teta_3_kiri_mirror,speed);
Dynamixel.moveSpeed(14,teta_2_kiri_mirror,speed);
Dynamixel.moveSpeed(15,teta_1_kiri_khusus_b,speed);
Dynamixel.moveSpeed(16,teta_1_kanan_khusus_b,speed);
Dynamixel.moveSpeed(17,teta_2_kanan,speed);
Dynamixel.moveSpeed(18,teta_3_kanan,speed);
break;
case 3:
Dynamixel.moveSpeed(1,teta_3_kiri,speed);
Dynamixel.moveSpeed(2,teta_2_kiri,speed);
Dynamixel.moveSpeed(3,teta_1_kiri_khusus_b,speed);
Dynamixel.moveSpeed(4,teta_1_kanan_khusus_b,speed);
Dynamixel.moveSpeed(5,teta_2_kanan_mirror,speed);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-20
Dynamixel.moveSpeed(6,teta_3_kanan_mirror,speed);
Dynamixel.moveSpeed(7,teta_3_kiri_mirror,speed);
Dynamixel.moveSpeed(8,teta_2_kiri_mirror,speed);
Dynamixel.moveSpeed(9,teta_1_kiri_khusus_a,speed);
Dynamixel.moveSpeed(10,teta_1_kanan_khusus_a,speed);
Dynamixel.moveSpeed(11,teta_2_kanan,speed);
Dynamixel.moveSpeed(12,teta_3_kanan,speed);
Dynamixel.moveSpeed(13,teta_3_kiri,speed);
Dynamixel.moveSpeed(14,teta_2_kiri,speed);
Dynamixel.moveSpeed(15,teta_1_kiri_khusus_b,speed);
Dynamixel.moveSpeed(16,teta_1_kanan_khusus_b,speed);
Dynamixel.moveSpeed(17,teta_2_kanan_mirror,speed);
Dynamixel.moveSpeed(18,teta_3_kanan_mirror,speed);
break;
}
Serial.println("maju dengan nilai bawah");
}
void loop()
{
if(dt[0].toInt()>=10 & dt[0].toInt()>=10)
{
if(dt[0].toInt()<=30 & dt[0].toInt()<=30)
{
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-21
maju();
}
}
if(dt[0].toInt()==0 & dt[1].toInt()>=50)
{
gerak();
}
if(dt[0].toInt()<10 & dt[1].toInt()<10 || dt[0].toInt()>30 & dt[1].toInt()>60)
{
siap();
}
step++;
if(step>3)
{
step = 0;
}
delay(tunda);
}
6. Hasil pengujian komunikasi I2C
a. Data yang dikirim setiap 0,5 detik
Counting Value= 0
millis = 499
Counting Value= 1
millis = 501
Counting Value= 2
millis = 501
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-22
Counting Value= 3
millis = 500
Counting Value= 4
millis = 501
Counting Value= 5
millis = 501
Counting Value= 6
millis = 501
Counting Value= 7
millis = 500
Counting Value= 8
millis = 501
Counting Value= 9
millis = 501
Counting Value= 10
millis = 501
Counting Value= 11
millis = 500
Counting Value= 12
millis = 501
Counting Value= 13
millis = 501
Counting Value= 14
millis = 501
Counting Value= 15
millis = 500
Counting Value= 16
millis = 500
Counting Value= 17
millis = 500
Counting Value= 18
millis = 499
Counting Value= 19
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-23
millis = 500
Counting Value= 20
millis = 500
Counting Value= 21
millis = 500
Counting Value= 22
millis = 500
Counting Value= 23
millis = 501
Counting Value= 24
millis = 501
Counting Value= 25
millis = 501
b. Data yang diterima setiap 1,2 detik
data masuk = 0
millis = 1200
data masuk = 2
millis = 1200
data masuk = 5
millis = 1200
data masuk = 7
millis = 1200
data masuk = 10
millis = 1202
data masuk = 12
millis = 1200
data masuk = 14
millis = 1200
data masuk = 17
millis = 1200
data masuk = 19
millis = 1200
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-24
data masuk = 22
millis = 1200
data masuk = 24
millis = 1200
7. Hasil desain robot
8. Pengukuran radius dan sudut
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-25
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Recommended