Figure 1: Goal-based planning framework.
State Estimator: Stores current world-state
information for assets in a team.
Deconflictor Module: Stores future world-state
information determined by assets sharing plan steps
and used to detect potential location/resource
conflicts in generated plans.
Plan Executive: Responsible for executing
deconflicted plans generated by the Automated
planner module. Also provides a low-level collision
avoidance mechanism to protect against
deconfliction errors.
Communication Module: Supports UDP
communication of state information and decisions
between assets
The modular nature of the framework supports
stand-alone implementation of the outlined
components with a common interface defined
between modules to facilitate easy integration. One
novel aspect of the planning framework is the
integration of a PDDL based planner, normally
applied to deterministic, offline planning problems
such as those set at the biennial International
Planning Competition (Long et al, 2000). This
technology supports on-the-fly goal-based planning
and re-planning to complete assigned tasks. This is
in contrast to developing a multi-agent framework
based on the BDI (Belief, Desire & Intent) paradigm
which commonly utilise pre-compiled plan fragment
libraries to construct plans (Bellifemine, Poggi and
Rimassa, 1999; Howden et al, 2001; d’Iverno et al,
2004).
The Goal Decomposition module uses the
JSHOP2 HTN planner to determine the required
tasks to complete an assigned goal. The Task
Assignment module applies a brute-force method,
but future research will consider integrating auction-
based approaches such as CBBA (Brunet, Choi and
How, 2009), or meta-heuristic approaches such as
simulated annealing (Osman, 1993). Plan
deconfliction currently assigns priorities based on
the assigned task, but future work will consider
spatial and temporal deconfliction to locally repair
plans and resolve conflicts.
3 SCENARIO
A Search-and-Rescue scenario has been defined to
provide a test case for the prototype framework. This
is based on a team of helicopter UAVs which can be
tasked with searching for survivors in an area of
operation, perhaps following the occurrence of a
natural disaster. The problem was simplified by
considering only four possible moves for each UAV
- north, south, east and west. A turning circle was
modelled in the problem such that a vehicle could
not directly move in the opposite direction to which
it is facing. Additionally, it was assumed that once a
survivor was identified, they would remain fixed at
that location.
To tailor the framework to handle the scenario
required a set of tasks and their relationship to top-
level goals to be represented as a HTN domain, and
the set of low-level actions and their relationships to
tasks to be represented as a PDDL domain. The
output list from the Goal decomposition module will
be composed of a combination of the low-level tasks
which are required to achieve the assigned top-level
goal. The output plan from the Automated Planner
module will be composed of a list of the low-level
actions which achieve the assigned task.
The following processes are performed whenever
the distributed team is assigned a new top-level goal:
1) A Top-level goal is assigned to all team
members
2) Each team member decomposes the goal into
a list of sub-tasks which are stored in a task
stack
3) The Task Assignment module is invoked to
select the next task from the stack which the
asset can complete
4) If a plan is required, the Automated Planner
module generates a problem definition file
and the PDDL planner is invoked
5) The output plan is checked for potential
conflicts by the Deconflictor module and the
plan steps are shared with other assets via the
Communication Interface. If conflicts exist a
replan may be required
6) Once conflicts have been resolved, the plan is
passed to the Plan Executive which executes
the actions
Steps 3-6 are repeated until the task stack is empty.
Updates to the state data which may require
ICAART 2012 - International Conference on Agents and Artificial Intelligence
482