uav path planning using milp with experiments

12
Modeling, Identification and Control, Vol. 38, No. 1, 2017, pp. 21–32, ISSN 1890–1328 UAV Path Planning using MILP with Experiments A. Albert 1 F.S. Leira 1 L. Imsland 1 1 Department of Engineering Cybernetics, Norwegian University of Science and Technology, N-7491 Trondheim, Norway. E-mail: {anders.albert, frederik.s.leira, lars.imsland}@itk.ntnu.no Abstract In this paper, we look at the problem of tracking icebergs using multiple Unmanned Aerial Vehicles (UAVs). Our solutions use combinatorial optimization for UAV path planning by formulating a mixed integer linear programing (MILP) optimization problem. To demonstrate the approach, we present both a simulation and a practical experiment. The simulation demonstrates the possibilities of the MILP algorithm by constructing a case where three UAVs help a boat make a safe passage through an area with icebergs. Furthermore, we compare the performance of three against a single UAV. In the practical experiment, we take the first step towards full-scale experiments. We run the algorithm on a ground station and use it to set the path for a UAV tracking five simulated icebergs. Keywords: UAV, Path Planning, Mathematical Optimization 1 Introduction Offshore operations in ice-infested arctic areas demand ice management. Ice management is all activities that aim to reduce or avoid the impact of any kind of ice features. Several authors have argued that Unmanned Aerial Vehicles (UAVs) are an efficient platform to per- form detection and surveillance of ice features for ice management purposes, e.g. Eik (2008), Lesinskis and Pavlovics (2011). Using mobile sensors, like a UAV, for information gathering is a popular research topic. One of the rea- sons for its popularity is the many applications ranging from inspections of power lines, ships, pipelines etc., monitoring of traffic and environment, to border pa- trol, police support, surveillance and reconnaissance and filming for the entertainment industry (Valavanis and Vachtsevanos, 2015). In this paper, we propose to use UAVs for ice- berg tracking, specifically our contribution is an optimization-based path-planning framework for this purpose. There are several different ways to approach UAV path planning using mathematical optimization. For example, the problem can be formulated as a con- tinuous time optimal control problem. Then, by ex- ploiting well-known techniques like single or multiple shooting the problem can be transformed into a large scale nonlinear programming problem, for which there exist many commercially available solvers. Two exam- ples of this approach are Haugen and Imsland (2013) and Walton et al. (2014). The framework we propose in this paper is based on combinatorial optimization. It is similar to the Trav- eling Salesperson Problem (TSP), which is to find the shortest path visiting each city in a given list of cities exactly once. A generalization of TSP is mixed inte- ger linear programming (MILP). For information about modern MILP solvers and problems in general see e.g. unger (2009), Bixby (2002), and Chen et al. (2010). In this paper, we use the CPLEX solver from IBM (ibm, 2015). There are multiple applications similar to iceberg tracking with UAVs where TSP formulations have been applied. We have the problem of doing surveillance with unmanned ground vehicles (UGSes) in combi- nation with a UAV. The UGSes have good sensing, but poor communication capabilities compared to the UAV. The UAV collects information by visiting UGSes. doi:10.4173/mic.2017.1.3 c 2017 Norwegian Society of Automatic Control

Upload: others

Post on 20-Nov-2021

8 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: UAV Path Planning using MILP with Experiments

Modeling, Identification and Control, Vol. 38, No. 1, 2017, pp. 21–32, ISSN 1890–1328

UAV Path Planning using MILP with Experiments

A. Albert 1 F.S. Leira 1 L. Imsland 1

1Department of Engineering Cybernetics, Norwegian University of Science and Technology, N-7491 Trondheim,Norway. E-mail: {anders.albert, frederik.s.leira, lars.imsland}@itk.ntnu.no

Abstract

In this paper, we look at the problem of tracking icebergs using multiple Unmanned Aerial Vehicles (UAVs).Our solutions use combinatorial optimization for UAV path planning by formulating a mixed integer linearprograming (MILP) optimization problem. To demonstrate the approach, we present both a simulationand a practical experiment. The simulation demonstrates the possibilities of the MILP algorithm byconstructing a case where three UAVs help a boat make a safe passage through an area with icebergs.Furthermore, we compare the performance of three against a single UAV. In the practical experiment, wetake the first step towards full-scale experiments. We run the algorithm on a ground station and use it toset the path for a UAV tracking five simulated icebergs.

Keywords: UAV, Path Planning, Mathematical Optimization

1 Introduction

Offshore operations in ice-infested arctic areas demandice management. Ice management is all activities thataim to reduce or avoid the impact of any kind of icefeatures. Several authors have argued that UnmannedAerial Vehicles (UAVs) are an efficient platform to per-form detection and surveillance of ice features for icemanagement purposes, e.g. Eik (2008), Lesinskis andPavlovics (2011).

Using mobile sensors, like a UAV, for informationgathering is a popular research topic. One of the rea-sons for its popularity is the many applications rangingfrom inspections of power lines, ships, pipelines etc.,monitoring of traffic and environment, to border pa-trol, police support, surveillance and reconnaissanceand filming for the entertainment industry (Valavanisand Vachtsevanos, 2015).

In this paper, we propose to use UAVs for ice-berg tracking, specifically our contribution is anoptimization-based path-planning framework for thispurpose. There are several different ways to approachUAV path planning using mathematical optimization.For example, the problem can be formulated as a con-

tinuous time optimal control problem. Then, by ex-ploiting well-known techniques like single or multipleshooting the problem can be transformed into a largescale nonlinear programming problem, for which thereexist many commercially available solvers. Two exam-ples of this approach are Haugen and Imsland (2013)and Walton et al. (2014).

