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