• Tidak ada hasil yang ditemukan

PERANCANGAN PERGERAKAN ROBOT HEXAPOD PEMADAM API BERKAKI DENGAN METODE INVERS KINEMATIK

N/A
N/A
Protected

Academic year: 2021

Membagikan "PERANCANGAN PERGERAKAN ROBOT HEXAPOD PEMADAM API BERKAKI DENGAN METODE INVERS KINEMATIK"

Copied!
109
0
0

Teks penuh

(1)

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

(2)

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

(3)

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.

(4)

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.

(5)

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.

(6)

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

(7)

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 IIIRANCANGAN 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 IVHASIL 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

(8)

xiii

DAFTAR PUSTAKA ... 70 LAMPIRAN ... 1

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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.

(15)

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.

(16)

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

(17)

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

(18)

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

(19)

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.

(20)

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

(21)

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.

(22)

Gambar 2. 7. Normalisasi 0 derajat kaki kanan tampak atas

Gambar 2. 8. Normalisasi 0 derajat kaki kiri

(23)

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].

(24)

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)

(25)

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.

(26)

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:

(27)

 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

(28)

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.

(29)

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

(30)

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

(31)

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.

(32)

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.

(33)

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.

(34)

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.

(35)

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.

(36)

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.

(37)

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.

(38)

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.

(39)

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

(40)

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

(41)

 Z_offset = 49 mm

 Z_naik = 5 mm

 Tibia = 64 mm

 Femur = 40 mm

Rumus untuk mencari

ϴ

1mengacu 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

)

(42)

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

ϴ

2berada 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,5

2 𝐿 = 70 𝑚𝑚 ϴ2 = 𝑐𝑜𝑠−1(49 + 5 70 ) + 𝑐𝑜𝑠 −1(64 2 − 402− 702) −2.40.70

(43)

ϴ2 = 104,1° ϴ3 = 𝑐𝑜𝑠−1(70

2− 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,5

2 𝐿 = 62,6 𝑚𝑚 ϴ2 = 𝑐𝑜𝑠−1(49 − 5 62,6 ) + 𝑐𝑜𝑠 −1(64 2 − 402− 62,62) −2.40.62,6 ϴ2 = 118,8° ϴ3 = 𝑐𝑜𝑠−1(62,6 2− 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

(44)

𝑁𝑖𝑙𝑎𝑖 𝑗𝑜𝑖𝑛𝑡 𝑠𝑒𝑟𝑣𝑜 ϴ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 ϴ2dan ϴ3berbeda 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.

(45)

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.

(46)

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

(47)

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

(48)

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

(49)

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.

(50)

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 4 Y T Nilai perintah 5 Y SELESAI Berjalan mundur Belok kanan Belok kiri Serong kiri Serong kanan Berjalan maju T Y

(51)

Gambar 3. 11. Subroutine flowchart hexapod

(52)

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.

(53)

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

(54)

ini memiliki buffer. Data yang diterima akan disimpan dalam buffer untuk menunggu dikerjakan setelah data sebelumnya selesai dikerjakan. Jumlah data yang berada dalam buffer akan mempengaruhi respon robot yang dikerjakan dengan data yang dikirim oleh mikrokontroler master. Komunikasi I2C dapat mengatasi permasalah buffer yang terjadi, dan juga komunikasi I2C tidak perlu adanya pengaturan baudrate sehingga akan lebih mudah dalam pengaturan komunikasi data yang sepenuhnya diatur oleh master. Komunikasi I2C merupakan komunikasi serial standar dua arah menggunakan dua saluran yang didesain khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. Piranti yang dihubungkan dengan sistem I2C Bus dapat dioperasikan sebagai Master dan Slave.

4.1.4

Perubahan Flowchart

Setelah peneliti membaca lebih banyak referensi diketahui bahwa jika setiap pergantian gerak harus memanggil perintah siap akan terlalu banyak memakan waktu untuk berpindah melakukan pergerakan tripod dengan nilai yang berbeda. Gambar 4.3. merupakan flowchart program utama untuk perhitungan inverse kinematics dan Gambar 4.4. merupakan sub program untuk variasi gerakan tripod robot.

MULAI Cek Komunikasi ? T Y Parsing isi perintah Nilai perintah sesuai kata kunci?

T Kondisi siap Y Nilai perintah maju Y T Nilai perintah khusus T Y SELESAI Y Berjalan maju khusus Berjalan maju

(55)

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 𝑚𝑚

Gambar

Gambar 2. 1. Ilustrasi kaki robot dengan metode inverse kinematics [11]
Gambar 2. 4. aturan segitiga kosinus [19]
Gambar 2. 5. Bidang koordinat kaki robot bagian kanan (tampak depan)
Gambar 2. 13. Pemberian catu daya pada OpenCM 9.04 [12]    Power supply melalui pin header
+7

Referensi

Dokumen terkait

Kaki robot dapat bergerak sesuai posisi data yang diinputkan pada bidang X, Y, Z, dan H tanpa harus memasukkan nilai sudut servo satu persatu.. Tingkat keberhasilan mengakses

Untuk melakukan pergerakan dalam memegang benda, robot harus mengetahui koordinat dari obyek yang akan dipegang sehingga nilai teta di tiap joint nya dapat

Setelah mendeteksi garis putih, sensor api UVTron akan mendeteksi cahaya api pada ruang tersebut, jika tidak ada api pada ruang tersebut robot akan keluar dari ruangan,

Robot laba-laba adalah robot yang bergerak dengan menggunakan 6 buah kaki dengan 18 motor servo, pengujian terhadap robot dilakukan pada sebuah labirin sederhana untuk

Dengan metode invers kinematika, pergerakan kaki robot hanya ditentukan dari posisi koordinat end effector kaki pada saat berjalan sehingga tidak perlu lagi menentukan

Untuk mencapai titik kordinat tersebut maka lengan robot harus memperhitungkan derajat setiap sendinya, untuk mendapatkan derajat setiap sendi dari sebuah

Algoritma dan program yang dibuat dibagi menjadi beberapa bagian yaitu pemrograman sensor ultrasonik ping, pemrograman meluruskan posisi robot terhadap dinding pada

Penelitian ini telah menghasilkan sebuah robot berkaki enam pemadam api menggunakan metode Fuzzy Q-Learning FQL yang bertujuan untuk memaksimalkan pencarian jalur tercepat menuju