The framework we propose in this paper is based oncombinatorial optimization. It is similar to the Trav-eling Salesperson Problem (TSP), which is to find theshortest path visiting each city in a given list of citiesexactly once. A generalization of TSP is mixed inte-ger linear programming (MILP). For information aboutmodern MILP solvers and problems in general see e.g.Junger (2009), Bixby (2002), and Chen et al. (2010). Inthis paper, we use the CPLEX solver from IBM (ibm,2015).

There are multiple applications similar to icebergtracking with UAVs where TSP formulations have beenapplied. We have the problem of doing surveillancewith unmanned ground vehicles (UGSes) in combi-nation with a UAV. The UGSes have good sensing,but poor communication capabilities compared to theUAV. The UAV collects information by visiting UGSes.

doi:10.4173/mic.2017.1.3 c© 2017 Norwegian Society of Automatic Control

Page 2: UAV Path Planning using MILP with Experiments

Modeling, Identification and Control

In Barton and Kingston (2013), the authors comparea TSP solution to an adaptive feedforward iterativelearning control algorithm, based on the region of at-traction for each UGS. Another similar problem isthe heterogeneous, multiple depot, multiple UAV rout-ing problem (HMDMURP). This is a generalization ofTSP, where the salesmen are UAVs with different min-imum turning radius and starting locations. The au-thors of Oberlin et al. (2010) come up with a approxi-mate algorithm based on the transformation by Noonand Bean (1993). A related problem to HMDMURPis studied by Oh et al. (2015), which come up with asolution based on a modified algorithm for the ChinesePostman Problem to make it suitable for a group ofDubins Vehicles. The article Enright et al. (2005) fo-cuses on the repairman problem, which is TSP withtargets appearing according to a Poisson process. Theauthors calculate lower and upper bounds for a Dubinspath and use these to construct a centralized plannerto assign areas for a set of UAVs.

Furthermore, there are a number of approaches us-ing MILP that does not use TSP as a basis for prob-lem formulation, which are similar to iceberg trackingwith UAVs. The problem of searching and tracking tar-gets in an urban environment using fixed wing UAVs istackled by Hirsch and Schroeder (2015). The authorsformulate the problem mathematically as a MILP, andsolve it using an approximate method consisting of agreedy randomized adaptive search procedure and asimulated annealing. The military application of as-signing targets of different priority and path planningto combat UAVs is studied by Shetty et al. (2008).They also formulate the problem as a MILP and com-pare the CPLEX-algorithm (ibm, 2015) to an approx-imate approach consisting of a tabu search algorithmwith regard to optimally and computational efficiency.Schouwenaars et al. (2001) and Ma and Miller (2005)use the CPLEX-algorithm to solve a path planningproblem formulated as a MILP for a single or multipleUAVs.

Finally, there are many formulations similar to ice-berg tracking that are not solved using a TSP frame-work. In Sinha et al. (2005) the authors considertracking hostile targets moving in group using multi-ple UAVs. Their solution is an adaptive decentralizedalgorithm. This is similar to the radar resources dis-tribution and combat management problem, which aresolved with a multi-level tree algorithm in Asnis andBlackman (2011). The authors of Farmani et al. (2015)track moving targets in an urban environment, wherethey take into account UAV and gimbal poses. Theyalso solve the problem decentralized by using an auc-tion method. The path planning for each UAV is donewith MPC (Model Predictive Control).

We choose to not consider gimbal pose, nonholo-nomic constraints (like the Dubins vehicle), decentral-ization, etc. for the benefit of a simpler formulation,similar to TSP, called the target visitation problem(Grundel and Jeffcoat, 2004) (each iceberg has a valueand high values get prioritized for an earlier visit). Thereason is that we expect to have communication linkwith all UAVs and to be covering a vast area, wheredynamics like gimbal pose and non-holistic constraintswill be small compared to the Euclidean distance be-tween the icebergs. This enables us to solve the prob-lem fast for a limited number of UAVs and icebergs,which then enables real-time implementation. We takeinto account the dynamics of the problem by imple-menting the solution similar to an MPC, meaning thatwe solve a static optimization problem often and up-date the dynamics of the UAVs and iceberg betweeneach time we run the optimization.

1.1 Contribution

The contribution of this paper is a framework for moni-toring moving targets. The planning is centralized andthe optimization formulation allows for the use of mul-tiple UAVs. The framework extends earlier work (Al-bert and Imsland, 2015). We compare the improvedapproach using three UAVs to one UAV. In addition,we demonstrate the first step towards practical exper-iments with a test performed in Ny-Alesund at Sval-bard.

1.2 Organization

This paper is arranged as follows. In Section 2, we in-troduce the problem formulation through a scenario.In Section 3 we explain the setup, the modeling of theicebergs and UAVs, and the observer we use. Then,we introduce some assumptions in order to use the tar-get visitation formulation on our problem, and describehow we formulate the problem using mixed integer lin-ear programming in Section 4.

To demonstrate the use of multiple UAVs and thepossibilities of the algorithm, we introduce a scenariowith a boat moving through an iceberg infested area.We perform a simulation of the scenario, compare it toa single UAV, and illustrate the results in Section 5.In Section 6, we present the experimental results fromNy-Alesund at Svalbard. Finally, in Section 7 and 8we discuss the results and conclude the work of thispaper.

22

Page 3: UAV Path Planning using MILP with Experiments

2 Problem Formulation

To motivate the problem formulation we consider aconcrete case: A boat traveling in an arctic area, wherethere are drifting icebergs. The boat must avoid col-lisions with icebergs. Monitoring the surrounding ice-bergs is necessary for safe operation. One might con-sider using satellite images for this task. However, inarctic areas the update frequency is often too slow andimage resolution is too low to provide sufficient warn-ing for the operations (Eik, 2008). Another solutionmight be to use marine radar, but we assume that therange of a marine radar is insufficient for detecting ice-bergs early enough for this boat to be able to maneu-ver safely and efficiently. An iceberg on collision courserequires time to take appropriate action. In addition,marine radars suffer from performance degradation dueto poor weather conditions such as rain and high waves(Eik, 2008). An unmanned aerial vehicle (UAV) witha sensor capable of automatic (or manual) detection oficebergs can be flexible, cheap (compared to mannedflights), efficient, and with better coverage than marineradar and has increased spatial and temporal resolutioncompared to satellites.

