BOAs: BackOff Adaptive scheme for Task Allocation

0 downloads 0 Views 1MB Size Report
macro-task. This allows tasks to be represented by matrices under a common, known set of basis tasks, facilitating the manipulation and use of task information ...
Proceedings of the 2004 IEEE International Symposium on Intelligent Control Taipei, Taiwan, September 2-4, 2004

BOAs: BackOff Adaptive scheme for Task Allocation with Fault Tolerance and Uncertainty Management Cheng-Heng Fua and Shuzhi Sam Ge

Khiang Wee Lim

Department of Electrical and Computer Engineering National University of Singapore Singapore 117576 {g0301481, elegesz}@nus.edu.sg

Singapore Institute of Manufacturing Technology 71 Nanyang Drive Singapore 638075 [email protected]

Abstract— In this paper, we propose the BackOff Adaptive scheme (BOAs) as a new technique for the automatic allocation of tasks amongst a team of heterogeneous mobile robots. It is an optimal, decentralized decision making scheme that utilizes explicit communication between the agents. A structured and unified framework is also proposed for task specification. This scheme is fault tolerant (to robot malfunctions) and allows for uncertainty in the nature of task specification in terms of the actual number of robots required. Team demography may change without the need for the re-specification of tasks. The adaptive feature in BOAs further improves the flexibility of the team. Realistic simulations are carried out to verify the effectiveness of the scheme.

I. I NTRODUCTION A well known fault tolerant architecture is ALLIANCE, proposed by Parker [1], which integrates impatience and acquiescence into each robot. Parameter adaptivity is incorporated into the architecture in [2]. The Broadcast of Local Eligibility (BLE) technique, proposed by Werger and Matari´c [3], uses cross inhibition of behaviors between robots in a team based on a calculated task eligibility measure together with a subsumption hierarchy between local behaviors to achieve multi robot coordination. Gerkey and Matari´c [4] reduced the task allocation problem into an assignment problem, followed by an analysis and comparison of various recent approaches used for task allocation. Chaimowicz et al. [5] proposed a dynamic role assignment scheme that represents roles as control modes in hybrid automatons. The MURDOCH task allocation system proposed by Gerkey and Matari´c [6] uses an auctioning approach, as well as a publish/ subscribe communication model for anonymous communication between the robotic entities. Miyata et al. [7] presents a task assignment architecture that uses task templates and the prioritization of task instances in a task assignment planner. Emotions are used by Murphy et al. [8] to resolve the problem of deadlocks in a team of robots that are working on interdependent tasks. Shehory and Kraus [9] proposed the formation of coalitions in agent teams and assigns tasks to each coalition. Following the allocation of tasks, the way in which the robots choose to achieve their allotted task may range from swarming to traditional modelling and

0-7803-8635-3/04/$20.00 ©2004 IEEE

162

planning approaches. The lower level behaviors of robots (such as for obstacle avoidance, target tracking and multirobot formations) may be implemented using the methods proposed by Ge et al. [10]–[12]. The main contributions of this paper are as follows: (i) Tasks are specified using a general and structured framework that makes use of the notion of basis tasks. This provides a well defined interface that facilitates interactions and task specifications by users or high level task decomposers to the team of robots. It also improves the portability of tasks across teams without the need for modifications. The ‘⊙’-operator is introduced to allow the decomposition of a task specification into the Tspec and L matrices, reflecting the nature of the task and the parameters that define the details of the task respectively, to improve information usage by the robotic team. (ii) Adaptive, decentralized task allocation is achieved through the use of the BOAs, that optimally allot tasks to the robots based on a local Task Utility Matrix (TUM). The Tspec -matrix representation of each task is used to compute the TUM, allows for a better and more meaningful comparison between the robot affinity levels across tasks. This reduces reliance on inaccurate estimation of factors like time and distance that complicates comparison between tasks. The scheme encompasses fault tolerant features, and also enables mission completion in the event of ambiguous and general task specifications. In Section II, we examine the assumptions made in this paper. Section III first provides the formal definition of tasks and TUMs used in BOAs, followed by a description of its fault tolerant and task ambiguity handling features in Section IIID. Simulation results are provided in Section IV, followed by concluding remarks in Section V. II. A SSUMPTIONS The following assumptions are made in this paper A 1: All robots in the team are equipped with wireless communication abilities. They are able to broadcast information and also process data from the broadcast channel. A 2: Robots are able to determine the status of the tasks through sensory feedback and data collected from the broadcast channel. The exact progress of the task need not

