MACBeth: A Multi-Agent Constraint-Based Planner

MACBETH is a constraint-based tactical planning engine for multi-agent teams. MACBETH is designed for domains in which a human user must quickly specify a mission to a team of autonomous agents. In these domains, "puzzle-mode" thinking to come up with novel plans is not important; the key task is to rapidly and accurately tailor existing plans to novel situations. To this end, MACBETH combines hierarchical task network planning with modern constraint reasoning techniques, into a mixed-initiative planning system. This mixed-initiative planning system is driven by a graphical user interface inspired by a "playbook" metaphor, to generate, check and modify plans for teams of heterogeneous agents. MACBETH has been tested in two robotics domains: Unmanned Combat Aerial Vehicles (UCAV) sorties and Tactical Mobile Robotics (TMR). MACBETH is designed for domains in which a human user must quickly, specify a mission to a team of autonomous agents. To do this, the user must be able to simply and easily specify a high-level "play" for the team to perform. The user must, however, be able to tailor this plan; completely automatic planning is not acceptable. In every tactical planning scenario, the human user brings context information to the planning process that is not directly available to the automation. For example, in the UCAV domain, the wing commander must identify the objective of the sortie. In some cases, the commander may want to add further restrictions on the behavior of the UCAVs. For example, he might indicate that the UCAV should circumnavigate airspace belonging to a noncombatant nation, or select a different attack formation based on his own skills and preferences. In tactical applications, the mission planning system must ensure that plans are feasible. An attempt by the user to specify an infeasible plan should be flagged by the planning algorithm as soon as possible, so that she can retract a decision or reconcile conflicting objectives early in the planning process. For example, in a UCAV domain, the commander might initially assign two widely separated reconnaissance targets to a single UCAV with insufficient fuel to reach both locations. The planner should identify the inconsistency quickly, ideallybefore it expands planning effort on plan details, such as determining final approach routes for the two targets, and immediately alert the user that she may need to modify her objectives or the allocation of her resources.