1 Introduction
Multirotor Unmanned Aerial Vehicles (UAVs) in general and quadrotors in particular, find enormous applications in several key areas of research in academia as well as industry. These include but are not limited to search and rescue and disaster relief (Waharte and Trigoni (2010); Gholami et al. (2019)), autonomous aerial grasping and transport (Hoareau et al. (2017); Fiaz et al. (2017)), and aerial coverage and surveillance (Mozaffari et al. (2016); Fiaz (2017)). The motivation for this expanding zeal towards multirotor UAVs is twofold. First, these are highly inexpensive robots which can be extensively used as testbeds for much of the ongoing research in aerial robotics. Secondly, these are extremely agile robots, capable of much higher maneuverability in comparison with the other UAV classes, namely fixedwing and helicopter style UAVs. This salient feature also edges them as a feasible platform to operate in congested environments, such as crowded city skies and constrained indoor workspaces.
The enormous impact of quadrotors in autonomous search and rescue becomes evident especially during natural disasters, where it is impossible for humans and terrestrial robots to access highly cluttered spaces to rescue people from life threatening situations. In such scenarios, these agile multirotor UAVs come to our rescue. They can either locate and grab a target themselves or can serve as a guide for other robots as well as humans to help evacuate a target. However, the need to evacuate the targets within limited, finite time cannot be more emphasized. Excess of the existing motion planning literature only guarantees successful collision avoidance for all times or successful and safe completion of the mission eventually i.e., without any guarantees on its finite time completion. However, time critical rescue missions require both safety and finite time completion guarantees. Although some recent works ensure finite time and safe mission completion for multiagent systems, they are computationally complex and hence cannot be implemented in realtime. In addition they use simple dynamical models for the robots, which limit their maneuverability in practice.
In this paper, we propose a hybrid, compositional, optimization based method for realtime mission planning for quadrotors in a time critical search and rescue scenario. Starting with a known environment, we specify the mission using Metric Temporal Logic (MTL) and use a hybrid dynamical model to capture the various modes of UAV operation. We then divide the mission into several subtasks, by exploiting the invariant nature of safety and timing constraints along the way, and the different modes (i.e., dynamics) of the UAV. For each subtask, we translate the MTL specifications into linear constraints, and solve the associated optimal control problem for desired path, using a Mixed Integer Linear Program (MILP) solver. The complete path for the mission is constructed recursively by composing the individual optimal subpaths. We show by simulations that the resulting suboptimal trajectories satisfy the mission specifications, and the proposed approach leads to significant reduction in computational complexity of the problem, making it possible to implement in realtime.
Our proposed method ensures the safety of UAVs at all times and guarantees finite time mission completion. It is also shown that our approach scales up nicely for a large number of UAVs under some realistic assumptions on the environment. Following are the main contributions of this paper:

A hybrid optimization based framework for rescue mission planning for UAVs using MTL specifications under the assumption of known environment, and using a rich hybrid dynamical model for the UAVs.

Decomposition of complex MTL specifications into simpler MTL formulae and their translation into linear constraints.

Fast (i.e., realtime) and recursive computation of safe, composable, suboptimal trajectories for UAVs with finite time guarantees.