The UAV can, for example, be equipped with anoptical camera to detect icebergs. This camera willhave a limited field of view (FOV), which only makesit possible to observe icebergs in a limited area, at thesame time. To monitor a larger area the UAV mustmove around. A fixed wing UAV is best suited for thispurpose, since it can cover relatively large distances.

We want to use multiple UAVs, so we can increasethe area coverage. Our task is to make a path plannerfor each UAV to do continuous tracking of all icebergsin a surrounding area.

The scenario is illustrated in Figure 1. In the sce-nario, the boat (the yellow polygon) needs to movethrough an area with icebergs (blue squares). It hasthree UAV available with a limited field of view, whichis illustrated by a light yellow circle. In the drawing,two of the UAVs are currently observing an icebergeach.

3 System Overview and Modeling

The system will consist of three components. Thesetup is illustrated in Figure 2. First, a set of phys-ical UAVs, each with an autopilot capable of followingwaypoints. In addition, each UAV has a sensor able todetect icebergs. Second, the sensor data is sent to anobserver to estimate iceberg position and velocity. Fi-nally, the path planner uses the iceberg positions andvelocities to find a path to track icebergs. The pathplanner then sends waypoints to each UAV. The focus

−1,500 −1,000 −500 0 500 1,000 1,500−2,500

−2,000

−1,500

−1,000

−500

0

500

1,000

1,500

2,000

2,500Boat final point

East [m]

Nor

th[m

]

UAV with FOVBoatIceberg

Figure 1: Illustrated scenario

Figure 2: System components.

of this paper is the path planner.We model the UAVs as Dubins vehicles,

zi =

xiyiψi

=

U cos(ψi)U sin(ψi)

ui

∀i ∈ [1, . . . , nUAVs] (1)

where ψi is the heading, ui is the bank angle, xi and yiare the Cartesian position, and U is the velocity of eachvehicle (all the vehicles are assumed to move with the

23

Page 4: UAV Path Planning using MILP with Experiments

Modeling, Identification and Control

same velocity). Note that we assume constant altitudewith this model.

We assume that the real position and velocity of eachiceberg is governed by:

ξi =

[sivi

]=

[0 I0 0

]ξi +

[01

]wi(t) ∀i ∈ [1, . . . , nicebergs]

(2)

where ξi is the four dimensional iceberg state consistingof position si and velocity vi, both of dimension R2.The process noise is wi(t) ∼ (0, qi), which we assumehas a Gaussian distribution with a mean of zero andvariance of qi.

To estimate the positions of the icebergs for the pathplanner we use a discrete Kalman filter. The discreteequation and measurement model for each iceberg us-ing Euler integration, is (for clarity we lose the sub-script i for each iceberg)

ξk+1 =

[I ∆T0 I

]ξk +

[0

∆T

]wk = Aξk +

[0

∆T

]wk

(3)

yk =[I 0

]ξk + vk = Cξk + vk (4)

here ξk and ξk+1 are the estimated state for the currentand the next time step, yk is the measured position ofthe iceberg and ∆T is the time step. The measurementnoise, vk, is also assumed to have a Gaussian distribu-tion with a mean of zero and variance of R.

A Kalman filter tracks the estimated state of thesystem and updates an associated error covariance ma-trix. The update process of the filter consists of twosteps. The first step is known as the a priori step,where the state is estimated based on the model andthe error covariance matrix is updated with the modeland process uncertainty. In the second step, known asthe posteriori step, the measurement is incorporated tothe estimated state and the error covariance matrix isreduced. For our case, the posteriori step will only beincluded when a UAV is observing the relevant iceberg,while the priori step will be updated each time step.

The Kalman equation for the a priori step will be

ξpriorik+1 = Aξpostk ξ0 = ξ0 (5)

P priorik+1 = AP postk AT +Q P0 = Q (6)

here P is the error covariance matrix.When a measurement is available, the Kalman filter

performs the posteriori step

K = P priorik+1 CT /(CP priori

k+1 CT +R) (7)

ξpostk+1 = ξpriorik+1 +K(yk − Cξpriorik+1 ) (8)

P postk+1 = P priori

k+1 −KCPpriorik+1 (9)

here K is known as the Kalman gain. If no measure-ment is available K = 0 (the posteriori value equalsthe priori value)

We can now define the position uncertainty using theerror covariance matrix

σ = tr(p11) (10)

where

P =

[p11 p12p21 p22

](11)

Remark: If we select qi in equation (2) differentfrom the process noise, it will function as a heuristicto assign/manipulate priorities to the icebergs. Then,σ(t) will represent priority instead of uncertainty. Thisheuristic can be set different for each iceberg, and canvary with time, q(t). For example, the path plannercan set the initial priority, σ0, from satellite imageryand the rate of change, q(t), based on distance from amoving boat.

4 Problem Setup and MILPFormulation

We assume we have multiple UAVs to track icebergsin an area. Each UAV is capable of following a givensequence of waypoints. This motivates us to exploitmixed integer linear programming (MILP) to find anoptimal sequence of icebergs to visit for each UAV.MILP problems are optimization problems that cancontain integer variables in objective function and/orconstraints.

4.1 Assumptions

We want a path planner capable of real-time implemen-tation and thus want to use a mixed-integer frameworkwhere the constraints and objective function are linear.To avoid nonlinearities, we make the following two as-sumptions:

1. The UAVs can follow any path.

2. Icebergs are stationary within the horizon consid-ered in the optimization.

Assumption 1 means that we do not take the UAVequation (1) into consideration in the path planning,except for the distance from the initial position of theUAV to the first iceberg. This will inevitably lead toa suboptimal solution, since if we also consider themovement constraints of the UAV another visitationsequence might be better. However, the difference be-tween the two visitation sequences will be small if thearea is large compared to the turning radius of the

