• Tidak ada hasil yang ditemukan

Modifikasi Navigasi Pledge Untuk Robot Pemadam Api KRCI 2011 Divisi Beroda.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Modifikasi Navigasi Pledge Untuk Robot Pemadam Api KRCI 2011 Divisi Beroda."

Copied!
66
0
0

Teks penuh

(1)

i

Universitas Kristen Maranatha

MODIFIKASI NAVIGASI PLEDGE UNTUK ROBOT

PEMADAM API KRCI 2011 DIVISI BERODA

Disusun oleh :

Nama :

Philander Antonius

NRP

:

0722034

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha,

Jl.Prof.Drg.Suria Sumantri, MPH No. 65, Bandung, Indonesia.

Email : accel_05061128@yahoo.com

ABSTRAK

Pada akhir-akhir ini telah banyak diselenggarakan kompetisi robot yang

bertujuan untuk menumbuh kembangkan ilmu pengetahuan dan teknologi. Kontes

Robot Cerdas Indonesia (KRCI) merupakan sebuah kompetisi robot yang

diadakan setiap tahun oleh Direktorat Jenderal Pendidikan Tinggi (DIKTI). Pada

Tugas Akhir ini, navigasi robot dirancang agar robot dapat memeriksa ruang tanpa

memerlukan robot menjelajahi seluruh pelosok ruang yang diperiksa. Robot

cerdas pemadam api dengan rangka dasar robot terbuat dari bahan aluminium dan

aklirik dilengkapi dengan sensor jarak ultrasonik untuk mengukur jarak antara

robot dengan lingkungan di sekitarnya, sensor UVTron untuk mendeteksi api, dan

sensor warna ZX-03 untuk mendeteksi warna lantai pintu yang dilalui robot.

Robot dikontrol dengan menggunakan pengontrol mikro ATmega 128. Robot

menggunakan teknik navigasi pledge modifikasi di dalam maze, sehingga robot

dapat memeriksa setiap ruang untuk menemukan api.

Berdasarkan percobaan yang dilakukan dapat dikatakan bahwa robot dapat

memeriksa ruang dan hanya menjelajahi ruang yang terdapat api, pendeteksian

warna lantai pintu yang dilalui robot dengan menggunakan sensor warna, dan

mendeteksi api dengan konfigurasi maze yang berubah-ubah. Robot dapat dengan

baik menjelajahi maze dengan konfigurasi non-arbitary home. Robot belum dapat

secara langsung kembali ke home pada konfigurasi arbitary home.

Kata Kunci : Navigasi robot, KRCI, Sensor UVTron, Sensor Jarak Ultrasonik,

(2)

ii

Universitas Kristen Maranatha

MODIFICATION OF PLEDGE NAVIGATION FOR FIRE

FIGHTING ROBOT KRCI 2011 WHEELED DIVISION

Composed by :

Name :

Philander Antonius

NRP

:

0722034

Electrical Engineering, Maranatha Christian University,

Jl.Prof.Drg.Suria Sumantri, MPH No. 65, Bandung, Indonesia.

Email : accel_05061128@yahoo.com

ABSTRACT

Lately many robotic competitions held which aims to cultivate science and

technology. Indonesian Smart Robot Contest (KRCI) is a robot competition held

every year by the Directorate General of Higher Education (DIKTI).

In this Final Project, robot navigation is designed for robot can check the

room without having to go explore inside the room. Fire fighting robot is made

with basic framework of aluminum and acrylic then equipped with an ultrasonic

distance sensor to measure the distance between the robot and the environment

around it, UVTron sensor to detect fire, and a color sensor ZX-03 for detecting the

color of the floor through which the robot. The robot is controlled by using a

micro controller ATmega 128. Robot using modified pledge navigation inside

maze, therefore robot can maneuver as fast in checking every room to find fire.

Based on experiments that can be said the robot can check room and only

explore the room that has fire inside it, detecting the color of the floor through

which the robot by using a color sensor ZX-03, and detects the fire with the

changing configuration of a maze. Robot can successfully explore maze in

non-arbitrary configuration. Robot cannot automatically return to home in non-arbitrary

configuration.

Keywords: Robot navigation, KRCI, UVTron Sensor, Ultrasonic Sensor, Color

(3)

iii

Universitas Kristen Maranatha

DAFTAR ISI

Halaman

ABSTRAK………..

i

ABSCTRACT………

ii

KA

TA PENGANTAR………...

iii

DAFTAR

ISI………

...

iv

DAFTAR TABEL………

..

viii

DAF

TAR GAMBAR……….

ix

BAB I PENDAHULUAN

I.1

LATAR BELAKANG

………

1

I.2

IDENTIFIKASI MASALAH

………

2

I.3

TUJUAN

………..

2

I.4

PEMBATASAN MASALAH

………...

2

I.5

SISTEMATIKA PENULISAN

……….

4

BAB II LANDASAN TEORI

II.1

KRCI 2011………

6

II.2

PANDUAN PERATURAN KRCI………. 7

II.2.1

LAPANGAN……….

7

II.2.2

HOME………

8

II.2.3

LILIN……….

8

II.3

TEORI ROBOT BERODA

………

9

II.3.1

ROBOT 4-WHEELED DRIVE

………

...

……

9

II.3.2

ROBOT ALL-WHEELED DRIVE

………

...

9

II.3.3

ROBOT INDIVIDUAL-WHEELED DRIVE

………

..

10

II.4

KOMPONEN ROBOT………...….

10

II.4.1

ATMEGA128……….

10

II.4.2

SENSOR ULTRASONIK (SRF05)………

.

…..

13

II.4.3

SENSOR API (UVTRON)………

.

……

15

II.4.4

SENSOR WARNA

……….

17

(4)

iv

Universitas Kristen Maranatha

II.5.1