Limitations and scalability results for the proposed approach for large number of UAVs in a constrained environment.
The rest of the paper is organized as following. In Section 2, we provide a brief survey of the existing literature in relevant areas. Section 3 describes the essential notation and preliminaries on system dynamics, MTL specifications, and the workspace. In Section 4, we define the hybrid dynamical model for UAVs and describe some of its modes. In Section 5, we formulate the optimal control problem and detail our solution approach. Section 6 covers the results drawn from simulations. In Section 7, we summarize and analyze the outcomes of this work briefly, before concluding with some future prospects.
2 Related Work
Given any high level task, it is a standard practice in classic motion planning literature (Latombe (1991); LaValle (2006)), to look for a set of trajectories, which the robot can follow, while satisfying the desired task specifications. This gives rise to the notion of optimal path planning, which considers an optimal path in the sense of optimizing some suitable cost function and finding a control law, to go from one position to another while satisfying some constraints (Choset (2005)). Traditionally, methods such as potential functions (Xi et al. (2005)) have been used for multirobot mission planning. However, they tend to fail in situations where the mission involves some finite time constraints or dynamic specifications. Aerial surveying of areas and timecritical search and rescue are two common examples of such tasks.
Temporal logic (Baier et al. (2008)) seems to address this problem, since it enables us to specify complex dynamic tasks in compact mathematical form. A bulk of modern motion planning literature is based on Linear Temporal Logic (LTL) (Goerzen et al. (2010)), which is useful for specifying tasks such as visiting certain objectives periodically, surveying areas, ensuring stability and safety etc. (Plaku and Karaman (2016); Kantaros and Zavlanos (2018)). However, from a control theory perspective, LTL only accounts for timing in the infinte horizon sense i.e., it can only guarantee something will eventually happen and is not rich enough to describe finite time constraints. In addition, the traditional LTL formulation such as in (KressGazit et al. (2009)), assumes a static environment, which does not admit incorporating dynamic task specifications.
On the other hand, Metric Temporal Logic (MTL) (Koymans (1990); Ouaknine and Worrell (2008)), can express finite time requirements between various events of the mission as well as on each event duration. This allows us to specify safety critical missions with dynamic task specifications and finite time constraints. An optimization based method for LTL was proposed in (Karaman et al. (2008)), and (Wolff et al. (2014)), where they translate the LTL task specifications to Mixed Integer Linear Programming (MILP) constraints, which are then used to solve an optimal control problem for a linear pointrobot model. This work was extended in (Maity and Baras (2015)), where the authors used bounded time temporal constraints using extended LTL for motion planning with linear system models. However, all these works did not incorporate a rich dynamical model of the robot, and also illustrated significant computational complexity issues for the proposed methods in case of planning for multiple robots in 3D.
In some recent papers, optimization based methods with MTL specifications for single (Zhou et al. (2015)) and multiple (Nikou et al. (2016)) robots, do guarantee safe and finite time mission completion. However, in both cases, the computation of the optimal trajectory is expensive (in the order of 500 sec computation time), and hence cannot be implemented in realtime. Moreover, these works put high constraints on the robot maneuverability, by limiting its dynamics to a simple linear (pointrobot) model, which is in contradiction with the main reason for deploying quadrotors in constrained dynamic environments. Thus, in this paper, our intention is to use the rich dynamics of the robots in an intelligent way to divide and conquer the computationally complex problem of mission planning for multiple UAVs using finite time MTL constraints.
3 Notation and Preliminaries
3.1 System Dynamics
Any general (possibly nonlinear) dynamical system can be represented in the form:
where for all time continuous

is the state vector of the system

is the initial condition of the state vector and

