task assignment with dynamic perception and constrained...

6
Task Assignment with dynamic perception and constrained tasks in a Multi-Robot System A. Farinelli, L. Iocchi, D. Nardi, V. A. Ziparo Dipartimento di Informatica e Sistemistica University of Rome “La Sapienza” Via salaria, 113 00198 Rome, Italy [email protected] Abstract— In this paper we present an asynchronous dis- tributed mechanism for allocating tasks in a team of robots. Tasks to be allocated are dynamically perceived from the en- vironment and can be tied by execution constraints. Conflicts among team mates arise when an uncontrolled number of robots execute the same task, resulting in waste of effort and spatial conflicts. The critical aspect of Multi Robot Systems with respect to task allocation methods in Multi Agent Systems is related to conflicts generated by limited and erroneous perception capabilities of real robots. The proposed approach is able to successfully allocate roles to robots avoiding conflicts among team mates and maintaining low communication overhead. We implemented our method on AIBO robots and performed quantitative analysis in a simulated environment. Index Terms— Multi-Robot Systems, Coordination, Task Assignment. I. I NTRODUCTION The problem of assigning tasks to a group of entities acting in a dynamic environment is a fundamental issue for both Multi Agent Systems (MAS) and Multi Robot Systems (MRS) and is relevant to several real world applications. The growing complexity of applications for MAS and MRS requires novel solutions for task assignment, which are able to address specific features posed by the domain, such as dynamic tasks evolution, strict requirements on communication and constraints among tasks to be executed. In most real world applications involving MRS, tasks to be assigned cannot be inserted into the system in a centralized fashion, but are perceived by each entity during mission execution. This issue has a big impact on the task allocation process and at the same time is strictly dependent on perception capabilities of entities involved. Perception capabilities play a fundamental role in every application involving robots and significantly constraint the design of the task assignment technique. In particular, as a difference with software agents, robots have noisy and limited perception of the surrounding environment. For example, robots may need to correctly identify objects with similar shape and color. This requires to consider, in the data association process, properties that can change with time (such as object position in the working environment), and can frequently lead to erroneous association which can easily results on conflicts on the task allocation process. Conflicts on tasks to be accomplished can cause significant inefficiencies of the overall system due to the complexity of acting in a real world environment. Task assignment approaches developed for MAS (such as [5], [8], [9]) usually do not take into account the perception capabilities of entities involved in the task allocation pro- cess, thus such techniques are not well suited for our refer- ence scenarios. As for MRS, previous approaches proposed for task assignment include: i) Sequential task assignment [7] where tasks are allocated to robot sequentially as they enter the system. ii) Iterative task assignment [1], [13] where all tasks present in the system are allocated from scratch at each time step. iii) Reactive task assignment [10], where each member of the team decides whether to employ itself in accomplishing a task, without (re)- organizing the other members activity. While, in all these works the perception capabilities of robots influence the allocation method proposed, the authors do not explicitly investigate the problem of conflicts in the allocation process due to dynamic task generation. In this paper we take a significant step toward the integration of dynamic task perception and distributed, conflict free, task assignment for a robotic system. We present an approach to distributed task assignment able to assign dynamically perceived tasks in a team of robotic agents, while avoiding conflicts among team members. The reference scenario we are interested in has the following characteristics: i) tasks are discovered and created during mission execution; ii) tasks may need multiple agents to perform them synchronizing their actions; iii) agents may perform one or more tasks, but within resource limits; iv) too many agents fulfilling the same task lead to conflicts that needs to be avoided; v) properties that distinguish tasks can vary over time. The basic idea of our approach is derived from previous works on token passing for task assignment which have been proved to be well suited for task allocation in similar scenarios [11]. Tokens are used to represent tasks that must be executed by the agents, and each team member creates, executes and propagates these tokens based on its knowledge of the environment. The basic approach relies on the assumption that one token is associated to every task to be executed and that the token is maintained only by the agent that is performing such a task. If the agent is not in the condition of performing the task it can decide to pass the token on to another team member. Such method assigns tasks using only a broad knowledge of team mates, sharing a minimal set of information among team members. Such Proc. of Intern. Conf. on Robotics and Automation (ICRA'05), 2005.

Upload: others

Post on 14-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Task Assignment with dynamic perception and constrained ...iocchi/publications/iocchi-icra05b.pdfPerception capabilities play a fundamental role in every application involving robots

Task Assignment with dynamic perception and constrainedtasks in a Multi-Robot System

A. Farinelli, L. Iocchi, D. Nardi, V. A. ZiparoDipartimento di Informatica e Sistemistica

University of Rome “La Sapienza”Via salaria, 113 00198 Rome, Italy

[email protected]

Abstract— In this paper we present an asynchronous dis-tributed mechanism for allocating tasks in a team of robots.Tasks to be allocated are dynamically perceived from the en-vironment and can be tied by execution constraints. Conflictsamong team mates arise when an uncontrolled number ofrobots execute the same task, resulting in waste of effortand spatial conflicts. The critical aspect of Multi RobotSystems with respect to task allocation methods in MultiAgent Systems is related to conflicts generated by limitedand erroneous perception capabilities of real robots. Theproposed approach is able to successfully allocate roles torobots avoiding conflicts among team mates and maintaininglow communication overhead. We implemented our methodon AIBO robots and performed quantitative analysis in asimulated environment.

Index Terms— Multi-Robot Systems, Coordination, TaskAssignment.

I. I NTRODUCTION

The problem of assigning tasks to a group of entitiesacting in a dynamic environment is a fundamental issuefor both Multi Agent Systems (MAS) and Multi RobotSystems (MRS) and is relevant to several real worldapplications.

The growing complexity of applications for MAS andMRS requires novel solutions for task assignment, whichare able to address specific features posed by the domain,such as dynamic tasks evolution, strict requirements oncommunication and constraints among tasks to be executed.In most real world applications involving MRS, tasks to beassigned cannot be inserted into the system in a centralizedfashion, but are perceived by each entity during missionexecution. This issue has a big impact on the task allocationprocess and at the same time is strictly dependent onperception capabilities of entities involved.

Perception capabilities play a fundamental role in everyapplication involving robots and significantly constraint thedesign of the task assignment technique. In particular, asa difference with software agents, robots have noisy andlimited perception of the surrounding environment. Forexample, robots may need to correctly identify objects withsimilar shape and color. This requires to consider, in thedata association process, properties that can change withtime (such as object position in the working environment),and can frequently lead to erroneous association which caneasily results on conflicts on the task allocation process.Conflicts on tasks to be accomplished can cause significantinefficiencies of the overall system due to the complexity

of acting in a real world environment.Task assignment approaches developed for MAS (such as

[5], [8], [9]) usually do not take into account the perceptioncapabilities of entities involved in the task allocation pro-cess, thus such techniques are not well suited for our refer-ence scenarios. As for MRS, previous approaches proposedfor task assignment include: i) Sequential task assignment[7] where tasks are allocated to robot sequentially as theyenter the system. ii) Iterative task assignment [1], [13]where all tasks present in the system are allocated fromscratch at each time step. iii) Reactive task assignment[10], where each member of the team decides whetherto employ itself in accomplishing a task, without (re)-organizing the other members activity. While, in all theseworks the perception capabilities of robots influence theallocation method proposed, the authors do not explicitlyinvestigate the problem of conflicts in the allocation processdue to dynamic task generation.

