Dynamic Task Allocation in Cooperative Robot Teams

In this paper a dynamic task allocation and controller design methodology for cooperative robot teams is presented. Fuzzy logic based utility functions are derived to quantify each robot's ability to perform a task. These utility functions are used to allocate tasks in real-time through a limited lookahead control methodology partially based on the basic principles of discrete event supervisory control theory. The proposed controller design methodology accommodates flexibility in task assignments, robot coordination, and tolerance to robot failures and repairs. Implementation details of the proposed methodology are demonstrated through a warehouse patrolling case study.


Introduction
Many applications in industrial, civilian and military fields benefit from mobile robot utilization.Application domains vary from warehouse patrolling to service robotics and to space exploration.Mobile robots have been reported to explore, map or inspect friendly or hostile territories (Kumar & Sahin, 2003), (Zhang et al., 2001), (Jennings et al., 1997), or dispense medications in medical facilities (Krishnamurthy & Evans, 1992).Specifically in industrial applications, such as manufacturing, underground mining, toxic waste cleanup and material storage/handling, where many processes take place in hazardous environments harmful to human health, the choice of robotics-based solutions is justifiable.Furthermore, as the complexity and requirements of an application increases, significant advantages may be drawn from the use of multi robot systems.A major challenge when working with multi robot systems is that of task allocation and coordination.The overall mission is decomposed into multiple tasks to which one or more robots are assigned.The task allocation problem is further complicated considering the dynamic characteristics of the robot team such as robot failures and repairs that may lead to incomplete tasks.The robot team should be able to complete the mission even if some team members are no longer operational and/or available.This paper describes a general dynamic task allocation and controller design methodology for cooperative robot teams.The robot team is modeled as a Discrete Event System (DES).Each robot is modularly represented by a finite state automaton model.The mission requirements model is synthesized from individual finite state automata representing task completion requirements.
The proposed control methodology is partially based on the Ramadge & Wonham (RW) supervisory control theory (Ramadge & Wonham, 1987).However, instead of synthesizing a complete supervisor, as the traditional RW theory suggests, a limited lookahead policy is adopted that enables/disables events in the system in real-time based on the evaluation of a utility function and robot availability.The utility function uses fuzzy logic to quantify the ability of a robot to perform a task.The robot modules appear or disappear overtime depending on robot failures and repairs.When a failure event occurs, the control methodology re-allocates tasks to the operational robots of the team to ensure mission completion.In cooperative robot teams, several characteristics of the team members, such as endurance, reliability, efficiency etc, must be considered in task allocation decisions.We describe these characteristics as fuzzy variables and develop a fuzzy controller to determine the utility function value for each task allocation event.These values are then used to determine a preferred task allocation in real time as a part of the proposed controller design methodology.Our work is motivated first by the fact that in traditional supervisory control theory, the acceptable sequences of event execution determined apriori are computationally intractable for realistic size problems.Furthermore, in applications where there is a significant degree of uncertainty associated with resource reliability and the environment, these sequences may not be executable.Instead, we propose a control approach based on a limited lookahead control policy for task allocation in real time.Secondly, in supervisory control theory the criteria used in restricting the state-to-state transition of the system are the marked states, which denote the acceptable states, and the legal language, which denotes acceptable system behavior.These criteria fail to describe a preferred behavior within the acceptable behaviors.This work combines the modeling strengths of DES and supervisory control theory to model comprehensive inter task dependences and robot interactions applicable to most task allocation problems.Specifically, this works demonstrates flexibility in task assignments, task sequencing, robot cooperation and coordination, and tolerance in robot failures and repairs.In addition, given that there is diversity between the robots' capabilities (heterogeneous robot team), the proposed methodology can be applied to missions where each task presents distinct requirements.The rest of this paper is organized as follows: Section 2 discusses the related literature.Section 3 presents the DES models of the robot team and mission requirements models for the task allocation problem.Section 4 describes the utility function concept, the fuzzy controller used to determine the utility function values for task allocation events and the proposed limited lookahead policy.Section 5 introduces failures and repairs in the proposed model.Section 6 discusses scalability issues for the proposed methodology.Section 7 presents simulation results using for a case study and finally, Section 8 concludes this paper.