be known. Task statuses may be: (i) has no progress, (ii) is in progress, or (iii) has been completed. A 3: The robots are not able to foresee the nature of tasks that have yet to be specified, i.e. the generation of tasks is entirely random, and no a priori planning is possible. A 4: There exists a higher level mechanism for the decomposition of a mission into tasks that are manageable (and understandable) by the team. This may be done by a human user or a high level planning layer in the robots.

that may be present is stated as = {Ti,1 |Ti,2 | . . . |Ti,n } ∧ Tdep = {(Tsp,i,1 ⊙ Li,1 )| . . . |(Tsp,i,n ⊙ Li,n )} ∧ Tdep    Tsp,i,1      .. =   ⊙ Li,1 . . . Li,n  ∧ Tdep .

Ti

=

Tsp,i,n (Tsp,i ⊙ Li ) ∧ Tdep

(3)

where III. T HE BACKO FF A DAPTIVE SCHEME (BOA S )

Ti,k = Tsp,i,k ⊙ Li,k , for k = 1, 2, . . . , n

A. A Formal Specification of Tasks

Ti,j 6⊆ Ti,k , for j, k = 1, 2, . . . , n and j 6= k

(4)

In this paper, we define basis tasks to be basic high level tasks out of which other more general tasks, or macro-tasks, may be composed. Basis tasks may also be seen as the basic abilities or resources [6]. 1) The ‘⊙’-operator and representation of tasks: Let B be the set consisting of m basis tasks, each accepting its own list of arguments ℓ (each of which may be sets of coordinates, areas to explore etc), available for task specification such that b1 (ℓ1 ), b2 (ℓ2 ), . . . , bm (ℓm ) ∈ B, and is known. It may not reflect only the capabilities of current members of the team (which is its minimum size), and may encompass a larger set of basis tasks. The basis tasks and the corresponding list of arguments may be cast in vector form as B = [b , b , . . . , b ]T and L = [ℓ , ℓ , . . . , ℓ ]T

and Tdep is the set of macro-tasks that must be performed before Ti can be activated. On two n × m and m × n matrices, ‘⊙’ operates to form an n × 1 vector. The k th element of the resulting n×1 vector is obtained by using ‘⊙’ on the k th row and column of the n×m and m×n matrices respectively. For instance, the k th element of Tsp,i ⊙ Li in (3) is given by Tsp,i,k ⊙ Li,k . Precedence relationships are indicated using the ‘∧’ sign. The sign ‘|’ means that the task Ti may be satisfactorily described by any one of the set of basis tasks Ti,k for k = 1, 2, . . . , n. Any robot possessing all the capabilities specified in any of the n sets Ti,k will be able to handle the task Ti .

respectively. A macro-task, Ti , may be composed of a combination of basis tasks, i.e., Ti ⊂ B, and its size, |T |, refers to the number of basis tasks it requires. The task Ti may be written as

At any time, the entire set of tasks presented to the team may be partitioned into 3 distinct sets: 1) Active tasks, T active , 2) Archived Tasks, T arch , and 3) Priority Tasks, T prior . Tasks with precedence relations are archived in the set T arch , while the preceding tasks are put into T active , included in the TUM and participates in the optimization cycles. Before each optimization cycle, each robot will check if tasks with precedence relations can be transferred to T active and included in the TUM. This is easily done by examining the task completion status of the pre-requisite tasks. The ‘Priority Task’ set consists of tasks that have priority over the remaining tasks. A Task Utility Matrix (TUM) reflects the utility that each robot has with each of the tasks in T prior and T active . The TUM is segmented into 2 portions according to the sizes nprior and nactive of T prior and T active respectively. Each robot in the team maintains its own TUM (of size rnum × (nprior + nactive )), where rnum is the current number of robots in the system. The utility level of a robot j in the team with each of the m basis tasks in B may be specified in advance as Aj = [aj1 , aj2 , . . . , ajm ]T , with ajk ∈ [0, 1] for k = 1, 2, . . . , m. The utility level of a robot j with a task Ti defined as in (3) may be calculated as

1

Ti

2

m

1

2

m

= Tsp,i ⊙ L ⊢ B = {bk (ℓk ) : for k = 1, . . . , m and Tsp,i (k) 6= 0}(1)

