• Tidak ada hasil yang ditemukan

Koordinasi Gerak dan Navigasi Hexapod dengan Algoritme Tripod gait, Wall Following, dan Logika Fuzzy

N/A
N/A
Protected

Academic year: 2017

Membagikan "Koordinasi Gerak dan Navigasi Hexapod dengan Algoritme Tripod gait, Wall Following, dan Logika Fuzzy"

Copied!
37
0
0

Teks penuh

(1)

KOORDINASI GERAK DAN NAVIGASI HEXAPOD DENGAN

ALGORITME TRIPOD GAIT, WALL FOLLOWING, DAN

LOGIKA FUZZY

SODIK KIRONO

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

(2)
(3)

PERNYATAAN MENGENAI SKRIPSI DAN

SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA

Dengan ini saya menyatakan bahwa skripsi berjudul Koordinasi Gerak dan Navigasi Hexapod dengan Algoritme Tripod gait, Wall Following, dan Logika Fuzzy adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.

Bogor, Juli 2014

(4)

ABSTRAK

SODIK KIRONO. Koordinasi Gerak dan Navigasi Hexapod dengan Algoritme Tripod gait, Wall Following, dan Logika Fuzzy. Dibimbing oleh KARLISA PRIANDANA dan HERU SUKOCO.

Robot adalah alat yang dapat berinteraksi dengan lingkungannya dan melakukan fungsi tertentu sesuai dengan program yang ditanamkan kepadanya. Untuk dapat berfungsi dengan baik, robot perlu berinteraksi dengan lingkungannya (sense), memproses informasi tersebut (think), dan memberikan respons (act). Penelitian ini bertujuan untuk mengintegrasikan ketiga fungsi utama tersebut pada robot hexapod pemadam api. Masukan dari lingkungan diperoleh dari sensor jarak. Masukan ini kemudian diproses dengan algoritme navigasi wall-following dan logika fuzzy untuk menentukan arah atau sudut gerak robot. Sudut gerak robot kemudian diimplementasikan menjadi koordinasi gerakan kaki-kaki robot dengan algoritme tripod gait. Penelitian ini telah berhasil mengintegrasikan algoritme akusisi data dari sensor (sense), sistem navigasi wall-following dan logika fuzzy (think), dan sistem koordinasi kaki dengan tripod gait (respon). Robot telah diuji pada lingkungan sesuai dengan ketentuan KRPAI 2014 dan robot berhasil bergerak tanpa menabrak dinding.

Kata kunci: hexapod, navigasi, robot, sensor

ABSTRACT

SODIK KIRONO. Hexapod Movement Coordination and Navigation using Tripod gait, Wall Following, and Fuzzy Logic Algorithms. Supervised by KARLISA PRIANDANA and HERU SUKOCO.

(5)

Skripsi

sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer

pada

Departemen Ilmu Komputer

KOORDINASI GERAK DAN NAVIGASI HEXAPOD DENGAN

ALGORITME TRIPOD GAIT, WALL FOLLOWING, DAN

LOGIKA FUZZY

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

BOGOR 2014

(6)
(7)

Judul Skripsi : Koordinasi Gerak dan Navigasi Hexapod dengan Algoritme Tripod gait, Wall Following, dan Logika Fuzzy

Nama : Sodik Kirono NIM : G64100002

Disetujui oleh

Karlisa Priandana, ST MEng Pembimbing I

Diketahui oleh

DrEng Heru Sukoco, SSi MT Pembimbing II

Dr Ir Agus Buono, MSi MKom Ketua Departemen

(8)

PRAKATA

Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Judul penelitian yang dilaksanakan sejak bulan November 2013 ini ialah Koordinasi Gerak Dan Navigasi Hexapod dengan Algoritme Tripod gait, Wall Following, dan Logika Fuzzy.

Terima kasih penulis ucapkan kepada Ibu Karlisa Priandana, ST MEng dan Bapak DrEng Heru Sukoco, SSi MT selaku komisi pembimbing. Ucapan terima kasih juga kepada bapak, ibu dan seluruh keluarga, atas segala doa dan dukungannya, serta kepada teman-teman Ilmu Komputer 47 dan semua pihak yang terkait langsung maupun tidak atas dukungannya selama penelitian ini dilakukan.

Semoga karya ilmiah ini bermanfaat.

(9)

DAFTAR ISI

DAFTAR TABEL xi

DAFTAR GAMBAR xi

DAFTAR LAMPIRAN xi

PENDAHULUAN 1

Latar Belakang 1

Perumusan Masalah 2

Tujuan Penelitian 2

Manfaat Penelitian 2

Ruang Lingkup Penelitian 2

METODE PENELITIAN 2

Studi Literatur 3

Persiapan Alat dan Bahan 3

Perakitan Robot dan Peripheral 3

Implementasi dan Penggabungan Algoritme pada Robot 4

Pengambilan Data dari Sensor Jarak 4

Navigasi dengan Algoritme Wall Following dan Logika Fuzzy 5 Konversi Sudut Belok Robot ke Lebar Pulsa 5 Koordinasi gerak kaki dengan algoritme tripod gait 5

Pengujian 6

Pengujian masing-masing algoritme 6

Pengujian integrasi algoritme 6

Evaluasi 7

HASIL DAN PEMBAHASAN 7

Persiapan Alat dan Bahan 7

Perakitan Robot dan Peripheral 8

Implementasi dan Penggabungan Algoritme pada Robot 9

Pengambilan Data dari Sensor Jarak 9

Navigasi dengan Algoritme Wall Following dan Logika Fuzzy 9 Konversi Sudut Putar Menjadi Nilai Lebar Pulsa 14

(10)

Pengujian 16

Pengujian pada Masing-Masing Algoritme 16

Pengujian Integrasi Algoritme 17

Evaluasi 18

SIMPULAN DAN SARAN 18

Simpulan 18

Saran 18

(11)

DAFTAR TABEL

1 Aturan fuzzy untuk right dan left wall following 12 2 Perbandingan waktu komputasi algoritme tripod gait tanpa fuzzy dan dengan fuzzy16