Related literature
The task allocation problem has been addressed in literature by utility based approaches and auction based approaches for both cooperative robot teams and robot swarms.Utility based approaches have been used for task allocation in many control architectures as in (Parker, 1998), (Zlot et al., 2002) and (Timofeev et al., 1999).Each task is assigned to a robot based on various utility estimates: In (Parker, 1998) each robot is assigned a task based on utility estimates of acquiescence and impatience.In (Zlot et al., 2002) utilities are computed as a function of relevant sensors; the robot having the most relevant sensors for a task is assigned the particular task.Utility has also been used in robot team cooperation to estimate the cost of executing an action (Botelho & Alami, 1999) and for sensor-based metrics (Gerkey & Mataric, 2002).Auction based approaches as in (Lagoudakis et al., 2004), (Botelho & Alami, 1999) and (Gerkey & Mataric, 2002) achieve task allocation based on the Artificial Intelligence concept of Contract Net Protocol (Davis & Smith, 1983).Each robot bids for an available task and the robot with the higher bid is assigned to that task.In the proposed control methodology, the dynamic task allocation problem is addressed using utility and fuzzy logic.Utility function values are computed based on the ability of each robot to perform a task considering several factors.Limited lookahead policies for supervisory control have been first studied in (Chung et al., 1992) where a limited lookahead window is used to control the online behavior of the uncontrolled system model.The notion of pending traces is introduced to describe the legality of a trace in the lookahead window based on a conservative or an optimistic attitude.The notion of pending traces was later raised in (Kumar et al., 1998) by extending the uncontrolled system model behavior by arbitrary traces beyond the limited lookahead window.In (Chung et al., 1993), the authors present a methodology that recursively computes the future control actions based on previously computed control actions.Later, in (Chung et al., 1994) and in (Hadj-Alouane et al., 1994) the authors present an extension to the lookahead policies to cope with the computational complexity problem by making a control decision without exploring the whole lookahead window.Further enhancements in limited lookahead policies for supervisory control have been proposed.In (Heymann & Lin, 1994) a lookahead policy is presented for systems with partial observability.Also, in (Kumar & Garg, 2001) system's uncertainty is considered by assigning probabilities to event occurrences and in (Lin, 1993) by modeling all possible variations of the system.To our knowledge there are no limited lookahead policies in the literature designed to control cooperative robot teams.As noted in (Grigorov & Rudie, 2006), only few approaches, as described in (Yi-Liang et al., 1997) and (Gordon & Kiriakidis, 2000), concentrate in time varying systems where system modules appear or disappear in time.In these approaches resource modules disappear only after the completion of assigned tasks.In this work, we relax this assumption by considering failures during task execution.In coordinated robot teams the concept of robot failures and repairs is important since a robot failure while executing a task will lead to an incomplete mission unless the control model reassigns the task elsewhere.The lookahead policy presented in this paper considers robot failures and repairs to ensure mission completion.Supervisory control based approaches on discrete event system have been used by a number of researches to control mobile robot teams.However, although a limited amount of work considers robot failures, not much effort is found in the area of control decisions concerning robot rejoining the robot team after repairs.Specifically, the automata based approaches presented in (Gordon-Spears & Kiriakidis, 2004), (Kiriakidis & Gordon, 2001) and (Xi et al., 2003) consider situations where some robots go offline but do not take into account situations where robots come back online.Similarly, the Petri Net controller in (Jamie et al., 2003) disregards robot repairs.Finally, the control architecture presented in (Kimura et al., 1998) handles only robot failures.The contributions of this work can be summarized as follows: 1. Modular design that allows for consideration of robot failures and repairs in the system's behavior.It should be noted that most work in the literature of task allocation addresses only cases of robot failures.2. Modeling of comprehensive inter task dependencies and robot interactions.
3. Development of a fuzzy logic based utility function to quantify the ability of a robot to perform a set of tasks.
The fuzzy logic controller takes into account several practical aspects of robot operation to suggest which robot is appropriate for which task. 4. Task allocation that relies not only on the concept of acceptable behavior rather the concept of preferred system behavior.The weakness of this work is the increasing state size due to finite automata representation.The proposed methodology is applicable to medium size robot teams (2-7 robots) in realistic size missions (2-9 tasks).