with Tsp,i ∈ R1×m and its k th element defined as  1, if Ti requires bk Tsp,i (k) = 0, otherwise

(2)

Equation (1) may be interpreted as: Task i, under (‘⊢’) the vector of basis tasks B, requires all of the basis tasks j for which Tsp,i (j) = 1 and accepts ℓj as arguments. The entries of the L matrix are ignored for the basis tasks that are not required. For simplicity, ‘⊢ B’ will be omitted from future equations for defining tasks in this paper. The operator ‘⊙’ acts much like the matrix multiplication except that the result is a set of basis tasks that is requisite for the macro-task. This allows tasks to be represented by matrices under a common, known set of basis tasks, facilitating the manipulation and use of task information through normal matrix operations. Tasks are decomposed into 2 main parts (i) the nature, and (ii) the details of the task, characterized by Tsp and L respectively. The use of matrices Tsp and L also streamlines the specification of tasks by designers. A more general specification that encompasses any subtask

163

B. The Task Utility Matrices (TUM)

TUMji =

n Cα n−1 XX

n  Y

 Hnα (β, γ) + (−1)Hnα Rji (γ)

α=0 β=1 γ=1

(5)

where n is the number of subtasks of i that robot j has a greater than 0 utility with, and n

n! Cα = α!(n − α)!

The optimization problem may be stated as follows Maximize Total Utility =

rX task num βX j=1

Hnα (β, γ) and Rji (γ) are the (β, γ)th and γ th element of the matrices Hnα and Rji ∈ Rn×1 respectively. Hnα is  n × n matrix with non-repeating rows, each row a α containing α number of ‘1’s and (n − α) 0’s.  1 Tsp,i,γ Υj Aj , if for k = 1, . . . , m,    |Ti | Υj Aj (k) 6= 0 (6) Rji (γ) =  ∀ Tsp,i,γ (k) 6= 0   0, otherwise

where Υj = diag(µj,1 , µj,2 , . . . , µj,m ) and µj,k ∈ [0, 1] (refer to Section III-E) for k = 1, 2, . . . , m. The combined matrix Υj Aj ∈ Rm×1 is referred to in subsequent sections as the effective utility of robot j with the basis tasks in B. Each robot will determine and broadcast its utility with each of the tasks to the team. This allows each robot to construct a TUM. It is noted that the calculation involved in (5) may get prohibitively complicated when there is a large number of subtasks for a certain macro task. However, in practical situations, tasks usually have a limited number of subtasks and the limited capabilities of each robot will further reduce the size of n and thus the computational complexity. The TUM may be viewed as a form of task evaluation metric evaluated based on the compatibility of the robot’s abilities to the nature of the task, and hence, involves only the matrix Tsp . Remark 1: Other evaluation metrics that are based on factors such as time and distance may be incorporated through the L matrix. This however complicates the metric computation since different tasks will demand different kinds of calculations, and it is practically difficult to estimate certain factors like projected task completion time to allow meaningful comparison of metrics computed by different robots. C. Task Optimization and Prioritization In this paper, optimization is defined in terms of total utility the robots. The static optimization process occurs at every time step, and is performed separately by each of the robots using their local TUMs. Gerkey and Matari´c [4] formulated the problem as an assignment problem, which uses sets of robots and tasks that are of equal sizes i.e each task requires and is restricted to only one robot. The formulation used in this paper is similar, but as the more general transportation problem. This allows for automatic prioritization of the tasks in TUM without the need for the specification of any subset of either robots or tasks before the optimization process. Let Λ be the task assignment matrix with its (j, i)th element, Λji defined as  1, if Robot j is assigned Task i (7) Λji = 0, otherwise

164

TUMji Λji

(8)

i=1

subjected to rX num j=1 rX num

Λji

= φi ,

for i = 1, 2, . . . , nprior

Λji

≤ φi ,

for i = 1 + nprior , . . . , βtask (10)

Λji

≤ 1,

(9)

j=1 βX task

for j = 1, 2, . . . , rnum

(11)

i=1