3 Hasil pengujian algoritme akusisi data sensor 16

4 Hasil pengujian algoritme navigasi 17

5 Hasil pengujian algoritme koordinasi gerak kaki 17 6 Hasil pengujian integrasi algoritme pada konfigurasi ruangan KRPAI 2014 17

DAFTAR GAMBAR

1 Alur penelitian 3

2 Konfigurasi sensor jarak 4

3 Proses penggabungan algoritme 4

4 Konfigurasi KRPAI 2014 6

5 (a) Robot Hexapod (b) SPC servo controller (c) Sensor Jarak HC-SR04 dan (d)

Mikrokontroler Arduino UNO 7

6 Perakitan sensor jarak 8

7 Track Robot 8

8 Fungsi keanggotaan sensor (a) depan, (b) samping, dan (c) serong 11

9 Fungsi keanggotaan keluaran 13

10 Konfigurasi servo pada kaki 15

DAFTAR LAMPIRAN

1 Algoritme navigasi dengan wall following dan logika fuzzy 20

2 Contoh Perhitungan Logika Fuzzy 21

3 Algoritme tripod gait untuk gerak maju, belok kiri, dan belok kanan 23

(12)
(13)

PENDAHULUAN

Latar Belakang

Robot adalah suatu alat multifungsi yang dapat bergerak pada suatu lingkungan dengan kemampuan tertentu disesuaikan dengan tugasnya (Carelli dan Freire 2003). Gerak robot dideskripsikan oleh pose, kecepatan, akselerasi, dan turunan dari pose badan robot yang menghasilkan gerak (Siciliano dan Khatib 2008).

Robot berkaki dibedakan menjadi dua macam berdasarkan kestabilannya yaitu kestabilan statis dan kestabilan dinamis. Robot berkaki dengan kestabilan dinamis artinya bahwa titik berat robot dapat berpindah untuk menjaga kestabilan dan keseimbangan ketika robot bergerak, dan yang termasuk dalam jenis ini adalah robot berkaki satu sampai empat. Sedangkan robot dengan kestabilan statis adalah robot yang titik beratnya tetap stabil dan tidak berpindah ketika bergerak, dan yang termasuk dalam jenis ini adalah robot dengan jumlah kaki minimal 4 buah, seperti hexapod dan octopod (Thirion dan Thiry 2002).

Hexapod adalah robot berkaki enam sehingga memiliki ragam gerakan yang bervariasi. Kompleksitas gerakan kaki juga menjadi tinggi sehingga diperlukan algoritme pergerakan kaki yang sesuai dengan kondisi lingkungannya (Thirion dan Thiry 2002).

Robot cerdas melakukan tugasnya berdasarkan program kecerdasan buatan yang ditanamkan padanya. Salah satu kecerdasan yang dibutuhkan robot adalah kemampuan untuk melakukan navigasi. Kemampuan navigasi dapat dikaitkan dengan kemampuan sensor untuk menerima masukan dari lingkungan (Carelli dan Freire 2003). Masukan dari lingkungan merupakan sesuatu yang tidak pasti sehingga memerlukan pemodelan yang dapat mengatasinya. Logika fuzzy dapat menjadi pilihan untuk menangani ketidakpastian (Peri 2002).

Penelitian terkait yang telah dilaksanakan yaitu analisis dan penerapan sensor jarak, sensor deteksi api, dan sensor garis pada fire fighting robot oleh Sidik (2013). Penelitian tersebut telah berhasil mengimplementasikan sensor jarak, sensor deteksi api, dan sensor garis pada fire fighting robot dengan mengembangkan algoritme akusisi data sensor. Selain itu, Chriswantoro (2013) telah melakukan penelitian untuk mengembangkan sistem navigasi menggunakan wall following dan logika fuzzy. Penelitian telah berhasil mengembangkan sistem navigasi menggunakan wall following dan logika fuzzy dan telah berhasil menyelesaikan misi pada lintasan KRPAI (Kontes Robot Pemadam Api Indonesia). Wulandari (2013) telah mengembangkan penelitian untuk implementasi tripod gait dan inverse kinematics untuk koordinasi gerak robot berkaki enam. Penelitian tersebut telah berhasil mengimplementasikan algoritme tripod gait dan inverse kinematics pada hexapod dengan masukan berupa nilai lebar pulsa yang telah dihitung sebelumnya. Namun algoritme-algoritme yang telah dikembangkan tersebut belum terintegrasi.

(14)

2

Perumusan Masalah

Robot dengan jumlah kaki banyak, contohnya hexapod, memerlukan algoritme untuk mengatur koordinasi gerak kakinya. Salah satunya yaitu tripod gait. Selain itu koordinasi kaki, robot berkaki enam juga memerlukan sistem navigasi untuk menyelesaikan tugasnya. Implementasi sistem navigasi akan dilakukan dengan menggunakan algoritme wall following dan logika fuzzy dengan masukan dari sensor jarak untuk menentukan sudut perputaran/ belok robot. Algoritme-algoritme tersebut masing-masing sudah dikembangkan pada penelitian sebelumnya, namun belum terintegrasi.

Tujuan Penelitian

Tujuan dari penelitian ini adalah mengintegrasikan algoritme pengambilan data dari sensor jarak, algoritme pengolahan data sensor dengan algoritme wall following dan logika fuzzy serta algoritme tripod gait sebagai pengatur koordinasi gerak kaki sehingga robot dapat bergerak menyusuri ruangan dengan mengikuti konfigurasi dinding sesuai ketentuan KRPAI 2014.

Manfaat Penelitian

Manfaat yang diharapkan dalam penelitian ini adalah mendukung pengembangan smart multi-legged robots di Indonesia.

Ruang Lingkup Penelitian

Ruang lingkup dari penelitian ini adalah:

• Implementasi dilakukan pada robot hexapod yang sudah dirakit pada penelitian sebelumnya.

• Algoritme kecerdasan yang sudah terintegrasi yang dikembangkan akan diterapkan pada robot berkaki enam berukuran 40 × 30 × 27 cm.