In this paper we take a significant step toward theintegration of dynamic task perception and distributed,conflict free, task assignment for a robotic system. Wepresent an approach to distributed task assignment able toassign dynamically perceived tasks in a team of roboticagents, while avoiding conflicts among team members. Thereference scenario we are interested in has the followingcharacteristics: i) tasks are discovered and created duringmission execution; ii) tasks may need multiple agents toperform them synchronizing their actions; iii) agents mayperform one or more tasks, but within resource limits; iv)too many agents fulfilling the same task lead to conflictsthat needs to be avoided; v) properties that distinguish taskscan vary over time.

The basic idea of our approach is derived from previousworks on token passing for task assignment which havebeen proved to be well suited for task allocation in similarscenarios [11]. Tokens are used to represent tasks thatmust be executed by the agents, and each team membercreates, executes and propagates these tokens based on itsknowledge of the environment. The basic approach relieson the assumption that one token is associated to every taskto be executed and that the token is maintained only by theagent that is performing such a task. If the agent is not inthe condition of performing the task it can decide to passthe token on to another team member. Such method assignstasks using only a broad knowledge of team mates, sharinga minimal set of information among team members. Such

Proc. of Intern. Conf. on Robotics and Automation (ICRA'05), 2005.

Page 2: Task Assignment with dynamic perception and constrained ...iocchi/publications/iocchi-icra05b.pdfPerception capabilities play a fundamental role in every application involving robots

approach ensure a highly reactive task allocation methodrequiring a low communication overhead.

To apply such method on a system composed of physicalrobots this paper introduces the new concept of dynamic to-ken generation In fact, tokens are not statically predefined,but generated on-line during mission execution as result ofrobots perceptions. An asynchronous distributed algorithmis used to detect and solve conflicts due to simultaneous orerroneous task perception by several robots. Our approachprovides a distributed asynchronous algorithm, that is ableto guarantee a conflict free allocation of exactlyn agentsfor each task.

We tested our approach with a team of robots involved ina foraging task (see [4] for a description of MRS testbeds).The robots have to collect several objects scattered in theenvironment. The collection of each object requires thatexactly two robots help each other to grab it (a helper robotand a collector robot). After the grabbing phase, only onerobot is needed to transport the object. Object number andposition in the environment is not known, thus enforcingtask discovery through perception. Moreover, objects areidentical so they can only be distinguished by their positionin the environment, requiring robots to consider, in the dataassociation process, properties that change over time.

It is important to highlight that this is a quite complexscenario for MRS coordination, that takes into accountspecific characteristics of a real-time environment (e.g.indistinguishable objects), that are not usually consideredin Multi-Agent Systems. Moreover, these features haverequired the definition of a new task assignment problemand associated solutions, that are not taken into account inprevious works (e.g. [2], [11]).

We have implemented and tested the proposed approachwith a team of AIBO robots collecting colored wheeledbars scattered in the environment. Moreover, in order topresent a quantitative analysis we have used a simula-tor, that accurately emulates MRS behaviors in dynamicenvironments, to run extensive experiments. The reportedresults show that the proposed approach is able to allocateexactly n robots to each task, avoiding possible conflictswith other team mates, while maintaining a very lowcommunication bandwidth. The approach is suitable toscale up with the size of the team.

II. PROBLEM DEFINITION

The problem of assigning a set of tasks to a set of entitiescan be easily framed as a Generalized Assignment Problem(GAP) [12]. However, while the GAP is well defined fora static environment, where agents and tasks are fixedand capabilities and resources do not depend on time, inseveral real world applications it is useful or even necessaryto solve a similar problem where the defined parameterschanges with time.

Indeed several methods for dynamic task assignmentimplicitly take into consideration such an aspect, providingsolutions that consider the dynamics of the world andderive a task allocation that approximate solutions of theGAP problem at each time steps [6], [10], [14].

The problem we will address in this paper differs fromthe GAP formulation in two main respects: i) Tasks to beaccomplished can be tied by constraints, ii) The set of tasksR is not known a priori when the mission starts, but it isdiscovered and dynamically updated during task execution.

