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