• Sistem navigasi yang diujikan dalam penelitian ini hanya sebatas gerak untuk menyusuri dinding lintasan sesuai dengan ketentuan KRPAI 2014 untuk konfigurasi ruang 4.

• Masukan yang akan diproses oleh sistem navigasi hanya berasal dari sensor jarak.

METODE PENELITIAN

Alur penelitian dapat dilihat pada Gambar 1. Penelitian dimulai dengan studi literatur. Selanjutnya dilakukan persiapan alat dan bahan serta perakitan robot dan peripheral. Penelitian dilanjutkan dengan tahap implementasi dan penggabungan algoritme. Tahap pengujian dilakukan untuk mengetahui hasilnya,

(15)

3

dilakukan evaluasi untuk mengetahui penyebab keberhasilan atau kegagalan dalam tahap implementasi dan penggabungan algoritme.

Studi Literatur

Tahap studi literatur dilakukan untuk mempelajari datasheet komponen yang digunakan dan algoritme yang akan digunakan.

Persiapan Alat dan Bahan

Komponen-komponen yang harus dipersiapkan adalah robot hexapod, sensor jarak, dan track robot. Robot hexapod yang digunakan adalah hasil perakitan dari penelitian sebelumnya oleh Wulandari (2013). Robot hexapod yang digunakan memiliki 12 buah servo HS645MG, 6 buah servo HS225BB, 1 buah SPC servo controller, 1 buah mikrokontroler Arduino UNO, baterai 9 V, baterai LiPo 7.4 V dan 5.1 V Regulator.

Sensor jarak yang akan digunakan adalah HC-SR04. HC-SR04 menggunakan gelombang ultrasonik dalam mengukur jarak antara robot dan dinding. Masing-masing sensor jarak tersebut memerlukan daya 5V.

Track robot digunakan sebagai lintasan robot dan akan dibuat dari kayu (untuk dinding dan lintasan), karpet (untuk pelapis pada sebagian lintasan), dan lakban putih (untuk penanda ruangan dan perekat alas). Track robot akan dibuat sesuai ketentuan KRPAI 2014.

Perakitan Robot dan Peripheral

Tahap perakitan robot dan peripheral dilakukan untuk menambah komponen yang belum ada pada penelitian sebelumnya, seperti perakitan sensor jarak. Selain itu, pada tahap ini dilakukan juga pemeriksaan terhadap fungsi dari masing-masing komponen. Sensor jarak akan dipasang melingkar pada 5 posisi yaitu depan, serong kanan, serong kiri, samping kanan, dan samping kiri dengan konfigurasi seperti pada Gambar 2 (Chriswantoro 2013).

(16)

4

Implementasi dan Penggabungan Algoritme pada Robot

Pada tahap implementasi terdapat 3 algoritme yang akan diintegrasikan yaitu pengambilan data dari sensor jarak, navigasi dengan wall following dan logika fuzzy, dan koordinasi gerak kaki dengan tripod gait. Ketiga algoritme akan diintegrasikan untuk mengatur navigasi dan koordinasi pada robot hexapod sehingga robot dapat menyusuri dinding sesuai konfigurasi ruangan yang ada. Proses penggabungan algoritme dapat dilihat pada Gambar 3, dengan penjelasan sebagai berikut :

Pengambilan Data dari Sensor Jarak

Penelitian ini akan menggunakan masukan dari lima buah sensor jarak. Sensor depan akan digunakan untuk mengukur jarak robot dengan dinding di

Gambar 2 Konfigurasi sensor jarak

(17)

5 depannya. Sensor serong akan digunakan untuk mengukur jarak robot dengan dinding di serong kiri dan kanan. Sensor samping digunakan untuk mengukur jarak antara robot dengan dinding di samping kiri dan kanan.

Algoritme untuk pengambilan data dari sensor akan menggunakan kode program yang sudah dikembangkan pada penelitian sebelumnya oleh Sidik (2013). Keluaran algoritme ini berupa jarak kelima sensor dengan dinding. Informasi-informasi ini akan menjadi data masukan untuk algoritme navigasi robot.

Navigasi dengan Algoritme Wall Following dan Logika Fuzzy

Data jarak dari sensor yang diterima Arduino UNO akan digunakan sebagai masukan bagi navigasi robot yang menggunakan algoritme wall following dan logika fuzzy. Untuk variabel sensor samping dan serong yang aktif ditentukan oleh tipe wall following yang sedang dipakai. Apabila menggunakan right wall following, maka sensor samping dan sensor serong yang dimaksud ialah sensor samping kanan dan serong kanan. Apabila menggunakan left wall following, maka sensor samping dan sensor serong yang dimaksud ialah sensor samping kiri dan serong kiri.

Navigasi yang digunakan pada robot adalah hasil penelitian sebelumnya oleh Chriswantoro (2013). Keluaran dari algoritme ini adalah besar sudut belok robot.

Konversi Sudut Belok Robot ke Lebar Pulsa

Keluaran dari algoritme navigasi dengan wall following dan logika fuzzy adalah sudut belok robot yang menentukan derajat perputaran. Sedangkan masukan dari algoritme koordinasi yang akan digunakan yaitu tripod gait adalah lebar pulsa. Lebar pulsa menentukan pergerakan dari setiap servo. Lebar pulsa didapatkan dengan cara mengubah sudut belok robot ke lebar pulsa. Hubungan antara lebar pulsa dengan sudut servo yang diinginkan dapat dilihat pada persamaan 1 (RCToys 2001).

Lebar pulsa=(10*sudut servo) +600 (1)

Koordinasi gerak kaki dengan algoritme tripod gait

Sudut belok robot menjadi masukan bagi algoritme koordinasi gerak kaki yaitu tripod gait. Dalam tripod gait, sebuah tripod terdiri dari kaki depan dan belakang pada satu sisi dan kaki tengah pada sisi lainnya. Untuk masing-masing tripod, kaki-kaki tersebut akan terangkat, bergerak maju atau mundur, dan turun kembali.

(18)

