Random Peer-to-Peer Communication for System-Level Coordination in Distributed Multple-Robot Systems Chris A. C. Parker
Hong Zhang
Department of Computing Science University of Alberta Edmonton, Alberta, Canada Email:
[email protected]
Department of Computing Science University of Alberta Edmonton, Alberta, Canada Email:
[email protected]
Abstract— Distributed multiple-robot systems are a robust and potentially powerful class of autonomous robotic system. The current state of the art are highly reactive systems that utilized stigmergy and local interaction give rise to emergent global behaviours. What is lacking is a practical notion of a general purpose distributed MRS that can switch as a system from one task to the next as needed. In order for such a system to become a reality, system-level control and coordination of distributed MRS must be realized. In this paper, we present a novel communication scheme for use in distributed MRS to enable the aforementioned control. We analytically and emperically describe the behaviour of the scheme, and describe how it should be used and for what specific applications, including state sharing, decision-making and task allocation.
I. I NTRODUCTION Inter-robot communication is essential in a multiple-robot system (MRS) if it is to exhibit truely cooperative behavoiur beyond simple reactive coordination [1]. How such communication should take place or be organized, though, is the subject of much debate. In this paper, we will present a peer-to-peer communication scheme to allow system-level coordination of a distributed MRS. A. Communication in Multiple-Robot Systems Early MRS, such as the puck-sorting robots of Deneubourg et al. did not communicate directly with each other [2]. Instead, the robots coordinated their individual actions via stigmergy, by reacting to changing environmental stimulus brought about by their teammates doing the same. As Several other works, including the box-pushing work of Kube and Zhang [3] and the stick-pulling of Ijspeert et al. have demonstrated the power of stigmergic coordination. However, as Holland and Melhuish point out, there are drawbacks to using stigmergy: “[T]he success of [stigmergy] is crucially dependent on real-world physics [4].” Communication via stigmergy is not viable for general-purpose MRS because it has to be tied to specific environments. Thus, to realize communication for system coordination, we must pass explicit messages between robots. This conclusion
introduces many more questions. Should messages be broadcast or should then be sent to specific robots? Should the robots themselves form nodes in a wireless network through which messages will be routed via some sort of multi-protocol, or should messages be delivered directly from the sender to recipient in a single hop? Using broadcast, Depending on the application, a MRS can be spatially be large or small with respect to the communicaiton ranges of its members. B. Distributed Multiple-Robot Systems There are three basic organizational structures for MRS: centralized, hierarchical and distributed. In centralized and hierarchical systems, the control of the MRS is centralized in a single robot. The difference between centralized and hierarchical systems is that while all of the control is contained in one robot in a centralized system, a hierarchical system employs chains of command to delegate lower level control further down the hierarchy. Since control flows in one direction in centralized and hierarchical systems, system-level coordination is not a difficult problem to solve. Distributed systems are quite different in this regard. In a distributed MRS, none of the robots have any authority over their teammates. Instead of group behavoiur being dictated from the top down, it emerges from the bottom up via the robots’ peer-to-peer interactions. The advantage of using a distributed system over a centralized or hierarchical system is that, in a distributed system, there is no weak-point in the control structure. The disadvantage is that it is unclear how a distributed MRS can be controlled at the system-level. In this paper we present a communication scheme inspired by the random peer-to-peer interactions that are at the heart of a distributed MRS. We show that our approach allows the efficient sharing of information across a distributed MRS. In the next section, we present a theoretical analysis of the communication scheme. In Section III, we present an experimental verification of our theory based on a set of computer simulations. Next, in Section IV, we describe how
our proposed communication scheme could be implemented in practice as well as discuss its application to some common problems in distributed MRS control. We close this paper with some conclusions and lay out our future work. C. A Communication Scheme for MRS Coordination Because the behaviour of a distributed MRS is a bottomup phenomenon, the coordination of such a system requires information to be distributed across the system so that the behaviours of the individual robots can be coherent. The first thought might be to broadcast information to all of the robots at once, but this approach implicity requires that a MRS be centralized. Were a distributed system to utilize broadcast communications to communicate, nothing would be heard since the robots continually would be talking over each other. Instead, we propose that individual robots inject information into their system by randomly choosing a teammate and sending it a message. Assuming that the information is worth passing on (e.g. an emergency has occurred), the newly informed robot would pass it on to randomly chosen teammate, as would the original robot. The process then repeats with the informed robots sending messages to more randomly chosen teammates. As more robots become informed, the information will spread more rapidly as the number of robots passing it along increases, too. Intuitively, we can see that eventually, all of the robots in a system would come to know the information. Two questions arise here: 1) How long would it take before all of the robots in the MRS knew about the piece of information being passed along? 2) What sort of communication load would this scheme place on the individual members of an MRS? Our approach is similar to the “gossip” algorithms proposed for wireless sensor networks by Boyd et al. [5]. However, unlike the sensor networks, we do not propose to use the system to compute numerical results throughout the system. We assume that the robots choose their actions based on their knowledge and the perceived actions of their teammates. With certain knowledge shared across their system, the individual robots would be better able to coordinate their actions, since their individual choices of actions would be based on common assumptions. II. T HEORETICAL A NALYSIS In this section, we present a theoretical analysis of our communication scheme’s behaviour in two regards. First we examine its behaviour at the system-level by calculating how long it will take for information to spread across a MRS. Second, we examine the communication load that our scheme would place on the individual robots that compose an MRS. We assume that a MRS using our communication scheme is small spatially with respect to its members’ communication ranges. In other words, we assume that every robot is in range of every other robot so that all messages can be passed from source to destination in a single hop. Many MRS that have been presented in the past meet this assumption, including
RoboCup robotic soccer teams, the bulldozing robots of Parker and Zhang [6] and the box pushing robots of Kube and Bonabeau [7]1 . We also assume that any robot can directly address any other robot in its system. Given current technology, our assumptions are easily satisfied. For example, typical 802.11-type radios can communicate up to 100m outdoors. Interference and data collision can be avoided through the use of digital spread spectrum radios. In ˜ robots), robots simply could share a single smaller systems (10 channel and wait until it is clear to send data. It will become clear in the remainder of this section that a each robot needs only a low bandwidth channel to participate in its system. A. Time Required to Disribute Information Across a MRS We now describe the time required for a robot to share its knowledge with the rest of its system. We model the time required for a single robot’s knowledge to distribute amongst its teammates, although the time required for all of robots to distribute their knowledge will be the same since the distribution of each robot’s knowledge takes place in parallel. We state the general problem under investigation as follows: Given an n−robot system in which a single robot initially knows “x” and in every round of communication, every robot that knows x randomly chooses another robot in its system and tells it x, how many communication rounds will it take until all n robots know x Intuitively, we can see that all of the robots eventually will know x, since as time → ∞ the probability of a particular robot not being told x → 0. But how long will it take in practice before every robot knows x, and what will the variance in this time be? We model our system as a Markov chain as shown in Figure 1. The number of each state corresponds to the number of robots that know x. The initial state of the system is state 1, since initially only one robot knows x. From one communication round to the next, the number of robots that know x can at most double (if every single robot that knows x contacts a different robot that does not know x) and at least stay the same (if every robot that knows x contacts a robot that already knows about x). The Markov chain’s state transition probabilities are composed of two other probabilities. First, we calculate the probability that j[0, i] of the i robots that know x will contact one or more of the n − i robots that do not know x. This is a probability that follows the binomial distribution and is given by Equation 1. i n − i j i − 1 i−j Pj contact (i, j, n) = (1) j (n − 1) (n − 1) Equation 1 calculates the likelihood of various numbers of knowledgeable robots telling unknowledgeable robots about x, but it does not tell us the number of unknowledgeable robots 1 Kube’s robots did not use explicit communicate to coordinate with each other, but the physical footprint of the system was so small that it would have met our assumption.
This equation produces transition matrices that are both sparse and upper-diagonal. The characteristic form of these transmission matrices can be seen in Figure 2.
1 2
State-Change Probabilities
3
Transition Probability 1 0.8 0.6 0.4 0.2 0
4 5 6 Fig. 1. This state diagram represents a 6-robot system. Each state corresponds to the number of robots in the system that know x. Every communication round, each robot that knows x tells a randomly chosen teammate about x. Eventually, every robot will know x.
5 10 15 Current State20 25 30 30
25
10 20 15 Next State
5
that will be told x, since a single unknowledgeable robot could be sent a message from more than one of its teammates. We now calculate the second probability that is needed to determine the state transition probabilities for the Markov chain representation of our system: How many ways can j robots contact one or more of k robots so that exactly l[1, min(j, k)] robots get contacted? We begin by defining the answer to the above problem to be j a function f (l, k, j). There are l ways in which j robots can k contact up to l robots and l ways in which the l robots that get contacted can be chosen. However, the lj ways in which up to l robots can be contacted includes all of the permutations in which less than l robots are contacted. We must subtract the number of ways in which from 1 to l − 1 of l robots can be contacted by j robots. These figures simply are al f (a, a, j), where a = 1 to l − 1. Finally, we can see that f (1, k, j) = k by inspection2 .
f (l, k, j) =
(
l > 1: kl l = 1: k
i h j Pl−1 l l − a=1 a f (a, a, j)
(2) In total, there are k j ways in which j robots can contact up to k robots, so the probability of j robots contacting exactly l of k robots = f (l,k,j) . Using this result and Equation 1, we kj can calculate all of our Markov chain representation’s state transition probabilities by Equation 3. Ps (i + j|i) =
i X P (q)f (j, k, q) q=j
kq
Markov chains of the form illustrated in Figure 1 have exactly one absorbing state, n: the state in which all of the robots know x. The average time for a robot to share its knowledge with the rest of its system is equal to the average number of state transitions required for the system to reach state n from state 1. We can calculate this number of transitions by first decomposing the transition matrix P as shown in Equation 4. S T (4) P = 0 I The average number of communication rounds required to reach the absorbing state from state 1 is found by summing the elements in the first row of Q, which is calculated as shown in Equation 5. Q = (I − S)−1
(3)
are k1 = k ways in which one robot can be chosen from k robots, and only one way in which j robots can all contact the same robot. 2 There
Fig. 2. This figure illustrates the manner in which information would spread from one robot to the rest of its system using our communication scheme. The current state is the number of robots that know some piece of information. Each of these robots chooses a random teammate and sends it a message with the information. The next state is the number of robots that will know the information after all of the robots have sent their message. Initially, only one robots knows the information, but because the transition matrix is upper diagonal, more and more robots become informed after every round of communication until all of the robots share the information. The narrow ridge of non-zero probability in the figure leads to small confidence intervals in the over all transition time, meaning that the time required for information to become completely disseminated can be predicted very accurately.
(5)
Figure 3 plots the absorption time versus system population for systems containing up to 32 robots. The trend is logarithmic: doubling a system’s population increases the time required for all robots to share their knowledge with
˜ communication rounds). each other by a constant amount (1.7 Furthermore, the increase in the size of the 95% confidence intervals with system population appears to be negligible for systems larger than about eight robots.
P (receive 1 message)
=
Theoretical System Absorption Time 14
P (receive 2 messages)
n−2 n−1
1 2!
Time
10 8 6
P (receive 3 messages)
= =
4
1
2
4
8
16
32
System Population Fig. 3. Here we have a plot of the time required for robots to share their knowledge with the rest of their system (the absorption time) versus system population. Notice the logarithmic relationship and that the 95% confidence bounds appear to converge to a constant size for n ≥ 16 robots.
1 P (receive k messages) = k!
n−2 n−1
n−2 n−1
2
1 n−1
n−3 n−1
1
1 n−1 n−2
n−1 3 1 3!
2 0
1 n−1 n−2
n−1 2
= =
12
n−1 1
=
Qk
(8)
n−3
(9)
n−4
(10)
n−2 n−1
n−k
n−2 n−1
3
n−2 n−1
n−2
n−2 n−1 n−3
i=3 (n − i) (n − 1)(k−2)
!
(11) These equations all are factored in particular manner. The first term is a constant (with respect to n) scaling factor, which becomes very small very quickly. The middle term takes the form is of Equation 12 which approaches unity as n increases, removing it from the equations.
B. Message Traffic in an n-Robot System We now turn our attention to the behavior of message traffic in a MRS employing our proposed communication scheme. In particular, we are interested in the communication load that the scheme would place on the individual robots. Since each robot will issue at most one message per communication round, the transmission portion of the load has quite a low bound. Reception, on the other hand, is less clear. How many messages can we expect a robot to receive per communication round? Knowing the likelihood of a robot receiving various numbers of messages in a single round (or, for that matter, the probability of not receiving more than a certain number of messages) is important, as we must take it into account when we design the robots’ communication layers. How do these probabilities scale as the system population grows? Our analysis begins with Equation 6, which describes the probability of a robot receiving i messages in a single timestep in an n-robot system.
nk−2 + ak−3 nk−3 + ak−4 nk−4 + . . . + a1 n + a0 nk−2 + bk−3 nk−3 + bk−4 nk−4 + . . . + b1 n + b0 What remains, then, is the final term:
n−2 n−1
n−k
(12)
. On closer
n−1 n , n
inspection, we can see that this is a variation of which is the reciprocal of the definition of the mathematical constant e, shown in Equation 13. lim
n→∞
n n−1
n
=e
(13)
Thus the final term of Equation 11 → 1e as n → ∞. This result allows us to rewrite the probability of receiving i messages as Equation 14. lim P (receive i messages) =
n→∞
1 i!e
(14)
i n−i−1 Equation 14 makes good sense, since summing up all of n−1 i n−2 these probabilities = 1 by the infinite series definition of e. i n−1 n−1 (6) Figure 4 plots of Equations 7 to 10 against system population for up to n = 32 robots. Expanding Equation 6 for the first several values of i The graph clearly illustrates that the probabilities converge produces Equations 7 to 11: quickly to their predicted limits. Indeed for systems larger than 20 robots, the probabilities of receiving i messages have 1 0 n−2 n−1 1 n−1 dealmost reached their limits. Given the the rate at which i!e = 0 n−1 n−1 n−1 P (receive 0 messages) (7) creases, we should not expect individual robots to receive large n−2 = n−1 numbers of messages regardless of their system’s population.
P (receive i messages) =
Theoretical Probability of Receiving 0-3 Messages per Time Step
Experimental System Absorption Time 14
1 0 msgs 1 msg 2 msgs 3 msgs
10 Time
Probability
0.8
12
0.6
8 6 4 2
0.4
0 1
0.2
2
4
8
16
32
System Population
0 4
8
12
16
20
24
28
32
System Population
Fig. 5. This figure plots the actual time required for a robot to distribute its knowledge to the rest of its system as measured from a simulation of robots exchanging messages with each other. Our measured data is almost identical to the theoretical predictions presented in Figure 3.
Fig. 4. This graph plots the probability of a robot receiving 0 to 3 messages in a single communication round against system population. The probability 1 of receiving i messages quickly converges to its limit of i!e . The probability of receiving more than 4 messages per round is insignificantly small.
Absorption Time 95% Confidence Interval Magnitudes vs. System Population
III. E XPERIMENTAL V ERIFICATION In the previous section, we presented two analytic models to describe the rate at which information can be shared and the behavior of message traffic in a distributed MRS. In this section, we present the results of simulations that we carried out in order to validate our theoretical results. We will present the experimental verification of our theory in the same order as the theory was developed in Section II.
Confidence Interval Magnitude
3 2.5 2 1.5 1 0.5 0 A. Time Required to Disperse Information Numerical simulations of n robots were carried out in which initially only one robot knew some piece of information. In every round of communication, each robot that knew the piece of information contacted a random robot in its system and passed the information along. 10, 000 trials were conducted for each system population. The average time required for the initial robot to share its knowledge with all of its teammates along with 95% confidence bounds is presented in Figure 5. This figure is almost identical to its theoretical counterpart, Figure 3. An intersting observation about the absorption plots is that the 95% confidence intervals cease to increase for system’s beyond approximately 16 robots. A plot of the magnitude of the 95% confidence intervals versus system population is given in Figure 6. B. Message Traffic in an n−Robot System A simulation in which n robots sent messages back and forth was conducted to verify the results of Section II-B. At each timestep, each robot would randomly choose a member of its system (other than itself) and send it a message. The probability of receiving i messages was calculated based on
5
10
15
20
25
30
System Population Fig. 6. In this graph, we plot the magnitude of the 95% confidence intervals of the data from Figure 5 for systems up to 32 robots. Despite the increase in system population, the absolute confidence in the absorption time remains constant for MRS with populations greater than n = 16 robots.
the numbers of messages that each robot received in each communication round. The data from this simulation is plotted in Figure 7 using the same scales as were used in Figure 4. Again, our experimental results match up with our theoretical predictions. IV. A PPLICATIONS
AND
D ISCUSSION
In this section, we discuss implementation issues and touch briefly on a few specific applications of our proposed communication scheme. We have presented an elegant approach to system-level communication in distributed MRS, but how could it be deployed in practice? The first question that must be asked is: “What should be communicated?” As much of the power of a distributed MRS is derived from the continuous
communication round is not specified a priori and would in practice be somewhat variant. Further, communication would not occur in march-step along any central clock. The use of more sophisticated communication channels, such as digital spread-spectrum would allow many robots to simultaneously deliver their messages, shortening the communication rounds and thus speeding up the process.
Measured Probability of Receiving 0-3 Messages per Time Step 1 0 msgs 1 msg 2 msgs 3 msgs
Probability
0.8
A. Alerting to an Emergency
0.6 0.4 0.2 0 4
8
12
16
20
24
28
32
System Population Fig. 7. Here we plot the probability of a robot receiving 0 to 3 messages per communication round as measured from our simulations of MRS. These measurements are nearly identical to our analytical predictions presented in Figure 4
local interaction of its member robots, we must be careful not to replace it. Instead, we view the role of system-level communication in a distributed MRS as that of providing high-level direction. Consider collective construction as the composition of foraging, transport and sorting [6]. Distributed, reactive MRS already exist that can carry out each of these subtasks effectively, and so system-level communication should play little or no role during their execution. Rather, switching from one subtask to the next smoothly and specifiying thier focus3 requires system-level coordination, that is one of the key areas where we see an application for the work described in this paper. How our communciation scheme should be implemented in practice will depend on the MRS that would be using it. For example, a small (5-10 robot) MRS could utilize a single radio channel and a “wait-until-clear” transmission policy. In practice, the required bandwidth of the systemlevel communication channel will depend on the size of the MRS and how quickly system-level communication must take place. In the analysis of our scheme, we measured time in terms of “communication rounds”. It is unreasonable to expect every robot in a system to simaltaneously transmit a message to a teammate. By the use of the term “communication round”, we mean the time required for every robot to get a message delivered. In our single-channel wait-until-clear example above, a communication round would be the amount of time required for a single robot to deliver its message to a teammate times the population of the team. The length of a 3 In the case of our construction example, the focus of a subtask could be the location to which materials should be transported, or the location of the construction site.
At its most basic level, our communication scheme could be considered a wireless analogue of the emergency pheromones secreted by some social insects to alert their colony to an emergency [cite “The Ants” E. O Wilson]. MRS are no more immune to emergencies than an ant colony. Upon detecting an emergency (room on fire, beginning to rain, etc.), the detecting robot would start sending messages to randomly chosen teammates informing them of the situation. These robots would then begin passing the information on to other randomly chosen teammates. In a very short and predictable period of time, the entire MRS would be appraised of the situation and their responses to it could better be coordinated. For example, a distributed formation movement algorithm could be executed by the robots to remove themselves from the emergency while retaining system integrity. B. State Sharing The preceeding example is a simple case of state sharing. Numerous team coordination problems have been shown to be much more easily solved when information is shared [8]. Using our communication scheme, robots in a distributed MRS could share information about the perceived state of the world with each other in an efficient manner. By sharing this information, the robots would be able to take into account the overall state of their system when making local decisions about how to act. C. Registering with a MRS Researchers often have cited that distributed MRS are robust with respect to failure because individual robot failures will not significantly impact the performance of the system as a whole [9]. If we are to entertain the idea of individual robot failure4 , then we must plan to to add new robots to a system accomodate the loss of those which they are replacing. Using our communication scheme, the knowledge of a new robot or the failure of an current robot could be spread across a system efficiently. Sharing such information is important because all messages between robots are addressed, so new robots need to spread their address to their teammates and the addresses of failed robots should be removed from the robots’ address books. D. Collective Relocation and Decision-making Parker and Zhang described a collective decision-making algorithm and motivated it with an example domain that they called collective relocation [10]. In this domain, a team 4 . . . which
all experience in this field tells us we must!
of robots must relocate itself to some new home base, the location of which must be chosen a variety of candidate sites in the surrounding environment. Consider a MRS that is focusing on the repair of a wall at one location. Following the completion of the work, the system would move to the section of wall that most needed attention. Individual robots would propose sections of the wall that needed to be repaired, and the system would then have to choose which section should be fixed next and move to it. The communication scheme described in this paper would permit the knowledge of the candidate wall sites to be shared very rapidly. Further, robots could choose to inform each other only of the candidate site that they prefered. Individuals could ascertain which site was considered best by its system by comparing the rates at which it received messages regarding each of the choices. Thus our communication scheme is a means to bring about system-level decision-making in distributed MRS. E. Task Allocation Task allocation is important in MRS if we are to build systems to solve problems that require heterogeneous cooperation5 Somehow, the roles must be allocated amongst the robots. This presents a problem in distributed systems, since there is no centralized controller to determine and dictate an allocation. Using our communication scheme, robots could individually decide to adopt a particular role and then share that information with the rest of their system. The remaining robots could then choose their roles from the remaining unassigned roles. This would bring about a greedy task allocation. If more sophistication were required, a group decision could be made in a similar manner as the collective relocation task described above. V. C ONCLUSIONS
AND
F UTURE W ORK
In this paper, we have presented a theoretical and experimental analysis a new communication scheme for distributed MRS based around the random peer-to-peer exhange of messages. We have shown, both analytically and empirically that such communication is both fast and well behaved as a system’s population increases. We also have shown that the communication layers of the individual robots that compose a system will not be overloaded through the use of our approach. Many papers have advocated the use of distributed MRS due to their apparent robustness. Most distributed MRS to date have been single purpose systems that are placed in an environment and started. Such systems do not represent general purpose MRS. Instead, we need to design distributed MRS that are able to accomplish variety of tasks and accommodate a changing environment. In order to develop such systems, communication to bring about system-level coordination focused on a desired task must be provided. Our next tasks are threefold. We currently are developing physical MRS that will emply our communication scheme for state sharing and emergency notification. Second, we will 5 Coopertion in which different members of a team adopt different roles in the solution (e.g. one robot holds a nail while another hits it with a hammer).
combine the work of this paper along with that of our earlier decision-making work [10] to solve the collective relocation task in a physical environment. Finally, in this work, we have concentrated on single-hop communications. In order to make our communication more generally applicable, we intend to investigate the use of a dynamic wireless network composed of the individual robots and multi-hop routing to deliver the peerto-peer messages from source to destination. Employing multihop communications will increase the load on the individual robots, as they would have to receive messages not only for themselves, but also receive and retransmit messages intended for their teammates. How much this will increase the communication load and affect the overall performance of our communication scheme will need to be investigated further. R EFERENCES [1] G. Dudek, M. Jenkin, and E. Milios, Robot Teams. A K Peters, Ltd., 2002, ch. A Taxonomy of Multiple Robot Systems, pp. 3–22. [2] J. L. Deneubourg, S. Goss, N. R. Franks, A. Sendova-Franks, C. Detrain, and L. Chr´etien, “The dynamics of collective sorting: Robot-like ants and ant-like robots,” in Proceedings of First International Conference on Simulation of Adaptive Behavior, 1990, pp. 356–365. [3] C. R. Kube and H. Zhang, “The use of perceptual cues in multi-robot box pushing,” in Proceedings of the 1996 IEEE International Conference on Robotics and Automation, 1996, pp. 2085–2090. [4] O. Holland and C. Melhuish, “Stigmergy, self-organisation, and sorting in collective robotics,” Journal of Adaptive Behaviour, vol. 5, no. 2, pp. 173–202, 1999. [5] S. Boyd, A. Ghosh, B. Prabhakar, and D. Shah, “Gossip algorithms: Design, analysis and applications,” in Proceedings of IEEE Infocom 2005, vol. 3, March 2005, pp. 1653–1664. [6] C. A. C. Parker, H. Zhang, and C. R. Kube, “Blind bulldozing: Multiple roboto nest construction,” in Proceedings of the 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003), October 2003, pp. 2010–2015. [7] C. R. Kube and E. Bonabeau, “Cooperative transport by ants and robots,” Robotics and Autonomous Systems, vol. 30, no. 1/2, pp. 85–101, 2000. [Online]. Available: citeseer.ist.psu.edu/kube98cooperative.html [8] D. V. Pynadath and M. Tambe, “The communicative multiagent team decision problem: Analyzing teamwork theories and models,” Journal of Artificial Intelligence Research, pp. 389–423, 2002. [9] Y. U. Cao, A. S. Fukunaga, and A. B. Kahng, “Cooperative mobile robotics: Antecedents and directions,” Autonomous Robots, vol. 4, pp. 1–23, 1997. [10] C. A. C. Parker and H. Zhang, “Biologically inspired decision making for collective robotic systems,” in Proceedings of the 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2004), September 2004, pp. 375–380.