
 
 
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