6

Gambar 4 Konfigurasi KRPAI 2014 Pengujian

Pengujian masing-masing algoritme

Pengujian algoritme dilakukan untuk melihat kesesuaian proses integrasi algoritme terhadap kondisi yang diinginkan. Pengujian pada penelitian ini akan dilakukan dengan tiga tahap, yaitu pengujian tahap satu pada algoritme akusisi data sensor jarak, pengujian tahap dua pada algoritme navigasi, dan pengujian tahap tiga pada algoritme koordinasi.

Pengujian tahap satu dilakukan dengan cara melihat keluaran jarak pada serial monitor Arduino. Keluaran tersebut dibandingkan dengan hasil pengukuran jarak sebenarnya dengan penggaris/ mistar. Kedua hasil tersebut akan dibandingkan untuk menentukan keberhasilan akusisi data sensor jarak (Sidik 2013).

Pengujian tahap dua dilakukan dengan cara melihat keluaran sudut belok pada serial monitor. Keluaran tersebut dibandingkan dengan hasil perhitungan manual dengan memasukkan pada fungsi keanggotaan fuzzifikasi dan defuzzifikasi yang ada. Keberhasilan proses integrasi dilihat dari keluaran sudut belok robot dari jarak yang dimasukkan (Chriswantoro 2013).

Pengujian tahap tiga dilakukan dengan cara melihat besar perputaran robot dari posisi semula. Posisi ini akan dibandingkan dengan sudut putar seharusnya berdasarkan keluaran sudut belok dari algoritme navigasi. Pengukuran sudut sebenarnya dilakukan dengan busur derajat. Keberhasilan proses integrasi dengan melihat kesesuaian antara perputaran robot dan perputaran seharusnya (Wulandari 2013).

Pengujian integrasi algoritme

(19)

7 Evaluasi

Evaluasi dilakukan untuk menganalisis penyebab kegagalan yang terjadi pada tahap pengujian. Keluaran dari tahap ini berupa saran-saran perbaikan yang dapat dilakukan pada penelitian selanjutnya.

HASIL DAN PEMBAHASAN

Persiapan Alat dan Bahan

Alat dan bahan yang digunakan pada penelitian ini adalah:

• Robot hexapod hasil perakitan sebelumnya oleh Wulandari (2013) (Gambar 5a),

• 1 buah SPC servo controller (Gambar 5b),

• 5 buah sensor jarak ultrasonik HC-SR04 (Gambar 5c), • 1 buah Arduino UNO (Gambar 5d),

• 3 baterai 9 V, • baterai LiPo 7.4 V • elco 0.1 μF dan 0.33μF, • regulator 7805,

• dan perangkat lunak yang digunakan adalah Arduino dan menggunakan bahasa pemrograman C.

(b) (a)

(c) (d)

Sumber : Wulandari (2013)

Gambar 5 (a) Robot Hexapod (b) SPC servo controller (c) Sensor Jarak HC-SR04 dan (d) Mikrokontroler Arduino UNO

Sumber :

http://www.centralelectro.com

(20)

8

Gambar 6 Perakitan sensor jarak Perakitan Robot dan Peripheral

Robot hexapod yang digunakan pada penelitian ini adalah hasil perancangan dan perakitan penelitian sebelumnya oleh Wulandari (2013). Beberapa komponen yang dipasangkan ke robot sehingga robot dapat menjalankan fungsinya adalah Arduino, SPC Servo Controller, sensor jarak, baterai 9 V, dan baterai Lipo 7.4 V.

Arduino dipasangkan pada robot sebagai otak robot yang digunakan untuk memasukkan kode program yang dibuat untuk akusisi data sensor, navigasi dan koordinasi robot. Selain itu, arduino juga digunakan untuk menggerakkkan servo pada kaki robot. Namun, arduino hanya mampu menampung maksimal 10 buah servo, sedangkan servo untuk kaki robot terdapat 18 buah sehingga harus dipasangkan SPC Servo Controller yang maksimum dapat menampung 20 servo.

Robot yang telah dirakit akan dihubungkan ke power supply, yaitu baterai 9 V dan Lipo 7.4 V. Baterai 9 V digunakan untuk memberikan daya pada Arduino dan SPC Servo Controller, sedangkan baterai Lipo 7.4 V digunakan untuk memberikan daya pada kedelapan belas servo pada kaki-kaki robot. Selain itu, baterai 9 V juga digunakan untuk memberikan daya pada sensor jarak. Namun karena tegangan yang dibutuhkan oleh sensor jarak hanya lima volt, maka dilakukan proses konversi sehingga tegangan keluaran menjadi 5 V dengan menggunakan regulator 7805.

Sensor jarak dipasangkan melingkar pada robot seperti pada Gambar 6. Sensor pertama dipasang menghadap depan robot. Hal ini dilakukan agar robot tidak menabrak dinding depannya. Sensor kedua dan ketiga dipasang menghadap serong kanan dan kiri robot. Hal ini dilakukan agar robot tidak menabrak bagian serong kanan dan kirinya. Sensor keempat dan kelima dipasang menghadap samping kanan dan kiri. Hal ini dilakukan agar robot dapat mendeteksi jarak samping kanan dan kiri sehingga robot tidak menabrak dinding kanan dan kirinya. Lima sensor yang dipasang tersebut akan memancarkan gelombang ultrasonik secara bersamaan yang nanti akan dipantulkan oleh dinding dan kembali ditangkap oleh sensor. Delay time antara memancarkan dan menerima gelombang inilah yang digunakan untuk menghitung jarak robot dan dinding dengan membagi dengan koefisien tertentu sesuai penelitian Sidik (2013).

Setelah komponen-komponen yang dibutuhkan robot untuk melakukan

(21)

9 gerakan menyusuri dinding dipasangkan, selanjutnya dilakukan pembuatan track robot. Track robot dirancang sesuai ketentuan dari KRPAI 2014 (Gambar 7).

Implementasi dan Penggabungan Algoritme pada Robot

Pengambilan Data dari Sensor Jarak