To take in to account those differences we will use thefollowing notation: E = {e1 . . . en} denotes the set ofentities. While in general also entities involved in the taskassignment process can vary over time, in this contributionwe focus on a predefined static set of entities.T representsthe set of tasks and is dependent on time withTt ={t1 . . . tm(t)}, wherem(t) is the number of tasks at timet. Each task is a set of roles or operationsTi{r1

i . . . rki },

with k varying from task to task. For example, the Tasklift object O comprises two roles:collect O and supportcollection of O. Notice, that each operation can comprise aset of sub-operations and so on; for the sake of simplicitywe will consider only two levels of the possible hierarchy.Each entity has different capabilities for each task anddifferent resources available. We express the capabilitiesand the resources depending on time withCap(ei, r

kj , t),

Res(ei, rkj , t), andei.res(t). WhereCap(ei, r

kj ) represents

the reward for the team when agentei performs rolerkj

at time t, Res(ei, rkj ) represents the resources needed by

ei to performrkj at time t, while ei.res(t) represents the

available resources forei at time t.A dynamic allocation matrix is used to establish task

assignment, denoted byAt; in At, ai,j,k,t = 1 if and only ifthe agentei is assigned to taskrk

j at timet. Furthermore, torepresent constraints, we define./ as the set of relationshipswhich hold among roles. Consequently, the problem isto find a dynamic allocation matrix that maximizes thefollowing function