is the set of control inputs which is constrained in the control set .
Given a nonlinear model of the system, a linearization around an operating point is expressed as:
where for all time continuous
If time is discretized, then the system dynamics take the form:
(1) 
where as before, , , and for all . Let us denote the trajectory for System (1), with initial condition at , and input as: . However, in this paper, for the sake of convenience, we use the shorthand notation i.e., instead of to represent system trajectory whenever no explicit information about and is required. Similar to the the continuous time case, the corresponding linearized system in discrete time looks like:
(2) 
for all . We use System (2) form dynamics in our problem formulation in Section 5.
3.2 Metric Temporal Logic (MTL)
The convention on MTL syntax and semantics followed in this paper is the same as presented in (Koymans (1990)). More details on specifying tasks as MTL formulae can also be found in (Ouaknine and Worrell (2008)).
Definition 1
An atomic proposition is a statement with regard to the state variables that is either or for some given values of .
Let be the set of atomic propositions which labels as a collection of areas of interest in some workspace, which can possibly be time varying. Then, we can define a map which labels this workspace or environment as follows:
where and denotes the power set of as usual. In general, represents an interval of time but it may just also represent a time instance. For each trajectory of System (2) i.e., as before, the corresponding sequence of atomic propositions, which satisfies is given as: .
We later specify the tasks formally using MTL formulae, which can incorporate finite timing constraints. These formulae are built on the stated atomic propositions (Definition 1) by following some grammar.
Definition 2
The syntax of MTL formulas are defined in accordance with the following rules of grammar:
where , , and are the Boolean constants for and respectively. represents the disjunction while represents the negation operator. denotes the Until operator over the time interval . Similarly, other operators (both Boolean and temporal) can be expressed using the grammar imposed in Definition 2. Some examples are conjunction (), always on (), eventually within () etc. Further examples of temporal operators can be found in (Karaman et al. (2008)).
Definition 3
The semantics of any MTL formula is recursively defined over a trajectory as:
iff
iff
iff or
iff and
iff
iff s.t. and ,
.
Thus, for instance, the expression means the following: is true within time interval , and until is true, must be true. Similarly, the MTL operator means that is true at next time instance. means that is always true for the time duration or during the interval , implies that eventually becomes true within the interval . More complicated formulas can be specified using a variety of compositions of two or more MTL operators. For example, suffices to the following: within time interval , will be eventually true and from that time instance, it will always be true for an interval or duration of . The remaining Boolean operators such as implication () and equivalence () can also be represented using the grammar rules and semantics given in Definition 2 and Definition 3. Similar to the convention used in Definition 3, a system trajectory satisfying an MTL specification is denoted as .
3.3 The Workspace
Throughout this paper, we repeatedly refer to a time critical rescue mission defined on the constrained workspace shown in Fig. 1. It is a custom built CAD environment designed with the intention to closely suit our problem. As shown in Fig. 1, various areas of interest are marked on the workspace using different alphabets. The role of each of these areas of interest will become obvious as we formulate the problem and specify the mission using MTL specifications in Section 5. For now, we briefly describe the mission in a two UAV setting. Starting from initial positions and , two quadrotor UAVs and need to rescue two objects located at and respectively from a constrained environment. The objects are accessible only through a window , with dimensions such that it allows only one UAV to pass at a given time. Therefore, one of the UAVs has to wait at for the other to pass first. It is assumed that there are no additional obstacles in the area other than the walls and the UAVs themselves. The task for each UAV is to grasp its respective target object, and transport it to safety (marked and respectively for and ) in given finite time. While doing so, the UAVs need to avoid the obstacles as well as each other, in particular at the window . Later on, we also use prime region notation; e.g., to represent the same 2D region . There represents an altitude (w.r.t. axis) variation of the quadrotor while it is in the same 2D region .
4 Quadrotor Dynamics
We adopt the generalized nonlinear model for the quadrotor presented in (Michael et al. (2010)). We build a hybrid model for the system with five linear modes, namely Take off, Land, Hover, Steer, and a task specific Grasp mode. The linearization for each mode is carried out separately about a different operating point. This enables our system to have rich dynamics with less maneuverability restrictions, while each mode still being linear. This is an important point and its significance becomes apparent once we formulate the problem and present our solution approach, since it requires all constraints in the problem to be linear. (see Section 5).
4.1 General Nonlinear Model
The dynamics of a quadrotor can be fully specified using two coordinate frames. One is a fixed earth (or world) frame, and the second is a moving body frame. Let the homogeneous transformation matrix from body frame to earth frame be , which is a function of time . In state space representation, the quadrotor dynamics are represented as twelve states namely , where and represent the position and velocity of the quadrotor respectively with respect to the body frame. are the angles along the three axes (i.e., roll, pitch, and yaw respectively), and represents the vector containing their respective angular velocities. Under the rigid body assumptions on its airframe, the NewtonEuler formalism for quadrotor in earth frame is given by:
(3)  
where
is the moment of inertia matrix for the quadrotor,
is the gravitational acceleration, , is the total thrust produced by the four rotors, and is the torque vector, whose components are the torques applied about the three axes. So, , , , and are the four control inputs to System (4.1).4.2 Hybrid Model with Linear Modes
System (4.1) serves as a starting point for generating a hybrid model for the quadrotor with five modes, which are represented by a labeled transition system as shown in Fig. 2. As usual, the states (or modes) denote the action of the UAV, such as Take off and Steer, while the edges represent the change or switch to another action. The change is governed by some suitable guard condition. Note, that some edges donot exist; for example, the quadrotor cannot go from Land to Hover without taking the action Take off. Each state of the transition system follows certain dynamics, which result from a linearization of System (4.1) around a different operating point. For example, consider the Hover mode. One possible choice of operating points for the linearization of system dynamics in this mode is . This implies that the two states and i.e., the yaw angle and its respective angular velocity are identically zero, and thus can be removed from the state space representation. Consequently, the state space dimension is reduced to ten, and the control set is reduced to three inputs as well; i.e., , and . The resulting linearized model can be written in standard (discrete time) form as: , where is the state, and is the input (in vector notation), with the two system matrices given as:
where , and all zero and identity matrices in and are of proper dimensions. We adopt similar procedure to linearize System (4.1) around other operating points for different modes, and obtain linearized dynamics for the hybrid model. Here, we omit the discussion about the selection of these operating points, but it can be found in (García et al. (2013)).
4.3 The Grasp Mode
Grasping in general is a very challenging problem, in particular when dexterity based manipulation is involved. Since Grasp is the only task specific dynamical mode of our system, it was advisable to simplify the grasping routine within the high level task. However, in case of aerial grasping, some passive mechanisms (Fiaz et al. (2019)) have been shown to be very reliable in grasping an object with an instantaneous touchdown onto its surface (Fiaz et al. (2018)). Thus, under this reliable passive aerial grasping assumption (i.e., instantaneous touchdown and grasp), we can express the Grasp mode as a switching combination of Hover, Land, and Take off dynamics with special guard conditions. This clearly simplifies the problem of having the need to introduce a complex gripper and its endeffector dynamics into the Grasp mode of the hybrid model. Figure 3 depicts this representation of the Grasp mode in terms of the Hover, Land, and Take off dynamics.
5 Method: Formulation and Solution
Given the map of the environment, we can write down a mission specification for each quadrotor as an MTL formula . For the workspace described in Section 3, a possible MTL task specification for the quadrotor can be written as:
where , , and . represents the neighborhood set of quadrotor i.e., all quadrotors s.t. , for some . , , are discrete time units, and the prime notation models the grasping action within the same area of the workspace with some altitude variation of the UAV along the axis. Thus, for instance, in the two UAV setting as shown in Fig. 1, a possible MTL specification for quadrotor is:
A similar mission specification can be written for the quadrotor and so on. Now using the quadrotor dynamics (2) and these MTL formulae , we can state the rescue mission planning as an optimal control problem.
5.1 Problem Statement and Formulation
We set up the described mission as a standard optimal control problem in discrete time. Given the system dynamics (2), the objective is to find a suitable control law that steers each quadrotor through some regions of interest in the workspace within desired time bounds, so that it evacuates the target safely to a desired location. This control also optimizes some cost function, while the associated task constraints are specified by an MTL expression. As before, let denote the MTL formula for the mission specification, and be the cost function to be minimized. Then, the corresponding optimization problem for quadrotor , is given by:
Problem 1 is a discrete time optimal control problem with linear dynamics. However, it includes a complex MTL satisfiability constraint. In addition, notice that in our case, the hybrid model of the quadrotor has multiple linear modes. Therefore, in its current form, Problem 1 is not directly solvable.
We now describe two methods that transform Problem 1 into a set of readily solvable Mixed Integer Linear Programs (MILPs). First, we describe a method for translating the MTL satisfiability constaint into a set of linear constraints. This approach renders Problem 1 solvable as a MILP for a linear cost and a given dynamical mode of the system. Secondly, we decompose the complex MTL specification into a set of simpler MTL formulae , and . This suffices to breaking down of the original problem into subproblems, each with a set of linear constraints and exactly one associated dynamical mode of the hybrid system. Combining both these methods, the resulting MILPs are expected to have significantly reduced computational complexity than the parent problem.
5.2 MTL Formulae to Linear Constraints
This method is based on the approach presented in (Karaman et al. (2008)) where the authors translate LTL specifications into linear constraints. Along similar lines, we now present an approach to translate MTL specifications into mixed integer linear constraints. We start with a simple temporal specification and work through the procedure to convert it to mixed integer linear constraints. We then use this example as a foundation for translating the MTL operators into equivalent linear constraints.
Consider the constraint that a trajectory lies within a convex polytope at time . Since is convex, it can be represented as an intersection of a finite number of halfspaces. A halfspace can be represented as set of points, . Thus, is equivalent to . So, the constraint can be represented by the set of linear constraints , and .
In a polytopic environment, atomic propositions (see Definition 2), , are related to system state via conjunction and disjunction of linear halfspaces Karaman et al. (2008). Let us consider the case of a convex polytope and let
be some binary variables associated with the corresponding halfspaces
at time . We can then force the constraint: , by introducing the following linear constraints:(4) 
where and are some large and small positive numbers respectively. If we denote , then . This approach is extended to the general nonconvex case by convex decomposition of the polytope. Then, the decomposed convex polytopes are related using disjunction operators. Similar to conjunction, as is described later in this section, the disjunction operator can also be translated to mixed integer linear constraints.
Let denote the set of all mixed integer linear constraints corresponding to a temporal expression . Using the described procedure, once we have obtained for atomic propositions , we can formulate for any MTL formula . Now, for the Boolean MTL operators, such as , , , let , and as before be the continuous variables associated with the formula generated at time with atomic propositions . Then is the negation of an atomic proposition, and it can be modeled as:
(5) 
the conjunction operator, , is modeled as:
(6)  
and the disjunction operator, , is modeled as:
(7)  
Similar to binary operators, temporal operators such as , and can be modeled using linear constraints as well. Let , where is the time interval used in the MTL specification . Then, eventually operator: is modeled as:
(8)  
and always operator: is represented as:
(9)  
and until operator: is equivalent to:
(10)  
The equivalent linear constraints for until operator (5.2) are constructed using a procedure similar to (Karaman et al. (2008)). The modification for MTL comes from the following result in (Koymans (1990)).
All other combinations of MTL operators for example, eventuallyalways operator: and alwayseventually operator: etc., can be translated to similar linear constraints using (5)(LABEL:until). In addition to the collective operator constraints, we need another constraint as well, which suffices to the overall satisfaction of a task specification .
Using this approach, we can translate an MTL formula into a set of mixed integer linear constraints , which converts the associated optimal control problem (e.g. Problem 1) to a MILP for some linear cost function.
5.3 Decomposition of Complex MTL Formulae
Notice that the worst case complexity of the above MILP (Problem 1 with linear constraints and linear cost) is exponential i.e., , where is the number of boolean variables or equivalently the number of halfspaces required to express the MTL formula, and is the discrete time horizon. Therefore, it is logical to consider decomposing the task specification into several simpler subtasks , where and .
In (Schillinger et al. (2018)), the authors proposed a timedautomata based approach to decompose a complex LTL specification into a finite number of simpler LTL specifications. In case of MTL, this method is not applicable in general, because MTL to Buchi automata conversion is not always possible. However, in the special case, where the finite time constraints are specified as intervals i.e., in case of Metric Interval Temporal Logic (MITL), we can break down a complex MTL specification (mission) into finite number of simpler MTL specifications (subtasks), if the sum of the finite timing intervals in decomposed MTL specifications does not violate the finite timing interval of the original MTL specification. We can state this proposition as the following theorem:
Theorem 1
Given an MITL specification , there exists some finite length decomposition , , s.t. , if , where is the finite timing interval for , and s are the corresponding finite timing intervals for , .
The proof follows directly from Theorem 2 in (Schillinger et al. (2018)). It can also be readily verified using a timed automata simulation in UPAAL (Behrmann et al. (2006)).
Notice that Theorem 1 does not guarantee an equivalence relationship between and . Moreover, this decomposition is not unique. However, if the mission is specified by an MITL specification and the system is represented by a hybrid model, which is the case in our problem, one convenient design choice is to pick such , for which there is only one associated dynamical mode of the system. We provide examples of such decomposition in Section 6.
For example, consider again the workspace in Fig. 1 and let be given by:
then, a possible decomposition is given by:
which clearly satisfies Theorem 1.
5.4 Final Trajectory Generation
By decomposing the mission specification , and by using the MTL to linear constraints translation mechanism, we can replace Problem 1 with a collection of smaller optimization problems, each with a subtask specification represented as an MTL formula , and an associated linear mode of the hybrid model.
Here, the linear cost function of choice is , where is the discrete time horizon for the optimal trajectory. Thus, our final formulation of the problem is given by:
where is the MTL specification for the subtask for the UAV, , are the linear system matrices for the mode, and is the resulting optimal trajectory for the subtask, with , , and .
For example, in the two UAV setting, for quadrotor , one subtask is to go from to in 5 time units. The MTL specification for this subtask is given by , and the associated dynamics are selected from the Steer mode.
Problem 2 represents a collection of MILPs, which can be solved recursively and efficiently using a MILP solver. The resultant trajectories are locally optimal for each individual subtask, and their existence inherently guarantees safety and finite time completion of the respective subtasks. The final trajectory for the complete mission is generated over time by composing all the individual optimal subtask trajectories. The final path is therefore not optimal but suboptimal with respect to the original mission specification for the UAV. However, despite this loss of global optimality, the advantages achieved in terms of reduction in computational complexity, and improved scalability with respect to the number of UAVs are far more important, as is shown in the following section.
6 Simulations and Results
We apply the proposed method for solving Problem 2 in the same workspace as shown in Fig. 1. The experiments are run through YALMIPCPLEX solver using MATLAB interface on an Intel NuC. It is portable computer with an Intel core i7 @ 3.7 GHz CPU, an integrated Intel Iris GPU, and 16 GBs of memory. This setup is directly transferable to a quadrotor as a companion module for onboard computation.
We use a neighborhood set threshold for the UAVs i.e., . The discrete time horizon for simulation is , and the UAV altitude limit in Hover and Steer modes is set to . All dynamics are uniformly discretized at a rate of 5 Hz.
6.1 Case Study I: Validation (2 UAVs)
In the two UAV setting (as in Fiaz and Baras (2019)), for the mission , the subtasks for the quadrotor are specified as following:
Using the convention defined earlier, the specification requires the quadrotor to attain desired threshold altitude (represented as ) while staying inside the 2D region marked . requires the quadrotor to reach within 5 time units, and requires it to reach within 10 time units, while avoiding the obstacle and the neighboring quadrotor . requires the UAV to grasp the object at within 10 time units while staying in , whereas asks it to reach within 10 time units. Finally forces to stay at indefinitely.
Similarly, the subtasks for quadrotor are given as following:
Notice, that the constraint , where , , enforces the quadrotors to avoid collision when within proximity of its neighbors. In practice, the UAV that is the first to reach region and is closest to the window , gets to go through first. The other UAV has to wait in the default Hover mode at .
Each UAV sequentially solves the set of MILPs for its respective subtask specifications, and moves along the generated optimal trajectory for the corresponding subtask. The final mission trajectory is generated by recursive composition of all these optimal subtask trajectories. Figure 4 shows the resulting composed trajectories for both the quadrotors operating simultaneously. Both UAVs safely avoid the obstacles and evacuate their respective objects within given finite time limits. As expected, quadrotor waits at . The number of circular rings at (see Fig. 4) correspond to the waiting time for in terms of discrete steps.
Table 1 provides some insight into the timing analysis of each subtask for both quadrotors. A closer look at this data indicates that all timing constraints are indeed satisfied. Moreover, the computation time for each subtask indicates that the proposed method can be implemented in realtime. To the best of the authors knowledge, these are one of the fastest computation times reported in the existing MTL based planning literature. The secret to this reduction in computational complexity lies in our divide and conquer approach. From an implementation point of view, the performance can be further improved by using hardware which is optimized for computation (such as Nvidia Jetson TX2 etc.).
Computation (sec)  Execution (steps)  

