Upload
others
View
4
Download
1
Embed Size (px)
Citation preview
Mobile Robot Local Navigationwith a Polar Neural Map
A Thesis
Presented to the
Graduate Faculty of the
University of Southwestern Louisiana
In Partial Fulfillment of the
Requirements for the Degree
Master of Science
Michail G. LagoudakisSpring 1998
Michail G. Lagoudakis1998
All Rights Reserved
Mobile Robot Local Navigationwith a Polar Neural Map
Michail G. Lagoudakis
APPROVED:
Dr. Anthony S. Maida, Chair
Assistant Professor of Computer Science
Dr. Kimon P. Valavanis
Professor of Computer Engineering
Dr. Bill Z. Manaris
Assistant Professor of Computer Science
Dr. Lewis Pyenson
Dean, Graduate School
To my parents and teachers
who taught me all I have learned,
and more.
iv
Acknowledgments
It has been wisely written that “if you can read this, thank a teacher”. There is a large
number of people who taught me not only how to read, but how to create, how to think and
how to write as well. This thesis wouldn’t had come into existence otherwise. In the next
few lines I would like to express my acknowledgments to them.
Firstly, I would like to thank my thesis advisor, Dr. Anthony S. Maida, for all his
unreserved support and encouragement. He gave me the model of the dedicated researcher,
the unpretentious teacher, and the enlightened advisor. My thesis work wouldn’t had been
completed in just six months without our never-ending Thursday evening meetings, his
thorough reviews and his insightful feedback. I am grateful to him.
Numerous thanks go to Dr. Kimon P. Valavanis to whom I am indebted for making my
dream for graduate studies true. As an experienced and restless scientist, he never stopped
pointing out the things that essentially count in scientific research. Being in his research group
was not only a unique experience; his enthusiasm was an unlimited source of motivation.
Dr. Bill Z. Manaris was not only a member of my thesis committee and the supervisor
of my teaching and grading duties, but, above all, a honest friend. His wise advise in several
academic and non-academic issues turned to be invaluable in all cases. As his teaching
assistant for most of my time at USL, I realized the importance and responsibility of being
a teacher through his live example.
The Robotics and Automation Lab and the Virtual Reality Lab at the ACIM Center
provided all the hardware and software used in the thesis. I am grateful to their directors,
Dr. Kimon P. Valavanis and Dr. Denis Gracanin respectively.
I would like also to thank Tim Hebert who provided many helpful hints for operating the
robot successfully, and George Kounadinis who recorded the videotape for the demonstration.
Special thanks also to our system administrators, Mr. Patrick Laundry and Dr. Mark Radle,
for all the time, effort and disk space (!) they provided in order to have these words set
in a word processor.
v
Dr. Valavanis’ research grant, the Center for Advanced Computer Studies and the Lilian-
Boudouri Foundation in Greece funded my graduate studies at USL. I am indebted to all
them.
There is a large number of classmates and friends who made the two years of my life in
Lafayette an unforgettable and pleasant experience. My Greek fellows and friends in Patras,
Thessaloniki, Athens, Irakleio and all over the world kept in touch even at times when I was
‘too busy to reply’. I would like to express my gratitude to all of them and my apologies
for not listing their names here due to space limitations.
Finally, my warmest thanks and gratitude go to my family. My parents, Fr. Georgios
and Niki, my brothers, Fr. Petros, Nektarios and Dimitrios and my sisters, Evangelia and
Sophia, were all the time mentally next to me, although physically at the other side of the
globe. Their and my love cannot be expressed in writing.
Michail G. Lagoudakis
Lafayette, Louisiana, USA
May 1998
vi
Contents
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Overview of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Mobile Robot Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Mobile Robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Global and Local Navigation . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Work Space and Configuration Space . . . . . . . . . . . . . . . . . 13
2.5 Major Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3 Neural Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1 The Neural Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2 Recurrent (Hopfield) Neural Networks . . . . . . . . . . . . . . . . . 25
4 Path Planning with Neural Maps . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.1 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2 A Case Study: Mobile Robot Global Path Planning . . . . . . . . . 47
5 The Local Path Planner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.1 The Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.2 The Polar Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
vii
5.3 Obstacle Expansion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.4 Sensor Short Term Memory and Transformation . . . . . . . . . . . 76
5.5 Configuration Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6 Motion Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.1 Kinematic Models and Nonholonomic Systems . . . . . . . . . . . . 83
6.2 The Unicycle Kinematic Model . . . . . . . . . . . . . . . . . . . . . . 85
6.3 The Dynamic Window . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.4 The Objective Function . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.1 BOUDREAUX the Robot . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.2 System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
7.3 Computational Complexity . . . . . . . . . . . . . . . . . . . . . . . . . 98
7.4 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
7.5 Applicability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.6 Polar Grid versus Rectangular Grid . . . . . . . . . . . . . . . . . . 114
8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
8.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
8.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
8.3 The Big Picture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
9 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
A Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
B Biographical Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
viii
List of Tables
Table 1 Algorithm for path construction. . . . . . . . . . . . . . . . . . . . . . . . 41
Table 2 Algorithm for determining the next movement direction. . . . . . . . . 41
Table 3 Computational complexity of the system. . . . . . . . . . . . . . . . . . 99
ix
List of Figures
Figure 1 Several mobile robots of the class we consider in the thesis. . . . . 9
Figure 2 The concept of a neural map. . . . . . . . . . . . . . . . . . . . . . . . . 20
Figure 3 Self-organization at the neural mapping () level. More neurons
are assigned to the ‘important’ areas of X. The mapping is shown
by superimposing the neural field F on the signal space X. . . . . . 24
Figure 4 The basic nonlinear processing unit or neuron. . . . . . . . . . . . . . 25
Figure 5 The architecture of the subsystem for path planning with neural
maps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figure 6 Different network topologies and connections for 2-dimensional
uniform coverage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Figure 7 Connection weight as a function of distance. . . . . . . . . . . . . . . 33
Figure 8 The nonlinear activation function. . . . . . . . . . . . . . . . . . . . . . . 35
Figure 9 The target and obstacle configurations (left) and the contours of
the equilibrium surface (right). . . . . . . . . . . . . . . . . . . . . . . . 38
Figure 10 Network equilibrium state of a 50 50 neural map for a single
target. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Figure 11 The target and obstacle configurations (left) and the contours of
the equilibrium surface (right). . . . . . . . . . . . . . . . . . . . . . . . 39
Figure 12 Network equilibrium state of a 50 50 neural map for multiple
targets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Figure 13 Update rasters on a 2-dimensional lattice. . . . . . . . . . . . . . . . . 46
Figure 14 Example 1: Environment, agent, target and path. . . . . . . . . . . . 48
Figure 15 Example 1: Equilibrium activation surface. . . . . . . . . . . . . . . . . 49
Figure 16 Example 1: Contours of the equilibrium surface and the
navigation map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Figure 17 Example 2: Environment, agent, target and path. . . . . . . . . . . . 50
Figure 18 Example 2: Equilibrium activation surface. . . . . . . . . . . . . . . . . 50
x
Figure 19 Example 2: Contours of the equilibrium surface and the
navigation map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Figure 20 Example 3: Environment, agent, target and path. . . . . . . . . . . . 52
Figure 21 Example 3: Equilibrium activation surface. . . . . . . . . . . . . . . . . 52
Figure 22 Example 3: Contours of the equilibrium surface and the
navigation map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Figure 23 Example 4: Environment, agent, target and path. . . . . . . . . . . . 54
Figure 24 Example 4: Equilibrium activation surface. . . . . . . . . . . . . . . . . 54
Figure 25 Example 4: Contours of the equilibrium surface and the
navigation map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Figure 26 Example 5: Environment, agent, target and path. . . . . . . . . . . . 55
Figure 27 Example 5: Equilibrium activation surface. . . . . . . . . . . . . . . . . 56
Figure 28 Example 5: Contours of the equilibrium surface and the
navigation map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Figure 29 Example 6: Environment, agent, target and path. . . . . . . . . . . . 57
Figure 30 Example 7: Environment, target trace and agent trace. . . . . . . . . 58
Figure 31 Example 8: Environment, target trace and agent trace. . . . . . . . . 58
Figure 32 Example 9: Snapshots of the environment and the agent’s
trace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Figure 33 Example 10: Snapshots of the environment. . . . . . . . . . . . . . . . 60
Figure 34 Example 10: Environment and traces of the agent and the
moving obstacle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Figure 35 Example 11: Snapshots of the environment. . . . . . . . . . . . . . . . 61
Figure 36 Example 11: Environment and traces of the agent, the target
and the moving obstacle. . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Figure 37 Hierarchical decomposition of navigation. . . . . . . . . . . . . . . . . . 64
Figure 38 The robot’s sensory system and scope. . . . . . . . . . . . . . . . . . . 65
Figure 39 A ‘bad’ organization of the neural map. . . . . . . . . . . . . . . . . . . 66
Figure 40 A ‘good’ organization of the neural map. . . . . . . . . . . . . . . . . . 67
xi
Figure 41 A 16 10 polar neural map and the receptive field of a unit. . . . . . 69
Figure 42 A 32 10 polar neural map and the receptive field of a unit. . . . . . 70
Figure 43 On the way to the target. . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Figure 44 The neural map superimposed. . . . . . . . . . . . . . . . . . . . . . . . 72
Figure 45 Mapping information on the neural map. . . . . . . . . . . . . . . . . . 73
Figure 46 The resulting path and the output of the local planner. . . . . . . . . 73
Figure 47 Implementation of the polar map and update rasters. . . . . . . . . . 74
Figure 48 Obstacle expansion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Figure 49 Sensor range reading transformation. . . . . . . . . . . . . . . . . . . . 77
Figure 50 The hybrid nature of the discrete control on continuous motion. . . . . 79
Figure 51 The unicycle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Figure 52 The unicycle’s trajectory with constant control input. . . . . . . . . . . 87
Figure 53 Estimation of the final position. . . . . . . . . . . . . . . . . . . . . . . . 92
Figure 54 BOUDREAUX, the Nomad 200TM mobile robot of the Robotics
and Automation Laboratory. . . . . . . . . . . . . . . . . . . . . . . . . . 96
Figure 55 Architecture of the local navigation (sub)system. . . . . . . . . . . . . 97
Figure 56 A sample run of the robot in a simulated environment. . . . . . . . 100
Figure 57 The same run with the sonar readings superimposed. . . . . . . . . 100
Figure 58 A challenging problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Figure 59 The solution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Figure 60 A cluttered environment. . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Figure 61 Navigating in a cluttered environment. . . . . . . . . . . . . . . . . . . 102
Figure 62 The control input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Figure 63 A portion of the robot’s environment. . . . . . . . . . . . . . . . . . . 103
Figure 64 Representation on a 16 100 polar map with a short-term
memory of size 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Figure 65 Representation on a 16 100 polar map with a short-term
memory of size 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
xii
Figure 66 Representation on a 48 100 polar map with a short-term
memory of size 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Figure 67 Representation on a 48 100 polar map with a short-term
memory of size 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Figure 68 Error reduction by using configuration prediction. . . . . . . . . . . . 106
Figure 69 A sample run with the heuristic speed control. . . . . . . . . . . . . 107
Figure 70 Velocity history with the heuristic control. . . . . . . . . . . . . . . . . 107
Figure 71 A sample run with the motion controller. . . . . . . . . . . . . . . . . 108
Figure 72 Velocity history with the motion controller. . . . . . . . . . . . . . . . 108
Figure 73 Control input trajectory in the velocity space. . . . . . . . . . . . . . 109
Figure 74 Trace of the robot in a real world environment. . . . . . . . . . . . . 109
Figure 75 Trace of the robot in a corridor of our lab. . . . . . . . . . . . . . . . 110
Figure 76 Sample run of the robot in our lab. . . . . . . . . . . . . . . . . . . . . 110
Figure 77 Starting the journey. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Figure 78 Keep up going. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Figure 79 Completing the journey. . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Figure 80 Area of the receptive field for the rectangular and the polar
grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Figure 81 Ratio �1 of units in the polar and the rectangular grid. . . . . . . . . 116
Figure 82 Ratio �2 of units in the polar and the rectangular grid. . . . . . . . . 117
xiii
Chapter 1
Introduction
1.1 Motivation
Mankind restlessly seeks after the truth behind the mysteries present in our world. It
seems that this eagerness for explanation of the surrounding phenomena is innate in human
nature. However, the fascinating laws, structure and symmetry found in nature, can hardly be
more attractive than the ‘mysterious’ workings of the human brain. The study of intelligence,
cognition, the mind and the brain seems to be challenging for at least one more reason, that
of recursiveness and introspection: being subjects and experimenters in the same experiment.
Leslie Valiant in his bookCircuits Of The Mindsuggests that “science can be defined as any
discipline in which a fool of this generation can go beyond the point reached by a genius of
the last”. This clearly justifies research efforts in the study of mind and cognition, which
“has probably not yet matured to the stage where routine progress is possible or the given
criterion of science satisfied” ([Vali94], p. xii).
Artificial Intelligence (AI) as a discipline was born by an eagerness to understand the
nature and mechanisms of intelligence and possibly replicate them. Robotics, as a main
field of AI, perhaps manifests this clearly. Robots are generally understood as artificial
2
creatures that exist physically in the real world and exhibit anthropomorphic characteristics.
The challenge for intelligent robots was undertaken as soon as the new silicon-based
computational machine, that promised ‘unlimited’ power, appeared. However, the digital
computer is, by its design, a computational architecture and eventually it was realized that
it cannot easily (if at all) support a cognitive architecture. Before long, most of the efforts
returned where they had started from; to the physical, live intelligent systems and their
carbon-based architecture. What makes the biological neural networks so powerful? Will
the transistors and silicon chips ever be able to replicate what the neurons and their synapses
achieve? It seems that it will take long before an answer is given.
On the other hand, only recently, robotics research realized that robots should be studied
as physical agents situated in the real world. Contrary to the previous view, that the problem
can be solved by just building a powerful reasoning mechanism, recent trends focus on
aspects like interaction, locomotion and adaptation. Moreover, it was suggested that artificial
creatures should be built in an evolutionary manner, whereby primitive tasks and behaviors
are built first, followed by additions of increasingly more complex abilities and behaviors
[Broo97]. Among the very first behaviors in this scale is the ability for safe locomotion
and navigation in the real world, which is so interwoven with our everyday life that rarely
attracts our attention. Even animals of all species and size have developed this ability far
beyond what most robots can achieve today. What makes biological agents more capable
than robotic agents? Can robots mimic at least animal behavior?
I have been fascinated for a long time by the numerous and interesting applications
of connectionist models which were inspired by the architecture of the brain1. Through a
number of courses, independent study, project work and constructive discussions with my
academic advisor, an adequate background was acquired in a particular class of such models,
namely, the recurrent or Hopfield neural networks. Robotics was also a focus of interest
from the very beginning of my graduate studies. Before long, certain ideas, pointers in the
literature and the available facilities, provided enough starting material for research work.
The result is contained in this thesis.
1 Other terms used for such models areparallel distributed processing systemsandartificial neural networks.
3
1.2 Problem Statement
The starting point for this thesis was the Doctoral dissertation of Roy Glasius at the
Katholieke Universiteit Nijmegen, Netherlands, entitledTrajectory Formation and Population
Coding with Topographical Neural Networks[Glas97]. Glasius proposes an approach to path
planning problems using topographical neural networks or neural maps. The scope of his
dissertation is basically theoretical and his aim to produce biologically plausible models. The
simulation results deal with robotic arms, and application on real robotic systems is almost
not discussed.
The general question that this thesis will attempt to answer iswhether the neural map ap-
proach can be effectively applied on real robotic systems, and, if yes, how. For that reason, the
overall character tends to be application-oriented, concentrating on efficient implementations
and engineering issues and techniques, which perhaps deviate from biological constraints
and modelling.
The general question above became more specific due to a number of factors. The robot
spectrum was reduced to a particular class of robots, for which navigation is the basic task and
would allow us to proceed with real implementations. The problem, also, was not attacked
on its whole, but only local navigation was considered, due to the breadth and complexity
of navigation in robotic domains. In other words, the refined question was formulated as
follows: Are neural maps applicable in mobile robot local navigation and how exactly?The
thesis indeed provides an answer, and it is left to the reader to judge its validity.
1.3 Contributions
Although such a section would be more appropriate at the end of the thesis as an
evaluation, it can also serve, at this point, as a motivation for a full-length study of the
remainder by the interested reader. We highlight the most important contributions that this
thesis perhaps has to offer:
1. Extensive simulation studies of path planning problems for mobile robots with neural
maps.
4
The original work of Roy Glasius, from where we started, was basically concerned with
robotic arms and static environments, with little reference to mobile robots. The thesis
covers exactly this gap.
2. Techniques for efficient computer implementations of neural maps for path planning.
Although such techniques might not be required for theoretical studies, they are never-
theless invaluable for real-world applications and for those who might be interested in
using the system in practice.
3. The polar neural map, as a model for dynamic representation of (spatially and temporally)
local information of the robot’s environment.
The polar map is introduced here as an alternative to the traditional rectangular grid
representation in robotics, and its advantage of being tuned to the needs and capabilities
of the system is demonstrated in various ways.
4. A motion control scheme appropriate for computer-based robot control.
The motion control introduced in the thesis is intended for discrete-time computer-based
robot control and respects the dynamics and kinematics of the robot. It can be used
independently of the particular path planning technique and applies to a variety of
mobile robots.
5. A complete and powerful local navigation scheme for a common class of mobile robots.
Perhaps this is the main contribution of the thesis. Our scheme not only facilitates
considerably global navigation, but it is also implemented and tested successfully on a
real robot, a fact that guarantees its validity.
6. A basis for further work and exploration.
The ideas discussed in the thesis and especially the ones in the last chapter, provide
enough starting points and motivation for additional work.
1.4 Overview of the Thesis
Chapter 2 of the thesis provides the basic background for understanding the problem
of mobile robot navigation. The different classes of mobile robots, the subproblems related
to robot navigation, and the concepts of the robot work space and configuration space are
5
covered to the degree needed for the main subject of the thesis. At the same time, the chapter
delineates the scope of the thesis in the mobile robot navigation domain. Finally, the major
navigation approaches are briefly described and our work is categorized accordingly.
Chapter 3 gives the necessary background for neural maps. The neural map as a dynamic
representation model and its properties are covered, and the well-studied recurrent (Hopfield)
network model is presented as a means for modelling and implementing (in software) neural
maps.
Chapter 4 describes how neural maps can be used to solve the basic problem of robot
navigation, namely the path planning problem. The methodology is based on [Glas97], but
it is given here with an emphasis on efficient implementations for practical application. The
case study that concludes the chapter illustrates the capacity of the method with numerous
examples.
Chapters 5 and 6 are the main subject of the thesis. Chapter 5 introduces and covers
the polar neural map from its conception to its implementation. A brief discussion at the
beginning provides justification for such a design, and shows how the map fits into a more
general architecture. Then the neural map is specified in detail and its functionality is
demonstrated on a typical path planning situation. Other aspects directly related to the
neural map and its interface with the robot are discussed as well.
Chapter 6 presents the motion control component that cooperates with the polar map
to make navigation possible. After providing some background information, the kinematic
model of the robot is presented, and the trajectory equations are derived for the cases we are
interested in. Then the problem of motion control is formulated as an optimization problem
and the several terms of the objective function are defined.
Chapter 7 reports the theoretical and experimental results related to our navigation
system. A complete overview of the system’s architecture and its computational complexity
is followed by experimental results that show the applicability of the system in real world
problems and how it can be used further. Finally, a detailed comparison between the polar
and the rectangular grid representations stresses even more the appropriateness of the polar
6
map for local robot navigation.
Chapter 8 summarizes the thesis and proposes future research directions. The thesis
concludes with some personal views of the author that put this work in a different perspective
and envision a different approach to mobile robot navigation.
Chapter 2
Mobile Robot Navigation
This chapter provides the basic background for understanding the problem of mobile
robot navigation. Most of the concepts described here are used frequently throughout the
thesis. The major approaches and the current status of the related research are briefly surveyed
as well, in order to expose the reader to the breadth and depth of the area.
2.1 Mobile Robots
In [RuNo95] arobot is defined as “an active, artificial agent whose environment is the
physical world”. This broad definition includes all artificial creatures that exist physically
in (and therefore occupy a portion of) the real world and interact with it in some manner.
A particular class of robots that has attracted special attention is that ofmobile robots(or
mobots). Such robots have basically the ability of locomotion, i.e. they can move their
physical body in the real environment in a free-ranging manner. According to Lazea and
Lupu, a mobile robot is “a robot vehicle capable of self-propulsion and (re)programmed
locomotion under automatic control in order to perform a certain task” [LaLu97].
8
Theoretically, the environment of a mobile robot can be land, water, air, space or any
combination. Most research efforts have focused on the first class, namely land mobile robots,
which is also the simplest case. We consider only such robots in the rest of this thesis.
In almost all robotic systems we can identify two basic components:sensorsand
effectors, or, put simply, the tools for perception and action respectively. It is obvious
that a mobile robot needs both: sensors in order to obtain information about its surrounding
and effectors (with actuators) to make locomotion possible.
There is a broad range of sensors available for mobile robots. One class includes range
finding devices that can measure the distance to the closest object in some direction. Typical
sensing devices in this category are ultrasonic (or sonar = SOund NAvigation and Ranging),
infrared and laser range finders. Sonars are cheap, can cover a long range, but suffer from
the poor and noisy quality of their measurements. Infrareds are significantly better, but are
more expensive and can cover only a short range. Lasers are the most accurate range finders,
however they are much more expensive compared to the previous ones. Other sensing
modalities for mobile robots are tactile sensors or bumpers that report collisions, and camera
systems for mono or stereo visual perception.
In terms of effectors, there are basically two classes of mobile robots:legged and
wheeled. For the first class, locomotion is achieved through mechanical legs that mimic the
human and animal locomotion. However, coordination of the legs is a particularly difficult
task and raises also posture stability problems. The attraction of legged locomotion is the
ability to ‘walk’ in rough terrains. The other class (wheeled) is more practical and in most
cases sufficient for man-made environments. The control of wheeled robots is much easier
without posture instabilities.
There is a large range of potential applications for mobile robots. Such applications
include transportation of objects in buildings, factories, warehouses, airports and libraries,
service robots that clean streets or vacuum apartments, inspection robots in hazardous envi-
ronments, autonomous vehicles, guarding, space exploration, planetary rovers, etc. Although
the demand for such applications is high, the limitations of existing robots when faced with
the real world, as well as their high cost, have not allowed broad practical utilization. A
9
bottleneck in this effort is the problem of navigation and the lack of the required flexibility
and adaptation in different situations.
Throughout this thesis we consider only a particular class of mobile robots, namely
wheeled round mobile robots with range finding sensors distributed on their periphery. Some
examples of such robots are shown in Figure 1.
Nomad 150
Nomad 200
RWII B21RWII B14
Nomad XR4000
Figure 1. Several mobile robots of the class we consider in the thesis2.
2.2 Navigation
Navigation related to mobile robots is a broad term that incorporates several subproblems.
There is a general assumption that mobile robot navigation is simply some short of obstacle
avoidance. However, the bulk of research that has been devoted to this area within the last
decades (e.g. [Lato91]), reveals that the problem is by no means trivial.
2 All five images are copyright of Real World Interface, Inc. (top two) and Nomadic Technologies, Inc. (middle and bottom two).
10
There is list of questions that a robot has to answer, before we can ascribe autonomous
navigation capabilities to it3:
1. What should I remember? (Cognitive Mapping)
2. Where am I? (Localization)
3. Where should I go? (Path Planning)
4. How can I go? (Motion Control)
A whole study can indeed be devoted to each one of them. We provide a few comments on
each one aiming to clarify their importance.
Benjamin Kuipers of the University of Texas (Austin) defines thecognitive mapas the
“body of knowledge of a large-scale environment that is acquired by integrating observations
gathered over time, and is used to find routes and determine the relative positions of places”
([Kuip83], p. 346). It is currently unknown how exactly humans (or even animals) develop
their cognitive map, what its structure is and how it is used in navigation. When talking about
mobile robots, the need for cognitive mapping is obvious. A robot must store information
from its observations and experiences to be used later for effective navigation. Such a storing
must be selective; the robot does not have infinite memory, nor can it handle huge amounts
of information. The first question in the list above attempts to give an answer exactly to this.
What must be stored? How should it be stored? There is a considerable amount of research in
cognitive mapping for humans, animals and robots, an area also known asspatial cognition.
We cite here some of the most characteristic: [Kuip78], [Kuip83], [Toll48], [HiJo85].
The second question assumes an answer to the first one. Given that the robot has built
some sort of cognitive map of its environment, is it possible to determine its own current
position in that environment based on the sensed information? The answer here determines
whether the built cognitive map will ever be useful or not. However, the argument is circular:
Is the cognitive map ‘rich’ enough to make localization possible? Robotics research has
tried considerably to provide solutions to the localization or positioning problem, as it is
also known. Nevertheless, the different sensory modalities of the robots admit different
3 Levitt and Lawton [LeLa90] define also navigation with a similar set of questions.
11
solutions and there is no general method for all cases. The most significant work in the
area is included in [BoEF95].
Path planning is perhaps the most famous and the most important of the problems related
to navigation, to the extent that navigation is sometimes reduced (wrongly) only to path
planning. By planning, we mean the process that defines the necessary subgoals and their
relationship in order to achieve a particular ultimate goal. When talking about navigation and
path planning, a (sub)goal is meant to be a position or a robot configuration (see definition
below) in general.
Path planning can be viewed at several different levels. An example of our everyday life
will make this point clear. Imagine yourself being in your car somewhere in Boston and you
want to drive to New York. New York is the ultimate goal. A subgoal would be to reach
the interstate highway that connects the two cities. Another lower subgoal would be to reach
the main street in Boston that enters the highway. Finally, an immediate subgoal would be
to back up 10 feet to get out from the parking slot you are currently parked in. Similarly,
a mobile robot in order to move into a particular room, in an imaginary situation, would
have as subgoals to reach the corridor that connects the two rooms, move to the door of the
current room and turn 70� to the left in order to pass around the chair in front of it. The
analogy is quite obvious. Notice how the first two subgoals in both cases are defined using
objective terms, since they fall out of the sensory scope, whereas the last ones are formed
in subjective terms (relatively to the current position). We return to this observation later in
this thesis when talking about hierarchical decomposition.
A complete path for a robot would be briefly a sequence of ‘close enough’ positions
that connect the current with the desired position. Here, we avoid discussing what we mean
by ‘close enough’ since it depends on particular cases. Simply think of it as geometric
proximity of positions. Path planning is traditionally divided into global and local, but this
will be discussed in the next section, in the more general context of navigation. There
are numerous different approaches for robot path planning and some of them are reviewed
below as major approaches to robot navigation.
The last question is concerned with a problem which is usually disregarded in robot
12
navigation research unless research is done on real robots. On the other hand, it has
been studied extensively as a stand-alone problem from a control theory point of view.
Motion control is concerned about how the robot should be controlled in order to achieve (or
approximate) the (sub)goals identified by the path planning procedure. The solution to this
problem is not obvious at all in most cases. For an analogy, think of the way you control
your car using the accelerator, brake and gears in order to move to a certain position. The
smoothness and the accuracy of the motion is what distinguishes between an experienced
from an amateur driver (motion controller). The same applies also to mobile robot motion
control. Sample related work can be found in [BHJL82].
Questions 3 and 4 are explicitly addressed in this thesis, whereas 1 and 2 are left for
future work. This was possible because we are interested at this point in the lower levels of
robot navigation and therefore cognitive mapping and localization are not directly relevant.
The focus of our work is on the local navigation and motion control aspects.
2.3 Global and Local Navigation
Traditionally, within the robotics community, robot navigation is divided into two large
classes:global navigation andlocal navigation. Global navigation generally assumes global
information about the environment in terms of some sort of cognitive map. This information
might be a map provided a priori or constructed by the robot or some external global sensory
source, like a camera mounted at the top of a room providing a bird’s eye view. In this
case, it is required that robot navigation is complete, i.e. if there is a solution, it must be
found. Additionally, it might be required that navigation is optimal according to some
optimality criterion, like shortest travelling distance and/or time. High computational and
representational costs and slow response are typical in this case.
In contrast, local navigation does not assume and does not use any global information.
Navigation is based only on local information in a spatial and temporal sense. This includes
the most recent sensory information about the environment around the robot. Navigation,
in this case, might not be complete and optimality criteria cannot be defined. However, the
13
low computational and representational cost and the high flexibility, makes local navigation
a very powerful tool for mobile robots.
There is a large number of approaches that combine both local and global navigation
and seem to be the most effective ones. The work in this thesis addresses basically local
navigation, but with an ultimate goal to reduce the complexity of the global navigation that
will be eventually added. This point will be clarified later when hierarchical decomposition
is discussed as part of our design.
2.4 Work Space and Configuration Space
Any robot operates in a subset of the real world. We call this thework spaceof the
robot and alternatively use the termenvironment. For a mobile robot it might be a building
and for a robotic arm it might be a spherical area around its base. It is important that the
exact position of the robot in its work space with respect to some frame of reference can be
precisely specified. Theconfigurationof the robot is a vector that holds the current values of
all those single-valued parameters that need to be specified in order to identify uniquely the
robot’s exact position. These parameters are broadly known as thegeneralized coordinatesof
the robot. For a mobile robot the generalized coordinates might be the Cartesian coordinates
of its center and the orientation of its heading. For a robotic arm, they might be the angles
between the joints of the arm.
The notion of the configuration space was introduced by Tomas Lozano-P�erez in 1983
[Loza83] to allow for a unified treatment of path planning problems for diverse robotic agents.
The configuration spaceC of the robot is simply the space where its configuration vector
lives, i.e. the set of all possible configurations, and its dimension is equal to the number of
generalized coordinates. Since the robot can only be in a single configuration at any time, it
is represented as a single point inC. Obstacles in the work space or mechanical constraints
imply that certain areas are not accessible by the robot. An attempt to reach such areas will
probably be prevented or a ‘crash’ will take place. Given the mapping on the configuration
space, these areas define subsets ofC, that cannot be reached by the configuration vector,
14
known as obstructed or prohibited configurations. Similarly, target positions can be specified
as certain configurations or subsets of configurations inC.
The impact of the whole notion is that path planning and navigation are reduced to
planning paths for and navigating a single point inC, instead of solving the problem for
complex geometric structures in the work space of the robot. The results can be directly
mapped back to the work space of the robot. This is due to the fact that (in almost all cases)
continuous motion of the robot in the work space corresponds to continuous motion of its
configuration vector inC and vice versa.
2.5 Major Approaches
A short review of the major approaches for robot navigation is provided below. Most of
the approaches are basically concerned with the main problem of path planning. However,
we prefer to view them as navigation approaches since this is the general problem they
attempt to solve.
2.5.1 Roadmap Methods
Roadmap methods basically attempt to reduce the dimensionality of the space in which
path planning and navigation takes place. This is done by capturing the structure of the
free space by a set of one-dimensional curves and their interconnections, theroadmap. The
result is a graph-like structure, where paths can be planned easily. The full path consists
of three components: an initial path segment that connects the current configuration to the
roadmap, the main path that lies on the roadmap and the final segment that connects the
final configuration to the roadmap.
Well known methods in this category are the Voronoi diagrams and the visibility graphs.
A related problem in this case, is how the roadmap can be constructed (a computationally
heavy problem, in general) and how it can be modified in case the environment changes
dynamically. Roadmap methods are discussed in [Cann88].
15
2.5.2 Geometric Approaches
These approaches use geometric methods to derive solutions to path planning and
navigation problem. The idea is to model the environment and the robot using geometric
structures (e.g. polygons, rectangles, circles) and then define the necessary rotations and
translations of these objects that will lead to the desired result. A famous problem in this
category is the “piano-movers” problem that deals with the ‘maneuvers’ required to move a
long piano out of a room through a narrow door.
Geometric methods have rarely been applied to real robotic problems, due to the
computational cost for modelling and manipulating geometric objects. Additionally, they
cannot be easily adapted to dynamically changing worlds. Sample work in this category is
included in [ScSH87].
2.5.3 Cell Decomposition
The idea here is to decompose the free space into a large number of small regions,
called cells. The decomposition is such that adjacent cells define configurations, where the
robot can trivially (or at least easily) navigate between them. The result is a non-directed
connectivity graph that represents the adjacency of cells. Notice that the size of the cells can
be variable as well as their distribution. Exact cell decomposition refers to the case where
the union of all cells is the exact free space, as opposed to approximate cell decomposition
where the union of the cells is properly included in the free space. In the latter case, cells
usually have a standard predefined shape but perhaps variable size.
Path construction here can be realized by any algorithm for graph search. The details of
the decomposition, however, can affect significantly the completeness and the computational
complexity of the algorithm, as well as the quality of the resulted path. These methods are
perhaps the most well studied and have been applied widely for robot navigation. Sample
instances of such methods are the quadtrees [NePa95] and the grid-based representations
[MoMa96].
2.5.4 Reactive Approaches
Reactive approaches attempt to overcome the computational limitations of deliberative
16
approaches, like the ones described already, by offering fast solutions for real-time applica-
tions. The basic idea is to couple perception with actuation, so that particular sensed patterns
directly activate appropriate motor commands. Such couplings are usually termed as behav-
iors and can be implemented as a simple structure (e.g. augmented automata [Broo86] or
motor schemas [Arki87]). Although such an approach seems to be quite limited, the real
power of reactive systems is exhibited when several behaviors are employed concurrently and
the overall behavior of the robotic system emerges as a result of some sort of combination
of them (e.g. competition or weighted summation).
Other ways to implement reactive controllers is by using fuzzy logic techniques and
neural networks. A fast fuzzy inference engine or a well-trained network can endow the
robot with fast response to sudden changes in the environment, avoidance of collisions and
even smooth motion control. However, the lack of any representation in reactive methods
limits the scope of tasks they can achieve. Hybrid architectures have also appeared recently
to overcome this problem.
Behavior-based approaches have been popularized within the last decade, mainly because
of their success on real robots. They have provided a completely different paradigm for
building ‘intelligent’ robots, that departs from the traditional AI approaches. Pioneers in this
area are Rodney Brooks of MIT and Ronald Arkin of Georgia Tech and their work serves
as the best reference ([Broo86], [Arki98]).
2.5.5 Virtual Force Fields
The methods in this category define virtual forces that act on the robot and determine
its motion. Generally, it is assumed that the target position applies an attractive force on the
robot, whereas obstacles apply repulsive forces. The motion results from the combination
of all forces, which is usually the summation of force vectors. The result is that the robot
will move toward the target due to the target attraction, avoiding at the same time obstacles
that ‘push’ the robot away from them. The drawback of such methods is that the robot can
be trapped easily in ‘local minima’, which are situations where the attractive and repulsive
17
forces are cancelled out. Such approaches were popularized by Oussama Khatib [Khat86]
and Johann Borenstein [BoKo89].
2.5.6 Potential Fields
In this case, navigation is defined as the process of following the maximum gradient
of some particular quantity in the environment. The origins of such methods should be
ascribed to our surrounding nature, where animals and even humans, use such methods for
navigation. For example, a planarian reaches a food source by testing the water and moving
always toward the direction in which the chemical stimulation increases [Cart57]. Similarly,
humans move toward the direction where sound becomes louder in order to locate its source,
or toward the direction where smell becomes stronger to reach the source of the olfactory
stimulus.
Talking about robots, a straightforward application of this idea would be to use some
source of stimulus to identify a target position and sensors on the robot that can measure the
gradient of the stimulus, so that the robot is guided to the target by following the maximum
gradient of the stimulation. However, since we don’t want to add additional ‘disturbances’
in the environment, a more reasonable (though harder) way is to build a model of it, simulate
the diffusion of the stimulus in the model, determine the resulting maximum gradient and
guide the robot accordingly in the real environment.
Potential field approaches, in general, solve a broader problem compared to other
methods. The diffusion process we mentioned takes place in all directions in the environment
and as a result the gradient can be calculated at any position. Obviously, a path can be
constructed starting from any initial position. This is a sort of anavigation map(or navigation
function), which is a structure that “describes the relationship between an environment and a
specific target location in that environment” ([GeAb96], p. 79). The navigation map provides
all the necessary information for reaching the target from any initial position.
Potential fields is perhaps the most popular approach for robot navigation. In some
sense it includes the virtual force fields described above, in that forces determine gradient
directions. Common ways to create navigation landscapes (or functions) are electrostatic
18
fields ([TaBl91], [Pras89]), where the gradient is given by the maximum current flow in
a network of resistors with the source located at the target’s position and the sink at the
robot’s position, or harmonic functions [Conn94], that satisfy Laplace’s equations and have
no local minima. Recently, neural map dynamics ([Glas97], [GlGK95], [GlGK96], [ScEn94])
have been used also to create navigation landscapes and provide a more compact approach
compared to the previous two.
The method presented in this thesis falls within the potential field methods, and more
particularly on neural map dynamics for navigation landscape formation, although it borrows
some characteristics from cell decomposition as far as representation is concerned. The
relationship to both will be unfolded in the subsequent chapters.
Chapter 3
Neural Maps
This chapter covers the concept of a neural map as a representation medium and the
dynamic (Hopfield) neural network model as a simple computational model of the neural
map, appropriate for computer implementation and simulations.
3.1 The Neural Map
Neural mapsare important structural components of the brain. They appear in almost
all the sensory (e.g. retinotectal map, auditory map) and motor (e.g. superior colliculus)
interfaces. Another term commonly used iscortical maps, due to the fact that they are
located in the cortex of the brain. Apart from being biological models, neural maps have
been used as a means for representation for solving problems of practical interest. In what
follows we consider the neural map as a representation medium with reference to brain maps
only when appropriate.
3.1.1 The Mapping
According to Schun-ichi Amari, “a cortical [neural] map is a localized neural represen-
tation of the signals in the outer world” [Amar89]. Note that such signals might be input
20
signals (sensory input) or output signals (motor control). LetX be a (multidimensional) signal
space in the outer world. Also, letF be a network ofneurons(or filters), called theneural
field F. Then, the neural map is simply an isomorphic mapping from X to F (: X F),
that maps signals inX to (the inputs of) neurons inF and vice versa. One can think of the
activation of neurons inF as being the output signal of the map. Extending the definition
above, the signal spaceX can be the output of another map, so that successive ‘layers’ of
maps can be defined. Figure 2 shows a simple conceptual diagram of a neural map.
X
FΨ
Figure 2. The concept of a neural map.
By convention, neural maps are classified into two categories:topographicand feature
(or computational) maps. The former is related to the case where the mapping is based on a
spatial topographic order betweenX and F. Biological examples include the somatosensory
cortex and the retina, where the mapping is based on the location of the tactual stimulus on
the skin for the first and on the location of the light stimulus in the eye for the second. On
the other hand, a feature map is related to the case where the signal space is mapped based
on attribute or feature values of the signals. An example in this case is the primary visual
cortex, where the mapping is based on the orientation of the stimulus.
In principle, there is no restriction on the particular type of mapping and, it can be a
many-to-many mapping, i.e. the same signal may be mapped on several neurons and several
21
signals may be mapped on a single neuron. Usually, the spaceX is a continuous space,
whereas the neural fieldF is composed by a finite number of neurons, in which case a
one-to-one mapping is ruled out. However, with a very large number of neurons,F can be
treated as a neural computational continuum.
The most interesting case is the many-to-one mapping where, in fact, categorizes
the input signals [BaHV97]. The restricted inverse mapping�1
(i) will assign a single
‘prototype’ signalxi to neuroni, known as thereceptive field center(or reference/prototype
vector, or optimal stimulus). The true inverse mapping�1 will return the whole subarea
Xi of the signal space that corresponds to neuroni, known as thereceptive field(or Voronoi
cell) of the neuron. Formally,Xi = x X : (x) = i . Notice that in this case (many-
to-one) the receptive fields of two different neurons cannot overlap. However, in all cases
isomorphism requires that the union of the receptive fields spans the signal spaceX.
There are several ways to define such a mapping formally. Amari proposes a collection
of vectors of synaptic efficaciessi (weights) one for each neuron, so that for a given signal
x X the input to neuroni is the dot product ofsi andx minus some bias value [Amar89].
In fact, the vectorsi X serves as the reference (or feature) vector for neuroni and the
inner (dot) productsi x is a measure of how closex is to si, which if exceeds some threshold
value (bias) excites the neuroni (see also [Koho97]). Notice that such a mapping defines a
topographic organization of the neurons inF over the signal spaceX, in the sense that a unit
i will be excited by all the signals in the ‘neighborhood’ of its reference vector.
Sometimes, a neural map can be realized in a more straightforward way by direct physical
topographic order of the neurons inF over the signal spaceX. A biological example comes
from the very front interface of the visual system, where the physical topographic order of
the photoreceptors in the retina (F) determines how the projected light (X) is mapped on
them ().
3.1.2 Basic Properties
There are several properties typical of a neural map, some of which have already been
mentioned. Others that are worth of special consideration will be considered in turn separately
22
below.
The receptive fieldof a neuron inF is defined as the subset of the signal spaceX that
excites this particular neuron. The size of the receptive field is related to theresolution
property of the map, which is a measure of the discretization ofX on F. A neural map is
usually organized in such a way that the most frequent or the most important signal areas
in X are projected onF with higher resolution (small receptive fields). In other words, the
distribution of neurons overX is not uniform, but ‘more’ neurons are assigned to the ‘critical’
areas ofX. This is theamplificationproperty of the neural map (see also Figure 3).
A question that arises here is whether the map is fixed or dynamic. Is the mapping
fixed and time-independent or dynamically changing due to the signal history over time?
Biological evidence suggests the latter case and indeed theself-organizationproperty of
neural maps has been demonstrated in terms of several dynamic self-organizing rules, most
famous of them being that of Kohonen [Koho97].
The most prominent feature of neural maps, that distinguishes them from classical
(e.g. feed-forward) neural network models and other techniques, like vector quantization,
is perhaps theneighborhood preservationproperty. Neighborhood relationships that exist
between ‘similar’ signals inX are reproduced by neighborhood relationships between ‘similar’
neurons inF [BaHV97].
Finally, the interconnections between neurons inF, which express the similarity between
the reference vectors of connected neurons [WiSe98], define a dynamic behavior of the neural
field F. An important aspect in this context is thestability related to the dynamic evolution
of the state ofF, taken as the vector of all the neuron activations.
3.1.3 Neighborhood Preservation
As was mentioned above the topological arrangement of the neurons over the signal
space (as defined by the neural map) is not arbitrary, but ‘similar’ signals are mapped on
‘similar’ neurons. This property brings up the issue ofsimilarity. What does it mean that
two signals are similar or how is the neighborhood of a signal defined?
23
In the case of topographic neural maps, similarity is defined in terms of geometric
proximity of the signals. On the other hand, for feature maps, similarity is defined as
functional proximity of the signals. In each case, one can define different metrics that
more accurately determine the degree of similarity. Similarity in neural fields is defined by
the strength of the connections between neurons. The more excitatory the strength of the
connection, the most similar the neurons.
The neighborhood preservation property stems from the fact that similar signals are
mapped on similar neurons, thus preserving the neighborhood relation. Put it another way,
the similarity of two neurons is in accordance with the similarity of their prototype vectors.
3.1.4 The Neural Field
The neural fieldF consists of a network of neurons. A large number of neurons and a
rich pattern of lateral connections allows us to viewF as a neural computational continuum.
Subsequently, the individual activations of neurons, viewed collectively from this perspective,
define an activation surface overF, which emerges as a result of the distribution of the
receptive field centers overX and the pattern of lateral connections [SaMF97]. In this view,
the neural map behaves as afield computertransforming patterns in a computationally rich
way.
The defined dynamics produce a dynamic behavior of the activation surface that changes
smoothly over time, being able to demonstrate a variety of operations, like diffusion,
dispersion and convection. Therefore, the lateral connections and interactions play a crucial
role in the overall behavior of a neural map. A question that arises here relates to whether
these connections are predetermined or emerge through a process of self-organization.
Early research ([AmAr82], [Amar89]) has considered fixed lateral interactions in the
form of local excitation and distant inhibition that follows a 2-dimensional “mexican-hat”
profile. Most work along these lines assumes that intracortical interaction is reduced to 2-
dimensional circuitry. Recent trends ([SaMF97], [SiMi93]), however, focus on interactions
that emerge from applying self-organization to an arbitrary initial connectivity, in the form
24
of Hebbian learning. It is interesting that “mexican-hat” interactions were developed as a
result of such a learning process, as it is reported in [SiMi93].
In all cases, competition (inhibitory interactions) and cooperation (excitatory interactions)
seem to play a very important role in the stability and sharpness aspects of the neural field
activations [AmAr82].
3.1.5 Self-Organization
Dynamic organization is an important property of a neural map. Amari points out that
“a rough [biological] map is formed under the guidance of genetic information at the initial
stage of development, but is modified and refined further by self-organization” [Amar89]. In
other words, the mapping is self-adjusted in such a way that reflects the correlations within
the signal space and the correlations within the neural field, with the purpose of producing a
representation that is further useful to the system. This process is known asmap formation
[WiSe98] orself-organization[Koho97]. Figure 3 shows a simple example of map formation.
X X
Figure 3. Self-organization at the neural mapping () level. More neurons are assigned to the ‘important’
areas ofX. The mapping is shown by superimposing the neural fieldF on the signal spaceX.
One has to distinguish between two different kinds of dynamic evolution. The first is the
dynamic evolution of the state of the neural field, based on the outer signal and the defined
dynamics. The other is the dynamic and unsupervised evolution of the (neural) mapping
itself, either at the level of or at the level of the interconnections and dynamics inF. A
basic distinction comes from the time scale of each process. The former takes place in a much
faster rate, compared to the latter which is slow and follows a developmental or learning
25
time scale [ScKE97]. Self-organization refers exactly to this ‘slow’ learning unsupervised
procedure, that tends to adjust the system in a self-adaptive manner.
There have been proposed several self-organizing rules for neural map models. The most
prominent is that proposed by Teuvo Kohonen [Koho97], modified and adjusted in several
variations. Most of them, during map formation, tend to transform the distribution of signals
in X into a uniform distribution onF. Another rule proposed by Oja [Oja82] is based on a
Hebbian learning algorithm and, during map formation, organizes the map in such a way
that reflects the principal components of the signal distribution inX on F.
3.2 Recurrent (Hopfield) Neural Networks
3.2.1 The Basic Processing Unit
The basicprocessing unit(or element, or neuron) which is often used as the building
block of recurrent neural networks and throughout this thesis is a non-linear “integrate-and-
fire” device. A uniti is characterized by theinput vector�, a weight vector Wi, a bias input
�i, thenet input ui, theactivation function�(•) and itsoutput(or state, or activation) �i. The
input � is weighted byWi and is added to the bias�i, forming the scalarui, which passes
through the non-linear function�(•), before it is delivered as the output�i of the unit (see
Figure 4). Formally, the net input is defined as
i i i
n
j=1
ij j i (3.1)
wheren is the dimension of the input and the weight vector. Notice that the weight vector
is not a function of time; however, this need not be the case.
(W)i
V u i V
0i
i
Io(.)
Figure 4. The basic nonlinear processing unit or neuron.
26
The activation function(or squashing function) �(•) can take several forms and usually
it is a saturating nonlinear increasing function. It can be the unitstep(or Heaviside) function
�(x) =1 x > 0
0 x 0(3.2)
in which case we have a unit with discrete states {0, 1}. If thesign function
sign(x) =+1 x 0
1 x < 0(3.3)
is used, the output is discrete but with values {1, –1}. An analog unit, where the state falls
in the range [0, 1] or [-1, 1], can be obtained by employing thesigmoid(or logistic) function
g(x) =1
1 + e�x(3.4)
or the hyperbolic tangentfunction
tanh (x) =ex e�x
ex + e�x(3.5)
respectively. Then�(x) = ��(x) = g(�x) or �(x) = ��(x) = tanh (�x), where the
parameter� determines the steepest slope of�(x). The inverse of�, T=1/�, is usually
referred to as atemperatureparameter4. Note that
sign(x) = 2�(x) 1; tanh (x) = 2g(2x) 1 (3.6)
so the {0, 1} (or [0, 1]) unit can be easily transformed to the {-1, 1} (or [-1, 1]) one and
vice-versa. In the limit� the analog unit becomes discrete.
3.2.2 Dynamics
The way the output of a uniti is updated over time is defined by the systemdynamics.
The broken-line arrow in Figure 4 indicates the place where timing is introduced. The
McCullogh and Pitts [McPi43] dynamic rule, usually employed in Hopfield networks, has
the following form for discrete time dynamics :
�i(t + 1) = �(ui(t)) = �(Wi �(t) + �i(t)) = �
n
j=1
wij�j(t) + �i(t) (3.7)
4 The term was coined by physicists from the statistical mechanics literature due to the strong relationship of the stochastic Hopfield
network with spin-glass dynamics.
27
For continuous time dynamics it is formulated in terms of the change in�i over time, as a
nonlinear differential equation:
(3.8)
3.2.3 The Network
A recurrent (Hopfield) neural network model([Hopf82], [Hopf84]) consists of a fully
connected network ofn units, like the ones described above. That means that each unit
receives input from all the other units and forwards its output to all the other units. The full
connectivity can be modified appropriately by the weight values. For example, a weight of
0 can break a connection completely. Bywij we denote the weight of the connection from
unit j to unit i (alternatively,wij is the jth component of the weight vectorWi). The model
commonly assumes symmetrical weights (wij = wji ) and, in most cases, zero self-coupling
terms (wii = 0), but in principle the weights can have arbitrary values. ByW we denote the
connectivity matrix, where the weightwij is the (i, j) element of the matrix. A connection
with positive weight isexcitatory, as opposed to aninhibitory one which has negative weight.
The network stateat any time is given by the state vector�(t) = (�1(t); �2(t); :::; �n(t)).
Observe that the input vector for each unit is in fact the network state, which is fed back to
all units and characterizes the recurrent nature of the network.
A distinguishing characteristic among such networks is the updating policy. For the
discrete time dynamics, it can besynchronous, in which case all the units are updated
simultaneously at each time step, orasynchronous, where either the units are updated
according to a fixed sequence, one at each time step (fixed sequentialasynchronous update),
or according to a random sequence, one at each time step, with the restriction that all the
units have the same mean update rate (random sequentialasynchronous update). Another
case, which is basically asynchronous but at the extreme tends to be synchronous, is
the stochasticupdate, where each unit independently chooses to update itself with some
constant probability per time unit. For the continuous time dynamics, there is no global
synchronization mechanism and the units are updated continuously and simultaneously in
time.
28
The state space Sof the network (orphase space) is the set of all possible values of the
state vector�(t). In the case of a network with discrete units it consists of the corners of an
n-dimensional hypercube, whereas for a network with analog units it is a solidn-dimensional
hypercube. During the dynamic evolution of the network the state vector ‘moves’ in the state
space delineating a trajectory under the influence of the network dynamics and the external
input (biases).
3.2.4 The Energy Function
The energy functionof a Hopfield network is a function defined over the state space of
the network and has the following form for discrete units [Hopf82]:
E(�(t)) =1
2�T (t)W�(t) �T (t)�(t)
=1
2
n
i=1
n
j=1
�i(t)wij�j(t)
n
i=1
�i(t)�i(t)(3.9)
and the following for analog units [Hopf84]:
E(�(t)) =1
2�T (t)W�(t) �T (t)�(t) + �G(�(t))
=1
2
n
i=1
n
j=1
�i(t)wij�j(t)
n
i=1
�i(t)�i(t) +
n
i=1
G(�i(t))(3.10)
where
�G(�(t)) =
n
i=1
G(�i(t)) and G(�i(t)) =
�i(t)
0
��1(x)dx (3.11)
The main property of the energy function is that it decreases (not necessarily monotonically)
during the dynamic evolution of the network, assuming constant bias input,�(t) = �.
Alternatively, the energy function can be viewed as defining an energy landscape and the
dynamics can be thought of as the motion of a marble on the energy surface under the
influence of gravity and friction. Consequently, the network performs as a minimizer of
its energy function and will be eventually trapped, during its evolution, into a stable state
corresponding to a local or global minimum of the function. Then we say that the network
is in equilibrium. At this point for all units it is true that
i i (3.12)
29
for discrete time dynamics and
�
i i
n
j=1
ij�
j i (3.13)
for the continuous time dynamics. Another observation is that for the continuous time case the
equilibrium states��i
can be obtained as the solutions of the fixed point equations above. The
equilibrium states are known asattractorsand for each one of them thebasin of attractionis
defined as the subset of the state space containing all the states which if taken as initial states
will drive the system to the particular attractor under the influence of the system’s dynamics.
An exception to the convergence property is the case of the synchronous discrete-time
updates where oscillation phenomena are present and a stable state may never be reached.
However, a stability condition [GlKG95] in this case is
� <1
�min
(3.14)
where � is the steepest slope of the activation function and�min is the most negative
eigenvalue of the connectivity matrixW. If all the eigenvalues are positive, the stability
holds for any� [GlKG95]. If the stability condition is satisfied then the energy function
is a Lyapunovfunction for the system and guarantees that the network will converge to a
stable state.
It should be noted that, the main property of the energy function as described above is
held only if the weights of the connections are symmetric and the self-coupling terms are
zero or positive. The neural network model described here is a special case of the general
dynamical system studied in [CoGr83].
Chapter 4
Path Planning with Neural Maps
This chapter describes the application of neural maps on the problem of finding a path in
the configuration space of an agent. The idea is to use the map as a dynamic representation
of the configuration space, updated by external information, where the dynamic interactions,
through a diffusion-like procedure lead to an activation landscape that can be used as the
navigation map for a given target configuration.
4.1 Methodology
4.1.1 Overview
Consider a robotic agentR and its configuration spaceC. Some external source (e.g. a
sensory system), continuously provides information about the environment. With appropriate
mapping this information can be used to update the state ofC. It should be noted that such
a mapping is not always obvious and depends heavily on the modality and the scope of the
source. On the other hand, given that the mapping has been done, some sort of operation must
take place overC in order to determine the path that the agent should follow to reach its goal.
The domain seems to be appropriate for a neural map application. The sensory information
31
(X) through a neural mapping () is mapped on a neural field (F) that subsequently provides a
solution (perhaps, coded) to the path planning problem based on its own dynamic interactions.
Without further information about the external input, we cannot define the mapping.
However, can result through a self-organizing process or through a detailed analysis by
the designer. At the moment we will not deal with this issue, assuming that is somehow
defined. We will return back to this, later in this thesis, when we refer to particular sensory
sources. The focus of this chapter will be on the other part, namely the dynamics of the
neural field. The idea is, given the information mapped on the field (desired configuration,
prohibited configurations), to build a navigation map inC in terms of field activation, from
where a supervisor (external to the map) can construct a path or determine the direction of
movement. The method presented here is based on [Glas97].
At a glance, the agent’s subsystem for solving the path planning problem consists of
two main components, namely a neural map and a supervisor or path constructor. The
architecture of the subsystem is given in Figure 5.
......
Perception(Sensory Input)
Path Planning Subsystem
Analog Hopfield Neural Network( )Neural Map
Path Constructor( )
Target Configuration Current Configuration
Equilibrium State( )
ActivationLandscape
Path orMovement Direction
Supervisor
Figure 5. The architecture of the subsystem for path planning with neural maps.
4.1.2 The neural map
Consider a neural map implemented using a recurrent (Hopfield) neural network withn
analog units. Further, letC be the configuration space of the agent, which is assumed to
be continuous. Also, assume some external source that provides information aboutC. Since
there is no additional information aboutC and the external source, we can assume that all
32
areas ofC are of equal ‘importance’. Thus, the units are arranged in ad-dimensional lattice,
homogeneously distributed over the agent’s configuration spaceC (d is the dimension ofC)
with non-overlapping receptive fields, in such a way that the resulting topographic neural
map serves as a discrete topologically ordered representation ofC. The topology of the
distribution and the connections can vary. Figure 6 gives examples of alternative choices
for d=2. Each uniti corresponds to a subsetCi of C (the receptive field of uniti) and the
union of all Ci ’s coversC. All configurations withinCi are represented by (or correspond
to) the unit i. In the sequel, we consider only these discrete points of the lattice and refer
to them as the neural fieldF5.
(a) (b)
(c) (d)
Figure 6. Different network topologies and connections for 2-dimensional uniform coverage.
We define only cooperative interactions in the network, since we are interested in a
diffusion-like (or wave propagation) behavior of the network state that will provide the
navigation map. The connections in the network are lateral short-range, symmetrical and
5 Notice that computational limitations do not allow us to assume a very large number of units, soF cannot be treated as a computational
continuum.
33
excitatory without self-coupling. Long-range connections are all set to zero. Thus, each
unit i is connected only to a subset of units in its neighborhoodNHi. NHi has the form
of a hypersphere of radiusr in the neural fieldF with its center on uniti. The strength
wij of the connection between uniti and unit j is a function of the Euclidean distance�(i,j)
between the units inF:
wij = f(�(i; j)) (4.15)
The functionf(•) defines the neighborhood and the weights within it. It is usually a decreasing
function and can take several forms, some of which are given below ( is a positive real
number) and are plotted in Figure 7 forr=5.
f(x) =1 if 0 < x r
0 if x = 0 or x > r(4.16)
f(x) =1
xif 0 < x r
0 if x = 0 or x > r(4.17)
f(x) = e� x2 if 0 < x r
0 if x = 0 or x > r(4.18)
0
0.2
0.4
0.6
0.8
1
1.2
1.4
0 2 4 6 8 100
0.2
0.4
0.6
0.8
1
1.2
1.4
0 2 4 6 8 10 0
0.2
0.4
0.6
0.8
1
1.2
1.4
0 2 4 6 8 10
Figure 7. Connection weight as a function of distance.
It should be pointed out that the resulting weights are symmetrical since for any unitsi
and j, if j is in NHi, then i is in NHj and vice versa, and obviously�(i; j) = �(j; i). The
self-coupling weights are by definition 0. Therefore, the criterion for decreasing energy over
time in the network is satisfied.
The current configuration, target configuration(s) and prohibited configurations are, in
fact, defined over the continuous configuration spaceC. Given the above discretization
34
due to the neural fieldF and the non-overlapping receptive fields of the units, the actual
configuration of the agent will fall into the receptive field of a single unit, which will be
referred to as theagent unit. Similarly, we define thetarget unitsas the subset of units
where the target configurations are mapped on, and theobstacle unitsas the subset of units
where the prohibited configurations are mapped on. Notice that we allow multiple target
configurations to be specified, when all of them are equivalent with respect to the desired
task in the real world6. Obviously, a single unit should not correspond at the same time to
the agent and an obstacle or to a target and an obstacle, so we assume that a large enough
number of units results in a resolution of the neural field sufficient to avoid such phenomena.
The assumed external source provides information aboutall configurations. After the
appropriate (assumed) mapping based on the receptive fields of the units, the input�i(t) for
unit i is given by
�i(t) =+ i is a target unit at timet
i is an obstacle unit at timet0 otherwise
(4.19)
where infinity is some very large value in practice. Recalling the monotonicity of the
nonlinear activation function and the bounded outputs of the units, the effect of such input is
that a target neuron will be maximally activated, i.e. its state will reach the maximum value
since its net input and thus the activation is maximized, independently of the state of the
other units. Similarly, the state of all the obstacle units will be clamped to the minimum
possible value, since their net input and activation is minimized. For all the other units
(including the agent unit) the state is not affected directly by the external input. The total
net input ui to unit i is given by
i
j2NH
ij j i (4.20)
The state�i of a unit i is restricted to be a real number in the range [0, 1]. A state of 1
means that the unit is maximally activated, whereas a state of 0 indicates a deactivated unit.
Consequently, the nonlinear activation function�(x) should be 0 for negative or zero net
6 Although for a mobile robot this case is not so common, it is common for robotic arms where a single positioning of the end effector
can be achieved by several different configurations of the joints. Alternatively, one can think of the goal as being any configuration that
satisfies some set of constraints. Obsviously, such a definition allows the target configuration(s) to be any subset ofC.
35
input and monotonically increasing for positive net input, saturating to 0 and 1 respectively
for the limits and+ . An example of such a function shown in Figure 8 is the following
��(x) =0 x 0
tanh (�x) x > 0(4.21)
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
-20 -15 -10 -5 0 5 10 15 20
β=0.5β=0.25
β=0.1
β=0.05
β=0.025
Figure 8. The nonlinear activation function.
The following approximation could also be used as an alternative.
�0
�(x) =
0 �x 0
�x 0 < �x < 1
1 �x 1
(4.22)
The overall state of the network is given by the state vector�(t) = (�1(t); �2(t); :::; �n(t))
and all its possible values define the phase spaceS of the system.
The evolution of the network can be defined in terms of discrete or continuous time
dynamics as described in the previous chapter. The update policy can be parallel, sequential,
synchronous, asynchronous or random, without affecting drastically the evolution of the
network. However, parallel discrete dynamics or continuous and simultaneous dynamics are
the most appropriate for the model. Note that in the discrete time case, certain restrictions
apply to the parameter� (see eq. 3.14) for equilibrium. The existence of the Lyapunov
energy function for the system defined above guarantees that the network will eventually
come into equilibrium during evolution.
36
4.1.3 Network Evolution
Assume a case where there are no obstacles and target configurations specified. Then
the external input is zero for all units and assuming that there is no previous activation
in the network, the state of the network will remain zero. Assume now that some target
configuration is specified. The result is that the target unit will be maximally activated and
this activation will be passed to the units of its neighborhood and so on, resulting to an
activation propagation phenomenon. The convergence property ensures that the state of the
system will eventually reach a stable state in the phase space.
Now, assume that some units are specified as obstacle units. These units are dominated
by the external input; their state is clamped to 0, and they will not let any activation to be
propagated through them. They act as cut-off points for the propagated activation, which
nevertheless can spread around them through non-obstacle units. One can think of the
obstacle units as if they were not present in the network. Again, after a while the system
will come into equilibrium; the presence of obstacles and consequently the ‘absence’ of the
corresponding units will affect only the convergence time. Finally, it is helpful to think of the
target neuron as a source of a wave that spreads around the network in all possible directions
(wave propagation), without passing through obstacles, until it reaches a steady state.
There is a question of whether this stable attractor state is unique assuming that the
external input remains constant and the system is initialized to any arbitrary initial state. For
our purposes, it is important that the attractor state is unique and the reason is, simply, that
for a given combination of external inputs we want to create a unique path, which is a direct
function of the stable state of the system. This can be achieved if and only if the Lyapunov
energy function is strictly convex, in which case there are no local minima and the single
minimum present is a global one. This is true if all the eigenvalues of the connectivity matrix
are negative. In case there are some positive, a sufficient condition is ([GlCG95])
� <1
�max(4.23)
where � is the steepest slope of the activation function and�max is the most positive
eigenvalue of the connectivity matrixW. In fact, from another perspective this condition
37
imposes a strict gradual decay of the activation wave as it moves away from its source.
Recalling the convergence condition for parallel discrete time dynamics from the previous
chapter (see eq. 3.14), the condition ([GlCG95])
� <1
�; � = max �
min; �max (4.24)
where� is the steepest slope of the activation function,�min is the most negative eigenvalue
of the connectivity matrixW and�max is the most positive eigenvalue of the connectivity
matrix W, guarantees that a unique stable state will be reached in all cases.
Note that, since the network converges to a unique attractor state for a given combination
of the external inputs, there must be such a unique state for the network when there are no
explicit external inputs, i.e. when all inputs are zero. Not surprisingly this state is the zero
network state, where all the units have a state of 0. Note also that, unless a target unit
is present, the obstacle units have no effect on the state of the system; they are simply
deactivated. So, in the absence of a target unit, no matter how many obstacle units are
present and the current state having any arbitrary value, the system will eventually rest into
the zero state.
Assume now that the environment changes in time, i.e. the obstacle and the target
configurations change in an arbitrary way. If the time unit of the changes that take place in the
environment is comparable to the total time required by the network to come into equilibrium
(which is highly dependent on�), then the network is able to reach the desired stable state
(to be used by the path constructor for generating the next move) before a new external input
is presented. In this case the agent will be able to move in a fully dynamic environment.
There are several techniques for decreasing the convergence time of the network and thus,
increasing the maximum rate of changes in the environment that the agent can handle. A
brief discussion will be provided in the following sections.
4.1.4 Equilibrium State
At this point we should give an idea of what the attractor state looks like. Assuming a
single target, only the target unit is maximally activated. As we move away from the target,
the state of a unit decreases monotonically but it is non-zero for all the non-obstacle units.
38
We can view the stable state in the neural fieldF as a discrete representation of a peaky
surface over the configuration spaceC, where the peak is located at the target unit. There
are no other peaks in the surface and this is guaranteed by the dynamics of the network and
the conditions posted. In case of multiple target units, the surface will have one peak at each
one of them and the shape of the surface will result as a confluence of the several activation
waves. In any case, from any initial configuration, a path to the target configuration can be
constructed by a simple steepest ascent procedure.
Figure 9 (left) shows a simple example of a 2–dimensional (5050) neural map with
a single target unit and several obstacle units arranged in a line. Figure 10 is the surface
corresponding to the equilibrium point. In fact, the surface is quite peaky and logarithmic
scaling has been used for visualization purposes. Finally, Figure 9 (right) depicts the contours
of the surface. Notice how the activation propagation stops at the obstacles and how it spreads
around through the little opening at the middle.
Figure 9. The target and obstacle configurations (left) and the contours of the equilibrium surface (right).
39
0
0.5
1
Figure 10. Network equilibrium state of a 50�50 neural map for a single target.
Figures 11 and 12 show another example of a 2-dimensional (5050) neural map with
three target units, the resulting surface at the equilibrium and the corresponding contours.
Notice how the landscape is formed by the confluence of three waves. The steepest ascent
procedure from some initial configuration will return a path to the closest target configuration.
Figure 11. The target and obstacle configurations (left) and the contours of the equilibrium surface (right).
40
0
0.5
1
Figure 12. Network equilibrium state of a 50�50 neural map for multiple targets.
4.1.5 The Path Constructor
The supervisor or path constructor module receives as input the state of the network
at the equilibrium and either constructs the full path (off–line, static case) or suggests the
next movement direction (on–line, dynamic case). Its operation is rather simple and follows
a steepest ascent (or hill climbing) procedure. A path here is meant to be a sequence of
‘close’ enough configurations (i.e. similar configurations) such that the transition between
two successive ones can be easily achieved by the agent (primitive actions).
Given the current configuration of the agent, the next configuration in the path (static
case) or the next suggested movement direction (dynamic case) is determined by the direction
of the maximum (positive) gradient of the equilibrium surface at the agent unit. The process
is repeated (for the static case) with the new configuration as the current state, until there is
no move, at which point the target has been reached and the full path has been constructed.
The procedure is a simple form of discretized steepest ascent over the equilibrium state
surface. If i and j are two adjacent units then the gradient along the direction fromi to j
is calculated (approximated) by
gradient(i; j) =activation(j) activation(i)
�(i; j)(4.25)
41
where�(i,j) is the Euclidean distance between the units in the neural fieldF. Both algorithms
are given in the tables below.
PATH CONSTRUCTION (Static Case)
1. Path
2. Current Unit Agent Unit
3. Next Unit Unit adjacent to the Current Unit with maximum gradient in its direction
4. while ( state(Next Unit) > state(Current Unit) ) do
a. Add transition ( configuration(Current Unit), configuration(Next Unit) ) at the end of the path
b. Current Unit Next Unit
c. Next Unit Unit adjacent to the Current Unit with maximum gradient in its direction
Table 1 Algorithm for path construction.
MOVEMENT DIRECTION (Dynamic Case)
1. Next Unit Unit adjacent to the Current Unit with maximum gradient in its direction
2. if ( state(Next Unit) > state(Current Unit) )
return ( direction between configuration(Current Unit) and configuration(Next Unit) )
3. else
return
Table 2 Algorithm for determining the next movement direction.
In case the target is unreachable from the current configuration of the agent, the agent’s
unit state will be zero as well as the state of all the units that fall into an area surrounded by
obstacles and no path will be constructed. To see this notice that if the target is unreachable
by the agent, this is reversible, and thus the agent is also unreachable by the target. Therefore
during the evolution of the network the propagated activation will not find a way to the agent.
The path constructed is just an approximation of a smooth trajectory inC and its
quality depends on the grain size of the discretization of the configuration space. This
leads to a trade-off between quality of the path and size of the network. As far as the path
construction is concerned, more sophisticated approaches, like interpolation can be used for
better approximations. On the other hand, an ‘output’ neural map might be used to code the
42
continuous trajectory of the configuration vector with respect to the activation landscape. The
technique of representing a vector in a continuous space with a ‘population’ of continuous-
valued discrete points is usually referred to aspopulation coding[GlKG94].
Alternatively, the problem might be postponed to another subsystem that will approximate
a smooth trajectory based on the constructed discrete path. We return to this later in this
thesis, when we describe an implementation on a real robot.
Another point that must be mentioned is that the neural map solves in fact a more general
problem. Given the equilibrium state of the network we have all the necessary information to
construct a path to the target configuration starting from any arbitrary initial configuration. By
determining the direction of the maximum (positive) gradient at all units a discrete navigation
map for the given target in the configuration space can be constructed. The implications of
this can be beneficial. For example, if the agent is unwillingly displaced to a configuration
away from the constructed path, a new path can be easily constructed from the same surface.
Also, several identical agents in different configurations, but with a common target can share
the same network for path planning.
In a more general and natural perspective, we can think of the neural map and the path
constructor as two separate processes running in parallel. The task of the neural map is to
built an activation landscape based on the available information. The continuous updating
results in a transformation of the external input into a landscape that changes smoothly,
even if the external input is discontinuous. The supervisor, on the other hand observes the
activation landscape continuously at the unit corresponding to the current configuration. If
any positive gradient appears it transmits its direction to the actuators that move the agent.
Obviously, the network does not have to be in equilibrium, but it is still updated while the
agent is in motion. Surely, the faster the updating of the network, the faster the overall
response of the system and the better the performance of the agent.
4.1.6 Optimality
Although optimality can hardly be addressed in the general robot navigation frame, we
can make some claims assuming a static path planning domain. In this case, the problem
43
is usually addressed as a path finding problem on a graph and the optimality criterion is
defined by some path cost.
The path constructed using the presented path planning subsystem isoptimal (minimal)
in terms of thenumber of stepsin the path. To see this, notice that the equilibrium surface
increases as we approach the target and decreases as we move away from it. The symmetrical
form of the neighborhoods of the units guarantees that during the evolution of the network
the activation supported by the target input is propagated homogeneously over the network
(and thus over the configuration space). As a result, the accumulated activation in a unit
is a measure of the ‘distance’ of the unit from the target (distance transform), considering
only paths without obstacles. The higher the activation of a unit, the closer to the target the
unit is. Obviously, by selecting the unit corresponding to the direction of maximum gradient
as the next step in the path, we are making the best progress toward the target. Any other
algorithm that selects some other unit as the next step, cannot do better than this, given the
strict monotonicity of the surface and the adjacency of the units. In fact, it may do worse
since additional steps might be necessary during the hill-climbing procedure.
However, depending on the nature of the environment and the mapping on the configu-
ration space, the path may not be optimal in terms of specific metrics. In almost any case the
constructed discrete path is suboptimal compared to the smooth trajectory it approximates.
However, a careful design of the path constructor can compensate for this by taking into
account additional information and constructing the path in such a way that meets some other
optimality criteria. On the other hand due to the shape of the equilibrium surface and the
simplicity of the path constructor the resulting path tends to remain away from obstacles
(except at the corners), which is a natural and desirable characteristic.
4.1.7 Complexity
The time required for finding a path is the time for mapping the sensory information,
the evolution time of the network and the time required by the path constructor. Without
additional information about the external input, we can only assume that the mapping time
is proportional to the size of the neural fieldF, since every neuron must receive an updated
44
information. The evolution time is a function of the size of the neural field and the current
configuration of the obstacles and target. The path construction time depends solely on the
length of the path. Assuming that the total number of neurons inF is D, and the length of
the path isp discrete steps, the complexity of the algorithm is
O(D) + O(D) + O(p) (4.26)
where each term corresponds to one of the subprocesses mentioned.
However, considering the fact that the evolution of the network can be terminated
earlier, as will be discussed below, the evolution time can be significantly reduced. Now
assuming a real parallel implementation so that the external input and the units can be updated
simultaneously, the overall complexity is in fact reduced toO(p). This is not true, however,
for computer simulations where the units can only be updated sequentially, even for simulated
parallel dynamics. Finally, several heuristics can be used to decrease the actual convergence
(evolution) time. This point is discussed further in the next section.
4.1.8 Implementation Issues
There are several factors that need to be considered when it comes to an implementation
of such a scheme on a digital computer. A simulation of a large parallel distributed processing
system on a computer usually suffers from space and time limitations, which can easily make
such an implementation inapplicable to real problems. Some issues that arise in this context
are discussed in the sequel.
The memory space required for the network is proportional to the number of units. Note
that there is a small number of short range connections for each unit and the connectivity
pattern and weight values are the same for all units. One can easily take advantage of this
regularity by not explicitly representing the weight matrix in the computer’s memory. The
weight values can be hardwired in the local update procedure within the neighborhood of
each unit.
The convergence time depends on the update procedure. Given the locality of the
connections, the time required for a single unit to be updated is constant and determined
45
by the number of units in its neighborhood. The local update procedure, that updates a
single unit, needs consider only units within the current neighborhood.
The knowledge of the current configuration can be used to control the evolution of
the network and in fact terminate it before equilibrium has been reached, without affecting
the quality of the resulting path. Assuming parallel updates or continuous time updates, the
activation front propagates around the target equally in all directions. As a result, at any time
the activation front delineates iso-activation lines around the target. Figures 9 and 11 might
be helpful here. The structure and shape of these lines depends solely on the arrangement of
the target and obstacle configurations and doesn’t change during evolution; what changes is
the relative amplitude of the activation. The conclusion is that the direction of the maximum
gradient at some point does not change by the time the activation front ‘hits’ that location.
Therefore, the evolution of the network can be terminated as soon as the activation front
reaches the agent’s current configuration. From that point the path constructor is able to
proceed without additional information. Obviously, now the system is oriented to solve the
specific problem pertaining to the current configuration, by creating only an adequate portion
of the equilibrium surface.
Significant reduction of the convergence time can be achieved by employing sequential
discrete time dynamics. The strict convexity of the energy function guarantees that the final
equilibrium state will be the same, independently of the update sequence. The idea here is
to employ the Rosenfeld and Pfaltz algorithm [RoPf66], originally proposed for sequential
operations in digital image processing. The algorithm is also used for creating distance
transforms [Jarv93] and is suitable for sequential computers. Following their scheme, we
apply successive updating rasters on the network along the ‘diagonals’ of the lattice structure.
This way activation from a target unit will be propagated along the whole diagonal in one
raster. By successively ‘crossing’ the diagonals on which the raster takes place, the activation
covers rapidly the whole network and convergence is achieved in significantly less time. A
conceptual example here would be the function of the paintbrush that distributes an initial
concentration of paint on a surface through successive rasters in crossing directions. Figure
13 shows one possible pattern of successive rasters for a 2-dimensional lattice.
46
1
2
3
4
Figure 13. Update rasters on a 2-dimensional lattice.
The shortcoming of using such an updating procedure is that the activation does not
propagate in iso-activation lines anymore, but follows the raster direction at each raster.
Therefore, the procedure should not be terminated early even if activation hits the current
configuration; the resulting path will most probably be highly suboptimal. However, one
way to compensate for this is to apply a pattern of rasters that tends to make the propagation
homogeneous in all directions and perform the test for termination after the pattern of rasters
has completed. For example, such a pattern is shown in Figure 13 where every 4 rasters the
propagation approximates the homogeneous one. The termination test can be applied every
4 rasters. The final path will be very close to the ‘optimal’ one, where optimality means
number of steps in the path.
By applying this latter technique, it was possible to generate paths in 2-dimensional
neural maps of sizes 200200, 500 500 or 1000 500 in only a few seconds (less than
10) given a simple arrangement of obstacle configurations. For a map of 5050 and for
any complicated arrangement of obstructed and target configurations the required time was
about 1–2 seconds7.
The precision of the calculations is another important issue, since the nonlinear function
and the conditions for convergence cause the activation to decrease rapidly as it propagates
away from its source (target). It is very likely that the machine will run out of precision
due to underflow, if the path is long enough.
7 All runs were conducted on a SUN SPARCStation 4.
47
4.2 A Case Study: Mobile Robot Global Path Planning
In order to demonstrate the approach we present simulation results of applying neural
maps on path planning problems for a point mobile robot moving in a subset of the 2-
dimensional plane. For simplicity, only a single target configuration is specified in each
case. The assumptions adopted in this case study are the following:
1. Complete (for the whole environment) and accurate (no uncertain) information is avail-
able through some global sensory system or a dynamically and globally updated map.
2. It is assumed that the robot is aware of its own position at any time (exact localization).
3. The robot is considered as a single point. This is not so restrictive for round robots; a
preprocessing step will grow all the obstacles by the robot radius.
4. The robot has omindirectionality. It can move in any direction around its current position.
The units of the neural map are arranged in a 2-dimensional regular rectangular grid
homomorphic to the configuration space of the robot, which is identical to its environment
or work space. The topology of the units follows that of Figure 6 (b). We assume that for
each discrete configuration, there are 8 adjacent configurations in the 8 possible directions
and the robot is able to move easily between them. The neighborhood of each unit is formed
using 4.15 and 4.17 withr=1.5, so that it consists of exactly the 8 neighbors8. The resulting
weights are 1 for the straight connections and2�1
for the diagonal ones. The values
used for� ranged between 0.13 and 0.04 in order to satisfy the condition for convergence
(�<0.13) on one hand and adequate precision in calculations on the other. Discrete time
sequential dynamics were used for the evolution of the network.
Several cases were tested and for almost all the cases we provide the following diagrams:
1. The environment with the agent position, target position and the arrangement of obstacles.
2. The constructed path over the environment.
8 The reason for not expanding the neighborhood in a larger area is that we don’t want activation to be propagated or received over
an obstacle unit.
48
3. The equilibrium surface of the network. It should be noted that in fact this surface
is quite peaky, i.e. the activation decreases rapidly as we move away from the peak.
Logarithmic scaling has been used for visualization purposes.
4. The contours of the equilibrium surface revealing the propagation of the activation from
the target unit to the rest of the network.
5. The navigation map of environment for the given target, i.e. for all cells the direction to
which the agent should be moved, in terms of arrows pointing to the next adjacent cell.
The symbols used in all the diagrams are as follows:for the agent, for the target, for
obstacles and for moving obstacles.
Examples 1 through 6 are static environment cases, whereas examples 7 and 8 demon-
strate dynamic cases, where the target is allowed to move in a random manner. Example 9
shows a case where information about only a part of the environment is available and finally
examples 10 and 11 show fully dynamic cases, where the target and/or obstacles can move.
In almost all cases a grid of size 5050 was used unless otherwise specified.
4.2.1 Example 1
This is the simplest case, where there are no obstacles present in the environment.
Figure 14. Example 1: Environment, agent, target and path.
49
Figure 14 (left) shows the initial situation and Figure 14 (right) shows the constructed
path. Note that due to the discretization of the configuration space the path is not as smooth
as possible.
0
0.5
1
Figure 15. Example 1: Equilibrium activation surface.
Figure 15 shows the state of the network at equilibrium. The peak of the surface is located
at the target. Steepest ascent is applied on this surface for the construction of the path.
Figure 16. Example 1: Contours of the equilibrium surface and the navigation map.
Figure 16 (left) shows the contours of the equilibrium surface which reveal the activation
propagation in all directions. Figure 16 (right) shows the corresponding navigation map.
50
4.2.2 Example 2
In this case there is an obstacle that prevents direct access to a part of the environment,
except through the little opening at the top left. The target is located at the middle of this
area and the agent is initially near the top right corner of the environment.
Figure 17. Example 2: Environment, agent, target and path.
Figure 17 (left) shows this situation and Figure 17 (right) shows the constructed path.
Notice how the path is kept to a distance from the wall, but ‘cuts’ the corners.
0
0.5
1
Figure 18. Example 2: Equilibrium activation surface.
51
Figure 18 shows the resulting equilibrium surface for this arrangement of target and
obstacles. Notice that activation is not propagated over the obstacle, but ‘escapes’ through
the little opening at the top left.
Figure 19. Example 2: Contours of the equilibrium surface and the navigation map.
Figure 19 (left) shows explicitly the propagation of the activation through the opening
at the top left. Figure 19 (right) is the resulting navigation map.
4.2.3 Example 3
In this case, there are two openings that allow passing through the interior of the obstacle.
The target is located at the left and the agent at the right, as shown in Figure 20 (left). The
constructed path passes through the interior of the obstacle since this is the shortest route
(Figure 20, right).
52
Figure 20. Example 3: Environment, agent, target and path.
0
0.5
1
Figure 21. Example 3: Equilibrium activation surface.
Figure 21 shows the equilibrium landscape from where the path is constructed. The
obstacle prevents any activation propagation, however the ‘wave’ can find its way out
through the free units around the obstacle.
53
Figure 22. Example 3: Contours of the equilibrium surface and the navigation map.
Figure 22 (left) shows the contours of the surface. Notice how the opening at the right
alters the propagation at the right side of the network. Figure 22 (right) shows the direction
of movement for all cells. It is interesting to notice the dividing line between the two areas
at the right of the configuration space; the one that is ‘attracted’ to the target through the
interior of the obstacle and the other that is ‘attracted’ to the target around the obstacle.
4.2.4 Example 4
This is a classical example of a maze (spiral) where the target is located at the middle
and the agent at the bottom left of the environment. Figure 23 (left) shows the situation at
the beginning and Figure 23 (right) depicts the constructed path. Notice again that the path
passes through the middle of the corridor and not right next to the wall.
54
Figure 23. Example 4: Environment, agent, target and path.
Figure 24 shows the shape of the equilibrium surface. In this kind of environment,
the path becomes the longest possible, and consequently the activation propagation has to
‘travel’ over a long distance before it ‘hits’ the agent’s position. This situation leads to the
largest convergence time. Another problem that may appear here is possible underflow in the
computer’s precision since the activation at the furthest cells takes significantly small values.
0
0.5
1
Figure 24. Example 4: Equilibrium activation surface.
Figure 25 (left) shows the activation propagation from the middle of the maze. Figure
25 (right) shows the navigation map which prefers to avoid the walls except at the corners.
55
Figure 25. Example 4: Contours of the equilibrium surface and the navigation map.
4.2.5 Example 5
Figure 26 (left) depicts a randomly created environment, where there are several ‘rooms’
some of which are connected and accessible and some not accessible at all. The agent is
located near the bottom right of the environment, whereas the target is at the top. The
constructed path is shown in Figure 26 (right). Although the target is at the top, the agent
has to move initially close to the bottom, since this is the only available path.
Figure 26. Example 5: Environment, agent, target and path.
56
0
0.5
1
Figure 27. Example 5: Equilibrium activation surface.
The equilibrium landscape of the activation in the network is shown in Figure 27 and
it follows the structure of the environment.
Figure 28. Example 5: Contours of the equilibrium surface and the navigation map.
Figure 28 (left) shows the propagation of the activation on the network. It is interesting
to see that the activation wave has been propagated to all the accessible areas. However,
isolated areas are not activated at all and appear blank on the diagram. Figure 28 (right)
gives complete directions to the target.
57
4.2.6 Example 6
Another example of a spiral maze. The map here consists of 100100 cells and there
are random openings at some points on the walls. The target is again at the middle and the
agent at the bottom left. The constructed path is show in Figure 29. Notice how the system
takes advantage of the openings to find the shortest route.
Figure 29. Example 6: Environment, agent, target and path.
4.2.7 Example 7
In this case, the obstacles are static but the target can move around freely. The agent
is located initially at the bottom right corner and the target at the bottom left. The target
moves randomly (with some preference to the right and top) and the agent tries to ‘catch’
the target. At each time step the agent moves in the ‘best’ direction with respect to target’s
position at the same time. Figure 30 shows the traces of both the agent and the target as
they move around until the agent ‘catches’ the target.
58
Figure 30. Example 7: Environment, target trace and agent trace.
4.2.8 Example 8
In this case both the target and the agent move in a free space of 200100 cells. The
target moves at a little slower speed so the agent is able to catch up. The situation is shown
in Figure 31.
Figure 31. Example 8: Environment, target trace and agent trace.
59
4.2.9 Example 9
This is an example of navigation with incomplete information about the environment.
Figure 32. Example 9: Snapshots of the environment and the agent’s trace.
The first snapshot in Figure 32 shows how the environment appears in reality. The
target is at the top right and the agent inside the obstacle. The second snapshot shows the
information the agent has about the environment; it has no information about the obstacle,
as if it was not there. We assume that the sensory system of the agent can provide accurate
information about the cells within a maximum distance around the agent. We have used
a distance of 2.25 with respect to the discretization unit. The information is stored in the
memory of the agent and is used subsequently in the path planning process.
The agent starts moving to the right toward the target (third snapshot) until it realizes
that there is an obstacle at the front. Then, after a small turn downwards that reveals more
of the obstacle, it moves upwards (fourth snapshot). As soon as it realizes that there is no
way from there, it moves the other way downwards where more of the obstacle is revealed
(fifth snapshot). The exploration continues until the exit is found and the rest of the path is
free of ‘hidden’ obstacles. Notice that a map of the environment is built incrementally.
60
4.2.10 Example 10
This is an example of a dynamic case. The agent is located at the bottom left corner and
the target at the top left corner. There is a static obstacle at the middle and a moving obstacle
at the left which moves downwards. Figure 33 shows several snapshots of the environment
as the agent moves toward the target avoiding the obstacle.
Figure 33. Example 10: Snapshots of the environment.
Figure 34 shows the traces of the agent and the obstacle, right after the agent has reached
the target. Notice the curve in the agent’s trace in order to avoid the moving obstacle.
Figure 34. Example 10: Environment and traces of the agent and the moving obstacle.
61
4.2.11 Example 11
This is a fully dynamic case. The agent is located at the left side and the target at the top
right corner. There are four static obstacles and one at the right side which moves toward the
left side. Figure 35 shows several snapshots of the environment as the agent moves closer
to the moving target avoiding the moving obstacle.
Figure 35. Example 11: Snapshots of the environment.
Figure 36 shows the traces of the agent and the obstacle, right after the agent has reached
the target. Notice again the curved trace of the agent in order to avoid the moving obstacle.
Figure 36. Example 11: Environment and traces of the agent, the target and the moving obstacle.
Chapter 5
The Local Path Planner
This chapter describes the polar neural map for local path planning on a real Nomad
200 robot, which, in conjunction with the motion controller described in the next chapter,
consist the main theme of the thesis.
5.1 The Motivation
In the previous chapter we showed how neural maps can be used effectively for path
planning in robotic domains. However, the effectiveness of such approaches cannot be
assessed in a better way, other than a thorough testing on a real robot operating in non-toy
environments. Our initial motivation for this work was to test the applicability of neural
maps in real world problems, something that was really missing from the work of Glasius
[Glas97] that served as our starting point9. The rest of this work focuses on an extensive
study and application of neural maps on a real Nomad 200 mobile robot available at the
Robotics and Automation Laboratory of the University of Southwestern Louisiana.
9 Roy Glasius mentions in his dissertation that his approach was used to drive a robotic arm, but no results are reported anywhere.
63
In the course of this study we faced several problems that forced us to change our
design and revise our assumptions, predictions and expectations. A brief discussion of the
difficulties we faced and the solutions we provided is given below, as a justification of our
design decisions.
A direct application of the method presented in the last chapter would require defining
the configuration space of the robot and some way to obtain information about it (the external
source). A simple analysis would lead to pessimistic results. For a robot like the Nomad
200, the configuration space is 3-dimensional(x; y; �) and infinite. It consists of the position
of the robot on the 2-dimensional plane, expressed in Cartesian coordinates(x; y) and its
orientation�. Although � is bounded,x and y can take any arbitrary value. Let us make a
reasonable assumption that the robot operates in a subset of the 2-dimensional plane so that
bothx andy are bounded. Even so, the 3-dimensional neural field would be computationally
intractable for real time operation, unless the resolution is reduced to some low level (e.g.
a grid of 20 20 20) which will result in a poor representation and efficiency. Moreover,
inclusion of the dynamics of the robot will lead to a 5-dimensional configuration space
(x; y; �; u; v) (the previous three generalized coordinates and the two velocities, translational
and rotational) that will be definitely intractable.
The major limitation, however, is due to the external source assumption. By no
means can we satisfy the requirement for global information about the whole configuration
space, given the sensory sources of the robot (see section 7.1). The idea of providing
a map would not be a good idea, given that we are interested in dynamic environments.
Apart from the computational cost for building and/or maintaining the map, there would
be introduced localization problems. Finally, other aspects like motion control, sensor
uncertainty, communication delays would add complexity to the system.
The presented difficulties and the robot capabilities and limitations led us to a number
of decisions which influenced the application presented in this thesis. Firstly, we decided
to decompose the problem hierarchically. It is our belief that navigation in large scale
environments cannot be realized at a single level. One needs to solve (sub)problems at
different levels for real time response. The hierarchical decomposition is a common technique
64
in any sort of planning (path, task, project planning) and has been used widely in planning
applications and in robot path planning as well.
{Focused Planning
Faster Planning
Higher Local Resolution
Global Planning(Allocentric Coordinates)
(Map Information)
Local Planning(Egocentric Coordinates)
(Sensor Information)
Motion Control
Figure 37. Hierarchical decomposition of navigation.
Figure 37 shows such a decomposition. At the lowest level we have the motion control
component that deals with the low-level control and smooth motion of the robot. Above this
a local path planner uses only sensory information on an egocentric frame of reference to
plan incrementally paths. Further above, one or more other levels use stored information (e.g.
a map) to create paths in an allocentric frame of reference. As we move up in this hierarchy,
the representation becomes less detailed and covers a broader area of the configuration space.
In contrast, as we move down, path planning becomes faster and more focused, operating
in a smaller area with higher resolution.
Additionally, the separation of path planning and motion control allows the former
to operate on a discrete form of the configuration space, thus reducing the path planning
complexity. However, complexity is added at the motion control level which plans in
a different space, the control (velocity, in our case) space. A second related decision
was to assume that the robot is holonomic at the path planning level and postpone the
nonholonomic constraints down to the motion control10. The impact of such a decision is
that the configuration space of the robot is reduced to the 2-dimensional plane(x; y) and
that makes planning significantly faster.
10 For a definition of nonholonomic systems refer to section 6.1.
65
Finally, given the round and symmetrical shape of the robot, we decided to consider
the robot as a single point, namely its center point, and take its physical size into account
by enlarging the obstacles in the environment by the robot radius. The result is that all the
planning and control algorithms operate on the configuration space of a single point. The
obstacle expansion is a common technique used for robots like the one we consider.
The work in this thesis has focused at the lower two levels, namely the local path planning
and the motion control. The design and implementation of each one will be described in
the following chapters.
5.2 The Polar Map
5.2.1 Map Organization
The sensory system of our robot (and virtually of any robot) can ‘cover’ only part of its
whole work space, and thus of its configuration space. This means that there is a ‘window’
in the configuration space which has up-to-date information through the robot’s sensors. The
position of this window depends on the current configuration of the robot and the sensory
system itself.
Figure 38. The robot’s sensory system and scope.
66
Let’s have a careful look at our robot. Figure 38 shows a bird’s eye view of it. The
sensory system of the robot is a ring of 16 ultrasonic range finders (sonars). Each one of
them can provide distance information to the closest obstacle on the corresponding direction
from a minimum up to a maximum distance. For our robot this range is between 6 and 255
inches. Therefore the sensory scope is a circle centered at the robot itself. Although the
sonar beam is a cone and can be reflected by any obstacle that lies somewhere in the cone,
the simplest sonar model assumes that the sensed obstacle lies exactly on the main direction
of the beam, and this is what we have adopted. Now, it is easy to see that the distribution
of the sensor data points is not uniform at all. They are clustered in 16 directions around
the robot and the density is decreased in areas away from the robot.
Further, let’s identify the ‘critical’ areas of the configuration space. By ‘critical’ we
mean the areas for which the robot must have more detailed information compared to other
areas for successful operation. It is obvious that for our mobile robot, the ‘critical’ area is its
immediate surrounding, the area next to its physical body. We can think of different levels
of ‘importance’ as concentric circles around the robot’s center.
Figure 39. A ‘bad’ organization of the neural map.
Given these observations, let’s now build a neural map for this ‘window’ in the
configuration space. A naive solution is shown in Figure 39; a map where the units are
67
uniformly distributed over the configuration space in a rectangular grid topology. A few
observations will show that this is not actually a good idea. Firstly, there is a large area of
the map which remains unused. Even if we change the dimension of the rectangular grid there
will always be either some part of the map unused or some part of the sensory scope left out.
Further, as we will see later, the receptive field of each unit is a circle centered at the unit.
Given the distribution of the sensory signals and the topology of the units in the rectangular
grid, there will always be a large number of units (especially away from the robot) that will
never receive sensory input in their receptive fields. This is a consequence of the fact that
the sensor signal distribution is not taken into account at all.
Moreover, the uniform distribution of units does not amplify the critical areas of the
configuration space window (recall the amplification property of the neural map). The
resolution is constant throughout the window even at positions away from the robot. Finally,
by definition the rectangular grid has certain orientation and there is not really enough
justification to select a particular one in favor of some other. After all these observations,
the rectangular grid was considered to be inappropriate for our purposes.
Figure 40. A ‘good’ organization of the neural map.
The next step was to ‘organize’ the map in order to fit the requirements of the problem.
The result is shown in Figure 40. The units follow a polar topology, arranged in 16 directions
68
around the robot corresponding to the sonar directions. There are several advantages of such
a topology. Firstly, the distribution of units resembles the distribution of the sensory signals
and secondly, the critical areas are ‘amplified’ by a higher concentration of units around the
robot. Additionally, there are no ‘useless’ units and the total number of units in the map
is much less than the total number of units in the rectangular grid, assuming that they both
cover the same area with the same resolution close to the robot11.
A final comment at this point would be that the angular resolution of the map does not
have to be exactly 16, but can take any value above it for a more precise representation.
We have preferred multiples of 16, like 32, 48 and 64, so that the current sonar readings are
always mapped in a straightforward manner. The more detailed representation will result by
the fact that the receptive fields of the units are large enough and overlapping and therefore
the impact of a single signal will ‘appear’ on many units. Another reason will be exposed
in section 5.4 which deals with a sensor short-term memory.
5.2.2 Specification and Functionality
Having provided justification about such a neural map organization, we should now
discuss its defining details and functionality. The map is always attached to the robot, i.e.
it translates and rotates with it. The network that realizes the map consists ofD = N M
units, arranged in a 2-dimensional polar topology withN angular directions andM units per
direction. The distribution of units is uniform along each one of the angular and the distance
dimensions. The neural mapping assigns the whole inner ring to a single point, the center
of the robot. This ring in fact codes the orientation of the robot.
In the current implementation we basically use a map with 32100=3,200 units. The
distance between units along one angular direction is 1 inch in the real space, therefore the
whole map covers a circular area around the robot of radius 100 inches. This does not utilize
the full capacity of the sonar sensors which can measure distances up to 255 inches, but
we wanted to keep the resolution high (equal to the sonar resolution) and the network size
11 A detailed comparison between the polar and the rectangular grid will be given in chapter 7.
69
small for real-time computations. In the last chapter, as part of future work, we propose a
technique for covering the full range without increasing the size of the network.
There are 4 lateral connections per unit; two to the neighboring units along the same
direction with weightw=1 and two to the neighboring units in adjacent directions with
weightsw =
1
d+1, whered is the distance of the units from the center. The justification
for the latter is that as we move away from the center, the distance between neighboring
positions in adjacent directions increases and this must be reflected on the weight of their
connection. In order to derive the formula, we have used the inverse of the length of the
chord of the corresponding arc that connects such configurations, scaled appropriately (all
the weights must be less than or equal to 1) to ensure stability of the network12.
Figure 41. A 16�10 polar neural map and the receptive field of a unit.
Figure 41 shows an 1610 polar neural map and the receptive field of a particular unit,
which is a circle with a radius equal to the radius of the robotRR. If a sensor signal falls within
this circle the unit must receive input that indicates a prohibited position. The justification is
simple. Each unit codes a position of the center point of the robot. Assume that somehow the
robot has moved to that position. Given that its physical size occupies a circle of radiusRR,
12 This weight scaling is a practical, working solution in our case. General claims and rules require deep theoretical work which is out
of our scope.
70
there must be no obstacles within that area. Equivalently, due to the symmetry, one can say
that a single sensor signal will ‘obstruct’ all the units within a circle of radiusRR centered
at the signal’s location. This is exactly the approach we follow to map sensor signals on the
map. It must be mentioned here that the value ofRR in our implementation is the physical
radius of the robot increased by 6 inches which is the minimum sensing range of the sonars,
to ensure that all obstacles are always within measurable distance. The drawback perhaps
is that the robot will never pass through a narrow opening (less than 30 inches) even if its
physical diameter (18 inches) allows such a passing.
Figure 42 shows an 3210 polar neural map. Notice that the increased density of units
results in a more detailed representation. A single sensor signal is represented by more units
compared to the previous case.
Figure 42. A 32�10 polar neural map and the receptive field of a unit.
The inner and the outer ring of the map have distinct roles. The inner codes the current
position of the (center point of the) robot, whereas the outer is used for target specification.
Both of them, by definition, cannot be occupied by obstacles. If the target position falls
within the map, then it is mapped on the unit corresponding to the closest position. In case,
the target is outside the map, it is mapped at the periphery (the outer ring), on the unit that
71
corresponds to the target direction with respect to the robot. In general, a target is provided
to the system in polar coordinates with respect to the robot’s egocentric coordinate frame.
Given the mapping above, the function of the polar map is as follows: Whenever a
target is specified (either at the periphery, or at some inner ring) the network dynamics will
spread the activation around the network, which eventually will hit the inner ring (the current
position of the robot). Notice that because of the ‘obstacle-free’ outer ring, the network will
‘try’ all the possible directions to reach the inner ring, though with different ‘strength’ (the
activation gradually decays along the outer ring as well). The unit of the inner ring with
maximum activation indicates the direction in which the robot should move and a steepest
ascent procedure from that unit will give a path to the target. However, given that the robot’s
path is built incrementally through continuous repetitions of this cycle, we are not interested
in the full path within one cycle, but only in the direction in which the robot must move
and the distance along this direction. Thus, the steepest ascent procedure is terminated by
the time the path deviates from its initial direction.
5.2.3 An example
A simple example will demonstrate how exactly the polar map functions. Consider Figure
43. Assume that the robot started at the initial positionI with the purpose of reaching the
target positionT. The circle delineates the sensory scope of the robot. At some intermediate
position the robot encounters a wall sensed by the range finders as shown.
72
I
T
Figure 43. On the way to the target.
Figure 44 shows the polar map superimposed in this situation and the areas that will be
affected by the current readings. Note that the 3210 map is an oversimplification compared
to the 32 100 map used in reality, but adequate for illustration of the idea.
I
T
Figure 44. The neural map superimposed.
73
Figure 45 shows explicitly the units that become ‘obstructed’ in this case, as well as the
unit at the periphery that specifies the target direction.
I
T
Figure 45. Mapping information on the neural map.
∆φ
∆r
Figure 46. The resulting path and the output of the local planner.
Figure 46 shows only the map and the ‘shortest’ path of the propagated activation to
the inner ring. Notice that activation reaches also the inner ring through another path at the
74
left of the obstacle, but the shown one is shorter. The output of the local planner is the
short-term goal specified by�r and��. Notice that the portion of the path indicated by�r
is guaranteed an obstacle-free path, whereas the remaining might not be since it lies behind
some obstacle and the sensory system does not have any information about that area.
5.2.4 Implementation
The polar map is implemented as a 2-dimensional array which in fact has the form of
a torus, due to the peripheral connections. Figure 47 shows anN M map represented as
a 2-dimensional array of units.
Outer Ring
Inner Ring
N
M {{
Figure 47. Implementation of the polar map and update rasters.
The fact that the target is specified always at the periphery or at some other ring and the
path is constructed always starting from the inner ring, enables us to reach a good enough
approximation of the activation landscape with only two rasters. Both of them run from the
outer ring to the inner ring but one of them clockwise and the other counter-clockwise. The
arrows in Figure 47 show the flow of the rasters on the array (torus).
5.3 Obstacle Expansion
The mapping of sensor information on the network is an important computational issue.
The most straightforward way is to check for each unit whether there is any signal within its
75
receptive field. However, since the number of sensory signals is significantly less compared
to the number of units in the map, this will lead to a high computational cost. An alternative
way would be to go through all the sensor signals and determine the units that will be
affected by each one of them.
A
O
MK
L
Iod
RRRR
Μ /
RR
Figure 48. Obstacle expansion.
Consider a single sensor signal that shows the existence of an obstacleO at distanced
(d≥RR) from the center of the robotA13. Figure 48 shows this situation. We are interested
in defining the area within the circle (O,RR) in terms of polar coordinates with respect to
A, so that the signal can be mapped on the network.
It is easy to derive the range of the angle�. From the right triangleAOM0, it is
sin (�max) =RR
d(5.27)
and, thus
� arcsinRR
d;+arcsin
RR
d(5.28)
Now, for any given� within this range we have to determine the distancesAK and AL.
We have
AM = d cos � (5.29)
13 Since the sensors are physically located at the periphery of the robot, we add the robot’s physical radiusRR to their readings in
order to obtain the distance from the center point of the robot. Obviously, no reading can be less thanRR.
76
OM = d sin� (5.30)
MK =ML = RR2 OM2 (5.31)
AK = AM MK; AL = AM +ML (5.32)
so, finally,
AK = d cos � RR2 d2 sin2 � (5.33)
AL = d cos �+ RR2 d2 sin2 � (5.34)
With this information we can easily determine the receptors (units) of the sensor signal and
therefore map the signal on the network.
5.4 Sensor Short Term Memory and Transformation
The polar map as described previously assumes that instant sensor information is
available. Moreover, the readings obtained at some particular point in time are not reused at a
later point, i.e. the system is memoryless in terms of sensor information. Such a memoryless
system unavoidably suffers from the sensor inaccuracy and uncertainty present in the instant
readings. Moreover, the consequence of ‘forgetting’ everything that was sensed before might
lead to a sensed environment that has little overlap with the real situation. On the other hand,
‘remembering’ everything that was sensed before is not a good idea, considering that the
environment can be dynamic (i.e. continuously changing) and that the sensor information is
not always correct.
There are several techniques to process the sensor information in order to extract all the
useful features and cope with the problems pointed out above. A sophisticated treatment
will be out of the scope of this thesis, however, we propose a very simple solution that
offers significant advantages. The system maintains a short term memory of the sensory
information. In this sense, the last few sensor readings are reused for the next few steps
before they are discarded. This compensates for the inaccuracy of the instant readings,
providing at the same time a richer sense of the environment closer to the real situation.
77
One crucial parameter in this context is the size of such a memory window. A short
size will offer almost no advantage, whereas a large size will lead to a high degree of
‘inertia’ in sensing the changes in the environment. It was decided that such a memory
should correspond to about 2 or 3 seconds of real time. Given the current cycle time of the
algorithm that implies a window size of about 6 to 10.
A problem that arises in this context is that the readings in the short term memory cannot
be reused in a straightforward way; appropriate transformation is necessary. This stems from
the fact that due to the robot movement a reading should be reused at a position different
than the one where it was obtained. Formally, the problem is formulated as follows (see
Figure 49):
A sensor range reading(r0; �0) (with respect to the robot’s local coordinate
frame) corresponding to some obstacle O was obtained while the robot was at
the configuration(x0; y0; �0) (with respect to a global coordinate frame). Given
that the current configuration of the robot is(x1; y1; �1), what would be the range
reading(r1; �1) corresponding to the same obstacle O from this configuration?
x0 x1
y0
y1
00
01
I 0o
I 1o
(x0, y0, 00)
(x1, y1, 01)
r0
r1
O
Figure 49. Sensor range reading transformation.
78
In order to obtain the transformation we will make use of the odometry of the robot.
For such a short time, we can safely assume that it is accurate enough. From Figure 49
we can easily obtain
r1 = (x0 + r0 cos (�0 + �0) x1)2+ (y0 + r0 sin (�0 + �0) y1)
2 (5.35)
�1 = arctan 2(y0 + r0 sin (�0 + �0) y1; x0 + r0 cos (�0 + �0) x1) �1 (5.36)
We have used a transformation from the local coordinate frame at the first position to the
global coordinate system and then to the local coordinate frame at the second position.
In conclusion, the short term memory window functions as follows: A cyclical buffer
stores the lastn range scans, obtained during the lastn cycles, along with the configuration
of the robot when each scan was obtained. If the number of sensors isk, then there arek
readings per scan andn k readings in total in the memory. Given any arbitrary configuration
of the robot (usually, its current configuration) and using the transformation equations (5.35
and 5.36) we can transform all of them as if they were all obtained from that configuration.
Though a technical detail, a transformed reading that falls out of the neural map’s scope
(the robot has moved away) or within the physical dimensions of the robot (most probably
it was erroneous) is discarded.
Notice that the transformed readings will not necessarily fall into one of the 16 sensor
directions, but in any arbitrary direction depending on the recent movement of the robot.
This implies that a higher angular resolution of the map (e.g. 32, 48, 64) is necessary to
capture the new distribution of signals.
5.5 Configuration Prediction
The navigation scheme proposed here is intended for a particular class of mobile robots
controlled by a digital computer either on-board or off-board. Such a control scheme suffers
from the fact that control commands are issued only at some discrete points in time and not
continuously, due to the required computation time for each control step. The same is true
also for sensing since the world is perceived only at discrete points in time. Depending on
the complexity of the software and the efficiency of the hardware, the time slot�t between
79
two consecutive control commands can be small or large. Large values of�t will lead to
loose control (if control at all), whereas small values of�t will approximate continuous
control and thus they are highly desirable. However, in all cases there will be some finite
�t within which the control algorithm has no control on the robot.
The impact of this problem on the robot navigation can appear in high speed motion.
Consider Figure 50. After a control command is issued (action) the world is perceived
(perception) and in time�t1 the next action is computed and this cycle is repeated. Note
that we don’t require that the cycle has a constant period and in fact this is the case due to
contingent events (communication delays, other programs running at the background, etc.).
The situation is simply an instance of hybrid control where a continuous process (the robot’s
movement) is controlled by a discrete time system (digital computer).
time
Perception Perception Perception
Action Action Action
Perception
Action
∆t1 ∆t2 ∆t3
Figure 50. The hybrid nature of the discrete control on continuous motion.
The point here is that the action at the current step corresponds to the world as it was
perceived at the previous step. Given that the robot might be moving at high speed it will
be at a completely different position than it is expected when the control command is issued.
For example, if our robot is moving with a translational speed of 24 inches/sec and the time
between control steps is 0.35 seconds, then it will be 8.4 inches away from the expected
position, not to mention the orientation error due to some high rotational speed.
The solution in this case is to estimate the time�t to the next control step and predict the
configuration of the robot at that time. The corresponding question is formulated as follows:
Given the current configuration(x0; y0; �0) and the current rotational and trans-
lational speeds(u0; v0), where am I going to be(x1; y1; �1) after time�t?
80
In the next chapter we will see that a mobile robot of the class we consider here moving
with constant speeds will follow a trajectory given by the equations
x(t) =u0
v0sin (v0t) (5.37)
y(t) =u0
v0(1 cos (v0t)) (5.38)
�(t) = v0t (5.39)
Assuming that the speeds are constant during�t (this is not usually the case but it is a
good approximation), we can estimate the resulting configuration as
x1 = x0 + x(�t) (5.40)
y1 = y0 + y(�t) (5.41)
�1 = �0 + �(�t) (5.42)
A final point is related to the estimation of the time�t. The control algorithm itself
measures internally its cycle time using the system’s or the robot’s real-time clock. The next
time interval can be estimated with different averaging techniques. In our implementation,
we use a convex combination of the last two actual cycle times, where the most recent one
has a stronger weight.
�test(k) = 0:8 �tactual
(k 1) + 0:2 �tactual
(k 2) (5.43)
Thus, the algorithm is rapidly adapted to sudden changes, however with some ‘inertia’ to
avoid contingent oscillations. Another advantage of this scheme is that the control algorithm
is adapted to the speed of the platform it is running on. Nevertheless, the faster the platform,
the better the control.
81
Given the configuration prediction as described above and the sensor transformation
described in the previous section, the algorithm projects all its knowledge (sensor short term
memory) in the future (predicted position) and computes the next control command based
on this situation. As a result, a control command is not out of date by the time it is issued.
Chapter 6
Motion Control
Any path planner, either global or local, identifies a particular desired configuration or
desired direction in which the configuration vector of the robot should move. However, what
a path planner does not identify ishow exactly the robot will be moved to this configuration
or direction, i.e. its speed or further the control input that must be applied. This separate
problem is broadly known as robotmotion control.
In some cases, path planning and motion control are coupled and inseparable, but
traditionally research efforts in robotics have distinguished between the two. The advantage
is that the path planner can deal with the obstacles in a reduced discretized space and provide
obstacle free paths to the motion controller which creates the control input and the motion
trajectory in the continuous space without taking obstacles into account. This separation
allows also for different techniques to be used in each subproblem without affecting the
other, provided there is a standard interface between them.
In our approach, we have decoupled path planning and motion control functionally, but
not temporally. The two processes run sequentially, one after the other. At each step, the
local path planner provides the direction and the distance of the desired position at this time
83
step (subgoal) and the motion controller controls the speeds of the robot in order to reach
or at least approach this position. Note that we use the term position and not configuration
since we are interested only in reaching some particular goal position on the 2-dimensional
plane without any requirement on the orientation of the robot at that position.
6.1 Kinematic Models and Nonholonomic Systems
A robotic system is controlled through its control input vector that drives the actuators in
some particular way. The coupling between control input and actuation is described by the
kinematic modelof the system. The state of the robotic system at any time can be described
uniquely by its configuration vector, which consists of the generalized coordinates, usually
one coordinate per degree of freedom. From a control theoretic point of view, the kinematic
model is described with the state equations of a system whose state is the configuration
vector of the robot. If we denote the configuration vector byX Rn and the control input
vector byU Rn�p, then the kinematic equations are given by
_X = G(X)U; X Rn; U Rn�p (6.44)
where G(X) is an n (n-p) matrix.
The constantp implies that there might be less control inputs (degrees of action) than
degrees of freedom. Such systems are known asnonholonomicor underactuatedsystems
and an implication is that some of the generalized coordinates are coupled and cannot be
controlled independently. On the other hand, ifp=0 and the matrixG(X) is diagonal, the
system is holonomic and each degree of freedom can be controlled independently by a single
control input.
A nonholonomic system is subject top < n nonholonomic constraints of the form
H(X) _X = 0 (6.45)
Such constraints are nonintegrable and as a consequence the dimension of the configuration
space cannot be reduced. The result is that the control of such systems becomes an ex-
tremely difficult problem and very sophisticated approaches have been proposed ([WKSS93],
[LaSu91]).
84
The control problem in this context is to find an appropriate control inputU(t) that
will drive the system from some initial configurationX(0) to a desired configurationx(tf)
in finite time tf or will force the system to track a desired trajectoryXd(t). Notice that
if the system is nonholonomic, the matrixG(X) cannot be inverted to provide the control
input. A straightforward projection strategy used in such cases is the pseudoinversion of
G(X) [DeOr94], which gives the control input
U(t) = G#(X) _Xd(t) = G
T (X)G(X)�1
GT (X) _Xd(t) (6.46)
where _Xd(t) is the time derivative of the desired trajectory.
A well-known ‘pessimistic’ theorem, derived by Rodger Brockett of Harvard University,
states thata nonholonomic system cannot be stabilized to a given configuration by a continuous
and smooth feedback control law[Broc83]. Therefore, research has focused on stabilizing
such systems on a trajectory [WTSM92] or on discontinuous control laws [Asto95]. We
stress this because in the mobile robot navigation domain, feedback control is more powerful
than open loop strategies due to the dynamic nature of the environment and the presence of
drift. Moreover, the problem of stabilization to a given point appears when the robot has to
reach and stop to a given goal configuration.
Our controller, viewed in a global sense, is in fact a closed loop (feedback) controller,
since the path of the robot is built incrementally and therefore its motion. In a local sense,
within the time unit of our algorithm, it can be viewed as an open loop controller. We
overcome the problem of stabilization by terminating the control loop and stopping the robot
as soon as it approaches the goal position at a distance of 1 inch (the measurement unit is
1/10 inch)14. In the following sections, the kinematic model of the robots we consider here
and the optimization scheme that determines the control input, taking also into account the
dynamic constraints, are described.
14 It is interesting though, that, when we required the robot to reach the exact position, the robot was ‘oscillating’ around the goal
without being able to reach the exact position. This somehow verifies Brockett’s theorem, although there are other factors that play some
role, like drift, slippage, communication delays and mechanical constraints.
85
6.2 The Unicycle Kinematic Model
The kinematic model of the class of mobile robots we consider is best described by
that of the unicycle, i.e. a single wheel moving on a 2–dimensional plane. There are three
generalized coordinates, that constitute the configuration vectorX = (x; y; �)T of the unicycle
at any time (see Figure 51):
1. x: x-coordinate of the position of the unicycle with respect to the global coordinate frame.
2. y: y-coordinate of the position of the unicycle with respect to the global coordinate frame.
3. �: orientation of the unicycle with respect to the global coordinate frame.
O x
yR
(x, y, 0)
0
uυ
Figure 51. The unicycle.
Given that the control vector consists of a translational speedu and a rotational speed
�, the kinematic equations are defined as follows:
_x
_y_�
=
cos � 0
sin � 0
0 1
u
v(6.47)
Obviously, the system is nonholonomic and the nonintegrable constraint is given by
(sin � cos � 0 )
_x
_y_�
= 0 tan � =_y
_x(6.48)
86
which simply specifies that any change in the position of the unicycle occurs in the direction
of its orientation.
The pseudoinverse control law in this case is given by [DeOr94]:
u
v=
cos � sin � 0
0 0 1
_xd_yd_�d
(6.49)
where _Xd = _xd; _yd;_�d
T
is the desired velocity vector. Although this control law minimizes
the error between the desired and the actual velocity in the least square sense, it doesn’t
take into account the dynamic constraints of the model, e.g. the maximum accelerations
( _umax; _vmax). Moreover, there is no guarantee that the actual trajectory of the unicycle will
not overlap with obstacles (see also [DeOr94], [HKPL96]), even if the desired trajectory is
collision-free. This can occur if the desired trajectory violates the nonholonomic constraint,
in which case the control law above will only approximate this trajectory moving in areas
which might be occupied by obstacles.
In what follows we are trying to form the control law as an optimization problem of an
objective function that takes into account all the imposed constraints. To this end, knowledge
of the trajectory of the unicycle for several control inputs is necessary. The derivation of
the trajectory becomes complicated for changing control input, however, assuming that for a
small time interval the control inputs are kept constant, we can derive the trajectory equations
of the unicycle motion.
87
r
R x
y
ψ
θ
θ
υ>0
υ<0
ρ(Ο, ρ)
Figure 52. The unicycle’s trajectory with constant control input.
We are interested in deriving the trajectory equations for the time interval between control
commands (see also [HKPL96]) in a local spatial and temporal sense. Consider Figure 52
which shows the local coordinate frame attached to the robot and aligned to its orientation
(i.e. the robot is located at the originR and faces at the direction of axisRx). Assume
also that for timet : 0 t �t the robot is moving with constant control input (speeds)
(u0; v0)T , wheret offers a local view of time between control intervals. We have
_x
_y_�
=
cos � 0
sin � 0
0 1
u0
v0(6.50)
and (x(0); y(0); �(0))T
= (0; 0; 0)T for t : 0 t �t. Integrating the last kinematic
equation, we obtain
_� = v0
t
0
_�d� =
t
0
v0d� �(t) = v0t (6.51)
88
Integrating the first equation, we have:
_x = cos � u0
t
0
_xd� =
t
0
(cos �(� )u0)d�
x(t) = u0
t
0
cos (v0� )d� x(t) =u0
v0sin (v0t)
(6.52)
Similarly from the second equation, we have:
_y = sin � u0
t
0
_yd� =
t
0
(sin �(� )u0)d�
y(t) = u0
t
0
sin (v0� )d� y(t) =u0
v0(1 cos (v0t))
(6.53)
So, the trajectory equations of the system fort : 0 t �t are:
x(t) =u0
v0sin (v0t) (6.54)
y(t) =u0
v0(1 cos (v0t)) (6.55)
�(t) = v0t (6.56)
with initial conditions (x(0); y(0); �(0))T = (0; 0; 0)T .
It is easy to see that it is a trajectory along the periphery of a circle. Using equations
6.54 and 6.55 we have
(6.57)
which reveals that the trajectory is a circle with its center located at0; u0v0
and a radius
� = u0
v0. We can further calculate the distancer from the origin as a function at timet
(6.58)
89
and its angle
(t) = arctany(t)
x(t)= arctan
u0
v0(1 cos (v0t))u0
v0sin (v0t)
= arctan1 cos (v0t)
sin (v0t)
= arctan2 sin2 v0t
2
2 sin v0t
2cos v0t
2
= arctan tanv0t
2=
v0t
2
(6.59)
So far we have assumed that the rotational speed of the robot is not zero. In the special
case where it is zero, the robot will follow a straight line along the x axis. Alternatively, for
uniformity, it can viewed as a circular trajectory on the periphery of a circle with infinite
radius. Formally, ifv0 = 0, then for t : 0 t �t we have
x(t) = u0 t; y(t) = 0; �(t) = 0; r(t) = u0 t; (t) = 0 (6.60)
6.3 The Dynamic Window
As was mentioned earlier there are several constraints on the control input imposed
by the dynamics of the robot. Such constraints include upper limits on the velocities and
the corresponding accelerations. Byumax we denote the absolute value of the maximum
translational velocity and byvmax the absolute value of the maximum rotational velocity.
Additionally, _umax will be the absolute value of the maximum translational acceleration and
_vmax the absolute value of the maximum rotational acceleration.
If the robot is moving with speeds(u0; v0)T at time t0, then, for the next time interval
�t, the Dynamic Window (DW) (see [FoBT97] and [Simm96]) is the subset of allowable
velocities in the velocity space and it is defined by the following inequalities:
umax u +umax
vmax v +vmax
u0 _umax �t u u0 + _umax �t
v0 _vmax �t v v0 + _vmax �t
(6.61)
Notice that the first inequality allows for backward motion (u<0). In order to prevent
backward motion the first inequality should be replaced by
0 u +umax (6.62)
In what follows we consider only forward motion of the robot.
90
6.4 The Objective Function
The problem of finding the best pair of velocities for the next control command is
formulated as a function optimization (minimization) problem as opposed to a constrained
optimization problem. The reason is that a pair of velocities that falls within the dynamic
window must always be selected. A constrained optimization formulation may provide no
solution at all if all the pairs violate the imposed constraints. Such a situation can arise if
some obstacle appears suddenly in front of the robot, while it is moving with high speed, so
that a collision is unavoidable. Even so, a pair of velocities must be selected, at least trying
to minimize the impact of the collision.
Our problem is formulated as follows:
Given the (incremental) desired positionXd = (�rd;��d) and the current trans-
lational and rotational speeds(u0; v0)T , find the ‘best’ pair of speeds(u; v)T
DW to be used as the next control command.
Here, the term‘best’ is defined with respect to an objective function with several terms,
each of which is dedicated to optimize (minimize) some particular quantity. The general
form of our function is shown below
OF (u; v) = g1 T1 + g2 T2 + g3 T3 + g4 T4 (6.63)
The constantsgi are the corresponding gains for each of the termsTi. Their values are
determined experimentally and provide a means of scaling the different ranges and weighting
the importance of each term. Briefly, the first two terms in the objective function deal with the
distance from the desired position, the third with the orientation toward the desired position
and the last one with the collision avoidance. In the sequel, each term is described in turn,
after some definitions are introduced.
Assume that at some timet the robot is moving with speeds(u; v)T . We define the
Minimum Braking Distance (MBD) to be the minimum distance that the robot will travel
after t before it comes into a complete stop, assuming that it is decelerating with maximum
91
deceleration. We have
MBD(u) =1
2u
u
_umax(6.64)
Similarly, the Minimum Braking Angle (MBA) is defined to be the minimum rotation angle
of the robot aftert before it comes into a complete stop, assuming that it is decelerating
with maximum deceleration. We have
MBA(v) =1
2v
v
_vmax
(6.65)
The definitions above can be used to assess the ‘appropriateness’ of a given pair of speeds
as the control command for the next control interval. Figure 53 illustrates the whole idea.
Assume that at timet0 the robot is moving with speeds(u0; v0)T and that the control
commands are issued every�t. Let (u0; v0)T be a pair of speeds selected from the dynamic
window defined by(u0; v0)T , �t and the maximum decelerations. Assume now that(u0; v0)
T
is applied as the next control command and after this step the robot starts decelerating
with maximum deceleration. We can estimate the final configurationF = (Fx; Fy; F�)T
of the robot when it comes to a complete stop. During the (short) control interval�t the
robot will move with (approximately) constant speeds(u0; v0)T , reaching a configuration
X(�t) = (x(�t); y(�t); �(�t))T that can be found using the trajectory equations of the
robot for the current speeds(u0; v0)T . Then, assuming maximum deceleration, the final
configurationF is estimated as follows:
F� = �(�t) +MBA v0
Fx = x(�t) +MBD u0 cos �(�t) +MBA(v0)
2
Fy = y(�t) +MBD u0 sin �(�t) +MBA(v0)
2
(6.66)
Notice that this just an estimation, since the derivation of the exact trajectory of the
robot during deceleration becomes a very complicated problem. We assume a straight-line
deceleration of length MBD rotated by MBA/2 with respect to the orientation right before
the deceleration, in order to determine the final position.
92
R x
yXd
MBA
MBD
A
0^
MBA 2
F
F0
X(∆t)
d∆φ
d∆r
0d^
Figure 53. Estimation of the final position.
Figure 53 illustrates the whole idea. The coordinate frame is the egocentric reference
frame of the robot. Initially, the robot is located at the originR facing at the direction of
the axisRx. The desired position isXd = (�rd;��d) specified by the path planner. For
a given pair of speeds the robot reaches the configurationX(�t) within the next control
interval and the (estimated) configurationF after full deceleration. Obviously, it is desirable
to minimize the distance between the positionsXd and F, as well as the angle marked as�
in the figure. This is the role of the first three terms in the objective function, which express
the squared error in each case. Indeed, we have
T1 = (Fx �rd cos (��d))2 (6.67)
T2 = (Fy �rd sin (��d))2 (6.68)
T3 = F� �d2
(6.69)
93
where �d is the desired angle atF, so that the robot is facing toward the desired position
and it is given by
�d = arctan 2(Fy �rd sin (��d); Fx �rd cos (��d)) (6.70)
Finally, the last term expresses the ‘possibility’ of a collision for a particular speed
vector. The need for such a term stems from the fact that we have decomposed the problem
into holonomic path planning and nonholonomic motion control. Observe Figure 53. The
path planner returns the desired positionXd = (�rd;��d), guaranteeing at the same time
that the straight line that connectsXd to the originR is free of obstacles. However, due to the
nonholonomic constraint the robot results in a curved trajectory (R X F) that may overlap
with obstacles. The termT4 measures the weighted density of obstacles in the (shaded)
triangle RFA, where obstacles close to the originR (current position) have higher weight
than obstacles away from the origin. If there are no obstacles inRFA, T4 is zero. The result
of this method is that the lower the value ofT4, the lower the possibility for a collision or
the lower the impact of an unavoidable collision.
In our case, the information about obstacles is provided by the polar map representation
which is centered atR, but this is not restrictive; any range information will be adequate in
general. In the current implementation, ifi is a unit in the neural map andOBSis the set of
obstructed units that fall within the triangleRFA, we have used
T4 =
i2OBS
w(d(i))
2
(6.71)
where the functiond(•) returns the distance of the unit from the origin and the functionw(•)
is a positive decreasing function. In particular, we have usedw(x) = x�1
2 .
Although the values of the gainsgi are strongly depended on the particular implemen-
tation, we briefly note that the values used in the current implementation areg1=1, g2=1,
g3=50 andg4=20000. Distances in the 2-dimensional plane are measured in tenths of inches,
angles in tenths of degrees and distances in the polar map in inches. With these values we
stress the importance of the collision avoidance term, whereas the other three are scaled to
approximately equal importance.
94
Summarizing, the whole operation of the motion controller is as follows:
1. The current dynamic window is defined based on the current speeds and the (estimated)
time �t between control steps.
2. The dynamic window is discretized as a 2-dimensional grid.
3. Each speed vector in the discrete dynamic window is evaluated with the objective
function.
4. The vector which minimizes the objective function is used as the control input for the
next interval.
Chapter 7
Results
In this chapter, we report several results of the implemented local navigation scheme on
the Nomad 200 mobile robot. Although the scheme works very well on both the simulated
and the real robot, the simulation provides a means for visualizing the behavior of the robot
and therefore screen snapshots from the simulator are used heavily in this chapter.
7.1 BOUDREAUX the Robot
Our robot, BOUDREAUX (see Figure 54), is a Nomad 200TM commercially available
mobile robot, manufactured by Nomadic Technologies Inc. Its mobile base has a three-wheel
synchronous drive mechanism that provides the robot with nonholonomic motion capabilities.
Two independent motors control the motion; one steers and the other drives the wheels. A
zero gyro-radius enables the robot to turn in place. The maximum speeds that can be achieved
are 24 in/sec for translation and 60 deg/sec for rotation.
96
Figure 54. BOUDREAUX, the Nomad 200TM mobile robot of the Robotics and Automation Laboratory.
Nomad 200TM is a round robot with a diameter of 18 inches or 21 inches including the
bumper. It is about 31 inches tall and weighs 145 lbs. The turret is separate from the base
and carries all the sensing devices (excluding the bumper). One important characteristic is
that the turret axis is independent from the base axis and can rotate independently, leading
to four degrees of freedom. However, in this thesis we coupled the turret axis with the base
axis, in order to reduce the degrees of freedom to the three traditional ones (two dimensional
position and orientation).
Nomad 200TM has a shared memory multi-processor control system. The master pro-
cessor is a Pentium-Based PC that communicates asynchronously with other slave processor
that take care of low-level hardware management. It uses the Linux operating system (ver.
2.6.7) and it has a full wireless 1.6 Mbps TCP/IP Ethernet Link that allows direct connection
to the Internet and, therefore, remote control of the robot.
There are several sensing devices available for the Nomad 200TM robot, including
ultrasonic range finders, infrared range finders, laser range finders, tactile sensors, vision
and stereo vision. Our robot is equipped only with the following:
97
1. Sensus 100TM Tactile System. This consists of two bumper rings with 10 sensors each,
interleaved in such a way that provide 360� coverage with 18� resolution.
2. Sensus 200TM Sonar System. This is a ring of 16 ultrasonic range finders (sonars)
distributed uniformly on the periphery of the robot, providing 360� coverage with 22.5�
resolution. Each sensor can measure depth from 6 inches up to 255 inches.
3. HITACHI KP-D50 CCD Color Digital Camera. This is a mono-vision system which can
capture up to 30 frames/second.
The navigation system described in this thesis makes use only of the Sensus 200TM Sonar
System.
7.2 System Architecture
Equilibrium Surface
Velocities
Sensor Data
Target (Direction, Distance)Long-Term Goal
TargetPositionOdometry
Translational and Rotational Velocities Short-Term Goal
Short-Term Memory
Neural Map
Motion Controller
Target Position Update
Supervisor
∆φ∆r
υu
Position Prediction
CurrentVelocities
Predicted Position
Predicted Position CurrentSonar Readings
Figure 55. Architecture of the local navigation (sub)system.
Figure 55 shows the architecture of the local navigation scheme. Some higher level
component (a global path planner or a human supervisor) specifies a long term goal, i.e. a
98
target position given in polar coordinates with respect to the robot’s egocentric frame. On the
way to the target the robot makes use of its odometry to measure its progress and update the
position of the target with respect to its own egocentric frame of reference. The predicted
position of the robot at the end of the current control step is taken as the current robot
position. The current sonar readings are stored in the sensor short-term memory and all the
contents of the memory are mapped on the polar neural map, using the predicted position of
the robot as reference. The dynamics of the network spread the activation from the target
unit and the supervisor determines the short-term goal of the robot, as a displacement�r and
�� with respect to the current robot’s configuration.�r and�� are passed to the motion
controller which determines the control input for this case and updates the robot’s speeds.
The cycle is repeated continuously until the robot has reached the target position with a
precision of 1 inch. Note that the long-term goal does not have to remain constant, but it
can change at any time and the local navigator will adapt accordingly. This way the robot
will be able to follow a path generated by a global path planner without stopping at the
intermediate points or approximately follow a continuous trajectory.
The total cycle time of the current implementation in real time is between 0.25 and 0.45
seconds, but most of the time averages at 0.32 seconds. This range is due to other programs
running on the same machine and communication delays between the workstation and the
robot (currently the system is running on an SGI workstation that communicates with the
robot). The ‘pure’ execution time of a full cycle is about 0.25 seconds, therefore in the best
case control takes place at a frequency of 4 Hz.
7.3 Computational Complexity
It is useful to give an indication of how the parameters of the system affect its overall
computational complexity. Table 3 summarizes the results.
99
COMPONENT COMPLEXITY PARAMETERS
Target Update O(1)
Position Prediction O(1)
Short-Term Memory O(n S) O(N M) n: Number of sensor scans in the memory
S: Number of sensor readings per scan
Neural Map O(N M) N M: Size of the polar map
Supervisor O(N)+O(M)
Motion Controller O(U V) O(N M) U V: Size of the discrete dynamic window
Table 3. Computational complexity of the system.
The target position update and the position prediction are both executed in constant time.
There aren S readings in total in the short-term memory. Each one is mapped to a number
of units in the network, that depends on the size of the network and more importantly on the
actual mapping of units in the real space. The dominating factor is the cost for the neural
map, where at least three rasters are necessary (one to clear the previous activations, and
two for updating). Each raster costs O(N M). The supervisor needs only check the inner
ring (O(N)) for the angle and the units along that direction for the distance (O(M)). Finally,
the motion controller has to check all the velocity vectors in the discrete dynamic window
(O(U V)). The factor O(N M) is introduced because of the collision prevention term that
extracts information from the polar map.
7.4 Experimental Results
7.4.1 Navigation
Figure 56 shows the (simulated) environment where we tested our local navigation
scheme. We have used several obstacles of different shapes, however there are no rooms
and corridors which could trap the robot. The sample run of the robot is shown with a red
trace whose thickness is equal to the diameter of the robot. The robot started at the position
shown at the middle facing to the left. Four targets where specified in sequence at the four
corners of the environment. The robot was able to reach all of them successfully, although
between Target 2 and Target 3 it had some difficulty escaping from the L-shaped obstacle.
100
The little circle around the Target 2 position indicates the sensory scope (in essence the polar
map scope) used in the experiment.
Initial Position
Target 1
Target 2
Target 3
Target 4
Figure 56. A sample run of the robot in a simulated environment.
Figure 57 shows the same run in the environment with the sonar readings obtained
superimposed. One can easily observe the ‘bad’ quality of the readings that make the robot’s
task harder. Notice that these are simulated sonars; the real ones are even worse!
Figure 57. The same run with the sonar readings superimposed.
101
Figure 58 shows a challenging problem for our robot. The target is located at a distance
of 200 inches in front of the robot, however there is a U-shaped obstacle that obstructs its
way. The circle indicates the sensory scope of the robot.
Figure 58. A challenging problem.
Figure 59 shows the solution that our scheme gave. The robot can escape from U-shaped
obstacles as long as they fall within its sensory scope. Notice the smooth trajectory of the
robot which is a result of our motion controller.
Figure 59. The solution.
Figure 60 shows another situation where the robot has to navigate in a cluttered
environment.
102
Figure 60. A cluttered environment.
The resulting trajectory is shown in Figure 61.
Figure 61. Navigating in a cluttered environment.
Finally, Figure 62 shows the control input (translational and rotational velocities) pro-
duced by the system for the trajectory in Figure 61 above.
-300
-200
-100
0
100
200
300
0 20 40 60 80 100 120
"ss.dat""ts.dat"
Figure 62. The control input.
103
7.4.2 Polar Representation
We demonstrate the polar representation on the neural map and the effect of the short-term
memory. Figure 63 shows the sample portion of the robot’s environment used as reference
and the approximate route that the robot followed within the last few seconds.
Figure 63. A portion of the robot’s environment.
Figure 64 shows the obstructed units of a 16100 polar map. Recall that such units
denote prohibited configurations for the center point of the robot. Recall also that the
receptive field of each unit is larger than the physical radius of the robot by 6 inches in
order to compensate for the inability of the sensors to measure distances below 6 inches.
The short-term memory has a size of 1, i.e. only the instant sonar readings are mapped. The
map is superimposed on the environment, so that a brief assessment of the quality of the
representation can be easily done. The concentric cycles correspond to rings of the map for
every 10 units in an angular direction.
104
Figure 64. Representation on a 16�100 polar map with a short-term memory of size 1.
It is rather easy to see the poor representation in Figure 64 and the effect of a short-term
memory with size 10 in figure 65.
Figure 65. Representation on a 16�100 polar map with a short-term memory of size 10.
105
Figure 66. Representation on a 48�100 polar map with a short-term memory of size 1.
Similar examples are given in Figures 66 and 67 but for a map with an angular resolution
of 48. Notice the improved accuracy of the representation.
Figure 67. Representation on a 48�100 polar map with a short-term memory of size 10.
106
Notice how the left edge of the obstacle at the top is still ‘remembered’ in both cases with
a short-term memory of size 10, even though it cannot be sensed from the current position
of the robot. This is because the particular edge had been sensed previously when the robot
passed from there (see Figure 63 and was stored in the memory. A similar argument explains
also the fact that some readings are missing from the memoryless case.
7.4.3 Configuration Prediction
In section 5.5 we suggested that a configuration prediction mechanism will be necessary to
compensate for the time delays between control commands. Experimental evidence supports
the argument. LetXr = (xr; yr; �r) be the ‘real’ configuration of the robot (given by the
odometry right before the control command is issued) andXa = (xa; ya; �a) be the ‘assumed’
one (where the robot assumes it is; all calculations for determining the next control command
are done with respect toXa) at the same time. The distanceXr Xa between the two
vectors can be used as an indication of the error
er(Xa) = Xr Xa = (xr xa)2+ (yr ya)
2+ (�r �a)
2 (7.72)
We measured the error with and without configuration prediction for a long run of the robot
on the simulator and the result is shown in the plot below, where the time axis indicates
control steps. Clearly, the prediction mechanism reduces the error significantly.
0
20
40
60
80
100
120
140
160
0 20 40 60 80 100 120 140 160 180
"pred.dat""no_pred.dat"
Figure 68. Error reduction by using configuration prediction.
107
7.4.4 Motion Control
We compare our motion control scheme with a heuristic control scheme we used in our
early experiments. The dynamic constraints were not taken into account in the heuristic
scheme, but the velocities were set proportional to the magnitude of�r and��. Figure 69
shows a sample run with heuristic speed control.
Figure 69. A sample run with the heuristic speed control.
Although the trajectory looks smooth enough in the 2-dimensional plane, it was not
smooth at all at the time space. The robot came many times to sudden stops and jerky
starts. Figure 70 shows the velocity history over time for both the translational and the
rotational velocity. The translational velocity is in inches/second and the rotational one in
degrees/second. The time axis shows control steps. Notice the oscillations present in the
diagram.
Figure 70. Velocity history with the heuristic control.
108
Figure 71. A sample run with the motion controller.
Figure 71 shows a sample run with our motion control scheme. The trajectory is smooth,
comparable to the previous one. The main difference is in time space, where the robot
jerk has been decreased significantly. Figure 72 shows the velocity history over time of
both velocities. There are no oscillations, but the histories are not the smoothest possible.
However, recall that control is discrete with large enough time step (˜0.32 sec) and we are
dealing with noisy sonar data. In such a situation, the result is more than satisfactory.
Figure 72. Velocity history with the motion controller.
Figure 73 shows the same history in the velocity space. One intuitive way to think
about this, is as if this is the trajectory of a virtual joystick that can be move on this space
providing control to the robot15. Notice that control tends to ‘focus’ at the middle top
that corresponds to maximum translational speed and minimum rotational, meaning that the
15 Indeed, the Nomad 200 can be controlled manually by a joystick that operates on the velocity space, including the backward motion
(negative translational speed) which is missing in Figure 73.
109
robot was moving fast enough. However, its our belief that a human operator could achieve
a smoother trajectory for the same run, so there is perhaps space for improvement.
0
50
100
150
200
250
-500-400-300-200-1000100200300400500
"ttss.dat"
Figure 73. Control input trajectory in the velocity space.
7.4.5 Real World
We depict a few runs of the robot in the real world, using the robot’s server environment
to plot the sonar readings and the trace of the robot. Although this is not the best possible
way, it gives a good example of robot navigation in the presence of highly noisy sensors.
Figure 74 shows a simple example where the robot navigates among plastic obstacles in
Start/EndGoal 1
Goal 2
10 feet
Figure 74. Trace of the robot in a real world environment.
110
a small room. Since the whole sonar readings history is plotted (including the erroneous
ones), the layout of the room can hardly be recognized. One can easily realize how difficult
is navigation in the presence of such noise. Figure 75 shows a run of the robot through a
A
DoorCorridor
Corridor
10 feet
Figure 75. Trace of the robot in a corridor of our lab.
corridor in our lab. The robot was obstructed at point A by a person who stepped in front
of it, and therefore the detour in its trace. Figure 76 shows a run of the robot in a larger
10 feet
Figure 76. Sample run of the robot in our lab.
area of the lab. The target was specified as a very distant point in the direction of the arrow
at the bottom. Again, the noisy sonar readings make the robot’s task harder. It’s obvious
that sophisticated methods are required to interpret the sonar data in a meaningful way for
processes like cognitive mapping.
111
7.5 Applicability
It is demonstrated here how our local navigation system facilitates global navigation.
The global navigation component operates on top of our system, in the sense that it provides
commands to be executed. As was already mentioned, our system can accept a target
position specified relative to the robot’s current configuration (or globally specified, if the
robot’s position is also known). As long as there are no ‘traps’ in the way, it can navigate the
robot to the target, avoiding any unexpected and perhaps moving obstacles that may appear.
Obviously, the global navigation component does not have to worry about motion control
and all it has to do is to specify some sequence of distant ‘key positions’ which if followed
will move the robot to the desired place. Assuming an indoor environment, such positions
can be, for example, doors, ends of corridors, junctions of corridors and so on. One can
easily say that the global navigation component will provide directions to our system at some
high level, similar to the way humans give directions (go to that door, get out, walk right to
the end of the corridor, go left to the other end, enter the third door on your right, etc.).
Goal 1
Goal 2
Goal 3
Goal 4
Goal 5
Figure 77. Starting the journey.
We provide a characteristic example where we manually simulated the role of the global
path planner. Consider Figure 77 which shows a typical office environment. The robot
112
started at the middle of the central room. The sequence of ‘key positions’ (marked as goals
in the figure) allow the robot to reach a certain target position in a different room.
Goal 6
Goal 7
Goal 8 Goal 9
Unmodeled Objects
Figure 78. Keep up going.
In Figure 78 the journey continues with 4 more ‘key positions’ that drive the robot to
a specific position in another room. At the same time some objects, unknown to the global
component, appear in t the corridor.
Goal 10
Goal 11
Goal 12
Goal 13
Figure 79. Completing the journey.
113
Figure 79 shows the end of the journey, where the robot returns to its initial position,
perhaps having done something useful during its trip. The local navigation takes care of
the unmodelled objects which might be moving as well. The point here is that the robot
completed a non-trivial tour in an environment of about 125108 feet with a global path
consisting of only 13 steps (and some of them are actually redundant).
Here we have instructed the robot in a stop-and-go manner; the robot reaches an
intermediate goal, stops and then accepts the next one. However, this need not be the
case. The new subgoal can be provided as soon as the robot is close enough to the previous
one. This will lead to a continuous motion of the robot throughout its trip.
Notice that the global path planning problem here consists of identifying certain ‘key
positions’ or areas, building some model of their connectivity and finding paths in that
connectivity model. Ideas from Voronoi diagrams or other roadmap methods can be applied
here. However, the interesting case would be to let the robot find these positions on its
own and built its own little cognitive map. This is dependent on the ability of the robot to
recognize physical landmarks. Work along these lines has been done by David Kortenkamp
for his Ph.D. dissertation at the University of Michigan [Kort93].
One might argue here that global paths produced and followed in this manner are
suboptimal; they are not the shortest possible. Although such an observation is justified,
the reply is that the paths are nevertheless highly flexible. Given also the dynamic nature
of such environments (usually people moving around), it doesn’t make sense to talk about
optimality. Even in a static case the robot would almost have to scratch the walls (!) for
achieving the ‘shortest’, so to speak, path.
One can think of several different components that might drive our system16. We have
built three such drivers. Note that none of them has to worry about obstacle avoidance,
motion control and the like. The first, examines the sonars independently and with some
probability instructs the robot to move in the direction where the most free space appears.
The result is a wandering behavior. The second driver, examines the sonars and if something
approaches too close it instructs the robot to move to some direction of free space until some
16 In our experiments, we called the local navigatorcar and the top level componentsdrivers.
114
safe distance has been reached. The result is an avoiding behavior. Finally, the third one
instructs the robot to stay within a certain distance from the closest object. If there are no
objects close and you walk around the robot, the result is a following behavior.
7.6 Polar Grid versus Rectangular Grid
In this section, we attempt a comparison between the polar grid and the regular rect-
angular grid as different discretization topologies. Although it is hard to find appropriate
criteria, we believe that such a comparison is valuable. We require that both grids cover the
same total area and we compare the number of units required in each case to achieve some
specific sort of resolution within this area. As a measure of the quality of the discretization
we will use the size of the receptive field (SRF) for a unit, that is the area of the subset
of the configuration space which is modeled by this particular unit. Without significant loss
of generality we assume that the distance between the units across one dimension in the
rectangular grid is equal to the distance between the units across one angular direction in the
polar grid and, for simplicity, that it is equal to 1 (see Figure 80).
Let us assume that the square rectangular grid hasM2=M M units and that the polar
grid hasN R units (N angular directions withR units per direction).
For the rectangular grid, the distribution of cells over the configuration space is uniform,
therefore the SRF is constant for all units. From Figure 80, it is obvious that
SRFRG() = 1 1 = 1 (7.73)
}
}1
1
r
Figure 80. Area of the receptive field for the rectangular and the polar grid.
115
For the polar grid, the distribution of cells is not uniform, therefore the SRF is variable
and depends on the distancer of the unit from the center. However, it is invariant with
respect to the angular direction of the unit. From Figure 80, we have
SRFPG(r) =� r + 1
2
2
� r 1
2
2
N=
2�r
N(7.74)
We can further calculate the average SRF (ASRF) for the polar grid as follows:
ASRFPG() =
R
r=1
SRFPG(r)
R=�(R + 1)
N(7.75)
Given that the two grids should cover equal areas, we have
A = AREARG = AREAPG A =M2 = �R2 R =A
�andM = A (7.76)
Now, let us force the average SRF of the polar grid to match the SRF of the rectangular
grid and check the relationship between the number of the units in the two grids in this case.
By equating 7.73 and 7.75, we have
SRFRG() = ASRFPG() 1 =�(R + 1)
NN = �(R + 1) (7.77)
It is easy to see that the number of units in the rectangular grid (URG) in terms of the
covered area (see eq. 7.76) is
URG =M M = A A = A (7.78)
whereas for the polar grid the number of units (UPG) must be (see eq. 7.76, 7.77)
UPG1= N R = �
A
�+ 1
A
�= A+ �A (7.79)
Thus, the ratio of units in the two grids will be
�1=UPG
1
URG=A+ �A
A= 1 +
�
A(7.80)
Obviously, the polar grid has more units than the rectangular one, but this difference becomes
negligible (�1
1) asA . Figure 81 shows a plot of�1 as a function of the area A.
116
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
0 200 400 600 800 1000
Ratio p1
Area A
Figure 81. Ratio�1 of units in the polar and the rectangular grid.
Alternatively, we may require that the best resolution of the polar grid (i.e. right next to
its center) matches the resolution of the rectangular grid, which is equivalent to
SRFRG() = SRFPG(1) 1 =2�1
NN = 2� (7.81)
In this case, the number of units in the rectangular grid does not change, but the units in
the polar grid become
UPG2 = N R = 2�A
�= 2 �A (7.82)
and the corresponding ratio
�2 =UPG2
URG=
2 �A
A= 2
�
A(7.83)
Obviously, the polar grid is a winner, since it requires much less units than the rectangular
one. This difference becomes infinitely large since�1 0 asA . Figure 82 shows
a plot of �2 as a function of the area A.
117
0
0.2
0.4
0.6
0.8
1
1.2
0 200 400 600 800 1000
Area A
Ratio p2
Figure 82. Ratio�2 of units in the polar and the rectangular grid.
Finally, if we force the worst resolution of the polar grid (at the furthest unit from the
center) to be equal to the resolution of the rectangular one, we have
SRFRG() = SRFPG(R) 1 =2�R
NN = 2�R (7.84)
The units in the rectangular grid are still the same, but for the polar grid we have
UPG2 = N R = 2�A
�
A
�= 2A (7.85)
with a ratio of
�3 =UPG3
URG=
2A
A= 2 (7.86)
Obviously, in this case the polar grid requires double the nodes of the rectangular one, no
matter how large the total area of coverage is.
The analysis we presented above is not intended to reject one of the grids in favor of
the other. There are cases where one of them is suitable and cases where the other is.
One objective conclusion would be that the polar representation is more suitable and more
natural for egocentric representations (orientation invariance, resolution variance), whereas
the rectangular one fits better in an allocentric representation (orientation variance, resolution
invariance).
Chapter 8
Conclusions
8.1 Summary
A complete local navigation scheme has been proposed, implemented and tested in this
thesis. The ‘heart’ of the system is a polar neural map that serves both as a local representation
of the environment and as a local path planner. Motion control that respects the kinematics
and dynamics of the robot is handled separately, and sensor uncertainty is compensated with
a short-term memory. The complete system has been successful in navigating a Nomad 200
mobile robot in indoor environments with several obstacles and walking people.
8.2 Future Work
There are several directions of work planned for the near future. The most important
are discussed in the sequel.
The local navigation scheme with the polar map as it is currently implemented does not
utilize the full sensory scope of the robot which is 6–255 inches. We use 6–100 inches only
with a resolution of 1 inch along any angular direction, in an attempt to keep the resolution
high but, at the same time, the size of the network small for real-time computation. One
119
way to incorporate the full scope in the map is to decrease the resolution so that the distance
between units is about 2.5 inches. A more elegant solution would be to organize the map
in a polar and logarithmic topology, where the units are distributed logarithmically along
any angular direction. With such an organization the high resolution close to the robot is
retained, while the rest of the sensory scope is included by gradually reducing the resolution
along the distance dimension. However, such a change will affect significantly our design,
and it is planned for the near future.
Another goal is to transfer the code on board for real autonomy. Currently, the code is
running on an SGI machine off-board and the control and sensory readings are exchanged
with the robot through the ethernet wireless link. We hope that the on-board execution will
be faster with a constant time execution cycle, avoiding communication delays. Additionally,
the work space of the robot will not be restricted anymore by the wireless communication
coverage.
Another direction is to add the top levels of our hierarchical design. With some sort of
representation and global path planning the robot will be able to navigate more effectively
even in complicated environments. In section 4.2 we showed how the neural map approach
can be used for global path planning if updated ‘bitmap’ information about the configuration
space is available. Although such a step sounds easy enough, the problems associated with
map acquisition and maintenance, and the drift of the robot will make it extremely difficult.
We are interested in a more effective representation. Our aim is to depart from grid-based
representations that have dominated robotics research for the last decades. We believe that
physical landmarks and compass information can be important ‘tools’ in such a non-grid,
mostly qualitative, representation.
Another future goal is to incorporate motion control into the neural map framework. The
solution we gave here is clearly algorithmic. We think of the navigation problem as planning
a trajectory in time within the velocity space (see also Figure 73). However, it is not so
clear how such a unification can be achieved, given the different nature of the configuration
space and the velocity space.
The careful reader might have noticed that within this work we haven’t used the self-
120
organization property of the neural maps. Our map was ‘organized’ by design. It would be
interesting to check if a self-organization procedure on the same setup will result in the same
(or a similar) map organization. Nevertheless, the incorporation of such a learning ability
in the map, will enable the robot to adapt in different circumstances (e.g. when one of the
sonar sensors brakes down).
An ultimate goal would be to make the robot able to navigate at least within the whole
floor of the building where the Robotics and Automation Laboratory is located and perhaps
even use the elevator (!) to access the other floors. However, there are certain places in this
indoor environment which are not detectable by the sonars (like stairs and wavy wall surfaces)
and they might be hazardous for the robot. Additionally, the robot could be used to provide
some useful services, for example passively transporting small objects, like books or papers
or giving tours and demonstrations for lab visitors using also the onboard speech synthesizer.
8.3 The Big Picture
This particular section contains some personal thoughts that put this work into a different
and more general perspective. Due to this personal character, I will make use of pure singular
first person.
Throughout my M.Sc. thesis research, I came across a wealth of literature spanning over
a broad range: Systems, Control, Computers, Robotics, Geometry, AI, Neural Networks,
Neuroscience, Psychology. I cannot claim that I covered all the available literature, but at
least I gained a clear understanding and I realized that the navigation problem is not trivial at
all. A disappointment resulted from the fact that most of the work in robot navigation tends
to ‘waste’ all the computational power available nowadays in representing grids and then
trying to find where in the grid the robot is located. I am skeptical about the feasibility of
navigation in large scale environments with such techniques. A small ant, or a bee, which can
wander in a large enough environment, yet able to find its way back to its nest, cannot have
the computational power of several workstations (as is the case in the most successful and
complete mobile robots today) or a bitmap representation of such a huge area in themselves.
A turn and an interest in human and animal navigation was subsequently born.
121
This work, if nothing else, at least provided the motivation for studying neural field
dynamics, as an alternative means for representation and control, and the existence of such
patterns in biological systems, e.g. the superior colliculus that controls the eye movements.
After exploring the architecture of the vision system for a while, a new (I hope) idea was
shaped:I claim that the mechanisms of the human vision system could be used as a prototype
for robot navigation and exploration. Let me make the point clear. From [RGGP98], I quote:
“ ... the resolution of image representation in the visual cortex is the highest for the part of
the image projected onto the fovea and decreases rapidly with the distance from the fovea
center. During visual perception and recognition, human eyes-move and successively fixate
at the most informative parts of the image which therefore are processed with the highest
resolution. At the same time, the mechanism of visual attention uses information extracted
from the retinal periphery for selection of the next eye position and control of eye movement.
... visual perception and recognition may be considered as behavioral processes ... the internal
object representation contains chains of alternating traces in ‘motor’ and ‘sensory’ memories.
... The ‘behavioral recognition’ has two basic stages: conscious selection of the appropriate
behavioral program and the subconscious execution of the program. ... the selection of the next
fixation point from potential targets in the memorizing mode ... relates to the very complicated,
fundamental problems of visual search”. They also provide a full model and implementation
for memorizing and recognizing images.
Consider now the analogy: A mobile robot equipped with a sonar and/or an infrared ring
(no cameras) is situated at some position [initial gaze fixation] into an unknown environment
[image]. We let the robot wander around for some time. The sensory system [‘eye’] of
the robot provides information about its surrounding in a circular area. This information is
mapped on a neural map [retina-fovea] that resembles the retinal topology. So, the robot
is located at the middle of the fovea and the gradually decreased resolution of the map
corresponds directly to the resolution of the sensor information. Then, orientation selective
cells (see [HaRe97]) “interpret” the readings and provide line segment activations on the
map. A direction of movement is selected (how?) [new fixation point], and it is projected
on the map periphery, causing the robot to move into a new position. The process continues,
122
while the robot stores the “chains of alternating traces” and thus memorizing/exploring
the environment [as memorizing the image]. Several environments can be memorized this
way (note that the space required is significantly less than the bitmap (Cartesian grid)
representation (see [RGGP98])). When the robot is released later in a previously explored
environment it can be localized by a process similar to the image recognition given in
[RGGP98]. Of course, there are some points which are unclear: What will be the analog to
the visual attention mechanism? How will it work in order to include obstacle avoidance as
well? If we want the robot to navigate from a particular position to another position, perhaps
in a dynamic environment how will the periphery be activated?
Some more details might be helpful. The topology of the neural map will be a
retinofoveal-like (polar and logarithmic) ‘grid’, where the center of the (round) robot corre-
sponds to the most-inner ring of the map17. The sensory data are mapped on this topology
almost directly and the orientation selective cells provide additional edge detection informa-
tion. So, the map is used as a sort of spatial short term memory (like the hippocampus,
according to some authors) used to determine the next direction of movement (similar to
the eye movement) to the most informative place (for exploration) or to the desired place
(for goal, homing) and to extract information to be stored (chains of sensor snapshots and
motor commands). Notice that this includes also obstacle avoidance which is not present in
saccadic eye movements. One can think of the exploration of the environment and mapping
as a process of visually memorizing a 2D picture. Then, given a situation where the robot
is placed into some unknown area in the environment, the process of localization (where am
I?) is similar to the 2D image recognition. The scale-invariant, rotation invariant storage will
facilitate the task of the auto-associative retrieval.
A better understanding of this scheme can be gained by the following example: Imagine
that you are given a map (of a city, or a building). Your gaze can fixate only to a specific
part of the map (assume that the map is large enough so that you cannot capture it at once,
i.e. a large scale environment). The way we find paths on such a map is by tracing the path
with our gaze (sometimes we use one finger as a pointer), passing through permissible areas
17 There has been also other work for problem solving with retinofoveal-like architectures. For example, see [Funt80].
123
only (roads, corridors) and avoiding non-permissible areas (building blocks, walls). If we
assume that a robot is attached at our fixation point, then in fact we guide the robot to the
desired place. The task will be harder in an unknown map, but quite easy in a familiar map.
Think also of the known puzzles found in several magazines, where a complicated maze is
given and your task is to find the way out from some position to the exit. I believe that this
is the way we solve such problems: navigating with our eyes and memorizing motor-sensor
alternations, going perhaps back and forth until we can find the way out. Of course there
are very difficult cases where we may fail, and thus the proposed model and the robot. But
if we want the robot to navigate in a regular environment and not to solve maze puzzles,
then I suspect that this ‘vision-inspired’ model will make the robot as ‘smart’ as a human
as far as navigation is concerned.
The work in this thesis is nothing else than a little ‘window’ that reveals part of the big
picture described in this section. The whole idea was inspired by the perception modality of a
particular class of robots, namely round ones with a uniform ring of range fingers, and applies
basically to this class. If ever the method turn out to be successful, the more general question
that arises is: How does the perception system of an agent affect the structure of its ‘cognitive
map’? How does the perception (and action) capabilities of an agent affect (or determine) the
development, evolution and adaptation of its spatial cognition? If such questions are to be
answered, I think that a broad study of the problem from different perspectives is necessary.
Perhaps the ideas described in this thesis and the wealth of the related literature provide
enough starting material for such work and exploration. It is my wish that other colleagues
will also undertake the challenge and make useful contributions to our scientific body.
Bibliography
[Amar89] Amari, Shun-ichi, “Dynamical Stability of Formation of Cortical Maps,” in
Dynamic Interaction in Neural Networks: Models and Data, eds. Michael A. Arbib,
and Shun-ichi Amari (New York: Springer-Verlag, 1989) [Research Notes in Neural
Computing, 1], pp. 15–34.
[AmAr82] Amari, Shun-ichi, and Michael A. Arbib, eds.,Competition and Cooperation in
Neural Nets(New York: Springer-Verlag, 1982).
[Arki87] Arkin, Ronald, “Motor Schema Based Navigation for a Mobile Robot: An Approach
to Programming by Behavior,” inProceedings of the 1987 IEEE International Conference
on Robotics and Automation, chair Arthur C. Sanderson (Raleigh, North Carolina: IEEE
Press, 1987), pp. 264–271.
[Arki98] Arkin, Ronald, Behavior-Based Robotics(Cambridge, Massachusetts: MIT Press,
1998).
[Asto95] Astolfi, A., “Exponential Stabilization of a Mobile Robot,” inTrends in control: Pro-
ceedings of the 3rd European Control Conference, ed. A. Isidori (Rome: Springer–Verlag,
1995), pp. 3092–3097.
125
[BaHV97] Bauer, Hans-Ulrich, Michael Herrmann, and Thomas Vilmann, “Neural Maps and
Topographic Vector Quantization,” submitted toNeural Networks.
[BeGoD93] Bekey, George, and Kenneth Goldberg, eds.,Neural Networks in Robotics
(Norwell, Massachusetts: Kluwer Academic Publishers, 1993).
[BeSD93] Bersini, Hugues, Luis Gonzalez Sotelino, and Eric Decossaux, “Hopfield Net
Generation and Encoding of Trajectories in Constrained Environment,” inNeural Networks
in Robotics, eds. George Bekey, and Kenneth Goldberg (Norwell, Massachusetts: Kluwer
Academic Publishers, 1993), pp. 113–127.
[BHJL82] Brady, Michael, John M. Hollerbach, Timothy L. Johnson, Tomas Lozano-
P�erez, and Matthew T. Mason, eds.,Robot Motion: Planning and Control(Cambridge,
Massachusetts: MIT Press, 1982).
[BoEF95] Borenstein, Johann, H.R. Everett, and Liqiang Feng,Navigating Mobile Robots:
Sensors and Techniques(Wellesley, Massachusetts: A.K. Peters Ltd., 1995).
[BoKo89] Borenstein, Johann, and Y. Koren, “Real-time Obstacle-Avoidance for Fast Mo-
bile Robots,” IEEE Transactions on Systems, Man and Cybernetics, SMC-19, 5 (1989),
1179–1187.
[BoKo91] Borenstein, Johann, and Y. Koren, “The Vector Field Histogram: Fast Obstacle-
Avoidance for Mobile Robot,”IEEE Journal of Robotics and Automation, RA-7, 3 (1991),
278–288.
[Broc83] Brockett, Roger W., “Asymptotic Stability and Feedback Stabilization,” inDiffer-
ential Geometric Control Theory, eds. Roger W. Brockett, R.S. Millman, and H�ector J.
Sussman (Cambridge, Massachusetts: Birkhauser, 1983), pp. 181–208.
[Broo86] Brooks, Rodney A., “A Robust Layered Control System for a Mobile Robot,”IEEE
Journal of Robotics and Automation, RA-2 (1986), 14–23.
[Broo97] Brooks, Rodney A., “From Earwigs to Humans,”Robotics and Autonomous Sys-
tems, 20, 2 (1997), 291–304.
[BuTD94] Bugmann, Guido, John G. Taylor, and Michael J. Denham,Sensory and Memory-
Based Path-Planning in the Egocentric Reference Frame of an Autonomous Mobile Robot
126
(Plymouth, England, UK, 1994) [University of Plymouth, School of Computing, Research
Report NRG-94-01].
[Cann88] Canny, John F.,The Complexity of Robot Motion Planning(Cambridge, Massa-
chusetts: MIT Press, 1988) [ACM Doctoral Dissertation Awards Series, 1987].
[Cart57] Carthy, J.D.,Animal Navigation(New York: Charles Scribner’s Sons, 1957).
[ChBu95a] Choset, Howie, and Joel Budrick, “Sensor Based Planning, Part I: The Gen-
eralized Voronoi Graph,” inProceedings of the 1995 IEEE International Conference on
Robotics and Automation, chair Suguru Arimoto (Piscataway, New Jersey: IEEE Press,
1995), pp. 1649–1655.
[ChBu95b] Choset, Howie, and Joel Budrick, “Sensor Based Planning, Part II: Incremental
Construction of the Generalized Voronoi Graph,” inProceedings of the 1995 IEEE Inter-
national Conference on Robotics and Automation, chair Suguru Arimoto (Piscataway, New
Jersey: IEEE Press, 1995), pp. 1643–1648.
[Chen97] Chen, Yinong,A Motor Control Model Based on Self-organizing Feature Maps
(University of Maryland at College Park, Ph.D. Dissertation, 1997).
[ChRJ97] Cho, Sungzoon, James A. Reggia, and Min Jang, “A Learning Sensorimotor Map of
Arm Movements: A Step Toward Biological Arm Control,” inNeural Systems for Control,
eds. Omid Omidvar, and David L. Elliot (San Diego, California: Academic Press, 1997),
pp. 61–86.
[CoGr83] Cohen, Michael A., and Stephen Grossberg, “Absolute Stability of Global Pat-
tern Formation and Parallel Memory Storage by Competitive Neural Networks,”IEEE
Transactions on Systems, Man, and Cybernetics, SMC-13 (1983), 815–826.
[Conn94] Connolly, Christopher I., and Roderic A. Grupen,Nonholonomic Path Planning
Using Harmonic Functions(Amherst, Massachusetts, 1994) [University of Massachusetts
at Amherst, Computer Science Department, Technical Report UM-CS-1994–050].
[DeOr94] De Luca, Alessandro, and Giuseppe Oriolo, “Local Incremental Planning for
Nonholonomic Mobile Robots,” inProceedings of the 1994 IEEE International Conference
127
on Robotics and Automation, chair Harry E. Stephanou (San Diego: IEEE Press, 1994),
pp. 104–110.
[DoMT91] Dorst, Leo, Indur Mandhyan, and Karen Trovato, “The Geometrical Representa-
tion of Path Planning Problems,”Robotics and Autonomous Systems, 7 (1991), 181–195.
[Enge93] Engels, Christoph,Neural Fields as Abstract Data Types, (Bochum, 1993) [Ruhr-
Universit�at Bochum, Germany, Institut f�ur Neuroinformatik, Internal Report IR-INI-93-
04].
[FeSl97] Feder, Hans Jacob S., and Jean-Jacques E. Slotine, “Real-Time Path Planning
Using Harmonic Potentials in Dynamic Environments,”Proceedings of the 1997 IEEE
International Conference on Robotics and Automation(Albuquerque, New Mexico: IEEE
Press, 1997), pp. 874–881.
[FoBT97] Fox, Dieter, Wolfram Burgard, and Sebastian Thrun, “The Dynamic Window
Approach to Collision Avoidance,”IEEE Journal of Robotics and Automation, RA-4, 1
(1997), pp. 23–33.
[Funt80] Funt, Brian, “Problem-Solving with Diagrammatic Representations,”Artificial In-
telligence, 13 (1980), pp. 201–230.
[GeAb96] Gerstner, Wulfram, and L.F. Abbott, “Learning Navigational Maps through Po-
tentiation and Modulation of Hippocampal Place Cells,”Journal of Computational Neu-
roscience, 4 (1996), 79–94.
[GlKG94] Glasius, Roy, Andrzej Komoda and Stan C. A. M. Gielen, “Population Coding
in a Neural Net for Trajectory Formation,”Network, Computation and Neural Systems, 5
(1994), 549–563.
[GlKG95] Glasius, Roy, Andrzej Komoda and Stan C. A. M. Gielen, “Neural Network
Dynamics for Path Planning and Obstacle Avoidance,”Neural Networks, 8, 1 (1995),
125–133.
[GlKG96] Glasius, Roy, Andrzej Komoda and Stan C. A. M. Gielen, “A Biologically Inspired
Neural Net for Trajectory Formation and Obstacle Avoidance,”Biological Cybernetics, 84
(1996), 511–520.
128
[Glas97] Glasius, Roy,Trajectory Formation and Population Coding with Topographical
Neural Networks(Katholieke Universiteit Nijmegen, Netherlands, Doctoral Dissertation,
1997).
[GoBW97] Goerick, Christian, Bernhard Sendhoff, and Werner von Seelen, “From Neural
Networks to Neural Strategies,” inProceedings of the International Conference on Acous-
tics, Speech, and Signal Processing (IEEE ICASSP97), chair Manfred K. Lang (Munich,
Germany: IEEE Press, 1997), pp. 119–122.
[HaRe97] Harris, Kenneth and Michael Recce, “Neural Model of a Grid-Based Map for Robot
Sonar,” in Proceedings of CIRA ’97: IEEE International Symposium on Computational
Intelligence in Robotics and Automation, chair Sukhm Lee (Piscataway, New Jersey: IEEE
Press, 1997), pp. 34-39.
[HiJo85] Hirtle, Stephen C., and John Jonides, “Evidence of Hierarchies in Cognitive Maps,”
Memory & Cognition, 13, 3 (1985), 208–217.
[HKPL96] Hong, Sun-Gi, Sung-Woo Kim, Kang-Bark Park, and Ju-Jang Lee, “Local Motion
Planner for Nonholonomic Mobile Robots in the Presence of the Unknown Obstacles,” in
Proceedings of the 1996 IEEE International Conference on Robotics and Automation, chair
C.S. George Lee (Minneapolis, Minnesota: IEEE Press, 1996), pp. 1212–1217.
[Hopf82] Hopfield, John, “Neural Networks and Physical Systems With Emergent Collective
Computational Capabilities,”Proceedings of the National Academy of Science, USA, 79
(1982), 2254–2558.
[Hopf84] Hopfield, John, “Neurons With Graded Response Have Collective Computational
Properties Like Those of the Two-State Neurons,”Proceedings of the National Academy
of Science, USA, 81 (1984), 3088–3092.
[HuKR93] Hu, T.C., Andrew B. Khang, and Gabriel Robins, “Optimal Robust Path Planning
in General Environments,”IEEE Transactions on Robotics and Automation, 9, 6 (1993),
775–784.
[Jarv93] Jarvis, Ray, “Distance Transform Based Path Planning for Robot Navigation,” in
Recent Trends in Mobile Robots, ed. Yuan F. Zheng, (River Edge, New Jersey: World
129
Scientific Publishers, 1993), pp. 3–31.
[Khat86] Khatib, Oussama, “Real-Time Obstacle Avoidance for Manipulators and Mobile
Robots,” International Journal of Robotics Research, 5, 1 (1986), 90–98.
[KrDa97] Kr�ose, Ben, and Joris van Dam, “Neural Vehicles,” inNeural Systems for
Robotics, eds. P. van der Smagt, and Omid Omidvar, (San Diego: Academic Press, 1997),
pp. 271–296.
[Klei92] Kleinberg, Jon M.,Algorithms for On-Line Navigation(Ithaca, New York, 1992)
[Cornell University, Computer Science Department, Technical Report TR92–1316].
[Kort93] Kortenkamp, David,Cognitive Maps for Mobile Robots: A Representation for
Mapping and Navigation(University of Michigan, Ph.D. Dissertation, 1993).
[Koho97] Kohonen, Teuvo,Self-Organizing Maps(New York: Springer-Verlag, 2nd ed.,
1997) [Springer Series in Information Sciences, 30], pp. 59–144.
[Kuip78] Kuipers, Benjamin, “Modeling Spatial Knowledge,”Cognitive Science, 2 (1978),
129–153.
[Kuip82] Kuipers, Benjamin, “The ‘Map in the Head’ Metaphor,”Environment and Behavior,
14 (1982), 202–220.
[Kuip83] Kuipers, Benjamin, “The Cognitive Map: Could It Have Been Any Other Way?,” in
Spatial Orientation: Theory, Research, and Application, eds. Pick, H. L. Jr., and Acredolo,
L. P. (New York: Plenum Press, 1983), pp. 345–359.
[LaSu91] Lafferriere, G., and H.J. Sussmann, “Motion Planning for Controllable Systems
without Drift,” in Proceedings of the 1991 IEEE International Conference on Robotics and
Automation, chair T.J. Tarn (Sacramento, California: IEEE Press, 1991), pp. 1148–1153.
[Lato91] Latombe, Jean-Claude,Robot Motion Planning(Norwell, Massachusetts: Kluwer
Academic Publishers, 1991).
[LeLa90] Levitt, Tod S. and Daryl T. Lawton, “Qualitative Navigation for Mobile Robots,”
Artificial Intelligence 44, 3 (1990), 305–360.
[Loza83] Lozano-P�erez, Tomas “Spatial Planning: A Configuration Space Approach,”IEEE
Transactions on Computers, C-32 (1983), 108–120.
130
[LaLu97] Lazea, G., and A.E. Lupu, “Aspects on Path Planning for Mobile Robots,”
TEMPUS M-JEP 11467: Intensive Course on Computer Aided Engineering in Flexible
Manufacturing, (Bucharest, Romania, May 19-23, 1997).
[McLe97] McLennan, Bruce, “Field Computation in Motor Control,” inSelf-Organization,
Computational Maps and Motor Control, eds. Pietro Morasso, and Vittorio Sanguineti
(Amsterdam: Elsevier, North-Holland, 1997) [Advances in Psychology, 119], pp. 37–74.
[McPi43] McCulloch, W.S., and W. Pitts, “A Logical Calculus of Ideas Immanent in Neurous
Activity,” Bulletin of Mathematical Biophysics5 (1943), 115–133.
[MoMa96] Moravec, Hans, and Martin C. Martin,Robot Evidence Grids(Pittsburgh, Penn-
sylvania, 1996) [Carnegie Mellon University, Robotics Institute, Technical Report CMU-
RI-TR-96-06].
[MoSa97] Morasso, Pietro, and Vittorio Sanguineti, eds.,Self-Organization, Computational
Maps and Motor Control(Amsterdam: Elsevier, North-Holland, 1997) [Advances in
Psychology, 119].
[NePa95] Nebot, E., and D. Pagac, “Quadtree Representation and Ultrasonic Information
for Mapping an Autonomous Guided Vehicles Environment,”International Journal of
Computers and their Applications, 2, 3 (1995), 160–170.
[Oja82] Oja, E., “A Simplified Neuron Model as a Principal Component Analyzer,”Journal
of Mathematical Biology, 15 (1982), 267–273.
[Pras89] Prassler, Erwin, “Electrical Networks and a Connectionist Approach to Path-
Finding,” in Connectionism in Perspective, eds. Rolf Pfeifer, Zoltan Schreter, Fran-
coise Fogelman-Souli�e, and Luc Steels (Amsterdam: Elsevier, North–Holland, 1989),
pp. 421–428.
[RGGP98] Rybak, I.A., V. I. Gusakova, A.V. Golovan, L. N. Podladchikova, and N. A.
Shevtsova, “A Model of Attention-Guided Visual Perception and Recognition,” to appear
in Vision Research(1998).
[RoPf66] Rosenfeld, A., and J.L. Pfaltz, “Sequential Operations in Digital Image Processing,”
Journal of the Association for Computing Machinery, 13, 4 (1966), 471–494.
131
[RuNo95] Russell, Stuart, and Peter Norvig,Artificial Intelligence: A Modern Approach
(Upper Saddle River, New Jersey: Prentice Hall, 1995).
[SaAb95] Salinas, Emilio, and L.F. Abbott, “Transfer of Coded Information from Sensory
to Motor Networks,”Journal of Neuroscience, 15, 10 (1995), 6461–6474.
[SaMF97] Sanguineti, Vittorio, Pietro Morasso, and Francesco Frisone, “Cortical Maps
of Sensorimotor Spaces,” inSelf-Organization, Computational Maps and Motor Control,
eds. Pietro Morasso, and Vittorio Sanguineti (Amsterdam: Elsevier, North-Holland, 1997)
[Advances in Psychology, 119], pp. 1–36.
[SaMo97] Sanguineti, Vittorio, Pietro Morasso, and Francesco Frisone, “Computational Maps
and Target Fields for Reaching Movements,” inSelf-Organization, Computational Maps
and Motor Control, eds. Pietro Morasso, and Vittorio Sanguineti (Amsterdam: Elsevier,
North-Holland, 1997) [Advances in Psychology, 119], pp. 507–547.
[ScDo92] Gregor Sch�oner, and Michael Dose, “A Dynamical Systems Approach to Task-
Level System Integration Used to Plan and Control Vehicle Motion,”Robotics and Au-
tonomous Systems, 10 (1992), 253–267.
[ScEn94] Gregor Sch�oner, and Christoph Engels, “Dynamic Field Architecture for Au-
tonomous Systems,” inProceedings of the International Workshop From Perception to
Action (PerAc94), eds. P. Gaussier, and J. Nicoud (Lausanne: IEEE Computer Society
Press, 1994), pp. 242–253.
[ScEn97] Gregor Sch�oner, Klaus Kopecz, and Wolfram Erlhagen, “The Dynamic Field The-
ory of Motor Programming,” inSelf-Organization, Computational Maps and Motor Con-
trol, eds. Pietro Morasso and Vittorio Sanguineti (Amsterdam: Elsevier, North-Holland,
1997) [Advances in Psychology, 119], pp. 271–310.
[ScSS87] Schwartz, J.T. , M. Sharir, and J. Hopcroft,Planning, Geometry and Complexity
of Robot Motion(Norwood, New Jersey: Ablex, 1987).
[SiMi93] Sirosh, Joseph, and Risto Miikkulainen, “How Lateral Interactions Develops
in a Self-Organizing Feature Map,” inProceedings of the IEEE International Confer-
132
ence on Neural Networks, chair Hamid R. Berenji (San Francisco: IEEE Press, 1993),
pp. 1360–1365.
[Simm96] Simmons, Reid, “The Curvature-Velocity Method for Local Obstacle Avoidance,”
in Proceedings of the 1996 IEEE International Conference on Robotics and Automation,
chair C.S. George Lee (Minneapolis, Minnesota: IEEE Press, 1996), pp. 3375–3382.
[Stei97] Steinhage, Alex,Dynamical Systems for the Generation of Navigation Behavior
(Ruhr-Universit�at Bochum, Germany, Dr. rer. nat. Dissertation, 1997).
[TaBl91] Tarassenko, L., and Blake A., “Analogue Computation of Collision-Free Paths,”
Proceedings of the 1991 IEEE International Conference on Robotics and Automation, chair
T.J. Tarn (Sacramento, California: IEEE Press, 1991), pp. 540–545.
[ThBB98] Thrun, Sebastian, Arno Bucken, Wolfram Burgard, Dieter Fox, Thorsten Frohling-
haus, Daniel Hennig, Thomas Hofmann, Michael Krell, and Timo Schmidt, “Map Learn-
ing and High-Speed Navigation in RHINO,” to appear inArtificial Intelligence and Mo-
bile Robots: Case Studies of Successful Robot Systems, eds. David Kortenkamp, R. Peter
Bonasso, and Robin Murphy (Cambridge, Massachusetts: MIT Press, 1998).
[TMSK97] Tsuji, Toshio, Pietro G. Morasso, Vittorio Sanguineti, and Makoto Kaneko, “Arti-
ficial Force-Field Based Methods in Robotics,” inSelf-Organization, Computational Maps
and Motor Control, eds. Pietro Morasso and Vittorio Sanguineti (Amsterdam: Elsevier,
North-Holland, 1997) [Advances in Psychology, 119], pp. 169–190.
[Toll48] Tollman, Edward C., “Cognitive Maps in Rats and Men,”Psychological Review,
55, 4 (1948), 189–208.
[Trov96] Trovato, Karen I.,A* Planning in Discrete Configuration Spaces of Autonomous
Systems(University of Amsterdam, Netherlands, Doctoral Dissertation, 1996).
[Vali94] Valiant, Leslie G.,Circuits of the Mind(New York: Oxford University Press, 1994).
[WTSM92] Walsh, G., D. Tilbury, S. Sastry, R. Murray, and J-P. Laumond, “Stabilization of
Trajectories for Systems with Nonholonomic Constraints,” inProceedings of the 1992 IEEE
International Conference on Robotics and Automation, chair Georges Giralt (Piscataway,
New Jersey: IEEE Press, 1992), pp. 1999–2004.
133
[WiSe98] Wiskott, Laurenz, and Terrence Sejnowski, “Constrained Optimization for Neural
Map Formation: A Unifying Framework for Weight Growth and Normalization,”Neural
Computation, 10, 3 (1998), 671–716.
[WKSS93] Canudas de Wit, C., H. Khennouf, C. Samson, and O.J. Sordalen, “Nonlinear
Control Design for Mobile Robots,” inRecent Trends in Mobile Robots, ed. Yuan F. Zheng,
(River Edge, New Jersey: World Scientific Publishers, 1993), pp. 121–156.
134
Abstract
The application of (artificial) neural maps on mobile robot navigation is investigated.
Neural maps are dynamic representations with computational capabilities, inspired by the
cortical maps of the brain. The methodology is presented in detail, based on previous
theoretical works, and simulation results demonstrate the applicability of the method on
basic global (map-based) navigation problems. However, the real power of the method
is revealed in local (sensory-based) navigation for a class of mobile robots equipped with
range-finding sensors on their periphery.
A complete local navigation scheme for a real Nomad 200 robot has been proposed,
implemented and tested in real-world indoor environments. It is based on a topographic
neural map and uses ultrasonic sensor (sonar) information. The map is polar and egocentric
attached to the center of the robot and represents the robot’s environment in a local (spatial
and temporal) sense. Paths are computed incrementally and a separate motion controller
determines the control input (velocity level) to drive the robot, respecting its kinematic and
dynamic constraints. The system is enhanced with a sensor short-term memory and temporal
adaptation methods that compensate for potential uncertainties.
The system was tested thoroughly and detailed analytical and experimental results are
presented. The potential applications and usability of the system reveal how it can be used
further for global navigation, exploration and cognitive mapping.
135
Biographical Sketch
Michail G. Lagoudakis was born in 1972 in Irakleio, Crete in Greece.
In 1990, he enrolled in the Computer Engineering and Informatics Department at the
University of Patras in Greece. He completed the five years of study at the department
always ranking in the highest 8% among his class (a total of 120). For his performance
he was awarded a scholarship and a student scholarship/loan by the National Scholarship
Foundation of the Greek Ministry of Education. His diploma thesis, entitledImplementation
of a Knowledge-Based Scheduler for Job-Shop Production Environments, was done with his
colleague Nikolaos Parlavantzas and under the supervision of Dr. Paul Spirakis. This work
was part of the larger European ESPRIT CIM Project at the University of Patras. He
graduated in July, 1995 and received the Diploma of Computer and Informatics Engineer
with an average grade "Excellent" (8.67/10.00) ranking 10th among his class. During his
military service he served for five months as the Database Administrator for the Artillery
Training Center in Greece.
In August, 1996 he enrolled in the graduate program of the Center for Advanced
Computer Studies at the University of Southwestern Louisiana in Lafayette, Louisiana. At
the same time he was awarded a graduate scholarship from the Lilian-Boudouri Foundation
in Greece. Since then, he has been working toward the M.Sc. degree in Computer Science
maintaining a GPA of 4.00 and has been honored twice by the USL Honors Program. His
M.Sc. thesis entitledMobile Robot Local Navigation with a Polar Neural Mapwas completed
under the supervision of Dr. Anthony S. Maida and was used for sonar-based navigation of
a Nomad 200 mobile robot at the Robotics and Automation Laboratory.
His research interests fall generally in Artificial Intelligence and Cognitive Science. More
particularly he is interested in spatial cognition, neural, self-organizing, cognitive maps in
humans, animals and robots, sensory-motor control, adaptation and learning in sensory/motor
systems and nonlinear dynamics.
He is a student member of the American Association for Artificial Intelligence (AAAI)
and the Institute of Electrical and Electronics Engineers (IEEE).