DEFINISI NAVIGASI (maze solving algorithm)………

19

II.5.2

RAN

DOM MUSE ALGORITHM………

19

II.5.3

WALL FOLLOWER……….

20

II.5.4

PLEDGE ALGORITHM………...

20

II.5.5

TREMAUX ALGORITHM………..

21

II.5.6

DEAD-

END FILLER………

22

II.5.7

CUL-DE-

SAC FILLER……….

22

II.5.8

BLIND ALLEY

FILLER………..

23

II.5.9

BLIND ALLEY SEALER……….

23

II.5.10

CHAIN ALGORITHM………..

23

II.5.11

SHORTEST PATH FINDER………

24

II.5.12

RECURSIVE BACKTRACKER……….

25

BAB III PERANCANGAN DAN REALISASI

III.1 PERANCANGAN SISTEM ROBOT

………...

26

III.1.1 ROBOT BERODA EMPAT

………

.. 26

III.1.2 SKEMATIK ROBOT BERODA EMPAT

………

..

…………

..

27

III.1.3 SKEMATIK MOTOR DRIVER

………

..

………..

29

III.1.4

OCR……….………

..

30

III.1.5 SENSOR JARAK ULTRASONIK SRF05

………

.

…………

..

30

III.1.6 SENSOR API UVTRON

………

.. 31

III.1.7 ZX-

03………...………

.. 32

III.2 PERANCANGAN SISTEM NAVIGASI

……….

32

III.3 KONFIGURASI LAPANGAN……….

33

III.4 ALGORITMA NAVIGASI ROBOT

………

33

BAB IV

IV.1 DATA

OCR……….

45

IV.2 DATA NAVIGASI……….. 47

IV.2.1 HOME(NON-ARBITARY)

………..

47

IV.2.2 HOME(ARBITARY)

………

56

(5)

v

Universitas Kristen Maranatha

IV.4 ANALISA KESALAHAN……….

81

BAB V KESIMPULAN DAN SARAN

V.1 KESIMPULAN………

85

V.2 SARAN……….

87

DAFTAR PUSTAKA………

88

LAMPIRAN

A FOTO FIREBOLT

(6)

vi

Universitas Kristen Maranatha

DAFTAR TABEL

Halaman

Tabel 3.1 Tabel Kebenaran Driver Motor LMD 18200

………..

29

Tabel 4.1 Data pengujian OCR

………

45

Tabel 4.2 Data pengujian pada Home-ruang 1

……….

48

Tabel 4.3 Data pengujian pada Home-

ruang 2……….

50

Tabel 4.4 Data pengujian pada Home-

ruang 3………..

52

Tabel 4.5 Data pengujian pada Home-

ruang 4………..

54

Tabel 4.6 Data pengujian pada Ruang1-ruang

2………

56

Tabel 4.7 Data pengujian pada Ruang1-ruang

3………

58

Tabel 4.8 Data pengujian pada Ruang1-ruang

4………

60

Tabel 4.9 Data pengujian pada Ruang2-ruang

1………

62

Tabel 4.10 Data pengujian pada Ruang2-ruang

3………

64

Tabel 4.11 Data pengujian pada Ruang2-ruang

4………

66

Tabel 4.12 Data pengujian pada Ruang3-ruang

1………

68

Tabel 4.13 Data pengujian pada Ruang3-ruang

2………

70

Tabel 4.14 Data pengujian pada Ruang3-ruang

4………

72

Tabel 4.15 Data pengujian pada Ruang4-ruang

1………

74

Tabel 4.16 Data pengujian pada Ruang4-ruang

2………

76

Tabel 4.17 Data pengujian pada Ruang4-ruang

3………

78

(7)

vii

Universitas Kristen Maranatha

DAFTAR GAMBAR

Halaman

Gambar 1.1

D

enah lapangan KRCI 2011………

3

Gambar 1.2

Posisi pintu ruang 1 dan ruang 4 (4 konfigurasi pintu)

……..

4

Gambar 2.1

Denah Lapangan……….

7

Gambar 2.2

Bentuk dan Ukuran Lapangan Tampak Samping

………

7

Gambar 2.3

Bentuk dan Ukuran Home

………

8

Gambar 2.4 Bentuk dan Ukuran Lilin

………...

9

Gambar 2.5

Konfigurasi Kaki ATMEGA128

……….

12

Gambar 2.6

Diagram Blok ATMEGA128

………..

13

Gambar 2.7

Koneksi Pin SRF05

……….

14

Gambar 2.8

Diagram Waktu Sensor SRF05

………

15

Gambar 2.9

UVtron Bulb

………

15

Gambar 2.10 Dimensi Sensor UVtron

………..

16

Gambar 2.11 UVtron Driving Circuit

………

16

Gambar 2.12 Dimensi UVtron Driving Circuit

……….

17

Gambar 2.13 Skematik Rangkaian Sensor UVtron

………...

17

Gambar 2.14 Bentuk Sensor TCRT5000

………...

18

Gambar 2.15 Contoh Penggunaan Sensor TCRT5000

………..

19

Gambar 2.16 Wall-follower/Hand-rule path

……….

20

Gambar 2.17 Tremaux Algorithm

……….

21

Gambar 2.18 Dead-End Filler

………..

22

Gambar 2.19 Loop Path

………

23

Gambar 2.20 Blind-Alley Path

………..

23

Gambar 2.21 Chain algorithm

………

24

Gambar 2.22 Backtracking Algorithm

………

.. 25

Gambar 3.1

Diagram Blok Sistem Robot Beroda

………..

26

Gambar 3.2 Pin pada ATMega 128

……… 27

Gambar 3.3

Skematik Pengontrol Mikro

………...………....

28

Gambar 3.4

Rangkaian Motor Driver

……….…………....

29

Gambar 3.5