where the parameters φi ∈ Z+ reflect the number of robots required for each task. They are initialized to 1 but may be subsequently altered (Section III-D). The total number of tasks present during the task optimization cycle is represented by βtask = nprior + nactive . The methods that can be used to solve Assignment and Transportation problems can be found in [13]. The constraints guarantee that the tasks in T prior have at least one robot allocated to them. For the case when βtask > rnum , (βtask − rnum ) of the set of available tasks will not have robots allocated to it. Prioritization takes place and the extra tasks will remain in the local TUM, and will be serviced when some of the other tasks are completed. 1) Multiple Solution Case: Some situations may arise whereby there are more than 1 optimal solution to the problem based solely on the use of TUM. We use 2 different measures to ensure that all the robots end up choosing the k , the number of same optimal solution. (i) The first is Ntc robots that will possibly switch tasks if the solution k is k is chosen. If chosen. The solution that has the smallest Ntc there exists more than one such solution, or there does not exist a previous solution, the second measure is used (either on all the solutions or those that share the same minimum k ). (ii) The second method of choice involves choosing Ntc the solution for which robot 1 will have the smallest task index. If this yields more than 1 solution, the process is repeated for robot 2, and so on, until one solution is obtained. This process will definitely yield a unique choice from the k optimal solutions. For instance, consider the 2 solutions: S1 : (R1 → T ask3; R2 → T ask2) and S2 : (R1 → T ask1; R2 → T ask2), solution S2 will be chosen. D. Backing Off: Fault Tolerance and Coping with Uncertainties The BOAs allows the team to adapt the parameters φi in (8) according to the situation. Fault tolerance is achieved by ensuring that the mission is completed as much as possible when certain robots in the team malfunctions. When the task status of a task, Ti , that a robot rj is performing, is detected

to be ‘no progress’, the team will take the following series of actions. Procedure I: For all robots excluding rj I1: Put rj into full-quarantine, and will not consider the row in their TUM that is associated with rj for the subsequent optimization cycles. The quarantine mode means that the other robots will still continue to receive broadcasts from rj and update their databases accordingly. If a ‘free-up’ signal is received from rj , the full-quarantine status of rj is removed and the (j, i)th element of TUM is put into task-quarantine. I2: One of these robots, rj ∗ will subsequently decide to perform Ti . This may happen right after the quarantine of rj or after the completion of some of the other tasks. is monitored for I3: The progress of Ti a predefined back-off period, tbackof f . If task status of Ti is ‘in progress’, rj is deemed to be unfit for the task. Set TUMji = 0. Note that this influences only the value related to specifically Ti , and does not affect the internal states (effective utility to the basis tasks) of rj . The adaptation of the internal states of rj is described in Section III-E. Proceed to I5. Else, if the task status is ‘no progress’, proceed to I4. I4: In this case, it is highly possible that more than φi robots are needed for the task, and the parameter is modified as φi = φi + 1. I5: Remove the quarantine status of rj .

tus becomes ‘in progress’), rj will then modify its corresponding TUM value permanently i.e., TUMji = 0. The task i is marked as a failed task, and rj modifies its Task Success matrix accordingly (See Section III-E). Else, proceed to II5. II5: αj will increase the value of the parameter φi by 1, and reinstate the original value in the TUM, removing the task’s quarantine status. In situations where no progress is made in tasks that more than one robot is already working on, more than 1 robot operate based on Procedure II. This enables the task allocation system to adapt to different and uncertain requirements in the number of robots needed for various tasks, and also allows the team to perform the mission to the best of their existing capabilities even in the event of robot malfunctions.

E. Adaptation of BOAs Let us denote the Task Success matrix as TSj ∈ Zm×1 . This matrix identifies and isolates the ability of a robot (as reflected by the corresponding basis task) that is causing persistent failure in the tasks it attempts. The matrix is updated upon the successful completion of a task, when it hands over a task to another, or when rj terminates its attempt of a task that it is making no progress in. The matrix is set to 0 at the start of the mission, or when a robot first joins the team, and is updated upon the success (or failure) of a task Ti as  (12) TSj = TSj + ηj f RTji Tsp,i where

