Automated Trajectory Synthesis for UAV Swarms Based on Resilient Data Collection Objectives
A H M Jakaria, Mohammad Ashiqur Rahman, Matthew Anderson, Steven Drager
AAutomated Trajectory Synthesis for UAV SwarmsBased on Resilient Data Collection Objectives
A H M Jakaria, Mohammad Ashiqur Rahman,Matthew Anderson, and Steven DragerAugust 26, 2020
Abstract
The use of Unmanned Aerial Vehicles (UAVs) for collecting data fromremotely located sensor systems is emerging. The data can be time-sensitive and require to be transmitted to a data processing center. How-ever, planning the trajectory of a collaborative UAV swarm depends onmulti-fold constraints, such as data collection requirements, UAV ma-neuvering capacity, and budget limitation. Since a UAV may fail or becompromised, it is important to provide necessary resilience to such con-tingencies, thus ensuring data security. It is important to provide theUAVs with efficient spatio-temporal trajectories so that they can effi-ciently cover necessary data sources. In this work, we present Synth4UAV,a formal approach for automated synthesis of efficient trajectories for aUAV swarm by logically modeling the aerial space and data point topol-ogy, UAV moves, and associated constraints in terms of the turning andclimbing angle, fuel usage, data collection point coverage, data freshness,and resiliency properties. We use efficient, logical formulas to encode andsolve the complex model. The solution to the model provides the rout-ing and maneuvering plan for each UAV, including the time to visit thepoints on the paths and corresponding fuel usage such that the necessarydata points are visited while satisfying the resiliency requirements. Weevaluate the proposed trajectory synthesizer, and the results show thatthe relationship among different parameters follow the requirements whilethe tool scales well with the problem size.
Keywords—
UAV swarm; trajectory design; formal model
Unmanned Aerial Vehicles (UAVs) are increasingly being used for data collection.They are successfully used in scenarios where it is highly dangerous, as well as monotonousfor human observers, or in some cases, excessively costly [1]. For example, UAVs maybe used in surveillance of sensitive points in industrial networks, such as the smartgrid bus system [2]. They can also be used in UAV-assisted wireless sensor networks tocollect data directly from sensor nodes [3]. Sensor nodes can be planted at prespecified a r X i v : . [ c s . F L ] A ug emote locations on the ground. Some of the UAV waypoints can be located in closeproximity to the data sensors. In many cases, UAVs start their flights from one ormore base stations or data centers and collect data from different waypoints along thetrajectories before reaching endpoints.The trajectory planning in scenarios that consider multi-fold constraints of theUAVs, such as maneuvering restriction, budget limitation, and data collection require-ments, is generally an NP-hard problem [4]. The trajectories of UAVs may containpredefined waypoints in the three-dimensional Euclidean space; however, the UAVshave certain limitations in maneuvering and fuel capacity while going from one pointto another. The operators of such data collection systems generally employ a swarmof UAVs to collect data from the data sources collaboratively but may have budgetlimitations. The data collection is time-sensitive, as data freshness is important inpractical scenarios. For example, the operator may want a data point to be resilientlycovered by multiple UAVs, so that even if some of the UAVs fail to operate normallydue to malfunction or cyberattacks, some others can still perform the job successfully.Moreover, they need to make sure that the difference in the time of the data collectionis below certain thresholds. This calls the need for a comprehensive UAV trajectorydesigner for a UAV swarm, although the problem is combinatorially hard.In this paper, we aim to address this challenge by developing Synth4UAV, a for-mal model-based trajectory planner for a UAV swarm. We use Satisfiability ModuloTheories (SMT) [5] to implement, encode, and solve the corresponding formal model.The solution synthesizes a trajectory for the UAV swarm, if there is one, satisfying allthe given constraints, including data freshness and budget constraints. The evaluationresults show that our tool scales well to solve problems with large spatial systems. Ourmajor contributions in this research consist of the following:1. We formally model the UAV trajectory planning as a constraint satisfactionproblem. We model the UAV moves and associated constraints, such as UAVmaneuver limitations, fuel usage, data freshness, budget limitation, and re-siliency requirements for data collection.2. We encode the formal model using SMT as a constraint satisfaction problemand solve it using an efficient SMT solver to find the trajectory of the UAVswarm. We demonstrate the developed tool on a case study.3. We analyze various characteristics of the trajectory synthesis problem. We eval-uate the scalability of the tool. We build a graphical simulator for visual analysis.The rest of this paper is organized as follows: Section 2 presents the researchproblems, challenges, and related works. We discuss the framework of our developedsolution in Section 3. Section 4 describes the formal model of the constraints andrequirements. The implementation details and a case study are presented in Section 5.The evaluation results of the implemented tool is presented in Section 6. Finally, weconclude the paper in Section 7. In this section, we discuss the research problem, the challenges associated with it, andthe related works.
A UAV swarm is a network of UAVs that can communicate with each other (mostlyfollowing the ad-hoc wireless networking) and usually perform a common task, au-tonomously or with the instructions from operators. It is important to maintain ap-propriate trajectories for all the UAVs in a network in order to avoid mid-air-collisionor restricted areas ( e.g. , adverse territory or restricted private locations). It is alsorequired to maintain successful communication between the neighboring UAVs andcover the surveillance points within a time constraint. In this research, we propose aformal framework that plans for the trajectories of the UAVs in a swarm, so that allor at least a fraction of the points near the data sources are covered within a givenperiod. The coverage requirement may ensure that at least one of the available UAVsshould cover each data point once or at each operator-specified time interval withinthe period. The resiliency specification considered in this research states that even ifa certain number ( r or k ) of UAVs fail to operate due to technical failures or cyberat-tacks, the surveillance goal is still fulfilled. In other words, the trajectory plan for theremaining UAVs can still securely surveil the required percentage of the data points.Fig. 1 presents two sample trajectories for two different UAVs. They collect theavailable data in a combined way. The figure shows the starting points for both theUAVs, as well as the positions or waypoints from where they can collect the data. Inour research problem, we consider a set of points in the three-dimensional space wherethe UAVs can travel, as well as subsets of the points where data is available and wheretraveling is forbidden. A swarm of UAVs is deployed to collect data over an area from a set of predefinedsensors planted on the ground. The sensors are located on the XY plane of the three-dimensional Euclidean space with X , Y , and Z axes. There are multiple points with xyz coordinates, of which some are directly above the data sensors or near to themfrom where the UAVs can collect the transmitted data. Higher z value denotes pointswith higher altitude. A subset of the points are restricted, which must be avoidedduring the flight. Designing trajectories of all the UAVs so that the budget and time estrictions are met, they do not collide with one another, avoid restricted areas, andstill perform the desired data collection surveillance is a multi-objective problem (NP-hard). We use satisfiability modulo theories (SMT) to solve this problem and generatethe trajectories in the 3D space that satisfies all the constraints and requirements. There are several works in the literature that provides solutions to the problems ofpath projection and path planning for UAVs. For example, Tisdale et al. proposeda mechanism to perform path planning while minimizing the uncertainty in sensingmissions by considering a blend of online sensor models and estimation objectives [6].Yeung et al. proposed two heuristic-based techniques to find an optimal route ofaerial vehicles so that the original target and waypoints are not affected [4, 7]. Theyalso consider the flight maneuvering constraints of the UAVs and keep the deviationfrom the original route to a minimum while maximizing the number of sensor tasksfrom the ground. They also consider the time deadlines to cover the taskpoints andmaintenance of QoS. Mekala et al. proposed a similar method to generate the flighttrajectory, which is a collection of predefined waypoints [8]. They also propose analgorithm to optimize the flight path. Liu et al. studied the age-optimal trajectoryplanning in UAV-enabled wireless sensor networks [9]. They ensure that the age of thedata collected from different sensor nodes is bounded by a threshold. They proposeda dynamic programming method and a genetic algorithm-based method.Beard et al. designed semi-autonomous UAVs and proposed their graph-basedapproach to path planning and trajectory generation [10]. Ceccarelli et al. developeda path planning model for micro UAVs to obtain video footage of a set of knowntargets [11]. In the presence of constant winds, they find the best selection of waypointsfor achieving the reconnaissance goals. A pheromone model, where the movement ofa group of UAVs is guided by pheromone, was proposed by Kuiper et al. [12]. Thismodel performs well in reconnaissance.A two-step algorithm was proposed by Bortoff to obtain a path for UAVs travelingthrough unauthorized sites [13]. The algorithm performed a trade-off between theshortest path for traveling and avoiding radars. A trajectory design with the aidof an iterative algorithm was proposed by Wu et al. where aerial base stations fora wireless communication system on the ground were mounted on the UAVs [14].Bagherian proposed a genetic and particle swarm algorithm to generate the optimalthree-dimensional path planning in an adverse environment [15]. They considered theterrain information and the kinematic constraints of the UAVs.Tsourdos et al. presented a Kripke model for UAV path planning to cope withuncertainties and decision making involved in the process of collaboratively reachingthe goal while covering a certain area of interest, avoiding obstacles [16]. They modeledthe collision avoidance with the help of conditions such as minimum separation andnon-intersection of paths at equal length. Their model can find the shortest pathfor each UAV. Ruz et al. proposed a Mixed Integer Linear (MILP)-based solutionwhich modifies the A* algorithm to optimize paths in dynamic environments wherepop-ups appear according to a known future probability and need to be avoided [17].Their ILP model can choose the most suitable trajectory among different alternativesprovided fuel and time constraints. The authors also presented a similar approachto trajectory optimization for UAVs in the presence of obstacles, waypoints, and riskzones in another research [18]. Jakaria et al. presented a formal model for verificationof a resilient communication in a UAV swarm while maintaining safe flight trajectories or all the UAVs [1, 19]. Jameson proposed a fuel consumption algorithm for UAVsthat addresses the additional fuel requirements issue in the Aviation Weather RoutingTool (AWRT) developed by the Army Research Laboratory [20]. They developeda prototype algorithm that computes the ground speeds along the different missionsegments, fuel consumed, and fuel remaining while rerouting during adverse weatherconditions.Chen et al. optimized the trajectory of quad-rotor UAVs in collaborative environ-ments [21]. They proposed a hierarchic optimization technique to solve the trajectoryoptimization problem of quad-rotor UAVs. Sun et al. created a trajectory-trackingcontroller where the autopilot is involved in the feedback control loop [22]. Theyproposed a generalized trajectory design model using Lyapunov based backstepping.Fadlullah et al. proposed a simple trajectory control algorithm for UAVs that man-ages the throughput of UAV-aided networks, where UAVs work as network nodes [23].Kvarnstrom et al. presented a framework for UAV mission planning that combinesideas from forward-chaining planning and partial order planning [24]. They met the re-quirements of centralization, abstraction, and distribution of task assignments. Bethke et al. proposed a health management system for UAV teams that perform persistentsurveillance [25]. Their methodology for planning missions can anticipate the nega-tive effects of various types of anomalies on future mission states, as well as choosingactions to mitigate the effects.However, none of these works present the path planning for resilient coverage ofdata points. We consider the resiliency of the planned trajectories, which ensures acertain coverage of the data sources with a certain frequency of timely visits of multipleUAVs. We solve an NP-hard problem [26], which involves trajectory synthesis whilesatisfying multi-objective constraints such as budget and maneuvering limitations, andoperator requirements, such as resilient coverage. We develop Synth4UAV, a formal model-based tool that creates a trajectory plan foreach UAV of a UAV swarm, where a trajectory is a sequence of waypoints throughwhich the UAV will fly. The trajectory depends on current positions of the UAVs, theirvelocity, climb angle, and turn angle, etc. Different UAVs may have different speeds,which are assumed to be constant throughout their flight time while performing thesurveillance. The UAVs can start from different base stations. For a time period(represented as a series of time steps), the trajectory is modeled. Within a unit timestep, the UAVs will not alter their flight parameters. The output trajectory is a set ofcoordinates in the 3D space, along with the climb angle and turn angle in each step.We model the fuel consumption where a UAV starts traveling with a certain amountof fuel and returns to a base station for refueling if needed.Fig. 2 presents the framework of Synth4UAV. The framework takes necessary in-puts, such as the UAV swarm and individual UAV properties, terrain information, anddata coverage requirements. The swarm information includes the number of UAVs,initial positions of the UAVs, as well as their speeds and directions. Surveillance re-quirements specify the points to visit and the characteristics/constraints associatedwith these visits. The formal model is eventually solved using SMT logic/solver, toidentify the trajectory plan ( e.g. , the flight angles), satisfying the requirements andconstraints of the surveillance. Our trajectory planning considers necessary invariants.For example, the climb and turn angles must be within the (practical) capacity of a
UAV.
This section provides the formal modeling of the requirements and the constraints ofthe UAV trajectory planning. Table 1 lists several variables used in the model. It isnotable that no multiplication of two parameters is performed in the paper withoutthe multiplication sign.
To model the trajectory planning for the UAVs, we consider a set of predefined points(waypoints) in the three-dimensional space. Each point is considered to have Carte-sian ( xyz ) coordinates in the Euclidean space. The UAVs start and end their flightsat certain points, which are generally base stations or fueling stations. Between thestarting and ending points, the UAVs may visit several other points. All these pointsconstitute the trajectories for all the available UAVs. Our basic intention is to au-tomatically generate these trajectories such that certain constraints and requirementgoals are met. Here we formally model the route constraints, as well as the require-ments of the users of the implemented tool. We make sure that the points containingthe data sensors are covered with certain resiliency specifications. In other words, evenif some of the UAVs fail to operate normally to visit certain data points, the pointsare still covered by others so that the data is collected efficiently.
Notation Definition M ˆ p,pu Boolean representing movement of UAV u from pointˆ p to p V pu Boolean representing that UAV u has visited point p L ˆ pp Boolean representing the possibility of traveling frompoint ˆ p to p C pu Real expression denoting the cost of fuel for UAV u for reaching point p T pu Real expression denoting the time taken by UAV u toreach point p since its starting point H pu Integer expression denoting the time a UAV u hoversover point p If M ˆ p,pu denotes whether UAV u moves from ˆ p to p , UAV u has already visited pointˆ p . This is denoted by V ˆ pu . Also it must be possible for the UAVs to travel from pointˆ p to p . In other words, there should be a link between point ˆ p and point p , which isdenoted by L ˆ pp . M ˆ p,pu → V ˆ pu ∧ L ˆ pp (1)We define the Boolean variable D ˆ pp as true only if the distance between point ˆ p and p ( dist ˆ pp ) is within a certain threshold, d u,th . The threshold is specified by theproperties of UAV u . D ˆ pp ↔ dist ˆ pp ≤ d u,th (2)The UAVs have certain maneuvering constraints. We consider the restrictions onthe turn angle and the climb angle in three-dimensional space [15]. The turn angleis the angle that a UAV has to turn with respect to the existing direction on thehorizontal plane. We first calculate the angle for a UAV for going from ˆ p to p and theexisting angle which the UAV is following to reach ˆ p from p (cid:48) . Then we calculate thedeviation which the UAV has to turn. Similarly, we calculate the climb angle on thevertical plane. Fig. 3 shows an example scenario of moving from one point to anotherin the three-dimensional space. α is the turn angle for moving from point A to B ,provided the direction of a UAV at A is parallel to the X axis. β is the climb angle.Fig. 3 also provides the formulas for calculating the angles based on the horizontaland vertical movements.The deviation of turn angle to reach p from ˆ p , given a UAV reached ˆ p from p (cid:48) is represented by δ p (cid:48) , ˆ p,pα , while the deviation of climb angle to reach p from ˆ p , givenit reached ˆ p from p (cid:48) , is denoted by δ p (cid:48) , ˆ p,pβ . The deviations must be within certainthresholds ( θ tth and θ cth ). If this is satisfied, then we can say that there is a link thata UAV can move. L ˆ pp → D ˆ pp ∧ ( δ p (cid:48) , ˆ p,pα ≤ θ tth ) ∧ ( δ p (cid:48) , ˆ p,pβ ≤ θ cth ) (3)Similarly, if a UAV u moves from p (cid:48) to ˆ p followed by p , then the deviation of theturn angle and climb angle to move from the path p (cid:48) to ˆ p and the path ˆ p to p should be within user-defined thresholds. M p (cid:48) , ˆ pu ∧ M ˆ p,pu → ( δ p (cid:48) , ˆ p,pα ≤ θ tth ) ∧ ( δ p (cid:48) , ˆ p,pβ ≤ θ cth ) (4)A UAV visits a particular point from one of its neighboring points. If UAV u hasvisited the point p , that means it has traveled from one of the neighboring points, ˆ p . V pu → (cid:95) ˆ p M ˆ p,pu (5)The starting point S is the first point on the trajectory of any UAV. If the currentpoint that a UAV u is visiting is the starting point, then it has not come from anyother point ˆ p . This can be presented by the following equation: ∀ ˆ p ( p = S ) → ¬ M ˆ p,pu (6)If a UAV u has reached the destination point D , it should not move to anywherefrom there. This is represented by the following equation: ∀ p (ˆ p = D ) → ¬ M ˆ p,pu (7)A UAV can travel to a certain point only from another point (not from multiplepoints). If a UAV u has moved from ˆ p to p , then it should not have come from anyother point ˆ p (cid:48) . M ˆ p,pu → (cid:94) ˆ p (cid:48) (cid:54) =ˆ p ¬ M ˆ p (cid:48) ,pu (8)Similarly, from any particular point, a UAV can only travel to one point and notmultiple points. If UAV u goes from ˆ p to p , then it must not have gone to any otherpoint p (cid:48) from ˆ p . This is formally represented as the following: M ˆ p,pu → (cid:94) p (cid:48) (cid:54) = p ¬ M ˆ p,p (cid:48) u (9) UAV u must visit the starting point S and the destination point D . This is truefor all the collaborating UAVs in the network and is presented by the following: ∀ u ( V Su ∧ V Du ) (10)Some of the points where the UAVs can go are in close proximity to the datacollecting sensors. These points need to be visited by the UAVs so that they cancollect the data. If S is the set of all the points that have data-points, then at leasta threshold ( v th ) fraction of all the data-points must be visited by the UAVs duringtheir journeys towards the destination. (cid:80) u,p ∈ S V pu | S | ≥ v th (11)Some of the points in the three-dimensional space may have to be avoided by theUAVs while making their journeys, for these points may currently reside in restrictedzones. If F denotes the set of all the forbidden points that should be avoided, then noUAV should visit them. (cid:94) p ∈ F ¬ V pu (12) While calculating the fuel consumption, we not only consider the distance but alsoconsider the turn and climb angles for going from a certain point to another. Thedirection of the turn angle has no effect on fuel consumption, but the direction of theclimb angle does affect the amount of fuel consumption. If a UAV is going up againstgravity, then it has to burn more fuel. On the other hand, if it is going down, thenless fuel is required. We provision a positive climb angle if the UAV is going up withrespect to its current direction, while it is counted as negative if it is doing downwards.If d ˆ pp is the distance between point ˆ p and p , α ˆ p,pu denotes the turn angle of UAV u forgoing to p from ˆ p , β ˆ p,pu is the climb angle to move, and r u is the fuel consumption rate( e.g. , mpg) of a UAV u , then the required fuel, f ˆ p,pu , is calculated as follows: f ˆ p,pu = d ˆ pp + k × | α ˆ p,pu | + k × β ˆ p,pu r u Here, k and k are simple constants that regulate the impact of turn and climb angles,respectively, of the UAV. The fuel usage does not depend on the direction of the turnangle α ˆ p,pu , while it directly depends on the direction of the climb angle β ˆ p,pu . If theUAV is moving to a point located at a lower altitude than the source point, then it istraveling with gravity. As a result, there is less usage of fuel. On the other hand, if ithas to travel against gravity, then fuel usage increases.If c e is the cost of per unit fuel, then the cost, c ˆ p,pu , for a UAV for moving from ˆ p to p is calculated as follows: c ˆ p,pu = f ˆ p,pu × c e The cumulative cost for traveling to point p for UAV u is the cost up to the previouspoint ˆ p , plus the cost to move from ˆ p to p , c ˆ p,pu . M ˆ p,pu → C pu = C ˆ pu + c ˆ p,pu (13) f S is the starting point, the cost at the starting point for any UAV u should bezero. C Su = 0 (14) We assume a constant speed for each UAV while it is making its flight from a pointto another particular point. t ˆ p,pu is the time taken by UAV u to move from ˆ p to p if s u is the speed of the UAV. This is calculated as follows: t ˆ p,pu = d ˆ pp s u T pu is the time taken by UAV u to reach up to p from the starting point. H ˆ pu is thetime of hovering of UAV u at a previous point ˆ p . We consider this hovering time tobe either 0 or 1, for simplicity. A UAV may or may not hover over a point dependingon the requirement of avoiding collision. M ˆ p,pu → T pu = T ˆ pu + t ˆ p,pu + H ˆ pu (15)( H ˆ pu = 0) ∨ ( H ˆ pu = 1) (16)If t st is the start time, then it is the time for all the UAVs at the starting point S . T Su = t st (17)The following constraint ensures that no two UAVs visit the same point at thesame time. This restriction is required to avoid collision between any two UAVs. V pu ∧ V pu (cid:48) → T pu (cid:54) = T pu (cid:48) (18)In fact, there should be a threshold time difference between the times of visit ofany two UAVs to a certain point. If both UAVs u and u (cid:48) visit the same point p , thenthere must be some time difference between their visits to avoid mid-air collision. V pu ∧ V pu (cid:48) → T pu − T pu (cid:48) ≥ ˆ t th (19) One of the objectives of the trajectory planning model is to keep the budget withina limit. We consider the budget or cost limit for each UAV to be b c , while b t is thebudgeted time or time boundary within which the flights need to be performed. Thecost of the fuel by UAV u should be less than a user-specified budget, b c . C Du ≤ b c (20)Each UAV should reach the destination point from the starting point within acertain time limit, b t . T Du ≤ b t (21) gain, a point cannot be reached by the UAVs by taking more cost than the budgetor the time allows. If a UAV visits point p , then the cost for reaching up to that pointshould be less than the budget. V pu → C pu ≤ b c (22)The time taken in reaching any point p should be within the time limit. V pu → T pu ≤ b t (23) Our trajectory modeling considers resiliency with respect to attack/contingency sce-narios. The satisfaction of the resiliency specification provides resilient trajectoryplans. The resiliency specification is stated such that at least a certain percentage( r th %) of the surveillance points are (securely) covered by a set of UAVs (Equation27), even if a certain number ( r ) of UAVs among them fail to operate or are compro-mised.We abstract the resiliency requirement by introducing constraints on surveillancerequirements. If p is a data point ( p ∈ S ) and it satisfies the r − resiliency data col-lection, then at least r + 1 number of UAVs must visit (collect data at) this pointduring their travel to the destination. That is, to provide a single ( r = 1) UAV failureresiliency to a surveillance point, two ( r + 1) UAVs will need to visit the point. If R pc specifies that if point p is under r − resilient surveillance, we can formalize the aboveresiliency requirement as follows: ∀ p ∈ S R pc → (cid:88) u V pu ≥ r + 1 (24)The resilient trajectory design often needs to satisfy further requirements. A re-quirement can be data freshness or closeness constraint that ensures that the timesat which data is collected by k + 1 UAVs at a data point should not be apart fromone another more than a threshold value (say t th ), so that the collected data recordscan be verified for any discrepancy. We call such a data point to be under k − resilientsurveillance. Such a constraint may differ for different data points based on the datachange frequency (which may depend on the data type, location, etc.) and/or thecriticality of the data. This constraint ensures that even if k UAVs fail to visit a point p , there is at least a UAV u , which along with another UAV u (cid:48) will cover this point.This constraint is formalized below: ∀ p ∈ S R pt → (cid:95) u (cid:88) u (cid:48) ,u (cid:54) = u (cid:48) ˆ V pu,u (cid:48) ≥ k + 1 (25)Here, ˆ V pu,u (cid:48) specifies that if UAVs u and u (cid:48) visit point p , then the visiting times ( u earlier than u (cid:48) , required for ordering with respect to the visiting time) are no morethan the threshold time apart. This is defined as follows:ˆ V pu,u (cid:48) → V pu ∧ V pu ∧ ( T pu ≤ T pu (cid:48) ) ∧ ( T pu (cid:48) − T pu ≤ t p th ) (26)We need to make sure that at least a certain percentage ( k th %) of the data pointsare covered by the UAVs such that the points follow the k − resiliency property.( (cid:80) p R pc | S | ≥ r th ) ∧ ( (cid:80) p R pt | S | ≥ k th ) (27) Implementation and A Case Study
In this section, we present the implementation details of our proposed model. We alsopresent a detailed case study for further explaining how the model works. The mainobjective of our configuration synthesis problem is to synthesize the trajectories of theUAVs by satisfying various requirements, as well as the user’s business and operatingconstraints. The synthesis problem is formalized as the satisfaction of the conjunctionof all the constraints in the equations of Section 4.
We implement Synth4UAV by encoding the above formal model into SMT formu-las [27]. In this encoding purpose, we use Z3, an efficient SMT solver [28]. The solverchecks the verification constraints and provides a satisfiable (SAT) result if all theconstraints are satisfied. The SAT result provides a SAT instance, which representsthe value assignments to the parameters of the model. According to our objective, weare mainly interested in the assignments to the following variables: (i) the decisionvariable referring to whether a UAV u has visited a particular point p , V pu and (ii)the variable denoting whether a UAV u travels from a point ˆ p to p , M ˆ p,pu . We canretrieve the trajectories for all the UAVs with the values of these two variables. Theassignments of the variables are printed in an output text file. The values of othervariables such as T pu can provide information on which point was traveled at whattime, while C pu can tell about the fuel cost associated with traveling up to certainpoints. Appendix B presents an excerpt from the generated z3 code. It shows a few ofthe expressions that assert the constraints according to our trajectory synthesis model.Throughout the model of the network synthesis, for simplicity, we have used thesum of Boolean variables several times for formally modeling the constraints. Whileencoding the summation of Boolean variables, we have created corresponding integervariables (0 or 1) and used their sum for calculation. The synthesis result represents a comprehensive trajectory plan for the UAVs to per-form the intended tasks. There is usually more than one satisfiable model that cansatisfy the constraints. These models will provide different costs and times for theoverall process, although all of them will be less than the budgeted cost ( b c ) and time( b t ). We can choose the most cost- and time-efficient trajectory plans among all alter-native satisfiable models for the same set of constraints. We use Algorithm 1 whichupdates the minimum ( b minc ) and maximum ( b maxc ) values of the budget, and findsthe optimal trajectory plan. Their values are used to update b c , which is used to tryfor a more optimal solution. Initially, b maxc is set to the initial user-defined budget( b c ) and b minc is set to zero. We use a binary search-based method to find the optimalbudget.However, finding the optimal solution using the algorithm usually requires moretime than a single satisfiable model. The algorithm requires several invocations of themodel solver and often confronts UNSAT results, which usually take a longer time.The time complexity of this algorithm becomes O ( T × log D ), where T is the timefor one model solution and D is the difference between b minc and b maxc . The usercan control the number of iterations of the model ( C max ) and generate a sub-optimalsolution if required. lgorithm 1 Optimal Budget Determination b minc := b maxc := b c if Solver returns SAT then Get Model, M b maxc := C du C = 0 repeat b c := ( b minc + b maxb ) / 2 Update the constraints associated to b c if Solver returns SAT then
Get Model, M and Get updated C du Update b maxc with new value of C du else b minc := b c end if C := C + 1 until ( b maxc − b minc ≈ (cid:107) ( C = C max ) end if The synthesized trajectories can be smoothed by applying a 3D Bezier curve interpo-lation [26]. Careful studies need to be done to make sure that the smooth trajectoriesremain adequately close to the data sources so that the UAVs and the sources arewithin range of each other. While this is out of the scope of this research, we leave itfor our future works.
UAVs can be used to collect data from sensors deployed in remote points, which isessentially an alternative to the use of UAVs in a surveillance purpose. This is efficienttechnology when it is not feasible (either technically or economically) to deploy nec-essary communication infrastructures. If sensors cannot transmit data by themselvesto the data center due to the lack of proper infrastructure or energy-saving purposes,UAVs are convenient options to collect data from them. We need to make sure that acertain percentage of the points with sensors are covered by the set of UAVs, even ifa certain number of UAVs fail while in flight.In this case study, we consider 30 waypoints in the three-dimensional coordinatespace, of which 15 contain data sources. The coordinates are depicted in the inputfile presented in Appendix A. For example, (100, 100, 0), (500, 1000, 100), (500, 2000,100), etc. are some of the points that the UAVs can travel to. In other words, thesepoints may or may not be parts of the trajectories of the UAVs. The indices of thedata points are provided from the input file. The start point and end point of theUAV trajectories are specified, which can be the coordinates of base stations. In thiscase, point 1 is the starting point and point 18 is the ending point for all the UAVs.There are four forbidden points, 6, 14, 19, and 30, which should be avoided by theUAVs while flying from the starting point to the ending point.We consider 5 UAVs. The average velocity, mileage, and angle with X axis (at the eginning) of the UAVs are also provided. The restrictions of turn and climb angles(in degrees) of the UAVs while moving from one point to another are given in the inputfile. We consider the deviation of the moving direction of the UAVs. That is, after aUAV reaches a particular point, how much it can deviate from its current trajectoryboth vertically and horizontally in order to move to the next point. A Satisfiable Case:
The data coverage threshold is selected to be 80% in thiscase study. That means, at least 80% of the data points must be covered by the UAVswhile they are making their journeys. The data freshness threshold specifies the time(in seconds) within which a certain number of UAVs must visit a data point to ensurethe freshness of the data. At the beginning of this case study, we consider this to be 20sec. At this point, we consider the value of k to be 2, while the resilient data coverageis chosen to be 70%. This means there should be at least 70% of the data points, suchthat they are covered by at least k = 2 UAVs every 20 seconds. We also need to makesure that at least 70% of the data points are covered by a minimum of k UAVs.The price of fuel is provided in the input file. The available budget and the totalavailable time within which the UAVs need to finish their task by traveling from thestart point to the end point are also provided. For the first run of the tool in this casestudy, we consider a budget of $ XY plane. The data points are coloredgreen, while the forbidden ones are red. All other points are colored blue. All of theUAVs start from waypoint 1 and end their flight at waypoint 18. During their flights,they cover the points that have the data sources with the required resiliency. An Unsatisfiable Case:
For the next run, we increase the value of k to 3. Inthis scenario, the solver provides an UNSAT result, which means there is no satisfiablesolution to the problem, and there cannot be any trajectory for the UAVs unless someconditions are modified. Increasing the budget, number of UAVs, etc. may provide uswith a SAT result. In this section, we present the evaluation of the proposed framework for synthesizingthe UAV trajectories.
We create synthetic problem sets in a three-dimensional Cartesian space, where thereare different points indicating the probable points for UAVs to fly. We randomly XY plane visitingwaypoints near data sensors. 15 Coverage (%)
Budget ($)
Budget vs Coverage (a)
Coverage Time (s)
Number of UAV
Number of UAV vs Coverage Time
40% Coverage60% Coverage (b)
Figure 5: (a) Data points coverage w.r.t. budgeted cost, (b) Data points cover-age time w.r.t. number of UAVs.
Min Number of UAVs
Coverage (%)
Required coverage vs min UAVs
50 Pts90 Pts (a)
Coverage (%)
Budget Time (s)
Budget Time vs Coverage (b)
Figure 6: (a) Minimum number of required UAVs w.r.t. required percentage ofcoverage, (b) Data points coverage w.r.t. budgeted time. specify some data points (50-80% of all the points), which must be covered by theUAVs while performing their flights from a pre-specified starting point to an endpoint. There are several forbidden points in the space as well, indicating the areas ofgeographical obstacles or unauthorized zones.We run the tool that implements the formal model on a Windows 10 machineequipped with an Intel Core i5 processor and 12 GB of memory. We change differentparameters of the model from the input file and observe the scalability of the tool, aswell as the relationships between the parameters. The evaluation heavily depends onthe placement of the available points in the 3D space and the allowed ranges of theUAVs. The maximum allowed turn angle and climb angle are chosen according to theplacements of the points.
We present the relationship among different parameters in Fig. 6 and 7. We observethe maximum coverage produced by a SAT result while varying the budget for eachUAV in Fig. 5(a). We present the analysis for two cases: one with 2 UAVs and theother with 4 UAVs while allowing adequate time for coverage. It is obvious that more
500 1000 1500 2000 2500 5 10 15 20 25 30 35 40
Min Required Budget ($)
Number of Data Points
Number of data points vs Min req budget (a)
Min Required Budget ($) k k-Resiliency vs budget
30 Data Pts50 Data Pts (b)
Figure 7: (a) Minimum required budget w.r.t. number of data points and (b)Minimum required budget w.r.t. k − resiliency. points can be covered by the UAVs if there is more budget for fuel. If we use moreUAVs, then we can cover 100% of the data points with less budget per UAV. Forexample, if we use 2 UAVs, then we can cover 77% of the data points with a budgetof $
700 per UAV. On the other hand, using 4 UAVs with the same budget allows usto cover all the data points.In Fig. 5(b), we present the coverage time of the data points for the differentnumbers of UAVs. We show results for the requirement of 40% coverage and 60%coverage. If there are more than 1 UAVs, they reach the destination point at differenttimes, as they may have different speeds and are not allowed to visit the same point atthe same time. We take the time required by the last UAV to reach the destination.We can observe that the required time decreases slowly if we have more UAVs to coverour intended percentage of data points.We present the minimum number of required UAVs to cover different percentages ofthe data points in Fig. 6(a). As we increase our requirement of coverage, the minimumnumber of required UAVs also increases if we keep the budget cost per UAV, and thetotal budgeted time constant. We show the results for two problem sets: one with 50points and another with 90 points.The change in the percentage of coverage with respect to the budgeted time ispresented in Fig. 6(b). This is the maximum total time allowed for all the UAVs toreach the end point of their trajectories. We show two cases for 2 UAVs and 5 UAVsfor a total of 100 points and 40 data points. We keep the values of k and r as 2 and3, respectively. We can observe that as the allowed time increases, more of the datapoints can be covered. The higher number of UAVs means that more of the datapoints can be covered. For a budgeted time of 1800 sec, 5 UAVs can visit all the datapoints and reach the final point on their trajectories.Next, we present the minimum required budget per UAV while varying the numberof data points in Fig. 7(a). We keep the total number of points, required coverage, thevalues of k and r , etc. unchanged for this evaluation. The minimum required budget isthe budget for which the solver returns a SAT answer, which means that trajectoriesare possible. As expected, the required budget increases with the increment of thenumber of data points.The minimum required budget per UAV with the change of the value of k ispresented in Fig. 7(b). We can observe that with the increment of k , the requiredbudget increases quickly. As the value of k increases, higher numbers of UAVs need to Time (s)
Number of Points
Number of points vs time
SATUNSAT (a)
Time (s)
Number of UAVs
Number of UAVs vs time
60 Pts90 Pts (b)
Figure 8: UAVTraj model synthesis time (a) w.r.t. number of points, (b) w.r.t.number of UAVs.
Time (s)
Coverage (%)
Required coverage vs time
50 Pts70 Pts (a)
200 300 400 500 600 700 800 5 10 15 20 25 30 35 40
Time (s)
Number of Data Points
Number of data points vs time (b)
Figure 9: UAVTraj model synthesis time (a) w.r.t. required percentage ofcoverage, (b) w.r.t. number of data points. cover more data points, which results in the complex trajectories of the UAVs. Hence,a bigger budget is required to cover the fuel cost of the UAVs.
We present the scalability of our developed tool based on the formal model discussedearlier in Fig. 8 and 10. Fig. 8(a) shows the trajectory synthesis time for differentsizes of the problem space. We vary the number of points in 3D space and observe thetime required to obtain the trajectory plan. We can observe that the required timeincreases with the increment of the number of points. As we have more points in theproblem space, the solver requires to solve more constraints, which leads to the almostlinear increment of synthesis time. We can also observe that the UNSAT cases requiremore synthesis time than the SAT cases.In Fig. 8(b), we show the required synthesis time by varying the number of UAVs.We show two cases for two problem sizes: 60 points and 90 points. In these cases, wekeep the required percentage of coverage and other parameters constant. We observethat as the number of UAVs increases, the required synthesis time also increases. In Time (s) r r-Resiliency vs time
30 Data Pts50 Data Pts (a)
Time (s) k k-Resiliency vs time
30 Data Pts50 Data Pts (b)
Figure 10: UAVTraj model synthesis time (a) w.r.t. r − resiliency, and (b) w.r.t. k − resiliency. the case of 90 points, the number of clauses to satisfy the problem increases quicklywith the increment of UAVs. As a result, the time also increases quickly.We present the trajectory synthesis time by varying the required coverage of thedata points in Fig. 9(a). As the requirement to cover more points grows, the synthesistime also increases. For larger problem sets, the time grows quickly, as more constraintsare needed to be satisfied.The required verification time with respect to the number of data points is observedin Fig. 9(b). We show the time for two cases: one which is for a total of 50 points, andanother is for 80 total points where the UAVs can go. We keep all other parametersconstant. For example, the required coverage is kept constant at 80%, the value for k is 2, while r is kept at 3. We can observe that the verification time increases slowlywith the increment of the number of data points for a certain problem size (numberof total points). This is because, with the increment of data points, the UAVs needto make sure to visit more points, and the solver needs to solve a more strict set ofconstraints; however, the number of clauses does not increase drastically.Next, we present the verification time by varying the value of r , which is the min-imum number of UAVs that need to visit at least a certain percentage of data points.We can observe that the required time increases quickly as r increases. However, theincrement rate is less than the case of increasing k . This is because the solver needsto verify less strict conditions when r increases than when k increases.Fig. 10(b) presents the change in verification time with the change of the value of k , which is the minimum number of UAVs visiting a certain percentage of the datapoints while visiting them at a certain time difference. We keep other parameters,such as the number of UAVs and total points, required coverage, etc., constant andshow the results for 30 data points and 50 data points. As the value of k increases, theverification time increases rapidly. With the increment of k , the constraints becomestrict very quickly, as the solver needs to find more complex trajectories for the UAVsso that they can visit more points. We developed a simulator program to verify the effectiveness of the trajectory gen-eration tool. The simulator is developed in Unity 3D [29]. A user of the simulator an specify the coordinates of the possible waypoints in a three-dimensional space.The simulator reads the number of UAVs and their properties, such as speed, mileage,turning angle constraints, etc., from a user-provided input file. The trajectories areprovided based on the output of the trajectory generator. The times of reaching eachwaypoint on their trajectories, hovering times, etc. are also provided to the simulator.When started, the simulator shows the movement of the UAVs according to its inputand proves the effectiveness of the trajectory generator by showing that the UAVs donot collide, but collectively collect the required data and complete the job before thedeadline in order to prevent fuel outage, as well as satisfy the resiliency requirements.Appendix C provides further information on this simulator, including a screenshot ofthe interface. UAVs are increasingly used in surveillance, as well as data collection from remote sen-sors. In this paper, we have developed Synth4UAV that can automatically generatethe efficient trajectories of a set of UAVs to perform their intended tasks collabora-tively. We have considered the routing and maneuvering constraints, budget and timeconstraints, and the resiliency requirements of the data collection process. We havedesigned the trajectory planning, which is a combinatorially hard problem, as an SMT-based constraint satisfaction problem, the solution of which generates the trajectoriesthat the UAVs should follow. We have analyzed the relation between different designfactors like data coverage, swarm size, budget, resiliency, etc. The evaluation resultshave proved the scalabiity of Synth4UAV.
References [1] AHM Jakaria and Mohammad Ashiqur Rahman. Formal analysis of k-resiliencyfor collaborative uavs. In , pages 583–592. IEEE, 2018.[2] Chung Deng, Shengwei Wang, Zhi Huang, Zhongfu Tan, and Junyong Liu. Un-manned aerial vehicles for power line inspection: A cooperative way in platformsand communications.
J. Commun , 9(9):687–692, 2014.[3] Ahmed EAA Abdulla, Zubair Md Fadlullah, Hiroki Nishiyama, Nei Kato, FumieOno, and Ryu Miura. An optimal data collection technique for improved utilityin uas-aided networks. In
INFOCOM, 2014 Proceedings IEEE , pages 736–744.IEEE, 2014.[4] San Yeung, Sanjay Kumar Madria, Mark Linderman, and James Milligan. Rout-ing and scheduling of spatio-temporal tasks for optimizing airborne sensor systemutilization. In
Proceedings of the 10th ACM Intl. Conf. on Distributed and Event-based Systems , pages 145–152. ACM, 2016.[5] Leonardo De Moura and Nikolaj Bjørner. Satisfiability modulo theories: intro-duction and applications.
Communications of the ACM , 54(9):69–77, 2011.[6] John Tisdale, Zuwhan Kim, and J Karl Hedrick. Autonomous uav path planningand estimation.
IEEE Robotics & Autom. Mag. , 16(2), 2009.[7] San Yeung, Sanjay Kumar Madria, and Mark Linderman. A trajectory recom-mendation system via optimizing sensors utilization in airborne systems (demo aper). In International Symposium on Spatial and Temporal Databases , pages508–513. Springer, 2015.[8] Amarender Reddy Mekala, Sanjay Madria, and Mark Linderman. Aerial vehicletrajectory design for spatio-temporal task aggregation. In
Unmanned AircraftSystems (ICUAS), 2016 International Conference on , pages 1085–1094. IEEE,2016.[9] Juan Liu, Xijun Wang, Bo Bai, and Huaiyu Dai. Age-optimal trajectory planningfor uav-assisted data collection. arXiv preprint arXiv:1804.09356 , 2018.[10] Randal W Beard, Derek B Kingston, Morgan Quigley, Deryl Snyder, Reed Chris-tiansen, Walt Johnson, Timothy W McLain, and Michael A Goodrich. Au-tonomous vehicle technologies for small fixed-wing uavs.
JACIC , 2(1):92–108,2005.[11] Nicola Ceccarelli, John J Enright, Emilio Frazzoli, Steven J Rasmussen, andCorey J Schumacher. Micro uav path planning for reconnaissance in wind. In
American Control Conf., 2007. ACC’07 , pages 5310–5315. IEEE, 2007.[12] Erik Kuiper and Simin Nadjm-Tehrani. Mobility models for uav group reconnais-sance applications. In
Wireless and Mobile Communications, 2006. ICWMC’06.International Conf. on , pages 33–33. IEEE, 2006.[13] Scott A Bortoff. Path planning for uavs. In
American Control Conference, 2000.Proceedings of the 2000 , volume 1, pages 364–368. IEEE, 2000.[14] Qingqing Wu, Yong Zeng, and Rui Zhang. Joint trajectory and communicationdesign for multi-uav enabled wireless networks.
IEEE Transactions on WirelessCommunications , 17(3):2109–2121, 2018.[15] M Bagherian and A Alos. 3d uav trajectory planning using evolutionary algo-rithms: A comparison study.
The Aeronautical Journal , 119(1220):1271–1285,2015.[16] Antonios Tsourdos. A formal model approach for the analysis and validation ofthe cooperative path planning of a uav team. 2005.[17] Jos´e J Ruz, Orlando Ar´evalo, Gonzalo Pajares, and M Jes´us. Decision mak-ing among alternative routes for uavs in dynamic environments. In
EmergingTechnologies and Factory Automation, 2007. ETFA. IEEE Conference on , pages997–1004. IEEE, 2007.[18] Jose J Ruz, Orlando Arevalo, Gonzalo Pajares, and M Jesus. Uav trajectoryplanning for static and dynamic environments. In
Aerial Vehicles . InTech, 2009.[19] AHM Jakaria and Mohammad Ashiqur Rahman. Safety analysis for uav networks.In , pages 294–295. IEEE, 2018.[20] Terry Jameson. A fuel consumption algorithm for unmanned aircraft systems.Technical report, Army Research Lab White Sands Missile Range NM Computa-tional And Information Science Directorate, 2009.[21] Yongbo Chen, Jianqiao Yu, Yuesong Mei, Siyu Zhang, Xiaolin Ai, and ZhenyueJia. Trajectory optimization of multiple quad-rotor uavs in collaborative assem-bling task.
Chinese Journal of Aeronautics , 29(1):184–201, 2016.[22] Liang Sun and Randal W Beard. Trajectory tracking for unmanned aerial vehicleswith autopilot in the loop.
23] Zubair Md Fadlullah, Daisuke Takaishi, Hiroki Nishiyama, Nei Kato, and RyuMiura. A dynamic trajectory control algorithm for improving the communicationthroughput and delay in uav-aided networks.
IEEE Network , 30(1):100–105, 2016.[24] Jonas Kvarnstr¨om and Patrick Doherty. Automated planning for collaborativeuav systems. In
Control Automation Robotics & Vision (ICARCV), 2010 11thInternational Conference on , pages 1078–1085. IEEE, 2010.[25] Brett Bethke, Jonathan P How, and John Vian. Group health managementof uav teams with applications to persistent surveillance. In
American ControlConference, 2008 , pages 3145–3150. IEEE, 2008.[26] Ozgur Koray Sahingoz. Generation of bezier curve-based flyable trajectoriesfor multi-uav systems with parallel genetic algorithm.
Journal of Intelligent &Robotic Systems , 74(1-2):499–511, 2014.[27] Leonardo de Moura and Nikolaj Bjørner. Satisfiability modulo theories: An ap-petizer. In
Brazilian Symposium on Formal Methods , 2009.[28] Leonardo De Moura and Nikolaj Bjørner. Z3: An efficient SMT solver.
Tools andAlgorithms for the Construction and Analysis of Sys , pages 337–340, 2008.[29] Unity 3D. https://unity.com// . Input and Output to the Case Study
Table 2: The input to the case study k − resiliency3 $ /gal)3 $ )6000 Table 2 lists the input file for the trajectory generator tool for the example casestudy in Section 5.4. The file includes the number of waypoints, the Cartesian coor-dinates of the points in the three dimensional space, the number of UAVs that will beconsidered, along with their velocities, mileages, etc. It also includes the initial direc-tion of the UAVs with x axis, the thresholds on turn and climb angles. The sourceand destination points, the forbidden points which the UAVs should avoid, and thepoints that are on top or in close proximity of the data sources are also supplied in theinput file. The data coverage threshold specifies percentage of the data points thatneed to covered by the UAVs collectively. The required resiliency specifications are lso provided in the input file. The time constraint or the deadline and the availablecost constraint or the budget are also supplied. Table 3: The output to the case study
Table 3 presents the contents of the output file generated by the trajectory gen-eration tool. As can be seen from the output file, it provides the waypoints on thetrajectories of all the UAVs. It also provides the times when the UAVs should reachthe waypoints and the time of hovering at those points.
B Sample Z3 Code
Table 4 presents a short listing of the z3 code generated by the trajectory generationtool. It shows a few of the expressions that assert the constraints according to ourconstraints satisfaction model. These expressions are generated for the satisfiable casestudy shown in Section 5.4. For example, the first line in the presented code has twoBoolean variables
Visit 1 18 and
Visit 1 18 , which denote that UAV 1 should visitboth point 1 and 18.This is asserted by the solver because we have a constraint in equation 10 inSection 4.2, which basically states that all the UAVs must visit the starting and endingpoints. Similarly, line 5 of the code states that if UAV 1 travels from point 1 to 2(
Travel 1 1 2 ), then it must be true that it has already visited point 1 (
Visit 1 1 )and there is a possible path/link from point 1 to 2 (
Links 1 2 ) based on its directionat point 1 and the distance between points 1 and 2. (assert (and Visit_1_1 Visit_1_18))(assert (and Visit_2_1 Visit_2_18))...(assert (not Visit_2_6))(assert (not Visit_2_14))...(assert (=> Travel_1_1_2 (and Visit_1_1 Links_1_2)))(assert (=> Travel_1_1_2(= T_1_2 (+ T_1_1 TTmp_1_2 (to_real Hover_1_2)))))(assert (=> Travel_1_1_2 (= P_1_2 (+ P_1_1 PTmp_1_2))))...(assert (=> (and Visit_1_2 Visit_2_2) (or(>= (- T_1_2 T_2_2) 1.0) (>= (- T_2_2 T_1_2) 1.0))))...(assert (<= T_1_18 2000.0))(assert (<= P_1_18 6000.0))...
C Simulator Development
The simulator has been developed with Unity 3D using C .Fig. 11 presents a screenshot of the simulator tool that we developed. The figureshows two UAVs flying from point to point collecting data. The spheres represent thewaypoints above or in close proximity to the data sources. The red spheres denote theforbidden points which the UAVs avoid. A user can provide the trajectory of one ormore UAVs as a combination of points as Cartesian coordinates in a three-dimensionalspace. The times of reaching each points, as well as the hovering time at the points toavoid collision and proper data collection are also provided from an input text file. Thesimulator presents an animation of the data collection scenario by the UAVs in a 3Denvironment. The simulation confirms the effectiveness of the generated trajectoriesby showing the absence of collisions, as well as the time to reach the end points of thetrajectories of the UAVs. https://tinyurl.com/y2z8aenahttps://tinyurl.com/y2z8aena