24

Page 5: UAV Path Planning using MILP with Experiments

UAV. In addition, the autopilot will manage to pi-lot the UAV to any waypoint even though it is notselected according to its dynamics. The second as-sumption enables us to solve the problem more effi-ciently. We can make this assumption since UAVsin general move much faster than icebergs (typically0.1 m/s for icebergs against 22-25 m/s for UAVs). Totake into account the slow movement of the icebergs weplan to rerun the optimization either at fixed intervals(sample-based), or every time a UAV observes an ice-berg (event-based). Before we rerun the optimization,we update the iceberg positions and position uncertain-ties with the model from equation (5) and (10), and ifavailable UAV observations and satellite imagery.

We also make some additional assumptions. First,we assume a constant number of icebergs that areknown a priori. Icebergs can easily be added or sub-tracted in between optimization runs. Second, we as-sume perfect communication between the UAVs and aground station. The ground station can perform theoptimization and instantly communicate the result toeach UAV. Finally, we do not consider the size of theicebergs, as we are only concerned with their location.

We consider anti-collision or fuel constraints for theoptimization to be out of scope for this article. Anti-collision can be solved by a lower level controller likethe waypoint following controller on each UAV or theUAVs can just fly at different altitude. If we have fuelconstraints this can be implemented through keepingtrack of the distance from base and compare it to re-maining fuel. When the fuel gets low the UAV can beset to return to base and removed from the optimiza-tion problem.

4.2 Optimization variables

Now, we can formulate our problem using MILP. Ourapproach to formulating the optimization problem ina MILP framework uses the formulation for TSP inMiller et al. (1960) as a basis. Furthermore, we onlyuse the subclass ILP (integer linear programming) ofMILP, since we will only use integer and binary vari-ables. The problem will have N nodes, which is thesum of UAVs (nUAV) and icebergs (niceberg), N =nUAV + niceberg. The optimization variables are or-ganized in a matrix and a vector. First, we have amatrix of binary variables ypath ∈ ZN×N{0,1} . The entry

ypath(i, j) represents the path from node i to j. Anode is an iceberg or a UAV. It is one if a UAV movesbetween the nodes and zero otherwise. Second, eachUAV has an appurtenant sequence. In each sequence,the UAV is the first entry with the remaining part ofthe sequence consisting of icebergs. An integer vector,t ∈ ZN×1, represents the number each node has in its

sequence. For example, if we have two UAVs, namedUAV1 and UAV2, and five icebergs, named ice1 to ice5,then t = [UAV1,UAV2, ice1, ice2, ice3, ice4, ice5]T . Sup-pose the optimal solution is that the first UAV, UAV1,visits iceberg ice2, ice5 and then ice1, while the secondUAV, UAV2, visits ice3 before ice4. Then we will getthe following t = [1, 1, 4, 2, 2, 3, 3]T . Notice that the se-quences for each UAV are mixed together in the vectort. We use the binary matrix ypath to assign icebergs toeach UAV. The t-vector is used to avoid Hamiltoniansubpaths, and to include position uncertainty in theobjective function.

4.3 Constraints

Here, we will find a set of constraints that describethe set of feasible paths in terms of the optimizationvariables. First, each node cannot be visited and leftmore than once

N∑i

ypath(i, j) ≤ 1 ∀j and (12a)

N∑j

ypath(i, j) ≤ 1 ∀i. (12b)

Next, the number of total paths between the nodesis equal to the number of nodes minus the number ofUAVs,

N − nUAV =

N∑i=1

N∑j=1

ypath(i, j). (13)

The t-variable is an integer vector that decides thesequence each UAV will visit icebergs, as explainedabove. The values of the vector must be within thenumber of nodes,

1 ≤ t(i) ≤ N ∀i ∈ [1, 2, . . . , nUAV]. (14)

The same integer vector t is used to represent the visi-tation sequence for each UAV. For example, if we havetwo UAVs in our problem, their sequence will be mixedtogether in the same vector. This is unproblematicsince we use the binary matrix ypath to set the pathsbetween UAVs and icebergs. We use the t-vector to pri-oritize high uncertainty icebergs in the objective func-tion and to avoid subcycles. To make sure each UAVis the first of its sequence the first nUAV elements inthe t-vector representing the UAVs must be one,

t(i) = 1 ∀i ∈ [1, 2, . . . , nUAV]. (15)

Finally, each path must be connected. To avoid sub-cycles we need an additional constraint. The followingconstraint, called the Miller-Tucker-Zemlin constraint

25

Page 6: UAV Path Planning using MILP with Experiments

Modeling, Identification and Control

(Chen et al., 2010), makes sure that all the paths startwith a UAV and are connected:

t(j)− (t(i) + 1) ≥ −N(1− ypath(i, j)) ∀i 6= j. (16)

4.4 Optimization Problem

We can now formulate the following optimization prob-lem:

minF (ypath, t) = −(1− τ)F1 + τF2 (17a)

s.t. (12), (13), (14), (15), and (16)

where

F1 =

N∑i=1

σ(i)(N − t(i)) (17b)

F2 = µ

N∑i

N∑j

ypath(i, j)d(i, j). (17c)

