Agent-based Application Framework for Multiple Mobile Robots Cooperation * Patricio Nebot and Enric Cervera Robotics Intelligence Lab Jaume-I University Castell´ o, Spain {pnebot, ecervera}@uji.es Abstract— We present an agent-based framework for the development of distributed applications for a team of het- erogenous mobile robots. The main goal is to ease the development of cooperative tasks among teams of robots. The proposed architecture must have not only the capacity to allow the team of robots to accomplish such tasks, but also it must have tools and features that allow programmers to develop complex applications in a reasonable time. Agent-based devel- opment platforms are used for this purpose, integrating the necessary capabilities for developing distributed applications, and managing the communications among all the components. To demonstrate the advantages of the proposed framework, two real applications, remote vision and robot following, are presented. Both of them consist of a set of agents, and run actually in real robot systems, demonstrating that distributed systems do not add significant overhead to real-time tasks. Index Terms— Mobile robots software reuse rapid- application development cooperation I. I NTRODUCTION The presented agent-based framework (Acromovi - acronym in Spanish for Cooperative Architecture for In- telligent Mobile Robots) was born from the idea that teamwork is an essential capability for a group of multiple mobile robots [1], [2]. It is known that having one single robot with multiple capabilities may waste resources. Dif- ferent robots, each one with its own configuration, are more flexible, robust and cost-effective. Moreover, the tasks to achieve may be too complex for one single robot, whereas they can be effectively done by multiple robots. Many multirobot architectures have been proposed in the recent years. ALLIANCE is an architecture oriented to the cooperation of a small-medium team of heterogeneous robots, with little communication among them [3]. It as- sumes that robots are relatively able to discern the effects of their actions and those of the rest of agents, either through its perception or through communication. Individual robots act based on behaviors or sets of behaviors to make their tasks. DPA is another architecture for dynamic physical agents, well suited for robotics [4]. A physical agent is the result of integrate a software agent in an autonomous hardware. This hardware is frequently a mobile robot. DPA architecture shows the agent like a modular entity with three levels of * This work is partially supported by NSF Grant #2003168 to H. Simpson and CNSF Grant #9972988 to M. King abstraction: control module, supervisor module and agent module. The architecture’s operation is based on two basic processes for each module: the process of introspection and the one of control, and in a protocol of intermodular dia- logue which allows the exchange of information between modules. ABBA (Architecture for Behaviour Based Agents) [1] is another architecture for mobile robots, whose purpose is to design an architecture to model the robot’s behavior so that it can select reactive behaviors of low level for his survival, to plan high level objectives oriented to sequences of behaviors, to carry out spatial and topological navigation, and to plan cooperative behaviors with other agents. The previous works implement architectures and systems so that teams of mobile robots can make cooperative tasks. Our work consists of the implementation of an architecture of such type, adding the versatility and power of the multiagent systems for the resolution of cooperative tasks for a group of heterogeneous robots. In addition, we emphasize the reusability of software, allowing the programmer to seamlessly integrate native software components (vision libraries, navigation and lo- calization modules) in the Java-programmed agent-based framework. In this way, powerful distributed applications can be rapidly developed. Acromovi architecture is a framework for application de- velopment, which addresses the implementation of resource sharing among all the group of robots. Cooperation among the robots is also made easier in order to achieve complex tasks in a coordinated way. Though robot programming has been extensively done in C or C++ languages, a Java-based multiagent development system was chosen to develop the architecture of our team of robots [5]. Among Java strengths, those particularly pursued were the high-level communication capabilities, and the native interface to existing C/C++ code. This article describes the Acromovi architecture and its constitutive agents, as well as two applications, Remote Vision and Robot Following. These applications demon- strate the rapid development capabilities and ease-of-use of agents implemented with this framework. Acromovi architecture is a distributed architecture that works as a middleware of another global architecture for programming robots. It has been implemented by means of the MadKit (Multi-Agent Development Kit) multiagent Proceedings of the 2005 IEEE International Conference on Robotics and Automation Barcelona, Spain, April 2005 0-7803-8914-X/05/$20.00 ©2005 IEEE. 1521