Robot team models
In RW supervisory control theory, the uncontrolled system's model (UCSM) and the mission requirements are separately modeled using finite automata (FA) models.The FA model G j = (Σ j ,Q j , q j0 ,δ j ,Q jm ) represents the uncontrollable behavior of Robot j.Σ j is the set of events, Q j is the set of states and δ j : Σ j × Q j → Q j is the transition function.q j0 and Q jm are the initial and final states respectively.The set of events Σ j consists of the controllable and the uncontrollable events Σ j = Σ jc ∪ Σ ju and Σ jc ∩ Σ ju = ∅.Fig. 1 depicts the transition graph for the automaton describing Robot j.An arrow marks the initial state and the marked state is shown as a dark circle.Regarding a Task k, the states and the events of Robot j are defined as shown in Table 1.The FA model design incorporates two different cases of robot failures and repairs.A robot failure may be considered as (i) temporary failure or (ii) failure with task reinitialization.In the first case, the failed robot will continue executing its task as soon as is repaired while in the second case the task of the failed robot needs to be reinitialized.The UCSM that represents the uncontrolled behavior of the robot team is composed of the synchronous product (Cassandras & Lafortune, 1999) The specification's model is the finite automaton that models the mission requirements which is synthesized using individual task completion requirement models.Four alternative task completion requirements are modeled: Through the task completion requirements it is possible to model inter task dependences and robot interactions.To demonstrate, assume that Task 1 is to inspect an area for fire and chemical spills and that Robot 1 carries a fire detection sensor and Robot 2 a chemical sensor.To avoid damaging any of the robots, it would be logical to first inspect for fire using Robot 1 and then for chemical spills with Robot 2. Finally, Fig. 2d describes a robot cooperation procedure where two robots have to perform a task simultaneously.Formally, task completion requirements are modeled as finite automata of the form: where n is the number of the individual task completion requirements.The specification's model, S, is a finite automaton synthesized by the synchronous product of all mission requirements.Formally, the specifications model is synthesized as follows: The supervisory control model for the team of robots consists of the coupled system model S / G and the control pattern Ψ .The coupled model is defined as the product of the UCSM and the specifications model, which includes all the events that are allowed by both models: The control pattern Ψ is a function Ψ : Σ × Χ → (0,1) based on the supremal-controllable language of the coupled model that enables (1) or disables (0) the controllable events in the UCSM so that desirable system behavior is guaranteed.The synthesis of the control pattern and consequently the solution to the supervisory control problem is a computationally prohibitive procedure for larger systems.Furthermore, while a task allocation and desired control pattern determined a priori may be executable with reliable resources in controlled environments, such a sequence of events is very unlikely to be executed to completion in applications associated with cooperative robot teams due to unreliable resources and uncontrollable, and possibly hostile, environments which robot teams typically operate in.
In this paper, instead of following the traditional supervisory control approach and synthesizing the complete supervisor for the system, a limited lookahead control policy is adopted.Limited lookahead control approaches are suitable for highly dynamic systems since only a portion of the system corresponding to the system's behavior in the near future is considered for evaluation.A limited lookahead window of finite depth is used to direct the behavior of the system.Every time an event is executed in the UCSM, the lookahead window is reconstructed and all possible sequences of events in the lookahead window are evaluated.The event leading to the highest evaluated string is enabled while the rest of the controllable events are disabled.The evaluation criteria based on the utility concept are described in the next section.