Here, µ is a scaling variable to make F1 and F2 of com-parable size, see Section 4.5, and τ is a tuning constantused to weight between the two objectives. Settingτ = 1 puts all weight on shortest distance and τ = 0puts all weight on position uncertainty. In the simula-tion and practical experiments of this paper we foundthrough experience the value τ = 0.5 to be appropri-ate. In the objective function, we have two competingobjectives. First, minimizing −F1 equals sorting theicebergs in sequences based on their position uncer-tainty. Here, σ(i) is the position uncertainty of eachiceberg and UAV. The UAVs will have a position un-certainty of zero. The position uncertainty is constantwhen running the optimization. In between optimiza-tion runs it is updated with equation (10), which meansit increases linearly with time for unobserved icebergsand decreased towards zero for observed icebergs. Sec-ond, F2 contains the distance traveled by the UAVs.The matrix d contains the distances between all thenodes, which is recalculated for each iteration of theoptimization problem. The distances are Euclideandistances except the distance from the UAVs to theicebergs. To calculate the distance from a UAV witha given heading to each iceberg we use Dubins pathswithout fixed final heading. A Dubins path is a curvewith a minimum turning radius and a fixed initial andfinal heading. This way we take the nonholonomic dy-namics from equation (1) of the UAVs into considera-tion for the path from each UAV to the first iceberg ineach sequence.

4.5 Scaling

To get a proper trade-off of the objectives F1 and F2

in equation (17a) we need to scale them by choosing

an appropriate value for µ. If we knew the optimalvalues of F1 and F2 in advance of the optimization, anatural choice for µ would be the ratio between them.Instead we approximate this ratio by calculating themaximum value for F1 and an estimated average valuefor F2. The maximum value for F1 is found by op-timizing without constraints, which is easy and effi-cient to do. We cannot do the same for F2, since theminimal F2 will always be zero. Instead we take thed-matrix and calculate the average distance and multi-ply it by the number of paths we need in our solution,F2,avg = davg(N − nUAV). We can now choose:

µ =F1,max

F2,avg. (18)

If we compare the µ from equation (18) with the ratioof F1 and F2 after we run the optimization in 1000simulations, the guessed ratio from equation (18) hasa mean of 89% and a standard deviation of 13%.

4.6 Implementation aspects

In the implementation of the optimization algorithmthere are two adjustments. First, to avoid revisitingnewly visited icebergs, the average position uncertaintyof all the icebergs is calculated before the optimization.Then, only icebergs with a position uncertainty above10 % of the average are included in the optimization.Second, the optimization can lead to a UAV not beingassigned to track any iceberg. In this case, the UAVis set to track the closest iceberg (calculated in Dubinsdistance without the final heading).

5 Simulation

To implement the optimization algorithm from the pre-vious section we use MATLAB R2014b with the tool-box YALMIP (Lofberg, 2004). YALMIP enables easyimplementation of optimization problems. Further-more, we use the CPLEX solver from IBM (ibm, 2015).

To illustrate the possibilities of the optimization al-gorithm we construct a simulation case with a boatmoving through an area with icebergs. We compareusing three UAVs to a single UAV for monitoring ice-bergs. When the boat enters the area we know theposition and velocity of the 10 icebergs. This is anunrealistic assumption. However, it is necessary sincewe have chosen to set the iceberg velocities higher thannormal (see next paragraph). The UAV(s) launch fromthe boat. In our case, the boat is only included for il-lustrative purposes, so its path is hard-coded.

In Table 1, the simulation parameters are given. Theoptimization of the UAV-paths is implemented sample-based, meaning that the optimizations are run using

26

Page 7: UAV Path Planning using MILP with Experiments

fixed time intervals. As mentioned in section 4.1, ice-bergs typically move at a velocity of 0.1 m/s. In thesimulation, we have chosen to set the iceberg velocityup till about 3 m/s. The reason is that we want to bet-ter illustrate the tracking capabilities of the algorithm,since it is also suitable to other tracking applicationsthan icebergs.

Two snapshots from each simulation are shown inFigure 3. Here the boat is illustrated by a yellow poly-gon. The UAVs have a solid line for their recent move-ment and a dotted line for the sequence they plan tovisit the icebergs. Each iceberg has a solid blue line fortheir recent movement and a blue ”x” for their currentposition. The icebergs are also enumerated. A red cir-cle indicates the observers estimated position of eachiceberg.

In Figure 4, we see the average position uncertaintyduring the simulations compared for one and threeUAVs. The reason the average position uncertaintyfalls somewhat at the end of the simulation for the sin-gle UAV, is that it stops tracking some of the icebergsit cannot find.

Table 1: Simulation Parameters

Parameter Value Unit

Boat 1 unit(x0,y0,heading) (1500,0,2.0246) (m,m,rad)Velocity 10 m/sMin turning radius 587 m

UAVs 3 units(x0,y0,heading) (1500,0,0) (m,m,rad)

(1500,0,π2 )(1500,0,π)

Velocity 22 m/sMinimum turning radius 105 mFOV 150 m

Icebergs 10 unitsx0 ∈[0,1500 ] my0 ∈[0,1500] mvx ∈[-3,3] m/svy ∈[-3,3] m/s

ObserverTime step, ∆T 0.1 s

Process noise, Q

[02×2 02×202×2 0.01I2×2

] [m2

ms2

]Measurement noise, R

[5 00 5

]m2

Measurement frequency 2 s−1

SimulationSimulation length, T 200 sOptimization sample time 5 s

0 20 40 60 80 100 120 140 160 180 2000

0.2

0.4

0.6

0.8

1

1.2

1.4

·104

Time [s]

PositionUncertainty

[m2]

3 UAVs, avg pos uncrt = 484 m2

1 UAV, avg pos uncrt = 4587 m2

Figure 4: The average position uncertainty for the ice-berg for the two simulations with 3 and 1UAV(s).

UAVSkywalker X8

Software: Dune

Computer INeptus

Computer IIMatlabR2014b

Ground Station

Communication: IMC

Figure 5: Practical Experiment Setup.

6 Towards practical experiments

To conduct the practical experiment in Ny-Alesund atSvalbard there were multiple components involved. Inthis section, we first describe the components, includ-ing software involved in the experiments. Then, we givea description of the practical experiments conducted.

6.1 Setup

Figure 5 illustrates an overview of the components usedin the experiment.

