You are on page 1of 19

PERANCANGAN SISTEM GERAK DAN SISTEM NAVIGASI

PADA ROBOT HEXAPOD BERBASIS ARDUINO MEGA1280

Naskah Publikasi

diajukan oleh

Frian Hady Permana

08.11.2406

kepada

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

AMIKOM

YOGYAKARTA

2012
DESIGNING OF MOTION SYSTEM AND NAVIGATION SYSTEM IN HEXAPOD
ROBOT BASE ON ARDUINO MEGA1280

PERANCANGAN SISTEM GERAK DAN SISTEM NAVIGASI PADA ROBOT


HEXAPOD BERBASIS ARDUINO MEGA1280

Frian Hady Permana

Jurusan Teknik Informatika

STMIK AMIKOM YOGYAKARTA

ABSTRACT

Hexapod Robot is a robot that has six legs as a means of motion.


Hexapod robot have a lot of flexibility in moving. The design concept of the
hexapod robot has adapted the insect nervous system.

In the design of hexapod robots, motion systems and navigation systems


become a very important part especially for create an autonomous robot. System
requirements can be fulfilled by using one technology such as the Arduino.

Arduino is a microcontroller single board that open source, so it is easy to


learn especially to design and build robotic systems. Arduino will be integrated
with the robot sensors and actuators which will work together to achieve a
function of autonomous robot that can move and navigate in search of a
particular area.

Keyword: Hexapod robot, autonomous robot, arduino


1. Pendahuluan
Perkembangan teknologi informasi mengalami perkembangan pesat dari
masa ke masa yang terlihat dari invoasi yang dihasilkan dan terjadinya interaksi
sosial antara teknologi tersebut dengan kehidupan masyarakat yang
menyebabkan teknologi menjadi salah satu bagian dari kehidupan masyarakat.
Munculnya teknologi merupakan salah satu tuntutan dan kebutuhan dari manusia
yang menginginkan kemudahan dalam kehidupannya. Perkembangan teknologi
mengalami banyak evolusi baik dari teknologi komunikasi, transfortasi,
komputerisasi, otomasi, sistem informasi dan robotika.

Revolusi industri di Negara maju menjadi salah satu embrio yang


melahirkan teknologi yang terus menerus mengalami evolusi dan perkembangan.
Hal ini disebabkan oleh kompetisi untuk menciptakan teknologi yang memiliki
pengaruh besar bagi kehidupan manusia. Dengan adanya kompetisi ini
melahirkan ide-ide kreatif dan mengubah pola pikir manusia untuk lebih
berkembang dalam menciptakan teknologi seperti teknologi robotika. Pada
awalnya robot dioperasikan sebagai salah satu alat yang membantu dalam
industri tapi dewasa ini robot sudah bukan hal baru bagi manusia dimana semua
aspek kehidupan membutuhkan peran aktif dari teknologi robot tersebut. Para
praktisi dan peneliti mengembangkan teknologi robot ini bertujuan untuk
membantu manusia karena robot pada dasarnya merupakan sebuah alat yang
terbentuk dari kinerja mekanis, elektronis dan logika pemrograman yang dapat
membut robot bekerja sesuai dengan kebutuhan.
Bentuk dan konsep perancangan dari suatu robot dipengaruhi oleh fungsi
kerja dan tujuan dari robot tersebut, sehingga tidak semua robot memiliki
mobilitas untuk bergerak dari satu area ke area lain dan ada robot yang khusus
dirancang untuk dunia industri sehingga hanya diam dan bekerja secara
otomatis.
Pemerintah Indonesia sendiri mengadakan kompetisi robot di kalangan
mahasiswa dan pelajar yang bertujuan untuk pengembanan ide-ide kreatif dan
peningkatan kualitas sumber daya manusia sehingga menghasilkan inovasi baru
dalam dunia teknologi robotika tersebut. Indonesia meruapakan salah satu
Negara yang memiliki dukungan besar dalam dunia robotika, terbukti dengan
diadakannya berbagai kompetisi nasional dibidang robotika seperti Kontes Robot
Indonesia, Kontes Robot Cerdas Indonesia, Kontes Robot Seni Indonesia.
Tujuan dari kompetisi itu tidak lain untuk meningkatkan kualitas sumber daya
manusia khususnya dalam bidang IPTEK dan robotika.
Kontes Robot Cerdas Indonesia atau KRCI merupakan bentuk kompetisi
yang mengedepankan perlombaan robot cerdas otomatis dalam menjalankan
tugas tertentu, dan terdapat beberapa divisi perlombaan yaitu divisi beroda, divisi
berkaki, dan divisi humanoid. Untuk perlombaan pada divisi beroda dan berkaki
mengadopsi peraturan dari kontes robot luar negeri yaitu Fire - Fighting Robot
Contest yang diadakan di Trinity College, Hartford, Connecticut, AS. Didalam
peraturan kontes robot pemadam api (Fire Fighting Robot Contest), robot harus
memiliki kemampuan untuk menemukan dan memadamkan api di area lomba
yang sudah ditentukan. Tujuan dari perlombaan ini adalah sebagai simulasi
sebuah robot dalam usaha untuk memadamkan api di lokasi kebakaran.
Kemampuan bergerak dan bernavigasi merupakan modal yang harus
dimiliki robot untuk dapat menjalankan tugasnya tersebut. Banyak permasalahan
yang dihadapi para peserta kontes khususnya untuk KRCI devisi berkaki,
permasalahan dalam kemampuan robot untuk bergerak dan bernavigasi yang
menyebabkan robot tidak dapat menelusuri semua ruangan yang ada pada area
yang telah disediakan. Melihat latar belakang tersebut, penulis melakukan riset
dan membuat tulisan ilmiah ini dengan judul Perancangan Sistem Gerak Dan
Sistem Navigasi Pada Robot Hexapod Berbasis Arduino Mega1280.
Dengan adanya penelitian ini diharapkan dapat membantu masyarakat
dalam memahami dasar-dasar dalam perancangan sistem gerak dan sistem
navigasi pada sebuah robot cerdas berkaki sehingga dapat memberikan
kontribusi positif dalam dunia robotika Indonesia.
2. Landasan Teori
2.1. Mikrokontroler ATmega1280