Utility function definition
In heterogeneous cooperative robot teams, each robot possesses unique characteristics including but not limited to sensory capabilities, cost, efficiency and endurance.
Each robot presents a different level of ability to perform a certain task.A function can capture the robot's ability to perform a task in terms of utility.In addition the same utility function may be used to capture qualitative concepts such as the system designer's choice/knowledge to assign certain tasks to specific robots.For example, consider the case where the system's designer knows that between two robots that can perform the same task, one of the robots will perform better than the other.Obviously, the designer will wish to assign the particular task to the robot that performs better.These aspects complicate the task allocation problem.
An evaluation method that maximizes the overall performance of the robot team is required.In supervisory control theory, traditional system evaluation criteria are the marked states, which denote the acceptable states, and the legal language, which denotes acceptable system behavior.However, these criteria fail to describe undesirable yet acceptable behavior.
The proposed control methodology employs a utility function to evaluate strings in the lookahead window.We define a utility function : , which associates an event σ ∈ Σ with a utility value between 0 and 1 and we define the utility of a string s as: (5) The attributes mentioned that could be used to compute the robot's ability to perform a task, such as endurance, efficiency and designer's choice, represent vague concepts hard to describe mathematically.However, these concepts can be described in terms of fuzzy logic as fuzzy variables with linguistic membership functions.A Mamdani type fuzzy logic controller (Mamdani, 1976) is proposed that receives as inputs the membership of each fuzzy variable and computes the ability of a robot to perform a task.Depending on the mission's functional requirements and the operational characteristics of each robot in the team, the design of the fuzzy controller can include multiple attributes.Such attributes are defined by the system's designer and are limited only by the level of specificity the designer wishes to apply in the task allocation.
Examples of these attributes are the robot's endurance and efficiency, the designer's preference in task allocation, the cost of the robot, the number and the type of sensors a robot carries, the distance a robot has to travel to perform a task, the cost of assigning a robot to a task.
To demonstrate the operation of the fuzzy controller, three fuzzy variables are considered in this study: (i) robot's endurance, (ii) designer's choice and (iii) robot's efficiency.The first fuzzy variable has three membership functions {short, fair, long} and denotes how long a robot can remain functional.The second fuzzy variable with three membership functions {low, medium, high} denotes the system designer's choice to assign certain tasks to specific robots.Finally, the third fuzzy variable with three membership functions {low, medium, high} denotes the robot's efficiency level.The output of the fuzzy logic controller is also a fuzzy variable with membership functions {low, medium, high} denoting a robots ability to perform a task.
Considering a Task k and a Robot j , the ability of Robot j to perform Task k , denoted by ability jk , is computed based on a set of rules such as: The ability of a robot to perform a task is closely related to task allocation and consequently to task initiation events {start _ jk}.Thus, the utility function value of the events {start _ jk} is equal to the ability of Robot j to perform Task k .In other words, ( ) The events {drop _ jk} corresponding to task reinitialization due to robot failure represent cancelation of task assignments.The utility function values of the {drop _ jk} events are u(σ ) = −ability jk where σ ∈{drop _ jk}. (7) The higher the utility function value for an event, the more desired this event is.Since uncontrollable events {complete _ jk, failure _ jk, repair _ jk} cannot be enabled/ disabled, their utility function values are: Even though the uncontrollable events failure _ jk and repair _ jk have utility function values equal to zero, occurrences of such events influence indirectly the string utility.The impacts of such events to the controller design are discussed in the next section.
Each time an event σ occurs in the UCSM and the limited lookahead window is reconstructed, the utility function values for all the strings s ∈L(S / G) (the language of the coupled model) in the lookahead window are computed.The string with the highest utility function value corresponds to the most desirable system behavior.The maximization procedure is implemented as a dynamic programming problem (Bellman, 1952) with a forward sweep and a backtracking pass.A string that includes many task initiation events is evaluated higher than a string with fewer task initiation events.However, the highest evaluated string may not always correspond to the most desirable task allocation.Consider the case where 3 robots (Robot 1, Robot 2 and Robot 3) are assigned to perform 3 tasks (Task1, Task 2 and Task 3).If where N is the number of task initiation events in the string s is used.The normalized utility values of the two strings would be 1 and 2 respectively leading to the preferred choice of task allocation.It should be noted that the normalization of the utility function is also a design consideration and is customizable depending on the characteristics of the mission.

