With recent technology advancement and manufacturing cost reduction, unmanned aerial vehicles (UAVs) have received growing interests in various applications such as cargo delivery, filming, rescue and search, etc 
. To maintain the UAVs’ safe operation with real-time command/control and enable their new applications with artificial intelligence (AI), it becomes increasingly important to enhance the communication and computation capabilities of UAVs. In order to provide reliable communication for UAVs, cellular-connected UAV communication has recently emerged as a viable new solution, in which UAVs are integrated into cellular networks as new aerial mobile users[2, 3]. As compared to the conventional direct UAV-to-ground communication with limited range , the cellular-connected UAV communication is able to provide seamless wireless communication for UAVs. By contrast, there has been very limited work addressing how to improve the computation performance of UAVs. Notice that in the forthcoming AI era, UAVs need to handle computation-intensive and yet latency-critical tasks, while in practice they usually have limited computation resources on-broad due to their size, weight, and power (SWAP) limitations. Therefore, it is imminent as well as challenging to solve the open problem of how to significantly enhance the computation power for future UAVs.
To tackle the above challenge, this paper proposes a new approach by jointly exploiting the techniques of mobile edge computing (MEC) and cellular-connected UAV communication. With MEC, cloud-like computing functionalities are provided at the edge of wireless networks such as cellular base stations (BSs) . As a result, UAVs with cellular connection can offload their intensive computation tasks to ground BSs (GBSs) for remote execution. As GBSs are nowadays deployed almost everywhere, this new approach can provide both seamless communication and ubiquitous computation services for UAVs, which help increase their operation range and enlarge their application horizon.
The new setup of MEC with high-mobility UAV users poses new opportunities as well as challenges for the optimal computation offloading design. First, as compared to the traditional mobile user with complex fading channel with its associated GBS, a UAV user in the sky usually possesses stronger and more reliable line-of-sight (LoS) links with a large number of GBSs at the same time. This thus enables each UAV to simultaneously connect with multiple GBSs to exploit their distributed computing resources to improve the computation capability. Second, since the UAV has controllable mobility in the three-dimensional (3D) airspace, its trajectory can be jointly designed with its scheduling of computation offloading to the GBSs associated along the trajectory to optimize the performance. This is considerably different from prior studies on MEC with communication and computation resource allocation at a fixed terrestrial user and its associated GBS only (see, e.g., [5, 6, 8, 7]), thus deserving a dedicated new investigation.
Specifically, this paper considers a practical scenario where a UAV is designated to fly from an initial location to a final location, during which it needs to accomplish certain computation tasks. We assume that the UAV can arbitrarily partition these tasks into smaller-size subtasks, and offload them to some selected GBSs along its trajectory for parallel execution. Under this setup, we aim to minimize the UAV’s mission completion time or total flight duration by jointly optimizing its trajectory and computation offloading scheduling, subject to the maximum speed and initial/final location constraints of the UAV, as well as the GBSs’ individual computation capacity constraints. Although the formulated problem is non-convex and difficult to be solved optimally, we propose an efficient algorithm to obtain a high-quality suboptimal solution by using the techniques of alternating optimization and successive convex approximation (SCA). Numerical results show that the proposed design significantly reduces the mission completion time for the UAV as compared to other benchmark schemes.
It is worth noting that there has been prior work  that investigated another type of UAV-MEC system, where the UAV is employed as a moving MEC server in the sky to help execute the computation tasks offloaded by multiple ground users. By contrast, this paper studies a new and different scenario where the UAV is the mobile user that offloads computation tasks to multiple GBSs.
Ii System Model
In this paper, we consider a new MEC system with one single cellular-connected UAV user and a set of GBSs with MEC functionality. The UAV has a mission to fly from an initial location to a final location, during which it also needs to accomplish certain computation tasks by offloading them to the GBSs for remote execution.111Due to the SWAP limitations, the UAV usually has limited local computation resources. In this case, we consider that the UAV user does not perform any local computing, for the purpose of exposition. Let denote the number of task-input bits. We assume that the computation tasks can be arbitrarily partitioned into smaller-size subtasks that can be offloaded to different GBSs and executed in parallel . We further assume that at each GBS , the execution of each task-input bit requires the same number of central frequency unit (CPU) cycles, denoted by . Furthermore, we assume that the computation results or the task-output bits have much smaller size than the task-input bits, and hence the computation downloading time from GBSs to the UAV is practically negligible and thus omitted.
Consider a 3D Cartesian coordinate system, in which each GBS has zero altitude and fixed horizontal location . We assume that the UAV flies at a fixed altitude in meter (m), and use and to denote the UAV’s initial and final locations projected on the horizontal plane, respectively. Furthermore, we denote the mission completion time as in second (s), which is a variable to be optimized later. Let denote the UAV’s horizontal location at time instant . Then we have and for the given initial and final locations, respectively. At time instant , the distance between the UAV and GBS is given by
denotes the Euclidean norm of a vector. Letdenote the UAV’s maximum speed in m/s. Then we have , , in which and denote the first-derivatives of and , respectively.
Normally, the air-to-ground channels from the UAV to GBSs are dominated by the LoS links, and hence we consider the free-space path-loss model similarly as in [2, 3]. At time instant , the channel power gain from the UAV to GBS is denoted as
where denotes the channel power gain at a reference distance of m.
For ease of exposition, we discretize the mission duration into time slots each with a given duration , i.e. , where is chosen to be sufficiently small such that the UAV’s location can be assumed to be approximately unchanged during each slot with , and is thus a variable to be optimized. In this case, we denote the UAV’s horizontal location at time slot as , with and . Accordingly, the channel power gain from the UAV to GBS is at slot . Furthermore, let denote the maximum UAV displacement during each time slot. Thus, the maximum UAV speed and initial/final location constraints are respectively re-expressed as
We consider the time-division-multiple-access (TDMA) protocol to implement the UAV’s computation offloading, by dividing each time slot into sub-slots each with duration , where
In each sub-slot , the UAV offloads the respective task-input bits to GBS . Suppose that the UAV adopts a constant transmit power for offloading. Then the achievable offloading rate from the UAV to GBS in bits-per-second (bps) at slot is expressed as
where and represent the noise power at the receiver of each GBS and the bandwidth, respectively, and denotes the reference signal-to-noise ratio (SNR). In order for the UAV to offload all the task-input bits to the GBSs, we need to have
Next, we consider the remote task execution at each GBS . Denoting as the maximum CPU frequency at GBS in Hz, then we obtain the per-slot computation capacity of GBS as , which represents the maximum number of task-input bits that can be executed by GBS over one slot. Note that as each task-input bit can be executed independently, each GBS can immediately start the execution as soon as the task-input bits are received. In other words, the offloaded task-input bits at each slot are immediately executable at slot . Also note that at each GBS , all the offloaded task-input bits must be successfully executed before the mission completion time (or ). Therefore, we have the following computation capacity constraints over time: for each GBS , the accumulative number of offloaded task-input bits over the last slots must be no larger than the GBS’s accumulative computation capacity over the last slots, , i.e.,
The computation capacity constraints in (8) can be understood intuitively as follows. First, for , we have , which indicates that the UAV cannot offload any task in slot , as there is no time for each GBS to execute. Next, for , we have . By combining this with , we further have , which implies that the offloaded task-input bits in slot cannot exceed the computation capacity in slot . Furthermore, by recursively considering time slots , until the first slot, the constraints in (8) follow similarly.
Our objective is to minimize the UAV’s mission completion time (or equivalently ) by optimizing the UAV trajectory and the time allocation for computation offloading , subject to the maximum UAV speed constraint in (3), the initial/final UAV location constraints in (4), the TDMA constraints in (5), as well as the task execution constraints in (7) and (8). Therefore, the joint UAV trajectory and computation offloading optimization problem is formulated as
where denotes the set of all strictly positive integers. Notice that (P1) is a non-convex optimization problem, as the optimization variable is an integer, and constraints (7) and (8) are non-convex. Furthermore, as is a-priori unknown, (P1) consists of an uncertain number of constraints in (3), (5), and (8). Due to the above facts, (P1) is difficult to be solved optimally.
Iii Proposed Solution to (P1)
In this section, we propose an efficient algorithm to solve (P1) sub-optimally.
First, we show that (P1) can be equivalently solved by first optimizing over and under any given , and then using a bisection search to find the optimal . In particular, under any given , (P1) becomes the following feasibility checking problem:
Suppose that the optimal solution of to (P1) is . Then, consider (P2) under any given . If (P2) is feasible under , then it follows that ; otherwise, we have . Therefore, we can solve (P1) by checking the feasibility of (P2) under any given and using a bisection search over . As a result, we only need to consider (P2) under given .
Next, we show that solving (P2) is equivalent to solving the following problem (P3) to maximize the number of computation task-input bits under given .
Suppose that the optimal solution of to (P3) is . Then it is evident that if , then (P2) is feasible; otherwise, (P2) is infeasible.
Now, it only remains to solve (P3). Note that (P3) is still non-convex, due to the non-convex constraints in (8) and (10). In the following, we propose an efficient algorithm to obtain a suboptimal solution to (P3) by optimizing the time allocation and the UAV trajectory in an alternating manner.
Iii-1 Time Allocation for (P3) Under Given UAV Trajectory
Iii-2 UAV Trajectory Optimization for (P3) Under Given Time Allocation
Under given , (P3) is reduced to
Notice that (P3.2) is still non-convex, as constraints (8) and (10) are non-convex. To tackle this problem, we propose an iterative algorithm to obtain an efficient solution to (P3.2) by using the SCA technique. The idea is that under any given local point at each iteration, we approximate non-convex constraints (8) and (10) by their corresponding convex ones. By solving a series of approximate convex problems iteratively, we can attain an efficient suboptimal solution to (P3.2).
Suppose that denotes the local point at the -th iteration, . Then, we approximate constraints (8) and (10) in the following, respectively. First, consider constraint (8). Notice that by checking the first-order Taylor expansion of the convex term with respect to at the local point , we have
with and , where indicates the transpose. Based on (12), we obtain an upper bound of as
where is convex with respect to . Replacing in (8) as , we have the approximated convex constraints as
Next, consider constraint (10). Notice that is a convex function with respect to the term . Then by taking the first-order Taylor expression of with respect to , we can obtain a lower bound of at local point as follows.
where . Here, is a concave function with respect to . By replacing in constraint (10) as , we have the approximated convex constraints as
Finally, with (13) and (15) at hand, (P3.2) is approximated as the following convex optimization problem (P3.3) at local point , which can be solved optimally via convex optimization techniques such as CVX.
Let denote the optimal UAV trajectory solution to (P3.3) at local point . Then, we can obtain an efficient iterative algorithm to solve (P3.2) as follows. In each iteration , the UAV trajectory is updated as by solving (P3.3) at local point , i.e. , where denotes the initial UAV trajectory. In summary, the proposed algorithm is presented in Table I as Algorithm 1.
Notice that after each iteration in Algorithm 1, the objective value of (P3.2) is monotonically non-decreasing. As the optimal value of (P3.2) is upper-bounded, Algorithm 1 should converge to (at least) a locally optimal solution to (P3.2).
Iii-3 Complete Algorithm to Solve (P3)
With (P3.1) and (P3.2) solved, we are ready to solve (P3) by updating the UAV trajectory and time allocation in an alternating manner. In each iteration, we first solve (P3.1) under given to update , and then solve (P3.2) under to update . For each iteration, the optimal value of (P3) is monotonically nondecreasing. As the optimal value of (P3) is upper-bounded, the alternating-optimization-based algorithm will converge to at least a locally optimal solution to (P3).
Finally, with (P3) solved, the feasibility of (P2) is accordingly checked. By combing this together with the bisection search over , problem (P1) can be efficiently solved. Here, it is worth noting that the obtained solution to (P1) is generally suboptimal, which is due to the fact that under given , we only obtain a locally optimal solution to (P3). Nevertheless, as shown in numerical results next, such suboptimal solution to (P1) performs quite well in practice.
Iv Numerical Results
In this section, we present numerical results to validate the proposed joint trajectory and computation offloading design. Suppose that there are GBSs that are distributed within a geographic area of size km, as shown in Fig. 2. We set the bandwidth as MHz and the flying altitude of the UAV as m. The channel power gain at the reference distance of m is dB and the noise power at each GBS receiver is dBm. The maximum UAV speed is m/s while the transmit power is dBm. At each GBS , we set the maximum CPU frequency as GHz and the required number of CPU cycles per task-input bit as
. Furthermore, the initial UAV trajectory for Algorithm 1 is heuristically designed as follows.
Straight flight: the UAV flies straight from the initial to the final location at a fixed speed . To minimize the mission completion time under this trajectory, we first check the computation feasibility under any given (or ) by optimizing the time allocation, and then use a bisection search over (or ).
Fig. 2 shows the optimized UAV trajectory projected on the horizontal plane under different values of , in which the trajectory is sampled every s. It is observed that when Mbits, the UAV flies straight from the initial location to the final location at the maximum speed, and the mission completion time is , which is constrained by the flying distance between the initial and final locations. When Mbits, the UAV trajectory is observed to deviate from the straight line by flying closer towards GBSs 1, 4, and 5, in order to exploit better wireless channels for computation offloading towards them. When further increases to Mbits, the UAV is observed to reach and hover above all the five GBSs and even fly back and forth between GBSs 4 and 5. In this case, the mission completion time is mainly constrained by the computation task execution, and thus the UAV trajectory is designed for most efficient computation offloading.
Next, we validate the performance of our proposed design as compared to two benchmark schemes, namely the above straight flight trajectory and the following heuristic design.
Successive hover-and-fly: the UAV flies to successfully reach at the top of the GBSs at the maximum speed , and hovers above each of them for efficient computation offloading. The visiting order is determined by solving the Traveling Salesman Problem (TSP)  to minimize the flying distance. Under such a UAV trajectory design, the mission completion time minimization problem can be solved similarly as in the straight flight scheme, while the only difference is that during checking the computation feasibility under any given (or ), we need to optimize the hovering durations above these GBSs jointly with the time allocation while flying.
Fig. 3 shows the mission completion time versus the number of task-input bits . It is observed that as becomes larger, the mission completion time increases for all the three schemes, while the proposed design performs best among the three schemes over all values. When is small (e.g., Mbits), the straight-flight scheme is observed to achieve the same mission completion time as the proposed design, and outperforms the successive-hover-and-fly scheme. This is due to the fact that in this regime, the mission completion time is constrained by the flying distance, and the successive-hover-and-fly scheme leads to longer flying distance as the UAV needs to visit all GBSs. When is larger than Mbits, it is observed that the straight-flight scheme performs worse than the successive-hover-and-fly scheme and the proposed design. This is due to the fact that in this regime, the mission completion time is constrained by the computation task execution, and the latter two schemes can more efficiently explore the UAV trajectory design for computation offloading. In addition, the successive-hover-and-fly scheme is observed to perform close to the proposed design when Mbits, but the performance gap increases when further increases. This is due to the fact that when becomes larger, in the proposed design the UAV can fly back and forth among different GBSs (see Fig. 2 for Mbits) in order to explore multiple GBSs’ distributed computation resources more efficiently by time sharing.
This paper investigates a new MEC application scenario where a cellular-connected UAV offloads its computation tasks to multiple GBSs along its trajectory. The UAV trajectory is jointly designed with the computation offloading scheduling, to minimize the mission completion time, subject to the UAV’s maximum speed and initial/final location constraints, as well as the GBSs’ individual computation capacity constraints. By exploiting alternating optimization and SCA techniques, an efficient algorithm is proposed to solve the formulated problem sub-optimally. Numerical results show a significant performance gain of our proposed design over the benchmark schemes.
-  Y. Zeng, R. Zhang, and T. J. Lim, “Wireless communications with unmanned aerial vehicles: Opportunities and challenges,” IEEE Commun. Mag., vol. 54, no. 5, pp. 36–42, May 2016.
-  S. Zhang, Y. Zeng, and R. Zhang, “Cellular-enabled UAV communication: Trajectory optimization under connectivity constraint,” to appear in Proc. IEEE ICC 2018. [Online] Available: https://arxiv.org/pdf/1710.11619
-  Y. Huang, J. Xu, L. Qiu, and R. Zhang, “Cognitive UAV communication via joint trajectory and power control.” [Online] Available: https://arxiv.org/abs/1802.05090
-  Y. Mao, C. You, J. Zhang, K. Huang, and K. B. Letaief, “A survey on mobile edge computing: The communication perspective,” IEEE Commun. Surveys Tuts., vol. 19, no. 4, pp. 2322–2358, 3rd Quarter, 2017.
-  S. Barbarossa, S. Sardellitti, and P. D. Lorenzo, “Communicating while computing: Distributed mobile cloud computing over 5G heterogeneous networks,” IEEE Signal Process. Mag., vol. 31. no. 6, pp. 45–55, Nov. 2014.
-  X. Cao, F. Wang, J. Xu, R. Zhang, and S. Cui, “Joint computation and communication cooperation for mobile edge computing.” [Online] Available: https://arxiv.org/abs/1704.06777
-  M.-H. Chen, M. Dong, and B. Liang, “Joint offloading decision and resource allocation for mobile cloud with computing access point,” in Proc. IEEE ICASSP, Shanghai, China, 2016, pp. 3516–3520.
-  F. Wang, J. Xu, X. Wang, and S. Cui, “Joint offloading and computing optimization in wireless powered mobile-edge computing system,” to appear in IEEE Trans. Wireless Commun..
-  S. Jeong, O. Simeone, and J. Kang, “Mobile edge computing via a UAV-mounted cloudlet: Optimization of bit allocation and path planning,” to appear in IEEE Trans. Veh. Technol..
-  S. Boyd and L. Vandenberghe, Convex Optimization, Cambridge, U.K.: Cambridge Univ. Press, Mar. 2004.
-  M. Grant and S. Boyd, CVX: MATLAB Software for Disciplined Convex Programming, Version 2.1, 2016. [Online] Available:http://cvxr.com/cvx.
E. L. Lawler, J. K. Lenstra, A. H. G. R. Kan, and D. B. Shmoys,
The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization, 1st ed. Wiley, 1985.