Mikrokontroler yang merupakan salah satu teknologi semi konduktor


merupakan sebuah kombinasi dari sebuah CPU, memori dan I/O yang terintegasi
dalam bentuk sebuah IC atau dapat disebut dengan Single Chip. AT MEGA1280
merupakan salah satu mikrokontroller yang memiliki port yang lebih banyak
daripada seri ATMEL versi sebelumya, (seperti ATmega16, ATmega32,
ATmega8535). Sehingga dalam penanganan kontrol yang memerlukan I/O yang
banyak, membuat komponen menjadi lebih hemat baik dari segi sisi biaya dan
desain hardware yang dibutuhkan.

Gambar 2.5. Bentuk fisik mikrokontroler ATMEGA1280

Fitur yang dimiliki ATmega1280

1. Memiliki internal EPROM, sehingga tidak perlu lagi memakai baterai


untuk mem-backup isi RAM.
2. Memiliki 8 channel ADC 10 bit.
3. Ram internal 4kb (bandingkan 8535 yang hanya 2Kbyte).
4. 4KB EEPROM untuk program.
5. Internal watch dog. Nah ini penting, sehingga bisa mencegah sistem
hang.
6. Real Time Counter with Separate Oscillator.
7. Brown-out detector, juga mencegah hang.
8. In-system programming, tidak perlu programmer khusus.
9. 6 PWM Saluran dengan Programmable Resolusi 2-16 Bits.
10. 8-channel, 10-bit ADC :
a) 8 Single-ended Channels
b) 7 Differential Channels in TQFP Package Only
c) 2 Differential Channels with Programmable Gain at 1x, 10x, or
200x
11. Byte-oriented Two-wire Serial Interface
12. Programmable Serial USART
13. Master/Slave SPI Serial Interface
14. Programmable Watchdog Timer with Separate On-chip Oscillator
15. Internal kalibrasi RC Oscillator

2.2. Motor Servo

Motor servo adalah motor yang mampu bekerja dua arah yaitu searah
jarum jam (clockwise) dan berlawanan jarum jam (counterclockwise) dimana
arah dan sudut pergerakan rotornya dapat dikendalikan hanya dengan
memberikan pengaturan duty cycle sinyal PWM pada bagian pin kontrolnya.

Gambar 2.3. Bentuk Fisik Hitec Servo HS-645MG