Data dari kelima sensor jarak diakusisi dengan algoritme akuisisi data. Algoritme ini mengolah masukan dari sensor menjadi informasi sesuai yang dibutuhkan, yaitu informasi jarak. Algoritme akusisi data yang digunakan adalah hasil penelitian oleh Sidik (2013). Keluaran dari algoritme ini adalah jarak antara robot dengan dinding. Jarak antara robot dan dinding yang didapatkan menjadi masukan bagi algoritme navigasi dengan wall following dan logika fuzzy.

Proses pengambilan data sensor jarak menggunakan delay time 1 detik. Delay 1 detik diberikan dengan pertimbangan perlu adanya ketepatan data sensor jarak yang digunakan untuk menggerakkan kaki-kaki. Tidak adanya delay (delay 0 detik) akan mengakibatkan jarak yang digunakan untuk memandu gerak adalah jarak sebelumnya, bukan jarak pada saat robot seharusnya bergerak. Namun menggunakan delay time yang terlalu lama (delay 2 detik) juga mengakibatkan robot menjadi kurang responsif.

Navigasi dengan Algoritme Wall Following dan Logika Fuzzy

Navigasi pada robot menerima masukan dari algoritme akuisisi data berupa nilai jarak. Dari lima buah sensor jarak yang ada, hanya tiga buah sensor yang digunakan untuk menentukan navigasi menyusuri dinding, tergantung dari tipe wall following yang digunakan. Secara default, tipe wall following yang digunakan adalah right wall following. Sensor-sensor yang digunakan saat right wall following adalah sensor depan, sensor serong kanan, dan sensor samping kanan. Sedangkan pada kondisi tertentu, maka tipe wall following yang dipakai akan berganti menjadi left wall following. Sensor yang digunakan pada left wall following adalah sensor depan, sensor serong kiri, dan sensor samping kanan. Nilai ketiga sensor diproses dengan aturan fuzzy.

Berikut adalah potongan program yang ditambahkan pada algoritme wall following dari hasil penelitian Chriswantoro (2013) untuk menentukan tipe wall following yang digunakan.

if(aturan == 0) //right wall following {

samping.data = cmE; //jarak samping adalah sensor E serong.data = cmD; //jarak serong adalah sensor D depan.data = cmC; //jarak depan adalah sensor C }

else if(aturan == 1) //left wall following {

samping.data = cmA; //jarak samping adalah sensor A serong.data = cmB; //jarak serong adalah B

(22)

10

Jika nilai variabel aturan adalah 0 maka tipe yang navigasi yang dipakai adalah right wall following. Sensor jarak yang digunakan ketika right wall following adalah sensor depan, sensor serong kanan, sensor serong kiri. Sedangkan jika nilai variabel aturan = 1 maka tipe navigasi yang dipakai adalah left wall following. Sensor jarak yang dipakai ketika left wall following adalah sensor depan, sensor serong kiri, dan sensor samping kanan. Tipe navigasi ini akan menentukan proses evaluasi aturan yang dibentuk dari proses fuzzifikasi.

Nilai variabel 0 atau 1 didapatkan dari jumlah ruangan yang dikunjungi. Jika jumlah ruangan yang dikunjungi belum mencapai 3 maka nilai variabel aturan adalah 0. Sedangkan jika jumlah ruangan yang dikunjungi sudah mencapai 3 maka nilai variabel aturan akan diubah menjadi 1. Untuk menentukan jumlah ruangan yang dikunjungi dibutuhkan informasi dari sensor garis dan sensor api. Hal tersebut tidak tercakup dalam ruang lingkup penelitian ini.

Masing-masing jarak dari sensor akan masuk ke dalam proses fuzzifikasi. Proses fuzzifikasi digunakan untuk menentukan besar derajat keanggotan nilai jarak terhadap fungsi keanggotaan masing-masing sensor. Fungsi keanggotaan akan memproses data jarak masing-masing sensor untuk mengeluarkan keluaran sudut. Batas-batas fungsi keanggotaan sensor serong dan sensor samping diubah berdasarkan hasil percobaan. Fungsi keanggotaan sensor dapat dilihat pada Gambar 8.

Batas-batas fungsi keanggotaan masing-masing sensor diubah sehingga robot tidak menabrak dinding ketika menyusuri ruangan. Pengubahan batas dilakukan karena Chriswantoro (2013) pada penelitian sebelumnya menganggap robot sebagai titik sehingga jarak yang yang ditetapkan adalah jarak titik ke dinding. Sedangkan pada keadaan sebenarnya, robot berkaki mempunyai kaki yang dapat bergerak melebar dan menyempit. Pelebaran kaki menyebabkan robot membutuhkan ruang lebih untuk bergerak. Oleh karena itu, diperlukan pengubahan pada batas masing-masing fungsi keanggotaan sensor.

Untuk menentukan derajat keanggotaan masing-masing sensor, grafik derajat fungsi keanggotaan fuzzy masing-masing sensor pada Gambar 8 dapat ditransformasikan ke bentuk formula. Formula untuk menghitung derajat keanggotaan sensor depan adalah seperti pada persamaan 2.

(23)

11

(a)

(b)

(c)

Gambar 8 Fungsi keanggotaan sensor (a) depan, (b) samping, dan (c) serong dengan x adalah nilai anggota, µdep_dekat(x) adalah derajat keanggotaan dekat dan

µdep_jauh(x) adalah derajat keanggotaan jauh pada sensor samping. Formula

matematika untuk sensor samping adalah seperti pada persamaan 3.

μsam_dekat(x) =�

dengan x adalah nilai anggota, µsam_dekat(x) adalah derajat keanggotaan dekat,

µsam_sedang(x) adalah derajat keanggotaan sedang, dan µsam_jauh(x) adalah derajat

(24)

12

dengan x adalah nilai anggota, µser_dekat(x) adalah derajat keanggotaan dekat,

µser_sedang(x) adalah derajat keanggotaan sedang, dan µser_jauh(x) adalah derajat

keanggotaan jauh pada sensor serong.

