MohdZafriBaharuddinMFKE2008 DUTOC

vii
TABLE OF CONTENTS
CHAPTER
TITLE
DECLARATION
ii
DEDICATION
iii
ACKNOWLEDGEMENTS
iv
ABSTRACT
v
ABSTRAK
vi
TABLE OF CONTENTS
vii
LIST OF TABLES
ix
LIST OF FIGURES
x
LIST OF SYMBOLS
1
2
PAGE
xiii
LIST OF ABBREVIATIONS
xv
LIST OF APPENDICES
xvi
INTRODUCTION
1
1.1
Overview
1
1.2
Objectives
5
1.3
Project Scope
6
1.4
Thesis Outline
7
LITERATURE REVIEW
8
2.1
9
2.2
Control Paradigms
2.1.1
Functional Approach
10
2.1.2
Behaviour Based Robotics
11
Methods of Navigation
13
viii
2.3
3
4
Dead Reckoning by Odometry
15
2.2.2
Modifying the Environment (Routes)
17
Mobile Robot Modelling
18
2.3.1
Robot Agent
18
2.3.2
Control Methods
20
2.4
Windows Based Environment Tools
20
2.5
Methodology
22
SYSTEM MODELLING
24
3.1
Differential Drive Model
24
3.2
MATLAB/Simulink Model
29
3.2.1
Motor Driver Subsystem Block
31
3.2.2
Data Conditioning Subsystem Block
32
3.3
Visual, Motor Speed and Data Outputs
33
3.4
VRML Environment
34
CONTROLLER SELECTION AND CONFIGURATION
38
4.1
Controller Test Setup
38
4.2
Response without Controllers
39
4.3
Proportional Integral Derivative (PID) Controller
40
4.3.1
PID Implementation in MATLAB/Simulink
41
4.3.2
PID Tuning and Configuration
44
4.3.3
Output of Tuned PID Controller
49
4.4
5
2.2.1
Pole Placement Controller
50
4.4.1
DDM State Space Representation
53
4.4.2
State-Feedback Gain Selection
57
4.5
Comparison and Analysis
61
4.6
Porting to Hardware
62
CONCLUSION AND FUTURE DEVELOPMENT
64
REFERENCES
66
APPENDIX A -E
70-75
ix
LIST OF TABLES
TABLE NO.
1.1
1.2
TITLE
PAGE
Classes of robots as classified by the Japanese Robot
Association
2
Practical robot applications versus technology that has not been
developed past the research stage – some examples.
4
x
LIST OF FIGURES
FIGURE NO.
TITLE
PAGE
2.1
The robot, its task and environment are all linked and thus all must
be considered.
9
2.2
Sense-think-act cycle: functional decomposition of a mobile robot
control system.
10
2.3
General control scheme for mobile robot systems as suggested by
[10].
11
2.4
Behaviour-based decomposition of a mobile robot control system
suggested by Brooks [17].
12
2.5
Cartesian Frame of Reference
14
2.6
Summary of the scales of navigation
15
2.7
Left: An Automated Guided Vehicle (AGV) using lines on the
floor for navigation, right: Boss by the Carnegie Mellon Tartan
Racing Team, winner of the 2007 DARPA Challenge [27] using
GPS as one of its navigation tools.
17
2.8
Robots.net – Robomenu Robot Gallery statistics
19
2.9
Project Methodology
23
3.1
Reference frame for Initial Reference (I) and Robot (R).
25
3.2
Left: Differential drive model of the robot. Right: Wheel model
of the robot.
26
3.3
Basic MATLAB/Simulink model of the robot based on [9]-[15].
29
3.4
Simulation for random control of robot model.
30
xi
3.5
Left: Output shows controllability of the model by a human user.
Right: Random control of the robot model.
30
3.6
Motor driver block.
31
3.7
Data conditioning block.
32
3.8
Left and right motor speed output.
33
3.9
Visual output showing starting point, end point and direction of
robot movement from the start to finish.
34
3.10
Overall virtual reality modelling framework.
35
3.11
Processing VRML model using V-Realm Builder 2.0.
36
3.12
Basic differential drive model utilizing the Virtual Reality toolbox
in Simulink.
37
4.1
Differential drive simulation without any controller.
39
4.2
Robot response without controller showing the desired heading.
39
4.3
Robot response without controller showing the current heading.
40
4.4
The PID controller.
41
4.5
Simplified PID controller in Simulink.
42
4.6
Contents of the Data Conditioning block.
42
0.1
Complete PID controller with DDM Model in Simulink.
43
4.8
Robot current heading response with untuned PID controller.
44
4.9
Robot desired heading response with untuned PID controller.
44
4.10
Visual output with untuned PID controller.
45
4.11
Mesh analysis for proportional value of the PID controller (KP).
46
4.12
Robot model current heading response with KP = 0.30.
46
4.13
Mesh analysis for integral value of the PID controller (KI).
47
4.14
Robot model current heading response with KP = 0.30 and KI =
0.125.
47
Mesh analysis for differential value of the PID controller (KD).
48
4.15
xii
4.16
Current heading and desired heading output of the finalized tuned
PID controller with gains KP = 0.30, KI = 0.125, and KD = 0.0001. 50
4.17
State space representation of a plant
52
4.18
Plant with state-feedback
52
4.19
Input (red) and output (blue) response of the robot kinematic
model.
53
4.20
Pole-zero map of the robot kinematic model.
57
4.21
Simulation output showing high percentage of steady-state error.
59
4.22
Bode plots of the system with pole placement and its gains. Left:
Desired heading input bode plot, Right: Noise input bode plot.
59
4.23
Current heading and desired heading output of the system with
pole placement and its gains.
60
4.24
Bootloader circuit running on PIC16F877A.
62
4.25
Programming and downloading setup of the Differential Drive
Robot.
63
Left: Side view of the Differential Drive Robot. Note the castors
on the front. Right: Top view of the Differential Drive Robot.
63
4.26
xiii
LIST OF SYMBOLS
™
-
Trademark
®
-
Registered
∑
-
Sum
m
-
Meter
mm
-
Milimeter
ϕ&
-
phi for wheel rotation speed
ϕ&1
-
left motor speed
ϕ&2
-
right motor speed
x
-
Robot x-axis location
y
-
Robot y-axis location
x&
-
Robot motion in x-direction
y&
-
Robot motion in y-direction
θ
-
the previous angle orientation
θ&
-
theta for robot rotational motion
R
-
Robot reference frame
ξ
-
zeta for robot pose
r
-
Radius of robot wheel
l
-
Half the distance between wheels
ω
-
Instantaneous wheel rotation
R (θ )
-
Standard orthogonal rotation transformation
°
-
degrees
KP
-
Proportional gain
KI
-
Integral gain
KD
-
Differential gain
xiv
GC(s)
-
Transfer function as a function of s
%OS
-
percent overshoot
cmax
-
maximum point
cfinal
-
final or steady state value
K
-
feedback vector for pole placement
xv
LIST OF ABBREVIATIONS
JIRA
-
Japanese Industrial Robot Association
UAV
-
Unmanned Aerial Vehicles
AGV
-
Automated Guided Vehicle
BIRG
-
Biologically Inspired Robotics Group
SWIS
-
Swarm Intelligent System Research Group
2-D
-
Two-Dimensional
3-D
-
Three-Dimensional
e.g.
-
Example
GPS
-
Global Positioning System
DARPA
-
Defense Advanced Research Projects Agency
WMR
-
Wheeled Mobile Robot
DDM
-
Differential Drive Model
AI
-
Artificial Intelligence
PID
-
Proportional-Integral-Derivative
VRML
-
Virtual Reality Modeling Language
VR
-
Virtual Reality
SISO
-
Single Input – Single Output System
MIMO
-
Multiple Input – Multiple Output System
LTI
-
Linear Time-Invariant
PMDC
-
Permanent Magnet DC Motor
LDR
-
Light Dependent Resistor
xvi
LIST OF APPENDICES
APPENDIX
A
TITLE
PAGE
List of Mobile Robotics Simulation Software Discussed
in this Document
70
B
Coding for Mesh Analysis for PID Tuning
72
C
Simulink PID Controller block settings while tuning using
m-file
D
E
73
Simulink blocks for saving input and output variables for
state space modelling
74
Completed Model with Pole Placement Controller
75