Motor servo pada umumnya terdiri dari dua jenis yaitu servo continuous
dan servo standar. Servo continuous dapat berputar sebesar 360 derajat,
sedangkan motor servo tipe standar hanya mampu berputar 180 derajat. Motor
Servo harus memiliki kemampuan yang baik ketika dihadapkan dalam mengatasi
perubahan yang sangat cepat baik dalam hal posisi, kecepatan dan akselerasi.
Putaran motor tidak tergantung pada besarnya suplai tegangan ke motor, akan
tetapi seberapa besar sinyal inputan (PWM) yang diberikan. Untuk lebih jelasnya
perhatikan gambar dibawah ini.
90o

0o 180o

Sinyal inputan
PWM

Arah
piringan
servo

Gambar 2.4. Prisip kerja Motor Servo

2.3. Prinsip Kerja Sensor Ultrasonik pada Navigasi Robot

Pengukuran jarak dengan gelombang ultrasonik umumnya menggunakan


metoda waktu tempuh (Time Of Flight), yaitu selang waktu yang dibutuhkan
sejak gelombang ditransmisikan atau dipancarkan oleh transduser pemancar
(Tx) sampai gelombang tersebut diterima kembali oleh transduser penerima (Rx)
setelah dipantulkan oleh objek pemantul. Dengan mengetahui selang waktu
tersebut maka jarak antara transduser dengan objek dapat ditentukan.

Gambar 2.14. Prinsip Pengukuran Jarak Dengan Metoda Time Of Flight

2.4. Konsep Komunikasi I2C pada Mikrokontroler


I2C (Inter-Integrated Circuit) bus adalah sebuah standar protocol
komunikasi yang efektif digunakan untuk menghubungkan perangkat periferal
dalam skala kecil pada embedded system.
I2C menggunakan dua kabel untuk menghubungkan beberapa perangkat
di sebuah bus multi-drop. Bus adalah dua arah, kecepatan rendah, dan sinkron
pada clock yang saman. Beberapa produsen, seperti Microchip, Philips, Intel,
dan lain-lain menghasilkan mikrokontroler kecil dengan I2C built in. Data rate
pada I2C lebih lambat dari SPI yaitu 100 kbps dalam mode standar, dan 400
kbps dalam mode cepat.1
Dua kabel digunakan untuk menghubungkan dengan I2C adalah SDA (serial
data) dan SCL (serial clock). Mereka terhubung ke suplai positif melalui resistor
pull-up dan karena itu tetap High jika tidak digunakan. Perangkat yang
menggunakan bus I2C untuk berkomunikasi mengendalikan keadaan Low atau
membuat menjadi High. Setiap perangkat terhubung ke bus I2C memiliki alamat
unik dan dapat beroperasi baik sebagai pemancar (master bus), penerima (slave
bus), atau keduanya.

1
Catsoulis J., Designing Embedded Hardware, (USA: OReilly Media Inc, 2006), hlm. 174
3. Perancangan sistem
Pada bagian software akan dirancang sebuah aplikasi tertanam yang
dibangun dengan Arduino IDE sehingga dapat melakukan penanaman
kecerdasan pada robot untuk dapat bergerak dan bernavigasi.

Gambar 3.1. Diagram Blok Sistem Robot

3.1. Flowchart Navigasi Robot

Karena robot hexapod akan beroperasi di dalam suatu labirin maka robot
ini harus mempunyai kemampuan untuk berjalan menyusuri dinding. Untuk
mendukung hal tersebut maka robot dilengkapi dengan lima buah sensor yang
saling bekerjasama yang menjadi inputan bagi robot. Nilai jarak dari hasil
pembacaan sensor ping akan direferensikan dalam gerakan kaki-kaki robot.
Algoritma wall follower (telusur dinding) merupakan algoritma yang akan
menentukan efesiensi penelusuran robot. Untuk robot hexapod ini dirancang
untuk dapat menelusuri dinding kanan karena dilihat dari efisiensi pada bentuk
lapangan yang mengacu pada lapangan KRCI Nasional.
Mulai

Inisialisasi
Sub Sistem

Standby Mode

Inputan
Sound Sensor
Tidak

Ya

Baca Sensor Ultrasonik

Ya
Jarak Depan > 20 Maju

Tidak

Jarak Depan > 20 Ya


Maju
Jarak Kiri > Jarak Kanan

Tidak

Ya
Jarak Kanan > Jarak Kiri Kanan

Tidak

Ya
Jarak Depan < 20
Kiri
Jarak Kiri > Jarak Kanan

Tidak

Tidak Jarak Depan < 20 Ya


Maju Jarak Sudut Kiri < 20 Mundur, Kiri
Jarak Sudut Kanan <20