()  2.7  2 
()  6.3  4 
()  10.3  7 
()  3.0  3 
()  5.7  6 
()  2.5  2 
()  2.7  2 
()  5.8  4 
()  11.1  8 
()  3.0  3 
()  5.7  6 
()  2.5  2 
6.2 Case Study II: Scalability (N UAVs)
We now consider the case of number of UAVs to investigate the scalability features of our method. For this case study, we increase the number of UAVs in the simulation setup, one at a time until one of the finitetime constraints in any of the subtask specifications is violated for at least one of the UAVs. To keep the analysis consistent, we keep the finite timing constraints for all UAVs the same as before.
It turns out that for , the subtask specification fails the satisfaction criterion and hence no solution exists for this subtask. That is, for , one of the UAVs fails to reach its respective target object within the finite time limit of 10 units. The reason is that beyond , one access point to the environment is not sufficient to meet the specified timing constraints for all the UAVs, since now the quadrotors have to queue up for longer duration at in order to avoid collisions at .
However, this problem can be solved simply either by increasing the finite time limits for this subtask, or by executing the mission in an environment with multiple access points. Another way to look at this limitation is to identify that is the maximum number of UAVs that can be deployed successfully under these safety and timing constraints in this particular workspace, and adding more UAVs does not provide any additional value in terms of the success of the mission. Therefore, it is more of a limitation of the workspace than our approach itself. Figure 5 shows the resulting composed trajectories for 6 UAVs, in which case all safety and timing constraints are satisfied. Table2 enlists the computation and execution times for the subtasks for the case, indicating the satisfaction of all timing constraints.
Computation (sec)  Execution (steps)  

