• No results found

2.2 Solution Algorithms

3.1.2 Coordination Techniques

As mentioned in Chapter 2, in most general cases of interest, the score functions and con- straints in the optimization are dependent upon the team decision variables. This produces nontrivial coupling between the agents when solving the optimization within a distributed or decentralized architecture. Since each agent’s decisions depend upon the assignments and plans of the other agents in the team, the agents need to coordinate and reach agreement on consistent values of the decision variables to maximize team performance, or at least to ensure constraint satisfaction. In this section, three strategies are discussed to achieve this consistency: (1) a priori task space partitioning, where the task space is divided into disjoint sets and allocated amongst the agents prior to planning; (2) implicit coordination,

where agents perform situational awareness consensus and then plan independently; and (3) coordinated planning, where agents directly incorporate constraint feasibility into the planning process through the use of communication and consensus algorithms.

A priori task space partitioning effectively divides the task space into disjoint sets, and only allows each agent to select assignments from a subset of the overall task set. Given a higher-level task allocation or a human supervisor, it may be reasonable to use this method for small teams in relatively static environments, especially when roles and responsibilities of each agent are well defined in advance (e.g. specialized agents specifically designed for certain tasks). However, in environments with large numbers of relatively homogeneous agents, or in dynamic environments, the task partitioning problem can become very complex. Although this strategy enables rapid plan computation for each agent and ensures conflict-free team assignments, by creating this partition outside of the optimization the algorithm is placing artificial constraints on which allocations are available, which may result in arbitrarily poor performance.

The second strategy, implicit coordination, requires that agents perform consensus on situational awareness (SA) prior to running the planning algorithm. Situational awareness consensus refers to the process by which all agents agree on all variables relevant to the initial conditions of the task allocation problem (e.g. environment variables, agent states, task parameters, etc.). After this consensus process, the agents independently run central- ized planners to obtain the global team assignment, and then select their portion of the plan to execute. The basic premise of this method is that, by running identical planners with consistent planning parameters, each agent will generate identical final allocations that satisfy constraint feasibility and maximize team performance. This method has been widely explored in the literature [9, 98, 151, 159, 162, 184–186, 211, 222], and its popularity stems from the fact that it is a relatively straightforward way to distribute a task allocation algorithm. One main benefit of using implicit coordination over task space partitioning is that, by not limiting the assignment space a priori, the algorithm can account for local information changes often encountered in dynamic environments (e.g. dynamic tasks, addi- tional state information, updated model parameters, etc.). In the task space partitioning method, any changes in planning state usually require a full repartitioning of the task space, whereas implicit coordination can account for information changes through the situational awareness consensus protocol during replans, thus producing more relevant and higher per-

forming assignments. Furthermore, by solving the full centralized planner on each agent, implicit coordination can capture and exploit coupling and cooperation between agents well, and can therefore lead to good performance and cooperative behaviors in highly coupled environments. A drawback, however, is that the situational awareness consensus process which must be executed prior to the planning phase requires coming to consensus on all planning parameters, which may be time consuming and require large amounts of communi- cation bandwidth [9]. This is especially cumbersome in robust planning environments where consensus must be performed not just on parameter values but on uncertainty models (e.g. distributions) as well. Another potential issue with implicit coordination algorithms is that planning parameters must be known precisely in order to guarantee that agents produce identical assignments, thus requiring that the consensus process be conducted until errors in situational awareness become very small. In fact, since the planning process does not explicitly guarantee constraint satisfaction, it is often the case that if the final estimates of the planning parameters do not converge to within arbitrarily tight bounds, the resulting team assignment may not be conflict free.

Finally, the third coordinated planning strategy involves performing task consensus by directly incorporating constraint feasibility into the planning process through the use of communication and consensus algorithms, thus guaranteeing conflict-free solutions. Since the communication effort is spent on achieving consistent values for the agent assignments rather than the situational awareness planning parameters, the bandwidth requirements are often lower, especially in scenarios with few inter-agent and inter-task constraints (the more coupled the task environment, the more communication effort it takes to explicitly ensure constraint feasibility). Furthermore, if the communication environment is not necessarily reliable such that it would be difficult to reach complete team-wide consistent situational awareness, these types of coordinated planning strategies are often preferred, to ensure that the team assignment remains conflict free even with varying situational awareness amongst the agents. For example, in many decentralized applications, the primary goal is achieving a conflict-free distribution of tasks that performs well, rather than requiring intense cooperation between agents to achieve the best possible assignment. Given that in these decentralized environments the communication links are often unreliable, especially across larger distances, broadcasting only information directly relevant to the assignment constraints may be preferable (e.g. the CBBA algorithm [58] described later in Section 4.1).

There is a trade-off between implicit coordination and assignment consensus, where the choice is motivated by the specific planning problem and the communication environment, and whether it is easier to converge on a consistent assignment vector or to converge on all other significant state variables (within arbitrarily tight bounds).

For the scenarios considered in this thesis, given the size and static nature of the as- signment vector x, the independence and simplification assumptions described in Chapter 2, and the relatively light constraints imposed on the system, it is typically easier to em- ploy the third strategy to explicitly ensure conflict-free assignments through task consensus, rather than performing situational awareness consensus on all the dynamic and uncertain environment parameters. The CBBA algorithm and its variants discussed later in Chapter 4 use this third strategy to perform distributed planning. It is worth noting that the three coordination strategies discussed above are not mutually exclusive, and cooperative plan- ning algorithms may use combinations of all three to improve system performance given the

particular application and communication environment2. Ongoing research is addressing

how to combine these three strategies to optimize performance and the interested reader

is referred to the work of Johnson et al.3 The next section provides details on consensus

algorithms employed by distributed multi-agent teams to perform coordination between agents.