Gambar 3.2. Flowcart Navigasi Robot


4. Pembahasan
4.1 Bagian Mekanik
Untuk bagian badan secara keseluruhan menggunakan dengan ketebalan 3
mm sedangkan untuk bagian kaki dan lengan menggunakan akrilik dengan
ketebalan 5 mm.

Gambar 4.1 Bentuk Badan Robot Dari Atas

Gambar 4.2 Bentuk Lengan Atas


Gambar 4.3 Bentuk Lengan Tengah

Gambar 4.4. Bentuk Kaki


Gambar 4.5. Bagian Sensor Ultrasonik

4.2 Pengendalian Pergerakan Motor Servo


Dalam membuat gerakan pada robot ada beberapa hal yang harus
diperhatikan yaitu karakteristik dari pergerakan sudut di setiap bagian kaki dimana
tiap bagian kaki memiliki karakteristik pergerakan sudut yang berbeda, untuk lebih
jelasnya perhatikanlah gambar dibawah ini.

(axisL3) (axis R3)


(axis L1) (axis L2) (axis R2) (axis R1)

o o o o o o
180 0 180 0 180 0

o o o o o o
0 180 0 180 0 180
(axis L1) (axis L2) (axis L3) (axis R1) (axis R2) (axis R3)

Gambar 4.6. Sudut dan Poros Pada Semua Kaki Robot


4.3 Pemrograman
4.3.1 Pemrograman Motor Servo

Arduino IDE menyediakan library yang sangat membantu dalam melakukan


penanaman perangkat lunak pada robot hexapod.
#include <Servo.h>

Servo.h merupakan library untuk servo kontroler sehingga servo sebanyak 18 buah
dapat dikontrol melalui mikrokontroler.
4.3.2 Pemrograman Sensor Ultrasonik

Sensor ultrasonik berperan penting dalam sistem navigasi robot yaitu


sebagai subsistem yang akan menghitung jarak robot dengan dinding.
Mikrokontroler mengirimkan pulsa (trigger pulse) minimal sebesar 2 S.
Perintah ini dikirim menggunakan instruksi
pinMode(pingPin, INPUT);
duration = pulseIn(pingPin, HIGH);
Setelah pengiriman pulsa HIGH maka sensor ultrasonik akan menerima
gema (echo) yang dipantulkan menuju objek dan nantinya akan di konversi ke nilai
jarak inci dan centimeter.
inches = microsecondsToInches(duration);

cm = microsecondsToCentimeters(duration);

4.3.3 Pemrograman Komunikasi I2C

Melakukan setup terhadap komunikasi I2C dengan menambahkan library


wire pada kedua program yang tertanam didalam arduino master dan arduino slave.
#include <Wire.h>

Pada void setup arduino slave dan arduino master harus saling
berkomunikasi dimana akan terjadi proses send dan request antara kedua arduino.
Master akan bekerja untuk membaca data yang dikirim dari slave yang akan
diproses didalam loop.
Wire.requestFrom(2, 6);
while(Wire.available()){
char c = Wire.receive();
Serial.print(c); }
delay(500);

wire.requestFrom merupakan sebuah aksi yang dilakukan oleh arduino


master untuk meminta pengiriman data dari arduino slave melalui address 2.
void setup()
{
Wire.begin(2);
Wire.onRequest(requestEvent);
}
5. PENUTUP
5.1. Kesimpulan

Dari rangkaian proses analisis masalah, perancangan, pembuatan dan


pengujian robot hexapod yang telah dilakukan, dalam penyusunan penelitian ini
dapat ditarik beberapa kesimpulan penting yang berkaitan dengan perancangan
robot hexapod antara lain:

1. Penggunaan dua buah Arduino Mega1280 sebagai mikrokontroler pada


