EXPLORING A MAZE AND FINDING THE SHORTEST PATH USING SOCCER ROBOT
ZULHASNIZAM BIN HASAN
EXPLORING A MAZE AND FINDING THE SHORTEST PATH USING SOCCER ROBOT
ZULHASNIZAM BIN HASAN
This report is submitted in partial fulfillment of the requirements for the award of Bachelor of Electronic Engineering (Industrial Electronics) With Honours
Faculty of Electronic and Computer Engineering Universiti Teknikal Malaysia Melaka
UNIVERSTI TEKNIKAL MALAYSIA MELAKA
FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER
BORANG PENGESAHAN STATUS LAPORAN PROJEK SARJANA MUDA II
Tajuk Projek : EXPLORING A MAZE AND FINDING THE SHORTEST PATH USING SOCCER ROBOT
Sesi
Pengajian : 2008/2009
Saya ZULHASNIZAM BIN HASAN mengaku membenarkan Laporan Projek Sarjana Muda ini disimpan di Perpustakaan dengan syarat-syarat kegunaan seperti berikut:
1. Laporan adalah hakmilik Universiti Teknikal Malaysia Melaka.
2. Perpustakaan dibenarkan membuat salinan untuk tujuan pengajian sahaja.
3. Perpustakaan dibenarkan membuat salinan laporan ini sebagai bahan pertukaran antara institusi pengajian tinggi.
4. Sila tandakan ( √ ) :
SULIT*
(Mengandungi maklumat yang berdarjah keselamatan atau kepentingan Malaysia seperti yang termaktub di dalam AKTA RAHSIA RASMI 1972)
TERHAD* (Mengandungi maklumat terhad yang telah ditentukan oleh organisasi/badan di mana penyelidikan dijalankan) TIDAK
TERHAD
Disahkan oleh:
__________________________ ___________________________________
(TANDATANGAN PENULIS) (COP DAN TANDATANGAN
PENYELIA) Alamat Tetap: F 23 JLN PARIT SATU,
PONTIAN
26800 KUALA ROMPIN, PAHANG.
iii
“I hereby declare that this report is the result of my own work except for quotes as cited
in the references”.
Signature :………..
Author : ZULHASNIZAM BIN HASAN
iv
“I hereby declare that I have read this report and in my opinion this report is sufficient in
terms of the scope and quality for the award of Bachelor of Electronic Engineering (Industrial Electronics) With Honours.”
Signature :………..
Supervisor name : PN YUSMARNITA BINTI YUSOP
v
vi
ACKNOWLEDGEMENT
vii
ABSTRACT
viii
ABSTRAK
Projek ini bertujuan membina aturcara kawalan untuk mobil robot. Robot yang digunakan adalah robot yang sebelum ini berfungsi sebagai robot bola sepak dan diprogramkan semula untuk projek ini menggunakan aturcara C sebagai sistem kawalan untuk menyelesaikan masalah “maze” yang sukar. Objektif utama projek ini untuk menunjukkan satu sistem lengkap pergerakan robot bagi menyelesaikan “ maze. Pergerakkan sistem ini membenarkan robot menyelesaikan masalah “maze” yang sukar dengan mengunakan dua algoritma iaitu keaedah penjelajahan “recursive” dan kaedah ikutan dinding. Projek ini cuba mencapai hasil dengan menggunakan dua algoritma tersebut dan membandingkan perbezaan kedua-dua algoritma tersebut. Kaedah algoritma ikutan dinding adalah secara umumnya kaedah ini robot dapat menyelesaikan masalah
“maze” dengan mengikuti dinding kiri pada “ maze” tersebut. Sementara kaedah “
recursive” adalah kaedah mobil robot menyelesaikan “maze” dengan melalui perkiraan
atau bilangan bagi mencari jalan keluar untuk “maze” tersebut dan menganalis jalan
yang paling hampir untuk menyelesaikan masalah “maze” tersebut. Projek ini telah
ix
TABLE OF CONTENT
CHAPTER CONTENT PAGE
PROJECT TITLE ii
ADMISSION iii
DEDICATION v
ACKNOWLEDGEMENT vi
ABSTRACT vii
ABSTRAK viii
TABLE OF CONTENTS ix
LIST OF FIGURE xii
LIST OF ABREVIATIONS xv
LIST OF APPENDIXS xvii
I INTRODUCTION 1
1.1 Project Introduction 1
1.2 Objective 3
1.3 Scope of Project 3
1.4 Problem Statement 4
1.5 Research methodology 5
1.6 Thesis Outline 5
II LITERATURE REVIEW 7
x
2.1.1 A Brief History of Maze And Trajectory Planning 8
2.2 Advantage of Soccer Robot 9
2.2.1 Easy to Program (Using The Eyebot Controller) 9
2.2.2 Good Computational Power 9
2.3 Feature of Soccer Robot 10
2.3.1 Specification 11
2.3.2 Eyebot Controller 12
2.3.3 Dc Motor 15
2.3.4 Psd Sensor 16
2.4 Maze Exploration Algorithms 18
2.4.1 Wall-Following 19
2.4.2 Recursive Exploration 19
2.5 Simulation Versus Real Maze Program 23
2.6 Eyesim 24
2.6.1 Feature 25
2.6.2 Creating A Custom Driving Robot 25
III METHODOLOGY 27
3.1 Block Diagram 27
3.2 Flow Chart 29
3.3 Description of Project Process 31
3.4 Procedure And Making The First Step 32
3.4.1 Installation 32
3.4.2 Switching It On 32
3.4.3 Working With Motor, Servos And IR Sensor 34
xi
IV RESULT AND DISCUSSION 40
4.1 Result and Analysis 40
4.2 Simulation Program 41
4.2.1 Wall Following Exploration Algorithm 41
4.2.2 Recursive Exploration Algorithm 43
4.2.3 Common Flow chart of Both algorithm 48
4.3 Hardware Development 50
4.3.1 Implementation Wall Following Algorithm
on Mobile Robot 50
4.3.2 Implementation of Recursive Exploration
Algorithm on Mobile Robot 54
4.4 Discussion 58
V CONCLUSION AND FUTURE WORK 62
5.1 Conclusion 62
5.2 Suggestion 63
5.3 Project Application 63
5.4 Future Work 64
REFERENCE 65
xii
LIST OF FIGURE
NO TITLE PAGE
1.1 System block diagram 2
1.2 Maze 2
1.3 Soccer Robot 2
2.1 Block Diagram of Mobile Robot 10
2.2 SoccerBot or Soccer Robot 10
2.3 Eyebot Controller 12
2.4 EyeCon Controller 14
2.5 Motor- Encoder Combinations 15
2.6 Motor Model 16
2.7 Sonar Sensor 17
2.8 Infrared Sensor 18
2.9 Problems For Wall-Following 19
2.10 Left Wall Following versus Recursive Exploration 20
2.11 Maze Algorithm Output 21
2.12 Distance Map Development (Excerpt) 22
2.13 Screen Dump: Exploration, Visited Cells, Distances,
Shortest Path 22
2.14 Shortest Path Position [y,x]=[1,2] 23
2.15 Simulators For Solve The Maze using Virtual Mobile Robot
xiii
2.16 Simulation Interface 26
3.1 Block Diagram of Project 27
3.2 Flow Chart of The Project Process 30
3.3 Structure Eyebot Controllers 32
3.4 Eyebot Logo 33
4.1 Mobile Robot in Initial Condition 41
4.2 The Coordinates Setting For Y = 4 And X = 4 42
4.3 The Coordinates X-Axis And Y-Axis 42
4.4 The Last Destination of The Mobile Robot At Coordinates 4,4
43
4.5 Mobile Robot in Initial Position 44
4.6 Coordinates X-Axis and Y-Axis 44
4.7 The Mobile Robot Exploring The Maze 45
4.8 The Mobile Robot Exploring The Maze 45
4.9 The Map that Create By Mobile Robot During Exploration
Maze 46
4.10 Control Panel Show The Possible Path to Go to
Coordinates 1,1 46
4.11 Control Panel Calculate the Shortest Possible Path at The
Command Prompt. 47
4.12 The Mobile Robot Move Based on The Possible Path that
Analyzed By Control Panel to Reach Coordinates 1, 1 47
4.13 The Real Maze Build Up For This Project 50
4.14 Initial Position 51
4.15 User Must Put On Any Coordinates in Eyebot Controller 51 4.16 The Mobile Robot Only Follow the Left Wall by Turn 90˚ 52 4.17 The Mobile Robot Turn 180˚ When Have Obstacle on The
xiv
4.19 Initial Position 55
4.20 User Must Put on Any Coordinates on Eyebot Controller 55 4.21 The Mobile Robot Only Follow the Left Wall by Turn 90˚ 56 4.22 The Mobile Robot Turn 180˚ When Have Obstacle on
Left, Right and at Front 57
4.23 The Different Position of Infrared Sensor On Soccer
Robot And Maze Robot 58
4.24 The Mobile Robot Doesn’t Reach Goal Using Wall
Following Algorithm 59
4.25 Left Wall Following versus Recursive Exploration 59
4.26 The Infrared Sensor Cannot Detect Obstacle When Near
The Wall 60
4.27 The Mobile Robot Must Move on Straight 61
4.28 The Position of Mobile Robot When No Infrared Sensor to
xv
LIST OF ABREVIATIONS
CCD - Charge-Coupled Device
PSD - Position Sensitive Device
PC - Personal Computer
LCD - Large Graphics Display
CMOS - Complementary Metal-Oxide- Semiconductor
DC - Direct Current
LED - Light Emitting Diode
2D - Two Dimension
3D - Three Dimension
API - Application Programming Interface
RAM - Random Access Memory
ROM - Random –Only Memory
TTL - Transistor-Transistor Logic
Hz - Hertz
IR - Infrared
xvi
CPU - Central Processing Unit
OOP - Object-Oriented Programming
FIRA - Federation of International Robot-Soccer Association
I/O - Input/output
HDT - Hardware Description Table
PWM - Pulse Width Modulation
xvii
LIST OF APPENDIXS
NO TITLE PAGE
A Eyecon Eyebot Controller M5 66
B Port Interface 67
C Infrared PSD 68
D Programming Instruction 69
E User Manual 95
CHAPTER I
INTRODUCTION
This chapter discuss about the brief overview about the project such as introduction, objective, scope of study and research methodology.
1.1 Project Introduction
This project about to build the soccer robot that has to explore and analyze an unknown maze consisting of squares of a known fixed size. An important sub-goal is to
keep track of the robot’s position, measured in squares in the x- and y- direction from
2
[image:20.612.239.447.218.421.2]Figure 1.1 System Block Diagram
Figure 1.2 Maze
Figure 1.3 Soccer Robot Input
(Sensor-infrared)
Eyebot controller (C program)
Output
[image:20.612.227.485.489.654.2]3
1.2 Objective
The objective and priority had been locate and been top listed because to ensure the positive progress of the development system. The objective is listed as below:
i) To build the instruction using C language. ii) To implement the maze exploration algorithm. iii) To download c language into the soccer robot.
1.3 Scope of Project
The scope of project will decide the limitation in completing this project. It is important to make sure the project follows as planned. The scope of this project is included:
a) The C Language Software
The project is focus assemble on the mobile robot and generate the program by using the C language software to perform a number of instructions. The C language software used to compile and interface the data by implement into the robot. The program that created by C language software suppose to control and manipulate the mobile robot in order by saving that program into the Eyebot controller.
b) Eyesim Simulator
4
c) Eyebot Software
The Eyebot software used to compile and as decoder C language code and generate to hexadecimal code that Eyebot controller on the mobile robot can understand that instruction and make the robot to function.
d) Soccer Robot
The soccer Robot is type of mobile robot was used in this project that reprograms by C language and has function to solve any type of maze using PSD sensor.
1.4 Problem Statements
This project was already done by using this robot as soccer robot. The robot will be reprogramming to solve the maze using the C language. The C language used has function to control the Eyebot controller and the Eyebot have function to control the operation of robot.
This project used two methods to solve the maze. The both of method are implementing the maze exploration algorithms by using wall- following and recursive exploration method. This method use in this project to get the overcome from that method by implemented into the robot.
The existing of the wall-following exploration method used to make the mobile robot always follow the left wall and this project try to solve that problem by follow the right and left wall.
5
robot will take the long time to solve that maze but this project try to make the robot can solve the maze by make analysis and find the shortest path.
1.5 Research Methodology
During this project, there are some steps that are taken in order to finish the project. The first step is preparing the Gantt chart for guidelines and work plan.
The second step is study and understands the mobile robot specification, the programming and other related information about it. The research about the system is done and the information will be found at books, internet, library and supervisor. Some programming was doing and run the simulation and assembles to the mobile robot.
The Third step is Software development, the programming was preparing and the simulated program was run to a real situation and tests the function of the mobile robot and the last step is demonstration the supervisor for further adjustment.
1.6 Thesis Outline
Chapter I: This chapter discuss about the brief overview about the project such as introduction, objective, scope of study and research methodology.
Chapter II: This chapter will tell about the theories and algorithm that are being used in order to complete this project. Two exploration alogorithm are being covered in this chapter.
6
Chapter IV: This chapter is the results and findings chapter. This chapter consists of the results and its findings which most of them are Figures. Alongside with some explanation, this chapter covers the output for this project.