f(At) =∑

t

i

j

k

V al(ei, rkj , ./, t) (1)

with:

V al(ei, rkj , ./, t) =

{Cap(ei, r

kj , t) if Cond

0 otherwise(2)

subject to:

∀t∀im(t)∑

j=1

Res(ei, rkj , t)× ai,j,k,t ≤ ei.res(t) (3)

∀t∀j ∈ {0, . . . , m(t)}∑

i

ai,j,k,t ≤ 1 (4)

where Cond is true when constraints relative torkj are

satisfied.Constraints can possibly be of several types (OR, XOR,

AND), in this paper we focus only onAND constraints.When anAND constraint holds among a group of roles,each agent cannot perform any role if all the other roles arenot being performed simultaneously by some other teammates. We write anAND constraint asANDi = {rv}therefore./= {AND1 . . . ANDs}. If a role rv ∈ ANDz

then the equation describingCond is:

Page 3: Task Assignment with dynamic perception and constrained ...iocchi/publications/iocchi-icra05b.pdfPerception capabilities play a fundamental role in every application involving robots

Cond ≡∑

i

rkj ∈ANDz

ai,j,k,t = |ANDz| (5)

Notice that if the role is unconstrained,|ANDz| = 1,thenV al(ei, r

kj , ./, t) = Cap(ei, r

kj , t)× ai,j,k,t, as above.

Agents have only a local view of the environment, thus wedefine two sets:LOTi,t, which is the task set locally knownto agenti at timet (Locally Observed Tasks), andGOTt =⋃

i LOTi,t which is the union of tasks locally known toeach agenti at time t (Globally Observed Tasks). TheLOTi,t is built by each agent based on its local perceptionthus we can writeLOTi,t = Mem(LOTi,t−1, O(i, t))whereO(i, t) : A×Time → P(T×{0, 1}). Given an agenta and a time stept O(i, t) returns a set of pairs< T, 1 >if task T is active and visible for agenta at time stept,and < T, 0 > if task t is visible for the agent but is notactive. An active task is a new perceived task that need tobe accomplished. Notice that assuming that the observationfunction is able to distinguish between active and non activetasks is quite a strong assumption; for example, in ourreference scenario, objects are similar in shape and colorand the distinction is made using object position, knowingif an object is being moved by another team mate is nota trivial problem. Thus, in this contribution we considercases where the observation function can fail in decidingwhether a detected object is to be considered active, andexplicitly address this problem in the coordination method.

The Mem function integrates observation for an agentduring the mission execution. We assume that theMemfunction add newly discovered tasks and is able to removenon active tasks from the Locally Observed Tasks set. Wedefine LRSi,t = {rk

j |aei,rkj

= 1} (Local Roles Set) andGRSt =

⋃i LRSi,t which are the currently assigned roles

(Global Roles Set). Anallocation for a D-GAP problem isthe setAlloc = {LRSi,t}. The global constraints 4 can bethen expressed as

i

LRSi,t = ∅ (6)

We define a non conflicting allocation as an allocation forwhich the following holds:

∀t⋂

i

LRSi,t = ∅ (7)

III. T OKEN PASSING APPROACH FORROLE

ALLOCATION

The main idea of the token passing approach is to regu-late access to task execution, through the use of tokens, i.e.only the agent currently holding the token can execute thetask. Following this approach the communication neededto guarantee that each task is performed by one agent attime is dramatically reduced.

If a task can benefit from the simultaneous executionof several agents, one possible strategy is to create severaltokens referring to the same task. However, when tokensare perceived and generated by agents during missionexecution conflicts on tasks may arise due to the fact that

several agents may perceive the same task; and thus createan uncontrolled number of tokens leading too many agentsto execute the same role. Moreover, an explicit procedureis needed to enforceAND constraints among roles. In thefollowing, we present and discuss our approach to ensurethat exactlyn agents perform the same role simultaneously,thus solving both the issues previously highlighted.

A Task is characterized by the physical objects (orevents) that the agent perceives, therefore given a per-ceived objecto we define the related taskT (o). Weassociate a token to each role comprising a task to beaccomplished, thus for the objecto we will have T (o) ={T (o)1 . . . T (o)k}. In particular, in our reference scenario,when a new objectobj is found we need two robotscooperating to grab the object, therefore we have a taskMove(obj) and two roles (and thus two tokens) for thistask:{collect(obj), support(obj)}.

To prevent possible conflicts, that may arise duringmission execution, we have to guarantee that no more thann tokens are created for the same role. The main idea ofthe proposed algorithm is that when an agent perceivesan object, it records this information in a local structureand announces the presence of the object to all its teammates. Moreover, whenever an agent accomplishes a task,it announces to the entire team task termination, and eachof the team members removes the tokens referring to theaccomplished task from its local structures.

Using this approach conflicting tokens can still be cre-ated for three main reasons: i)Simultaneous task discov-ery: two agentse1 ande2 perceive a new taskt, creating aset of tokensTk(t, 1)...Tk(t, s) exactly at the same time,such that both agents will have different tokens referringto the same task. ii)Messages asynchrony: messages arenot guaranteed to arrive in a predefined order; Supposean entity observes a new object, creates a new token fora specified role and decides to pass the token on. If thetoken reaches a team member before the new perceptionannouncement, the team member can decide to perform therole possibly conflicting with other team mates. iii)Errorsin active object detection: if the observation function failsin the recognition of an active object, a team member candecide to allocate itself to a role that is already beingcarried on by someone else.

