Abstract
Kecerdasan buatan dalam bidang robotika adalah suatu algoritma cerdas yang diprogramkan ke
dalam kontroler robot. Kecerdasan ini diperlukan robot untuk membantu manusia menjalankan
suatu fungsi tertentu secara otomatis dan mandiri. Fungsi yang dilakukan oleh robot melalui
kecerdasan buatan dalam tugas akhir ini adalah melakukan penelusuran maze dari titik start
sampai menemukan titik finish. Kecerdasan buatan diimplementasikan menggunakan algoritma
pledge, yaitu sebuah algoritma pencari jalur dengan mempertimbangkan arah utama dan prioritas
penelusuran yaitu right wall priority dan left wall priority. Algoritma wall follower juga digunakan
dalam tugas akhir ini, algoritma ini digunakan sebagai pembanding kinerja terhadap algoritma
pledge. Algoritma wall follower memiliki dua konsep penelusuran, yaitu right hand rule dan left
hand rule. Pengujian yang dilakukan meliputi pengujian algoritma, pengujian terhadap Radiation
cone (radiasi sensor), pengujian terhadap maze, pengujian terhadap jarak sensor dan pengujian
waktu tempuh ke titik finish. Dari pengujian yang dilakukan dapat ditarik kesimpulan bahwa
tingkat keberhasilan dalam penelusuran maze sebesar 90%, karena pada pengujian dengan posisi
finish diluar lintasan robot tidak dapat berhenti tepat pada titik finish. Perangkat lunak dalam tugas
akhir ini dirancang dengan menggunakan bahasa pemrograman Basic dan menggunakan simulator
Mobotsim V.10.
PENDAHULUAN
1.1 Latar Belakang
Kecerdasan buatan merupakan bidang ilmu yang baru berkembang
pada tahun 90-an dan aplikasinya banyak diterapkan dalam berbagai bidang, mulai
dari games komputer, sistem kontrol
cerdas, robotik, sistem pakar. Pada bidang robotik, kecerdasan buatan banyak diaplikasikan
pada robot-robot tertentu dengan keistimewaan yang khusus dan berkaitan erat
dengan kebutuhan dalam bidang industri modern yang menuntut adanya suatu
instrumen dengan kemampuan yang tinggi yang dapat membantu menyelesaikan
pekerjaan manusia atau untuk menyelesaikan pekerjaan yang tidak mampu
diselesaikan oleh manusia.
Salah satu robot yang belakangan ini banyak menarik minat
para ahli untuk dikembangkan adalah mobile
robot. Menurut Hartanto (2005) mobile
robot merupakan robot yang dapat berpindah dari tempatnya menuju tempat
lain. Mobile robot menyerupai fungsi
makhluk hidup yang dapat berpindah, jenis robot ini biasanya diciptakan untuk
berbagai keperluan, seperti: mengangkut barang secara otomatis, melakukan
perjalanan atau pemantauan ke tempat-tempat berbahaya, sebagai alat hiburan (robotainment) atau mainan.
Kemampuan dari mobile
robot sangat beragam sesuai dengan tingkat dan jenis keperluan. Mobile robot terdiri dari robot line maze (penelusur garis) dan robot wall maze (penelusur dinding). Kedua
robot ini merupakan jenis robot beroda yang memiliki sensor berupa garis untuk line maze dan suatu dinding untuk wall maze dengan sirkuit tertentu
kemudian bergerak menelusuri garis atau dinding tersebut dengan modus tertentu.
Kedua robot ini biasa digunakan dalam bidang industri besar yang dianggap
berbahaya atau beresiko tinggi jika manusia yang melakukan hal tersebut atau
bahkan justru manusia tidak mampu untuk melakukan hal tersebut dengan cara
lain.
Dalam penerapannya robot line
maze memiliki kemungkinan error yang
lebih besar dibandingkan dengan robot wall
maze. Robot line maze menggunakan
sensor photodioda yang memiliki cara kerja dengan pantulan cahaya untuk
melakukan penelusuran garis, sehingga jika pengaruh dari cahaya disekitar garis
kurang, maka robot akan sulit mendeteksi keberadaan garis untuk bergerak maju.
Kelemahan lain yang dimiliki oleh robot line
maze adalah jika robot keluar dari lintasan garis yang dalam kondisi
tertentu robot berada terlalu jauh dari garis maka kemungkinan error yang ditimbulkan sangat besar,
sehingga diperlukan bantuan manual untuk mengembalikannya ke jalur sebelumnya.
Sedangkan robot wal maze bekerja
dengan menggunakan sensor ultrasonik yang
bisa memantulkan sensor dari semua objek yang dibaca oleh sensor dan tidak
terbatas hanya pada dinding. Robot wall
maze pada umumnya digunakan untuk perjalanan atau pemantauan suatu tempat
tertentu, dengan demikian robot wall maze
harus dapat memahami dengan baik keberadaan lingkungan tempat robot
tersebut berada dan harus memberikan respon terhadap keberadaan lingkungannya
tersebut dengan baik. Lingkungan yang dimaksud dapat berupa labirin (maze).
Pemecahan maze dapat
dilakukan dengan berbagai metode atau algoritma, diantaranya algoritma Depth First Search, Maze Mapping, Flood
Fill, Wall Follower dan Pledge. Metode
atau algoritma ini digunakan sebagai sistem kendali yang bisa membuat robot
mampu melewati maze dengan baik dan
dengan tingkat error seminimal
mungkin. Dengan demikian, waktu yang
ditempuh untuk mencapai tujuan menjadi lebih efektif sesuai dengan konsep dari
masing-masing algoritma yang nantinya digunakan.
Terkait penelitian yang dilakukan sebelumnya mengenai
penerapan algoritma pledge untuk
menyelesaikan maze pada robot line follower atau line maze yang dilakukan oleh Arif Darmawan dan kawan-kawan (2010).
Dalam penelitiannya, algoritma pledge dikembangkan
dengan memberikan dua prioritas penelusuran yaitu right wall priority (prioritas dinding kanan) dan left wall priority (prioritas dinding
kiri) hal ini dilakukan untuk memudahkan penelusuran ketika menemukan
persimpangan berbentuk T pada maze yang
berbentuk garis.
Berkaitan dengan hal tersebut di atas, tugas akhir ini
mencoba untuk mengimplementasikan suatu jenis kecerdasan-buatan robot wall maze yang digunakan dalam pencarian
jalur menuju ke tujuan yang diinginkan di suatu lingkungan, yaitu lingkungan
labirin (maze) berbentuk dinding atau
ruangan dengan start awal robot di
salah satu sudut labirin dan tujuan berada di sudut yang lain dengan menggunakan
algoritma pencarian jalur yaitu algoritma pledge.
Untuk menguji kinerja algoritma pledge tugas
akhir ini juga melakukan analisa terhadap algoritma wall follower yang nantinya dijadikan pembanding terhadap algoritma
pledge.
1.2 Rumusan Masalah
Dari latar belakang yang telah diuraikan sebelumnya, maka
permasalahan yang akan dibahas dalam penelitian ini adalah, ”Bagaimana
menganalisa perbandingan antara algoritma pledge
dengan algoritma wall follower pada
robot wall maze”.
1.3 Batasan Masalah
Batasan yang digunakan dalam penelitian ini agar pembahasan
yang dilakukan tidak meluas yaitu:
1. Pembahasan
hanya pada kecerdasan buatan yang diterapkan pada robot wall maze, tidak membahas tentang perancangan perangkat robot.
2. Pengujian
dilakukan dalam bentuk simulasi dengan menggunakan simulator Mobotsim V.10.
1.4 Tujuan Penelitian
Tujuan
penelitian tugas akhir ini adalah:
1. Melakukan
analisa terhadap kecerdasan buatan yang dirancang pada robot wall maze untuk menyelesaikan sebuah maze dengan menganalisa perbandingan
algoritma pledge dan algortima wall follower, agar sebuah robot wall maze dapat mencapai titik finish pada sebuah maze dan memiliki kemampuan untuk menentukan jalur yang lebih
efektif dan efisien.
2. Dikatakan
efektif karena keakuratan penelusuran berdasarkan masing-masing algoritma dalam
menghindari rintangan dan lebih efisien karena waktu tempuh penelusuran dari
masing-masing algoritma yang nantinya dapat ditentukan jalur terpendek menuju
titik finish.
1.5 Sistematika Penulisan
Laporan Tugas Akhir ini terdiri dari enam bab yang disusun
dengan sistematika penulisan sebagai berikut:
BAB I.
|
PENDAHULUAN
Bab
ini berisi tentang Latar Belakang pelaksanaan penelitian, Rumusan Masalah
yang dihadapi, Batasan yang digunakan, Tujuan Tugas Akhir yang hendak dicapai
melalui penelitian ini serta Sistematika Penulisan.
|
BAB II.
|
LANDASAN TEORI
Bab
ini membahas teori-teori yang berhubungan dengan pembahasan penelitian yang
diangkat, yang terdiri dari pembahasan mengenai teori kecerdasan buatan (Artificial Intelligence), robotika,
labirin (maze), algoritma pencarian
jalur dan simulator Mobotsim.
|
BAB III.
|
METODOLOGI PENELITIAN
Pada
bab ini dijelaskan mengenai tahapan dalam pelaksanaan penelitian tugas akhir.
Tahapan penelitian tugas akhir dimulai dari pengumpulan data, identifikasi
dan perumusan masalah, analisa, perancangan, implementasi dan pengujian
hingga diperoleh kesimpulan akhir dari penelitian
|
BAB IV.
|
ANALISA
DAN PERANCANGAN
|
Bab
ini berisi tentang analisa algoritma yaitu algoritma Pledge dan algoritma Wall
Follower, analisa simulasi dan setelah analisa selesai maka dilakukan
perancangan.
BAB V. IMPLEMENTASI DAN PENGUJIAN
Bab ini berisi penjelasan mengenai implementasi yang terdiri
dari:
tahapan
implementasi yaitu batasan
implementasi, lingkungan
implementasi dan implementasi interface
perangkat simulasi,
kemudian dilanjutkan dengan tahapan pengujian dan kesimpulan
pengujian.
BAB VI. PENUTUP
Bab
ini berisi kesimpulan yang dihasilkan dari pembahasan tentang Analisis
perbandingan antara algoritma pledge dengan
algoritma wall follower pada robot wall maze dan beberapa saran sebagai
hasil akhir dari penelitian yang telah dilakukan.
2.2 Robotika
Robotika adalah satu cabang teknologi yang berhubungan
dengan desain, konstruksi, operasi, disposisi struktural, pembuatan, dan
aplikasi dari robot. Robotika terkait dengan ilmu pengetahuan bidang
elektronika, mesin, mekanika, dan perangkat lunak komputer.
2.2.1 Sejarah Robotika
Keunggulan dalam teknologi robotik tak dapat dipungkiri
telah lama dijadikan icon kebanggan
negara-negara maju di dunia. Kecanggihan teknologi yang dimiliki, gedung-gedung
tinggi yang mencakar langit, tingkat kesejahteraan rakyatnya yang tinggi,
kota-kotanya yang modern, belumlah terasa lengkap tanpa popularitas kepiawaian
dalam dunia robotik.
Robot adalah alat menaknika yang dapat melakukan tugas
fisik, baik lewat pantauan manusia, maupun bekerja secara komputerisasi yang
menghasilkan kecerdasan dan perilaku yang individu.
Kata robot yang berasal dari bahasa Czech, robota, yang berarti pekerja, mulai
menjadi populer ketika seorang penulis berbangsa Czech (Ceko), Karl Capek,
membuat pertunjukan dari lakon komedi yang ditulisnya pada tahun 1921 yang
berjudul RUR (Rossum’s Universal Robot). Ia bercerita tentang mesin yang
menyerupai manusia, tapi mampu bekerja terus-menerus tanpa lelah. (Pitowarno,2006)
Gambar 2.1 Robot RUR (Rossum's Universal Robot)
Penciptaan robot yang sesunguhnya (bukan robot dalam
sandiwara Karel Capek), bermula dari keinginan manusia untuk membuat tiruan
binatang atau manusia itu sendiri. Namun fasilitas pengetahuan pada masa itu
nampaknya menjadi kendala terbesar dalam terwujudnya proyek tersebut. Akhirnya,
dibuatlah robot sederhana beroda yang digunakan untuk keperluan navigasi,
pengamatan tingkah laku, sampai dengan perencanaan jalur.
Istilah robot ini kemudian memperoleh
sambutan dengan
diperkenalkannya
robot jerman dalam film Metropolis tahun 1926 yang sempat dipamerkan dalam New York World’s Fair 1939. Film ini
mengisahkan tentang robot berjalan mirip manusia beserta hewan peliharaannya
(Pitowarno, 2006).
Tahun 1941, barulah istilah robotics digunakan dalam teknologi robot
oleh penulis fiksi ilmiah Isaac Asimov. Dia juga memprediksi akan munculnya
robotrobot industri canggih dimasa datang. Jika kita lihat hari ini, maka apa
yang dibayangkan olehnya terbukti dimana begitu pesatnya perkembangan
robot-robot industri saat ini. Istilah revolusi robot, robot age atau era robot sudah menjadi hal biasa untuk menjelaskan
perkembangan itu. Robotics diterima
sebagai istilah atau kata untuk mendeskripsikan semua kemajuan teknologi yang
berhubungan dengan robot.
Pada tahun 1956 Georde Devil dan Joseph
Engelberger membentuk perusahaan robot pertama kali tahu 1956. Devil
memprediksi robot akan menjadi bagian penting di industri sebagai operator
pabrik dan membantu pekerja dalam menjalankan mesin-mesin pabrik. Beberapa
tahun kemudian atau tepatnya 1961, General Motor pertama kali menggunakan robot
untuk pabrik otomotifnya.
Gambar 2.2 Robot Industri
Dewasa ini mungkin definisi robot industri itu sudah tidak
sesuai lagi karena teknologi mobile robot sudah dipakai secara meluas sejak
tahun 80-an. Seiring itu pula kemudian muncul istilah robot humanoid, animaloid, dan sebagainya.
Bahkan kini dalam industri spesifik seperti industri perfilman, industri
angkasa luar dan industri pertahanan atau mesin perang, robot arm atau
manipulator bisa jadi hanya menjadi bagian saja dari sistem robot secara
keseluruhan (Pitowarno, 2006).
Kembali atas jasa insan film, istilah robot ini makin
popular dengan lahirnya robot R2D2 dan C3Po dalam film Star Wars pertama pada tahun 1977.
Gambar 2.3
Robot R2D2 dan C3Po dalam film starwars
Menurut Fu et al. (1987) penelitian dan pengembangan pertama
yang berbuah produk robotik dapat dilacak mulai dari tahun 1940-an ketika
Argone National Laboratories di Oak Ridge, Amerika, memperkenalkan sebuah
mekanisme robotik yang dinamai master-slave manipulator. Robot ini digunakan
untuk menangani material radioaktif. Kemudian produk pertama robot komersial
diperkenalkan oleh Unimation Incorporated,
Amerika pada tahun 1950-an. Hingga belasan tahun kemudian langkah komersial ini
telah diikuti oleh perusahaan-perusahaan lain. Namun demikian, seperti ditulis
dalam beberapa sumber, penelitian intensif dibidang teknologi robotika telah
menjadikan robotik sebagai sebuah disiplin ilmu kala itu belum terpikirkan.
Di negara-negara yang telah mapan kala itu, seperti Amerika,
Inggris, Jerman dan Perancis mulai bermunculan grup-grup riset yang menjadikan
robotik sebagai temanya, kemudian diikuti oleh Jepang, yang dipelopori oleh
ilmuwanilmuwan yang baru pulang dari menimba ilmu di Amerika. Bahkan, di
kemudian hari Jepang-lah yang tercatat sebagai negara yang paling produktif
dalam mengembangkan teknologi robot. Hal ini tidak lain karena jepang gigih
dalam melakukan penelitian teknologi infrastruktur seperti komponen dan piranti
mikro (microdevices) yang akhirnya
bidang ini terbukti sebagai inti dari pengembangan robot modern.
Gambar 2.4 Robot Asimo milik Honda
2.2.2 Sistem Robot dan Orientasi Fungsi
Sistem robot dan orientasi fungsi dalam dunia robotika
meliputi (Pitowarno, 2006):
1.
Sistem Kontroler
Adalah rangkaian elektronik yang setidak-tidaknya terdiri
dari rangkaian prosesor (CPU, Memori, komponen interface Input/output), signal
conditioning untuk sensor (analog dan atau digital), serta driver untuk aktuator. Bila diperlukan
bisa dilengkapi dengan sistem monitor seperti seven segment, LCD (liquid
crstal display) ataupun CRT (cathode
ray_tube).
2.
Mekanik Robot
Adalah sistem mekanik yang dapat terdiri dari
setidak-tidaknya sebuah sistem gerak. Jumlah fungsi gerak disebut sebagai
derajat kebebasan atau degree of freedom (DOF).
Sebuah sendi yang diwakili oleh sebuah gerak actuator disebut sebagai satu DOF. Sedangkan derajat kebebasan pada
struktur roda dan kaki diukur berdasarkan fungsi holonomic atau non-holonomic.
3.
Sensor
Adalah perangkat atau komponen yang bertugas mendeteksi
(hasil) gerakan atau fenomena lingkungan yang diperlukan oleh sistem
kontroller. Dapat dibuat dari sistem yang paling sederhana seperti sensor
ON/OFF menggunakan limit switch,
sistem analog, sistem bus parallel, sistem bus serial, hingga sistem mata kamera.
4.
Aktuator
Adalah perangkat elektromekanik yang menghasilkan daya
gerakan. Dapat dibuat dari sistem motor listrik (motor DC, permanent magnet, brushless, motor DC servo, motor DC stepper,
solenoid, dsb.), sistem pneumatic (perangkat
kompresi berbasis udara atau gas nitrogen), dan perangkat hidrolik (berbasis
bahan cair seperti oli). Untuk meningkatkan tenaga mekanik aktuator atau torsi
gerakan dapat dipasang sistem gearbox,
baik sistem direct-gear (sistem
lurus, sistem ohmic/worm-gear), sprochet-chain (gir-rantai, gir-belt,
ataupun sistem wire-roller)
5.
Sistem Roda
Adalah sistem mekanik yang dapat menggerakkan robot untuk
berpindah posisi. Dapat terdiri dari sedikitnya sebuah roda penggerak (drive atau steer) dua roda deferensial (kiri kanan independent ataupun sistem belt seperti tank), tiga roda (synchro
drive atau sistem holonomic),
empat roda (Ackermann model/car like
mobile robot atau sistem mecanum
wheels) ataupun lebih.
6.
Sistem Kaki
Pada dasarnya sistem kaki adalah gerakan ‘roda’ yang
didesain sedemikian rupa hingga memiliki kemampuan gerak seperti makhluk hidup.
Robot berjalan dengan sistem dua kaki atau biped
robot memiliki struktur kaki seperti manusia setidak-tidaknya memiliki
sendi-sendi yang mewakili pergelangan kaki, lutut dan pinggul. Dalam konfigurasi
yang ideal pergerakan pada pinggul dapat terdiri dari multi DOF dengan
kemampuan gerakan memutar seperti orang menari jaipong. Demikian juga pada
pergelangan kaki, idealnya adalah juga memiliki kemampuan gerakan polar. Untuk
robot binatang, (animaloid) seperti
serangga, jumlah kaki dapat didesain lebih dari empat. Bahkan robot ular yang
memiliki DOF yang lebih dari 8 sesuai dengan panjang robot (ular) yang
didefinisikan.
7.
Sistem Tangan
Adalah bagian atau anggota badan robot selain sistem roda
atau kaki. Dalam konteks mobile robot, bagian tangan ini dikenal sebagai
manipulator yaitu sistem gerak yang berfungsi untuk memanipulasi (memegang,
mengambil, mengangkat, memindah atau mengolah) obyek. Pada robot industri
fungsi mengolah ini dapat berupa perputaran (memasang mur-baut, mengebor/ drilling, dll.), tracking (mengelas, membubut, dsb) ataupun mengaduk (control
proses). Untuk robot tangan didesain sendi lengan diukur berdasarkan DOF.
Lengan dapat dibuat kaku atau tegar (rigid)
ataupun fleksibel (flexible manipulator).
8.
Real World
Real world atau dunia nyata didefinisikan sebagai daerah
kerja (workspace) daripada robot.
Robot yang tersusun dari tangan/manipulator saja memiliki workspace yang
terbatas sesuai panjang jangkauan tangannya. Untuk robot beroda/berkaki, workspace-nya menjadi relatif tak
terbatas tergantung kemampuan jelajahnya. Dengan menggabung robot tangan ke
atas mobile robot maka daerah kerja
untuk navigasi dasar dapat berupa mengikuti jalur di jalan (seperti linefollower atau route-runner robot, model labirin pada robot tikus, robot marka
jalan berbasis vision), berjalan menuju ke obyek atau sasaran (menggunakan
sensor radar, sonar, kamera, proximity), ataupun berjalan menuju sasaran dengan
menghindari halangan (obstacle).
Untuk bagian tangan, tugasnya dapat berupa tracking mengikkuti referensi
trajektori, menuju atau menghindari obyek berupa vision, dan segala terminology
manipulasi yang mungkin dilakukan sesuai dengan tool pada posisi TIP atau ujung/pergelangan tangan.
2.2.3 Kontrol Robotik
Kontrol adalah bagian yang amat penting dalam robotik, tanpa
kontrol hanya akan menjadi benda mekatronik yang mati. Dalam sistem kontrol
robotik, terdapat dua bagian, yaitu perangkat keras elektronik dan perangkat
lunak yang berisi program kemudi serta algoritma control (Pitowarno, 2006).
Dalam hal ini, system control bertugas mengkolaborasikan
system elektronik dan mekanik dengan baik agar mencapai fungsi seperti yang
dikehendaki. Tanda dalam interseksi adalah posisi atau bagian dimana terjadi
interaksi antara ketiga bagian itu.
Sistem kontroler sendiri
memiliki mekanisme kerja seperti yang diilustrasikan berikut ini:
Gambar 2.5 Mekanisme Kerja (Program) Kontroler
Tiga prosedur utama, yaitu baca sensor, memproses data
sensor, dan mengirim sinyal aktuasi ke aktuator adalah tugas utama kontroler.
Ilustrasi ini mengisyaratkan bahwa sebenarnya tugas kontroler adalah sederhana.
Dengan membaginya menjadi tiga bagian maka seorang enginer akan lebih mudah dalam melakukan analisa tentang bagaimana
kontroler yang didesainnya bekerja. Meski dalam program kemudi robot secara
kompleks namun sebenarnya tetap dapat dibagi ke dalam tiga bagian besar itu
yaitu: Baca sensor, Memproses data (algorithma kontrol dalam program kemudi),
Tulis data (sinyal aktuasi ke aktuator).
Prosedur “Baca sensor” dapat terdiri dari berbagai teknik
yang masingmasing membawa dampak kerumitan dalam pemrograman. Setidak-tidaknya
ada dua macam teknik yang digunakan kontroler dalam menghubungi sensor, yaitu polling dan interrupt. Teknik polling adalah
prosedur membaca data berdasarkan pengalamatan langsung yang dapat dilakukan
kapan saja kontroler menghendaki. Sedang pada teknik interrupt, kontroler melakukan pembacaan jika sistem sensor
melakukan interupsi, yaitu dengan memberikan sinyal interrupt ke kontroler (via
perangkat keras) agar kontroler (CPU) melakukan proses pembacaan. Selama tidak
ada interrupt maka kontroler tidak akan mengakses sensor tersebut.
Bagian yang berfungsi untuk memproses data sensor adalah
bagian yang paling penting dalam program kontroler. Para peneliti dan enginer
dapat dengan leluasa mengembangkan berbagai ide, teori dan teknik bagaimana
membuat robot dapat bekerja sesuai harapan. Berbagai algoritma kontrol mulai
dari teknik klasik dapat diterapkan. Jika dikehendaki kontrol yang lebih pintar
dan dapat beradaptasi dapat memasukkan berbagai algoritma kontrol adaptive hingga teknik artificial intelligent.
Bagian ketiga, yaitu prosedur “Tulis data” adalah bagian
yang berisi pengalamatan ke aktuator untuk proses penulisan data. Dalam konteks
rangkaian elektronik, data ini adalah sinyal aktuasi ke kontroler seperti
berapa besar tegangan dan arus yang masuk ke motor, dan sebagainya.
2.3 Labirin (Maze)
Labirin (Maze)
memiliki arti tempat yg penuh dengan jalan dan lorong yang berliku-liku dan
simpang siur atau sesuatu yg sangat rumit dan berbelit-belit. Maze juga dapat juga diartikan sebagai
sistem rongga atau saluran yg berhubungan. Labirin (Maze) biasanya dikenal sebagai sebuah taman yang berliku-liku dan
sangat rumit untuk menemukan jalan keluar, namun sebuah maze juga dapat diasumsikan
pada bangunan atau gedung yang memiliki banyak ruangan dengan letak yang rumit.
Pada bidang robotika ada dua jenis maze yang umum digunakan, yaitu wall
maze dan line maze. Wall maze pada umumnya dikenal dengan
istilah labirin, yakni suatu jaringan jalan yang terbentuk
atas lorong-lorong dengan dinding tanpa atap. Pada line maze, jaringan jalan yang terbentuk dibuat dengan menggunakan
garis. Jika garis berwarna putih maka background berwarna hitam atau
sebaliknya. Permasalahan yang timbul pada maze
adalah cara untuk mendapatkan jalur terpendek, sehingga dibutuhkan metode
untuk menyelesaikannya.
Gambar 2.6 Bentuk Labirin (Maze)
2.4 Algoritma Pencari Jalur
Ada beberapa algoritma yang sering digunakan dalam pencarian
jalur dalam sebuah maze diantaranya Depth first search, Flood Fill, Maze Mapping, Pledge
dan Wall Follower (Indrawan, 2008).
2.4.1 Depth
first search
Merupakan metode yang intuitif dalam pencarian jalur di
lingkungan labirin. Pada dasarnya robot dengan algoritma ini bergerak dan
ketika menemukan percabangan, secara acak memilih salah satu jalurnya, jika
jalur itu pada akhirnya buntu, robot ini
kembali ke percabangan tadi dan memilih jalur yang lain. Algoritma ini
mengakibatkan robot untuk mengeksplorasi setiap cell di dalam labirin, robot pada akhirnya sampai pada cell tujuan.
Jelas, mengeksplorasi keseluruhan labirin bukan merupakan
cara yang efektif dan juga, walaupun menemukan jalur, itu bukan jalur tercepat
atau terpendek menuju ke tujuan.
2.4.2 Flood
Fill
Algoritma ini melibatkan pemberian nilai pada masing-masing cell penyusun labirin, dimana nilai ini
mempresentasikan jarak dari sembarang cell
tujuan. Selanjutnya cell tujuan
diberikan nilai 0. Jika robot pencari jalur berada di sebuah cell dengan nilai 1, robot tersebut 1 cell jauhnya dari tujuan. Jika robot
berada pada cell dengan nilai 3,
robot tersebut 3 cell jauhnya dari
tujuan, begitu seterusnya.
Kelemahan dari algoritma ini ialah pada flood
fill posisi start robot tidak bisa diubah-ubah dan bentuk dimensi maze harus diketahui terlebih dahulu sebelum robot
dijalankan (Rahman, 2010).
2.4.3 Maze
Mapping
Maze mapping
merupakan
algoritma yang digunakan untuk mapping,
yakni mencari dan menggambarkan peta jalan keluar dari maze. Maze mapping pada
umumnya di berbagai sumber menjelaskan dengan istilah path mapping yang konsep dasar dalam pencariannya mengikuti aturan wall follower (pada robot wall follower) atau left/right
hand rule (pada robot line tracer)
(Mishra, 2008).
2.4.4 Pledge
Algoritma pledge didesain
untuk rintangan melingkar dan memiliki arah awal untuk bergerak maju. Ketika
berhadapan dengan rintangan, maka robot akan menggunakan metode penulusaran wall follower yang akan menghindari
rintangan dengan meprioritaskan sisi kanan atau kiri. Ketika robot kembali ke
arah awal dan total hitungan belokan adalah “0”, maka penyelesaian berlanjut
sampai bertemu halangan kembali (Kamphans, 2004).
Berikut ini adalah pseudocode untuk mempermudah pemahaman tentang urutan
algoritma pledge.
Algoritma
2.1 Algoritma Pledge (Darmawan, 2010)
Algoritma diatas digunakan untuk perancangan robot dengan
penelusuran line maze (penelusuran
garis). Robot akan terus berjalan ke arah utama sampai menemukan halangan yang
berbentuk garis. Ketika robot menemukan halangan, robot akan melakukan
penelusuran dengan metode wall follower yaitu
dengan mengikuti lintasan berupa garis sesuai prioritas yang diterapkan sambil
menghitung total belokan.
Flowchart dari Algoritma pledge adalah sebagai berikut (Darmawan, 2010):
Gambar 2.7 Flowchart Algoritma Pledge dan Bagian yang Dimodifikasi
Flowchart yang
dijelaskan pada Gambar 2.7 digunakan untuk robot line maze. Penjelasan dari flowchart
pada Gambar 2.7 adalah sebagai berikut, robot berjalan menuju arah utama,
misalnya arah utara sebagai arah utama robot. Arah utama adalah arah dimana
robot pertama kali di start. Apabila
belum terdapat halangan dan masih tersedia jalan utama maka robot akan terus
berjalan kearah utama tersebut. Ketika robot mendapat halangan sehingga tidak
mungkin berjalan ke arah utama maka robot akan melakukan teknik wall follower sambil melakukan
perhitungan total belokan yang dilakukan. Apabila berbelok ke kanan ditambah 1
apabila berbelok ke kiri total belokan dikurangi satu. Robot akan kembali ke
jalan utama apabila total belokan yang ditempuh = 1. Proses ini akan terus dilakukan dengan robot akan melakukan mapping terhadap lintasan terus menerus
sampai robot menemui garis finish (Kamphans,
2004).
2.4.5 Wall
Follower
Algoritma ini merupakan teknik yang paling sederhana dalam
pencarian jalur di lingkungan labirin. Pada dasarnya, robot dengan algoritma
ini memiliki dua konsep penelusuran yaitu right
hand rule atau konsep tangan kanan yaitu mengikuti dinding kanan dan left hand rule atau konsep tangan kiri
dengan mengikuti dinding sebelah kiri sebagai petunjuk di sekeliling labirin
untuk menemukan jalan keluar.
Algoritma ini cenderung berharap menemukan jalan keluar
dibanding mencoba menyelesaikan labirin tersebut. Langkah-langkah yang
dilakukan adalah sebagai berikut dalam pseudo-code
(Harapan, 2009):
Algoritma 2.2 Algoritma Wall
Follower (Harapan, 2009)
Pada kasus-kasus tertentu, algoritma ini tidak akan bekerja
karena robot tidak bisa mengatasi looping
dan akan berputar-putar terus di pinggir labirin sehingga tidak dapat
mencari jalur menuju ke tengah dan menemukan titik finish (Indrawan, 2008).
Gambar
2.8 Lingkungan Labirin Dimana Algoritma Wall Follower Tidak Bekerja
2.5 Mobotsim
Mobotsim adalah sebuah perangkat lunak untuk simulasi 2D
robot roda (mobile robot atau Mobot).
Perangkat lunak Mobotsim ini menyediakan suatu antarmuka grafis yang mewakili
suatu lingkungan dimana user dapat
dengan mudah bisa membuat, mengatur dan menyunting mobot dan objek-objek
rintangan (Putra, 2005).
Gambar 2.9 Mobile Robot
Agar mampu mengatur gerakan robot roda tersebut, mobotsim
memiliki editor bahasa Basic yang dapat digunakan untuk menuliskan makro-makro
yang memanfaatkan fungsi-fungsi khusus robot untuk mendapatkan berbagai macam
informasi, misalnya tentang koordinat robot dan data sensor, serta mangatur
gerakan robot berdasarkan informasi-informasi yang diperoleh tersebut.
2.5.1 World Frame dan Sistem
Koordinat
World frame merupakan
area (region) dua-dimensi yang
mewakili lingkungan mobile robot bekerja.
Pertama kali user menjalankan
Mobotsim, akan dibuat sebuah world frame secara
default berukuran 20 x 20 meter,
selanjutnya user bisa mengubah
ukurannya sesuai dengan kebutuhan.
World frame menggunakan
sistem koordinat kartesian standar dalam meter dan derajat, dengan titik asal
di kiri atas, sebagaimana ditunjukkan pada gambar
2.10, sebuah
grid dengan jarak 1 meter ditunjukkan
sebagai acuan.
X [m]
Gambar 2.10 World
Frame dan Sistem Koordinatnya
2.5.2 Jarak atau Ranging Sensor
Untuk mengatur jarak atau ranging sensor dalam mobotsim dapat dilakukan pada mobot configuration lalu pilih tab Ranging Sensor. Untuk lebih jelasnya
dapat dilihat pada gambar dibawah ini:
Gambar 2.11 Tab Ranging
Sensor
Dari Gambar 2.11 dapat dijelaskan bahwa besar radiation cone yang digunakan adalah 25
derajat dengan ranging sensor antara
0-5 meter dan pada umumnya jumlah sensor yang digunakan adalah 12, namun user
masih dapat mengganti jumlah sensor sesuai kebutuhan simulasi. Nomor sensor
dihitung dari sisi paling kanan dari bagian robot dengan melawan arah jarum
jam, semakin ke kiri maka semakin besar nomor sensor tersebut. Sensor dengan
sisi paling kanan bernilai 0.

Gambar 2.12 Ilustrasi Sensor Yang Digunakan
Dalam penerapannya di dalam coding, sensor dapat diinisialisasikan berupa huruf seperti a,b,c
atau abjad lainnya.
2.5.3 Pembacaan Mark
Mark atau titik finish dapat dideteksi oleh robot dengan
cara melihat posisi robot pada koordinat X atau Y, jika robot membaca titik finish melalui koordinat sumbu X maka ketika robot berbanding lurus
dengan koordinat X pada titik finish dalam
arti nilai koordinat X pada titk finish sama
dengan nilai koordinat X pada robot maka
robot akan berhenti melakukan penelusuran, tetapi jika nilai koordinat X pada
robot masih lebih besar dari koordinat X pada titik finish maka robot masih akan terus melakukan penelusuran sampai
posisi robot pada koordinat X sama dengan koordinat X pada mark atau titik finish.
Hal yang sama juga berlaku jika pembacaan mark
atau titik finish dilakukan
melalui koordinat sumbu Y.
METODOLOGI PENELITIAN
Metodologi penelitian mempunyai peranan yang sangat penting
dalam penelitian tugas akhir, karena pada metodologi penelitian ini
menggambarkan langkah-langkah secara sistematis yang dilakukan dalam memecahkan
permasalahan yang diangkat. Deskripsi dilengkapi dengan penyajian diagram alur
pelaksanaan penelitian untuk memudahkan dalam memahami tahapan penelitian.
Dalam penulisan Tugas Akhir ini, studi literatur yang
dilakukan yaitu dengan membaca berbagai literatur yang berkaitan dengan tulisan
yang penulis kemukakan. Langkah-langkah yang akan ditempuh dalam penelitian ini
dapat dilihat pada diagram alir dibawah ini:

Gambar 3.1 Metodologi Penelitian
Dalam metodologi penelitian dijabarkan tahapan-tahapan yang
dilakukan dalam penelitian. Metodologi penelitian terdiri dari beberapa tahapan
yang terkait secara sistematis. Tahapan ini diperlukan untuk memudahkan dalam
melakukan penelitian. Tahapan yang dilakukan dalam penelitian adalah sebagai
berikut:
Pada tahap ini dilakukan pengumpulan data yang berhubungan
dengan penelitian dan pembuatan sistem, yaitu dengan:
1. Studi Kepustakaan (Library
Research)
Studi kepustakaan dilakukan dengan cara mempelajari
buku-buku, jurnal-jurnal dan artikel-artikel di internet yang berhubungan
dengan permasalahan yang dibahas yaitu mengenai Pemanfaatan Kecerdasan Buatan (Artificial Intelligence) untuk
Menyelesaikan Maze pada Robot Wall Maze dengan Algoritma Pledge.
Jurnal, buku dan artikel yang dipelajari, diantaranya:
jurnal yang dibuat oleh Tom Kamphans dan Elmar Langetepe dengan judul “The Pledge Algorithm Reconsidered Under
Error in Sensor and Motion” dan jurnal Arif Darmawan, yang berjudul ”Penerapan Algoritma Pledge untuk
Menyelesaikan Maze pada Line Follower Robot”, dari kedua jurnal ini penulis
mempelajari tentang algoritma pledge yang
digunakan sebagai acuan dalam tugas akhir ini. Sedangkan artikel yang penulis
pelajari adalah artikel dengan judul “Maze
Solving Algorithm for Micro Mouse” milik Swati Mishra, dari artikel ini
penulis mempelajari tentang Algoritma-algoritma dalam penelusuran sebuah maze. Adapun buku yang penulis gunakan
dalam penulisan tugas akhir ini adalah buku yang disusun oleh Suyanto, ST, M.Sc yang berjudul “Artificial Intellegence: Searching,
Reasoning, Planning, Learning” dari penerbit Informatika Bandung, dari buku
ini penulis mempelajari tentang dasar dan konsep tentang kecerdasan buatan (Artificial Intellegence).
Dari pengamatan pendahuluan yang dilakukan, Permasalahan
yang muncul adalah menentukan algoritma yang tepat untuk menyelesaikan maze berbentuk dinding yang nantinya
algoritma tersebut dapat dibandingkan ketepatan dan kecepatannya dalam
menelusuri maze.
Berdasarkan identifikasi masalah yang telah dijelaskan, maka
perlu dirumuskan bagaimana menganalisis perbanding antara algoritma yang
dipilih yaitu algoritma pledge dan wall follower sebagai pembanding kinerja
algoritma pledge pada robot wall maze.
Analisa permasalahan berkaitan dengan mengidentifikasi
kebutuhan algoritma dalam suatu penelitian. Dan analisa yang dilakukan dalam
tugas akhir ini terbagi atas dua tahapan, yaitu analisis algoritma yaitu
algoritma pledge dan algoritma wall follower kemudian dilanjutkan
dengan analisa simulasi dari masing-masing algoritma yang telah dianalisa.
Setelah melakukan analisa, maka kemudian dilanjutkan dengan
perancangan berdasarkan analisa permasalahan yang telah dilakukan sebelumnya.
Dalam tugas akhir ini perancangan dilakukan dalam tiga tahapa, yaitu:
perancangan maze dan mobot (mobile robot), perancangan geometri dan
jarak sensor, kemudian perancangan mark atau
titik finish.
Implementasi merupakan suatu konversi dari desain sistem
yang telah dirancang kedalam sebuah program komputer dengan menggunakan bahasa
pemrograman Basic berbasis desktop. Adapun
fungsi-fungsi dari analisa perbandingan antara algoritma pledge dan algoritma wall
follower adalah untuk melihat algoritma mana yang lebih unggul dan tepat
dalam menyelesaikan maze yang
digunakan dalam tugas akhir ini. Implementasi dalam tugas akhir ini terdiri
dari 3 tahap yaitu: batasan implementasi, lingkungan implementasi dan
implementasi simulator dan interface.
Pengujian ini berfokus pada perangkat lunak berupa
kecerdasan buatan yang akan diterapkan untuk mencari jalan keluar dalam sebuah maze pada robot wall maze sehinggan robot dapat menemukan titik tujuan dengan
algoritma pledge dan algoritma wall follower, yang nantinya dapat
dilihat perbandingan antara kedua algoritma tersebut. Pengujian dalam tugas
akhir ini terdiri dari: pengujian algoritma, pengujian radiasi sensor,
pengujian waktu tempuh, pengujian nilai jarak sensor, pengujian posisi start dan finish yang berbeda dan pengujian dengan kondisi maze yang berbeda. Setelah pengujian
dilakukan maka dalam tahap ini dilakukan analisa akhir terhadap hasil pengujian
yang nantinya dapat dirumuskan kesimpulan dari semua pengujian.
Pada tahap ini ditarik kesimpulan-kesimpulan yang dihasilkan
dari pembahasan tentang analisa perbandingan antara algoritma pledge dan algoritma wall follower pada robot wall maze serta saran untuk perbaikan
pengembangan tugas akhir ini.
ANALISIS DAN
PERANCANGAN
4.1. Analisis Algoritma
Analisis algoritma ini bertujuan untuk menjelaskan alur
pergerakan robot. Algoritma yang digunakan adalah algoritma pledge dan algoritma wall follower yang digunakan sebagai
pembanding terhadap algoritma pledge.
4.1.1 Analisis Pergerakan Robot Menggunakan
Algoritma Wall Follower
Seperti yang telah dijelaskan di dalam bab II landasan
teori, algoritma wall follower merupakan
algoritma pengikut dinding kiri atau kanan sebagai petunjuk di sekeliling
labirin. Dalam tugas akhir ini algoritma wall
follower digunakan sebagai pembanding atas kinerja algoritma pledge. Penulis memilih algoritma wall follower karena algoritma ini juga
digunakan dalam pengembangan algoritma pledge.
Algoritma Wall follower terdiri dari dua
teknik penelusuran yaitu right hand rule dan
left hand rule
4.1.1.1 Algoritma
Wall Follower Dengan Right Hand
Rule
Algoritma ini dirancang untuk penelusuran
maze dengan
memprioritaskan
dinding kanan sebagai petunjuk robot untuk menelusuri maze.
Flowchart dari algoritma ini adalah sebagai
berikut:
Gambar 4.1 Flowchart Algoritma
Wall Follower dengan Right Hand Rule
Berdasarkan flowchart algoritma
wall follower dengan right hand rule yang ditunjukkan pada
Gambar 4.1 dapat dijelaskan bahwa:
1.
Proses penelusuran maze
dimulai dengan melakukan setting konfigurasi pada propertis robot, yang
terdiri dari nama robot, index robot, posisi robot, propertis roda dan sensor
robot.
2.
Setelah setting konfigasi selesai, maka dilanjutkan dengan
menginisialisasi sensor yang digunakan, J=sensor. Dalam simulasi right hand rule ini, sensor yang
digunakan ialah sensor ke 4 dari 12 sensor atau J=4.
3.
Selanjutnya, jalankan robot dengan sudut 180o agar
robot dapat berjalan ke arah utama atau berjalan lurus.
4.
Ketika robot menemukan rintangan atau dinding dengan jarak
sensor ke dinding kurang dari 0,9 meter maka robot akan berbelok ke kiri dan
kembali berjalan lurus sampai menemukan rintangan atau dinding kembali.
5.
Jika robot menemukan rintangan atau dinding dengan jarak
sensor ke dinding lebih dari 1 meter, maka robot akan berbelok ke kanan.
6.
Jika tidak terdapat halangan lagi maka robot akan mencari
titik finish dengan menghitung jarak finish dengan keberadaan robot tersebut.
7.
Jika robot menemukan titik finish maka robot akan berhenti dan proses penelusuran selesai,
jika tidak maka robot akan mengulang perintah mulai dari berjalan dengan sudut
180 atau berjalan lurus dan seterusnya sampai robot menemukan titik finish.
Untuk lebih memahami Algoritma dari Wall follower dengan right hand
rule, berikut pseudocode dari
algoritma tersebut:
Algoritma
4.1 Algoritma Wall Follower dengan Right Hand Rule
4.1.1.2 Algoritma
Wall Follower Dengan Left Hand
Rule
Seperti algoritma wall
follower dengan right hand rule yang
telah dijelaskan sebelumnya. Algoritma ini juga dirancang untuk penelusuran maze dengan memprioritaskan dinding kiri
terlebih dahulu sebagai petunjuk robot untuk menelusuri maze. Flowchart dari
algoritma ini adalah sebagai berikut:
Gambar 4.2 Flowchart Algoritma
Wall Follower dengan Left Hand Rule
Flowchart pada
algoritma ini hampir sama flowchart pada
algoritma right hand rule,
perbedaannya hanya pada pengaturan sensor untuk pembacaan dinding. Berdasarkan flowchart algoritma wall
follower dengan left hand rule yang
ditunjukkan pada Gambar 4.2 dapat dijelaskan bahwa:
1.
Proses penelusuran maze
dimulai dengan melakukan setting konfigurasi pada propertis robot, yang
terdiri dari nama robot, index robot, posisi robot, propertis roda dan sensor
robot.
2.
Setelah setting konfigasi selesai, maka dilanjutkan dengan
menginisialisasi sensor yang digunakan, J=sensor. Dalam simulasi left hand rule ini, sensor yang
digunakan ialah sensor ke 3 dari 5 buah sensor atau J=3.
3.
Selanjutnya, jalankan robot dengan sudut 180o agar
robot dapat berjalan ke arah utama atau berjalan lurus.
4.
Ketika robot menemukan rintangan atau dinding dengan jarak
sensor ke dinding lebih dari 0,9 meter maka robot akan berbelok ke kanan dan
kembali berjalan lurus sampai menemukan rintangan atau dinding kembali.
5.
Jika robot menemukan rintangan atau dinding dengan jarak
sensor ke dinding kurang dari 1 meter, maka robot akan berbelok ke kiri.
6.
Jika tidak terdapat halangan lagi maka robot akan mencari
titik finish dengan menghitung jarak finish dengan keberadaan robot tersebut.
7.
Jika robot menemukan titik finish maka robot akan berhenti dan proses penelusuran pun selesai,
jika tidak maka robot akan mengulang perintah mulai dari berjalan dengan sudut
180 atau berjalan lurus dan seterusnya sampai robot menemukan titik finish.
PENUTUP
6.1 Kesimpulan
Setelah menyelesaikan serangkaian tahapan-tahapan terhadap
perancangan algoritma pledge pada
robot wall maze yang dimulai dari
pengumpulan data tentang algoritma pledge
hingga pada tahapan pengujian, maka dapat diambil beberapa kesimpulan
diantaranya adalah sebagai berikut:
1.
Hasil penerapan algoritma pledge untuk menyelesaikan maze
pada robot wall maze memiliki
tingkat keberhasilan sebesar 90%, karena pada pengujian dengan posisi finish diluar lintasan robot tidak dapat
mencapai titik finish seperti yang
diinginkan, namun robot tetap berhenti sesuai koordinat Y dari titik finish.
2.
Algoritma pledge yang
dimodifikasi memiliki 2 kemungkinan
prioritas
yang dapat digunakan yaitu Right wall
priority dan Left wall priority.
Tidak ada keunggulan ditiap prioritasnya, yang membedakan hanya pada saat
pengambilan keputusan ketika robot menemui rintangan berbentuk persimpangan.
3.
Algoritma wall
follower digunakan sebagai pembanding kinerja algoritma pledge. Algoritma ini memiliki dua
konsep penelusuran yaitu right hand rule dan
left hand rule.
4.
Dengan bentuk maze yang
digunakan dalam tugas akhir ini, dapat dilihat bahwa algoritma pledge lebih unggul dalam melakukan
penelusuran dibandingkan dengan algoritma wall
follower, ini disebabkan:
a. Algoritma wall follower melakukan penelusuran
hanya berdasarkan dinding kanan dan kiri, sehingga hampir keseluruhan dinding
pada bagian kiri ditelusuri.
b. Penelusuran
dengan wall follower memakan waktu
yang lebih lama dibanding algoritma pledge
yang melakukan penelusuran berdasarkan arah utama, sehingga tidak perlu
melakukan penelusuran terhadap keseluruhan dinding yang diprioritaskan.
5.
Tampilan 2D pada simulator Mobotsim V.10 mengakibatkan
kurang akuratnya visualisasi terhadap halangan atau dinding yang dirancang
melalui objek-objek yang tersedia. Tinggi dari halangan atau dinding tidak
dapat ditentukan sehingga ketika robot bertemu dengan setiap objek yang
dirancang kedalam worl frame, robot
akan membacanya sebagai halangan dan menghindarinya.
6.2 Saran
Untuk penelitian kedepannya penulis memiliki beberapa saran
yang dapat dikembangkan pada penelitian selanjutnya, seperti:
1. Analisa
penelusuran terhadap maze ini dapat
diterapkan dengan menggunakan algoritma-algoritma penelusuran dan menggunakan
simulator lainnya, seperti simulator dengan tampilan 3D agar bentuk robot dan maze yang digunakan dapat
divisualisasikan dengan lebih jelas.
2. Pengembangan
robot wall maze juga bisa dilakukan
dengan menambahkan kemampuan lain kepada robot, misalnya mengembangkannya
menjadi robot pemadam api, sehingga robot memiliki kecerdasan bukan hanya dalam
menelusuri jalur dan mencari titik finish
tetapi robot tersebut juga dapat memadamkan api sesuai dengan konsep
kecerdasan yang nantinya akan ditanamkan.
DAFTAR
PUSTAKA
Anita, Nur Syafidtri. Robot
Micromouse Dengan
Menggunakan Algoritma. [online] available www.gunadarma.ac.id/library/articles/.../Artikel_21105199.pdf,
diakses
tanggal 3 januari 2012.
Budiharto, Widodo, Membuat
Sendiri Robot Cerdas, Elex Media Komputindo, Jakarta, 2006.
Budiharto, Widodo, 10
Proyek Robot Spektakuler, Elex Media Komputindo, Jakarta, 2008.
Darmawan, Arif, Hendriawan, Akhmad dan Akbar, Reesa. Penerapan Algoritma Pledge untuk
Menyelesaikan Maze pada Line Follower Robot. Tugas Akhir EEPIS-ITS, 2010.
David,
Giessel, Building a Mouse, UAF MicroMouse, 2007
Harapan, Samudra, Bekti, Pencarian
Shortest Path Dinamik Dengan Algoritma Bellman-Based Flood-Fill Dan
Implementasinya Pada Robot Micromouse, Tugas akhir ITB, 2009.
Hartanto, Dwi dan Raharjo, Suwanto. Visual Downloader untuk Microcontroller AT89C2051 . Andi
Offset, Yogyakarta, 2005.
Indrawan, Gede. Perancangan
dan Implementasi Kecerdasan Buatan Robot Pencari Jalur Berbasis Microcontroler
Basic Stamp. Tesis UI, 2008.
Iqbal, M, Nugraha, Hendriawan, Akhmad dan Akbar Reesa. Penerapan Algoritma Maze Mapping untuk
menyelesaikan Maze pada Line Tracer. Tugas Akhir EEPIS-ITS, 2009.
Kamphans, Tom dan Lengetepe, Elmer. The Pledge Algorithm Reconsidered under Errors in Sensors and Motion. Departmen
of computer science, Bonn, Germany, 2004.
Kusumadewi, Sri, Artificial
Intelligence: Teknik dan Aplikasinya, Graha Ilmu, Yogyakarta, 2003.
Mishra, Swati. Maze Solving Algorithm for Micro Mouse.
IEEE International Conference on Signal Image Technology and Internet Based
Systems: 2008.
Pitowarno, Endra, Robotika
Desain, Kontrol dan Kecerdasan Buatan, Andi Offset, Yogyakarta, 2006.
Putra, Agfianto Eko. Pengendalian
Mobile Robot (MOBOT) Dengan MOBOTSIM v1.0, Gaya Media, Yogyakarta, 2005.
Putra,
Agfianto Eko. MOBOTSIM v1.0: Software
Pembelajaran Pengendalian
Mobile Robot. [online]
available http://agfi.staff.ugm.ac.id/blog/index.php/2009/01/mobotsim-v10-softwarepembelajaran-pengendalian-mobile-robot/, diakses tanggal 29 Desember 2011.
Reiners, Paul D. Robots,
Mazes, And Subsumption Architecture. [online] available http://www.ibm.com/developerworks/java/library/j-robots/, diakses
tanggal 3 Januari 2012.
Setiawan,
Sandi, Artificial Intelligence, Andi
Offset, Yogyakarta, 1993.
Suparman,
Mengenal Artificial Intelligence,
Andi Offset, Yogyakarta, 1991.
Suyanto, Artificial
Intellegence: Searching, Reasoning, Planning, Learning. Informatika
Bandung, Bandung, 2007.