Keluaran dari masing-masing fungsi keanggotaan adalah derajat keanggotaan masing-masing sensor. Derajat keanggotaan masing-masing sensor akan dievaluasi dengan aturan fuzzy pada Tabel 1 (Chriswantoro 2013).

Nilai fuzzy hasil evaluasi aturan adalah nilai fuzzy untuk keluaran yang merupakan nilai minimum dari masing-masing fungsi keanggotaan. Untuk mendapatkan nilai aturan yang bersifat diskret, maka diperlukan fungsi keanggotaan output. Fungsi keanggotaan yang digunakan untuk output hanya satu

Tabel 1 Aturan fuzzy untuk right dan left wall following

No Masukan sensor Keluaran wall following

Samping Serong Depan Right Left

1 Dekat Dekat Dekat Kiri1 Kanan1

(25)

13

variabel dengan 5 anggota, yaitu kiri0, kiri1, kanan0, kanan1, dan maju. Selengkapnya dapat dilihat pada Gambar 9 (Chriswantoro 2013). Fungsi keanggotaan keluaran akan mengevaluasi setiap aturan fuzzy yang tercakup. Fungsi keanggotaan output akan menentukan besar derajat perputaran robot.

Untuk mempermudah dalam menentukan nilai deffuzifikasi, maka Gambar 9 dapat ditransformasi menjadi formula seperti pada persamaan 5 (Chriswantoro 2013). Sumber : Chriswantoro (2013)

(26)

14

dengan x adalah nilai anggota, µkiri1(x) adalah derajat keanggotaan kiri1, µkiri0(x)

adalah derajat keanggotaan kiri0, µmaju(x) adalah derajat keanggotaan maju,

µkanan0(x) adalah derajat keanggotaan kanan0, dan µkanan1(x) adalah derajat

keanggotaan kanan1 pada variabel sudut.

Setelah didapatkan nilai fuzzy keluaran, kemudian dilakukan agregasi dengan metode Center of Gravity (COG). Formula untuk menghitung nilai agregasi COG ditunjukkan pada persamaan 6. Nilai keluaran hasil agregasi dengan metode (COG) merupakan nilai akhir dari proses fuzzy, yaitu sudut putar robot. Sudut putar inilah yang digunakan untuk menentukan besar perputaran dan pergerakan setiap kaki dan servo robot. (Algoritme fuzzy selengkapnya dapat dilihat pada Lampiran 1 dan contoh perhitungan pada Lampiran 2).

COG = ∑ μd

n k (xk)xk

nkμd(xk) (6)

dengan COG adalah nilai agregasi, µd(x) adalah derajat keanggotaan output,

xk adalah nilai diskret output.

Konversi Sudut Putar Menjadi Nilai Lebar Pulsa

Proses ini digunakan untuk mengubah sudut putar robot menjadi nilai lebar pulsa. Nilai lebar pulsa tersebut akan menjadi masukan untuk algoritme koordinasi gerak kaki yang telah dikembangkan oleh Wulandari (2013). Konversi sudut putar robot menjadi nilai lebar pulsa disesuaikan dengan gerak yang dilakukan oleh robot. Persamaan 1 digunakan untuk menentukan lebar pulsa dalam menggerakkan servo. Lebar pulsa dimasukkan ke kode program fungsi gerakMotor yang telah dikembangkan pada penelitian sebelumnya oleh Wulandari 2013.

Nilai pengubahan lebar pulsa untuk menggerakkan servo menggunakan prinsip PWM. PWM (Pulse Width Modulation) adalah teknik modulasi digital dengan lebar dari pulsa carrier dibuat bervariasi berdasarkan modulasi tegangan. Perbedaan tegangan inilah yang akan menentukan lebar pergerakan pada servo yang digunakan [PTDesign 2000]. Keluaran berupa besaran PWM akan menjadi masukan algoritme koordinasi kaki.

Koordinasi Gerak dengan Tripod Gait

Koordinasi gerakan kaki digunakan untuk mengatur gerakan pada kaki. Algoritme koordinasi gerak yang digunakan adalah hasil penelitian sebelumnya oleh Wulandari (2013).

(27)

15 menggerakkan kaki searah sumbu X, artinya menggerakkan kaki melebar dan menyempit ke samping.

Koordinasi gerak kaki pada robot dapat menggunakan algoritme tripod gait, slow gait, dan lain-lain (Thirion dan Thiry 2002). Penelitian ini menggunakan algoritme tripod gait. Tripod gait artinya menggerakkan tiga kaki sekali langkah. Kaki-kaki yang bergerak adalah kaki depan dan belakang pada satu sisi dan kaki tengah pada sisi lainnya. Contohnya, jika melakukan gerak belok kiri maka kaki pertama yang digerakkan adalah kaki kanan depan, kanan belakang, dan kiri tengah. Kemudian, kaki kiri depan, kiri belakang, dan kanan tengah akan digerakkan setelahnya (selengkapnya pada Lampiran 3).

Tripod gait menggerakkan kaki-kaki robot dengan 3 tahap yaitu lift, swing, dan contact. Penjelasan algoritme tripod gait secara lebih lengkap dapat dilihat pada Lampiran 4. Lift adalah gerakan untuk mengangkat kaki robot searah sumbu Y. Swing adalah gerakan kaki untuk mengayunkan kaki, dapat ke samping atau ke depan. Contact adalah gerakan untuk mengembalikan ke posisi semula setelah melakukan lift dan swing.

Sumber : Wulandari ( 2013)

(28)

16

Gerak lift pada kaki ditentukan sebesar 100, karena gerakan kaki yang terlalu tinggi dapat menghalangi sensor jarak dalam mengakuisisi data. Gerak swing pada kaki ditentukan maksimal sebesar 450 sebagai sudut maksimal kaki dapat bergerak ke depan atau belakang tanpa membentur kaki lainnya. Jadi, jika sudut putar servo lebih dari 450, maka dilakukan dua kali gerak. Gerak contact adalah posisi tegak, yaitu pada posisi masing-masing servo 900.