The UAV platform used for the practical experi-ments was an X8 from Sky Walker Technology (x8,

27

Page 8: UAV Path Planning using MILP with Experiments

Modeling, Identification and Control

0 500 1,000 1,500

0

500

1,000

1,500

1

2

3

4

5

6

7

8

9

10

North [m]

East

[m]

Time = 30, Avg pos uncrt = 74

0 500 1,000 1,500

0

500

1,000

1,500

1

2

3

4

5

6

7

8

9

10

North [m]

East

[m]

Time = 30, Avg pos uncrt = 94

0 500 1,000 1,500

0

500

1,000

1,500

1

2

3

4

5

6

7

8

9

10

North [m]

East[m

]

Time = 140, Avg pos uncrt = 1191

0 500 1,000 1,500

0

500

1,000

1,500

1

2

3

4

5

6

7

8

9

10

North [m]

East[m

]

Time = 140, Avg pos uncrt = 7152

Figure 3: Simulations of a boat moving through an area with three or a single UAV(s) to track icebergs. Thedotted lines illustrate the planned path for the UAVs (green, black and pink), and the solid lines showtheir recent movement. In addition, the FOV is marked with a solid circle around each UAV. Theiceberg positions are plotted with a blue ”x”, and have their recent movement in a solid blue line.The observer indicates the current estimate of iceberg positions with a red circles. The boat is drawnas a yellow polygon.

28

Page 9: UAV Path Planning using MILP with Experiments

Figure 6: Launch of X8 using a catapult.

2016). This is a small light-weight off-the-shelf plat-form with an electric motor. It can carry a light pay-load of 1-2 kg and is able to stay in the air for about60 minutes. We used a catapult to launch it into theair, as illustrated in Figure 6.

The components onboard the X8 are a single boardcomputer (odr, 2016) for processing, an autopilot (ard,2016), a communication link (roc, 2016) and a switchwhich enables communication between all of the com-ponents.

The single board computer runs DUNE (Pinto et al.,2012). DUNE, short for DUNE Unified NavigationalEnvironment, is an open-source “runtime environmentfor unmanned systems onboard software”. This en-ables simple implementation of different tasks, such asreading sensor values or control of actuators, onboardthe X8. In this experiment, we specifically use DUNEto receive waypoints from the ground station (i.e, theresults from solving the MILP algorithm presented inSection 4), and translating and forwarding them tothe onboard autopilot. The autpilot is then respon-sible for guiding the UAV using low level controllers tothe given waypoints. Furthermore, DUNE is pullingtelemetry data from the autopilot and forwarding it tothe ground station, giving it the necessary informationabout the UAV to initialize the MILP algorithm andfind the optimal visitation sequence for the simulatedicebergs.

The ground station consists of two computers, eachrunning a different software. One of the computers isrunning MATLAB R2014b, which is where the MILPalgorithm is implemented and run. The second com-puter is running Neptus (Pinto et al., 2006). Neptusis an open-source Command & Control Center whichcan be used for a variety of tasks. Examples are worldrepresentation and modeling, mission planning, sim-ulation, execution control and supervision, and post-mission analysis. For the work presented in this paper,Neptus is used to illustrate the location of the (simu-lated) icebergs, as well as the X8’s position, telemetry

data and current waypoint to the operator.The communication between the UAV and the

ground station is done using a protocol named Inter-Module-Communication (IMC), which is a set of pre-defined messages made for operations of (multiple) un-manned vehicles and real-time efficiency. The reader isreferred to Martins et al. (2009) for a detailed descrip-tion of the IMC protocol.

6.2 Experiment

On the way to full-scale practical experiments we didwhat can be considered a pilot experiment as a proofof concept. The experiment was conducted as follows:

1. Pilot launches the UAV in the air and stabilizes itat an altitude of about 120 meters.

2. The MILP-algorithm is initiated with four simu-lated icebergs and returns the optimal sequencefor visiting them.

3. The UAV is sent a waypoint to the first icebergfrom the resulting visiting sequence of the MILP-algorithm.

4. When the UAV reach the simulated iceberg it loi-ters around it for 30 seconds, while the groundstation is running a new optimization.

5. The UAV is sent a waypoint to the first iceberg inthe visiting sequence of the new optimization.

6. 100 seconds after the iceberg tracking mission isstarted, an additional simulated iceberg is addedto the list, iceberg number 5.

7. The UAV continues to track the simulated icebergsby repeating step 3-5 for about 800 seconds of totalloiter time.

The MILP-algorithm chooses a visiting sequence forthe simulated icebergs based on position and an uncer-tainty value of each iceberg. The initial four icebergswhere set with a random initial uncertainty value. Af-ter initialization, the position uncertainty increasedconstantly with a value of 1 for each second. In otherwords, tr(p11) in equation (10) is 1. The fifth simu-lated iceberg was added with an uncertainty value ofzero.

In Table 2 we see the coordinates of the simulatedicebergs and their initial uncertainty value. Figure 7 il-lustrates the UAV’s first visit of the five icebergs, withFigure 8 plots the position uncertainty of each simu-lated iceberg.

Unlike in Section 5, in the practical experiment weuse an event-based approach for when to rerun theMILP algorithm. The image processing algorithm used

29

Page 10: UAV Path Planning using MILP with Experiments

Modeling, Identification and Control

−4,000−3,500−3,000−2,500−2,000−1,500−1,000 −500 0 500 1,000

−40

−20

0

20

40

60

80

100

120

140

1

2

3

4

5

East [m]

North

[m]

Experiment UAV path between t=35 and t=210 seconds

Figure 7: UAV path in practical experiments. Boththe solid-red and dotted blue line illustratethe UAV path. The solid-red line indicateswhen the UAV is observing a point, while thedotted blue line is when the UAV is movingtowards a new simulated iceberg.

0 20 40 60 80 100 120 140 160 180 200 220 2400

50

100

150

200

250

Time [s]

PositionUncertainty

Position Uncertainty of waypoints between t=35 and t=210 seconds

12345

