REALISASI ROBOT PENCARI JALAN DALAM
MAZE
DENGAN METODE RUNUT-BALIK
Disusun oleh :
Nama : Merlin Kala NRP : 0422111
Jurusan Teknik llektro, Fakultas Teknik, Universitas Kristen Marantha Jalan Prof. Drg. Suria Sumantri 65 Bandung 40164, Indonesia
lmail : merlin_cantique@yahoo.com
ABSTRAK
Sekarang ini, teknologi berkembang dengan pesat. Robot merupakan salah satu dari perkembangan teknologi yang ada. Pada dasarnya, robot dikelompokkan menjadi empat model, yaitu : robot manual, robot terprogram, robot pintar dan robot cerdas. Masing-masing robot memiliki ciri khas. Robot terprogram dapat mengerjakan sesuatu berulang-ulang atau dengan kata lain dapat mengerjakan pekerjaan yang sama, namun robot dengan model ini tidak dapat berubah cara kerjanya karena ada perubahan lingkungan. Robot pintar memiliki ciri khas seperti robot terprogram namun robot dengan tipe seperti ini memiliki sensor yang berguna untuk membaca keadaan sekitarnya. Sedangkan robot cerdas dapat beradaptasi dan “dapat belajar”.
Dalam Tugas Akhir ini, telah dibuat robot pintar yang dapat mencari jalan dalam maze. Robot terbuat dari rangka mobil-mobilan yang dimodifikasi dengan diberi tambahan akrilik sebagai dudukan enam buah sensor jarak infra merah, dan juga menggunakan pengontrol mikro ATmega 16. Robot ini menggunakan metode runut-balik untuk menyelesaikan maze yang telah dibuat. Robot mobil bergerak dengan differential drive. Robot akan melakukan runut balik/
backtracking pada saat robot menemukan jalan buntu.
Dari hasil percobaan yang telah dilakukan, diperoleh kesimpulan bahwa robot mobil dapat dikendalikan menggunakan pengontrol mikro ATMega16 untuk melakukan manuver belok dan menggunakan sensor jarak infra merah untuk mendeteksi jalan yang terdapat pada maze. Algoritma yang digunakan telah dapat mencari jalan keluar dengan metoderunut-balik. Robot tidak bekerja dengan baik ketika berada pada simpang empat. Secara keseluruhan percobaan, tingkat keberhasilan mencapai 60 % dari tiap pola maze yang diujikan.
Kata Kunci : Sensor Jarak Infra Merah, Pengontrol Mikro ATmega 16, Metode Runut-Balik, differential drive, maze.
REALIZATION OF MAZE SOLVER ROBOT
USING BACKTRACKING
METHOD
Disusun Oleh:
Nama : Merlin Kala NRP : 0422111Jurusan Teknik llektro, Fakultas Teknik, Universitas Kristen Maranatha, Jl. Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia,
email : merlin_cantique@yahoo.com
ABSTRACT
Nowadays technology is developing rapidly. Robot is one of technology developments. Basically robot is divided to four models: manual robot, programmed robot, smart robot and intelligent robot. lach robot has their characteristic. Programmed robot can do tasks iteratively or in other words robot can do the same task but this type of robot cannot change its work when there is an environment change. As intelligent robot can adapt and learn.
In this Final Project, a smart robot that can find a path in the maze. The robot was made from a modified framework car. It has been created using acrylic material to hold six infrared proximity sensors, and also use the Atmega micro controller 16. This robot using backtracking method to solve the maze. Robot car moving with differential drive. Robot will be doing backtracking when it found a deadlock path.
The experiments result show that the robot can be controlled using the microcontroller to maneuver and find the path to solve the maze. The algorithm used has been able to find a solution by the method of backtracking. Robots do not work well when the maze has four intersection path. On the whole experiment, the success rate reaches 60% of each maze pattern tested.
Keyword: Infrared Range Sensor, Microcontroller Atmega 16, Backtracking method, Differential Drive, Maze.
DAFTAR ISI
II.1.3 Klasifikasi Robot Berdasarkan Proses Pengontrolnya [6]...7
II.I.4 Sistem Kontrol Robotik [3] ...7
II.2 Maze [4]...9
II.2.1 Bentuk Maze...9
II.3 Metode Runut-balik...11
II.4 Sensor [2]...12
II.4.1 Sensor Jarak Infra Merah [2]...12
II.5 Pengontrol Mikro [1]...14
II.5.1 Pengenalan ATMlL AVR RISC [6]...14
II.5.2 Pengontrol Mikro ATmega16 [6]...15
II.5.2.1 Fitur ATmega16 [6]...15
II.5.2.2 Konfigurasi Pin ATmega16 [1]...16
II.5.2.3 Diagram Blok ATmega16 [1]...18
II.5.2.4 General Purpose Register ATmega16 [6]...19
II.5.2.5 Peta Memori ATmega16 [6]...20
II.5.2.6 Pin Input/Output ATMlGA16 [6]...21
II.5.2.7 PWM (Pulse Width Modulation) ATmega16[6]...22
BAB III PlRANCANGAN DAN RlALISASI III.1 Metode Runut-balik……….………...…………...24
III.2. Perancangan Sistem Robot Mobil……….…....24
III.3. Perancangan dan Realisasi Robot Mobil………..25
III.4. Rangkaian Sensor……….…………...26
III.5. Pengontrol...27
III.5.1 Skematik Pengontrol Berbasis Pengontrol Mikro ATmega16...27
III.6 Algoritma Pemprograman pada ATMega16...28
BAB IV DATA PlNGAMATAN DAN ANALISA IV.1 Pengujian Sensor Jarak Inframerah (GP2D12)...32
IV.1.1 Pengukuran Jarak dengan Objek Dinding Maze...32
IV.2 Pengujian Pola Gerak Robot Mobil Pencari Jalan Dalam Maze...34
BAB V KlSIMPULAN DAN SARAN V.1 Kesimpulan...47
V.2 Saran...47
DAFTAR PUSTAKA...48
LAMPIRAN
LAMPIRAN A
Foto Sistem Tampak Depan...A-1 Foto Sistem Tampak Samping ...A-1 Foto Sistem Tampak Atas...A-2 Foto Sistem Tampak Belakang...A-2 LAMPIRAN B
Daftar Program Code Vision……...B-1 LAMPIRAN C
Datasheet GDP12D2...C-1
DAFTAR TABEL
Tabel 2.1 Spesifikasi Sensor Inframerah Sharp GP2D12...13
Tabel 2.2 Fungsi Khusus Port B………..…...17
Tabel 2.3 Fungsi Khusus Port C...18
Tabel 2.4 Fungsi Khusus Port D. ...18
Tabel 2.5. Konfigurasi Port ATMlGA16...22
Tabel 4.1 Tabel Pengukuran Jarak Steroform Terhadap Sensor Jarak Infra Merah(GP2D12)...32
Tabel 4.2 Tabel Pengukuran Jarak Steroform Terhadap Sensor Jarak Infra Merah (GP2D120X)...32
Tabel 4.3 Data Pengamatan Maze Pertama...36
Tabel 4.4 Data Pengamatan Maze Kedua...38
Tabel 4.5 Data Pengamatan Maze Ketiga...42
Tabel 4.6 Data Pengamatan Maze Keempat...45
DAFTAR GAMBAR
Gambar 2.1 Kontrol Robot Loop Terbuka...7
Gambar 2.2 Kontrol Robot Loop Tertutup...8
Gambar 2.3 Bentuk Maze A...9
Gambar 2.4 Bentuk Maze B...10
Gambar 2.5 Bentuk Maze C...10
Gambar 2.6 Bentuk Maze D...11
Gambar 2.7 Bentuk Sensor Inframerah Sharp GP2Y0A21...12
Gambar 2.8 Diagram Blok Sensor Inframerah Sharp GP2Y0A21...13
Gambar 2.9 Grafik Output Tegangan Analog vs Jarak...14
Gambar 2.10 Konfigurasi Pin ATMega16...16
Gambar 2.11 Diagram blok ATmega16...19
Gambar 2.12 General Purpose Register ATmega16...20
Gambar 2.13 Pemetaan Memori ATmega16...20
Gambar 2.14 Pemetaan Memori Data ATmega16...21
Gambar 2.15 Phase & Frequency Correct PWM...23
Gambar 3.1 Diagram Blok Sistem Robot Mobil...24
Gambar 3.2 Dimensi Robot Mobil...25
Gambar 3.3 Posisi Penempatan Sensor-sensor pada Robot Mobil...26
Gambar 3.4 Alokasi Pin Sensor Infra Merah GP2D12...27
Gambar 3.5 Skematik Pengontrol Berbasis Pengontrol Mikro ATmega16...28
Gambar 3.6 Diagram Alir Program...29
Gambar 3.7 Diagram Alir Program robot Mundur...30
Gambar 4.1 Ilustrasi Cara Pengukuran Jarak Menggunakan Sensor Jarak Infra Merah (GP2D12) ...32
Gambar 4.2. Pada saat Robot Mulai dari Start...35
Gambar 4.3. Pada saat Robot Belok Mengikuti Jalan Maze...35
Gambar 4.4 Pada saat Robot Mundur karena Menemui Jalan Buntu...35
Gambar 4.5 Pada saat Robot Belok ke kiri Setelah Mundur...36
Gambar 4.6 Pada saat Robot Berjalan Menelusuri Maze...36
Gambar 4.7 Pada saat Robot Menemui Jalan Keluar...36
Gambar 4.8 Pola Gerakan Robot...37
Gambar 4.9 Pada Saat Robot Mulai dari Posisi Start...38
Gambar 4.10 Pada saat Robot Mulai Berjalan...38
Gambar 4.11 Pada Saat Robot Sampai Posisi Finish...39
Gambar 4.12 Pola Gerakan Robot...39
Gambar 4.13 Pada Saat robot mulai dari posisi start...40
Gambar 4.14 Pada saat Robot Menelusuri Maze...41
Gambar 4.15 Pada saat Robot Menemui Halangan / Jalan Buntu...41
Gambar 4.16 Ketika robot menemui jalan buntu, robot akan melakukan backtracking...41
Gambar 4.17 Ketika Robot Menemukan Jalan Keluar...42
Gambar 4.18 Ketika robot menelusuri maze ke kanan...42
Gambar 4.19 Pada saat Robot Berada di Posisi Finish ...42
Gambar 4.20 Pola Gerakan Robot...43
Gambar 4.21 Pada saat Robot diletakkan Maze, Robot akan merunut jalan ke tembok Maze sebelah kanan...44
Gambar 4.22 Pada saat Robot Menelusuri Maze...44
Gambar 4.23 Robot merunut ke kanan...45
Gambar 4.24 Robot berputar-putar di dalam maze ...45
Gambar 4.25 Pola Gerakan Robot ...45
LAMPIRAN A
Tampak Depan
Tampak Belakang
Tampak Samping
Tampak Atas
LAMPIRAN B
PROGRAM UTAMA
/***************************************************** This program was produced by the
CodeWizardAVR V1.25.3 Standard Automatic Program Generator
© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com
// Alphanumeric LCD Module functions #asm
.equ __lcd_port=0x15 ;PORTC #endasm
#include <lcd.h>
#define ADC_VREF_TYPE 0x60
// Read the 8 most significant bits // of the AD conversion result
unsigned char read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); // Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10; return ADCH; }
// Declare your global variables here
void maju_1(){
l1 = 2141.72055 * (pow(l1,-1.078867)); // kiri 1 f1 = read_adc(1);
f1 = 2141.72055 * (pow(f1,-1.078867)); // depan 1 r1 = read_adc(2);
r1 = 2141.72055 * (pow(r1,-1.078867)); // kanan 1 l2 = read_adc(3);
l2 = 2141.72055 * (pow(l2,-1.078867)); // kiri 2 f2 = read_adc(4);
f2 = 2141.72055 * (pow(f2,-1.078867)); // depan 2 r2 = read_adc(5);
r2 = 2141.72055 * (pow(r2,-1.078867)); // kanan 2
}else if ((r1<15) && (f1<20) && (l1>20) ){
// Declare your local variables here
// Input/Output Ports initialization // Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00;
DDRA=0x00;
// Port B initialization // Func=out
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00;
DDRB=0xFF;
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTD=0x00;
DDRD=0xFF;
// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 10.800 kHz
// Mode: Phase correct PWM top=FFh // OC0 output: Non-Inverted PWM TCCR0=0x65;
TCNT0=0x00; OCR0=0x70;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off
// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off
TCCR1A=0x00; // Clock source: System Clock // Clock value: 10.800 kHz
// Mode: Phase correct PWM top=FFh // OC2 output: Non-Inverted PWM ASSR=0x00;
// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC Clock frequency: 691.200 kHz // ADC Voltage Reference: AVCC pin // ADC Auto Trigger Source: None // Only the 8 most significant bits of // the AD conversion result are used ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x84;
// LCD module initialization lcd_init(16);
depan_a_status=1;
while (1) {
while(depan_a_status){ depan_a();
LAMPIRAN C
DATASHEET GP2D12
BABBI
PENDAHULUAN
Pada bab ini berisi tentang latar belakang, identifikasi masalah, perumusan
masalah, tujuan, pembatasan masalah, spesifikasi alat, dan sistematika penulisan
laporan Tugas Akhir.
I.1 LatarBBelakang
Pada zaman sekarang ini, teknologi berkembang dengan sangat cepat.
Semua orang di dunia ini membutuhkan teknologi dalam hidupnya guna
mempermudah setiap pekerjaan yang dilakukan.
Robot merupakan salah satu dari sekian banyak perkembangan teknologi
yang ada. Pada dasarnya, robot dikelompokkan menjadi 4 model, yaitu : robot
manual, robot terprogram, robot pintar dan robot cerdas. Masing-masing model
robot memiliki ciri khas. Robot terprogram bisa mengerjakan sesuatu
berulang-ulang atau dengan kata lain bisa mengerjakan pekerjaan yang sama namun robot
dengan model ini tidak bisa berubah kerjanya karena ada perubahan lingkungan.
Robot pintar memiliki ciri khas seperti robot terprogram namun robot dengan tipe
seperti ini memiliki sensor yang berguna untuk membaca keadaan sekitarnya.
Sedangkan robot cerdas dapat beradaptasi dan ”dapat belajar”.
Contoh dari robot pintar yang sering dilakukan penelitian adalah robot
pencari jalan dalam maze. Robot ini dikatakan dapat cerdas karena bila robot
menemukan jalan yang salah maka robot akan mundur/melakukan backtracking.
I.2 IdentifikasiBMasalah
Identifikasi masalah pada Tugas Akhir ini adalah adanya kebutuhan
melakukan penelitian agar robot menjadi pintar.
Bab I Pendahuluan
2
I.3 PerumusanBMasalah
Perumusan masalah yang akan dibahas dalam Tugas Akhir ini adalah
bagaimana merealisasikan robot pencari jalan dalam maze dengan metode
runut-balik.
I.4 Tujuan
Tujuan yang akan dicapai dalam Tugas Akhir ini adalah untuk membuat
robot pencari jalan dalam maze dengan metode runut-balik.
I.5 PembatasanBMasalah
Pembatasan masalah pada tugas akhir ini dibatasi oleh :
1. Kecepatan yang tidak diperhitungkan.
2. Metode yang digunakan adalah metode runut-balik.
3. Bentuk maze sudah ditentukan.
4. Robot bersifat otomatis.
5. Pendeteksi halangan dengan sensor jarak infra merah.
6. Dimensi robot adalah • Panjang : 12,5cm • Lebar : 9,5cm • Tinggi : 12,5cm
7. Robot mobil bergerak dengan differential drive.
Bab I Pendahuluan
3
8. Ukuran dan bentuk maze yang digunakan :
Lebar antar dinding : 30 cm
Bentuk maze : maze berbentuk huruf L dengan sedikit belokan ke
kanan, maze berbentuk huruf L, maze dengan tiga
simpangan dan maze yang berbentuk pulau.
I.6 SpesifikasiBAlat
Spesifikasi alat adalah sebagai berikut :
1. Robot dapat mencari jalan keluar dan dapat melakukan backtracking bila
menemukan jalan yang salah atau jalan buntu.
2. Robot menggunakan sensor jarak infra merah Sharp GP2D120X dan
GP2Y0A21.
3. Robot menggunakan pengontrol mikro ATMega 16.
4. Robot dapat secara otomatis mendeteksi halangan dengan menggunakan
sensor jarak.
I.7 BSistematikaBPenulisan
Laporan terdiri dari beberapa bab dengan garis besar sebagai berikut :
1. BAB I PENDAHULUAN
Pada bab ini berisi tentang latar belakang, identifikasi masalah, perumusan
masalah, tujuan, pembatasan masalah, spesifikasi alat, dan sistematika
penulisan laporan Tugas Akhir.
2. BAB II LANDASAN TEORI
Pada bab ini dijelaskan mengenai teori-teori penunjang yang diperlukan dalam
merancang dan merealisasikan robot pencari jalan dalam maze dengan metode
runut-balik, yaitu berupa teori tentang robotika, definisi maze, metode
runut-balik, sensor infra merah, dan pengontrol mikro.
Bab I Pendahuluan
4
3. BAB III PERANCANGAN DAN REALISASI
Pada bab ini dijelaskan tentang metode runut-balik, perancangan sistem robot
mobil, perancangan dan realisasi robot mobil, rangkaiaan sensor, pengontrol,
serta algoritma pemrograman pada ATMega16
4. BAB IV ANALISA DAN DATA PENGAMATAN
Pada bab ini dijelaskan tentang proses pengambilan data pengamatan,
pengujian kemampuan robot pencari jalan dalam maze dengan metode
runut-balik, dan analisisnya.
5. BAB V KESIMPULAN DAN SARAN
Pada bab ini berisi kesimpulan dari Tugas Akhir dan saran-saran yang perlu
dilakukan untuk perbaikan di masa mendatang.
BABBV
KESIMPULANBDANBSARAN
Bab ini berisi kesimpulan dari Tugas Akhir dan saran-saran yang perlu
dilakukan untuk perbaikan di masa mendatang.
V.1 Kesimpulan
DalamBRealisasi Robot Pencari Jalan dalam Maze dengan Metoda Wall Follower Kanan, dapat disimpulkan beberapa hal seperti berikut:
1. Robot mobil dapat dikontrol menggunakan pengontrol mikro ATMega16
untuk melakukan manuver belok dan menggunakan sensor jarak infra merah
untuk mendeteksi halangan yang terdapat pada maze.
2. Algoritma yang digunakan telah dapat mencari jalan keluar dengan metode
runut-balik yang dapat mencari solusi paasa maze, kecuali untuk maze yang
berbentuk pulau.
3. Secara keseluruhan percobaan, tingkat keberhasilan mencapai 60 % dari tiap
pola maze yang diujikan.
V.2 Saran
Saran-saran yang dapat diberikan untuk perbaikan dan pengembangan
Tugas Akhir ini di masa mendatang adalah :
1. Pengembangan algoritma pada saat terdapat halangan dan belokan di dalam
maze agar pergerakan robot lebih bagus.
2. Mekanika robot mobil dibuat lebih baik dan disesuaikan dengan beban pada
robot mobil.
DAFTAR PUSTAKA
1. Andrianto, H., Buku Panduan : Pelatihan Mikrokontroler AVR ATmega16,
2008.
2. Raharjo, Budi, Pemrograman C++, Informatika Bandung, 2006.
3. Sigit, Riyanto. Robotika, Sensor, Dan Aktuator, Edisi ke-1, Yogyakarta:Graha
Ilmu, 2007.
4. http://community.gunadarma.ac.id/Sistem-Kontrol-Untuk-Robot/
5. http://id.wikipedia.org/wiki/Maze
6.
http://nugroho.staff.uii.ac.id/2008/12/15/program-mikrokontroler-avr-untuk-sensor-gp2d12-menggunakan-cvavr/
7. http://www.atmel.com
8. www.informatika.org/~rinaldi/Stmik/.../MakalahSTMIK2007-116.pdf
9. http://www.ittelkom.ac.id/library/index.php?
view=article&catid=16%3Amikroprocessorkontroller&id=305%3Amotordc&
option=com_content&Itemid=15
10. http//www.wikipedia.org/maze/backtracking
Universitas Kristen Maranatha