Secara keseluruhan, dapat dilihat bahwa algoritme koordinasi kaki dengan tripod gait yang dikembangkan oleh Wulandari (2013) telah dapat diimplementasikan dan bekerja baik pada hexapod. Algoritme ini memiliki waktu komputasi yang cukup cepat, terutama bila diimplementasikan dengan cara langsung memasukkan nilai lebar pulsa. Namun, karena lebar pulsa yang dimasukkan pada penelitian ini didapatkan dari nilai hasil fuzzifikasi dengan kompleksitas yang tinggi, maka respon kaki robot menjadi lebih lambat. Hasil perbandingan waktu komputasi algoritme tripod gait dengan memasukkan langsung lebar pulsa dengan perhitungan menggunakan jarak yang diolah dengan fuzzy dapat dilihat pada Tabel 2. Dapat dilihat bahwa dengan adanya fuzzy menyebabkan pergerakan kaki menjadi lebih lambat.

Pengujian

Pengujian pada Masing-Masing Algoritme

Pengujian algoritme tahap pertama dilakukan dengan cara membandingkan keluaran pada jarak pada serial monitor dengan jarak sebenarnya. Jarak sebenarnya didapatkan dengan melakukan pengukuran jarak robot dan dinding menggunakan mistar. Hasil pengujian tahap pertama integrasi algoritme dapat dilihat pada Tabel 3. Jarak hasil keluaran algoritme sama dengan jarak sebenarnya antara robot dan dinding. Hal ini mengindikasikan bahwa algoritme tersebut sudah menghasilkan output yang benar dan dapat langsung diintegrasikan dengan algoritme wall following dan logika fuzzy.

Tabel 3 Hasil pengujian algoritme akusisi data sensor No Jarak

Tabel 2 Perbandingan waktu komputasi algoritme tripod gait tanpa fuzzy dan dengan fuzzy

Jenis gerakan

Sudut putar (o)

Waktu yang dibutuhkan tiap 1 langkah (detik) tanpa fuzzy (Wulandari 2013) dengan fuzzy

Maju 0 2.05 4.76

Kiri 45 3.42 5.59

(29)

17

Pengujian tahap kedua dilakukan dengan cara membandingkan sudut keluaran integrasi algoritme akusisi data sensor dan algoritme navigasi dengan keluaran manual hasil perhitungan sesuai fungsi keanggotaan yang ditetapkan. Hasil pengujian tahap pertama dapat dilihat pada Tabel 4. Terjadi perbedaan hasil antara keluaran algoritme dan perhitungan manual sebesar 0.1 – 0.5 derajat. Untuk melakukan perputaran, besar 0.1 – 0.5 masih dapat ditolerir kesalahannya. Oleh karena itu, proses integrasi tahap pertama dapat dianggap berhasil.

Setelah proses integrasi tahap kedua berhasil dilakukan, selanjutnya dilakukan integrasi tahap ketiga. Integrasi dilakukan pada ketiga algoritme, yaitu algoritme akusisi data sensor, algoritme navigasi dan algoritme koordinasi. Pengujian dilakukan dengan cara melakukan beberapa kondisi sehingga robot akan bergerak maju, belok kanan dan belok kiri secara bergantian. Keberhasilan pengujian diukur dari kesesuaian pergerakan robot dengan keadaan seharusnya. Hasil pengujian menunjukkan bahwa hasil perputaran robot sama dengan sudut putar seharusnya (Tabel 5).

Pengujian Integrasi Algoritme

Hasil pengujian integrasi algoritme menunjukkan bahwa integrasi algoritme telah berhasil dilaksanakan dengan menghasilkan keluaran yang benar (Tabel 6).

Tabel 5 Hasil pengujian algoritme koordinasi gerak kaki No Kondisi Besar masukan

(derajat)

Harapan Pengujian

1 Maju - Maju Berhasil

2 Belok Kanan 45 Belok Kanan 450 Berhasil 3 Belok Kiri 45 Belok Kiri 450 Berhasil

Tabel 4 Hasil pengujian algoritme navigasi No Sensor

Tabel 6 Hasil pengujian integrasi algoritme pada konfigurasi ruangan KRPAI 2014

No Keadaan awal Wall following Harapan Pengujian 1 Pintu masuk Right Masuk ruangan Berhasil 2 Pojok ruangan Right Belok kiri Berhasil 3 Masuk ruangan Right Telusur dinding

(30)

18

Evaluasi

Pengujian untuk algoritme akusisi data jarak telah berhasil, karena hasil keluaran dari algoritme sama dengan hasil pengukuran sebenarnya. Oleh karena itu, hasil tersebut dapat langsung menjadi masukan untuk sistem navigasi dengan wall following dan logika fuzzy.

Pada pengujian algoritme navigasi didapatkan perbedaan hasil keluaran algoritme dan perhitungan manual sebesar 0.1 – 0.5 derajat, adanya pembulatan pada proses perhitungan, bukan pada proses integrasi algoritme. Oleh karena itu, proses integrasi tahap kedua dapat dianggap berhasil dilakukan.

Pengujian koordinasi gerakan kaki menunjukkan bahwa hasil perputaran robot sama dengan sudut perputaran seharusnya, walaupun terdapat sedikit perbedaan derajat karena jika sudut putar lebih dari 450 maka sudut putar akan diulang dua kali. Selain itu, pergerakan servo yang kadang tidak seimbang akan menambah perbedaan nilai derajat.

Pengujian kinerja robot pada konfigurasi ruangan 4 sesuai ketentuan KRPAI 2014 telah berhasil. Oleh karena itu, proses integrasi algoritme menunjukkan kinerja yang baik dan sesuai dengan ketentuan KRPAI 2014. Namun, hal yang menjadi kendala adalah cepat habisnya daya pada baterai yang digunakan, karena banyaknya jumlah servo yang harus digerakkan. Selain itu, menjaga posisi berdiri tegak pada sudut servo 900 juga menjadi salah satu faktor penyebab terkurasnya daya baterai.