In the following, we describe our approach to avoidconflicts during mission execution and further details ofthe token passing process.

A. Distributed conflict detection

Simultaneous task perception and message asynchronyare addressed using a distributed approach for conflictdetection and a predefined global policy that orders allthe team mates. Each agent maintains in a local structurecalled Invalid Token Set (ITS) all the detected conflictingtokens. Each new announce is registered in the Known TaskSet (KTS) maintaining the announcer agent information.Tokens are added in theITS structure when an announcemessage for an already known object is received and theannouncer agent has a lower priority as compared with

Page 4: Task Assignment with dynamic perception and constrained ...iocchi/publications/iocchi-icra05b.pdfPerception capabilities play a fundamental role in every application involving robots

1O A2KTS

O A2 4

O A2 4

IRS

T(o) A1

IRS

T(o) A1

IRS

T(o) A1

a1

a2

a2

A1 A2

A3

1 1

2

2

a1T(o)

O

3

4

4

KTS

O A1 1

O A1 2

KTS

Fig. 1. Distributed conflict detection

the agent that already announced the object detection. Ifa higher priority agent announces the same object, thentheKTS is updated. An example of possible execution ofthis procedure is reported in Figure 1. Numbers on arrowscorrespond to time step at which messages are received byagents. The square represents the object and arrows startingfrom the square represent object perception.KTS is theKnown Task Set andIRS is the invalid role set. Notice thatKTS contains also information on the creator agent. Asshown in Figure 1, all agents share the sameIRS withoutneed of any further communication.

Setting a static fixed priority among agents can obviouslyresult in non optimal behavior of the team; for example,assuming thatCap(e1, r

kj , ti) > Cap(e2, r

kj , ti) following

a static priority based on id, we yield to the less capableagent the access to the taskrk

j . While in principle thedifference among capabilities can be unbounded, generally,when tasks are discovered using perception capabilities,agents perceive tasks when they are close to the objectlocation, (e.g. if two robots perceive the same object theirdistance from the object is comparable); therefore, the lossof performance due to the use of a fixed priority is verylimited.

B. Avoiding failures in active task recognition

Suppose that when a collector robot moves an object,another robot observes the same object, This robot willconsider the object as a new task to accomplish starting anew allocation process for the task and possibly conflictingwith the collector robot.

To address this problem we partition the working envi-ronment using a regular grid. While an object is perceivedinside a cell of the grid it is considered as the same task.Suppose a robot observes the moved object and starts theallocation of a new task; when the collector robot is reachedby an announce message for the object creation, it candetect that the new task is actually the one it is performingand declare the new created task as invalid. The collectorrobot will then announce the task invalidation to all its

