considered the supporter. Let clampmaster/clampsupporter be the implemented behaviors associated, where:
1. One robot is able to acquire and then to advocate a master role, showing a dominant role in the clamp action by chasing the ball;
2. The other robot is committed to acquire a supporting role in the clamp action while it is approaching the ball.
As just stated and shown in Algorithm 4.1, clampmaster and clampsupporter are complementary behaviors that must be arbitrated.
Algorithm 4.1 Clampmaster/Clampsupporter behaviors 1 Begin clampsupporter
2 i f ! acquire ( master ) & canBe( supporter ) then assume( supporter ) ; 3 i f assume( supporter ) & notify ( supporter ) then acquire ( supporter ) ; 4 End clampsupporter
1 Begin clampmaster
2 i f haveBall (me) & ! haveBall ( mate ) then acquire ( master ) ; 3 i f acquire ( master ) & notify ( master ) then advocate ( master ) ; 4 End clampmaster
The basic rule is that a master role must be advocated whereas the supporter role should be acquired, so that two reciprocity rules are required, i.e. only if provided that a notification is made to the referred teammate:
1. A role is switched from acquire to advocate;
2. A role is switched from assume to acquire.
Such rules imply a direct communication between teammates to assign the role on the first notified/first advocated basis, where the robot carrying the ball advocates the master role for its-self and commit the teammate to acquire the supporter role. By doing so, both robots issues the behavior haveBall, while the former also issues the behavior chaseBall, whereas the latter exhibits the behavior approachBall.
4.2 Hybrid automata
A framework can capture both the discrete and continuos dynamics of hybrid systems [8], making possible to model cooperative tasks and dynamic role as-signment in MRS. Here for each robot, hybrid automata2makes the mechanism for coordination is completely decentralized by representing for each robot:
2In automata theory, a hybrid automaton is a mathematical model for precisely describing systems, in which computational processes interact with physical processes. The behavior of a hybrid automaton consists of discrete state transitions and continuous evolution.
1. Roles;
2. Role assignments;
3. Continuos controllers;
4. Discrete variables.
indeed a robot has its own controllers and takes its own decisions based on local and global information; the former consists of the robot’s internal state and its perception about the environment, while the latter contains data about the other robots and is normally received through explicit communication. Thus each team member has to explicitly communicate with other robots to gather information but normally they do not need to construct a complete global state of the system for the cooperative execution. For instance, part of the informa-tion necessary to role assignment, is obtained a priori, before the start of the execution (e.g. the information concerning the task), while the rest of informa-tion is obtained dynamically during the task execuinforma-tion.
There are three ways of changing roles during the execution of a cooperative task:
1. Allocation, in which a robot assumes a new role after finishing the execu-tion of another one;
2. Reallocation process, in which using an utility function, a robot interrupts the performance of one role and starts or continues the performance of another role;
3. Exchange, in which two or more robots synchronize themselves and swap their roles.
Differently from the approaches described so far, this one allows for two types of explicit communication, the synchronous and the asynchronous one. Recalling that the former usually consists of messages sent and received continuously at a constant rate, while the latter permits interruptions when messages are received, synchronous messages are important in situations where robots must receive constant updates, on the other hand, the asynchronous ones are used when unexpected events occurs.
Let here describe in a more formal way the framework representing this architecture. First of all a MRS can be described by its state X,
X = [x1, x2, . . . xn]T,
that is a concatenation of the states of the individual robots and varies as a function of its continuous states {xni}
i=1
and its inputs vector {uni}
i=1
. Considering that robot i can also receive ˆzi, i.e. the approximated information given by the rest of the system, and that it can be controlled according to its assigned role q, the state equation can be defined as
x·i= fi,q(xi, ui, ˆzi) .
4.2. HYBRID AUTOMATA 59
But robot i is associated with a control policy ui= ki,q(xi, ˆzi)
and ˆzi is a function of the state X, hence the state equation can be written as:
x·i= fi,q(X) , or, for the whole team
X = F· q(X) , Fq= [f1,q, . . . , fn,q]T.
These equations, which model the continuous behavior of each robot and con-sequently the continuous behavior of the team, in turn are modeled by a hybrid automaton. It is a finite automaton, whose arguments are a finite number of real-valued variables that change continuously and that can be formally defined as
H ={Q, V, E, f, Inv, G, Init, R} , where:
• Q = {1, 2, . . . k} is the set of discrete states, called control models;
• V = Vd[ Vc is the set that represents the discrete (Vd) and continuous (Vc) variables of the system;
• f is the function which describes the dynamics of the continuous variables;
• E is the set of control switches of discrete transitions between pairs of control modes;
• Inv is the set of predicates3related to the control modes;
• G is is the set of predicates related to the control switches;
• Init is the initial states of the system;
• R is the set of reset statements for control switches.
Each role is a control mode of the hybrid automaton, where:
1. Internal states and sensory information can be specified by continuous and discrete variables;
2. Messages are sent and received in discrete self transitions through com-munication channels.
As the role assignment is represented by discrete transitions, where the invari-ants (Inv) and guards (G) define when each robot will assume a new role, the cooperative task execution can be modeled by a parallel composition of several hybrid automata.
3In mathematics, a predicate is commonly understood to be a boolean-valued function P : X! {true, false}, called the predicate on X.