Output PWM OCR ………..………...………....

30

(8)

viii

Universitas Kristen Maranatha

Gambar 3.7

Posisi sensor SRF05 pada robot beroda………

31

Gambar 3.8 Alokasi Pin UVTron Hamamatsu

………... 32

Gambar 3.9 Pin pada ZX-03

……….. 32

Gambar 3.10 Posisi Home di lorong (Non-Arbitary Home

)……….

33

Gambar 3.11 Flowchart

Navigasi utama Robot………..

34

Gambar 3.12 Flowchart Sub-program

Cek Posisi………

35

Gambar 3.13 Kegiatan robot saat melakukan sub-program

Cek posisi…….

36

Gambar 3.14 Flowchart Sub-program Cari Api

………

37

Gambar 3.15 Flowchart Sub-program Pindah Island

………

38

Gambar 3.16

Posisi robot pada lorong 4………

39

Gambar 3.17 Flowchart

Cek Ruang………..

40

Gambar 3.18 Sub-program Home

……….

41

Gambar 3.19 Sub-program lewat ruang

………

42

Gambar 3.20 Sub-program wall-follower kiri

………..

43

Gambar 3.21 P

osisi sensor jarak pada robot beroda………

43

Gambar 3.22 Sub-Program wall-follower kanan

………

44

Gambar 4.1

4 buah Konfigurasi pintu………

47

Gambar 4.2

Jalur Pergerakan Robot Pada Non-Arbitary Home-Ruang 1.. 49

Gambar 4.3

Jalur Pergerakan Robot Pada Non-Arbitary Home-Ruang 2.. 51

Gambar 4.4

Jalur Pergerakan Robot Pada Non-Arbitary Home-Ruang 3.. 53

Gambar 4.5

Jalur Pergerakan Robot Pada Non-Arbitary Home-Ruang 4.. 55

Gambar 4.6 Jalur Pergerakan Robot Pada Non-Arbitary Home(ruang 1)

-

Ruang 2……….

57

Gambar 4.7 Jalur Pergerakan Robot Pada Non-Arbitary Home(ruang 1)

-Ruang 3

……….

59

Gambar 4.8 Jalur Pergerakan Robot Pada Non-Arbitary Home(ruang 1)

-Ruang 4

……….

61

Gambar 4.9 Jalur Pergerakan Robot Pada Non-Arbitary Home(ruang 2)

-Ruang 1

……….

63

(9)

ix

Universitas Kristen Maranatha

-Ruang 4

……….

67

Gambar 4.12 Jalur Pergerakan Robot Pada Non-Arbitary Home(ruang 3)

-Ruang 1

……….

69

Gambar 4.13 Jalur Pergerakan Robot Pada Non-Arbitary Home(ruang 3)

-

Ruang 2……….

71

Gambar 4.14 Jalur Pergerakan Robot Pada Non-Arbitary Home(ruang 3)

-Ruang 4

……….

73

Gambar 4.15 Jalur Pergerakan Robot Pada Non-Arbitary Home(ruang 4)

-Ruang 1

……….

75

Gambar 4.16 Jalur Pergerakan Robot Pada Non-Arbitary Home(ruang 4)

-

Ruang 2……….

77

Gambar 4.17 Jalur Pergerakan Robot Pada Non-Arbitary Home(ruang 4)

-

Ruang 3……….

79

Gambar 4.18 Lokasi terjadinya ke

gagalan penjelajahan………..

81

(10)

LAMPIRAN A

(11)

A-1

TAMPAK DEPAN

(12)

A-2

TAMPAK SAMPING KIRI

(13)

A-3

(14)

LAMPIRAN B

PROGRAM PADA PENGONTROL MIKRO

(15)

B-1

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

Project :

Version :

Date : 03/05/2011

Author : F4CG

Company : F4CG

Comments:

Chip type : ATmega128

Program type : Application

Clock frequency : 11,059200 MHz

Memory model : Small

External SRAM size : 0

Data Stack size : 1024

*****************************************************/

#include <mega128.h>

#include <delay.h>

#include <stdio.h>

// Alphanumeric LCD Module functions

#asm

.equ __lcd_port=0x15 ;PORTC

#endasm

#include <lcd.h>

#define ADC_VREF_TYPE 0x00

// Read the AD conversion result

unsigned int read_adc(unsigned char adc_input)

{

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);

// Start the AD conversion

ADCSRA|=0x40;

(16)

B-2

while ((ADCSRA & 0x10)==0);

ADCSRA|=0x10;

return ADCW;

}

// Declare your global variables here

unsigned int

a,b,c,d,e,f,g,i,ic,j,k,l,lz,m,n,o,p,z,x,xa,xb,xc,xd,xe,xf,xg,r,h,counter,adc,adc_1,s1,s2,sensor_7,c1,bm,GakBisa

Keluar,counter_GakBisaKeluar,GakBisaKeluarDeui;

unsigned char text[32];

//depan kiri depan kanan

//xa,xb,xc void aktif() { ulang: if(PINE.0==0){ goto lanjut; }

if(PINA.0==1 & PINA.1==0 & PINA.2==0)

{

while(PINA.0==1 & PINA.1==0 & PINA.2==0){delay_us(2);}

}

else

{

goto ulang;

}

if(PINA.0==0 & PINA.1==1 & PINA.2==0)