Figure 8: The position uncertainty value for each sim-ulated iceberg during the experiment illus-trated in Figure 7.

to obtain position and velocity estimate from an ice-berg might require the UAV to circle around the ice-berg to get more measurements than just a flyby. Inour experiment, an event was the 30 seconds loiteringaround a simulated iceberg, which makes it natural toexploit this time to rerun the MILP-algorithm.

Table 2: Table with simulated iceberg coordinates andinitial uncertainty

Nr. Iceberg Initial Value

1 (730 31) 12 (628 -16) 53 (3104 69) 84 (2284 89) 25 (2138 59) 1

7 Discussion

From the simulation in Section 5, a single UAV is notsufficient to track the ten icebergs. In the snapshotafter 140 seconds the distance between iceberg number8 and its estimated is larger than the FOV. In addition,we see that iceberg 2, 3, 5, 6 and 9 also are aboutto get outside FOV. This is not the case when in thesimulation with three UAVs, which manage to keeptrack of the icebergs. When we look at Figure 4 thesingle UAV is unable to keep the position uncertaintywithin a limit, while three UAVs are sufficient.

The calculation of Dubins path reduces the sub-optimality originating from not taking UAV dynamicsinto account (cf. assumptions in Section 4.1). Espe-cially, since we only use the first point of each sequencebefore we rerun the optimization. The way we reducesub-optimality can best be explained by a simple exam-ple. Consider the case with one UAV and two icebergs,where the first iceberg is closer to the UAV in a metricdistance. However, the UAV heading is turned towardsthe second iceberg, which makes the optimal sequenceto visit the second before the first iceberg. When weuse the Dubins instead of the metric distance, the al-gorithm manages to take the heading of the UAV intoconsideration. Notice that we are only able to use Du-bins distance from the initial position of the UAV, sincewe do not know what heading the UAV will have atsubsequent points.

The practical experiment serves as a proof of con-cept. It demonstrates how it is possible to implementthe algorithm in practice. However, the practical ex-periment has several weaknesses. First, the simulatedicebergs are too close to each other, for iceberg number3, 4 and 5 the UAV goes directly from observing oneiceberg to another. In addition, when the icebergs areso close to each other the UAV will inevitably visit eachiceberg often independent of the sequence chosen bythe MILP algorithm. Unfortunately, during the day ofthe experiment there was a lack of real icebergs. Thislead to not getting image processing tested togetherwith the MILP-algorithm.

In future experiments, a platform with greater reach

30

Page 11: UAV Path Planning using MILP with Experiments

and greater durability is desired. Longer reach meansthat the UAV can track icebergs in a larger area, whereselecting a more optimal visiting sequence for eachUAV becomes essential. We believe the benefits of theproposed algorithm will be more substantial in such acase. Furthermore, in future experiments it will alsobe interesting to test tracking icebergs moving in opensea. The icebergs in Kongsfjorden close to Ny-Alesund,where we did our experiments, do not move much andthis makes them very easy to track.

Furthermore, for experiments in open sea the ob-server should be improved. It should handle false pos-itive and false negative measurements. In addition, itshould also be able to determine and reject outliers.For example, if two icebergs are close to each otherat the time of observation, the observer might mistakethem. This will lead to a wrong velocity estimate forboth of them.

8 Conclusion

In this paper, we have studied the problem of track-ing moving icebergs using a set of moving sensor plat-forms. To solve the problem we have used mathemat-ical optimization, or more specifically, combinatorialoptimization. To demonstrate the algorithm we haveconstructed a case with 10 icebergs and performeda simulation with one UAV and another with threeUAVs. The simulations show that a single UAV is un-able to track all ten icebergs, while 3 UAVs manageit.

We have also taken the first step towards practi-cal implementation with a practical experiment con-ducted at Ny Alesund in Svalbard during the fall of2015. Here, we have made a successful first practicalimplementation of the algorithm with one UAV.

Future Work

Possibilities for future work include:

1. Integration of the of MILP-algorithm with an im-age processing algorithm like Leira et al. (2015).

2. Practical experiments with real icebergs and theuse of image processing for iceberg detection.

3. Practical experiments with long distance UAVplatform.

4. Use of multiple UAVs in practical experiments.

5. Extend observer to handle false positive and neg-ative measurements, in addition to outliers.

Acknowledgment

This work was supported by the Research Council ofNorway, Statoil, DNV GL and SINTEF through theCenters of Excellence funding scheme, grant 223254 -Centre for Autonomous Marine Operations and Sys-tems (AMOS).

References

IBM Ilog CPLEX optimization studio. http://www.

ibm.com, 2015. Accessed: 2015-09-12.

ArduPilot. http://ardupilot.com, 2016. Acc.: 2016-02-10.

Odroid U3. http://www.odroid.com, 2016. Acc.:2016-03-02.

Sky Walker Technology (HK). http://www.

skywalker-model.com, 2016. Accessed: 2016-02-10.

Ubiquiti rocket M5. https://www.ubnt.com/airmax/rocketm/, 2016. Accessed: 2016-02-10.

Albert, A. and Imsland, L. Mobile sensor path plan-ning for iceberg monitoring using a MILP frame-work. In 12th Proc. Intl. Conf. Inf. Control, Au-tomation, Robotics, volume 1. pages 131–138, 2015.

Asnis, G. and Blackman, S. Optimal allocation ofmulti-platform sensor resources for multiple targettracking. In Information Fusion, Proc. 14th Intl.Conf. IEEE, pages 1–8, 2011.

Barton, K. and Kingston, D. Systematic surveillancefor uavs: A feedforward iterative learning controlapproach. In American Control Conf. IEEE, pages5917–5922, 2013. doi:10.1109/ACC.2013.6580766.

Bixby, R. E. Solving real-world linear programs: Adecade and more of progress. Operations research,2002. 50(1):3–15. doi:10.1287/opre.50.1.3.17780.