Robot failures and limited lookahead control policy
Frequently, during a mission, a robot may go offline due to a sensor failure or communication loss resulting in an incomplete task.The control methodology should be able to compensate for robot failures by reallocating tasks to the operational robots of the team.Two kinds of failures are considered in this work: temporary failures and failures with task re-initialization.Temporary failures, such as communication loss are failures that can be repaired in a short period of time and • If the robot's endurance is long, the designer's choice is high and the robot's efficiency is high, then the ability jk of Robot j to perform Task k is high • If the robot's endurance is fair, the designer's choice is medium and the robot's efficiency is medium, then the ability jk of Robot j to perform Task k is medium • If the robot's endurance is short, the designer's choice is low and the robot's efficiency is low, then the ability jk of Robot j to perform the task k is low Fig. 3. Events executed in the UCSM after a temporary failure Fig. 4. Events executed in the UCSM after a failure with task re-initialization the robot may continue executing its task after the repair.Fig. 3, demonstrates a temporary failure in a mission with 2 robots (Robot 1, Robot 2) and 2 tasks (Task 1 and Task 2), where each robot can perform both tasks.Robot 1 is failed in State 2 and repaired in State 4 to continue executing its task assignment.Failures with task re-initialization are failures that require re-initialization of the task assigned to the failed robot.For example, consider a sensor failure that it is not immediately recognized.However, during task execution the sensor failure is realized and the task needs to be reinitialized.The task, assigned to the failed robot, is reevaluated for allocation.Fig. 4 demonstrates a temporary failure with task re-initialization.Robot 1 has failed in State 2 while executing Task 2 and the failure is considered as failure with task re-initialization.In State 4, Task 2 is dropped and assigned to Robot 2. As mentioned in the previous section, the uncontrollable events failure _ jk and repair _ jk have utility function values equal to zero.However occurrences of these events influence the utilities of the controllable events allowing for an intelligent task allocation design.Consider the case where two robot candidates are to perform a task.Based on the evaluation methodology proposed in this work, the robot with the highest utility will be assigned to the task.If the robot fails while executing the task two things may happen: (1) task reinitialization and (2) the robot will be repaired and complete the task.Based on the utility assignment method discussed so far, the task will be re-assigned to the same robot after its repair, since this is the robot with the highest utility.In a real world application, such decision will not be ideal since the same failure might be repeated.For example, even though a robot can perform the specific task better than any other robot of the team, assume that its communications capabilities are not as strong as the capabilities of other robots.If the robot fails while performing a task due to a communication error, then repeating the task will potentially result to the same failure.In addition, even in the case of temporary failure without task re-initialization, it might be desired to re-assign the task to another robot.Consider that a mission is decomposed into multiple tasks and that Task k is the only task left to complete the mission.If Robot j fails while performing Task k, it might be preferable to drop the task and assign it to a different robot instead of waiting for Robot j to be repaired.Such observations lead to an intelligent controller design for task allocation.
To accommodate these observations in the control design, uncontrollable events influence the utility values of the controllable events related to the failed robots as follows: If a failure occurs in the UCSM, the utility of the failed robot for the specific task is reduced to the minimum of the utilities other robots in the team have for the same task.The evaluation process is repeated.This will allow the controller design to decide in re-allocating the task to a different robot.The block diagram of the control methodology algorithm consists of 5 main modules as shown in Fig. 5: 1. System Initialization: The UCSM and the specifications are generated as described in Section 3. Based on the fuzzy logic controller, each event is assigned a utility function value using Equations ( 7), ( 8) and ( 9). 2. Failure Detection: When a robot failure is detected, the information to be used in the calculation of the new limited lookahead window is forwarded to the next module.This information includes the set of events to be masked, the type of failure, and the expected time to repair.3. Lookahead window formation: Using as root state the initial state of the UCSM and the specifications model, a lookahead window is formed that includes all the transitions starting from the initial state up to a certain predefined depth in the coupled model.The transitions in the lookahead window form a tree of strings that can be executed in the UCSM.4. String Evaluation: Each string in the lookahead window is evaluated using the normalized utility function shown in Equation ( 9). 5. Control Decision: The event exiting the root state leading the string with the highest utility function value is enabled.All the other controllable events exiting the root state are disabled.In the case that two or more strings present the same utility function value all events leading these strings are enabled.At the next state, the new system state becomes the root state for the lookahead window and the procedure is repeated until the system reaches a marked state.

