privatejstevens/published publications... · Web viewif more comprehensive sensors, such as vision,...
Transcript of privatejstevens/published publications... · Web viewif more comprehensive sensors, such as vision,...
Architectures for Controlling an
Intelligent Autonomous Vehicle
By John Stevens
Presented as a Partial Fulfillment of the Requirements for an
MSc. in
Intelligent Knowledge-Based Systems
Department of Computer Science University
of Essex Supervisor: Dr. Sam Steel
Presented September, 1994
Abstract
Surname: Stevens Other Names: John Kenneth
Qualification Sought: MSc in Intelligent Knowledge Based Systems
Title of Project: Architectures for Controlling an Intelligent Autonomous Vehicle
Supervisor: Dr Sam Steel
Artificial intelligence researchers have developed several styles of IA V
architectures, mapping systems, and planners. Considerable debate surrounds the utility of
each. This dissertation contributes to these debates. This document reports on the
experimental testing of three architectures: a reaction-based architecture implemented on
an economical mobile vehicle developed for this project; a subsumption architecture, and a
combined architecture integrating subsumption with a non-linear planner, the latter two of
which were implemented on a University of Essex Marvin vehicle. The results of this
research suggest four conclusions. First, simple, inexpensive mobile vehicles can
successfully perform basic behaviours, and the technology and software for such vehicles
can be rapidly developed and tested. Second, ultrasound and infra-red sensors limit the
ability of a mobile vehicle. Future use of alternative sensors, such as vision, may well
yield improved performance. Third, while sUbsumption architecture does not live up to
some of the claims made by its designers, it can facilitate successful goal completion by an
IA V. Fourth, subsumption architectures can be effectively integrated with non-linear
planners to improve vehicle performance. The final chapter summarises the findings of
this work and explores the potential avenues for future research suggested by these
findings.
ii
Acknowledgements
My first thanks have to go to Kimberly Fisher who has spent many hours copy-editing and correcting English mistakes in my draft texts, assistance rendered necessary by my dyslexia. This special lady also has to be thanked for putting up with me during the production of this report.
I would also like to express my gratitude to Paul Chernett, and Robin Dowling, who provided both technical support and comments to assist the implementation of my ideas on the robots. I extend similar gratitude to Stuart Soltysiak, who also offered advice over many cans of coke and games of pool.
I would like to acknowledge Mr. Malcom Lear's input into the development of the clocking circuitry, PCB board art work, and the small mobile vehicle. Without his technical input this development would have been more difficult to complete.
Finally, of course, I wish to thank my supervisor, who nudged me in constructive directions, while allowing me to do the hard work myself.
iii
Acknowledgement of Examination Regulation 6.5(c)
I declare that any use of, or reference to, the work of others has been
explicitly acknowledged in this dissertation.
John Stevens
iv
Table of Contents
Title Page Abstract Acknowledgements Acknowledgement of Exam Regulation 6.5(c) Table of Contents Table of Figures
1
ii iii iv v vii
1. Introduction 1
2. The Subject Area 2.1 IA V Architectures Process
Control Systems Plan then Execute Architectures Subsumption Architectures Combined Architectures Non Symbolic Methods Self Organising Architectures Summary
2.2 Mapping Systems Geometric Mapping Systems and Dead Reckoning Landmark Mapping Topological Mapping Summary
2.3 Planning Systems Path Planners Non-Liner Planning Hierarcal Plans Planning to Plan
2.4 Attention 2.5 Summary
5 6 6 7 9 12 13 15 16 16 17 17 18 18 19 19 21 22 23 23 23
3. An Implementation of a Reactionary IA V Architecture 3.1. Vehicle Developed 3.2. Software Developed 3.3. Experimental Results 3.4. Future Work 3.5. Summary
24 26 28 29 30 30
v
4. An Implementation of a Subsumption IA V Architecture 32 4.1. Hardware 33
Sensor Details 34 Hardware Modification 35
4.2. Subsumption Software developed 36 Reflex Module 36 Obstacle Avoidance Module 37 Wall Following Module 37 Infra Red Location Module 38 Implementation Details 39
4.3. Experimental Results 39 Comments on the Performance of the Vehicle 41 Comments on the Performance of Subsumption 41
4.4. Future Work 42 4.5. Summary 42
5. Combing Subsumption and Plan then Execute IA V Architectures 43 5.1. Architecture Developed 44 5.2. Implementation Details 47
Mixing 'C' with PROLOG 47 Plan-then-Execute Behaviour 48 Topological Path Planner 48 Subsumption Interface with Topological Path Planner 50
5.2. Experimental Results 50 5.3. Future Work 53 5.4. Summary 53
6. Conclusions 56 6.1 Introduction 56 6.2 Conclusions About Hardware 57 6.3 Conclusions About the Implementation of the Architectures 58 6.4 Closing Notes 60
Bibliography 61
Appendices
a. Mouse PCB board b. Reactionary Software c. Reactionary Test Results d. Marvins Dimensions e. Marvins Memory map f. std_ops.h g. subsumption.c h. Subsumption Test Results i. Wall following algorithms j. comb.c k. top_planner.pl 1. Combination Test result
Al A2 A3 A7 A8 AlO A19 A25 A29 A31 A38 A40
vi
Table of Figures
1.1. Picture of Robots 3 2.1. Diagram of Process Control Architecture 7 2.2. Diagram of Process Control Architecture 7 2.3. Diagram of Plan-then-Execute Architecture 7 2.4. Diagram of Plan-then-Execute Architecture 7 2.5. Brooks' Modular AI Diagram 9 2.6. Brooks' Behaviour Based Control Architecture Diagram 9 2.7. A Subsumption Network 10 2.8. Alice Architecture 13 2.9. Fuzzy Logic Language 14 2.10. Topological Map 18 2.11. Free Space Representation Map 20 2.12. NaT Map 20 2.13. Non-Linear Plan 22 2.14. Hierarchical Plan 22 3.1. Picture of Small Robot 25 3.2. Circuit Diagram for Small Robot 27 3.3. Circuit Diagram for Op-amp 27 3.4. Pseudo Code for Reaction Software 28 3.5. Table of Results of Reaction Software Experiments 29 4.1. Picture of Department Robot 33 4.2. Diagram of Positioning of Ultrasound Sensors 35 4.3. Subsumption Network Diagram 36 4.4. Pseudo Code of Wall Following 38 4.5. Pseudo Code of Subsumption Control Network 39 4.6. Table of Results of Subsumption Experiments 40 5.1. Architecture Diagram of Combined Approach 46 5.2. Pseudo Code for Plan-then-Exicute Behaviour 48 5.3. Topological Map Reprsentations 49 5.4. Topological Map Used in Testing 50 5.5. Table of Results of Combined Architecture Experiments 51 5.6 Architecture Diagram of Possible Future Work 54
Vll
Chapter 1
Introduction
1.0 Introduction
For centuries, people have pondered the possibility of developing machines
capable of independent thought. In the nineteenth century, writers like Robert Lewis
Stevenson founded the literary genre which would develop into today's science fiction - a
genre replete with robotic beings who have reached a level of sentiency and ability which
exceeds human capacities. While the fans of science fiction literature and fihns may
fantasise about interactions with the likes of Data or C3PO, the real life world of artificial
intelligence research is now - and for some time in the future, will remain - far more
mundane. The researchers who undertook the first attempts to write programs to allow
autonomous mobile vehicles to act with a degree of intelligence soon made two
discoveries. First, they learned that artificial intelligence programming must enable the
mobile vehicle to perform basic levels of decision making, such as figuring out how to
navigate differing terrains and learning to avoid obstacles. Second, they learned that
humans must develop complex programs to enable machines to perform even such
seemingly simple tasks.
To make this programming challenge manageable, researchers have split the
levels of decision-making into manageable and understandable modules. Many early
experiments centred on the execution of a single behaviour, such as path planning. By
adopting this simplified approach, computer scientists soon succeeded in expanding the
capacity of Intelligent Autonomous Vehicles (IAVs). This success, however, generated a
new and challenging problem - mobile vehicles cannot cope with independent movement
without constant attention from researchers if they do not possess the ability to integrate
the performance of several behaviours. Until very recently, only a few research groups
demonstrated interest in the design of integrated architectures. The process of organising
behaviours into functional, combined control systems has recently become one of the
major themes of IA V research. This project, investigates such systems through the
implementation of three different control strategies.
Chapter Two offers a brief overview and analysis of the literature on IA V
behaviour control. The major developments in IA V architecture research, discussed in
this chapter in a slightly idealised chronological order, are: 1) early process control
systems; 2) plan-then-execute architectures; 3) reaction-based systems; 4) subsumption
architectures; 5) combined architectures; 6) non-symbolic methods; and 7) selforganising
architectures. This chapter additionally offers discussion of the techniques developed to
facilitate mapping, planning, and attention in mobile vehicles.
The three subsequent chapters discuss the implementation of three of these
architectures and the mobile vehicles on which they were tested. Both of these vehicles
are pictured in Figure 1.1.
Chapter Three records the results of the implementation of a reaction-based
architecture. As such architectures may have a simple design, this chapter details an effort
to develop a minimal architecture to produce a single behaviour from a small mobile
vehicle. The vehicle designed for this experiment (see Figure 1.1) uses a single layer
reactive control system which enables it to move around its environment without
damaging itself. The simplicity of this design permitted rapid development and testing of
the architecture, and also demonstrated that utility of this hardware and software for low-
budget projects.
2
Figure 1.1.
Chapter Four reports on a re-evaluation of subsumption architecture. This architecture
which was developed by Rodney Brooks and detailed in Brooks (1986) was implemented on one
of the departmental Marvin vehicles, Ford, shown in Figure 1.1. Chapter Four begins with a
description of the test vehicle, then proceeds to discussion of modifications made on Ford,
including justification for these changes. The chapter then offers an evaluation of the architecture.
Ford was able to perform behaviours such as ret1ex action: avoid obstacles: follow walls: and
tind infra red beacons.
Chapter Five records the implementation and testing of an architecture combining
subsllmption and plan-then-execute techniques. Ford again served as the base vehicle for these
experiments. The results reponed in Chapter Five indicate the compatibility of these two
architectures. This combination pemlits a vehicle to make lise of the advantages of both systems:
the suitability of reaction-based subsllmption for addressing immediate dewlopments in the
environment: and the capacity of the
plan-then-execute architecture for looking ahead and creating plans to circumvent
problems.
Chapter Six fIrst provides additional comment on the different architectures
presently under investigation in the artificial intelligence community. The experimental
results obtained are then summarised, and possible future applications of these findings
are considered. The text closes with discussion of the directions in which research into
Intelligent Autonomous Vehicle architectures could head in the future.
4
Chapter 2
Related Work
Contents
2.0 Introduction 2.1 IA V Architectures
Process Control Systems Plan-then-Execute Architectures Subsumption Architecture Combined Architectures Non Symbolic Methods Self-Organising Architectures Summary
2.2 Mapping systems Geometric Mapping and Dead Reckoning Landmark Mapping Topological Mapping Summary
2.3 Planning Systems Path Planners Non-Linear Planners Hierarchical Plans Planning to Plan
2.4 Attention 2.5 Summary
5
2.0 Introduction
In this chapter, I detail the major developments in the published research on the
control of autonomous mobile vehicles which I have reviewed to ground my own
architectural experiments detailed later in this dissertation. The first and largest section
contains discussion of the major IA V control architectures described in the literature,
focusing on the connections between the individual modules of the control system. I then
examine the research covering two of the more important modules. The second section of
this chapter details developments in IA V mapping, and the third section offers an
examination of the research on planning. The fourth section contains discussion of IA V
attention.
2.1 IA V Architectures
Initially, the researchers working with IA V s concentrated on functionality of
individual behaviours, such as obstacle avoidance or path planning. Only a few devoted
minimal effort to designing strategies for organising these behaviours into a combined
control system. The following sub-sections of this report provide details of the major
developments in IA V architecture research in chronological order, beginning with
process control systems, then moving on to plan-then-execute architectures, subsumption
architectures, combined architectures, non-symbolic methods, and selforganising
architectures. Members of the IA V community now generally regard architectural design
as one of the most important areas of research on this field.
2.1.1 Process Control Systems
Before the AI community developed an interest in IA V s, industrial technicians
had designed process control architectures for robots. Examples of early process control
architectures can be found in Grover (1987). Academic research consequently began with
examination of these systems, which are generally implemented by a single layer of
process control through which a given input stimulates an output. This structure may be
diagrammed as follows:
6
Sense --_\ / React (Execute)
Figure 2.1
This architecture has been implemented by many people to control IA V s, an example of
which can be found in Miller et. al. (1992), and is shown in Figure 2.2.
Sense for obstacle
--_\ / If obstacle in front, tum left
Figure 2.2
The simplicity of these initial IA V architectures enables a mobile vehicle to
function in a relatively static environment, such as a production line, where it would
perform generally uncomplicated manoeuvres to achieve a single goal. AI researchers
soon found that process control systems did not facilitate more complex behaviour in
dynamic environments, and instigated a search for a more flexible IA V architecture.
2.1.2 Plan-then-Execute Architectures
This search gave rise to a second approach to IA V control, a functionally
decomposed "sense, plan-then-execute" architecture. Much like the process control
systems, plan-then-execute architectures also generally have only a single layer of
abstraction, although there are exceptions. The reader will notice the similarities between
Figure 2.3 and the preceding figures:
Sense --_\ / Plan
--_\ / Execute
Figure 2.3
The similarities likewise appear with the adaptation for a mobile vehicle:
Sense and Interpret the Environment
--_\ / Plan Response(s)
--_\ / Execute
Figure 2.4
7
This architecture converts sensory information into a symbolic internal
representation of the environment, which it stores in the vehicle's memory. The planner
reads this symbolic representation, then generates a list of actions to be executed. This
architecture offers a major advantage - the addition of planners, such as non-liner
planners (described later is this chapter) - which provide the ability to plan several step s
in advance to find a solution to more complex problems.
Researchers who have conducted the most recent work with these architectures,
including Drabble (1993) and Simmons (1990), have concentrated on the execute phase.
B. Drabble and R. Simmons strove to detect deviations from planned reactions to sensory
input, and to determine at which stage of plan execution process to pass control back to
the planner for partial or total re-planning. This endeavour requires the researchers to
anticipate all potential problems before they are encountered by the IA V - a difficult, if
not impossible task. Some IA V s have been programmed to stop while re-planning
occurs. Alternatively, an IAV could be programmed to continuously modify its plans to
achieve the goals of an application so that it could respond to changes in sensory
information. These proposed solutions likewise require a delay while the re-planning
process occurs, causing the modified plan to possibly become obsolete before it is
implemented. This latter feature is a major disadvantage with this type of control
architecture.
The other criticism of this type of architecture is the process of converting sensory
data into internal symbolic notations. Researchers such as Brooks (1991b) argue that
humans do not process sensory information in this manner (I only wish to note the
conectionist V s symbolic argument but not become embroiled in it in any way).
In summary, plan-then-execute architectures improved the performance of IA V s
by introducing the ability to plan many steps in advance to solve problems. Nevertheless,
opponents of these architectures have cited their symbolic approach and the slow speed of
a planner's assessment, execution, reassessment and re-planning
8
process as major flaws. For this reason, some members of the IA V community continued to
look for other possible control systems.
2.1.3 Subsumption Architecture
In the eighties, Rodney Brooks re-kindled interest in the reaction-based method of IA
V control by publishing papers outlining the development of subsumption architecture
(Brooks 1986; Brooks 1990b; updated version in Brooks 1991a). Brooks designed a layered
architecture which enables an IA V to respond to sensory input from
an environment with fixed, simple reactions. Brooks and collaborating researchers
claim to have improved the reaction-based systems by replacing the traditional AI
modularity approach, outlined in Figure 2.5, with a behaviour-based, layered approach, show
in Figure 2.6.
Sensors I
V Perception Manipulate the World
Modelling Build Maps
Planning Sensors ----> Explore ----> Actuators
Task Execution Avoid Hitting Things
Motor Control I V
Actuators
Locomotive
Figure 2.5 Figure 2.6
This layered approach entails no implicit separation of data and computation.
Brooks implements these architectures as "networks of message-passing augmented finite
state machines (AFSMs)". An example of one such network is shown in Figure 2.7. Lower
layers in the network take control of the vehicle's actuators by suppressing higher layers in
some situations. For example, if an IA V moves too close to an obstacle, the obstacle
avoidance procedure takes control and suppresses the output of
9
Find Infra-Red I
Module
Obstacle UltraSo
Avioadance
Sensor
Reflex Module _Bumper
Bars
all higher layers. At any instance, only one behaviour has control of the vehicle's
actuators. This feature could be likened very loosely to attention. Applications of
subsumption have involved the use of both multiple AFSMs per behaviour and multiple
layers. Shared registers facilitate communication between the AFSMs.
Stepper Motors
nfra Sensor
und
Figure 2.7
The designers of subsumption systems contend that their approach offers at least
three advantages over previous models. First, subsumption enables IA V s to
function in uncertain environments. The display of this ability by Genghis and Genghis
II, robotic ant projects developed at MIT (Brooks 1989), attracted the attention of the
popular press (Taylor 1994). While reporters who have highlighted these IA Vs for the
public frequently fail to account for the subtleties and limitations of present AI research,
Genghis and Genghis II are two of the most high profile applications of this architecture.
A second high profile project, the NASA planetary roving vehicle, likewise employs a subsumption-based system to enable vehicles to navigate on
uneven, moon-like terrain (Gatt 1993). The adaptability of subsumption may likely arise
from the reaction-based design of this architecture.
10
The layered approach of subsumption is said to provide the second major
advantage - it facilitates the highest level of integration between the features of the
architectures thus far described. Although Brooks was not the fIrst person to use a layered
approach, he and his collaborators did rekindle interest in this design, and Brooks in
particular expounds on the advantages of the layered approach. He writes:
The behavioural competence of the system is improved by adding more behaviour-specifIc network layers to the existing network. This process is called layering. This is a simplistic and crude analogy to evolutionary development. As with evolution at every stage of the development the systems are tested. Each of the layers is a behaviour-producing piece of network in its own right, although is may implicitly rely on the presence of earlier pieces of network (199la: 1229).
While one might not discuss the functionality of layered approaches with the same bold
confidence as has Brooks, this design nonetheless has provided one of the most successful
avenues for the integration of features of the architectures yet developed and widely tested, though this is not to say that the layered approach necessarily will
feature in the architectures of the future.
The third advantage, according to Brooks, is the absence of an abstracted model
of the world represented by symbolic means. Brooks contends that no human created
abstraction could accurately mirror the actual world in which an IA V must
cope, and hence the elimination of a reliance on symbolic abstraction could permit an IA
V to better assess and respond to its surroundings. Even so, a careful reading of Brook's
own descriptions reveals that even he has not entirely escaped the need for some symbolic
representation, albeit in a lesser quantity than required by some other architectures. The
methods for achieving such behaviours as compilation of maps which Brooks describes (1986; 1991a) would require some form of internal
representation to be shared between behaviours if they are implemented.
Critics of subsumption frequently condemn the occasionally outlandish claims
designers have made about this architecture. Beyond rejecting the excesses of the
subsumption camp, critics also have highlighted four principal shortcomings of this
11
approach. It was noted that the original architecture described by Brooks (1986)
lacked a means of representing time or a time delay, and, second, that there was no
way to combine the inputs or outputs of several behaviours. Brooks rectified these two
problems in an updated version of this architecture (Brooks 1989a and 1990b). In the
revised architecture, Brooks provided flxed duration monostables to deal with time in
each of the individual AFSMs. Brooks redressed the second problem by feeding the
values of the registers within AFSMs "into a local combinatorial circuit to produce
new values for registers or to provide an output message" (1991a: 1229). Additionally,
Brooks introduced a behaviour language to describe systems to be implemented in the
subsumption architecture (1990a). Two of the principal shortcomings, however, remain. Subsumptio
n
architectures still require a predeflned, flxed hierarchy of behaviours which have
either a top down or a bottom up order of control. An inflexible hierarchy may suit
situations where only a single high level task is required, but the hierarchy has to be
reordered for a second high level task. Diverse tasks such as walking or picking up a
pencil require different hierarchies of behaviours. A second yet unanswered criticism
highlights the inability of IA V s controlled by subsumption to conduct whole sale
interpretations of their world at any stage. Not all researchers agree that whole-sale
interpretations are needed, but the critics generally concur that the Brooksian design
does not facilitate a sufflcient level of environmental interpretation. Although the
development of subsumption architectures may have been a good move in the right
direction, the continued problems have encouraged some researchers to look at other
avenues, detailed in the next three sections.
2.1.4 Combined Architectures
Other researchers have attempted to overcome the problems of controlling IA
V s by using architectures which combine both the plan-then-execute and reaction
based approaches to navigation. Lefevre (1994) details one such experimental
architecture designed in Europe, called ALICE. As Figure 2.8 shows, ALICE offers
12
I \ I V I
Navigation / I I \ I
V I Reflexes / I
I \ V
Actuators
the potential for capitalising on the advantages of both earlier systems - the world
interpretation performed in the plan-then-execute architecture, and the adaptability of the
reactive obstacle avoidance system.
' ___________World modelling /\ I I I I
Sensors
Figure 2.8
Gat has developed similar architectures for NASA (1993). Nevertheless, this
combination of approaches retains some disadvantages of both earlier systems, such as a
fIxed order of hierarchical control and the slow speed of sequential world modelling. This
dissertation offers a further possibility by combining a high level non-liner planner with a
subsumption architecture, an approach not widely reported, if reported at all, in the present literature.
2.1.5 Non Symbolic Methods
While many AI researchers may not work with subsumption itself, much
present research involves the modifIcation and adaptation of reaction based control
architectures. These modifIcations may be grouped into two broad categories: non-
symbolic methods and self-organising architectures. This subsection considers the fIrst of
these general groupings, the non-symbolic methods, which include connectionist
approaches and fuzzy logic. Several research groups have experimented with connectionist approaches, that
is, the use of simulated neural networks to endow IA V s with the capacity to engage in
obstacle avoidance. Cliff et. al. (1992) and Gachet et. al. (1993) provide some
13
examples of this work. Connectionist approaches have produced some promising results;
however, the present work tends not to combine more than two types of behaviours.
Secondly, simulated neural networks require extensive design labour, and, as yet, have
only succeeded in achieving results which could also be implemented through less
complicated standard programming techniques.
•
A second major non-symbolic method entails the use of fuzzy logic to produce
and regulate behaviours. Some researchers have tested fuzzy logic to implement single
behaviours. Beom et. al. (1992), for example, used this method for obstacle avoidance,
and Baxter et. al. (1993) applied fuzzy logic to improve IAV navigation. C. Voudouris
expanded on the use of fuzzy logic in his MSc dissertation (1993) to permit individual behaviours to serve as inputs for other behaviours. This modification
enabled Voudouris to design a layered approach possessing the capacity to combine the
outputs of behaviours. An example of this work written in the systems definition language
is shown in Figure 2.9.
rules begin if dmin NEAR then ObsticalAvoidance if
dmin FAR then Goals ObstiacalA voidance begin
if dl==VN and d2==VN and d3==VN and d4==VN then Vleft:=NS and Vright:=NS if dl==VN and d2==NE and d3=NE and d4==VN then Vleft:=PS and Vright:=PS
end Goals begin
if energy <= 20 then go_to_charger if energy> 20 then do_jobs go_to_charger
begin
end do_jobs begin
end end
end
Figure 2.9
14
The further development of fuzzy logic systems, reported in Voudouris et. al. (1994), has
yielded some impressive results. This work has equipped IA V s with the ability to make
smooth transitions between the execution of different behaviours. Nevertheless, fuzzy
logic systems require a predefined and inflexible ordering of behaviours for the
performance of tasks. The Voudouris system in its present design suffers two additional
defects; it lacks both internal mapping systems and the capacity to store memory of an IA
V's previous movements. As a consequence, IA V s on which a fuzzy logic controller is
implemented tend to get stuck in dead ends easily. While both connectionist approaches
and fuzzy logic systems have generated some promising results, non-symbolic methods,
like the other previously described approaches, would need considerable improvement to
facilitate significant advances in IA V research.
2.1.6 Self-Organising Architectures
Self-organising architectures have gained prominence since November 1994,
during the production of this thesis. Researchers developing this method have sought to
empower IA V s to modify their own architectures in response to information gathered
from the environment and stored in memory, as well as to interact with human
programmers, who act as "parents" or "teachers" for the IAVs. Researchers argue that
humans still lack sufficient understanding of their own thought processes to even
approximate a model for an IA V to emulate (Lewin 1994). Instead, these researchers
have sought to equip IA V s with the ability to design and modify their own architectures
(Brooks 1991a). The IAV would gain intelligence through this process of learning.
Two groups working in this area of IA V architectures have gained pUblicity in
both the scientific media and the popular press. The well funded and high-profile Cog's
project of the Artificial Intelligence Laboratory at M.LT. pursues the ambitious objective
of "building brains for bodies" or humanoid upper torsos (Brooks and Stein 1993; Lewin
1994). It is difficult to evaluate the success of this project at present, as the majority of
published references announce the goals rather than detail the results of
15
this work. The second group, at Sussex University, has developed a neural network IA V
control system using genetic algorithms which employ a process of natural
selection to choose the more successful modifications for an architecture. The Sussex
group has generated some potentially promising results in the area of obstacle avoidance,
but, as yet, their work has been implemented only on an IA V simulator and
not on actual lAYs (Cliff et. al. 1992)1. The Sussex group has also experimented with a
simulated vehicle control architecture which uses visual input (Cliff et. ale 1993; and
Harvey et. ale 1994). This latter application has produced very interesting results,
though the visual research falls outside the scope of this thesis. Self-organising architectures
potentially offer one of the ways forward in IA V control, though a great . deal more work
will need to be done which will not necessarily follow on from the two previously described projects.
2.1.7 Summary
As the previous sections indicate, the IA V research community has not reached
a consensus about the direction that future research should take. Each of the methods
discussed, both old and new, has strengths and weaknesses. Different groups favour
different varieties of architectures, and some researchers continue to search for new
methods. After reviewing this literature, I have reached the conclusion that layered
approaches, the flexible ordering of behaviours, and the ability to combine the outputs of
behaviours are the most important features to be included in any architecture.
2.2 Mapping Systems
My thesis research additionally encompasses a second area, the design of
systems which enable IA V s to construct maps of their environment. This next section
covers the major topics in this subject area. Additionally, I discuss the directions in
which I think this research should be going.
IThe Sussex team has recently ported their work onto IAVs, although these results remained unpublished during the production of this document.
16
2.2.1 Geometric Mapping and Dead Reckoning
The maps that were initially used in IA V control systems simulated the way many
scientists believe humans draw maps of the world - using a top down cartographic format.
For some reason, the computing world calls this format a geometric rather than a
cartographic map. An IA V using such a system measures objects in relation to the exact
angle and distance from a specific point. In the early work with geometric maps,
researchers programmed a pre-produced map into the IA V to aid the navigation of the
vehicle. Researchers have subsequently adopted a variety of means to attempt to empower
IA V s to produce their own geometric maps based on their exploration of their
environment.
Experiments soon revealed that the inaccuracy of an IA V's sensors make the task
of mapping a room in this way, let alone a world, extremely difficult. Factors such as
minor inconsistencies in wheel spin have compounded mapping errors as vehicles have
attempted to calculate distances and move to locations recorded on their maps.
The occupancy grid mapping system developed by Elfes (Blfes 1989a; 1989b) is
one practical example of this type of mapping system. This system converts ultra sound
information (which is both noisy and error prone) into a probabilistic map. The system
stores this information in a grid format of probabilistic information which allows the IA V
to determine if a given spot on a grip contains an object or is free. This system still suffers
from positioning problems, as the system uses dead reckoning.
2.2.2 Landmark Mapping
More recently, researchers have been looking for an alternative way for an IA V
to ascertain its position in a world. One possible method of doing this is by using
recognisable objects in the world as landmarks. Currently I have found no papers
reporting on systems which create maps of landmarks, but Saburo & Shigang (1993) have
developed a system to recognise landmarks from visual input. Other researchers,
17
such as Lazanas & Latombe (1993) and Bonasso et. al. (1993), have designed or
implemented systems which navigate either to or between landmarks.
2.2.3 Topological Mapping
Topological maps connect several landmarks together. Zimmer and
Puttkramer provide a description of this form of mapping (1994b), though during my
research, I have not found any articles reporting on its implementation. Figure 2.10 shows an
example of a completed map.
Figure 2.10
2.2.4 Summary
In summary, these three types of mapping systems hold promise for future AI
research. No doubt, further work will be done in this area.
18
2.3 Planning Systems
There are several different behaviours which collectively come under the heading
of planning systems. This section concentrates on two major types of planners: path
planners, which have obvious applications for IA V s; and non-linear planners. This
chapter also covers planning to plans, a method of planning in which the details of the
plan are determined as they are actually required.
2.3.1 Path Planners
Virtually all variants of path planners represent navigable space in a form which,
theoretically at least, allows the planner to come up with a plan of action to reach a goal.
Early path planners tended to represent the layout of a world as a large grid of lateral and
longitudinal lines, called a Manhattan grid, created by the imposition of a grid on a
geometric map. Search algorithms used this grid to find the best route to any given
location. The vehicle would follow the chosen route to achieve its goal. Zimmer &
Puttkamer (1994b) report that Manhattan grids have four major limitations. (I) These grids
limit the IA V to select one of only four possible directions for
movement. As a result, the vehicle follows a choppy path to a goal.
(2) These grids require a very accurate, predefined map of the environment. As a result, the
IA V is unable to handle changes in its environment.
(3) This method requires extensive time to find a suitable path. To redress this problem,
some researchers, such as Scott (1988), have incorporated machine learning into
Manhattan grids so that the search planner remembers well used paths.
(4) The grid has difficulty representing free space.
In the next stage of mapping development, researchers abandoned the simple
imposition of a grid over a geometric map and changed the mapping systems so that they
would more easily facilitate path planning. Brooks (1983) describes one of these
transformed mapping systems, and Kuan (1985) details a refined version. The refined
19
b.
system represents navigable space in world as a series of polygons, such as those shown
in Figure 2.11.
000000000000000000 000000000000000 000000000000 000000000 000000 000
000000000000000000 000000000000000000 000000000000000000 000000000000000000 000000000000000000
00 y
X 000000 0000000000
00000000000000 00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000 Figure 2.11
The planner searches for routes through the polygons to find a path to a goal.
D. Miller developed a third system for NASA (1993). Miller's method
represents the world as a field or map of Navigation Templates (NaTs) which indicate
the path to a goal which avoids obstacles. Figure 2.12 provides an example of such a map.
~"':"~~"""~~~~~,""",",,~ ",004 '( .~ y ~"'~~"'''''''>';JP">-~ ::...~ .•. ~~ ..••. ~ ~~ ..•• -'o....a... .••.. , " "C '( "C ,;.c ~ ~~~ ~ ::... ~ .•. ~~.).~...a...~~ ,-' ,~",,",~" ~ '~~>"">~"")/II> .-.. ~~Jo.."A..::"''-''..lt. "'~~~-'o.~~", ~ Y , ,..lI. ...•• ~ ~ ·~~.).~.).~~~~~~~'~~f > .•. >.>~ .•...•...•. D' . N T-.-.. •. ~~ ~ .• .----- .•. ~ .•. lreCUOn s- a *" .-..~),.""'" ......•.. ,...,.p)/ll>>>>,... .lI...~A.."'.lo. .••...•• .lI... •. .lo..lJo.. .•. .lo. lJo..~)o"." ).. .•• ...a... .•..•. _ ,...,_ ___________________________________________••
~~~~">-~ ••• >~ .•. ~~~~~ ~ •••. ~ .•. ". P"Y ~ ""'Y'}ry .,.. """)r ~~ ..•.. ,..,..> ~~ . __ ._- _., _ .•.. .,.. ~ ~.,...,.. ~""'""Ii'7..."-:r..,, ~ ""'~"""''''''''''''''~7777r-r.., .,.. ~ ~ " ~..,.. .,.. '7'."...., ~., ...,., ." .,. ,.."..."..,.~...,..."..., .,., .,..,., .•. ..".,...,...,...,....,...,~...,~..,,~ 7...,. 7.." -r .,...., Y'7' ;r..".T.,~~1'-r.., ~ • .,.,~ 11 ~.~.,r ."".T~.."-r..,,
Figure 2.12
20
Zimmer, Fischer & Puttkamer (1994) report on very similar work completed
using connectionist methods and a Boltzman machine as its basis, though, at its
foundation, this approach is another way of representing the work completed by Miller.
I have not found any instances of path planners being used with topological maps. Some
researchers have used simple search algorithms on these types of maps, though the use of
path planners on topological maps may be tried in future research. Future work will
include efforts to redesign representations of the world which facilitate easier path
planning. Maps developed to date tend to have an obsolescence problem, that is present AI
methods do not equip mobile vehicles to adjust maps at the speed of change in dynamic
environment. Future research will also likely focus on methods for improving the speed of
map adjustment.
2.3.2 Non-Linear Planners
Sacerdoti (1975) fIrst proposed non-linear planners. Tate (1977) later
expanded on the design, and other researchers have since devised further improvements.
This planning technique connects operators together to form a plan which will complete a
goal. Non-Linear planners complete this task with a minimum commitment to a liner
solution. An example of this process is shown in Figure 2.13.
Developed as an extension of linear planning, non-linear planners have been
introduced to overcome such problems such as the Sussman anomaly. The work by Fikes
and Nelssion (1971) on STRIPS is a seminal example. Many researchers in the AI
community now consider non-linear planners useful for general purpose planning.
Non-linear planners offer a major advantage over path planners in that the former
can schedule sequences of tasks. Nevertheless, non-linear planners have difficulty coping
with rapid and unexpected changes during the execution of environmental-based tasks.
21
Initial State'
Operator 1 Goal State
a a c c
b d
Step 1 Step 2
Initial State' Goal State
a
c
b
d
Operator 1
Step 3 a c
Initial State' Goal State
a Operator 2 c
b
b
d
d
Figure 2.l3
2.3.3 Hierarchical Planners
Some planners produce plans which have a hierarchy of abstraction.
Hierarchical planners can expand operators in one level of a plan into more detailed layers.
Sacerdoti (1971) describes this feature for non-linear planners (though other types of planners
may also use a hierarchical structure). An example such expansion follows in Figure 2.14.
Goto London
into
Goto Colchester Train Station Buy Ticket Board Train Travel to London Get off Train
Figure 2.14
This feature has obvious potential uses for mobile vehicles.
22
2.3.4 Planning to Plan
This process of planning to plans encompasses efforts to equip mobile vehicles to decide
how to plan, and when and where to perform planning tasks. In the previously considered
example of making a journey to London, the initial level of planning produced only the
outline shown above. The individual planning events of expanding these goals takes place
at a later stage. Planning to a plan occurs when a step in the plan requires further planning.
Although Munson (1971) completed the initial work on this subject more than two decades
ago, researchers now are returning to this area (Steel 1994).
2.4 Attention
The literature on the current architectures reviewed above describes work which either has
not required the sharing of resources or has been inherently parallel. While attention has
not been implemented as a module, some architectures have produced a form of attention
as a side effect of operation. Some recent work, including Scott (1994), has focused on this
area with a view to using a multi-tasking operating system to share resources. Other
researchers, like Brooks, have tried to focus a vehicle's attention on a process by
introducing "hormone" values which impact the performance of all behaviours. Brooks
claims this process' improves a vehicle's operation by enabling researchers to introduce a
form of attention mechanism into a distributed collection of processing agents.
2.S Summary
The proposal of resolutions to the debates over the most productive strategies for
improving the design of architectures, mapping systems, and planners, as well for
incorporating such features as attention into the programming for intelligent mobile
vehicles, lie far beyond the scope of this project. Three points raised in this chapter will be
considered in more detail. These are Reaction based , Subsumption and Combination
Arcitectures
23
Chapter J
An Implementation of a Reactionary lAY Architecture
Contents
3.0. Introduction 3.1. Vehicle Developed 3.2. Software Developed 3.3. Experimental Results 3.4. Future Work 3.5. Summary
3.0 Introduction
The summer leave taken by a member of staff in August caused a delay in the
implementation of my work on the departmental vehicle, Ford. However, the delay
provided an opportunity for a further extension of my ideas. During two weeks of this
delay, I designed and built a small mobile vehicle, shown in Figure 3.1. This vehicle is
controlled by a single layer reactive control system which enables it to move around its
environment with out damaging itself. The simplicity of this design permits assessment of
whether a reaction-based control architecture could be operated successfully on an
economical machine. The work completed at M.LT. and detailed in Brooks (1989) provided the initial inspiration for the design of an experimental rodent-like vehicle.
24
Nevertheless, there are two major differences between this vehicle and Brooks' work. First,
the MIT vehicle uses a sUbsumption control architecture; and, second, Brooks created a more
complicated, six-legged vehicle. Brooks reported in a 1994 Radio 4 interview that );ASA is
now considering the possibility of deploying an improved version of the .Y1.I.T. vehicles to
prepare ground for the construction of a planetary station on the moon or Mars at some future
time. I sought to determine how successfully this work could be completed using far simpler
designs for both the vehicle and the control architecture. This chapter details the development
of the mobile vehicle, shown in Figure 3.1, then of the control architecture. Finally, I discuss
the results of my experiments, and elaborate on the potential future developments of such a
mobile vehicle.
Figure 3.1
25
3.1 Vehicle Developed
The mobile vehicle illustrated in Figure 3.1 consists of an aluminium base plate
with four 1.5 volt D.C. motors, a 4.5 volt battery pack, and a circuit board which controls
its movement. Two micro switches attached to both the front and rear of the mobile
vehicle provide sensory input. Extensions of these switches enable them to act as
"whiskers" for the vehicle.
The control circuitry, developed in conjunction with Malcom Lear, is based
around the NEC 27** range of EPROMs. The use of an EPROM as the base for a
controller enables a direct mapping between the vehicle's "whisker" readings (which feed
into the EPROM's address lines) and the vehicle's motor control (which feed from the
EPROM's data lines).
Figure 3.2 displays the full circuit diagram for the controller. The important
agents of this circuit arrangement include the following:
a. A clocked buffer (74HTC574 and 74HC14) in the circuit allows the output data lines
to feed back into the input address lines as a way of representing the internal states of
the vehicle. This enables the control architecture to remember the direction the motors
are going when the vehicle makes contact with an obstacle. The additional four data
output lines also can similarly represent additional internal states.
b. The presence of spare quad gates on the clock chip (74HCI4) allows an additional
clock with a delay time of approximately one second to be supplied to address line All
of the EPROM (for use by the software programmer). This clock is reset by the
trailing edge of an inverted pulse from data pin D4 of the EPROM.
c. Four L272N dual power op-amps, connected as shown in Figure 3.2, perform the
directional control of the motors. The direction of the motors is dependent on the
differential between points A and B shown in the diagram. The circuit, in essence, acts
as a bridge.
d. All unused inputs to the EPROM are pulled to Zero when not in
use. The total cost of the completed hardware was under £20.
26
l
~
Ats AI. All
~
AI2 -L2
AI1
AM
OM
011 Ots
012 01. CI() • OIl
012 081 D.
OM
~
GI() CK 11
-L3
c.d.e.f.g.
Figure 3.2
27
3.2 Software Developed
This section describes the software developed for testing the vehicle.
Programming is based on the placing of data in the EPROM's 8 bit memory locations.
This design functions similarly to a large lookup table of all the possible combinations of
inputs. As the end result of the programming is a large table of hexadecimal numbers, I
will describe the developed software in the form of a set of production rules.
A simple reactive control architecture formed the basis for the design of the
test software for this vehicle. This software, shown in Figure 3.4, instructs the vehicle
to constantly move around a room, and to change direction whenever it senses an
obstacle.
IF front_ whiskers NOT pressed AND back_ whiskers NOT pressed THEN go_current_direction
IF front_ whiskers ARE pressed AND back_ whiskers NOT pressed THEN go_backwards
IF front_ whiskers NOT pressed AND back_ whiskers ARE pressed THEN go_forwards
IF front_ whiskers ARE pressed AND back_ whiskers ARE pressed THEN go_spin
Figure 3.4
As the directional output to the motors is constantly fed back into the EPROM,
the software always has knowledge of the direction in which the vehicle is travelling.
This feature instructs the vehicle to proceed in the same direction as long as the
whiskers do not come into contact with an obstacle. This very simple aim did not use
several of the hardware features (such as the slow clock and four additional buffered
internal state bits). These additional features permit the future implementation of a more
complicated program than the one that I have designed for this project.
28
Outcome
1 Movement without problem
2 Movement without problem
3 Movement without problem
4 Movement without problem
5 Movement without problem
6 Movement without problem
7 Got stuck in dead end
8 Movement without problem
9 Movement without problem
10 Movement without problem
Figure 3.5
Appendix B lists the final hexadecimal address map for this code. This address
map is about 10 times the size necessary, as the EPROM selected for this project was in
excess of requirements to allow for future expansion.
3.3 Experimental Results
It is extremely difficult to plot the operational results of a mobile vehicle experiment for
comparison with a simulator experiment, as there is no easy manner of recording the path
that the vehicle takes. For this reason, I evaluated the performance of the vehicle by
running several five minute experiments, and recording which of the following three
outcomes occurred: (a) the vehicle became stuck in a dead end; (b) the vehicle
experienced a mechanical failure; or (c) the vehicle continued move within the room
without a problem. Figure 3.5 below records the outcomes of ten experiments
As expected, the system performed very well, completing its task of wandering
around the room without problems on most occasions. These results could be attributed to
simplicity of the software, hardware, and control architecture. On the one occasion in
which the vehicle experienced an unsuccessful outcome, the vehicle
29
became stuck in a confined area and oscillated between two different reactions. This
oscillation may be an inherent feature of a pure reaction-based architecture. The inclusion
of an internal state in the architecture may possibly cure this problem.
A second drawback of this control architecture is the presence of only one layer of
control. This means that if the vehicle avoids obstacles, it cannot perform other
behaviours, such as achieving a goal, at the same time.
3.4 Future Work
This simplicity of this vehicle is very attractive, and has inspired several ideas for
future development. The first two points below have high priority and are likely to be
completed.
1. The development of a command language and compiler to enable faster and more
efficient production of code for the vehicle
2. Provision of additional sensory abilities, possibly either infra red or light sensors, to
enable the system to have a higher level goal.
3. Investigation of how co-operative behaviour could be achieved between multiple
vehicles to satisfy a goal.
4. Introduction of learning (andlor some form of evaluation) through genetic algorithms
so the vehicle could self describe its own control code or engage in some form of
internal learning.
At present, only two of these vehicles have been constructed. Production of more vehicles
with the enhanced sensory capacity would be necessary to complete the last two goals.
3.5 Summary
This chapter shows how a simple mobile vehicle with a reactive control
architecture can successfully perform a single task, such as obstacle avoidance. This
simple and extremely cheap hardware can be rapidly developed for mobile vehicle
30
experiments. This hardware additionally allows for the possibility of a range of future
developments.
31
Chapter 4
An Implementation of a Subsumptjon lAY Architecture
Contents
4.0. Introduction 4.1. The Hardware Sensor Details
Hardware Modification Details 4.2. Subsumption Software Developed
Reflex Module Obstacle A voidance Module Wall Following Module Find Infra Red Beacon Implementation Details
4.3. Experiments Performed and Their Results Comments of the Performance of the Vehicle Comments on the Performance of Subsumption 4.4. Future Work 4.5. Summary
4.0. Introduction
architecture developed by Brooks (1986) on one of the departmental Marvin vehicles.
This chapter details an implementation and re-evaluation of the subsumption
The chapter first includes a brief deSCription of the Marvin autonomous vehicle, Ford,
used as the base vehicle in both this and the following chapter. This description
32
highlights the vehicle's four types of sensors, and modifications made to the hardware to
improve its sensory input. The second section details an implementation of subsumption
architecture. This section considers the degree to which subsumption enabled Ford to
perform the following four behaviours: reflex action; obstacle avoidance; wall following; and
sensing infra red beacons. The second section additionally details the integration of these
behaviours to form a unified control architecture. The third section lists the experimental
results, and the fourth considers the implications for future work suggested by these results.
Fmally, I summarise the conclusions I have reached from the work in this chapter.
4.1 The Hardware
The Marvin vehicles, developed in the Computer Science Department at the
University of Essex, are mid-sized mobile vehicles built as platforms for a MC68030 based
VME computer system. Figure 4.1 pictures Ford, the vehicle used for the majority of these
experiments.
Figure 4.1
33
Ford is battery powered and has two stepper motors which provide directional
movement. A parallel input/output board provides an interface to most of the vehicle's
sensors, and also contains a clock which can be reset and can create interrupts. These
interrupts are used by the standard operations which are described in more detail in the
section 4.2. The vehicle has a neck to which a third stepper motor that powers a spinning
platform is connected.
4.1.1 Sensor Details
The Essex Marvin vehicles currently have four types of sensory equipment which
read input from the environment:
a) Four bumper bars protrude from the base of the vehicles in a circular pattern. If any of
the bumpers makes contact with an object, the processor interrupts the motion of that
vehicle. These bumper bars effectively and reliably stop vehicle motion should other
sensing systems fail.
b) Four ultra-sound range detectors are positioned in the front quarter of the vehicle.
Each has an arc of approximately 20 degrees of sight, providing a total of around 80
degrees of coverage. The sensors have a sensitivity in which one ultra-sound step
equals 1.66 centimetres.
c) A spinning infra-red pulse detector is positioned on top of each vehicle's neck.
When combined with software, this sensor both differentiates between any number of
infra-red beacons placed in its environment, and detects the angle of each beacon
from the vehicle's centre line. Reading have a potential five degree error.
d) The final sensor, a small camera, feeds input to a frame grabber card. Staff in the
Computer Science Department at Essex developing this sensor had not completed the
design and implementation in time for its inclusion in this project.
The software developed at Essex for the Marvin vehicles relies primarily on input from
the ultra sound sensors for obstacle avoidance and wall recognition. The infra red
bearings facilitate pursuit of higher level goals, such as locating beacons. The cameras
will similarly expand the capacity for task performance in future projects.
34
4.1.2 Hardware Modification
The Marvin vehicles experienced difficulty in consistently avoiding obstacles
during the initial implementation of the subsumption architecture. I speculated that the
vehicles lacked sufficient data from the ultra sound sensors to interpret their
environments, and elected to attach an additional ultra sound controller board to one of the vehicles (Ford). The new board doubled both the number of sensors and the
scope of the input coverage. Figure 4.2 details the positioning of these new sensors, and
Appendix E indicates the address of this board in the vehicle's memory map.
14cm 1 8cm
14cm 8cm 1
13451 12 1 61 1 1 1 11 _____________1, _____________71 1
1
1
1
1
14cm 7cm
22 cm
_____ 8 _________________
( Numbers 1 to 8 are the positions of the ultra sound transmit and receive pairs)
Figure 4.2
This positioning necessitated a ten degree dead area between each pair of ultra
sound sensors to stop interference or cross readings. This gave the vehicle virtually full
coverage of the front half of its operating environment. A single ultra sound
sensor provided some data about the space to its rear. Even with these modifications,
the ultra sound sensors still only provided incomplete information about the
environment. The use of another type of sensor, such as vision, as the primary source
of information, will likely improve the results of future research.
35
Find Infra-Red Jnfr
Module S
~ Obstacle UltraSound
- Avioadance
Sensor
Reflex Module Rumper
Bars
4.2 Subsumption Software Developed
This section details the subsumption architecture produced for this project.
This architecture includes four AFSMs, each of which represents a different behaviour.
These AFSMs operate together in the network shown in Figure 4.3.
Stepper Motors
a ensor
Figure 4.3
The next four sub-sections detail the individual AFSMs, to which I will subsequently
refer as modules.
4.2.1 Reflex Module
Upon receiving an input from one of the vehicle's bumper bars, this module
suppresses all other control of the vehicle's motors and causes the vehicle first to stop,
and then to move approximately 10 em in a direction away from the object with which
it made contact. The software then removes the suppression, enabling other behaviours
to take back control of the motors. This operation positions the vehicle so that it can
rotate freely to any orientation required. This software is implemented in 'C', using a
modified version of the standard bumper interrupt handling routines I.
IThis process has also been implemented using a three layer neural network model, using the PDP software developed by 1. McClelland, et. al. (1989). The PDP approach was not used in the final project as it requires more processing while offering no advantages over the procedural approach.
36
4.2.2 Obstacle A voidance Module
This unit, which gathers input from the ultrasound sensors, avoids obstacles in a
reactive manner. This module suppresses the output of other modules when the vehicle
moves within a close proximity of an object. One example of such a reaction follows:
Input: The vehicle's front-left ultra sound sensor detects an obstacle at a distance of one
metre.
Output: The unit slows the rotation of the vehicle's front-right wheel in correlation to the
distance between the sensor and the object, while keeping the speed of the left
wheel constant, causing the vehicle to veer right.
When the sensors no longer detect a nearby object, the software lifts the suppression, and
control reverts to the higher level unit. This module is currently implemented in 'C' in a
procedural style.
4.2.3 Wall Following Module
I implemented a wall following module as two separate functions. The ftrst
function created an ego-centric map of the vehicle's immediate vicinity. The second
function enabled the vehicle to follow a wall by using this map. Originally, I tested two
different geometric wall recognition routines, developed in conjunction with Steve
Brains, a mathematics graduate (detailed in Appendix I). When Ford operated with these
geometric routines, it successfully followed walls only 50 percent of the time. After
checking the ultra sound readings, measuring the distances to the wall, and calculating the
expected results, I concluded that the inaccuracy and unreliability of ultra sound sensors
contributed to the high number of failures. Instead, I implemented the wall following
module using a far more simple and reactionary method, described in Figure 4.4.
37
IF object IS meduim_distant THEN SUPPRESS higher_level_behaviours tum_parallel_to_object REPEAT
IF going_to_an_object THEN corect_to _parallel_course IF going_away _from_object THEN corect_to_parallel_course IF parallel_to_object THEN go_straight
UNTIL object NOT medium_distant REMOVE_SUPPRESION
ENDIF
Figure 4.4
This third algorithm causes the vehicle to follow the walls of obstacles while
keeping a constant distance away from them. Unlike the previous two algorithms, which
require three correct ultrasound readings at any point in time, this algorithm
requires only two correct readings. Using the third algorithm, Ford successfully followed
walls in 70 percent of trials. This algorithm provided a sufficient degree of
efficiency for the continuation of trials for this project, though it would likely generate
better results if implemented on a vehicle with enhanced sensory capacity.
4.2.4 Find Infra Red Beacon
This module, the highest in the hierarchy of the implemented modules, directs the
vehicle to find a given infra red beacon. This module controls the vehicle if no other
module in the hierarchy is active. The slow scan speed of the infra red sensor slows the
operation of this module. As a result, the current bearings quickly become out of date.
Reducing the speed of the vehicle's movement to one-fifth of its maximum speed allowed
the sensors to hold a reasonable level of accuracy. The speed reduction permitted this
module to perform correctly and guide the vehicle directly and smoothly to its goal.
38
4.2.5 Implementation Details
Each module was initially implemented as a separate unit in an integrated
processes, with operating system priority increasing as the hierarchy was ascended. This
implementation method proved problematic, as the time taken by the operating system's
tasks caused the scheduler to starve important behaviours, such as obstacle avoidance, of processor time - with predictable repercussions.
A second strategy of implementing all of the individual processes in a hierarchy
of IF statements proved more successful. This hierarchy is shown in a section of pseudo-code listed in Figure 4.5.
REPEAT IF obstacle is close THEN aviod_obstacle
ELSE IF obstacle is distant THEN follow _ wall
ELSE IF no_obstacal THEN
follow _infra_red_becon ENDIF
ENDIF ENDIF
UNTIL
Figure 4.5
This second implementation strategy using IF statements generated a more
predictable performance than its predecessor. This approach worked because only a small
amount of processing time was required for each of the modules, although parallel
execution would be required if the processing time of any of these modules was
increased. Appendix G lists the code for the second implementation strategy.
4.3 Experiments Performed and Their Results
Ford was placed in a series of varied environments containing differing sets of
obstacles to ascertain the proficiency with which this mobile vehicle could locate a
39
Outcome
1 Reached goal
2 Reached goal
3 Stuck oscillating between behaviours
4 Reached goal
5 Reached goal
6 Reached goal
7 Reached goal
8 Reached goal
9 Stuck oscilating between behaviours
10 Reached goal
specific infra red beacon. The operation of the subsumption architecture and the test
conditions provided in the laboratory prevented the vehicle from reaching its goal, as the
obstacle avoidance behaviour did not allow direct contact with the beacon. This failure
indicates one of the limitations of this fixed-level architecture. Because of this problem, an
arrival within 50 cm of the goal was considered a success for this experiment. Appendix H
presents hand plotted maps of the paths the vehicle took to achieve results. Experimental
results have been tabulated as a ratio of successes (when the vehicle found the infra red
sensor) and failures. In the case of failure, the reason for the failure was recorded. Figure
4.6 displays the outcome of ten such experiments.
Figure 4.6
The features of Ford's performance during these experiments deserve further
comment. I have split this commentary into two sections, discussion of the performance of
the vehicle, and discussion of the performance of the architecture.
40
4.3.1 Comments on the Performance of the Vehicle
Two difficulties which arose during the experiments conducted for this chapter
resulted from sensory limitations in the present Marvin vehicles.
a. The major problem with the vehicle was the performance the ultra sound system at
detecting obstacles under certain circumstances. These problems mainly occurred
while the vehicle was following a wall and one of the ultra sound sensors failed to
detect the wall, causing erratic behaviour. Also the obstacle avoidance module had
problems.
b. On some occasions, the infra-red scanner failed to detect a beacon and produce an up
to date beacon heading, and the vehicle remained on course for an old infra-red
beacon reading.
These two problems with the sensory abilities of the Marvin vehicles have reinforced my
own conclusion that a combination of bumper bars and computer vision will improve AI
sensing abilities.
4.3.2 Comments on the Performance of Subsumption
The second and more important commentary concerns the performance of the
subsumption architecture. The specific implementation of this architecture for this project
under the conditions available in the Essex Brooker Laboratory may have contributed to
these problems, but they may also in part be symptomatic of this architecture.
a. The IA V tends to oscillate between behaviours, which hampers the smooth
achievement of goals. I feel this is a general fault with the subsumption architecture.
Brooks added a combination feature to the AFSMs in the second version of the
subsumption architecture (Brooks 1991a), which his reported results suggest may
have alleviated this problem.
b. At some times, I wanted the vehicle to avoid obstacles, but at others, I required it to
make contact with an obstacle. The implementation of sUbsumption architecture
41
includes a hierarchy of behaviours, and I found that I could not achieve the two
differing aims. This deficiency arose because the two lowest level behaviours for
obstacle avoidance prevented the vehicle from making contact with an obstacle. I did
not find a way of reordering the layers in the subsumption architecture.
In spite of these two problems, on most occasions, the architecture enabled the integration
of several different behaviours so that an environment-based goal could be achieved.
4.4 Future Work
In the future I would like to further test subsumption architecture to determine of
rigid hierarchies are an inherent feature of subsumption, or if the architecture can be
modified to include a flexible hierarchy. If the latter is possible, I would like to investigate
possible ways of reordering the behaviours, possibly using the output of a non-linear
planner to determine which behaviours should be used where or when in the hierarchy.
Another possible approach would be to use some form of learning function to ascertain
when differing hierarchies of behaviours should be used.
4.5 Summary
In summary, this chapter has shown an implementation of the sUbsumption
architecture on a Marvin mobile vehicle. Although successful, this implementation has
highlighted some minor problems with the sensory abilities of the departmental vehicles.
The other and more major point is that the software implementation of the subsumption
architecture enabled the vehicle to avoid obstacles and achieve its goal of reaching an
infra red sensor on most occasions. The only unanswered question is whether the
subsumption architecture is capable of reordering behaviours. As I have previously stated,
I would like to investigate this question in the future.
42
Chapter 5
Cornbinina : Subsurnption and Plan-then - Execute lAY Architectures
Con t ents
5.0 Introduction 5.1 Architecture Developed 5.2 Implementation Details
Mixing 'C' with PROLOG Plan-then-Execute Behaviour Topological Path Planner Subsumption Interface With Non-Linear Planner
5.3 Experimental Results 5.4 Future Work 5.5 Summary
5.0 Introduction
Several false starts and whole scale redesigns preceded the development of the
architecture which is the subject of this chapter. The fIrst section of the chapter details my
chain of thought and the decisions that I made in designing the architecture, then
provides an exposition of the fInal architecture, which combines subsumption with a plan-
then-execute architecture. The next two sections describe the implementation of this
architecture and the results of testing that implementation. Along with the tabulated
results, I also have discussed the features of the architecture that I observed,
43
and drawn some limited conclusions about them. The fourth section then outlines the
future work which will be performed on this architecture as part of a British Telecom
research project. A summary of this work rounds out this chapter.
5.1 Architecture Developed
My inspiration for the design of this architecture arose from four observations.
First, I have noted that most IA V architectures currently under development fall into one
of two categories:
a. reaction based and sUbsumption architectures, which can cope with rapidly changing
and uncertain environments, but which have trouble reordering priorities of
behaviours to plan strategies for handling different tasks; and,
b. plan-then-execute architectures, which experience difficulty adjusting to change, but
which appear better suited to tasks that require a sequence of events for completion
(such as finding a topological path to a destination or compiling a plan of operations
to travel from Colchester to London).
Second, I noted that the inputs to the behaviour or planning phases of IA V architectures
also generally fall into two categories:
a. inputs from sensory devices attached to the IA V, such as ultrasound, infra-red
beacons, or vision, (one could loosely characterise this sensory input as data collected
in the vehicle's line of sight, though, in comparison to any form of intelligent
biological being, the IA V's immediate sensory input is extremely limited); and,
b. inputs from maps or internal representations exported by the researcher to the IA V or
compiled by the IA V itself from its environment. This input has taken many differing
forms ranging from geometric, inch by inch descriptions of the environment, to
topological, landmark-based maps. I consider the latter to be the more useful way of
representing an operating environment.
44
Third, the actions that an IA V will likely perform likewise cluster into two categories: a.
well-learned or regularly performed tasks, such as moving around a room without hitting
obstacles, picking up and putting down objects, or turning on a tap; and,
b. unfamiliar or unlearned tasks which require the devisement of a plan, such as going
to an unusual destination or cooking a new recipe.
The 'a' point of the third observation includes the tasks best performed by reactionbased or
subsumption architectures, the 'a' type of architectures which rely on the 'a' type of input.
Similarly, the 'b' point of the third observation includes the tasks best performed by plan-
then-execute architectures, the 'b' type of architectures which rely on the 'b' type of input.
Fourth, I noted that no inherent features of either general set of architectures implied that
the two varieties would not be capable of operating jointly, and thus I strove to develop a
combined architecture which would exhibit the strengths and abilities of both the reaction-
based and plan-then-execute architectures.
Figure 5.1 displays the architecture that I developed. This architecture uses
subsumption as a method of controlling the operation of vehicle and of achieving goals
located in the line of sight of the IA V's sensors. To accomplish tasks requiring
observation of elements of the environment located beyond the vehicle's line of sight, the
architecture uses a non-linear planner working on a topological, landmark-based map to
plan paths to achieve its goals.
The subsumption element of this architecture operates similarly to the architecture
described in the pervious chapter. The major difference in operation is from the addition
of the plan-then-execute element which enables the achievement of goals which are
currently out of the vehicle's line of sight. The plan-then-execute element designs a path
for moving between a series of landmarks to enable the vehicle to achieve its overall
objective. The planner passes the ID number of the fIrst beacon to be reached to the find
beacon module of the architecture. The execute phase of the architecture then monitors the
success or failure of reaching this landmark. If the vehicle passes the landmark, the plan-
the-execute module sends the ID number of the next beacon to be found to the find beacon
module. If the vehicle fails to locate a
45
'3
Find Infra-Red _In
Module S
Obstacle UltraSoun
Avoidance
Sensors
Reflex Module .Bumper
~ Bars
landmark, the plan-then-execute behaviour triggers re-planning which uses an
updated version of the topological map. This process then repeats until the final gaol
is reached. In the experiments described below, the IA V used infra-red beacons as
landmarks.
Stepper Motors
Figure 5.1
Plan then Execute Module 1---------- 1 ____________ 1 Topological: 1 Mapping : 1 rE - - _.J r<- -IoE--- : Planner 1 : Module 1 -----r----I ------ __________1
1
All Sensors
1 1- ___1 ____
. 1
1 xecuuon 1
1 r<----------------~-- : Controller 1 -----r----I
V
All Sensors
~ (Infra Red Beacon Number)
fraRed ensor
d
46
E
S.2 Implementation Details
This section details the testing of the combined architecture. The subsumption
element of the architecture uses a modified copy of the work completed for the previous
chapter. These modifications enabled the subsumption element to interface with plan-
then-execute element. Implementing the plan-then-execute element proved more
problematic. I originally had hoped to incorporate a standard plan-then-execute
architecture, including world modelling, topological planning, and plan execution phases;
however, even after the modification of its ultrasound sensors, Ford still encountered
difficulty detecting basic features of its environment. The limitations of Ford's sensors
and the short time available for this research prevented the full implementation of the
second of these modules. Consequently, in these experiments, Ford used a much diluted
adaptation of the world modelling behaviour, drawing information about the world via a
terminal.
The next four subsections detail the implementation. The first of the subsections
describes my findings on the mixing of the programming languages 'C' and PROLOG.
The following three subsections describe the developments and modifications required for
the subsumption interface, the plan-then-execute module, and the topological planner to
produce the combined architecture.
S.2.1 Mixing 'e' with PROLOG
PROLOG is ideally suited for implementing modules which require the use of
redo abilities to find solutions, functions performed by planners. For this reason, I initially
sought to determine if PROLOG could facilitate all, or at least part, of the implementation
of this architecture. Experiments soon suggested that PROLOG on its own did not permit
the full implementation of the combined architecture. In any mobile vehicle application,
the world is constantly changing. As a result, variables which have been assigned in
PROLOG can suddenly become negated, producing inconsistencies. I then sought to
integrate 'C' with PROLOG. The plan-then-execute element of the final architecture uses
'C' to implement the sense and execute phases,
47
then passes the derived information to a topological planner which uses PROLOG.
The planner assumes the information it receives about the state of the world remains
constant during the development of the plan. The planner then passes its plan on to the
execute phase, which again uses 'C' to respond to changes in the environment.
5.2.2 Plan-then-Execute Behaviour
The plan-then-execute behaviour controls the operation of the non-linear planner,
disseminates output to the subsumption architecture, and monitors the achievement of
these steps. If a goal is not achieved, then re-planning occurs. Figure 5.2 outlines this
module in pseudo code. This section of code was implemented in 'C', and Appendix J contains a listing of the program.
initalise_the_description_oCthe_ world create_plan REPEAT
get_next_step_oCplan pass_next_step_to_find_infra_red_module get_responce_from_terminal
IF infra_red_becon_is_reached THEN modify _ world
ELSE modify _ world create_plan ENDIF
UNTIL no_more_steps_in_plan
Figure 5.2
5.2.3 Topological Path Planner
The topological path planner was written in PROLOG. This program is an
adjusted version of the path planning software in the PROLOG to 'C' interface example
programs provided with SICStus PROLOG. The adjustments to the original program
include code to select the shortest path to a given destination, rather than all paths, and
also a modification to enable the input of a limited amount of world state information
about the temporary or permanent blockage of paths on the topological map. The
48
planner draws topological map information from a series of PROLOG clauses which
describe connected points on a topological map provided by the researcher for an
experiment Figure 5.3 shows an example of both the topological map and the PROLOG
clauses used to represent the map. Appendix K lists the program for the planner.
This translates into the PROLOG clauses listed bellow.
connected( 4,5). connected( 6,5). connected(3,4 ). connected( 4,2). connected( 1,2).
Figure 5.3 49
h.5.2.4 SUbsumption Interface with Topological Planner
The subsumption architecture interfaces with the non-linear planner through the find
infra-red beacon behaviour. This function was modified so it accesses a global variable,
which is the infra-red beacon number the vehicle is currently locating. The plan-the-execute
behaviour described in the next section provides this beacon value.
5.3 Experimental Results
In the experiments, Ford was placed in a series of varied environments containing
differing sets of obstacles to ascertain the proficiency with which this mobile vehicle could
locate and navigate between a series of landmarks to achieve a goal. I provided the
topological map planner with a map of the landmarks. Figure 5.4 displays the topological
map used in all experiments.
Figure 5.4
50
Outcome
I Reached goal
2 Reached goal with re-planning
3 Stuck in dead end with no alternate path
4 Reached goal with re-planning
5 Reached goal with re-planning
6 Reached goal
7 Stuck in dead end with no alternate path
8 Reached goal with re-planning
9 Reached goal with re-planning
10 Stuck in dead end with no alternate path
Various obstacles were placed between the landmarks to test whether the
combination of architectures would enable Ford to reach its goals. The tests were
specifically designed to require Ford to use both the high level planning ability of the
plan-then-execute element, and the ability of the subsumption element to deal with minor
problems without a requirement for step by step planning of a solution.
As with the experiments detailed in Chapter Four, the subsumption architecture
and the test conditions provided in the laboratory prevented the vehicle from directly
reaching its goals, as Ford remained unable to both avoid obstacles while also making
contact with goals. As before, I considered an arrival within 50cm of the goal a success.
Experimental results have been tabulated, giving the outcome of successes with re-
planning, successes without re-planning, or failures. In the case of failure, the reason for
failure is also included. Appendix L presents hand-plotted maps of the paths the vehicle
took to achieve results, and also details the initial goal and operators used by the non-
linear planner in each experiment. Figure 5.5 displays the outcome of ten such
experiments.
Figure 5.5
51
Five features of the performance of this combined architecture deserve further
note. Three of these features point up the strengths of this combined architecture. First,
while using this architecture, Ford successfully achieved goals in 70 of the test situations.
When confronted by an obstacle that could be avoided or circumnavigated, Ford used a
combination of obstacle avoidance and wall following techniques to return to the path for
its goal (see Example 1 in Appendix L). When a temporary diversion proved impossible
and the map provided a second route to the goal, re-planning occurred to find that route
(see Example 2 in Appendix L). Second, the ability of the system to plan and re-plan to
achieve a goal gives the this architecture a far greater level of flexibility in achieving
goals than the subsumption architecture. The additional features enable the vehicle to
locate goals which are outside its line of sight. Third, at least in these experimental
conditions, the topological map appeared to effectively represent the environment using
the position of landmarks without a need for resorting to dead reckoning.
Nevertheless, two features of the experimental results highlight deficiencies with
the present construction of the combined architecture which will require adjustment in
future work. First, as a consequence of the inadequate level of sensory input fed to the
processor and the simplicity of current sensory processing techniques, the vehicle
sometimes got stuck in oscillating behavioural loops when it approached near objects,
causing an unnecessary request for re-planning. The other major effect of the sensory
deficiencies is that the vehicle lacks the ability to detect dead ends and to initi ate re-
planning prior to experiencing entrapment. Second, this combined architecture retains a
deficiency of the subsumption architecture tested in Chapter Four. The subsumption
element prevented the reordering of behaviours to enable the IA V to touch its goals,
while still avoiding obstacles en route.
In summary, the combined architecture exhibited a high degree of success in
enabling Ford to achieve goals. The next section details proposed modifications to the
implementation of this architecture which may enable at least partial rectification of the
two remaining deficiencies.
52
5.4 Future Work
Based on the work completed in this chapter, I see three major areas for future
development. First, the results of the experiments with the combined architecture
reinforce the conclusion in the previous chapter that further testing of subsumption should
be conducted to determine if this architecture can be modified to reorder the network of
behaviours to achieve differing goals, such as avoiding obstacles but touching beacons.
Second, both the sensory devices on the base vehicle and the sensory interpretation
software require improvement. Again, as with the results of the previous chapter, these
experiments further support the need for the use of visual input and vision processing,
along with other more reliable and sophisticated sensory techniques, which would enable
the vehicle to recognise landmarks and create its own topological maps without the aid of
pre-programmed maps. Hopefully, this work may also yield a means for IAVs to more
effectively cope with dead ends.
Third, one can experiment with the use a second plan-then-execute architecture as
a still higher level in the hierarchy to produce lists of goals to achieve tasks such as
delivering mail. Figure 5.6 provides a diagram of such an extended architecture. This
extra plan-then-execute architecture would use a non-linear planner, which would give
this higher level of the hierarchy the power and flexibility to achieve a wide range of
goals. I have already implemented the non-linear planner in PROLOG, but have yet to
upgrade the rest of the architecture with the above-specified modifications. Many, if not
all, of the above detailed improvements will be completed in the next year as part of a
collaborative project with British Telecom.
5.5. Summary
In summary, the experiments detailed in this chapter demonstrate the
compatibility of subsumption and a scaled-down version of a plan-then-execute
architecture. This research holds out the possibility that a combined reaction-based
architecture and a fully implemented plan-then-execute architecture may yield yet more
impressive results. Likewise, these experiments suggest that a combination of the
53
I:J
Find Infra-Red Jnfr
Module Se
Obstacle UltraSound
Avoidance Sensors
~ Reflex Module _Bumper __ ~ Bars
Stepper Motors
Plan then Execute Module 2 1---------- I-----~---~ : Non-Linear ~ __________~ Mappmg :.:_ ...•. __ ---
: Planner: ~ _ ~.?~~l~ _____: -----r---- 1
1 ____________1 ____ • 1
: Execution ~ _______________________...•. __ --- 1 Controller : -----r----
V : (Infra Red Beacon Number) 'iJ
: Plan then Execute Module 1 ____ J_____ I ____________~ 1 1M,
: Topological ~ ________~ appmg :.:_ ...•. __ --- : Planner I : Module : -----r----I ----------
I ____1 ____ . I
: Execution ~ ________________________-loE---
I Controller : -----r---- V
: (Infra Red Beacon Number)
Figure 5.6
aRed nsor
54
All Sensors
All Sensors
All Sensors
All Sensors
1
programming languages 'e' and PROLOG can produce an efficient implementation of a
control system. This combined architecture did enable Ford to find beacons, though these
experiments again highlighted the need for improved sensory capacity in the Marvin
vehicles. The future work which is now being funded by British Telecom may likely
facilitate the improvement of both the IA V hardware and this combined architecture to
allow the IA V to perform a more complex series of tasks.
55
Chapter 6
Conclusions
Contents
6.0 Introduction 6.1 Conclusions About Hardware 6.2 Conclusions About the Implementation of the Architectures 6.3 Closing Notes
6.0 Introduction
In comparison with the constructed intelligent beings of Gene Roddenberry's Star
Trek, Isaac Asimov's Robots and Empire series, or other technologically-oriented science
fiction, the intelligent mobile vehicles of today's laboratories are mere rudimentary toys.
Nevertheless, humans have made a remarkable achievement by creating vehicles which can exercise basic levels of judgement. Biological beings no
longer hold an exclusive monopoly in the field of decision-making. The present research
into robotic architectures, mapping systems, and planners - the modules which empower
an IA V to perform basic but essential levels of reasoning now exercised by (relatively)
simple biological species - is enabling computer scientists to compile a foundation of
knowledge which scientists in the future may be able to use in the
56
creation of beings capable of independently contributing to the theoretical foundations of
technological research.
Rather than addressing these lofty speculative issues, this dissertation has
contributed to the practical discussion of the implementation of programs enabling IA V s
to perform simple behaviours by fIrst reviewing the debates in the ArtifIcial Intelligence
literature concerning IA V architectures, mapping systems, planners, and attention; and
then by reporting the results of tests of three different architectures: a reaction-based-
architecture; subsumption; and a combined subsumption/plan-thenexecute architecture
using a topological non-linear path planner. While the limitations of time and resources
associated with MSc research necessarily restrict the scope of conclusions which may be
drawn from this dissertation, the results of this research does suggest some modest
conclusions about IA V hardware and software.
6.1 Conclusions About Hardware
Two different IA V s served as base vehicles for this project, a small and simple
vehicle designed and produced in the course of this research, and Ford, a Marvin vehicle
developed in the Department of Computer Science at the University of Essex. Observation
of the operation of these two vehicles support three conclusions. The simple vehicle
described in Chapter Three required inexpensive hardware easily purchased on a student
budget for construction. This vehicle successfully roamed the research laboratory. The
research detailed in Chapter Three thus fIrst suggests that vehicles capable of performing
simple tasks may be readily designed and produced at a minimal cost. I assigned a series
of more complex tasks to Ford, and found that the ultrasound and infra-red sensors with
which this vehicle is equipped did not provide suffIcient information about the
environment to enable this IA V to interpret its surroundings under some conditions. The
addition of further ultrasound sensors improved the vehicle's performance, but did not
substantially increase Ford's ability to interpret its environment. The research in both
Chapter Four and Chapter Five suggests the second conclusion that the Marvin vehicles
would operate more efficiently
57
if more comprehensive sensors, such as vision, complemented (if not replaced) the
ultrasound and infra-red sensors. Third, the tests conducted for all three implementation
chapters suggested that speed of movement is not necessarily a highly desirable initial
feature for IA V s at the present time. The small vehicle presently navigates rooms at a
speed slightly excessive for convenient observation. In the case of Ford, the maximum
speed could not be permitted as the vehicle's sensors could not accurately feed
information to the subsumption architecture at a rate to permit efficient movement at such
a speed, and since the non-linear planner could not produce plans for goal achievement at
a rate to permit the use of the higher potential speeds.
6.2 Conclusions About the Implementation of the Architectures
The implementation chapters review tests of a simple reaction-based architecture,
then of subsumption, and finally of a combined architecture designed for this project.
Each subsequent architecture facilitated more complex behaviours than its predecessor.
The results of each chapter facilitate little direct comparison, as the base vehicle for the
first implementation differed entirely from the vehicle working with the other two
architectures, and as I implemented each architecture under different test conditions. For
this reason, this section details the general conclusions about the implementation of these
architectures individually.
Chapter Three shows how a simple mobile vehicle with a reactive control
architecture can successfully perform a single task, such as obstacle avoidance.
Nevertheless, the vehicle did not enjoy an unproblematic performance. The reactionbased
architecture developed for this vehicle occasionally restricted this IA V to oscillating
between states, though, as noted in this chapter, the use of an internal state in the
architecture may possibly cure this problem. A second and more significant limitation of
this architecture is the presence of only one layer of control. If the vehicle avoids
obstacles, it cannot perform other behaviours, such as achieving a goal, at the same time.
For this reason, I am one of many researchers who has experimented with other possible
architectures.
58
---------------------------------- ------- ----------
The most sweeping claims made about any architecture appear in both the
academic and popular literature discussing subsumption, an architecture developed by
Rodney Brooks and his team at M.LT. For this reason, Chapter Four reports on the results
of the retesting of the suitability of this architecture for achieving a simple goal, locat ing
infra-red beacons. Generally, this architecture did produce successful results, however, the
findings of the work conducted for this report do not support the entire range of abilities
attributed to subsumption. Some difficulties likewise developed during the
implementation of this architecture. First, some arrangements of dead ends ensnared Ford
into oscillating between behaviours. Second, and in my opinion more importantly, I found
that I could not achieve two different aims using this architecture. In future experiments, I
plan to continue to test subsumption to see if a modification can be found which would
introduce some flexibility into the hierarchy of behaviours required by this architecture. In
spite of these two problems, on most occasions, the architecture enabled the integration of
several different behaviours so that Ford could achieve an environmentally-based goal.
The structure of IA V architectures presently tend to fall into two distinct
categories, as do the primary inputs on which the architectures rely and the types of
actions that an IA V will likely perform. The fIrst category, reaction-based architectures,
tend to use immediate sensory information to perform routine tasks. The second category,
plan-based architectures, use predefined maps or maps generated during an IA V's
exploration of its environment to plan strategies for achieving unfamiliar tasks. Chapter
Five details the implementation of an architecture combining subsumption with a
simplified plan-then-execute architecture using a non-linear planner which I designed to
attempt to capitalise on the strengths of both categories of architectures and to attempt to
mitigate the weaknesses of each. I noted the following five significant observations during
the testing of this combined architecture:
59
a. The architecture successfully achieved goals in 70 of the test situations; b. The ability of this system to plan and re-plan paths for task achievement permitted a
higher level of flexibility than the subsumption architecture implemented on its own. c. Ford successfully located landmarks in the environment using a topological map. d. The limited level of sensory input received by this Marvin vehicle caused problems for
the architecture. e. The programming languages 'C' and PROLOG can be effectively interfaced to enable
the architecture to respond to change, facilitated by 'C', and to plan and re-plan paths to goal achievement, facilitated by PROLOG.
6.3 Closing Notes
While human imaginations may well continue to outstrip our technological
capacity, computer scientists have nonetheless made remarkable achievements in the
study of artificial intelligence over the last few years. The research reported in this
document generally supports the conclusion that the improvement of the flexibility of IA
V architectures may well expand the capacity of thinking vehicles for task performance.
This dissertation has also highlighted the existence of room for combining the features of
the major trends in IA V research. While the evolution of thinking vehicles will not
necessarily parallel biological evolution (Taylor 1994), the process of IA V evolution has
undoubtedly only just begun.
60
BjbliQl: r aphy
Baxter J.W. & Bumby J.R. (1993). Fuzzy logic guidance and obstacle avoidance algorithms for autonomous vehicle control. Proc. of IA V 1993.
Beom H.R. & Cho H.S. (1992). A Sensor-Based Obstacle Avoidance Controller for a Mobile Robot Using Fuzzy Logic and Neural Networks. Proc. of IEEE/RSJ Conf. on Intelligent Robots and Systems. Vol. 2, pg. 1470-1475.
Bonasso, R., Antonisse HJ & Slack, MG. (1993). A reactive robot system for find and fetch tasks. Proceedings of AAAI93. pg.801-808.
Brooks R.A. (1983). Solving the Find-Path Problem by Good Representation of Free Space. IEEE Transactions on systems, man, and cybernetics. Vol. smc-13, No.3. pg 190-197.
Brooks R.A. (1986). A robust layered control system for a mobile robot. IEEE Journal of Robotics and Automation, vol. RA-2, no 1.
Brooks R.A. (1989). A robot that walks: Emergent behaviour form a carefully evolved network. Neural Computation, Vol. 1, no 2, Pg 253-262.
Brooks R.A. (1990a). The Behaviour Language; User's Guide. MIT AI Memo 1227.
Brooks R.A. (1990b). Elephants Don't Play Chess. Robotic and Autonomous Systems. Vol. 6. Pg 3-15.
Brooks R.A. (1991a). New Approaches to Robotics. Vol. 253. Pg 1227-1232.
Brooks R.A. (1991b). Intelligence Without Reason. MIT AI Memo 1293.
Brooks R.A. & Stein L.A. (1993). Building Brains for Bodies. MIT AI Memo 1439.
Cliff D. Harvey I. & Husbands P. (1992). Incremental Evolution of Neural Network Architectures for Adaptive behaviour. Sussex University CSRP 256.
Cliff D. Harvey I. & Husbands P. (1993). General visual robot controller networks via artificial evolution. Proc. of Photo-optical Instrumentation Engineers Conference, SPIE93.
Currie, K & Tate,A. (1991). O-Plan: the open planning architecture. Artificial Intelligence 52. pg.49-86
Drable, B. (1993). Excalibur: a program for planning and reasoning with processes. Artificial Intelligence 62. pg. 1-40.
Elfes A. (1989a). PhD Dissertation: A Probabilistic Framework for Robot Perception and Navigation. UMI Dissertation Services
Elfes A. (1989b). Using Occupancy Grids for Mobile Robot Perception and Navigation. Computer vol. 22. No.6 pg. 46-57.
Fikes, R & Nilsson, N. (1971). STRIPS: Anew approach to the application of theorem proving to solve problems. Artificial Intelligence Vol. 5 No 2.
Gachet D. Pimentel L Moreno M.A. Salich M.A. & Fernanddez V. (1993). Proc of IA V 1993.
61
Gat E. (1993). Integrating planning and reaction in a heterogeneous asynchronous architecture for controlling real world mobile robots. Proceedings of AAA193. pg. 809-815.
Groover. P.G. (1987). Automation, Production systems and Computer Integrated Manufacture. Prentice Hall International.
Harvey I. Husbands P. & Cliff D. (1994). Seeing the Light: Artificial Evolution, Real Vision. Proc. of the 3rd INtI. Conf. on simulation of Adaptive Behaviour, SAB94.
Kuan D.T. Zamiska J.C. & Brooks RA. (1985). Natural decompression of free space for path planning. Proc. of IEEE 85. pg. 168-173.
Kuipers B.J. & Byun Y. (1988). A robust, qualitative method for robot spatial learning. Proc. of AAA11988. pg.774-779.
Kurz A. (1993). Building maps based on a learned classification of ultrasonic range data. Proc. of IAV 1993. pg.193-198.
Lazanas, A & Latombe,J. (1993). Landmark based robot navigation. Proceedings of AAAI93. pg. 816-822.
Lefevre P. Prub A. & Zimmer U. (1994). ALICE - Topographic Exploration, Cartography and Adaptive Navigation on a Simple Mobile Robot. Proc. of TSRPC 1994.
Lenin R (1994). Birth of a human robot. New Scientist. vol. 264.
McClelland, JL & Rumelhart, DE. (1989). Explorations in Parallel Distributed Processing: A Handbook of Models, Programs and Exercises. MIT Press.
Miller, D., Desai, R, Gat, E., Ivlev, R & Loch, J. (1992). Reactive navigation through rough terrain. Proceedings of AAAI92. pg. 832-828.
Miller, D & Slack, MG. (1993). Global symbolic maps for local navigation. Proceedings of AAAI93. pg. 750-755
Munson, JH. (1971). Robot planning, execution and monitoring in an uncertain environment. IJCAI 1971. pg.338-349.
Sacerdoti, E. (1975). The Non-Linear Nature of Plans. Proc. of IICAI 1975. pg.204-214.
Scott, P.D. (1994). Cognitive Resource Scheduling: Attention Mechanisms in Intelligent Agents. AISB Workshop on Computational Models of Cognition and Cognitive Function.
Scott, P.D. (1988). The Role of Forgetting in Learning. Proc. of the 5th Conference on Machine Learning. pg. 459-465
Simmons, R (1990). An Architecture for Co-ordinating Planning, Sensing and Action. Sensing and action, Proceedings of DARPA workshop.
Steel, S. (1994). Planning to plan. Proc. of the 13th workshop of the UK planning special interest group.
Tate, A. (1977). Generating Project Networks. Proc. of IJCAI 1977. pg. 888-895.
Taylor, R (1994). Robots are doing it for themselves. THE INDEPENDENT. 19 Sept 94. Section 2. Pg 27.
62
Tsuji S. & Li S. (1993). Making Cognitive Map of Outdoor Environment. Proc. of IJCAI 1993. Pg 1632-1638.
Voudouris C. (1993). MSc Dissertation: Fuzzy Hierarchical Control for Autonomous Mobile Robots. University of Essex.
Voudouris C. et. al. (1994). Fuzzy Hierarchical Control for Autonomous Vehicles. IRS 94 Grenoble. Pg. 110-117.
Zimmer U. & Puttkamer E. (1994a). Real-time-Iearning on an Autonomous Mobile Robot with Neural Networks. Euromicro 1994.
Zimmer U. & Puttkamer E. (1994b). Comparing World-Modelling Strategies for Autonomous Mobile Robots. Proc. of IWK 1994.
Zimmer U. Corelia F. & Puttkamer E. (1994). Navigation on Topologic Feature-Maps. Proc. of IIZUKA 1994.
63