team mates sending an InvalidTask message in broadcast.Tasks are considered invalid only for a given amount oftime. This is needed to avoid that collector robots passingnear other (active) objects invalidate them for the wholemission execution.

C. Token passing process

While we do not report here the complete algorithm wegive some further details to clarify how the token passingprocess is used to assign roles to team members.

Once a token has been created and added to theTkSthe token-based access to values requires that each agentdecides whether to execute the tasks represented by tokensit currently has or to pass the tokens on. Each agent followsa greedy policy in this decision process, i.e. it tries tomaximize its utility given the tokens it currently can access,its resource constraints and a broad knowledge on teamcomposition (see [11] for further details).

When roles are tied by AND constraints, following thisprocedure will lead to potential deadlocks or inefficiencies.For example, consider two tasks,rj andrk, that need to besimultaneously performed. When a team membera acceptstask rj , it may reject other tasks that it could potentiallyperform. If there is no team member currently availableto perform taskrk, a must simply wait. Thus, an explicitprocedure to enforce the AND constraints among rolesis needed. The general idea is to use potential tokens torepresent tokens that are tied by AND constraints. Potentialtokens retain agents; when an agent receives a potentialtoken it can perform other roles (i.e. the potential tokendoes not have impact on the current resource load of theagent). However, when a lock message arrives the agent isforced to execute the role.

IV. EXPERIMENTS AND RESULTS

We implemented and tested the described algorithm onthe Sony AIBO robots1. Our reference scenario is formedby a set of robots that need to perform a synchronizedoperation on a set of objects scattered in the environment.For each object two robots are needed to perform thesynchronized operation, while only one robot is neededto accomplish the task. In particular, robots have to collecta set of identically colored wheeled-bars. Each bar, to becorrectly transported, requires one robot to grab it, blockingthe center of the bar with its head. However, since robotperception is very noisy and unreliable it is very hard forthe grabbing robot to precisely estimate the position of thebar, in particular, if the robot hits the bar trying to reach thegrabbing position, the bar will roll away from the robot.To avoid this, a second robot (the supporting robot) helpsin the grabbing phase blocking the bar and preventing it toroll away from the grabbing robot. Once the bar has beengrabbed, the supporting robot moves away from the barand is ready to be allocated to a different task, while thegrabbing robot can transport the grabbed bar in the desiredposition

1See http://www.dis.uniroma1.it/∼farinell/video/CoopForaging.htmlfor a video.

Page 5: Task Assignment with dynamic perception and constrained ...iocchi/publications/iocchi-icra05b.pdfPerception capabilities play a fundamental role in every application involving robots

In order to successfully operate in this scenario, threemain components are required: 1) self-localization, 2)action synchronization, and 3) object recognition. To putemphasis on coordination issues, we have used an engi-neered environment, borrowed from the RoboCup LeggedLeague2, that is a rectangular field with six landmarks inknown positions where every landmark is clearly distin-guishable by its color. In this way it is possible to imple-ment a simple and effective landmark-based localizationmethod.

Action synchronization has been realized throughcommunication-based actions that exchange synchroniza-tion information among robots. Figure 2 show the mecha-nism used for intra-robot synchronization.

Fig. 2. Synchronization mechanism for the robots

Finally, the identification of objects to collect (coloredbars) is again based on colors, but since there are manyobjects with the same color in the environment, also theirabsolute position in the field must be computed, in order todistinguish these objects. Note that these information aresubject to errors due to noisy perception and imprecise self-localization, that can lead to false positives in task detec-tion. To avoid this problem, we filter the absolute positionof objects using a very conservative policy; moreover, weuse active perception to ensure the correctness of the obser-vations. In fact, due to the poor reactiveness in perception,if an object is incorrectly perceived while moving to theexpected position of the current task, situations in whicherroneous tasks are generated may occur. Therefore, oncethe robot is close enough to the object, it interleaves objecttracking with landmark pointing action for self-localizationin order to identify the object and understand if it is theone associated with his task. Although this makes thesystem more robust to false positives we cannot assumetheir absence. Thus, if during the execution of a role arobot realizes that an announced object is a false positive,it has to invalidate the corresponding task with an InvalidRole message.

Because of the small amount of messages needed byour coordination method, we conveniently adopt the TCPprotocol, so that we do not have to manage message loss.

