Automated Planning for Collaborative UAV Systems Jonas Kvarnstr¨ om and Patrick Doherty Department of Computer and Information Science Link¨ oping University, SE-58183 Link¨ oping, Sweden {jonkv,patdo}@ida.liu.se Abstract—Mission planning for collaborative Unmanned Air- craft Systems (UAS:s) is a complex topic which involves trade-offs between the degree of centralization or decentralization required, the degree of abstraction in which plans are generated, and the degree to which such plans are distributed among participating UAS:s. In realistic environments such as those found in natural and man-made catastrophes where emergency services personnel are involved, a certain degree of centralization and abstraction is necessary in order for those in charge to understand and eventually sign off on potential plans. It is also quite often the case that unconstrained distribution of actions is inconsistent with the loosely coupled interactions and dependencies which arise between collaborating systems. In this article, we present a new planning algorithm for collaborative UAS:s based on combining ideas from forward chaining planning with partial- order planning leading to a new hybrid partial order forward- chaining (POFC) framework which meets the requirements on centralization, abstraction and distribution we find in realistic emergency services settings. Index Terms—Partial-order planning, unmanned aerial vehi- cles, planning with control formulas I. I NTRODUCTION A devastating earthquake has struck in the middle of the night. Injured people are requesting medical assistance, but clearing all roadblocks will take days. There are too few helicopters to immediately transport medical personnel to all known wounded, and calling in pilots will take time. Fortunately, we also have access to a fleet of unmanned aerial vehicles (UAVs) that can rapidly be deployed to send prepared crates of medical supplies to those less seriously wounded. Some are quite small and carry single crates, while others move carriers containing many crates for subsequent distribution. In preparation, a set of ground robots can move crates out of warehouses and (if required) onto carriers. This somewhat dramatic scenario involves a wide variety of agents, such as UAVs and ground robots, that need to collabo- rate to achieve common goals. For several reasons, the actions of these agents often need to be known to some degree before the start of a mission. For example, authorities may require pre-approval of unmanned autonomous missions occurring in specific areas. Even lacking such legal requirements, ground operators responsible for missions or parts of missions often prefer to know what will happen in advance. At the same time, pre-planning a mission in every detail may lead to brittle plans, and it is generally preferable to leave a certain degree of freedom to each agent in the execution of its assigned tasks. We are therefore interested in solutions where high-level mission plans are generated at a centralized level, after which Go to crate 12 at loc5 Actions for robot3 Actions for uav4 Pick up crate 12 Go to carrier 4 at loc9 Put crate 12 on carrier 4 Put crate 7 on carrier 4 Go to crate 5 at loc27 Takeoff Fly to carrier 4 at loc9 Pick up carrier 4 Fly to (1500, 1023) Fig. 1. Example plan structure agent-specific subplans are extracted and delegated to individ- ual agents. Each agent can then view its own subset of the original high-level plan as a set of goals and constraints, after which it can generate a more detailed plan with full knowledge of the fine-grained platform-specific actions at its disposal. This can be said to be a hierarchical hybrid between centralized and decentralized planning. A suitable plan structure for this type of collaborative multi- agent mission should be sufficiently flexible to reflect the most essential aspects of the true execution capabilities of the agent or agents involved. In particular, the plan structure should allow us to make full use of the potential for concurrent execution and to provide a high degree of execution flexibility. Plans should therefore be minimally constrained in terms of precedence between actions performed by different agents, and should not force an agent to wait for other agents unless this is required due to causal dependencies, resource limitations, or similar constraints arising from the domain itself. This requires a plan structure capable of expressing both precedence between actions and the lack of precedence between actions. Though partially ordered plans satisfy this requirement, the full expressivity afforded by such plans may be excessive for our motivating scenario: While partial ordering is required between actions executed by different agents, the actions for each individual agent could be restricted to occur sequentially 1 . Figure 1 shows a small example for two agents: A UAV flies to a carrier, but is only allowed to pick it up after a ground robot has loaded a number of crates. The actions of each agent are all performed in a predetermined sequence. Due to partial ordering between different agents, the ground robot can immediately continue to load another carrier without waiting for the UAV. 1 Note that this can easily be extended to allow multiple sequential threads of execution within each agent. 978-1-4244-7815-6/10/$26.00 c 2010 IEEE ICARCV2010