Pergerakan robot juga menjadi lebih lambat. Aturan fuzzy yang digunakan membuat kompleksitas dari kode program menjadi meningkat sehingga menjadikan waktu eksekusi program dan penentuan sudut putar robot lebih lama. Akibatnya, pergerakan kaki-kaki robot juga menjadi lebih lambat.

SIMPULAN DAN SARAN

Simpulan

Penelitian telah berhasil mengintegrasikan algoritme akusisi data sensor, navigasi dengan wall following dan logika fuzzy, dan koordinasi dengan tripod gait. Pengujian integrasi algoritme dilakukan pada konfigurasi ruangan sesuai ketentuan KRPAI 2014.

Saran

(31)

19 Selain itu, modul untuk mendeteksi jumlah ruangan dengan sensor garis dan mendeteksi api dengan flame sensor belum diintegrasikan. Hal ini dapat menjadi topik penelitian selanjutnya.

DAFTAR PUSTAKA

Carelli R, Freire EO. 2003. Corridor navigation and wall-following stable control for sonar-based mobile robots. Robotics and Autonomous Systems. 45:235-247. doi:10.1016/j.robot.2003.09.005.

Chriswantoro EMY. 2013. Sistem navigasi pada robot pemadam api menggunakan wall following dan logika fuzzy [skripsi]. Bogor(ID): Institut Pertanian Bogor

[Dikti] Direktorat Pendidikan Tinggi. 2012. Panduan Kontes Robot Pemadam Api Indonesia (KRPAI) Beroda dan Berkaki 2013. Jakarta: Direktorat Pendidikan Tinggi.

Peri VM. 2002. Fuzzy logic controller for an autonomous mobile robot [tesis]. Hyderabad (IN): Jawaharlal Nehru Technological Univ.

PTDesign. 2000. Pulse width modulation [Internet]. [diunduh 2013 Jun 23]. Tersedia pada: fab.cba.mit.edu/classes/MIT/961.04/topics/pwm.pdf

RCToys. 2001. Announced specification of HS-645MG standard deluxe high torque servo [datasheet]. [diunduh 2012 Nov 2012]. Tersedia pada: www.rctoys.com/hitec-servos/HIT-HS645MG.pdf

Siciliano B, Khatib O 2008. Handbook of Robotics [bibliografi]. Berlin (DE): Springer.

Sidik NM. 2013. Analisis dan penerapan sensor jarak, sensor garis, sensor deteksi api, dan sensor garis pada fire fighting robot [skripsi]. Bogor(ID): Institut Pertanian Bogor.

Thirion B, Thiry L. 2002. Concurrent programming for the control of hexapod walking. ACM SIGAda Ada Letters. 22 (1):17-28. doi: 10.1145/507548.507551. Wulandari. 2013. Implementasi inverse kinematics untuk koordinasi gerak robot

(32)

20

(33)

21 Lampiran 2 Contoh Perhitungan Logika Fuzzy

Contoh (dengan aturan left wall following) Masukan : Aturan yang dipakai :

Aturan 1 : depan.dekat, samping.dekat, serong.jauh = kanan0 Aturan 2 : depan.dekat, samping.sedang, serong.jauh = kanan1 Evaluasi aturan

(34)

22

Lampiran 2 Contoh Perhitungan Logika Fuzzy (Lanjutan)

x1 = 56.25

x2 = 63.75

Agregasi dengan Center of Gravity (COG)

��� = (0.125∗3.75)+(0.125∗56.25)+(0.875∗56.22)+(0.875∗63.75) (2∗0.125)+(2(0.875 )

��� = 112 .5 2

��� = 56.25 0

1

30 40 50 60 70 80 90

D

er

aj

at

ke

an

ggo

taan

Jarak (cm)

(35)
(36)

24

(37)

25

RIWAYAT HIDUP

Penulis dilahirkan di Banjarnegara, Jawa Tengah pada tanggal 13 Mei 1991 dari ayah bernama Eko Dikoro dan ibu bernama Sainem. Penulis merupakan anak kelima dari 6 bersaudara. Pada tahun 2010, penulis menamatkan pendidikan di MAN 2 Banjarnegara. Penulis lulus seleksi masuk Institut Pertanian Bogor (IPB) pada tahun 2010 melalui jalur Undangan Seleksi Masuk IPB (USMI) di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam.

Gambar

Gambar 1 Alur penelitian
Gambar 2 Konfigurasi sensor jarak
Gambar 4 Konfigurasi KRPAI 2014
Gambar 5 (a) Robot Hexapod (b) SPC servo controller (c) Sensor Jarak HC-SR04
+7

Referensi

Dokumen terkait

Bioteknologi dapat digunakan untuk mengatasi kekurangan pembuatan antibodi poliklonal, artinya dimungkinkan diperoleh suatu antibodi yang spesifik, lebih murni dan

Abawayya (2010) dalam Fakri (2019) berpendapat bahwa ukuran komite audit yang dilihat dari semakin banyak jumlah anggota komite audit akan meningkatkan fungsi pengawasan terhadap

Masing-masing larutan yang dipipet diukur serapannya dengan spektrofotometer pada panjang gelombang maksimum, kemudian kadar parasetamol yang terdisolusi

Mereka tidak memiliki keyakinan tentang orang yang dibunuh melainkan hanya mengikuti dugaan.” Yang dimaksud oleh ayat ini ialah kaum Yahudi yang mengaku telah membunuh Isa

Sebuah mobil yang bergerak dengan percepatan konstan melewati jalan di antara dua buah titik yang berjarak 60 m dalam waktu 6 detik. Kecepatannya pada saat ia melewati titik

Trauma thoraks adalah luka atau cedera yang mengenai rongga thoraks yang dapat menyebabkan kerusakan pada dinding thoraks ataupun isi dari cavum thoraks yang

kan penawaran harga, kepala bagian pembelian dapat melihat penawaran harga dan perkiraan kedatangan buku pada sistem informasi pengadaan bahan perpustakaan. Gambar

Customer based brand equity dengan variabel brand awareness, brand associations, perceived quality dan brand loyalty secara simultan memiliki pengaruh signifikan