Since tasks to be accomplished are complex and we cannot assume instantaneous actions nor deterministic effects,a reactive module is in charge of controlling the taskexecution, identifying action failures during their execution,and specifying ad-hoc recovery procedures.

The implementation on AIBO robots has shown thefeasibility of the approach on robots with limited computa-

2http://www.tzi.de/4legged/

tional resources. In particular, we experienced no networkproblems, thanks to the low bandwidth required by thecoordination mechanism presented here.

Moreover, in order to have a consistent data set toanalyze, we used a general simulation framework, that hasbeen developed for reproducing the behavior of a robot ina dynamic environment [3]. More specifically, each robotis simulated in a separate process, that integrates differentcomponents (perception, localization, navigation, action ex-ecution, planning, and coordination). Processes emulatingrobots communicate among them and with a global modulethat provides sensorial information. Finally, a graphicalapplication is used to display the status of the robots andof the environment. The simulator accurately reproducesthe problems arising in acting in a real world (i.e. noisyperception, non-deterministic action execution, etc), thusallowing for a realistic analysis of the performance of therobots in a dynamic environment.

Fig. 3. Four robots correctly allo-cated to two tasks

Fig. 4. Four robots almost com-pleting their tasks

In Figures 3 and 4 we report an example of taskexecution: four robots are cooperating in the foraging taskwith three objects involved. In Figure 3 the four robots (rep-resented as large circles) correctly performed the initial taskallocation and are moving toward two objects (representedas smaller circle), satisfying theAND constraint; smalldots represent the paths robots have planned. In figure 4two objects have already been collected, and the last objectis being grabbed by two robots; the current supporter robotwas a former collector coming back from the collect area,and the current collector was a former supporter. The othertwo robots are correctly unassigned and will begin theirsearch procedure to check that no others active objects arepresent in the working area.

For a quantitative evaluation of our approach we haveidentified a set of initial configurations varying the numberof robots involved in the foraging task. We let the systemrun until all the tasks have been accomplished and then wemeasure the time needed to accomplish the task and thenumber of exchanged messages. Note that the simulationsystem introduces perception noise that leads to conflictsand enforces that the grabbing phase must be performed byexactly two robots that synchronize their actions, thus thetask is accomplished only if conflicts are correctly solvedand robots synchronize their actions for every object in theenvironment. All runned experiments have terminated, thusshowing that the algorithm successfully manage conflicts

Page 6: Task Assignment with dynamic perception and constrained ...iocchi/publications/iocchi-icra05b.pdfPerception capabilities play a fundamental role in every application involving robots

and thatAND constrained roles do not cause deadlocks,always converging to a valid allocation.

Fig. 5. Results obtained averaging 20 simulations

In Figure 5 we report the results obtained for two,four, five and seven robots The figure shows an interesingbehavior for time to completition: the time needed foragents to accomplish all tasks decreases when the numberof agents increases, but when too many robots are presentin the working environment performance degrades due tospatial conflicts. The results suggest that there is an optimalnumber of robots to accomplish the task beyond which,adding more robots to the system decreases the overallperformance, if we leave the number of tasks and the sizeof the working environment fixed.

The number of messages exchanged per agent remainsacceptable for all the experiments. The increase of suchmeasure is mainly due to the higher number of conflictsthat has to be solved. The spike present in the configurationwith four agents is due to the higher number of cycles ofnot allocated tokens. In fact, when tokens are refused byall agents they wait a given amount of time and are thenreinserted in the system. In the configuration with four andfive agents the number of tokens present in the system arethe same but in the first case the number of cycles theymake is higher because the number of agents is smaller.

V. CONCLUSIONS ANDFUTURE WORKS

In this paper we have presented a distributed asyn-chronous algorithm for task assignment in dynamic envi-ronment. The presented approach is based on token passingfor role allocation and successfully achieves the integrationof the task assignment approach with object perceptionfrom the environment. The approach can detect and solveconflicts in role execution and provide correct allocationfor constrained roles.

The performed experiments show that our approach isable to effectively assign tasks to robots, while avoidingconflicts among team members. Moreover, the solutionsadopted to implement the described coordination methodon the Sony AIBO robots are well suited in a complexreference scenario. Finally, the quantitative evaluation per-formed in the simulated environment shows that the methodsuccessfully allocates tasks to agents in different operative

