Development Of Navigation System For Autonomous Mobile Device.
UNIVERSITI TEKNIKAL MALAYSIA MELAKA
DEVELOPMENT OF NAVIGATION SYSTEM FOR
AUTONOMOUS MOBILE DEVICE
This report submitted in accordance with requirement of the Universiti Teknikal
Malaysia Melaka (UTeM) for the Bachelor Degree of Manufacturing Engineering
(Robotic and Automation) with Honours.
by
LUQMAN HAKIM BIN KASMON
FACULTY OF MANUFACTURING ENGINEERING
2010
DECLARATION
I hereby declare that this report entitled Development of Navigation System for
Autonomous Mobile Device is the result of my own research except as cited in the
references.
Signature
:
Author’s Name
:
Date
:
Luqman Hakim Bin Kasmon
ii
APPROVAL
This report is submitted to the Faculty of Manufacturing Engineering of UTeM as a
partial fulfillment of the requirements for the degree of Bachelor of Manufacturing
Engineering (Robotic and Automation). The members of the supervisory committee
are as follow:
(Main Supervisor)
iii
ABSTRACT
An Autonomous Mobile Device (AMD) has ability to choose alternatives pathways
if any obstacles exist in its pathways in order to achieve its goal. This project aim to
develop a navigation system for AMD during scanning process of the pathways is
completed by using three sonar sensors. The data of the scanning will be sent to
Personal Computer by using Bluetooth module. Then, HyperTerminal will display
the data that was processed by microcontroller.
iv
ABSTRAK
Alat Mudah Alih Automatik (AMD) boleh memilih jalan alternatif sekiranya wujud
halangan di atas jalannya dalam usaha untuk mencapai matlamatnya. Projek in yang
bertajuk Pembangunan Sistem Navigasi untuk Alat Mudah Alih Automatik selepas
proses peninjauan mengunakan tiga penderia sonar. Data-data peninjauan akan
dihantar ke Komputer Peribadi menggunakan modul Bluetooth. Kemudian
HyperTerminal
akan
memaparkan
data-data
mikropengawal.
v
selepas
data
diproses
oleh
ACKNOWLEDGEMENTS
All Praise to Allah, the Lord of the Worlds, and prayers and peace be upon
Muhammad Rasulullah S.A.W, His servant and Messenger. Alhamdulillah, with
Allah blessings and guidance, I have completed this project successfully even though
along the way, there are many hardship and obstacles.
First of all, I would like to acknowledge the inspiring professionalism and
dedicated which support of my thesis supervisor, Pn.Silah Hayati binti Kamsani. Her
constant guidance and support during my thesis writing is invaluable to me and
continuous direction and opinion regarding the flow of the project has an invaluable
contribution to achieve the objectives of the project.
Thanks to Mr. Shariman bin. Abdullah for help me in programming the
microcontroller that integrates with sonar sensors and DC motor. A lot of appreciate
to him because willing to spend time, sharing experience, ideas, guidance and
opinion to accomplishing this project especially in programming field.
Last but not least, I thank everyone who involved directly and indirectly in
this project. The sacrifice and commitment given towards me earning my Bachelor’s
Degree are indescribable and without them, this PSM thesis would have been good
like this.
vi
TABLE OF CONTENTS
Declaration
ii
Approval
iii
Abstract
iv
Abstrak
v
Acknowledgements
vi
Table of Contents
vii
List of Figures
x
List of Tables
xiv
List of Abbreviations
xv
1.0
2.0
INTRODUCTION
1
1.1. Problem Statement
2
1.2. Objectives
3
1.3. Scope
3
LITERATURE REVIEW
4
2.1. Autonomous Mobile Device
4
2.2. Microcontroller
16
2.2.1. Peripheral Interface Controller (PIC)
2.2.1.1.
PIC16F877
16
20
2.2.2. Atmel
20
2.2.3. Motorola
21
2.2.4. Comparison of Microcontroller
22
2.3. Language of PIC
23
2.3.1. C language
23
2.3.2. Assembly Language
24
2.3.3. BASIC language
24
2.4. Actuator
26
2.4.1. Electric Motor
27
2.4.1.1.
Direct current motor
29
2.4.1.2.
Alternating current motor
31
vii
2.4.1.3.
Servo Motor
33
2.4.1.4.
Stepper motor
34
2.5. Application of Sensor in Autonomous Mobile Device
2.5.1. Sonar
35
2.5.2. Infra red (IR)
44
2.5.3. Laser
46
2.5.4. Vision-based sensors.
49
2.6. Communication
50
2.6.1. Bluetooth
51
2.6.2. ZigBee
53
2.6.3. Infrared Data Association (IrDA)
55
2.7. Mapping Concept
57
2.7.1. Metric path planning,
58
2.7.2. Configuration Space
59
2.7.3. Cspace Representations
59
2.7.3.1.
Regular grids
60
2.7.3.2.
Wavefront Based Planners
60
2.8. Summary of Literature Review
3.0
35
62
METHODOLOGY
63
3.1. Problem Statement
3.2. Strategic Planning
65
65
3.3. Research about Project
67
3.3.1. Assembling the Mobile Robot
67
3.3.1.1.
Assembling the Electronic Components
68
3.3.1.2.
Programming PIC microcontroller
69
3.3.2. Simple Movement
70
3.3.3. Bluetooth Module Programming and Testing
71
3.4. Combination of Autonomous Mobile Robot
71
3.5. Scanning the Path
72
3.6. Navigation System
73
3.7. Improvement/Modification
74
3.8. Validation/Verification
74
viii
4.0
DESIGN AND DEVELOPMENT
75
4.1 Main controller board
75
4.2 Initial development of AMD
82
4.3 DC Motor Control Motion
83
4.4 Ultrasonic Range Finder
84
4.5 Serial communication
86
4.6 Navigation system
88
4.7 Final development of AMD
90
5.0
RESULT AND DISCUSSION
94
5.1.
Experiment with Ultrasonic Range Finder
94
5.1.1. Condition testing
94
5.1.2. Serial communication testing
96
5.1.3. Data transmission from Ultrasonic Range Finder
98
5.1.4. Bluetooth communication
99
5.2.
6.0
5.1.5. Obstacle Avoidance
101
Overall Discussion
102
CONCLUSION AND SUGGESTION FOR FURTHER WORK S
104
6.1. Conclusion
104
6.2. Suggestion for future works
104
REFERENCES
106
APPENDIXES
113
ix
LIST OF FIGURES
2.1
Auto assembly plant-spot welding robot of KUKA
5
2.2
Mars robot Sojourner, USA
5
2.3
Façade-cleaning robot, Comatec, France
6
2.4
Trilobite from Electrolux
6
2.5
Design of an ideal differentially driven robot
7
2.6
Basic design of track-driven robot
8
2.7
Depiction of basic navigation
9
2.8
Three strategies for getting to a destination
10
2.9
Perceiving the environment
12
2.10
Ultrasound sensor with safety license (upper); 2-D laser scanner
13
(middle) and CCD camera (lower).
2.11
Ultrasound scan of standing paper rolls
13
2.12
Environmental modeling
14
2.13
Functional diagram for determining pose of vehicle
15
2.14
Cleaning path based on a linear environmental model
16
2.15
Components of typical full-featured microcontroller
17
2.16
PIC16F887 PDIP 40 Microcontroller
20
2.17
40 Pin AT90S8535
21
2.18
48-Pin DIP pin assignments of MC68HC11
22
2.19
A typical actuating unit
27
2.20
Configuration classification of electric motors
28
2.21
Motor construction and terminology
29
2.22
Cross sectional of DC spur gear motor
30
2.23
Brush-type iron core armature permanent magnet DC motor assembly 31
2.24
AC induction motor components and assembly view
32
2.25
RC servo motor
33
2.26
Wires of servo motor
34
2.27
Cross-sectional view of four stack hybrid type stepper motor
36
x
2.28
Unipolar and Bipolar Stepper Motor Windings
36
2.29
Stepper motor movement
36
2.30
Stepper Motor Torque Speed Curve
37
2.31
Ultrasonic Range Finder
39
2.32
Sonar sensor structure
39
2.33
TOF principle of sonar sensor
40
2.34
The regions of space observed by an ultrasonic sensor
40
2.35
2D mapping using sonar sensor
43
2.36
Maps produced by a mobile robot using sonar
44
2.37
PIR (Passive Infra-Red) Sensor
44
2.38
The object deactivates the receiver
45
2.39
The object activates the receiver
45
2.40
Sick LMS 200 scanner and the TOF ranging principle
47
2.41
Mapping using 2D laser range finder
47
2.42
Commercially available CCD chips and CCD cameras
49
2.43
Bluetooth Chip
52
2.44
Zigbee Topology
54
2.45
Reduction of a 6DOF world space to a 2DOF configuration space
59
2.46
Regular grid
60
2.47
A wave propagating through a regular grid‘
61
3.1
Methodology of project
64
3.2
Gantt chart
66
3.3
DC Gear Motor Mobile Robot Base Set
68
3.4
The Flowchart of Programming for PIC microcontroller
69
3.5
Flowchart of simple movement
70
3.6
Flowchart of Bluetooth Communication
71
3.7
AMD orientations
72
3.8
Flowchart of scanning path
73
3.9
Flowchart of navigation system
74
xi
4.1
SK40B PIC Microcontroller Start-Up Kit
76
4.2
SK40B PIC Microcontroller Start-Up Kit schematic diagram
77
4.3
The main controller board circuit
79
4.4
DC gear motor power distributor
80
4.5
The process development of board circuit
80
4.6
First development of main controller board
81
4.7
Second development of main controller board
81
4.8
The right placement of Zener diode in circuit
81
4.9
Connection of pin RX and TX of PIC16F877A for serial communication 82
4.10
The initial development of AMD
83
4.11
Motor Driver
83
4.12
Voltage regulator circuit and PIC microcontroller
83
4.13
Battery and power distributor
83
4.14
Basic connection Ultrasonic sensor to PIC16F877A
85
4.15
LV MAXSonar EZ-1 schematic diagram
86
4.16
Source code of DC motors and limit switches
87
4.17
UC00A USB to UART converter
88
4.18
KC Wirefree Bluetooth Module Starter Kit SKKCA-21
88
4.19
The source code to display the value data from sonar sensor
89
4.20
Calculation value data from sonar sensor
89
4.21
The source code navigation system for center sonar sensor.
90
4.22
The layout of navigation for AMD
90
4.23
The goal of navigation
90
4.24
Top view of AMD
91
4.25
Front view of AMD
91
4.26
Back view of AMD
92
4.27
Side view of AMD
92
4.28
Isometric view of AMD
93
4.29
The first level of AMD
93
5.1.
The analog voltage from sensor
94
5.2.
The probe reading by multimeter at sonar sensor pins
95
5.3.
Graph Voltage versus Distance
95
xii
5.4.
Serial communication testing on HyperTerminal
96
5.5.
Simulation of serial communication testing
97
5.6.
HyperTerminal Setting
97
5.7.
Serial communication testing on HyperTerminal
97
5.8.
Depiction for data transmission way from unknown environment
98
5.9.
The display of data from sonar sensor on HyperTerminal
98
5.10. Graph of data transmission from sensor
99
5.11. COM Properties dialogue box
100
5.12. The serial communication from sonar sensors to HyperTerminal
100
5.13. The result from serial communication from three sonar sensor by using
Bluetooth module.
99
5.14. The obstacle avoidance from sonar sensor center in range detection
xiii
102
LIST OF TABLES
2.1.
Comparison of the possible strategies
11
2.2.
Comparison between Microcontroller and Personal Computer
18
2.3.
Comparison of characteristics of microcontrollers
22
2.4.
Advantages and disadvantages of DC motor
30
2.5.
Advantages and disadvantages of AC motor
32
2.6.
Advantages and disadvantages of servo motor
34
2.7.
Advantages and disadvantages of stepper motor
37
2.8.
Comparison between sensors and transducers
38
2.9.
The advantages and disadvantages sonar sensor
42
2.10. Advantages and disadvantages of laser range finder
48
2.11. Similarity and Dissimilarities between Metric Path Planning
62
(Metric Navigation) and Topological Navigation
3.1
List of electronics and tools components
68
4.1
SK40B Information
76
4.2
Concept of wheel movement direction
84
4.3
The strategy for navigation source code
88
xiv
LIST OF ABBREVIATIONS
2D
-
Two dimension
AC
-
Alternating Current
ADC
-
Analog Digital Converter
AMD
-
Autonomous Mobile Device
AMR
-
Autonomous Mobile Robot
BASIC
-
Beginner`s All-purpose Symbolic Instruction Coding
CCD
-
Charged Coupled Device
CLH
-
Cluster Head
CMOS
-
Complementary Metal Oxide Semiconductor
DC
-
Direct Current
EEPROM
-
Electrically Erasable Programmable ROM
FFD
-
Full Function Device
GUI
-
Graphic User Interface
GND
-
Ground
IR
-
Infra red
MATLAB
-
Mathematic Laboratory
OS
-
Operation System
PAN
-
Personal Area Network
PC
-
Personal Computer
PIR
-
Passive Infra-Red
PIC
-
Peripheral Intelligence Controller
PWM
-
Pulse Width Modulation
RAM
-
Random Access Memory
RC
-
Resistor-Capacitor
RFD
-
Reduced Function Device
ROM
-
Read Only Memory
SONAR
-
SOund NAvigation and Ranging
TOF
-
Time of Flight
VB
-
Visual Basic
USB
-
Universal Serial Bus
xv
CHAPTER 1
INTRODUCTION
Nowadays, human rely on technology to make life easier. The basic of technology
elements is an autonomous system that is indispensable day by day. Autonomous device
as defined by Stover and Gibson (1997) is an apparatus that gathers information about
its environment through sensors and uses that information to carry out its mission. It
exists in and interacts with the surroundings environment. Their perception is
incomplete, limited by both the sensors themselves and the extent of processing of the
sensor data. While mobile term is defined as able to move or be moved easily (Steel,
2003).
In overall, an autonomous mobile device can be defined as a device that
autonomously operated and utilizes the information from sensors after sensing the
obstacle in the unknown environments. Meanwhile autonomous mobile robot device as
identified by Ichinose and Tsubouchi (2009) has been configured to detect an obstacle.
Besides that, they also mentioned this device is configured to produce a path for
reaching a goal while avoiding obstacle based on the predetermined avoidance method.
In addition, it has been configured to notice and memorize the obstacle avoidance
method so that it can choose the path it should follow to avoid obstacle in unidentified
surroundings. Thus, autonomous mobile robot (AMR) can be categorized as one of the
autonomous mobile device group. AMR is fully utilized to do task including
transportation, exploration, surveillance, guidance, inspection and others due to its
ability to move around autonomously in their environments. In particular, it is applied in
environments that are inaccessible or hostile to humans such as tasks in underwater,
planetary rovers or operation in contaminated environments (Nehmzow, 2003). In order
for an AMR to be useful, it must be able to accomplish the certain tasks given in real
world environment. It must make decisions and execute actions in real-time as well as
1
cope with various uncertainties to complete the tasks. These uncertainties arise from
various reasons; knowledge about the environment is partial and approximate;
environmental changes are dynamical and can be only partially predicted, the robot’s
sensors are imperfect and noisy; and the robot’s control is imprecise (Kaplan, 2006).
1.1.
Problem Statement
Generally, the autonomous mobile device (AMD) will operates within bounded
workspace and moves based on the guidance that has been setup or with human
intervention. Like Automated Guide Vehicles (AGVs), this mobile device is guided by
vehicle guidance technology which its pathways are defined and vehicle is controlled to
follow the pathways (Grover, 2007). One of the examples of AGV guidance is by using
paint strips where AGV will move by using an optical sensor system capable of tracking
the paint. The steering mechanism of AGVs will follow the paint strip pathways when
an on-board sensor on AGVs detects the reflected ultraviolet (UV) lights in the strip. On
the other hand, another example of AMD is conveyor where it is used when a material
must be moved in the relatively large quantities between specific locations over a fixed
path. Based on both of these examples of AMD, it can be concluded that both AGV and
conveyor operate based on permanent line or path to reach goals or destination of works.
They will only stop instantly if the unpredictable obstacles exist on their pathways
detected by sensors. Therefore, they need human intervention to successfully operate. In
addition, they cannot determine the present location based on the previous or starting
station. Besides that, they also cannot predict and choose the alternative path if the
obstacle exist in their way. Moreover, the map of the path for them to reach the
destination target also has been setup earlier before the operation begins. Thus, it is
necessary to create an autonomous mobile device that can scan the path of unknown
environment in front of it where the area has been predetermined, for any obstacle. This
AMD can choose another way to reach its goal wherever obstacles exist in their
pathways.
2
1.2.
Objectives
Due to the problem statement that had been stated before, below is the objectives that
need to be achieved.
(i)
To integrate the PIC programming and electronic components to develop a
navigation system for an autonomous mobile device by using sonar sensor and will
send sonar data to PC through Bluetooth module.
1.3.
Scope
The scope of this project is to develop a navigation system for autonomous mobile
device where the on-board sonar sensor will scan the path first in front on it, for any
obstacle before continuing its journey. Thus, in a predetermined area, this device shall
be able to locate any obstacle within the area and this information will be transmitted to
PC by using Bluetooth module on-board the device. Other the scopes of this project are
described as below.
(i)
This autonomous mobile device shall not be developed but shall be assembled
from the existing mobile robot kit available commercially in the market.
(ii)
Peripheral Interface Controller (PIC) microcontroller will be for mobility
purposes so that the device can move to the right, left, reverse and forward. PIC
also will involve in sonar data programming and Bluetooth communication
between AMD and personal computer.
(iii)
The source code of the Bluetooth communication shall be taken and modify from
other resources or projects that can be applied in this project.
3
CHAPTER 2
LITERATURE REVIEW
This chapter will present the literature reviews relevant to this project. It includes
microcontroller, language of the microcontroller programming, sensor, motor,
communication and wireless, and interfacing between computer and autonomous mobile
robot, and mapping and algorithm concept. At the end of this chapter, the selection of
type of microcontroller, language of the microcontroller programming, sensor, motor,
interfacing of software, and mapping algorithm was made after comparison had been
done among them.
2.1
Autonomous Mobile Device
In the rapid world of technology, robot has become a vital element in manufacturing
sector. One of the common robots used is robot arm. Bolted at its shoulder to a specific
position in the assembly line, the robot arm can move with great speed and accuracy to
perform repetitive tasks such as spot welding and painting as shown in Figure 2.1. But,
this commercial robot suffers from a fundamental disadvantage; lack of mobility
(Siegwart and Nourbakhsh, 2004). A fixed manipulator has a limited range of motion
that depends on where it is bolted down. In contrast, a mobile robot would be able to
travel throughout the manufacturing plant, flexibly applying its talents wherever it is
most effective. Besides manufacturing field, mobile robot or autonomous mobile device
(AMD) plays a vital role in dangerous and inhospitable environments. Figure 2.2 show
one of the AMD, Sojourner. This robot was used during the Pathfinder mission to
4
explore and to carry out geological measurement of Mars in summer 1997. It was almost
completely teleoperated from Earth.
Figure 2.1: Auto assembly plant-spot welding robot of KUKA (Siegwart and Nourbakhsh 2004)
Figure 2.2: Mars robot Sojourner, USA (Murphy 2000).
Another AMD that was created is Façade-cleaning robot. Figure 2.3 shows this robot is
created to relieve human workers from monotonous and potentially dangerous building
facade cleaning tasks (Schraft and Schmierer 2000). The automated cleaning system can
increase cleaning performance with a better and more consistent cleaning quality that is
less harmful to the environment. Besides that, this AMD system can lower cleaning cost
because additional measures such as closing off the building to the public and using
extra equipment can be spared. Other than that, it is useful to inspect the façade using
video cameras. On the other hand, Trilobite from Electrolux Company is created for
household cleaning. Figure 2.4 show this AMD that has the autonomous capabilities for
5
vacuum floor cleaning. The small size of Trilobite enables it to pass under tables and
reach into tiny corner and navigate around the expensive vase to do a cleaning job
(Lewis and Ge, 2006).
Figure 2.3: Façade-cleaning robot, Comatec, France (Schraft and Schmierer 2000).
Figure 2.4: Trilobite from Electrolux (Lewis and Ge 2006).
All examples of AMD above are mobile robot that can autonomously operate and move
without human intervention. Therefore, it can be concluded that autonomous mobile
robot is a part of autonomous mobile device. Autonomous mobile robot is a robot that
can move autonomously without remote controller or any helper or touch from human
work. Jorg (1995) supports this statement by stated an autonomous mobile robot (AMR)
is a system capable of interpreting, planning and executing a given task without any
external support. Floreano and Mondada (1998) defined autonomous mobile robot as a
6
machines that are expected to operate in partially unknown and unpredictable
environments.
In addition, Velagic et al. (2006) mentions the basic feature of an
autonomous mobile robot is its capability to operate independently in unknown or
partially known environments.
AMD have a large variety of possible ways to move. Thus, needs locomotion
mechanisms that enable it to move unbounded throughout its environment. The
locomotion of AMD or mobile robot are comprised into three types; wheels, legs and
tracks as defined by McComb and Predko. Wheels are the most well-liked method for
AMD to move. Wheels can be just about any size, limited only by the dimension of the
robot. The numbers of wheels that commonly use is two which create a differentially
driven robot as shown in Figure 2.5. In this case, the AMD or robot specifically is
balanced on the two wheels by one or two free-rolling castors. There are also more
powerful four- and six-wheel differentially driven robot have also been built which all
the wheels on a side together provide the robot with better stability and traction than just
two wheels.
Figure 2.5: Design of an ideal differentially driven robot (McComb and Predko 2006).
For leg class, AMD or robot creates some tough challenges to design and build, but they
are not insurmountable. They have an extra level of mobility that wheeled type do not.
Legged type can easily walk right over small ditches and obstacles rather than wheelbased robots may have a difficult time navigating through rough terrain.
7
Meanwhile, the basic design of track-driven robots as shown in Figure 2.6 is pretty
simple and is based on the differentially driven principle used with wheeled robots. Two
tracks, one on each side of the robot, act as giant wheels. The tracks turn, like wheels,
and the robot lurches forward or backward. For maximum traction, each track is about as
long as the robot itself.
Track drive as shown in Figure 2.6 is preferable for many reasons, including the fact that
it makes it possible to mow through all sorts of obstacle, like rocks, ditches, and
potholes. Given the right track material, track drive provides excellent traction, even on
slippery surfaces like snow, the concrete, or a clean kitchen floor. Track-based can be
challenging to design and build, but with the proper track material along with powerful
motors they are an excellent base for robots and offer the advantages of two wheeled
differentially driven robots with greater stability and ability to transverse uneven terrain.
Figure 2.6: Basic design of track-driven robot (McComb and Predko 2006).
There are three crucial things that need to be considered for each freely autonomous
mobile robot (AMR); localization, destination and method. AMR usually works in
unfamiliar, potential changing surroundings (Schraft and Schmierer, 2000). With the aid
of artificial sensory organs called sensors, environmental perception as shown in Figure
2.7 supplies the necessary information about its implementation area. Based on this
information, AMR can form an internal picture of its surroundings, called an
environmental model. This model serves as the basis for determining the robot`s position
8
DEVELOPMENT OF NAVIGATION SYSTEM FOR
AUTONOMOUS MOBILE DEVICE
This report submitted in accordance with requirement of the Universiti Teknikal
Malaysia Melaka (UTeM) for the Bachelor Degree of Manufacturing Engineering
(Robotic and Automation) with Honours.
by
LUQMAN HAKIM BIN KASMON
FACULTY OF MANUFACTURING ENGINEERING
2010
DECLARATION
I hereby declare that this report entitled Development of Navigation System for
Autonomous Mobile Device is the result of my own research except as cited in the
references.
Signature
:
Author’s Name
:
Date
:
Luqman Hakim Bin Kasmon
ii
APPROVAL
This report is submitted to the Faculty of Manufacturing Engineering of UTeM as a
partial fulfillment of the requirements for the degree of Bachelor of Manufacturing
Engineering (Robotic and Automation). The members of the supervisory committee
are as follow:
(Main Supervisor)
iii
ABSTRACT
An Autonomous Mobile Device (AMD) has ability to choose alternatives pathways
if any obstacles exist in its pathways in order to achieve its goal. This project aim to
develop a navigation system for AMD during scanning process of the pathways is
completed by using three sonar sensors. The data of the scanning will be sent to
Personal Computer by using Bluetooth module. Then, HyperTerminal will display
the data that was processed by microcontroller.
iv
ABSTRAK
Alat Mudah Alih Automatik (AMD) boleh memilih jalan alternatif sekiranya wujud
halangan di atas jalannya dalam usaha untuk mencapai matlamatnya. Projek in yang
bertajuk Pembangunan Sistem Navigasi untuk Alat Mudah Alih Automatik selepas
proses peninjauan mengunakan tiga penderia sonar. Data-data peninjauan akan
dihantar ke Komputer Peribadi menggunakan modul Bluetooth. Kemudian
HyperTerminal
akan
memaparkan
data-data
mikropengawal.
v
selepas
data
diproses
oleh
ACKNOWLEDGEMENTS
All Praise to Allah, the Lord of the Worlds, and prayers and peace be upon
Muhammad Rasulullah S.A.W, His servant and Messenger. Alhamdulillah, with
Allah blessings and guidance, I have completed this project successfully even though
along the way, there are many hardship and obstacles.
First of all, I would like to acknowledge the inspiring professionalism and
dedicated which support of my thesis supervisor, Pn.Silah Hayati binti Kamsani. Her
constant guidance and support during my thesis writing is invaluable to me and
continuous direction and opinion regarding the flow of the project has an invaluable
contribution to achieve the objectives of the project.
Thanks to Mr. Shariman bin. Abdullah for help me in programming the
microcontroller that integrates with sonar sensors and DC motor. A lot of appreciate
to him because willing to spend time, sharing experience, ideas, guidance and
opinion to accomplishing this project especially in programming field.
Last but not least, I thank everyone who involved directly and indirectly in
this project. The sacrifice and commitment given towards me earning my Bachelor’s
Degree are indescribable and without them, this PSM thesis would have been good
like this.
vi
TABLE OF CONTENTS
Declaration
ii
Approval
iii
Abstract
iv
Abstrak
v
Acknowledgements
vi
Table of Contents
vii
List of Figures
x
List of Tables
xiv
List of Abbreviations
xv
1.0
2.0
INTRODUCTION
1
1.1. Problem Statement
2
1.2. Objectives
3
1.3. Scope
3
LITERATURE REVIEW
4
2.1. Autonomous Mobile Device
4
2.2. Microcontroller
16
2.2.1. Peripheral Interface Controller (PIC)
2.2.1.1.
PIC16F877
16
20
2.2.2. Atmel
20
2.2.3. Motorola
21
2.2.4. Comparison of Microcontroller
22
2.3. Language of PIC
23
2.3.1. C language
23
2.3.2. Assembly Language
24
2.3.3. BASIC language
24
2.4. Actuator
26
2.4.1. Electric Motor
27
2.4.1.1.
Direct current motor
29
2.4.1.2.
Alternating current motor
31
vii
2.4.1.3.
Servo Motor
33
2.4.1.4.
Stepper motor
34
2.5. Application of Sensor in Autonomous Mobile Device
2.5.1. Sonar
35
2.5.2. Infra red (IR)
44
2.5.3. Laser
46
2.5.4. Vision-based sensors.
49
2.6. Communication
50
2.6.1. Bluetooth
51
2.6.2. ZigBee
53
2.6.3. Infrared Data Association (IrDA)
55
2.7. Mapping Concept
57
2.7.1. Metric path planning,
58
2.7.2. Configuration Space
59
2.7.3. Cspace Representations
59
2.7.3.1.
Regular grids
60
2.7.3.2.
Wavefront Based Planners
60
2.8. Summary of Literature Review
3.0
35
62
METHODOLOGY
63
3.1. Problem Statement
3.2. Strategic Planning
65
65
3.3. Research about Project
67
3.3.1. Assembling the Mobile Robot
67
3.3.1.1.
Assembling the Electronic Components
68
3.3.1.2.
Programming PIC microcontroller
69
3.3.2. Simple Movement
70
3.3.3. Bluetooth Module Programming and Testing
71
3.4. Combination of Autonomous Mobile Robot
71
3.5. Scanning the Path
72
3.6. Navigation System
73
3.7. Improvement/Modification
74
3.8. Validation/Verification
74
viii
4.0
DESIGN AND DEVELOPMENT
75
4.1 Main controller board
75
4.2 Initial development of AMD
82
4.3 DC Motor Control Motion
83
4.4 Ultrasonic Range Finder
84
4.5 Serial communication
86
4.6 Navigation system
88
4.7 Final development of AMD
90
5.0
RESULT AND DISCUSSION
94
5.1.
Experiment with Ultrasonic Range Finder
94
5.1.1. Condition testing
94
5.1.2. Serial communication testing
96
5.1.3. Data transmission from Ultrasonic Range Finder
98
5.1.4. Bluetooth communication
99
5.2.
6.0
5.1.5. Obstacle Avoidance
101
Overall Discussion
102
CONCLUSION AND SUGGESTION FOR FURTHER WORK S
104
6.1. Conclusion
104
6.2. Suggestion for future works
104
REFERENCES
106
APPENDIXES
113
ix
LIST OF FIGURES
2.1
Auto assembly plant-spot welding robot of KUKA
5
2.2
Mars robot Sojourner, USA
5
2.3
Façade-cleaning robot, Comatec, France
6
2.4
Trilobite from Electrolux
6
2.5
Design of an ideal differentially driven robot
7
2.6
Basic design of track-driven robot
8
2.7
Depiction of basic navigation
9
2.8
Three strategies for getting to a destination
10
2.9
Perceiving the environment
12
2.10
Ultrasound sensor with safety license (upper); 2-D laser scanner
13
(middle) and CCD camera (lower).
2.11
Ultrasound scan of standing paper rolls
13
2.12
Environmental modeling
14
2.13
Functional diagram for determining pose of vehicle
15
2.14
Cleaning path based on a linear environmental model
16
2.15
Components of typical full-featured microcontroller
17
2.16
PIC16F887 PDIP 40 Microcontroller
20
2.17
40 Pin AT90S8535
21
2.18
48-Pin DIP pin assignments of MC68HC11
22
2.19
A typical actuating unit
27
2.20
Configuration classification of electric motors
28
2.21
Motor construction and terminology
29
2.22
Cross sectional of DC spur gear motor
30
2.23
Brush-type iron core armature permanent magnet DC motor assembly 31
2.24
AC induction motor components and assembly view
32
2.25
RC servo motor
33
2.26
Wires of servo motor
34
2.27
Cross-sectional view of four stack hybrid type stepper motor
36
x
2.28
Unipolar and Bipolar Stepper Motor Windings
36
2.29
Stepper motor movement
36
2.30
Stepper Motor Torque Speed Curve
37
2.31
Ultrasonic Range Finder
39
2.32
Sonar sensor structure
39
2.33
TOF principle of sonar sensor
40
2.34
The regions of space observed by an ultrasonic sensor
40
2.35
2D mapping using sonar sensor
43
2.36
Maps produced by a mobile robot using sonar
44
2.37
PIR (Passive Infra-Red) Sensor
44
2.38
The object deactivates the receiver
45
2.39
The object activates the receiver
45
2.40
Sick LMS 200 scanner and the TOF ranging principle
47
2.41
Mapping using 2D laser range finder
47
2.42
Commercially available CCD chips and CCD cameras
49
2.43
Bluetooth Chip
52
2.44
Zigbee Topology
54
2.45
Reduction of a 6DOF world space to a 2DOF configuration space
59
2.46
Regular grid
60
2.47
A wave propagating through a regular grid‘
61
3.1
Methodology of project
64
3.2
Gantt chart
66
3.3
DC Gear Motor Mobile Robot Base Set
68
3.4
The Flowchart of Programming for PIC microcontroller
69
3.5
Flowchart of simple movement
70
3.6
Flowchart of Bluetooth Communication
71
3.7
AMD orientations
72
3.8
Flowchart of scanning path
73
3.9
Flowchart of navigation system
74
xi
4.1
SK40B PIC Microcontroller Start-Up Kit
76
4.2
SK40B PIC Microcontroller Start-Up Kit schematic diagram
77
4.3
The main controller board circuit
79
4.4
DC gear motor power distributor
80
4.5
The process development of board circuit
80
4.6
First development of main controller board
81
4.7
Second development of main controller board
81
4.8
The right placement of Zener diode in circuit
81
4.9
Connection of pin RX and TX of PIC16F877A for serial communication 82
4.10
The initial development of AMD
83
4.11
Motor Driver
83
4.12
Voltage regulator circuit and PIC microcontroller
83
4.13
Battery and power distributor
83
4.14
Basic connection Ultrasonic sensor to PIC16F877A
85
4.15
LV MAXSonar EZ-1 schematic diagram
86
4.16
Source code of DC motors and limit switches
87
4.17
UC00A USB to UART converter
88
4.18
KC Wirefree Bluetooth Module Starter Kit SKKCA-21
88
4.19
The source code to display the value data from sonar sensor
89
4.20
Calculation value data from sonar sensor
89
4.21
The source code navigation system for center sonar sensor.
90
4.22
The layout of navigation for AMD
90
4.23
The goal of navigation
90
4.24
Top view of AMD
91
4.25
Front view of AMD
91
4.26
Back view of AMD
92
4.27
Side view of AMD
92
4.28
Isometric view of AMD
93
4.29
The first level of AMD
93
5.1.
The analog voltage from sensor
94
5.2.
The probe reading by multimeter at sonar sensor pins
95
5.3.
Graph Voltage versus Distance
95
xii
5.4.
Serial communication testing on HyperTerminal
96
5.5.
Simulation of serial communication testing
97
5.6.
HyperTerminal Setting
97
5.7.
Serial communication testing on HyperTerminal
97
5.8.
Depiction for data transmission way from unknown environment
98
5.9.
The display of data from sonar sensor on HyperTerminal
98
5.10. Graph of data transmission from sensor
99
5.11. COM Properties dialogue box
100
5.12. The serial communication from sonar sensors to HyperTerminal
100
5.13. The result from serial communication from three sonar sensor by using
Bluetooth module.
99
5.14. The obstacle avoidance from sonar sensor center in range detection
xiii
102
LIST OF TABLES
2.1.
Comparison of the possible strategies
11
2.2.
Comparison between Microcontroller and Personal Computer
18
2.3.
Comparison of characteristics of microcontrollers
22
2.4.
Advantages and disadvantages of DC motor
30
2.5.
Advantages and disadvantages of AC motor
32
2.6.
Advantages and disadvantages of servo motor
34
2.7.
Advantages and disadvantages of stepper motor
37
2.8.
Comparison between sensors and transducers
38
2.9.
The advantages and disadvantages sonar sensor
42
2.10. Advantages and disadvantages of laser range finder
48
2.11. Similarity and Dissimilarities between Metric Path Planning
62
(Metric Navigation) and Topological Navigation
3.1
List of electronics and tools components
68
4.1
SK40B Information
76
4.2
Concept of wheel movement direction
84
4.3
The strategy for navigation source code
88
xiv
LIST OF ABBREVIATIONS
2D
-
Two dimension
AC
-
Alternating Current
ADC
-
Analog Digital Converter
AMD
-
Autonomous Mobile Device
AMR
-
Autonomous Mobile Robot
BASIC
-
Beginner`s All-purpose Symbolic Instruction Coding
CCD
-
Charged Coupled Device
CLH
-
Cluster Head
CMOS
-
Complementary Metal Oxide Semiconductor
DC
-
Direct Current
EEPROM
-
Electrically Erasable Programmable ROM
FFD
-
Full Function Device
GUI
-
Graphic User Interface
GND
-
Ground
IR
-
Infra red
MATLAB
-
Mathematic Laboratory
OS
-
Operation System
PAN
-
Personal Area Network
PC
-
Personal Computer
PIR
-
Passive Infra-Red
PIC
-
Peripheral Intelligence Controller
PWM
-
Pulse Width Modulation
RAM
-
Random Access Memory
RC
-
Resistor-Capacitor
RFD
-
Reduced Function Device
ROM
-
Read Only Memory
SONAR
-
SOund NAvigation and Ranging
TOF
-
Time of Flight
VB
-
Visual Basic
USB
-
Universal Serial Bus
xv
CHAPTER 1
INTRODUCTION
Nowadays, human rely on technology to make life easier. The basic of technology
elements is an autonomous system that is indispensable day by day. Autonomous device
as defined by Stover and Gibson (1997) is an apparatus that gathers information about
its environment through sensors and uses that information to carry out its mission. It
exists in and interacts with the surroundings environment. Their perception is
incomplete, limited by both the sensors themselves and the extent of processing of the
sensor data. While mobile term is defined as able to move or be moved easily (Steel,
2003).
In overall, an autonomous mobile device can be defined as a device that
autonomously operated and utilizes the information from sensors after sensing the
obstacle in the unknown environments. Meanwhile autonomous mobile robot device as
identified by Ichinose and Tsubouchi (2009) has been configured to detect an obstacle.
Besides that, they also mentioned this device is configured to produce a path for
reaching a goal while avoiding obstacle based on the predetermined avoidance method.
In addition, it has been configured to notice and memorize the obstacle avoidance
method so that it can choose the path it should follow to avoid obstacle in unidentified
surroundings. Thus, autonomous mobile robot (AMR) can be categorized as one of the
autonomous mobile device group. AMR is fully utilized to do task including
transportation, exploration, surveillance, guidance, inspection and others due to its
ability to move around autonomously in their environments. In particular, it is applied in
environments that are inaccessible or hostile to humans such as tasks in underwater,
planetary rovers or operation in contaminated environments (Nehmzow, 2003). In order
for an AMR to be useful, it must be able to accomplish the certain tasks given in real
world environment. It must make decisions and execute actions in real-time as well as
1
cope with various uncertainties to complete the tasks. These uncertainties arise from
various reasons; knowledge about the environment is partial and approximate;
environmental changes are dynamical and can be only partially predicted, the robot’s
sensors are imperfect and noisy; and the robot’s control is imprecise (Kaplan, 2006).
1.1.
Problem Statement
Generally, the autonomous mobile device (AMD) will operates within bounded
workspace and moves based on the guidance that has been setup or with human
intervention. Like Automated Guide Vehicles (AGVs), this mobile device is guided by
vehicle guidance technology which its pathways are defined and vehicle is controlled to
follow the pathways (Grover, 2007). One of the examples of AGV guidance is by using
paint strips where AGV will move by using an optical sensor system capable of tracking
the paint. The steering mechanism of AGVs will follow the paint strip pathways when
an on-board sensor on AGVs detects the reflected ultraviolet (UV) lights in the strip. On
the other hand, another example of AMD is conveyor where it is used when a material
must be moved in the relatively large quantities between specific locations over a fixed
path. Based on both of these examples of AMD, it can be concluded that both AGV and
conveyor operate based on permanent line or path to reach goals or destination of works.
They will only stop instantly if the unpredictable obstacles exist on their pathways
detected by sensors. Therefore, they need human intervention to successfully operate. In
addition, they cannot determine the present location based on the previous or starting
station. Besides that, they also cannot predict and choose the alternative path if the
obstacle exist in their way. Moreover, the map of the path for them to reach the
destination target also has been setup earlier before the operation begins. Thus, it is
necessary to create an autonomous mobile device that can scan the path of unknown
environment in front of it where the area has been predetermined, for any obstacle. This
AMD can choose another way to reach its goal wherever obstacles exist in their
pathways.
2
1.2.
Objectives
Due to the problem statement that had been stated before, below is the objectives that
need to be achieved.
(i)
To integrate the PIC programming and electronic components to develop a
navigation system for an autonomous mobile device by using sonar sensor and will
send sonar data to PC through Bluetooth module.
1.3.
Scope
The scope of this project is to develop a navigation system for autonomous mobile
device where the on-board sonar sensor will scan the path first in front on it, for any
obstacle before continuing its journey. Thus, in a predetermined area, this device shall
be able to locate any obstacle within the area and this information will be transmitted to
PC by using Bluetooth module on-board the device. Other the scopes of this project are
described as below.
(i)
This autonomous mobile device shall not be developed but shall be assembled
from the existing mobile robot kit available commercially in the market.
(ii)
Peripheral Interface Controller (PIC) microcontroller will be for mobility
purposes so that the device can move to the right, left, reverse and forward. PIC
also will involve in sonar data programming and Bluetooth communication
between AMD and personal computer.
(iii)
The source code of the Bluetooth communication shall be taken and modify from
other resources or projects that can be applied in this project.
3
CHAPTER 2
LITERATURE REVIEW
This chapter will present the literature reviews relevant to this project. It includes
microcontroller, language of the microcontroller programming, sensor, motor,
communication and wireless, and interfacing between computer and autonomous mobile
robot, and mapping and algorithm concept. At the end of this chapter, the selection of
type of microcontroller, language of the microcontroller programming, sensor, motor,
interfacing of software, and mapping algorithm was made after comparison had been
done among them.
2.1
Autonomous Mobile Device
In the rapid world of technology, robot has become a vital element in manufacturing
sector. One of the common robots used is robot arm. Bolted at its shoulder to a specific
position in the assembly line, the robot arm can move with great speed and accuracy to
perform repetitive tasks such as spot welding and painting as shown in Figure 2.1. But,
this commercial robot suffers from a fundamental disadvantage; lack of mobility
(Siegwart and Nourbakhsh, 2004). A fixed manipulator has a limited range of motion
that depends on where it is bolted down. In contrast, a mobile robot would be able to
travel throughout the manufacturing plant, flexibly applying its talents wherever it is
most effective. Besides manufacturing field, mobile robot or autonomous mobile device
(AMD) plays a vital role in dangerous and inhospitable environments. Figure 2.2 show
one of the AMD, Sojourner. This robot was used during the Pathfinder mission to
4
explore and to carry out geological measurement of Mars in summer 1997. It was almost
completely teleoperated from Earth.
Figure 2.1: Auto assembly plant-spot welding robot of KUKA (Siegwart and Nourbakhsh 2004)
Figure 2.2: Mars robot Sojourner, USA (Murphy 2000).
Another AMD that was created is Façade-cleaning robot. Figure 2.3 shows this robot is
created to relieve human workers from monotonous and potentially dangerous building
facade cleaning tasks (Schraft and Schmierer 2000). The automated cleaning system can
increase cleaning performance with a better and more consistent cleaning quality that is
less harmful to the environment. Besides that, this AMD system can lower cleaning cost
because additional measures such as closing off the building to the public and using
extra equipment can be spared. Other than that, it is useful to inspect the façade using
video cameras. On the other hand, Trilobite from Electrolux Company is created for
household cleaning. Figure 2.4 show this AMD that has the autonomous capabilities for
5
vacuum floor cleaning. The small size of Trilobite enables it to pass under tables and
reach into tiny corner and navigate around the expensive vase to do a cleaning job
(Lewis and Ge, 2006).
Figure 2.3: Façade-cleaning robot, Comatec, France (Schraft and Schmierer 2000).
Figure 2.4: Trilobite from Electrolux (Lewis and Ge 2006).
All examples of AMD above are mobile robot that can autonomously operate and move
without human intervention. Therefore, it can be concluded that autonomous mobile
robot is a part of autonomous mobile device. Autonomous mobile robot is a robot that
can move autonomously without remote controller or any helper or touch from human
work. Jorg (1995) supports this statement by stated an autonomous mobile robot (AMR)
is a system capable of interpreting, planning and executing a given task without any
external support. Floreano and Mondada (1998) defined autonomous mobile robot as a
6
machines that are expected to operate in partially unknown and unpredictable
environments.
In addition, Velagic et al. (2006) mentions the basic feature of an
autonomous mobile robot is its capability to operate independently in unknown or
partially known environments.
AMD have a large variety of possible ways to move. Thus, needs locomotion
mechanisms that enable it to move unbounded throughout its environment. The
locomotion of AMD or mobile robot are comprised into three types; wheels, legs and
tracks as defined by McComb and Predko. Wheels are the most well-liked method for
AMD to move. Wheels can be just about any size, limited only by the dimension of the
robot. The numbers of wheels that commonly use is two which create a differentially
driven robot as shown in Figure 2.5. In this case, the AMD or robot specifically is
balanced on the two wheels by one or two free-rolling castors. There are also more
powerful four- and six-wheel differentially driven robot have also been built which all
the wheels on a side together provide the robot with better stability and traction than just
two wheels.
Figure 2.5: Design of an ideal differentially driven robot (McComb and Predko 2006).
For leg class, AMD or robot creates some tough challenges to design and build, but they
are not insurmountable. They have an extra level of mobility that wheeled type do not.
Legged type can easily walk right over small ditches and obstacles rather than wheelbased robots may have a difficult time navigating through rough terrain.
7
Meanwhile, the basic design of track-driven robots as shown in Figure 2.6 is pretty
simple and is based on the differentially driven principle used with wheeled robots. Two
tracks, one on each side of the robot, act as giant wheels. The tracks turn, like wheels,
and the robot lurches forward or backward. For maximum traction, each track is about as
long as the robot itself.
Track drive as shown in Figure 2.6 is preferable for many reasons, including the fact that
it makes it possible to mow through all sorts of obstacle, like rocks, ditches, and
potholes. Given the right track material, track drive provides excellent traction, even on
slippery surfaces like snow, the concrete, or a clean kitchen floor. Track-based can be
challenging to design and build, but with the proper track material along with powerful
motors they are an excellent base for robots and offer the advantages of two wheeled
differentially driven robots with greater stability and ability to transverse uneven terrain.
Figure 2.6: Basic design of track-driven robot (McComb and Predko 2006).
There are three crucial things that need to be considered for each freely autonomous
mobile robot (AMR); localization, destination and method. AMR usually works in
unfamiliar, potential changing surroundings (Schraft and Schmierer, 2000). With the aid
of artificial sensory organs called sensors, environmental perception as shown in Figure
2.7 supplies the necessary information about its implementation area. Based on this
information, AMR can form an internal picture of its surroundings, called an
environmental model. This model serves as the basis for determining the robot`s position
8