mobile robot local navigation with a polar neural maplagoudakis/oldsite/papers/pdf/msthesis.pdf ·...

148
Mobile Robot Local Navigation with 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. Lagoudakis Spring 1998

Upload: others

Post on 15-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 2: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

Michail G. Lagoudakis1998

All Rights Reserved

Page 3: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 4: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

To my parents and teachers

who taught me all I have learned,

and more.

iv

Page 5: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 6: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 7: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 8: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 9: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 10: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 11: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 12: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 13: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 14: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 15: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 16: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 17: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 18: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 19: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 20: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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].

Page 21: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 22: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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).

Page 23: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 24: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 25: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 26: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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,

Page 27: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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].

Page 28: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 29: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 30: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 31: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 32: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 33: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

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

Page 34: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 35: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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?

Page 36: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 37: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 38: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 39: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 40: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 41: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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)

Page 42: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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].

Page 43: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 44: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 45: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 46: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 47: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 48: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 49: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 50: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 51: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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).

Page 52: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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).

Page 53: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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)

Page 54: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 55: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 56: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 57: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 58: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 59: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 60: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 61: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 62: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 63: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 64: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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).

Page 65: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 66: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 67: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 68: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 69: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 70: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 71: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 72: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 73: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 74: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 75: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 76: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 77: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 78: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 79: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 80: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 81: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 82: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 83: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 84: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 85: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 86: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 87: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 88: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 89: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 90: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 91: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 92: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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?

Page 93: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 94: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 95: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 96: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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]).

Page 97: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 98: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

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)

Page 99: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 100: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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)

Page 101: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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)

Page 102: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 103: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 104: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 105: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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)

Page 106: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 107: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 108: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 109: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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:

Page 110: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 111: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 112: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 113: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 114: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 115: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 116: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 117: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 118: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 119: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 120: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 121: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 122: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 123: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 124: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 125: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 126: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 127: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 128: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 129: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 130: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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).

Page 131: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 132: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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-

Page 133: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 134: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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,

Page 135: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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].

Page 136: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 137: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 138: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 139: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 140: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 141: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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

Page 142: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 143: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 144: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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-

Page 145: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 146: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 147: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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.

Page 148: Mobile Robot Local Navigation with a Polar Neural Maplagoudakis/OLDSITE/papers/PDF/MSthesis.pdf · Dr. Kimon P. Valavanis Professor of Computer Engineering Dr. Bill Z. Manaris Assistant

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).