conditions, while maintaining a very low communicationoverhead.

As future work an interesting extension would be to dy-namically change the number of robots involved in the taskallocation process and to optimize the allocation processdeciding whether to accept tokens and whom to pass tokensbased on probabilistic models of team members.

VI. A CKNOWLEDGMENT

This effort was partially founded by project “Simula-tion and Robotic Systems for intervention in emergencyscenarios” within program COFIN03 of the Italian MIUR,grant number 2003097252 and partially sponsored by theAir Force Office of Scientific Research, Air Force MaterialCommand, USAF, under grant number FA8655-03-1-3A46.The views and conclusions contained herein are those ofthe authors and should not be interpreted as necessarilyrepresenting the official policies or endorsements, eitherexpressed or implied, of the Air Force Office of ScientificResearch or the U.S. Government.

REFERENCES

[1] C. Castelpietra, L. Iocchi, D. Nardi, M. Piaggio, A. Scalzo, andA. Sgorbissa. Coordination among heterogenous robotic soccerplayers. InProc. of the Int. Conf. on Intelligent Robots and Systems(IROS’00), volume 2, pages 1385–1390, 2000.

[2] F. Cottefoglie, A. Farinelli, L. Iocchi, and D. Nardi. Dynamictoken generation for constrained tasks in a multi-robot system. InInternational Conference on Systems, Man and Cybernetics, pages911–917, The Hague, The Netherlands, 2004.

[3] A. Farinelli, G. Grisetti, and L. Iocchi. Spqr-rdk: a modularframework for programming mobile robots. In Nardi et. al, editor,Proc. of Int. RoboCup Symposium 2004, pages 653–660. SpringerVerlag, 2005.

[4] A. Farinelli, L. Iocchi, and D. Nardi. Multi robot systems: Aclassification based on coordination.IEEE Transactions on SystemMan and Cybernetics, part B, 34(5):pp. 2015–2028, October 2004.

[5] S. Fitzpatrick and L. Meetrens.Distributed Sensor Networks Amultiagent perspective, chapter Distributed Coordination throughAnarchic Optimization, pages 257–293. Kluwer Academic, 2003.

[6] B. Gerkey and J. M. Mataric. Multi-robot task allocation: Analyzingthe complexity and optimality of key architectures. InProc. of theInt. Conf. on Robotics and Automation (ICRA’03), Taipei, Taiwan,Sep 14 - 19 2003.

[7] B. Gerkey and M. J. Mataric. Principled communication for dynamicmulti-robot task allocation. InProceedings of the Int. Symposiumon Experimental Robotics, Waikiki, Hawaii, December 2000.

[8] Roger Mailler, Victor Lesser, and Bryan Horling. Cooperativenegotiation for soft real-time distributed resource allocation. InProceedings of AAMAS’03, 2003.

[9] P. J. Modi, P. Scerri, Shen W. M., and M. Tambe.Distributed SensorNetworks A multiagent perspective, chapter Distributed ResourceAllocation, pages 219–256. Kluwer Academic, 2003.

[10] L. E. Parker. ALLIANCE: An architecture for fault tolerant multi-robot cooperation.IEEE Transactions on Robotics and Automation,14(2):220–240, April 1998.

[11] P. Scerri, A. Farinelli, S. Okamoto, and M. Tambe. Token approachfor role allocation in extreme teams: analysis and experimentalevaluation. In13th IEEE International Workshops on Enabling Tech-nologies: Infrastructures for Collaborative Enterprises (WETICE-2004)., pages 397–402, Modena, Italy, 2004.

[12] D. Shmoys and E. Tardos. An approximation algorithm for the gen-eralized assignment problem.Mathematical Programming, 62:461–474, 1993.

[13] B. B. Werger and M. J. Mataric. Broadcast of local eligibility formulti-target observation. InDARS00, pages 347–356, 2000.

[14] R. Zlot, A Stenz, M. B. Dias, and S. Thayer. Multi robot explorationcontrolled by a market economy. InProc. of the Int. Conf. onRobotics and Automation (ICRA’02), pages 3016–3023, WashingtonDC, May 2002.