()  2.7  2 
()  5.3  4 
()  11.3  9 
()  3.0  3 
()  5.7  6 
()  2.5  2 
()  2.7  2 
()  5.8  4 
()  10.7  8 
()  3.0  3 
()  5.7  6 
()  2.5  2 
()  2.7  2 
()  5.8  4 
()  9.3  6 
()  3.0  3 
()  7.7  8 
()  2.5  2 
()  2.5  2 
()  5.8  3 
()  7.9  5 
()  3.0  3 
()  5.5  6 
()  2.5  2 
()  2.7  2 
()  5.8  3 
()  10.1  7 
()  3.0  3 
()  5.7  6 
()  2.5  2 
()  2.7  2 
()  6.3  5 
()  9.5  6 
()  3.0  3 
()  5.7  7 
()  2.5  2 
7 Conclusions and Prospects
We have proposed a hybrid compositional approach to rescue mission planning for quadrotors with MTL task specifications, and have presented an optimization based method which can be implemented in realtime. Using a simple yet realistic search and rescue test case, we have demonstrated the computational efficiency of our approach, and have shown that by breaking down the mission into several subtasks, and by using a hybrid model for the system, it is possible to solve the challenging problem of motion planning for multiagent systems with rich dynamics and finite time constraints in realtime.
In addition to some promising results, this work also poses many new and interesting questions as well. For example, given a finite time constraint for the whole mission, what is the best or optimal way to divide the timing constraints among various subtasks. Of course it is a scheduling problem, and is dependent on many factors such as robot dynamics, its maximum attainable speed, and nature of the subtasks as well.
In this study, the individual subtask timing constraints were constructed in a relaxed and uniform fashion. However, it is worth noticing that using a rich dynamical model for the UAV puts less constraints on its maneuverability, and hence can allow it to tackle more conservative finite time constraints as well. For example, the Steer mode in our model allows the quadrotor to achieve speeds as high as 1.5 m/s, which is not possible with the usual single mode Hover linearization only.
We anticipate that the scalability features of this approach can be shown with even greater number of UAVs in an environment with multiple access points for instance. Detailed performance comparison of this hybrid approach with some decentralized collision avoidance methods will be beneficial as well. Extension of this work with different tasks, dynamic obstacles other than the UAVs themselves, conservative time constraints, and tolerances in both time and space can also yield interesting results, and are all great directions for future work.
References
 Baier et al. (2008) Baier, C., Katoen, J.P., et al. (2008). Principles of model checking, volume 26202649. MIT press Cambridge.
 Behrmann et al. (2006) Behrmann, G., David, A., Pettersson, P., Yi, W., and Hendriks, M. (2006). Uppaal 4.0.
 Choset (2005) Choset, H.M. (2005). Principles of robot motion: theory, algorithms, and implementation. MIT press.
 Fiaz (2017) Fiaz, U.A. (2017). Passive Magnetic Latching Mechanisms For Robotic Applications. Master’s thesis, KAUST.
 Fiaz et al. (2018) Fiaz, U.A., Abdelkader, M., and Shamma, J.S. (2018). An intelligent gripper design for autonomous aerial transport with passive magnetic grasping and dualimpulsive release. In 2018 IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM), 1027–1032. IEEE.
 Fiaz and Baras (2019) Fiaz, U.A. and Baras, J.S. (2019). A hybrid compositional approach to optimal mission planning for multirotor uavs using metric temporal logic. arXiv preprint arXiv:1904.03830.
 Fiaz et al. (2017) Fiaz, U.A., Toumi, N., and Shamma, J.S. (2017). Passive aerial grasping of ferrous objects. IFACPapersOnLine, 50(1), 10299–10304.
 Fiaz et al. (2019) Fiaz, U.A., Shamma, J.S., and Abdelkader, M.A. (2019). Impulsive release mechanism and method. US Patent App. 16/266,800.
 García et al. (2013) García, L.R., Dzul López, A.E., Lozano, R., and Pégard, C. (2013). Modeling the quadrotor minirotorcraft. Quad Rotorcraft Control, 23–34.
 Gholami et al. (2019) Gholami, A., Fiaz, U.A., and Baras, J.S. (2019). Droneassisted communications for remote areas and disaster relief. arXiv preprint arXiv:1909.02150.
 Goerzen et al. (2010) Goerzen, C., Kong, Z., and Mettler, B. (2010). A survey of motion planning algorithms from the perspective of autonomous uav guidance. JIRS, 57(14), 65.
 Hoareau et al. (2017) Hoareau, G., Liebenberg, J.J., Musial, J.G., and Whitman, T.R. (2017). Package transport by unmanned aerial vehicles. US Patent 9,731,821.
 Kantaros and Zavlanos (2018) Kantaros, Y. and Zavlanos, M.M. (2018). Temporal logic optimal control for largescale multirobot systems: 10 400 states and beyond. In CDC, 2519–2524. IEEE.
 Karaman et al. (2008) Karaman, S., Sanfelice, R.G., and Frazzoli, E. (2008). Optimal control of mixed logical dynamical systems with ltl specifications. In CDC, 2117–2122. IEEE.
 Koymans (1990) Koymans, R. (1990). Specifying realtime properties with metric temporal logic. Realtime systems, 2(4), 255–299.
 KressGazit et al. (2009) KressGazit, H., Fainekos, G.E., and Pappas, G.J. (2009). Temporallogicbased reactive mission and motion planning. IEEE transactions on robotics, 25(6), 1370–1381.
 Latombe (1991) Latombe, J. (1991). Robot motion planning. Kluwer international series in engineering and computer science. Kluwer Academic Publishers, Boston.
 LaValle (2006) LaValle, S.M. (2006). Planning algorithms. Cambridge university press.
 Maity and Baras (2015) Maity, D. and Baras, J.S. (2015). Motion planning in dynamic environments with bounded time temporal logic specifications. In 2015 23rd Mediterranean Conference on Control and Automation (MED), 940–946. IEEE.
 Michael et al. (2010) Michael, N., Mellinger, D., Lindsey, Q., and Kumar, V. (2010). The grasp multiple microuav testbed. IEEE Robotics & Automation Magazine, 17(3), 56–65.
 Mozaffari et al. (2016) Mozaffari, M., Saad, W., Bennis, M., and Debbah, M. (2016). Efficient deployment of multiple unmanned aerial vehicles for optimal wireless coverage. IEEE Communications Letters, 20(8), 1647–1650.
 Nikou et al. (2016) Nikou, A., Tumova, J., and Dimarogonas, D.V. (2016). Cooperative task planning of multiagent systems under timed temporal specifications. In ACC. IEEE.
 Ouaknine and Worrell (2008) Ouaknine, J. and Worrell, J. (2008). Some recent results in metric temporal logic. In Formal Modeling and Analysis of Timed Systems, 1–13. Springer.
 Plaku and Karaman (2016) Plaku, E. and Karaman, S. (2016). Motion planning with temporallogic specifications: Progress and challenges. AI communications, 29(1), 151–162.
 Schillinger et al. (2018) Schillinger, P., Bürger, M., and Dimarogonas, D.V. (2018). Decomposition of finite ltl specifications for efficient multiagent planning. In DARS, 253–267. Springer.
 Waharte and Trigoni (2010) Waharte, S. and Trigoni, N. (2010). Supporting search and rescue operations with uavs. In 2010 International Conference on Emerging Security Technologies, 142–147. IEEE.
 Wolff et al. (2014) Wolff, E.M., Topcu, U., and Murray, R.M. (2014). Optimizationbased trajectory generation with ltl specifications. In ICRA 2014.
 Xi et al. (2005) Xi, W., Tan, X., and Baras, J.S. (2005). A hybrid scheme for distributed control of autonomous swarms. In ACC 2005, 3486–3491. IEEE.
 Zhou et al. (2015) Zhou, Y., Maity, D., and Baras, J.S. (2015). Optimal mission planner with timed temporal logic constraints. In 2015 European Control Conference (ECC). IEEE.