Scalability
The computational complexity of the traditional supervisory control problem is PSPACE hard.However, the proposed methodology does not require generation of a complete supervisor.The evaluation process is based on the events appear in the system's coupled model.The generation of the coupled model has linear computational complexity.
In addition, even though the evaluation problem is a general search problem with an NP-hard computational complexity, using the lookahead control policy presented in this paper, not all the states of the system need to be evaluated.
The complexity of the fuzzy logic design does not depend on the number of robots in the team or the number of the tasks.It depends only on the number of membership functions and the number of fuzzy variables the designer wishes to allow.Thus, the fuzzy logic design is scalable to any number of robots or tasks.
The bottleneck of the proposed methodology is the generation of the coupled model.Even though the computational complexity is linear, the state space increases exponentially.For this reason, the proposed methodology is applicable to medium size robot teams.In our experiments we were able to formulate problems with up to 7 robots and 9 tasks.The number of robots and tasks are comparable and in most cases greater than similar work in task allocation for robot teams reported in literature.An alternative controller design, based on control pattern generation on the fly, as in (Yalcin, 2005) would disregard the coupled model generation and allow the proposed methodology to be applicable to bigger size robot teams.In future research such methodologies will be considered.

Case study
This section discusses a case study based on computer simulation results.The controller design methodology for dynamic task allocation is applied to a warehouse patrolling application scenario.As depicted in Fig. 6, a team of mobile robots is assigned to patrol a warehouse containing hazardous and security sensitive materials.Three robots with different sensory capabilities are considered.Based on the robot sensory capabilities described in Tables 2 and 3, possible robot-task allocations for Task k and Robot j are defined as: Each robot is modeled as a finite automaton as described in Fig. 1.The UCSM is described by the Equation 1. Task completion requirements are also modeled as finite automata, Fig. 2, and the overall mission requirements are described by Equation 3. Tasks 1-4 are modeled based on Alternative 2 and Task 5 is modeled based on Alternative 3. The ability of each robot to perform a task is computed by the fuzzy logic controller described in Section 4. The membership functions for the fuzzy variables endurance, efficiency and designer's choice, are shown in Table 4. Fig. 7 depicts the fuzzy variables and their membership functions we have adopted for the patrolling application.the quality of task allocation decisions where the higher values indicate better task allocation decisions.Average state space refers to the average number of states explored each time a lookahead window is created during an experimental run.This metric refers to the computational requirement for real time decision making.Finally, total state space metric refers to the total number of new states explored during the entire experimental run.Table 6 summarizes the results of the 20 experimental runs.In this scenario, the uncertain environment arising from robot failures produced a more mixed set of results.In all cases including the maximum lookahead depth of 14 the average total utility was less than the maximum total utility.Note that the percentages of computational requirements for the LLD of 2, 3, and 6 were less since the maximum lookahead depth in this scenario was higher.In order to demonstrate the impact of the LLD on task allocation decisions based on the total utility of the executed events, we compared the null hypothesis against the alternative hypothesis that the means are different using a single-factor analysis of variance (ANOVA) with four levels of LLD and 20 repetitions.The results indicate that there is a significant difference between the means and LLD is a factor that impacts the total utility level.Subsequently we conducted similar experiment but this time using 3 levels of LLD 3, 6 and 14.The results of this analysis show no significant difference between the means.In summary, these preliminary experiments indicate that a limited lookahead control policy provides a computational efficient approach to the problem of task allocation.However, the depth of the limited lookahead window must be carefully chosen based on the characteristics of the mission as well as the desired level of optimality as the quality of the task allocations is dependent on this parameter.Furthermore, these preliminary results indicate that LLD of less than ¼ of the maximum lookahead depth provides compounded reductions in the computational requirements where on average less than 10% of the computational requirements are sufficient to make control decisions.However, it must be pointed out that this statement must be further verified with larger experimental designs.Additional simulations with 5 robots and 6 tasks have been performed.Table 6 summarizes the results.The maximum utility in this case is 5.09.