{

while(PINA.0==0 & PINA.1==1 & PINA.2==0) {delay_us(2);}

if(PINA.0==1 & PINA.1==1 & PINA.2==0)

{

// while(PINA.0==1 & PINA.1==1 & PINA.2==0) {delay_us(2);}

// if(PINA.0==0 & PINA.1==0 & PINA.2==1)

{

// while(PINA.0==0 & PINA.1==0 & PINA.2==1) {delay_us(2);}

goto lanjut;

}

//else

(17)

B-3

//goto ulang; //} } else { goto ulang; } } else { goto ulang; } lanjut: } void servo_on(){ for(k=60;k>0;k--) {

for(j=0;j<3;j++)//lama pengulangan silkus on yg sama

{ PORTE.4=1; delay_us(1400); for(i=0;i<k;i++){delay_us(10);}; PORTE.4=0; delay_us(18300); } } for(k=0;k<60;k++) {

for(j=0;j<3;j++)//lama pengulangan silkus on yg sama

(18)

B-4

PORTE.4=0; delay_us(18020); } void maju(){

PORTA.3=0; //kiri

PORTA.4=0;

PORTA.5=1; //kanan

(19)
(20)
(21)
(22)
(23)

B-9

xf=(g/29.034); } void sensor7(){ sensor_7=0; DDRD.7=1; PORTD.7=1; delay_us(15); DDRD.7=0; PORTD.7=0; delay_us(750); while(PIND.7==0) { delay_us(1); } while(PIND.7==1) { sensor_7++; delay_us(1); } xg=(sensor_7/29.034); } void wallfollow_kiri() { if(x>6) {

if(xd>25 && xb>27)

(24)

B-10

kanan_doank(); OCR1A=100; OCR1B=100; } else { maju(); OCR1A=80; OCR1B=80; } } else { kanan(); OCR1A=220; OCR1B=220; } } void ikut_kanan(){ while (1) { start_2:

sensor0(); // x

sensor1(); // xa

sensor2(); // xb

sensor3(); // xc

sensor5(); // xe

if(xb==10){o=210;} else if(xb==9){o=200;} else if(xb>=10){o=180;} else if(xc==7){o=210;} else if(xc==8){o=200;} else if(xc>=9){o=180;}

if(PINE.3==1) //Uv tron off

{

GakBisaKeluar=0;

(25)

B-11

PORTB.7=0;

if(x>10) //wall kanan

{

if(xe>10 && xc>18)

{ kanan(); OCR1A=255; OCR1B=40; delay_ms(100); } else if(xb<10) { kanan_doank(); OCR1A=o; OCR1B=o; } else if(xc<8) { kiri_doank(); OCR1A=o; OCR1B=o; } else if(xa<=4){ kiri(); OCR1A=100; OCR1B=100; } else { maju(); OCR1A=165; OCR1B=165; } } else { kiri(); OCR1A=210; OCR1B=210; }

if(k==2 && xc>25 && xe>25)

(26)

B-12

h=1;

}

if(read_adc(1)<150 && read_adc(0)<70 && k==2) //balik home ITEM

{

r=1;

}

if(h==1 && r==1 && read_adc(1)>=350 && read_adc(0)>=300 && k==2) //home???

{

brenti();

OCR1A=255;

OCR1B=255;

//PORTB.7=0;

lcd_putsf("aing home iyeu\n");

delay_ms(5000);

}

if(read_adc(0)<=160 && read_adc(0)>=100 && read_adc(1)<=250 && read_adc(1)>=150 &&

h==1){ // ABU

break;

}

if(read_adc(1)>=300) // PUTIH

{

s1=1;

}

if(s1==1 && read_adc(1)<150 && k!=2){ // ITEM

counter_GakBisaKeluar = counter_GakBisaKeluar+1;

s1 = 0;

}

if(k==2){

counter_GakBisaKeluar=0;

}

if(counter_GakBisaKeluar>=1) //lorong

{

adc=read_adc(0);

adc_1=read_adc(1);

sensor7();

sensor6();

if((adc<=150 && adc>=100) && (adc_1<=250 && adc_1>=150)) { //blkg &&

(27)

B-13

if(xg<=10 && xg>=5){

if(xf<=10 && xf>=5){

c1=1;

delay_ms(5);

}

else goto start_2;

}

else goto start_2;

}

else goto start_2;

}

if(counter_GakBisaKeluar>=1 && c1==1 && GakBisaKeluar>=3)

{

adc=read_adc(0);

adc_1=read_adc(1);

sensor7();

sensor6();

if((adc<=150 && adc>=100) && (adc_1<=250 && adc_1>=150)) {

if(xg<=10 && xg>=5){

if(xf<=10 && xf>=5){

GakBisaKeluar=0;

break;

c1=0;

}

else goto start_2;

}

else goto start_2;

}

else goto start_2;

(28)

B-14

sprintf(text,"%d",GakBisaKeluarDeui); lcd_puts(text); delay_ms(500); while(GakBisaKeluarDeui>=3){ mundur(); OCR1A=255; OCR1B=255; delay_ms(1000); break; GakBisaKeluarDeui=0; } } if(PINE.2==0){ kiri_mundur(); OCR1A=200; OCR1B=200; } if(PINE.5==0){ kanan_mundur(); OCR1A=200; OCR1B=200; } }

else //ada api

{

if(read_adc(1)<350) // ABU PALING BESAR, putih paling kcl

{

if(x>10) //wall kanan

{

if(xe>10 && xc>18)

(29)
(30)

B-16

}

if(read_adc(1)>350 && k==1) //msh putih

{ brenti(); OCR1A=255; OCR1B=255; PORTB.7=1; servo_on(); k=2; bm=1; }

if(read_adc(1)>350 && k==1 && bm==2) //

{ brenti(); OCR1A=255; OCR1B=255; PORTB.7=1; servo_on(); k=2; bm=1; } if(bm==1){ kiri_mundur(); OCR1A=130; OCR1B=130; delay_ms(250); bm=2; } } }; } void main(void) {

// Declare your local variables here

// Input/Output Ports initialization

// Port A initialization

// Func7=In Func6=Out Func5=Out Func4=Out Func3=Out Func2=In Func1=In Func0=In

// State7=T State6=0 State5=0 State4=0 State3=0 State2=T State1=T State0=T

(31)

B-17

DDRA=0x78;

// Port B initialization

// Func7=Out Func6=Out Func5=Out Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=0 State6=0 State5=0 State4=T State3=T State2=T State1=T State0=T

PORTB=0x00;

DDRB=0xE0;

// 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=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

PORTD=0x00;

DDRD=0x00;

// Port E initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=P State5=T State4=T State3=T State2=T State1=T State0=P

PORTE=0x41;

DDRE=0x00;

// Port F 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

PORTF=0x00;

DDRF=0x00;

// Port G initialization

// Func4=In Func3=In Func2=In Func1=In Func0=In

// State4=T State3=T State2=T State1=T State0=T

PORTG=0x00;

DDRG=0x00;

// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: Timer 0 Stopped

(32)

B-18

// OC0 output: Disconnected

ASSR=0x00;

TCCR0=0x00;

TCNT0=0x00;

OCR0=0x00;

// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: 10.800 kHz

// Mode: Ph. correct PWM top=00FFh

// OC1A output: Non-Inv.

// OC1B output: Non-Inv.

// OC1C output: Discon.

// Noise Canceler: Off

// Input Capture on Falling Edge

// Timer1 Overflow Interrupt: Off

// Input Capture Interrupt: Off

// Compare A Match Interrupt: Off

// Compare B Match Interrupt: Off

// Compare C Match Interrupt: Off

TCCR1A=0xA1; TCCR1B=0x05; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; OCR1CH=0x00; OCR1CL=0x00;

// Timer/Counter 2 initialization

// Clock source: System Clock

// Clock value: Timer2 Stopped

// Mode: Normal top=FFh

// OC2 output: Disconnected

TCCR2=0x00;

TCNT2=0x00;

OCR2=0x00;

(33)

B-19

// Clock source: System Clock

// Clock value: Timer3 Stopped

// Mode: Normal top=FFFFh

// OC3A output: Discon.

// OC3B output: Discon.

// OC3C output: Discon.

// Noise Canceler: Off

// Input Capture on Falling Edge

// Timer3 Overflow Interrupt: Off

// Input Capture Interrupt: Off

// Compare A Match Interrupt: Off

// Compare B Match Interrupt: Off

// Compare C Match Interrupt: Off

TCCR3A=0x00; TCCR3B=0x00; TCNT3H=0x00; TCNT3L=0x00; ICR3H=0x00; ICR3L=0x00; OCR3AH=0x00; OCR3AL=0x00; OCR3BH=0x00; OCR3BL=0x00; OCR3CH=0x00; OCR3CL=0x00;

// External Interrupt(s) initialization

// INT0: Off

// INT1: Off

// INT2: Off

// INT3: Off

// INT4: Off

// INT5: Off

// INT6: Off

// INT7: Off

EICRA=0x00;

EICRB=0x00;

EIMSK=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=0x00;

(34)

B-20

// Analog Comparator initialization

// Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80;

SFIOR=0x00;

// ADC initialization

// ADC Clock frequency: 691,200 kHz

// ADC Voltage Reference: AREF pin

ADMUX=ADC_VREF_TYPE & 0xff;

ADCSRA=0x84;

// LCD module initialization

lcd_init(16);

// aktif();

p=0; //cek lorong (ga pake ping>>

n=0; //ada d lorong

m=0; //var belum dapat posisi

k=0;

l=0; //posisi island

z=0; //api sudah padam cari home

counter=0;

//OCR1A = motor kiri

//b= kanan

while (1)

{ sensor0(); //x depan

sensor2(); //xb

sensor3(); //xc kanan

sensor4(); //xd

sensor5(); //xe kanan

sensor6(); //xf

sensor7(); //xg kanan

if(m==0) //cari kiri

{

kiri();

OCR1A=150;

(35)

B-21

if (xb<10 && xd<9 && xf<8)

{k=1;} //sudah dapat tembok kiri

if (k==1) { brenti(); OCR1A=100; OCR1B=100; delay_ms(1000);

if (x>15 && xg>25) //cari posisi

{lz=0; //ini sebagai variable posisi robot di lorong

n=0; //ini sebagai variable posisi home non arbitary

k=0; //pengecekan posisi dihentikan

m=1;

}

else

{lz=1; //ini sebagai variable posisi home dan posisi robot...

n=1;

k=0; //pengecekan posisi dihentikan

m=1;}}

} //a1

}

if (m==1) ///sudah dapat posisi

{ //ini program navigasinya.

If(l==0)

{ //step 2 loop counter 3

if(x>12) //wall follower kiri

{

if(xd>25 && xb>27)

(36)

B-22

else if(xb<10) //asli 8

{ kanan_doank(); OCR1A=180; OCR1B=180; } else { maju(); OCR1A=150; OCR1B=150; } } else { kanan(); OCR1A=180; OCR1B=180; }

if(read_adc(1)>500 && read_adc(0)<=300)

{s1=1;

};

if(s1==1) //depan sudah pintu putih.

{if(read_adc(0)>500 && read_adc(1)<=300)

{ brenti(); OCR1A=200; OCR1B=200; delay_ms(400); counter=counter+1;

p=1; //cek ruang

}

if(p==1)

{

if(PINE.3==1&&lz==0) //tidak ada api dan posisi di lorong

(37)

B-23

OCR1A=120; OCR1B=120; delay_ms(600); kanan(); OCR1A=200; OCR1B=200; delay_ms(900); maju(); OCR1A=150; OCR1B=150; delay_ms(900);

p=0; //cek ruang selesai

s1=0; //cek pintu selesai

}

else if(PINE.3==0&&lz==0) //ada api dan posisi di lorong

{maju(); //masuk ruang

OCR1A=130; OCR1B=130; delay_ms(250); brenti(); OCR1A=130; OCR1B=130; Counter=0; z=1; p=0; s1=0; lz=1; }

else if(lz==1) //keluar ruang

{maju(); OCR1A=130; OCR1B=130; delay_ms(500); p=0; s1=0; lz=0; };

} //b2

(38)

B-24

if (counter>=3)

{

if (xf<13 && xg<10) //pindah island

{if (read_adc(1)<300 && read_adc(0)<300 && read_adc(1)>200 &&read_adc(0)>200)

{l=1;} //harus pindah island

} } } } if (l==1) {

if(x>8) //wall follower kanan

{

if(xe>25 && xc>27)

{ kanan(); OCR1A=180; OCR1B=100; delay_ms(100); } else if(xc<10) { kiri_doank(); OCR1A=180; OCR1B=180; }

else if(xb<13) //asli 8

(39)

B-25

else { kiri(); OCR1A=180; OCR1B=180; }

if(read_adc(1)>500 && read_adc(0)<=300) {s1=1;

};

if(s1==1) //depan sudah pintu putih.

{if(read_adc(0)>500 && read_adc(1)<=300)

{ brenti(); OCR1A=200; OCR1B=200; delay_ms(400); counter=counter+1;

p=1; //cek ruang

}

if(p==1)

{

if(PINE.3==1&&lz==0) //tidak ada api dan posisi di lorong

{mundur(); //balik lorong()

OCR1A=120; OCR1B=120; delay_ms(600); kanan(); OCR1A=200; OCR1B=200; delay_ms(900); maju(); OCR1A=150; OCR1B=150; delay_ms(900);

p=0; //cek ruang selesai

s1=0; //cek pintu selesai

}

(40)

B-26

{maju(); //masuk ruang

OCR1A=130; OCR1B=130; delay_ms(250); brenti(); OCR1A=130; OCR1B=130; z=1; p=0; s1=0; lz=1; }

else if(lz==1) //keluar ruang

{maju(); OCR1A=130; OCR1B=130; delay_ms(500); p=0; s1=0; counter=0; lz=0; };

} //b4

}; } If(z==1)

{ if(x>12)

{

if(xd>25 && xb>27)

(41)

B-27

kiri_doank();

OCR1A=180;

OCR1B=180;

}

else if(xb<10) //asli 8

{ kanan_doank(); OCR1A=180; OCR1B=180; } else { maju(); OCR1A=150; OCR1B=150; } } else { kanan(); OCR1A=180; OCR1B=180; } if(n==0)

{

if(s2==0)

{

if(read_adc(1)>500 && read_adc(0)<=300)

{s1=1;

};

if(s1==1)

{if(read_adc(0)>500 && read_adc(1)<=300)

{mundur(); //balik lorong()

(42)

B-28

delay_ms(900);

maju();

OCR1A=150;

OCR1B=150;

delay_ms(900);

s1=0; } }

else

{

if(read_adc(1)>500 && read_adc(0)<=300)

{s1=1;

};

if(s1==1)

{if(read_adc(0)>500 && read_adc(1)<=300)

{maju(); //keluar ke lorong()

OCR1A=120;

OCR1B=120;

delay_ms(200);

s2=0; }}

};

}

};

};

(43)

LAMPIRAN C

DATASHEET

Sensor Ultrasoni

k (SRF05)………...

C-1

Sensor Api

(UVTron)………

C-4

Modul C3704………..

C-6

(44)
(45)
(46)
(47)
(48)
(49)
(50)
(51)
(52)
(53)
(54)
(55)
(56)
(57)
(58)

1

Universitas Kristen Maranatha

BAB I

PENDAHULUAN

Bab ini akan membahas mengenai latar belakang beserta masalah dan

batasannya dari pembuatan navigasi robot. Bab ini juga berisi mengenai tujuan

pembuatan navigasi robot serta keseluruhan isi laporan.

I.1. LATAR BELAKANG

Dengan semakin berkembangnya persaingan pada kompetisi robot KRCI

yang diadakan oleh direktorat jendral pendidikan dari tahun ke tahun, maka

diperlukan adanya peningkatan daya saing robot. Algoritma navigasi robot

merupakan salah satu factor penting dalam peningkatan daya saing robot.

Perancangan algoritma navigasi robot pada kompetisi KRCI ini bertujuan

agar robot dapat menjelajahi semua ruang sehingga dapat menemukan api dan

memadamkannya. Perancangan algoritma ini diharapkan dapat diaplikasikan pada

robot divisi berkaki maupun beroda dalam menyelesaikan maze.

Algoritma navigasi robot yang dihasilkan dalam Tugas Akhir ini, dapat

mengitari

maze, menuju semua ruang, menemukan api, dan kembali ke

home

dengan waktu yang lebih singkat. Dengan demikian maka waktu yang diperlukan

dalam menyelesaikan misi akan semakin kecil, dan memperbesar peluang

memenangkan kompetisi tersebut.

Pada perlombaan KRCI yang sudah dilakukan sebelumnya

menggunakan

navigasi

wall-follower kiri yang memiliki kelebihan yaitu dapat

start dari semua

ruang pada maze kecuali ruang 4 yang berada pada island terpisah di dalam maze,

dan dapat kembali ke home. Tetapi navigasi tersebut masih terdapat kekurangan,

yaitu tidak dapat menjelajahi ruang 4 dan tidak dapat menjelajahi ruang lain jika

start di ruang 4 karena ketiga ruang tersebut berada pada

island yang berbeda

dengan ruang 4. Sehingga dibutuhkan algoritma navigasi baru yang dapat

(59)

2

Universitas Kristen Maranatha

I.2. IDENTIFIKASI MASALAH

Masalah dalam Tugas Akhir ini adalah :

a.

Bagaimana robot dapat masuk ke semua ruang dan berpindah island?

b.

Bagaimana robot tidak menjelajahi ruang yang tidak ada apinya ?

I.3. TUJUAN

Tujuan dari Tugas Akhir ini adalah membuat algoritma agar menavigasikan

robot dapat mencari api kemudian kembali ke home pada KRCI 2011 dengan start

dari sembarang ruang.

I.4. PEMBATASAN MASALAH

Mengingat luasnya masalah mengenai perancangan navigasi robot , maka

untuk menyederhanakan permasalahan, laporan Tugas Akhir ini dibatasi dengan

batasan sebagai berikut:

1.

Aturan dan kelengkapan

maze mengacu pada ketentuan lomba KRCI

2011

[4]

baik divisi beroda maupun berkaki.

a.

Robot bernavigasi dalam

maze yang terdiri dari 4 ruang dan koridor

antar ruang dengan dimensi maksimum 248 cm x 248 cm x 30 cm.

b.

Lantai

maze beralaskan karpet berwarna abu-abu, tengah dari maze

beralaskan karpet berwarna hitam.

c.

Konfigurasi lapangan ada 64 buah yang dibagi berdasarkan posisi

Start (home),titik api dan posisi pintu pada ruang 1 dan ruang 4 .

1.

Start di HOME , posisi api berada di antara ruang 1, ruang 2,

ruang 3, atau ruang 4. Dengan pintu ruang 1 dan ruang 4 yang

dapat berubah (16 konfigurasi).

2.

Start di ruang 1, posisi api berada di antara ruang 2, ruang 3,

atau ruang 4. Dengan pintu ruang 1 dan ruang 4 yang dapat

berubah (12 konfigurasi)

3.

Start di ruang 2, posisi api berada di antara ruang 1, ruang 3,

atau ruang 4. Dengan pintu ruang 1 dan ruang 4 yang dapat

(60)

3

Universitas Kristen Maranatha

4.

Start di ruang 3, posisi api berada diantara ruang 1, ruang 2,

atau ruang 4. Dengan pintu ruang 1 dan ruang 4 yang dapat

berubah (12 konfigurasi)

5.

Start di ruang 4, posisi api berada diantara ruang 1, ruang 2,

atau ruang 3. Dengan pintu ruang 1 dan ruang 4 yang dapat

berubah (12 konfigurasi)

[image:60.595.242.436.271.477.2]

d.

Gambar lapangan yang digunakan pada KRCI 2011 ditunjukkan oleh

Gambar 1.1

Gambar 1.1 denah lapangan KRCI 2011

Posisi pintu pada ruang1 dan ruang 4 dapat berubah-ubah, dapat

(61)
[image:61.595.116.512.86.493.2]

4

Universitas Kristen Maranatha

Gambar 1.2 Posisi pintu ruang 1 dan ruang 4 (4 konfigurasi pintu)

I.5. SISTEMATIKA PENULISAN

Penyusunan laporan Tugas Akhir terdiri dari lima bab sebagai berikut:

Bab I PENDAHULAN

Bab ini membahas mengenai latar belakang, perumusan masalah, tujuan,

pembatasan masalah, dan sistematika penulisan.

Bab II LANDASAN TEORI

Bab ini membahas mengenai dasar teori teknik navigasi yang akan digunakan

robot dalam menjelajahi maze.

Bab III PERANCANGAN DAN REALISASI

(62)

5

Universitas Kristen Maranatha

Bab IV DATA PENGAMATAN DAN ANALISIS

Bab ini membahas mengenai data dan analisis kinerja dari robot menggunakan

navigasi.

Bab V KESIMPULAN DAN SARAN

Bab ini membahas mengenai kesimpulan dari pembuatan navigasi dengan robot

(63)

85

Universitas Kristen Maranatha

BAB V

KESIMPULAN DAN SARAN

Pada bab ini akan dijelaskan tentang simpulan dari Tugas Akhir dan saran-saran

yang perlu dilakukan untuk pengembangan lebih lanjut di masa mendatang.

V.1 KESIMPULAN

Dengan memperhatikan data pengamatan dan analisis pada bab sebelumnya,

Dapat disimpulkan bahwa:

1.

Robot FireBolt mampu bernavigasi dalam mencari api tanpa harus masuk

menjelajahi ruang yang tidak terdapat api.

2.

OCR pada robot FireBolt masih belum optimal dengan terdapatnya kegagalan

dalam bernavigasi seperti tersangkut dan tidak mendeteksi pintu.

3.

Pada pengujian navigasi mencari api didapatkan persentasi keberhasilan untuk

masing-masing konfigurasi, yaitu:

a.

Persentasi keberhasilan 100% untuk konfigurasi

Non-Arbitary

Home

dengan titik api pada Ruang 1.

b.

Persentasi keberhasilan 100% untuk konfigurasi

Non-Arbitary

Home

dengan titik api pada Ruang 2.

c.

Persentasi keberhasilan 100% untuk konfigurasi

Non-Arbitary

Home

dengan titik api pada Ruang 3.

d.

Persentasi keberhasilan 100% untuk konfigurasi

Non-Arbitary

Home

dengan titik api pada Ruang 4.

e.

Persentasi keberhasilan 100% untuk konfigurasi

Arbitary

Home

(Ruang

1) dengan titik api pada Ruang 2.

f.

Persentasi keberhasilan 100% untuk konfigurasi

Arbitary

Home

(Ruang

1) dengan titik api pada Ruang 3.

g.

Persentasi keberhasilan 92.5% untuk konfigurasi

Arbitary

Home

(64)

86

Universitas Kristen Maranatha

h.

Persentasi keberhasilan 100% untuk konfigurasi

Arbitary

Home

(Ruang

2) dengan titik api pada Ruang 1.

i.

Persentasi keberhasilan 100% untuk konfigurasi

Arbitary

Home

(Ruang

2) dengan titik api pada Ruang 3.

j.

Persentasi keberhasilan 82.5% untuk konfigurasi

Arbitary

Home

(Ruang 2) dengan titik api pada Ruang 4.

k.

Persentasi keberhasilan 100% untuk konfigurasi

Arbitary

Home

(Ruang

3) dengan titik api pada Ruang 1.

l.

Persentasi keberhasilan 100% untuk konfigurasi

Arbitary

Home

(Ruang

3) dengan titik api pada Ruang 2.

m.

Persentasi keberhasilan 77.5% untuk konfigurasi

Arbitary

Home

(Ruang 3) dengan titik api pada Ruang 4.

n.

Persentasi keberhasilan 62.5% untuk konfigurasi

Arbitary

Home

(Ruang 4) dengan titik api pada Ruang 1.

o.

Persentasi keberhasilan 52.5% untuk konfigurasi

Arbitary

Home

(Ruang 4) dengan titik api pada Ruang 2.

p.

Persentasi keberhasilan 65% untuk konfigurasi

Arbitary

Home

(Ruang

4) dengan titik api pada Ruang 3.

4.

Secara keseluruhan pengujian navigasi mencari api tanpa harus menjelajahi

ruang yang tidak terdapat api mempunyai tingkat keberhasilan sebesar

89.53125%. Namun masih terdapat kegagalan menjalankan navigasi

khususnya pada

Arbitary

Home

(ruang 4) tempat sering terjadinya kegagalan

salah program.

5.

Kelebihan dari navigasi ini adalah dapat mempersingkat waktu pencarian api,

(65)

87

Universitas Kristen Maranatha

V.2 SARAN

Saran-saran yang dapat diberikan untuk perbaikan dan pengembangan dari Tugas

Akhir ini adalah sebagai berikut:

1.

Robot perlu diberikan regulator pada power suply motor DC agar output dari motor

DC lebih stabil.

2.

Pengaturan akan OCR yang lebih presisi agar dapat bernavigasi dengan lincah tanpa

tersangkut.

3.

Penggunaan sensor kompas dalam maneuver kembali ke lorong agar robot tidak

salah belok sehingga menyebabkan robot tersangkut di persimpangan ruang dan

juga agar robot tidak masuk pada ruang tersebut.

4.

Pengenalan

maze

yang lebih mendalam mengenai ciri khusus pada masing-masing

(66)

88 Universitas Kristen Maranatha

DAFTAR PUSTAKA

1.

Andrianto, H.,

Buku Panduan : Pelatihan Mikrokontroler AVR ATmega16

,

2008.

2.

Budiharto, W.,

Membuat Robot Cerdas

, Jakarta : Gramedia, 2006.

3.

Goris, Kristof. 2004. Autonomous Mobile Robot Mechanical Design.

Thesis

.

Vrije Universiteit Brussel.

4.

Panduan KRCI 2011 (Beroda

Berkaki

Battle

) Final.pdf

5.

Pitowarno, E.,

Robotika Disain, Kontrol, Dan Kecerdasan Buatan

, Edisi

ke-1, Yogyakarta:Andi, 2006.

6.

Sigit,

Riyanto.

Robotika,

Sensor,

Dan

Aktuator

,

Edisi

ke-1,

Yogyakarta:Graha Ilmu, 2007.

7.

http://www.enotes.com/topic/Maze_solving_algorithm

8.

http://209.85.175.190/watch?v=6OzpKm4te-E

9.

http://www.cs.berkeley.edu/~kamil/teaching/sp03/031703.pdf

10.

http://www.astrolog.org/labyrnth/algrithm.htm

11.

http://www.atmel.com

12.

http://www.parallax.com

13.

http://www.robokits.co.nz/ZX-03_IR_Sensor_Resource_Page

14.

http://www.robot-electronics.co.uk/htm/srf05tech.htm

15.

http://www.robotshop.com/world/devantech-ultrasonic-range-finder-srf05-1.html

16.

http://www.robotstorehk.com/R2868.pdf

17.

http://www.atmel.com/dyn/resources/prod_documents/doc2542.pdf

18.

http://www.robot-electronics.co.uk/htm/srf05tech.htm

Gambar

Gambar 4.12  Jalur Pergerakan Robot Pada Non-Arbitary Home(ruang 3)
Gambar 1.1
Gambar 1.2 Posisi pintu ruang 1 dan ruang 4 (4 konfigurasi pintu)

Referensi

Dokumen terkait

Apabila pegawai negeri atau penerima pensiun pegawai yang beristeri/bersuami meninggal dunia sedangkan tidak ada isteri/suami yang terdaftar sebagai yang berhak

“ Transformasi Sistem Putting-Out untuk Meningkatkan Kinerja Industri Kecil- Menengah dan Pekerja Rumahan Industri Batik dan Garmen Batik di Jawa Tengah: Kasus Batik Tulis ”..

Surat Pernyataan tidak dalam pengawasan pengadilan, tidak pailit, kegiatan usahanya tidak sedang di hentikan, dan/atau Direksi yang bertindak dan atas nama perusahaan tidak

eksperimen”, teknik pengumpulan data menggunakan angket dan analisis data menggunakan uji t, dengan cara pre-tes sebelum perlakuan, dan pos-test setelah perlakuan, dengan

Karena sistem disiplin ( image sastra modern) itu telah mantap menjadi suatu standar dalam sastra Indonesia, ia kemudian mempengaruhi estetika karya sastra Indonesia pada

[r]

Many moms were washing the clothes in the edge of the river.” The passive voice of that sentence is………….. the clothes was washed Many moms in the edge of the river

a) Biaya tetap adalah biaya yang besar-kecilnya tidak tergantung pada besar kecilnya produksi, misalnya pajak tanah, sewa tanah, penyusutan alat-alat