A flexible and extendible communications

From: AAAI Technical Report WS-98-10. Compilation copyright © 1998, AAAI (www.aaai.org). All rights reserved.
A flexible and extendible communicationsarchitecture to support
agent-based design of autonomousrobots
Jason Garforth
& Anthony Meehan
Sheffield HallamUniversity, PondSt.,
Sheffield S1 IWB, UK
jpg @janus.demon.co.uk;a.meehan@shu.ac.uk
Introduction
Researchers designing agent-based controllers for robotic
systems work within one of several different paradigms
ranging from ’traditional’
model-based AI through to
those based on e.g.
evolutionary
and/or
neurophysiological principles. (Beer, 1990; Cliff, 1990,
Dyer, 1994). For someresearchers, the architecture of an
autonomousrobot must plausibly support the underlying
principles of their chosen paradigm. Others draw
pragmatically on different approaches in order to develop
hybrid solutions.
(Aylett 1995; Balch, Buhmann,
Nourbaksh 1995; Oxley 1994).
Software tools/environments
for developers of
autonomous machines must be informed by the
requirements of the development paradigms they seek to
support. Even within a single paradigm scalability and
flexibility
pose problems (Maes 1994). This report
outlines an attempt to specify an conceptual architecture
to support a broad range of paradigms and describes
implementation
of the flexible
and extensible
communicationsarchitecture it implies.
Supporting the concept of ’Agency’
Wehave designed a communications layer which is
highly flexible and extensible and which does not
compromise too many development
paradigms.
However, the sensorimotor layer is the only layer to
support purely analogue agent implementations. For
some workers this will be a relevant limitation. Our
motive for imposing this restriction is the desire to
support evolutionary approaches to design which use
simulations on digital computers which are later
evaluated on a physical machine.
The remainder of this brief report describes the
communications architecture and machines built at the
AI Laboratory at Sheffield Hallam University which are
used to verify the design.
A Flexible CommunicationsArchitecture
The communications architecture supports a variety of
principled approaches to building autonomousagents by
complementing
essential core features such as reliability,
extensibility, simplicity and robustness (Brooks 1986)
with a high degree of flexibility
and a minimalist
specification. The key features of the communications
architecture are:
¯
There are many concepts in autonomous robotics that
remain loosely defined (Wheeler 1997) but the concept
of ’agency’ is very frequently used and appears to have
meaning within many design paradigms. In developing
our architecture
we have focused on the notion of
’agency’. Wehave found the review by Maes very useful
(Maes 1994).
explicit communicationbetween the processes in the
paradigm and sensorimotor layers, allowing for a
commoncommunications system for different agents
operating on the same robot.
¯ provision for the addition of as manyprocessing units
as wished. If bandwidth problems occur, the flexible
architecture can be adjusted to that requirement.
¯ supports communities of multi-agent machines.
Drawingupon the accepted practice of layering complex
systems, we distinguish three ’layers’ needed to support
agent-based robotic systems; the sensorimotor layer, the
communications layer and what we call the paradigm
support layer.
The majority of the architecture
is a minimalist
implementation of a switch network. Additional features
are:
¯ hardware and software neutrality
¯ simple, inexpensive, light weight components
¯ robustness and extensibility
The elements of the sensorimotor layer are the
(primitive) sensors and actuators of the robot. The
paradigm layer contains any hardware or software
components that perform computations. The chosen
paradigm within which a robot is being developed
determineswhatis and is not ’valid’ in this layer.
In outline, each switch has:
127
¯ two parallel interfaces which may be connected to
the parallel interfaces of other switches or other
input/output or processing devices
¯ four serial interfaces used only for connecting to
other serial interfaces on other switches
¯ all ports fully asynchronous,
full duplex
communications channels
¯
a simple commandlanguage structure (six basic
commands)that is easily extended.
This implementation enables the use of networked
machines to simulate agent based behaviour. It also
presents structures such as the Internet as autonomous
agents in their ownright. (Subject to certain conditions,
the authors will distribute the Java version to interested
parties.)
There are several modesof operation:
¯ raw point to point: unaddressed packets are simple
transmitted from one port to another based on which
port the packet arrived on.
¯ addressed point to point: addressed packets are
transmitted to a particular port based upon the
address of the recipient. Addressed packets can be
converted to and from a raw packet form
¯ multicast mode and load balancing: packets can be
copied to one or more output ports as they are
received
by the flexible
communications
architecture, alternatively multiple ports can be
specified to one destination
¯
extended packets: up to sixteen packets can be strung
together to form an extended packet.
Implementations
The communicationsarchitecture is implementable using
hardware, software or a mixture of the two. The only
difference is whether the parallel
interface
is
implementedusing software or hardware: the properties
of the parallel interface as seen from an agent are exactly
the same.
¯
¯
Aylett, R.S., Coddington, A.M., Ghanea-Hercock,R.A.,
Barnes, R.P. 1995. Heterogeneousagents for multi-robot
co-operation. In Proceedings of IEE Colloquiumon The
Design and Development of AutonomousAgents, IEE,
Savoy Place, London, UK, 21 November1995.
Balch, T. et al; Buhmann,
J. et al; Nourbaksh,I. et al,
1995. AI Magazine, Summer1995
Beer, R., Chiel, H. and Sterling, L. 1990. A biological
perspective on autonomousagent design. In Maes, P.
(Ed.) Designing autonomousagents: Theory and practice
from biology to engineering and back. Cambridge, MA.
MITPress/Bradford Books.
Cliff, D. 1990 Computational neuroethology: a
provisional manifesto. CSRP162, University of Sussex
School of Computingand Cognitive Sciences, Brighton,
UK
Dyer, M.G. 1994 TowardsSynthesizing Artificial
Neural Networksthat Exhibit Cooperative Intelligent
Behaviour:SomeOpenIssues in Artificial Life. Artificial
Life 1:111-134.
Maes, P. 1994. Modelling adaptive autonomousagents.
Artificial Life 1:135-162.
The second implementation is written entirely in Java.
Any machine supporting TCP/IP and the Java Virtual
Machinecan run this implementation. Features include:
¯
References
Brooks, R.A. 1986 A robust layered control system for a
mobile robot. IEEEJournal of Robotics and Automation,
2(1): 14-23
The Sheffield Hallam University AI laboratory has
developed two implementations
of the flexible
communications architecture. The first uses a mix of
hardware and software in which a switch is composedof
a 6 MHzZ80 CPU, a 2K bootstrap program in SRAM,
two parallel input/output chips, two dual ported serial
input/output chips, a clock, 64K bytes of RAM.The
software is written in symbolic assembler and
programmedinto each switch.
¯
These two implementations have been used to develop
two classes of robot at Sheffield Hallam University AI
Lab which support research into emergent group
behaviours, goal conflict and management and cooperative learning.
Oxley, J. P. 1994. Adaptive Local Navigation in a
Mobile Robot, MScthesis, Sheffield Hallam University
Library, Sheffield, UK
Write Once, Run Anywhere implementation (in Sun
Microsystems Java).
The (logical)
parallel
and serial ports are
implemented as UNIXstyle TCP/IP sockets.
Packets are transferred across the parallel and serial
ports are ASCII encoded
A GUIallows ease of configuration.
Wheeler, M. 1997. ’AutonomousBehaviour in Animals
and Robots: Perspectives from Neuroscience, AI and
Philosophy’. Centre for Computational Neuroscience
and Robotics, Workshop,University of Sussex, January
1997.
128