Conclusions
In this paper we describe a novel control methodology for task allocation in cooperative robot teams.Finite automata formalism is used to model the robot team and the mission requirements as discrete event systems.In developing the system model, we considered flexibility in task assignment, robot coordination for task completion and robot failures and repairs.These characteristics are commonly encountered in mission planning and execution of cooperative robot teams.We also describe a utility function for task allocation that uses fuzzy logic to describe various robot capabilities which are difficult to quantify.Subsequently, a limited lookahead control policy coupled with a fuzzy controller is developed for task allocation in real time.The use of limited lookahead policies presents significant advantages in terms of computational complexity.The computational complexity of the traditional supervisory control problem is polynomial (Ramadge & Wonham, 1987) if the UCSM and the specification's model describe perfectly the behavior of the robot team and the mission requirements.However, if there is imperfect information about the system then the complexity becomes PSPACE hard (Blondel & Tsitsiklis, 2000).The limited lookahead policy proposed in this paper is based on the coupled model of the system where the computational complexity of the coupled model generation is linear.The computational results show that only a fraction of the coupled model needs to be explored in the limited lookahead window to make task allocation decisions.The preliminary results show that task allocation decisions based on the limited lookahead window control policy produces comparable results when compared with exploring the complete coupled model.Further completely randomized experimentation is required to generalize these findings.The limited lookahead depth is a critical parameter affecting the quality of task allocation as well as computational complexity.The results in Section 7 indicate that larger limited lookahead depths lead to higher number of states visited by the control algorithm.This is an expected result, however, the associated increase in the utility of task allocation is not as clear cut.In this work, as in most of the referenced literature, the depth of the lookahead window is arbitrarily chosen.In (Chung et al., 1992), the depth window is computed based on the number of uncontrollable events in the system.A future research direction involves determining the characteristic associated with cooperative robot teams and their missions, which may be used to develop a methodology to calculate a dynamic limited lookahead depth in real time.Such an approach will result in a controller that is adaptable to the changing needs of missions and cooperative robot teams.

Fig. 2
depicts the transition graphs for these four alternative task completion requirements.Fig.2adescribes the requirement where Task k can be performed only by Robot j.If Robot j fails during the task, the task may be re-initialized as shown by the drop_jk event.Fig.2bdescribes flexibility in task assignment where Task k can be performed by Robot j or Robot i. Fig.2cdescribes task sequencing and robot coordination where Task j must be completed first by Robot j and then by Robot i.Consider the scenario where two Robots, e.g.Robot 1 and 2, must perform one Task, e.g Task 1.

Fig. 5 .
Fig. 5. Block diagram of the control algorithm

Table 4 .
Fuzzy logic membership functions for the patrolling scenario Fig. 7. Membership functions of the fuzzy variables: robot's endurance, and designer's choice, robot's efficiency and robot's ability There are 27 such rules in the fuzzy controller, which cover all combinations among the membership functions of the input variables.The corresponding event utility function values based on Equation (7) are: Total utility refers to the sum of the utility of the events executed in the experimental run.This is an indicator of

Table 5 .
Summary of simulation results