A MULTI-AGENT COLLABORATIVE CONTROL ARCHITECTURE
WITH FUZZY ADJUSTMENT FOR A MOBILE ROBOT
Bianca Innocenti, Beatriz L
´
opez, Joaquim Salvi
Institute of Informatics and Applications
University of Girona - Spain
Keywords:
Robot design, control architecture, mobile robots.
Abstract:
One of the current challenges of control research is to make systems capable of showing intelligent responses
to changing circumstances. To address this task, more complex systems are being developed. However, it
is technologically difficult and potentially dangerous to build complex systems that are controlled in a com-
pletely centralized way. One approach to building decentralization systems is using multi-agent technology for
building control architectures. But it seems risky to recursively extend using multi-agent systems to develop
part of the system, such as a single behaviour.One alternative approach is to use collaborative control to deploy
specific (low level) behaviours, so that several controllers are combined in a single agent of the multi-agent
architecture in order to achieve the wanted behaviour. This paper presents a collaborative controller applied to
the goto behaviour. The experiments were carried out using a Pioneer mobile robot.
1 INTRODUCTION
One of the current challenges of control is to make
systems capable of showing highly flexible and intel-
ligent responses to changing circumstances. Artificial
Intelligence provides learning and adaptation meth-
ods, as well as decision making techniques to achieve
these control properties. However, it is technologi-
cally difficult and potentially dangerous to build com-
plex systems that are controlled in a completely cen-
tralized way (Murray et al., 2003).
In this line, (Rosenblatt, 1997) built an architecture
composed of distributed, independent, asynchronous
decision-making behaviours that were coordinated by
a central arbiter. The overall behaviour of the system
is rational, coherent and goal-oriented while preserv-
ing real-time responsiveness to its immediate physical
environment. In (Bryson, 2001) several architectures
are analyzed. The advantages of this architecture are
the following: they facilitate their development and
lead to the evolutionary creation of robust systems
of incrementally greater capabilities. In these archi-
tectures, each behaviour is implemented by a module
with communication abilities.
Recent advances in Multi-Agent Systems (MAS)
have inspired researchers to go one abstract level fur-
ther in implementing the architectures, in which mo-
dules are replaced by agents.
Nevertheless, behaviours considered in these archi-
tectures are not simple. For example, a goto behavi-
our, in a free-obstacle path, should take into account
if the target point is close or far away from the current
robot position.
In order to tackle the design of each behaviours,
two approaches can be followed. On one hand, each
behaviour can be implemented as a MAS again, as-
suming the risk that the robot could not be reactive
enough to avoid obstacles when it moves too fast or
the obstacles are mobile. And on the other hand, it is
possible to take advantage of collaborative control to
make up a single behaviour, combining several con-
trollers in a single agent.
Integrating both research lines (the multi-agent ap-
proach and collaborative control) we get as a result a
MAS architecture with collaborative controllers. Col-
laborative control is applied to design and develop
a single behaviour, while the overall robot architec-
ture is based on a MAS where each agent represents
each behaviour. In this paper we give a detailed ex-
planation of how the collaborative control approach
based on Fuzzy Logic (Klir and Folger, 1992) is im-
plemented in a single agent. Details on the MAS ap-
proach can be found in (Innocenti et al., 2006).
This paper is organized as follows. In Section 2,
523
Innocenti B., López B. and Salvi J. (2006).
A MULTI-AGENT COLLABORATIVE CONTROL ARCHITECTURE WITH FUZZY ADJUSTMENT FOR A MOBILE ROBOT.
In Proceedings of the Third International Conference on Informatics in Control, Automation and Robotics, pages 523-526
DOI: 10.5220/0001214005230526
Copyright
c
SciTePress
the related work is presented. Then, in Section 3 the
MAS architecture is described while the collaborative
control proposal is given in Section 4. In Section 5
the results are shown. Finally, some conclusions and
future work are drawn in Section 6.
2 RELATED WORK
As stated above, our approach concerns MAS and col-
laborative control. Collaborative control has a general
meaning, so, each time an algorithm to control a com-
plex task is defined, the idea of collaboration in con-
trol is introduced. Thus, any development of complex
systems with MAS can be considered as a collabora-
tive approach.
On one hand, there are several architectures built as
multi-agent systems to control a single robot, as for
example (Neves and Oliveira, 1997), (Busquets et al.,
2003), (Giorgini et al., 2002) or (Ros et al., 2005).
Most of them present a centralized behaviour coordi-
nation and each behaviour has only one controller to
set the desired outputs.
On the other hand, there are some works related to
collaborative control in robots ((Goldberg and Chen,
2001), (Figueras et al., 2002), (Gerkey et al., 2002)).
In the latter, collaborative control is obtained by re-
lying on the physical dynamics of the robot’s actua-
tor. Due to their nature, motors temporally average
their inputs, so Gerkey and colleagues propose that
a population of non-communicating controllers drive
the robot by interleaving commands to them. The re-
sultant robot motion is then achieved as a superposi-
tion of the different control signals.
In accordance with (Saffiotti, 1997), our hypothesis
is that, instead of superposing measures, higher deci-
sion making procedures can be used to coordinate the
different controllers. Particularly, we propose using
Fuzzy Logic to model the control actions provided
by heterogeneous controllers and to decide, accord-
ing to the robot motion dynamics, which combination
of control actions have to be executed at a given time.
In addition, the output of the collaborative con-
troller is the output of a single behaviour, instead of
being directly connected to the robot actuators. The
output of the single behaviour (agent) is coordinated
in a multi-agent architecture to decide the next robot
action.
3 MAS ARCHITECTURE
In our MAS architecture, agents can be grouped
into perception, behavioural, actuator and deliberative
agents. Perception agents obtain information about
the environment and about the internal conditions of
the robot; behavioural agents carry out specific ac-
tions, such as avoiding obstacles; deliberative agents
implement high-level tasks such as planning; and ac-
tuator agents are in charge of controlling the linear
and angular speed of the robot interacting directly
with motors.
The goto agent is a behavioural agent which is re-
sponsible for driving the robot to the target position
at different speeds. Other behavioural agents, are the
avoid agent, responsible for avoiding obstacles and
the goThrough agent, that is in charge of driving the
robot through narrow places like doors. All the agents
coordinate their behaviours by means of a distributed
protocol in order to assure that no conflicting actions
are sent to the robot motors (see (Innocenti et al.,
2006) for a detailed explanation).
4 COLLABORATIVE CONTROL
In this section we present our collaborative control
method based on combining multiple controllers us-
ing Fuzzy Logic to implement the behaviour of the
goto agent.
Instead of developing only one quite elaborated
controller, we design several controllers to cope with
different control aspects separately and join their ac-
tions in order to obtain the complex behaviour of the
goto agent.
Our starting point is the aggregation function pro-
posed in (Gerkey et al., 2002), that we extend by
adding weights corresponding to the relevance of each
controller according to the current context. Therefore,
the desired speed calculation is defined as:
=
P
n
i=1
η
t
· w
t
P
n
t=1
w
t
(1)
where η
i
is the requested wheel speed over time,
the final wheel speed, n the number of controllers and
w
t
the weights that satisfy
P
n
t=1
w
t
= 1. By using
weights, it is possible, to give more or less importance
to the controllers.
In order to determine the weights, we propose to
introduce knowledge about the environment, such as
whether the robot is near the destination point or not.
Depending on this information, we can combine two
position controllers: one that is fast and the other that
is accurate. When the robot is far away from the des-
tination point, we can stress the fast controller; when
the robot gets closer to its destination, we can give
more importance to the commands provided by the
accurate one.
Fuzzy terms such as far or close can be modelled
by fuzzy sets, in terms of the distance left (d) to
the destination point. d is defined as d = (d
max
d
rec
)/d
max
where d
max
is the distance between the
ICINCO 2006 - ROBOTICS AND AUTOMATION
524
initial and final coordinates, and d
rec
, the distance
from the initial to the current coordinates. Thus, the
fuzzy set close is defined as:
µ
c
(d) =
1 d min
(d+max)
(maxmin)
min < d < max
0 d max
(2)
where min and max parameters have been tuned em-
pirically.
According to this definition and depending on the
robot’s movement, the distance to the destination
point can be nonlinear along time, making the fuzzy
set also nonlinear.
On the other hand, the fuzzy set far is defined as:
µ
f
(d) = 1 µ
c
(d); (3)
Based on the above fuzzy set definition, we can re-
solve the fuzzy concurrent control adjustment as:
w
fast
= µ
f
(d)
w
slow
= µ
c
(d)
(4)
where w
fast
corresponds to the weight of the faster
controller and w
slow
to the accurate one.
Note that the way we use the fuzzy values deter-
mines, according to equation 1, the relevance of the
commands of the different controllers. According to
equation 4, both controllers collaborate in an inter-
mediate situation, that is, in the sloping part of the
fuzzy sets. Therefore, there is no abrupt change in the
control, but progressively one controller has less in-
fluence in the final decision while the other one takes
control (fuzzy adjustment).
5 RESULTS
We have implemented the MAS architecture in C++
adhoc MAS platform due to communication con-
straints. The experiment shown in this paper focus on
the implementation of goto agent as a collaborative
controller, so we assure that they were performed in
obstacle-free paths meaning that the goto agent does
not need to coordinate its desired actions with the rest
of the behavioural agents in the MAS architecture.
All the experiments were carried out with our own
model (Innocenti et al., 2004) of the commercial robot
Pioneer 2DX of ActivMedia Robotics.
In order to design the goto agent, we choose to im-
plement two different controllers and mix both con-
trol vectors by means of fuzzy weights. One position
controller is very fast but does not arrive exactly to
the set-point while the other is accurate and reaches
the desired input. The output of the controllers are
the desired linear and angular speeds. The best accu-
rate controller achieved has a settling time of at least
twice the time taken by the fast controller.
The control loop of the proposed concurrent con-
trol is shown in Fig. 1. The fuzzy concurrent control
adjustment block is in charge of mixing the desired
speeds of the controllers in order to change progres-
sively from one controller to the other.
Figure 1: Block diagram of collaborative control loop.
Fig. 2 shows the response of the whole system using
the collaborative control (1)) for the initial position
and heading of (x
0
, y
0
, θ
0
) = (0, 0, 0) and the desired
set-point of (x
f
, y
f
, θ
f
) = (1, 5, 0).
0 5 10 15 20 25
−1
−0.5
0
0.5
x (m)
Time (s)
0 5 10 15 20 25
0
2
4
6
y (m)
Time (s)
0 5 10 15 20 25
−0.2
0
0.2
0.4
0.6
theta (rad)
Time (s)
−1 −0.5 0 0.5
0
2
4
6
y (m)
x (m)
0 5 10 15 20 25
−200
−100
0
100
200
Linear speed (m/s)
Time(s)
0 5 10 15 20 25
−10
0
10
20
30
Angular speed (rad/s)
Time (s)
a)
b)
c)
d)
e)
f)
Figure 2: Response of the fuzzy concurrent control.
One interesting feature of this concurrent controller
is that it works better than the controllers separately,
especially for the unreachable states produced by the
non-linear nature of the robot model. This behaviour
can be seen in Fig. 3, where the graphics represents
the response for the accurate controller, the fast one,
and the collaborative approach respectively.
A MULTI-AGENT COLLABORATIVE CONTROL ARCHITECTURE WITH FUZZY ADJUSTMENT FOR A MOBILE
ROBOT
525
−2.5 −2 −1.5 −1 −0.5 0 0.5
−1
0
1
2
3
4
y (m)
x (m)
0 5 10 15 20 25
−2
−1
0
1
theta (rad)
Time (s)
−3 −2 −1 0 1
−1
0
1
2
3
y (m)
x (m)
0 5 10 15 20 25
−2
−1
0
1
2
theta (rad)
Time (s)
−2 −1.5 −1 −0.5 0 0.5
−1
0
1
2
3
4
y (m)
x (m)
0 5 10 15 20 25
−2
−1
0
1
2
theta (rad)
Time (s)
a)
b)
c)
Figure 3: Comparison of the response of the controllers; a)
the slow controller, b) the fast controller and c) the concur-
rent control.
6 CONCLUSIONS
In this paper we present a robot collaborative control
architecture based on integrating recent advances in
multi-agent systems and collaborative control. In par-
ticular, we focus on the design of a single agent, the
goto agent, based on a fuzzy adjustment of two po-
sition controllers. This approach tries to introduce
higher knowledge into the decision making process
of the control system. We propose modelling the rel-
evance of the controllers as a fuzzy set, considering
the distance travelled by the robot.
To test our method, we have designed the goto
agent of the MAS architecture with the proposed
collaborative controller. We have performed several
experiments to evaluate the responsiveness and effi-
ciency of our architecture. With the fuzzy collabora-
tive control, in which both controllers are combined,
the response of the controlled system for several set-
points is faster than the response of the accurate con-
troller and more accurate than the response produced
by the faster controller. Furthermore, it works for
some of the unreachable set-points of the previous ex-
periments (isolated controllers).
As further work, we are planning to extend our ap-
proach to n controllers. In addition, we are also ex-
ploring the extension of the collaborative control to
other agents, such as the goThrough agent, which
is responsible for driving the robot through narrow
spaces, such as corridors or doors.
ACKNOWLEDGEMENTS
This work has been partially supported by the Spanish
MEC Project TIN2004-06354-C02-02 and DURSI-
AGAUR 00296SGR.
REFERENCES
Bryson, J. (2001). Intelligence by Design: Principles of
Modularity and Coordination for Engineering Com-
plex Adaptive Agents. PhD thesis, Massachusetts In-
stitute of Technology.
Busquets, D., Sierra, C., and L
´
opez de M
`
antaras, R. (2003).
A multiagent approach to qualitative landmark-based
navigation. Autonomous Robots, 15:129 – 154.
Figueras, A., Colomer, J., and De la Rosa, J. (2002). Super-
vision of heterogeneous controllers for a mobile robot.
In The XV World Congress IFAC.
Gerkey, B., Mataric, M., and Sukhatme, G. (2002). Ex-
ploiting pphysical dynamics for concurrent control of
a mobile robot. Proceedings ICRA ’02. IEEE In-
ternational Conference on Robotics and Automation,
4:3467 – 3472.
Giorgini, P., Kolp, M., and Mylopoulos, J. (2002).
Socio-intentional architectures for multi-agent sys-
tems: The mobile robot control case. Proceedings
of the Fourth International Bi-Conference Workshop
on Agent-Oriented Information Systems (AOIS-02) at
CAiSE2002, Toronto, Canada.
Goldberg, K. and Chen, B. (2001). Collaborative control of
robot motion: robustness to error. In Proceedings of
the 2001 IEEE/RSJ International Conference on Intel-
ligent Robots and Systems, pages 655–660.
Innocenti, B., L
´
opez, B., and Salvi, J. (2006). How MAS
support distributed robot control. International Sym-
posium of Robotics (ISR).
Innocenti, B., Ridao, P., Gascons, N., El-Fakdi, A., L
´
opez,
B., and Salvi, J. (2004). Dynamical model param-
eters identification of a wheleed mobile robot. 5th
IFAC/EURON Symposium on Intelligent Autonomous
Vehicles (preprints).
Klir, G. J. and Folger, T. A. (1992). Fuzzy Sets, Uncertainty,
and Information. Prentice Hall.
Murray, R.,
˚
Astr
¨
om, K., Boyd, S., Brockett, R., and
Stein, G. (2003). Future directions in control in an
information-rich world. IEEE Control Systems Maga-
zine, 23, issue 2:20 – 33.
Neves, M. C. and Oliveira, E. (1997). A multi-agent ap-
proach for a mobile robot control system. Proceed-
ings of Workshop on ”Multi-Agent Systems:Theory
and Applications” (MASTA’97 - EPPIA’97) - Coim-
bra -Portugal, pages 1 – 14.
Ros, R., de Mantaras, R. L., Sierra, C., and Arcos, J. L.
(2005). A cbr system for autonomous robot naviga-
tion. Frontiers in Artificial Intelligence and Applica-
tions 131, IOS Press, pages 299–306.
Rosenblatt, J. K. (1997). DAMN: A Distributed Architecture
for Mobile Navigation. PhD thesis, Robotics Institute
at Carnegie Mellon University.
Saffiotti, A. (1997). The uses of fuzzy logic in autonomous
robot navigation. Soft Computing, 1(4):180 – 197.
ICINCO 2006 - ROBOTICS AND AUTOMATION
526