Chen, D.-S., Batson, R. G., and Dang, Y. Appliedinteger programming: modeling and solution. JohnWiley & Sons, 2010. doi:10.1002/9781118166000.

Eik, K. Review of experiences within ice and ice-berg management. Journal of Navigation, 2008.61(4):557–572. doi:10.1017/S0373463308004839.

Enright, J., Frazzoli, E., Savla, K., and Bullo, F.On multiple uav routing with stochastic targets:Performance bounds and algorithms. In Proc.AIAA Conf. on Guidance, Navigation, Control.2005. doi:10.2514/6.2005-5830.

31

Page 12: UAV Path Planning using MILP with Experiments

Modeling, Identification and Control

Farmani, N., Sun, L., and Pack, D. Track-ing multiple mobile targets using cooperative un-manned aerial vehicles. In Intl. Conf. UnmannedAircraft Systems. IEEE, pages 395–400, 2015.doi:10.1109/ICUAS.2015.7152315.

Grundel, D. and Jeffcoat, D. Formulation and solutionof the target visitation problem. AIAA 1st Intell.Sys. Techn., 2004. 1:1–6. doi:10.2514/6.2004-6212.

Haugen, J. and Imsland, L. Optimization-based au-tonomous remote sensing of surface objects usingan unmanned aerial vehicle. 2013 European ControlConference, ECC 2013, 2013. pages 1242–1249.

Hirsch, M. J. and Schroeder, D. On the decentralizedcooperative control of multiple autonomous vehicles.In Handbook Unmanned Aerial Vehicles, pages 1577–1600. 2015. doi:10.1007/978-90-481-9707-1 112.

Junger, M. and et.al. 50 Years of Integer Programming1958-2008: From the Early Years to the State-of-the-art. Springer Science & Business Media, 2009.doi:10.1007/978-3-540-68279-0.

Leira, F., Johansen, T. A., and Fossen, T. I. Auto-matic detection, classification and tracking of ob-jects in the ocean surface from uavs using a ther-mal camera. In IEEE Aerospace Conference. 2015.doi:10.1109/AERO.2015.7119238.

Lesinskis, I. and Pavlovics, A. The aspects of imple-mentation of unmanned aerial vehicles for ice situa-tion awareness in maritime traffic. Proc. Intl. Conf.Transport Means, 2011. pages 65–68.

Lofberg, J. YALMIP : A toolbox for modelingand optimization in MATLAB. In Proceedingsof the CACSD Conference. Taipei, Taiwan, 2004.doi:10.1109/CACSD.2004.1393890.

Ma, C. S. and Miller, R. H. Mixed integer linearprogramming trajectory generation for autonomousnap-of-the-earth flight in a threat environment. In2005 IEEE Aerospace Conference. IEEE, pages 1–9,2005. doi:10.1109/AERO.2005.1559599.

Martins, R., Dias, P. S., Marques, E. R., Pinto, J.,Sousa, J. B., and Pereira, F. L. IMC: A commu-nication protocol for networked vehicles and sen-sors. In Oceans 2009-Europe. IEEE, pages 1–6, 2009.doi:10.1109/OCEANSE.2009.5278245.

Miller, C. E., Tucker, A. W., and Zemlin, R. A. In-teger programming formulation of traveling sales-man problems. Journal of the ACM (JACM), 1960.7(4):326–329. doi:10.1145/321043.321046.

Noon, C. E. and Bean, J. C. An effi-cient transformation of the generalized travelingsalesman problem. INFOR, 1993. 31(1):39.doi:10.1080/03155986.1993.11732212.

Oberlin, P., Rathinam, S., and Darbha, S. To-day’s traveling salesman problem. IEEE robotics& automation magazine, 2010. 17(4):70–77.doi:10.1109/MRA.2010.938844.

Oh, H., Shin, H.-S., Kim, S., Tsourdos, A., andWhite, B. A. Cooperative mission and path plan-ning for a team of uavs. In Handbook of UnmannedAerial Vehicles, pages 1509–1545. Springer, 2015.doi:10.1007/978-90-481-9707-1 14.

Pinto, J., Calado, P., Braga, J., Dias, P., Mar-tins, R., Marques, E., and Sousa, J. Implemen-tation of a control architecture for networked ve-hicle systems. In Proc. IFAC Navigation, Guid-ance, Control of Underwater Vehicles. IFAC, 2012.doi:10.3182/20120410-3-PT-4028.00018.

Pinto, J., Dias, P. S., Goncalves, R., Marques, E. R. B.,Goncalves, G. M., Sousa, J. B., and Pereira, F. L.Neptus: a framework to support a mission life cycle.In Proc. IFAC Conf. Manoeuvring and Control ofMarine Craft. IFAC, 2006.

Schouwenaars, T., De Moor, B., Feron, E., and How,J. Mixed integer programming for multi-vehicle pathplanning. In Control Conference (ECC), 2001 Euro-pean. IEEE, pages 2603–2608, 2001.

Shetty, V. K., Sudit, M., and Nagi, R. Priority-based assignment and routing of a fleet of un-manned combat aerial vehicles. Computers &Operations Research, 2008. 35(6):1813–1828.doi:10.1016/j.cor.2006.09.013.

Sinha, A., Kirubarajan, T., and Bar-Shalom,Y. Autonomous ground target tracking bymultiple cooperative uavs. In 2005 IEEEAerospace Conference. IEEE, pages 1–9, 2005.doi:10.1109/AERO.2005.1559601.

Valavanis, K. and Vachtsevanos, G. UAV applications:Introduction. Handbook of Unmanned Aerial Vehi-cles, 2015. pages 2639–2641. doi:10.1007/978-90-481-9707-1 151.

Walton, C., Gong, Q., Kaminer, I., and Royset, J.Optimal motion planning for searching for uncer-tain targets. IFAC Proc., 2014. 19:8977–8982.doi:10.3182/20140824-6-ZA-1003.01388.

32