Procedure II: for Robot rj II1: It would either have detected that Ti ’s task status is ‘no progress’, and enters the idle mode, or if it still feels that it is performing the task adequately (task status is ‘in progress’), it will continue performing the task. II2: If it had entered the idle mode in II1, it will monitor the decisions of the other robots for a period tf ree up . When none of the robots takes up the task within this time, rj will put the task into ‘task quarantine’, setting TUMji = 0, while maintaining a record of the original TUM value. It also broadcasts its decision to the team. This allows the robot to perform other tasks while waiting for responses from others in the team, thereby reducing possible resource wastage. II3: Monitor the decision of the other robots. When one of the robots, rj ∗ , decides to handle Ti such that the total number of robots handling the task exceeds φi , rj starts monitoring the task progress for a period tbackof f . Note that if it had been performing this task up till now or is currently idle, it enters the idle mode. But if it is currently performing another task and had put task i into task-quarantine, it will continue its current task and only monitor task i’s progress. II4: If progress is made in the time tbackof f (i.e task sta-

165

 ηj =

+1, −1,

Successful completion of Ti Failure of Ti

and f (·) acts on a matrix to produce another matrix of the same size but converting all elements greater than 0 into 1’s. The values of Υj in (6) are calculated from TSj as ( 1, if TSj (k) ≥ 0 (13) µj,k = 1 , otherwise |TS (k)|+ǫ j

where k = 1, 2, . . . , m and the parameter ǫ > 0 is user defined, and determines the sensitivity of the robot j’s task affinities to the number of task failures it experiences. From (13), if a robot can initially handle a basis task, its effective utility to that task will never be 0. Hence, it will also try to participate in tasks that require those basis tasks that it has a low effective utility level with. This aids in the recovery of the robot from previous task failures that may or may not have been a result of actual malfunction. IV. S IMULATIONS AND E XPERIMENTATION A. Environment and Mission Statement Realistic simulations were carried out using the open source Player and Stage software tools developed by Gerkey et al. [14] at the University of Southern California Robotics

TABLE II U TILITY LEVELS OF MACRO - TASKS AT THE END OF MISSION Tpt A to C Tpt B to C Monitor Search 0.80 0 0 0.80 R1 0.94 0.94 0.70 0.96 R2 0 0 0.90 0.98 R3 0 0 0.90 0.90 R4

Room C

Common Corridor

Area D

Obstacle Room B

‘search’ task may be stated as h 0 1 1 0 T1p = 0 1 0 1 h

Apartment Room A

Crates

Crates

Fig. 1.

× ×

Stage Simulated environment

i ⊙

{2} ×

× {bright}

× ×

iT

where the argument ‘2’ to the ‘Id vision’ basis task refers to the color channel for it to scan over. The utility each robot has with all the tasks is calculated using (5). In the beginning, with only one task, optimization of the TUM is the same as a greedy mechanism and R3 starts the search task. Upon the detection of crates in room B, the ‘Monitor area’ and ‘Transport Crates’ tasks start. These are stated as

TABLE I U TILITY LEVELS OF BASIS TASKS AT THE START OF THE MISSION Monitor Id reflect Id vision Explore Transport 0.7 0.9 0 0.7 0.7 R1 0.7 0.9 0.7 0.7 0.7 R2 0.9 0.7 0.9 0.9 0 R3 0.9 0 0.9 0.9 0 R4

Research Laboratory and the HRL Labs. The simulated environment in Stage is shown in Fig. 1. The team consists of the following 4 heterogeneous robots. R1: SICK LMS200, ‘normal’ gripper (width 0.30m). R2: SICK LMS200, ‘wide’ gripper (width 0.52m), camera with a 60o field of view, ACTS color blob detector. R3: SICK LMS200, camera with a 120o field of view, ACTS color blob detector. R4: Sonar range sensor array, camera with a 120o field of view, ACTS color blob detector. Crates (with sides 0.4m or 0.1m) are identified either based on color (blue: Channel 2 on Blob detector) or laser intensity returns. Note that R1 (with a smaller gripper) would be unable to handle the larger crates. The mission involves the search for crates in the three rooms of a small apartment, followed by the transportation of these crates to another room across a wide corridor. The traffic in the corridor is to be kept constantly under surveillance during the transportation of the crates. The smallest set of basis tasks for the team may be written as B

{Apt} {Apt}

0 0

= {Transport(x,y), Explore(Area), Id vision(Channel), (14) Id reflect, Monitor(Area)}

The utility of each robot with each of the basis task is given in Table I. ‘Id vision’ and ‘Id reflect’ refers to the identification of objects based either on blob detectors or from laser intensity returns.

B. Simulation Results Fig. 2 shows the transitions and task allocations between the four robots over the entire mission. It is one of numerous simulated experimental runs that had been carried out. The values of tbackof f and tf ree up are set to 150s and 75s respectively and the parameter ǫ in (13) set to 0.5. The

166

T2p = [ T3

0

0

=

1

h h

0 1 1

1 0 0

{B, C} {B, C}

]⊙[ 1 0

0 1 × ×

× 0 0 {2} ×

×

{All}

×

× {bright}

× ×

{D}

]

T

i ⊙ iT

An obstacle as shown in Fig. 1 is introduced at around t = 400s. R4 ‘backs off’ when T2p is not performed satisfactorily, entering the idle mode for tbackof f . No progress is made during the back-off period since one robot will not be able to obtain a clear coverage of the corridor and R4 rejoins the team and starts performing T2p with R3. The number of robots required to perform T2p , i.e., φ2 = 2 in (8), is updated. At the same time, R1, attempts to transport the larger crates unsuccessfully and enters the idle mode. Since R2 is performing T1p that has a higher priority, T3 will not be taken up at this time. R1 subsequently broadcasts a ‘free-up’ signal, and the robots set TUM13 = 0. This causes an exchange of tasks between R1 and R2. After tbackof f , R1 is satisfied that R2 is making good progress and makes alterations to Υ1 (Section III-E). The evolution of the utility levels R1 has with the basis tasks, and the search and crate transportation tasks is shown in Fig 3. When the second room containing crates (Room A) is found, T4 is created. h i 1 0 1 0 0 T4 = 1 0 0 1 0 ⊙ h iT {A, C} {A, C}

× ×

{2} ×

× {bright}

× ×

Upon the completion of the search task, R1 deduces that its ability to detect entities from laser intensity readings is functioning well, and alters Υ1 accordingly (Fig 3). R1 also starts handling T4 to maximize the team utility. R2 takes over the handling of T4 when it completes T3 , due to its higher utility levels. The utility levels each robot has with the 4 macro-tasks at the end of the mission are shown in Table II.

Monitor D

Monitor D

Tpt B to C

Tpt B to C

Search

Search

Tpt A to C

Tpt A to C

1 0.95 0.9 0.85

Idle

1000

500

0

2000

1500

2500

Idle

3500

3000

0.8 1000

500

0

2000

1500

2500

Monitor D

Tpt B to C

Tpt B to C

Search

Search

Tpt A to C

Tpt A to C

3500

3000

time (s)

R3

time (s)

R1 Monitor D

0.75 0.7 0.65 0.6

Dotted − Greedy Solid − BOAs

0.55 Idle

Idle

1000

500

0

2000

1500

2500

1000

500

0

3500

3000

time (s)

R2

2000

1500

2500

3500

3000

Fig. 2. Task Allocation using BOAs for the 4 robots over entire mission 0.9

Dashed − Id reflect Solid − Transport

0.85

0.8

0.8 Affinity levels with Basis Tasks

Affinity levels with macro tasks

0.75

0.7

0.65

Dashed − Search Solid − ID and Move

0.75

0.7

0.65

0.6

0.6 0.55 0.55

0.5

0.5

1500

1000

500

0

2000

2500

0.45

3500

3000

0

500

2000

1500

1000

2500

Time in seconds

Fig. 3.

3500

3000 Time in seconds

(a) Utility levels of ‘Search’ and ‘Transport Crate’ tasks

(b) Utility levels for ‘Transport’ and ‘Id reflect’ basis tasks

R1’s utility levels with selected basis and macro-tasks

The mission was also executed using a simple greedy allocation mechanism with fault detection. Each robot chooses their tasks greedily starting from the task with the highest priority. In this mission, the tasks in descending order of priority are search, monitor and transport. For tasks with the same priority levels, they will be sequenced according to which was specified first. The resulting task allocation amongst the robots is shown in Fig. 4. Since the greedy mechanism does not automatically decide how many robots are required for each task, when the obstacle is introduced, an additional monitoring task is created. The average total utility level is shown in Fig. 5. It is obtained by dividing the total utility of the team with all the task at each time instant and dividing this with the total number of tasks present at that time. It can be seen from Fig. 5 that on the average, the BOAs offer a higher average utility per task, except during the back-off and free-up periods when the team is temporarily under-utilized. The mission completion time is also shorter when BOAs is used. Monitor D2

Monitor D2 Monitor D1 Tpt B to C

Tpt B to C

Search

Search

Tpt A to C

Tpt A to C

Idle

Idle 0

500

1000

1500

2000

2500

3000

3500

4000

0

500

1000

1500

2000

2500

3000

3500

Monitor D2

Monitor D1

Monitor D1

4000 time (s)

R3

time (s)

R1 Monitor D2

Tpt B to C

Tpt B to C

Search

Search

Tpt A to C

Tpt A to C

Idle

Idle

0

500

1000

1500

2000 R2

2500

3000

3500

4000

0

500

time (s)

1000

1500

1000

1500

2000

2500

3000

3500

4000

Fig. 5. Comparison of the average utility levels between BOAs and the greedy allocation scheme

model of the team. The flexibility of the BOAs across different teams is further increased through its adaptive capabilities. In addition to being fault tolerant, the allocation scheme presented in this paper is also able to accommodate ambiguity in task specifications, which often arises due to incomplete (or the lack of) knowledge. This is able to ease the requirements made on the sensing capabilities of robots and reduces the complexity of any high level task decomposition algorithms. Simulations were conducted, and verifies the effectiveness of this task allocation scheme. R EFERENCES

C. Comparison with Greedy Task Allocation

Monitor D1

500

time (s)

R4

0.85

0.5 0

2000 R4

2500

3000

3500

4000 time (s)

Fig. 4. Task Allocation using Greedy Mechanism for the 4 robots over entire mission

V. C ONCLUSION A method for efficient and optimal allocation of tasks (with precedence relationships, or varying degrees of coupling) through the use of the BOAs in teams of robots is presented in this paper. The TUMs serve as an internal

167

[1] L. E. Parker, “ALLIANCE: An architecture for fault tolerant multirobot cooperation,” IEEE Transactions on Robotics and Automation, vol. 14, no. 2, pp. 220–240, April 1998. [2] ——, “L-ALLIANCE: Task-oriented multirobot learning in behavior-based systems,” Advanced Robotics, vol. 11, no. 4, pp. 305– 322, 1997. [3] B. B. Werger and M. J. Matari´c, “Broadcast of local eligibility for multi target observation,” in Distributed Autonomous Robotic Systems 4, L. E. Parker, G. Bekey, and J. Barhen, Eds. Springer, 2000, pp. 347–356. [4] B. P. Gerkey and M. J. Matari´c, “Multi-robot task allocation: Analyzing the complexity and optimality of key architectures,” Proc. IEEE International Conference on Robotics and Automation, vol. 3, pp. 3862–3868, 2003. [5] L. Chaimowicz, M. F. M. Campos, and V. Kumar, “Dynamic role assignment for cooperative robots,” Proc. International Conference on Robotics and Automation, pp. 293–298, May 2002. [6] B. P. Gerkey and M. J. Matari´c, “Sold!: Auction methods for multirobot coordination,” IEEE Transactions on Robotics and Automation, vol. 18, no. 5, pp. 758–768, October 2002. [7] N. Miyata, J. Ota, T. Arai, and H. Asama, “Cooperative transport by multiple mobile robots in unknown static environments associated with real-time task assignment,” IEEE Transactions on Robotics and Automation, vol. 18, no. 5, pp. 769–780, October 2002. [8] R. R. Murphy, C. L. Lisetti, R. Tardif, L. Irish, and A. Gage, “Emotion-based control of cooperating heterogeneous mobile robots,” IEEE Transactions on Robotics and Automation, vol. 18, no. 5, pp. 744–757, October 2002. [9] O. Shehory and S. Kraus, “Methods for task allocation via agent coalition formation,” Artificial Intelligence, vol. 101, no. 1-2, pp. 165–200, May 1998. [10] S. S. Ge and Y. J. Cui, “New potential functions for mobile robot path planning,” IEEE Transactions on Robotics and Automation, vol. 16, no. 5, pp. 615–620, 2000. [11] S. S. Ge, Y. J. Cui, and C. Zhang, “Instant-goal-driven methods for behavior-based mobile robot navigation,” Proc. IEEE International Symposium on Intelligent Control, pp. 269–275, 2003. [12] S. S. Ge, C. H. Fua, and K. W. Lim, “Multi-robot formations: Queues and artificial potential trenches,” Proc. IEEE International Conference on Robotics and Automation, April 2004. [13] G. B. Dantzig and M. N. Thapa, Linear Programming, 1: Introduction. Springer, 1997. [14] B. P. Gerkey, R. T. Vaughan, and A. Howard, “The Player/Stage Project: Tools for multi-robot and distributed sensor systems,” Proc. International Conference on Advanced Robotics, pp. 317–323, JuneJuly 2003.