robot hexapod berjalan sesuai perancangan dimana arduino master
menjalankan tugasnya dengan maksimal dalam mengontrol pergerakan
18 buah motor servo. Sedangkan arduino slave mengontrol inputan dari
sensor ultrasonik. Komunikasi I2C antara kedua arduino ini berjalan
dengan lancar tanpa mengalami kendala.
2. Penggunaan motor servo dengan torsi 9 kilo sebagai aktuator robot yang
terpasang pada mekanik robot bekerja dengan baik. Lengan tengah dan
lengan bawah menggunakan akrilik dengan ketebalan 5mm sehingga
kuat untuk menopang badan robot. Tingkat kepresisian pada
pemasangan motor servo sangat mempengaruhi sudut dari pergerakan
tiap kaki khususnya pada proses kalibrasi sudut sehingga nilai dari sudut
tidak langsung bisa di generate pada nilai tertentu.
3. Penggunaan sensor ultrasonik sebagai sub sistem navigasi yang
mengukur jarak antara robot dengan dinding sudah cukup baik akan
tetapi terdapat beberapa masalah yang berkaitan dengan efektifitas
penggunaan jumlah sensor. Sudut tembak dari sensor ultrasonik sudah
berjalan baik khususnya sensor yang berada pada bagian depan, kanan,
dan kiri. Pada proses ujicoba menggunakan lima buah sensor pada robot
mengalami banyak error yang terjadi akibat tabrakan sinyal antara sensor
satu dengan sensor yang lain.
5.2. Saran
Dalam perancangan dan pembuatan sistem gerak dan navigasi pada robot
hexapod penulis memberi saran-saran pengembangan lebih lanjut untuk mencapai
sistem yang lebih sempurna:

1. Untuk menyempurnakan konstruksi mekanik robot khususnya masalah


tingkat kepresisian dalam integrasi aktuator dengan mekanik robot yaitu
dengan menggunakan pengerjaan mekanik robot yang dilakukan dengan
mesin yang memiliki tingkat kepresisian tinggi seperti mesin laser.
Dengan memiliki tingkat presisi yang tinggi maka proses kalibrasi pada
motor servo akan lebih mudah khususnya pada proses perancangan
sistem gerak.
2. Dibutuhkannya sebuah algoritma problem solving khususnya ketika salah
satu sensor mengalami permasalahan atau bahkan lebih dari satu buah
sensor tidak dapat bekerja. Hal ini tentunya menjadi bagian yang sangat
mendasar mengingat fungsi dari sensor ultrasonik sebagai bagian yang
menjadi inputan untuk dapat menghasilkan sebuah navigasi pada robot.
3. Dibutuhkannya pengembangan pada algoritma wall follower robot dimana
masih sering terjadinya error pada saat robot melakukan navigasi.
Adapun pengembangan yang dapat dilakukan adalah dengan
menambahkan algoritma PID khususnya untuk mendapatkan tingka
presisi yang tinggi dari navigasi robot.
Penulis sangat bahagia dengan senang hati ketika pembaca memberikan
sumbangan ilmu berupa kritik dan saran, karena penulis sadar keterbatasan
kemampuan sehingga diharapkan masukkan yang membangun agar robot hexapod
ini dapat berkembang jauh lebih baik.
DAFTAR PUSTAKA

Anonim, 2011. Arduino Mega


(http://www.arduino.cc/en/Main/ArduinoBoardMega, diakses 4 Mei 2012)

Anonim, 2012. Ping Ultrasonic Range Finder Tutorial


(http://www.arduino.cc/en/Tutorial/Ping, diakses 4 Mei 2012)

Anonim, 2012. ATmega640/1280/1281/2560/2561 Datasheet

(www.atmel.com/Images/doc2549.pdf, diakses 22 Mei 2012)

Anonim, 2012. Servo Library and Tutorial


(http://www.arduino.cc/playground/ComponentLib/Servo, diakses 4 Mei 2012)

Anonim, 2012, PING ))) Ultrasonic Distance Sensor (#28015)

(http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf, diakses 22 Mei


2012)

Anonim, 2012. PID

(http://id.wikipedia.org/wiki/PID, diakses 25 Mei 2012)

Pitowarno E., 2006 Desain, Kontrol, dan Kecerdasan Buatan , Penerbit C.V
Andi Offset, Yogyakarta

Catsoulis J., 2006 Designing Embedded Hardware, Penerbit OReilly Media


Inc, USA

Budiarto. Widodo, S.Si, M.Kom, 2004 interfacing Komputer dan


Mikrokontoler, Penerbit Elex Media Komputindo

Iswanto, 2008 Desain dan Implementasi Desain Embeded Mikrokontroler


ATMega8535 dengan Bahasa Basic, Penerbit Gava Media, Yogyakarta

Suyadi Taufiq Dwi Septian, 2008 Build Your Own Line Follower Robot,
Penerbit Andi, Yogyakarta

Wasito, 2006 Vademekum Elektronika Edisi Kedua, Penerbit PT Gramedia


Pustaka Utama, Jakarta

You might also like