1

Communications and Control for Wireless
Drone-Based Antenna Array
Mohammad Mozaffari1 , Walid Saad1 , Mehdi Bennis2 , and Mérouane Debbah3
1

Wireless@VT, Electrical and Computer Engineering Department, Virginia Tech, VA, USA,

arXiv:1712.10291v1 [eess.SP] 29 Dec 2017

Emails:{mmozaff,walids}@vt.edu.
2
3

CWC - Centre for Wireless Communications, Oulu, Finland, Email: bennis@ee.oulu.fi.

Mathematical and Algorithmic Sciences Lab, Huawei France R&D, Paris, France, and CentraleSupelec,
Université Paris-Saclay, Gif-sur-Yvette, France, Email: merouane.debbah@huawei.com.
Abstract
In this paper, the effective use of multiple quadrotor drones as an aerial antenna array that provides
wireless service to ground users is investigated. In particular, under the goal of minimizing the airborne
service time needed for communicating with ground users, a novel framework for deploying and
operating a drone-based antenna array system whose elements are single-antenna drones is proposed. In
the considered model, the service time is minimized by jointly optimizing the wireless transmission time
as well as the control time that is needed for movement and stabilization of the drones. To minimize the
transmission time, first, the antenna array gain is maximized by optimizing the drone spacing within the
array. In this case, using perturbation techniques, the drone spacing optimization problem is addressed
by solving successive, perturbed convex optimization problems. Then, according to the location of each
ground user, the optimal locations of the drones around the array’s center are derived such that the
transmission time for the user is minimized. Given the determined optimal locations of drones, the
drones must spend a control time to adjust their positions dynamically so as to serve multiple users.
To minimize this control time of the quadrotor drones, the speed of rotors is optimally adjusted based
on both the destinations of the drones and external forces (e.g., wind and gravity). In particular, using
bang-bang control theory, the optimal rotors’ speeds as well as the minimum control time are derived in
closed-form. Simulation results show that the proposed approach can significantly reduce the service time
to ground users compared to a multi-drone scenario in which the same number of drones are deployed
separately to serve ground users. The results also show that, in comparison with the multi-drones case,
the network’s spectral efficiency can be improved by 48% while leveraging the drone antenna array
system. Finally, the results reveal an inherent tradeoff between the control time and transmission time
while varying the number of drones in the array.
Index Terms
Drone, Antenna array, Airborne wireless communications, Service time, Control.

2

I. I NTRODUCTION
The use of unmanned aerial vehicles (UAVs) such as drones is growing rapidly across many
domains including delivery, communications, surveillance, and search and rescue in emergency
operations [1]–[3]. In wireless networks, drones can be used as flying base stations to provide
reliable and cost-effective wireless connectivity [2]–[9]. Due to their flexibility, agility, and
mobility, drones can support reliable, cost-effective, and high data rate wireless communications
for ground users. In particular, during major public events such as Olympic games that generate
a substantial demand for communication, there is a need to supplement the limited capacity and
coverage capabilities of existing cellular networking infrastructure. In such scenarios, drone-based
wireless communication is an ideal solution. For instance, AT&T and Verizon are planning to use
flying drones to boost the Internet coverage for the college football national championship and
the Super Bowl [10]. Drones can also play a key role in enabling wireless connectivity in other
key scenarios such as public safety, and Internet of Things (IoT) scenarios [2]. To effectively
leverage drones for wireless networking applications, one must address a number of challenges
that include optimal placement of drones, path planning, resource management, control, and
flight time optimization [2], [4], [7].
A. Related work on UAV communications
There has been a recent surge of literature discussing the use of drones for wireless communication purposes [2]–[9], [11]–[15]. For instance, in [3], the authors studied the optimal 3D
placement of UAVs for maximizing the number of covered users with different quality-of-service
(QoS) requirements. The works in [4] and [5] studied path planning and optimal deployment
problems for UAV-based communications and computing. The work in [6] proposed a framework
for the optimal placement and distribution of UAVs to minimize the overall delay in a UAVassisted wireless network. A comparison between the performance of aerial base stations and
terrestrial base stations in terms of average sum rate and transmit power is presented in [11].
In [12], a polynomial-time algorithm for the optimal placement of drones that provide coverage
for ground terminals is proposed.
One of the fundamental challenges in drone-based communications systems is the limited
flight endurance of drones. Naturally, flying drones have a limited amount of on-board energy
which must be used for transmission, mobility, control, data processing, and payloads purposes.

3

Consequently, the flight duration of drones is typically short and can be insufficient for providing
a long-term, continuous wireless coverage. Furthermore, due to the limited transmit power of
drones, providing long-range, high rate, and low latency communications can be challenging
in drone-enabled wireless systems. In this regard, a key performance metric in drone-enabled
wireless networks is airborne service time, which is defined as the time needed for servicing
ground users. The service time directly impacts the flight time of drones as well as the qualityof-service (i.e., delay) for ground users. From the drones’ perspective, a lower service time
corresponds to a shorter flight time as well as less energy consumption. From the users’ point of
view, a lower service time is also needed as it directly yields lower latency. To address the flight
time challenges of drones, the work in [13] minimized the hover time of drone base stations by
deriving the optimal cell association schemes. However, the model in [13] is limited to static
single-antenna drones. In [14], the trajectory and mission completion time of a single UAV that
serves ground users are optimized. However, the work in [14] does not analyze a scenario with
multiple UAVs.
One promising approach to provide high data rate and low service time is to utilize multiple drones within an antenna array system composed of multiple single-antenna drones [16].
Compared to conventional antenna array systems, a drone-based antenna array has the following
advantages. First, the number of antenna elements (i.e., drones) is not limited by space constraints.
Second, the gain of the drone-based antenna array can be increased by adjusting the array
element spacing. Third, the mobility and flexibility of drones enable an effective mechanical
beam-steering in any three-dimensional (3D) direction. Clearly, a high gain drone-based antenna
array can provide high data rate wireless services to ground users thus reducing the service time.
In [16], the authors studied the design of a UAV-based antenna array for directivity maximization. However, the approach presented in [16] is based on a heuristic and a computationally
demanding evolutionary algorithm. Moreover, the service time analysis is ignored in [16]. In
[17], the authors derived the asymptotic capacity of an airborne multiple-input-multiple-output
(MIMO) wireless communication system. However, the work in [17] considers fixed positions
for the antenna elements of the transmitter and the receiver. Furthermore, this work does not
analyze the control aspect of drones which is essential in designing drone-based MIMO systems.
In fact, none of the previous works on drone communications, such as in [1]–[9], [11]–
[14], [16], [17], has studied the use of a drone-based antenna array system for service time

4

minimization in wireless networks. Here, we also note that, in [18], we studied the concept of
drone-based antenna arrays. However, the work in [18] does not take into account control and
the mobility aspects.
B. Contributions
The main contribution of this paper is a novel framework for deploying and operating a dronebased antenna array system that delivers wireless service to a number of ground users within a
minimum time. In particular, we minimize the service time that includes both the transmission
time and the control time needed to control the movement and orientation of the drones. To this
end, we jointly minimize the transmission time, by optimizing the drones’ locations, as well as
the control time that the drones need to move between these optimal locations. To minimize the
transmission time, first, we determine the optimal drone spacing for which the array directivity is
maximized. In this case, using perturbation theory [19], we solve the drone spacing optimization
problem by successively solving a number of perturbed convex optimization problems. Next,
given the derived drone spacing, we optimally adjust the locations of the drones according to
the position of each ground user. In order to serve different users, the drones must dynamically
move between the derived optimal locations, during the control time period. To minimize the
control time of quadrotor drones, we determine the optimal speeds of rotors such that the drones
can update their positions and orientations within a minimum time. In this case, using bangbang control theory [20], we derive a closed-form expression for the minimum control time as
a function of external forces (e.g., wind and gravity), the drone’s weight, and the destinations of
drones. Our results show that the proposed drone antenna array approach can significantly reduce
the service time and improve the spectral and energy efficiency of the network. In particular,
our approach yields 48% improvement in spectral efficiency compared to a case in which the
same number of drones are deployed separately. The results also reveal a tradeoff between the
control time and transmission time while varying the number of drones.
II. S YSTEM M ODEL AND G ENERAL P ROBLEM F ORMULATION
Consider a set L of L single-antenna wireless users located within a given geographical
area. In this area, a set M of M quadrotor drones are used as flying access points to provide
downlink wireless service for ground users. The M drones will form an antenna array in which

5
Origin of the
array

Array axis

( xo , yo , zo )
Drone m
( xm , ym , zm )

Array Beam

User i
( xiu , yiu , ziu )

Fig. 1: Drone-based antenna array.
each element is a single-antenna drone, as shown in Fig. 1. For tractability, we consider a linear
antenna array whose elements are symmetrically excited and located about the origin of the
array as done in [21]. The results that we will derive for the linear array case can provide a
key guideline for designing more complex 2D and 3D array configurations. The 3D location of
drone m ∈ M and of user i ∈ L is given by (xui , yiu , ziu ), and the location of drone m while
serving user i is (xm,i , ym,i , zm,i ). To avoid collisions1 , we assume that adjacent drones in the
array are separated by at least Dmin . Let am and βm be the amplitude and phase of the signal (i.e.
q
excitation) at element m in the array. Let dm = (xm,i − xo )2 + (ym,i − yo )2 + (zm,i − zo )2 be
the distance of drone m from the origin of the array whose 3D coordinate is (xo , yo , zo ). The
magnitude of the far-field radiation pattern of each element is w(θ, φ), where θ and φ are the
polar and azimuthal angles in the spherical coordinate.
To serve ground users distributed over a geographical area, the drones will dynamically change
their positions based on each user’s location. Such repositioning is needed for adjusting the
distance and beam direction of the antenna array to each ground user. Note that, unlike a classical
linear phased array that uses electronic beam steering, the proposed drone-based antenna array
relies on the repositioning of drones. This is due to the fact that, in the drone antenna array,
precisely adjusting the elements’ phase is more challenging than the phased array whose elements
are directly connected. In addition, a linear phased array cannot perform 3D beam steering.
Hence, in our model, the drones dynamically adjust their positions in order to steer the beam
1

Virtual force field approaches such as in [22] can also be used to avoid collisions.

6

towards ground users. Clearly, the service time, which is the time needed to serve the ground
users, depends on the transmission time and the control time during which the drones must move
and stabilize their locations. The transmission time is inversely proportional to the downlink data
rate which depends on the signal-to-noise-ratio (SNR) which is, in turn, function of the array’s
beamforming gain.
The service time is an important metric for both users and drones. A lower service time
yields a lower delay and, hence, higher quality-of-service for the users. Also, the service time is
directly related to spectral efficiency as it depends on data rate and transmission bandwidth. For
drones, a lower service time corresponds to a shorter flight time and less energy consumption.
In fact, minimizing the service time improves both energy and spectral efficiency. Therefore, our
goal is to minimize the total service time of the ground users by optimally adjusting the drones’
locations, within a minimum control time, that can provide a maximum data rate.
For drone-to-ground communications, we consider a line-of-sight (LoS) propagation model
as done in [4] and [14]. Such a channel model is reasonable here as the effect of multipath
is significantly mitigated due to the high altitude of drones and using beamforming [14]. The
transmission rate from the drone antenna array to ground user i in a far-field region is given by
[14]:



ri−α Pt Ko Gi (xi , y i , z i )
,
Ri (xi , y i , z i ) = Blog2 1 +
σ2

(1)

where xi = [xm,i ]M ×1 , y i = [ym,i ]M ×1 , z i = [zm,i ]M ×1 , m ∈ M representing the 3D coordinates
of the drones while serving user i. B is the transmission bandwidth, ri is the distance between
the origin of the array and user i, Pt is the total transmit power of the array, σ 2 is the noise
power, and Ko is the constant path loss coefficient. Gi (xi , y i , z i ) is the gain of the antenna array
towards the location of user i, given by [23]:
Gi (xi , y i , z i ) =

4π|F (θi , φi )|2 w(θi , φi )2
R2π Rπ

2

η,

(2)

2

|F (θ, φ)| w(θ, φ) sin θdθdφ

0 0

where 0 ≤ η ≤ 1 is the antenna array efficiency which is multiplied by directivity to compute
the antenna gain. In fact, the antenna gain is equal to the antenna directivity multiplied by η. In
(2), F (θ, φ) is the array factor which can be written as [23]:
F (θ, φ) =

M
X
m=1

am ej[k(xm,i sin θ cos φ+ym,i sin θ sin φ+zm,i cos θ)+βm ] ,

(3)

7

where k = 2π/λ is the phase constant, and λ is the wavelength. Note that, the overall radiation pattern of the antenna array is equal to F (θ, φ)w(θi , φi ) which follows from the pattern
multiplication rule [23].
Now, the total time that the drones spend to service the ground users will be:
Ttot =

L
X
i=1

qi
+ Ticrl (V , xi , y i , z i ),
Ri (xi , y i , z i )

(4)

where Ttot shows the total service time, qi is the load of user i which represents the number of
bits that must be transmitted to user i. Ticrl is the control time during which the drones adjust
their locations according to the location of ground user i. In particular, Ticrl captures the time
needed for updating the drones’ locations from state i − 1 (i.e., locations of drones while serving
user i − 1, i > 1) to state i. The control time is obtained based on the dynamics of the drones
and is a function of control inputs, external forces, and the movement of drones. In fact, each
drone needs a vector of control inputs in order to move from its initial location to a new location
while serving different users. For quadrotor drones, the rotors’ speeds are commonly considered
as control inputs. Therefore, in (4), we have V = [vmn (t)]M ×4 with vmn (t) being the speed of
rotor n of drone m at time t. The maximum speed of each rotor is vmax . In this case, one can
minimize the control time of the drones by properly adjusting the rotors’ speeds. In Section IV,
we will provide a detailed analysis of the control time given the drones’ dynamics.
Given this model, our goal is to minimize the total service time of drones by finding the
optimal locations of the drones with respect to the center of the array, as well as the optimal
control inputs. Our optimization problem, in its general form, is given by:
minimize
X,Y ,Z,V

L
X
i=1

qi
+ Ticrl (V , xi , y i , z i ),
Ri (xi , y i , z i )

st. dm+1 − dm ≥ Dmin , ∀m ∈ M\{M },
0 ≤ vmn (t) ≤ vmax , ∀m ∈ M, n ∈ {1, ..., 4},

(5)
(6)
(7)

where X, Y , and Z are matrices whose rows i are, respectively, vectors xi , y i , and z i , ∀i ∈ L.
The constraint in (6) indicates that the minimum separation distance between two adjacent drones
must be greater than Dmin to avoid collision. (7) represents the constraints on the speed of each
rotor. Note that, the first term in (5) represents the transmission time which depends on the
drones’ locations. The second term, Ticrl , is the control time which is a function of the rotors’

8

speeds as well as the drones’ locations. Solving (5) is challenging as it is highly nonlinear due
to (2). Moreover, as we can see from (3), the array factor is a complex function of the array
element’s positions. In addition, due to the nonlinear nature of quadrotor’s dynamic system,
finding the optimal control inputs is a challenging task, as will be discussed in Section IV.
We note that, considering a narrow-beam antenna array communication, (5) can be solved by
separately optimizing drones’ locations and rotors’ speeds. In the narrow-beam case, the drone
array must perfectly steer its beam towards each ground user. Hence, we can first determine
the optimal drones’ positions and, then, optimize the rotors’ speeds to move to these optimal
positions within a minimum time. Our approach for solving (5) includes two key steps. First,
given the location of any ground user, we optimize the locations of the drones in the linear array
to minimize the transmission time. As a result, given L ground users, we will have L sets of
drones’ locations. In the second step, using the result of the first step, we determine the drones’
optimal control strategy to update their locations within a minimum time. While, in general,
this approach leads to a suboptimal solution, it is analytically tractable and practically easy to
implement. Next, we will optimize the location of drones to achieve a minimum transmission
time for any arbitrary ground user.
III. O PTIMAL P OSITIONS OF D RONES IN A RRAY FOR T RANSMISSION T IME M INIMIZATION
In this section, we determine the optimal positions of the drones in the array based on the
location of each user such that the transmission time to the user is minimized. Clearly, given
(1), (2), and (4), to minimize the transmission time, we need to maximize the array gain (i.e.,
directivity) towards each ground user.
Without loss of generality, we consider an even number of drones. For an odd number of
drones, the same analysis will still hold. Now, the array factor for M drones located on the
x-axis of the Cartesian coordinate can be given by:
F (θ, φ) =

M
X

am ej[kxm sin θ cos φ+βm ]

m=1
(a)

=

M/2
X

an ej[kdn sin θ cos φ+βn ] + e−j[kdn sin θ cos φ+βn ]



n=1
(b)

=2

N
X
n=1

an cos (kdn sin θ cos φ + βn ),

(8)

9

where N = M/2, and dn is the distance of element n ∈ N = {1, 2, ..., N } from the center of
the array (origin). Also, (a) follows from the fact that the array is symmetric with respect to the
origin, and (b) is based on the Euler’s rule.
Now, we can maximize the directivity of the array by optimizing dn , ∀n ∈ N :
maximize
dn ,∀n∈N

4π|F (θmax , φmax )|2 w(θmax , φmax )2
,
R2π Rπ
2
2
|F (θ, φ)| w(θ, φ) sin θdθdφ

(9)

0 0

where (θmax , φmax ) are the polar and azimuthal angles at which the total antenna pattern F (θ, φ)w(θ, φ)
has a maximum value. Clearly, solving (9) is challenging due to the non-linearity and complex
expression of the objective function of this optimization problem. Moreover, this problem is
non-convex and, hence, cannot be exactly solved using classical convex optimization methods.
Next, we solve (9) by exploiting the perturbation technique [21]. In general, perturbation theory
aims at finding the solution of a complex problem, by starting from the exact solution of a
simplified version of the original problem [19]. This technique is thus useful when dealing with
nonlinear and analytically intractable optimization problems such as (9).
A. Perturbation Technique for Drone Spacing Optimization
To optimize the distance between drones, we first consider an initial value for the distance
of each drone from the origin. Then, we find the optimal perturbation value that must be added
to this initial value2 . Let d0n be initial distance of drone n from the origin, then, the perturbed
distance will be:

dn = d0n + en ,

(10)

where en << λ, with λ being the wavelength, is the perturbation value. Given (10), the array
factor can be approximated by:
F (θ, φ) = 2

N
X

an cos k(d0n + en ) sin θ cos φ + βn



n=1

=2

N
X

an cos





kd0n sin θ cos φ + βn + ken sin θ cos φ

n=1
N
(a) X

≈

2an cos kd0n sin θ cos φ + βn



n=1

2

We assume that the distance between adjacent drones is greater than the minimum distance required for collision avoidance.

10

−

N
X


2an ken sin θ cos φ sin kd0n sin θ cos φ + βn ,

(11)

n=1

where in (a) we used the trigonometric properties, and the fact that sin(x) ≈ x for small values
of x. Clearly, given en << λ, the numerator of (9) can be computed based on the values of d0n ,
∀n ∈ N . Hence, given d0n , our optimization problem in (9) can be written as:
Z2π Zπ
min
e

0

F (θ, φ)2 w(θ, φ)2 sin θdθdφ,

(12)

0

s.t. d0n+1 + en+1 − d0n − en ≥ Dmin , ∀n ∈ N \{N },

(13)

where e is the perturbation vector having elements en , n ∈ N .
For brevity, we define the following functions:
N
X

0
an cos kd0n sin θ cos φ + βn ,
F (θ, φ) =

(14)

n=1

Z2π Zπ
Iint (x) =

x sin θdθdφ.
0

(15)

0

Theorem 1. The optimization problem in (12) is convex, and the optimal perturbation vector is
the solution of the following system of equations:



e = G−1 [q + µL ],




0
0
µ
−
d
= 0, ∀n ∈ N \{N },
e
−
e
+
D
+
d
n
n
n+1
min
n+1
n




 µ ≥ 0, ∀n ∈ N \{N }.
n

(16)

where G = [gm,n ]N ×N is an N× N matrix with:
gm,n = Iint am an (k sin θ cos φw(θ, φ))2
× sin

kd0n



sin θ cos φ + βn sin

kd0m

sin θ cos φ + βm




,

and q = [qn ]N ×1 whose elements are given by:



0
0
qn = Iint an k sin θ cos φw(θ, φ)F (θ, φ) × sin kdn sin θ cos φ + βn .

(17)

(18)

In (16), µL is a vector of Lagrangian multipliers, whose element n is µL (n) = µn+1 − µn , with
µn being a Lagrangian multiplier associated with constraint n.
Proof: See Appendix A.

11

Using Theorem 1, we can update the distance of each drone from the origin as follows:
d1 = d0 + e∗ ,

(19)

where d1 = [d1n ]N ×1 , and d0 = [d0n ]N ×1 , n ∈ N .
Clearly, d1 leads to a better solution than d0 = [dn ]N ×1 . In fact, we can proceed and further
improve the solution to (12) by updating d1 . In particular, at step update r ∈ N, we find d(r) as
follows:

d(r) = d(r−1) + e∗(r) ,

(20)

where e∗(r) is the optimal perturbation vector at step r which is obtained based on d(r−1) .
Note that, at each step, the objective function in (12) decreases. Since the objective function is
monotonically decreasing and bounded from below, the solution converges after several updates.
We note that due to the approximation used in (11), the solution may not be a global optimal.
Nevertheless, as we can see from Theorem 1, it is analytically tractable and, hence, it has a low
computational complexity. Here, we use d∗ to represent the vector of nearly-optimal distances
of drones from the original of the array. Next, we use d∗ to determine the optimal 3D locations
of the drones that result in a maximum array directivity towards a given ground user.
B. Optimal Locations of Drones
Here, following from Subsection III-A, we derive the optimal 3D positions of drones that
yields a maximum directivity of the drone-based antenna array. Let (xui , yiu , ziu ) and (xo , yo , zo )
be, respectively, the 3D locations of user i ∈ L and the origin of the antenna array.
Without loss of generality, we translate the origin of our coordinate system to the origin of the
antenna array. In other words, we assume that the arrays’ center is the origin of our translated
coordinate system. In this case, the 3D location of user i will be (xui − xo , yiu − yo , ziu − zo ).
Subsequently, the polar and azimuthal angles of user i in the spherical coordinate (with an origin
of antenna array) are given by:

ziu



− zo
,
θi = cos−1  q
2
2
2
(xui − xo ) + (yiu − yo ) + (ziu − zo )


u
yi − yo
.
φi = sin−1  q
2
2
u
u
(xi − xo ) + (yi − yo )

Now, the optimal locations of the drones in the antenna array is given as follows.

(21)

(22)

12

z
d m*
Drone 1

Drone m
Drone M

y

x
Maximum
directivity

User i

max , max 

i , i 

Fig. 2: Illustrative figure for Theorem 2.
Theorem 2. The optimal locations of the drones for maximizing the directivity of the dronebased antenna array towards a given ground user will be:


T

if m ≤ M/2,
Rrot d∗m sin αo cos γo , d∗m sin αo sin βo , d∗m cos αo ,
T 

∗
∗
∗


=
xm , ym , zm
T


−Rrot d∗ sin αo cos γo , d∗ sin αo sin γo , d∗ cos αo , if m > M/2,
m
m
m
(23)
where αo and γo are the initial polar and azimuthal angles of drone m ≤ M/2 with respect to
the array’s center. Rrot is the rotation matrix for updating drones’ positions, given by:


2
ax ay (1 − δ) − λaz ax az (1 − δ) + λay 
 ax (1 − δ) + δ


(24)
Rrot = ax ay (1 − δ) + λaz
ay az (1 − δ) − λax ,
a2y (1 − δ) + δ


ax az (1 − δ) − λay ay az (1 − δ) + λax
a2z (1 − δ) + δ




sin θi cos φi 
sin θmax cos φmax 
√




where δ = kqi · qmax k, λ = 1 − δ 2 , qi =  sin θi sin φi , qmax =  sin θmax sin φmax .




cos θi
cos θmax

T
Moreover, ax , ay , and az are the elements of vector a = ax , ay , az = qi × qmax .
Proof: See Appendix B.
Using Theorem 2, we can find the optimal locations of the drones such that the directivity
of the drone-based antenna array is maximized towards any given ground user. Moreover, this
theorem can be used to dynamically update the drones’ positions for beam steering while serving
different ground users.

13

Algorithm 1 Optimizing drones’ locations for maximum array gain towards user i.
1: Inputs: Locations of user i, (xui , yiu , ziu ), and origin of array, (xo , yo , zo ).
∗
∗
2: Outputs: Optimal drones’ positions, (x∗m,i , ym,i
, zm,i
), ∀m ∈ M.

3: Set initial values for distance between drones, d.
4: Find e∗ by using (16)-(18).
5: Update d based on (19).
6: Repeat steps (4) and (5) to find the optimal spacing vector d∗ .
∗
∗
7: Use (21)-(58) to determine (x∗m , ym
, zm
), ∀m ∈ M.

Thus far, we have determined the optimal locations of the drones in the antenna array to
maximize the directivity of the array towards any given ground user. Therefore, the data rate is
maximized and, hence, the transmission time for serving the user is minimized. In Algorithm 1,
we have summarized the key steps needed for optimizing the locations of drones with respect
to the center of the array.
Hence, using Algorithm 1, we can determine the optimal locations of the array’s drones with
respect to each ground user. To serve multiple users spread over a given geographical area,
the drones must dynamically move between these determined optimal locations. This, in turn,
yields a control time for drone movement that must be optimized. From (5), we can see that
the service time decreases by reducing the control time. Therefore, next, using the determined
drones’ locations in Section III, we minimize the control time of the drones.
IV. T IME -O PTIMAL C ONTROL OF D RONES
Here, our goal is to minimize the control time that the drones spend to move between the
optimal locations which are determined in Section III. In particular, we derive the optimal rotors’
speeds for which the quadrotor drones can move and stabilize their positions within a minimum
time. Moreover, we account for wind effects while analyzing the drones’ stability in the proposed
drone-based antenna array system.
We note that, there exist a notable number of studies on time-optimal motion planning [24]–
[27]. However, most of the previous works do not address the time-optimal control problem
of quadrotor drones. While the authors in [27] consider a quadrotor drone in their model, they
ignore the effect of external forces on the control time. Furthermore, the approach in [27] is
based on a genetic algorithm which is computationally demanding. Unlike our work, the work

14

v2
v1
l

v3

Rotor 1

z

mD g

v4

x
y

Fig. 3: A quadrotor drone.
in [27] ignores the communication aspects of drones, and does not capture the impact of control
time on the performance of drone-enabled wireless networks. Next, we present the dynamics of
quadrotor drones which will be used to analyze our time-optimal control problem.
A. Dynamic Model of a Quadrotor Drone
Fig. 3 shows an illustrative example of a quadrotor drone. This drone has four rotors that can
control the hovering and mobility of the drone. In particular, by adjusting the speed of these
rotors, the drone can hover and move horizontally or vertically. Let (x, y, z) be the 3D position
of the drone. Also, we use (ψr , ψp , ψy ) to represent the roll, pitch, and yaw angles that capture
the orientation (i.e., attitude) of the drone. The speed of rotor i ∈ {1, 2, 3, 4} is given by vi . For
a quadrotor drone, the total thrust and torques that lead to the roll, pitch, and yaw movements
are related to the rotors’ speeds by [28]:

 


Ttot
ρ1
ρ1
ρ1 ρ1
v12

 


 κ   0
  v2 
−lρ
0
lρ
1
1
1

 
 2 

=

,
2 
 κ2   −lρ1


0
lρ
0
v
1

 
 3 
κ3
−ρ2
ρ2 −ρ2 ρ2
v42

(25)

where Ttot is the total thrust generated by the rotors, κ1 , κ2 , and κ3 are the torques for roll, pitch
and yaw movements. ρ1 and ρ2 are lift and torque coefficients, and l is the distance from each
rotor to the center of the drone.
Now, using a model presented in [27], we write the dynamic equations of a quadrotor drone
in presence of an external wind force as follows3 :
3

Note that, here, drag coefficients are assumed to be negligible.

15

Ttot
FW
+ x ,
mD mD
FyW
Ttot
ÿ = (cos ψr sin ψp sin ψy + sin ψr cos ψy )
+
,
mD mD
Ttot
FW
z̈ = (cos ψr cos ψp )
−g+ z ,
mD
mD
κ2
ψ̈r = ,
Ix
κ1
ψ̈p = ,
Iy
κ3
ψ̈y = ,
Iz
ẍ = (cos ψr sin ψp cos ψy + sin ψr sin ψy )

(26)
(27)
(28)
(29)
(30)
(31)

where mD is the mass of the drone, and g is the gravity acceleration. FxW , FyW , and FzW are
the wind forces in positive x, y, and z directions. Also, Ix , Iy , Iz are constant values which
represent the moments of inertia along x, y, and z directions.
Given the dynamic model of the drone, we aim to find the optimal speeds of the rotors such
that the drone moves from an initial location (xI , yI , zI ) to a new location (xD , yD , zD ) within a
minimum time duration. Under such optimal control inputs (i.e., rotors’ speed), the time needed
for each UAV to update its location based on the users’ locations will be minimized. Note that
the drone must be stationary at its new location and it does not move in x, y, or z direction.
Let (x(t), y(t), z(t)) and (ψr (t), ψp (t), ψy (t)) be the 3D location and orientation of the drone at
time t ∈ [0, TI,D ], with TI,D being the total control time for moving from location I to location
D. Now, we can formulate our time-optimal control problem for a drone, moving from location
I to location D, as follows:

minimize
[v1 (t),v2 (t),v3 (t),v4 (t)]

TI,D ,

st. |vi (t)| ≤ vmax , ∀i ∈ {1, ..., 4},

(32)
(33)

(x(0), y(0), z(0)) = (xI , yI , zI ) ,

(34)

(x(TI,D ), y(TI,D ), z(TI,D )) = (xD , yD , zD ) ,

(35)

(ẋ(TI,D ), ẏ(TI,D ), ż(TI,D )) = (0, 0, 0) ,

(36)

where [v1 (t), v2 (t), v3 (t), v4 (t)] represents the rotors’ speeds at time t. In (33), vmax is the
maximum possible speed of each rotor. Constraints (34) and (35) show the initial and final
location of the drone, (36) indicates that the drone will be stationary at its final location. Here,
without loss of generality, we assume (ψr (0), ψp (0), ψy (0)) = (0, 0, 0). Note that, in (5), the

16

control time for serving user i, Ticrl , is equal to the maximum control time among the drones
that update their positions according to the user. In this case, the initial and final locations of
each drone are determined based on Algorithm 1.
Our problem in (32) is difficult to solve due to its non-linear nature, and coupled relation of
the dynamic system parameters as well as the infinite number of optimization variables given
the continuous time interval [0, TI,D ]. Consequently, in general, the exact analytical solution to
such nonlinear time-optimal control problem may not be explicitly derived as pointed out in
[27] and [26]. In such case, one needs to use tractable and computationally feasible methods to
solve time-optimal control problems. To provide a tractable solution to our time-optimal control
problem in (32), we decompose the movements and orientation changes of drones. In particular,
we minimize the time durations needed for orientation adjustment and displacement of the drone,
separately. While this approach yields a suboptimal solution, it can be used to derive a closedform expression for the control inputs (i.e., rotors’ speeds) in (32) and, thus, it is remarkably
easy to implement. In addition, the computational time, which is a key constraint in wireless
drone systems, can be significantly reduced.
Now, we aim to derive the optimal speeds of rotors for which the drone can update its locations
within a minimum time duration. To this end, we first present the following lemma from control
theory [20] which will be then used to derive the optimal rotors’ speeds.
Lemma 1. (From [20]): Consider the state space equations for an object within time duration
[0, T ]:
ẋ(t) = Ax(t) + bu(t), umin ≤ u(t) ≤ umax ,

(37)

x(0) = x1 ,

(38)

x(T ) = x2 ,

(39)

where x(t) ∈ RNs is the state vector of the object at time t ∈ [0, T ], Ns is the number of state’s
elements. u(t) is a bounded control input with umax and umin being its maximum and minimum
values. A ∈ RNs ×Ns and b ∈ RNs are given constant matrices. x1 and x2 are the initial and
final state of the object. Then, the optimal control input that leads to a minimum state update

time T ∗ is given by [20]:

umax , t ≤ τ,
∗
u (t) =
(40)

umin ,
t > τ,

17

Location D

Drone s center

z
Polar

x

Azimuthal

y

Fig. 4: Drone’s movement in presence of an external force.
where τ is called the switching time at which the control input changes. In this case, the control
time decreases by increasing umax and/or decreasing umin .
Lemma 1 provides the solution to the time-optimal control problem for a dynamic system
which is characterized by (37)-(39). In particular, the optimal control solution given in (40) is
refereed to as bang-bang solution [20]. In this case, the optimal control input is always at its
extreme value (i.e. maximum or minimum). Next, we provide a new lemma (Lemma 2) which
will be used along with Lemma 1 to solve (32).
Lemma 2. Consider a drone that needs to move towards a given location D (as shown in Fig.4),
with a coordinate P D = (xD , yD , zD ), in presence of an external force F ex = (Fex,x , Fex,y , Fex,z ).
The drone’s orientation that leads to a movement with the maximum acceleration towards P D
will be:
ψpD

−1

= cos

ψrD = tan−1
ψyD = 0,




A cos θD − |F ex | cos θex
,
F

tan β × sin ψpD ,

(41)
(42)
(43)

where
i1/2
i


h
h
D −φex )
,
, β = φD −sin−1 |F ex | sinFθexsinsin(φ
A = F 2 + |F ex |2 + 2F |F ex | cos γ + sin−1 |FFex | sin γ
ψpD


.P D
γ = cos−1 |FFexex||P
, and F is the magnitude of the maximum force of the drone. |F ex | repreD|



 

Fex,z
−1 Fex,y
−1 yD
,
φ
=
tan
,
sents the magnitude of vector F ex , θex = cos−1 |F
,
φ
=
tan
ex
D
Fex,x
xD
ex |


and θD = cos−1 |PzDD | .
Proof: See Appendix C.
Lemma 2, can be used to determine the optimal orientation of the drone that enables it to
move towards any given location in presence of external forces. Next, using Lemmas 1 and 2,
we derive the speed of each drone’s rotor for which the control time is minimized. In this case,

18

we find the rotors’ speeds at several pre-defined stages in which the drone updates its position
or ordination.
Theorem 3. The optimal speeds of rotors with which a drone can move from location (0, 0, 0),
and (0, 0, 0) orientation, to location (xD , yD , zD ) within a minimum



v2 = 0, v1 = v3 = √12 vmax , v4 = vmax ,
if






v4 = 0, v1 = v3 = √1 vmax , v2 = vmax ,
if
2
Stage 1:


v1 = 0, v2 = v4 = √12 vmax , v3 = vmax ,
if






v3 = 0, v2 = v4 = √1 vmax , v1 = vmax ,
if
2
Stage 2: v1 = v2 = v3 = v4 = vmax , if τ4



v2 = 0, v1 = v3 = √12 vmax , v4 = vmax ,






v4 = 0, v1 = v3 = √1 vmax , v2 = vmax ,
2
Stage 3:


v1 = 0, v2 = v4 = vmax , v3 = vmax ,






v3 = 0, v2 = v4 = √1 vmax , v1 = vmax ,
2
Stage 4: v1 = v2 = v3 = v4 = vmax , if τ9



v2 = 0, v1 = v3 = √12 vmax , v4 = vmax ,






v4 = 0, v1 = v3 = √1 vmax , v2 = vmax ,
2
Stage 5:

1


v1 = 0, v2 = v4 = √2 vmax , v3 = vmax ,




v3 = 0, v2 = v4 = √1 vmax , v1 = vmax ,
2

control time are given by:
0 < t ≤ τ1 ,
τ1 < t ≤ τ2 ,

(44)

τ2 < t ≤ τ3 ,
τ3 < t ≤ τ4 .

< t ≤ τ5 .

(45)

if τ5 < t ≤ τ6 ,
if τ6 < t ≤ τ7 ,

(46)

if τ7 < t ≤ τ8 ,
if τ8 < t ≤ τ9 .

< t ≤ τ10 .

(47)

if τ10 < t ≤ τ11 ,
if τ11 < t ≤ τ12 ,

(48)

if τ12 < t ≤ τ13 ,
if τ13 < t ≤ τ14 .

Stage 6: v1 = v2 = v3 = v4 = vF , if t > τ14 .
Also, the total control time of the drone can be given by:
s
s
s
r
m
∆ψp,3 Iy
mD 
2 h ∆ψp,1 Iy
∆ψr,1 Ix
D
TI,D = 2dD
−
+
+
+
As2
As4
vmax
lρ1
lρ1
lρ1
s
s
s
∆ψp,5 Iy
∆ψr,3 Ix
∆ψr,5 Ix i
+
+
+
,
lρ1
lρ1
lρ1

(49)

(50)

where vmax , vin , and vF are, respectively, the maximum, the initial, and the final speeds of rotors.
mD is the drone’s mass, ∆ψr,i and ∆ψp,i are the roll and pitch changes in Stage i. dD is the

19

Algorithm 2 Steps for minimizing the service time by solving (5).
1: Inputs: Locations of users, (xui , yiu , ziu ), ∀i ∈ L, and origin of array, (xo , yo , zo ).
∗
∗
2: Outputs: Optimal drones’ positions, (x∗m,i , ym,i
, zm,i
), rotors’ speeds, vmn (t), ∀m ∈ M, ∀i ∈ L, n ∈ {1, ..., 4},

and total service time.
∗
∗
3: Using Algorithm 1, find the optimal locations of drones with respect to each user, (x∗m,i , ym,i
, zm,i
).

4: Using Theorem 3 and Lemma 2, for each drone, determine the rotors’ speeds for moving from
∗
∗
∗
∗
(x∗m,i−1 , ym,i−1
, zm,i−1
) to (x∗m,i , ym,i
, zm,i
).

5: Compute the total service time based on (5), (32), and (50).

distance between the initial and final locations of the drone. τ1 , ..., τ14 are the switching times
at which the rotors’ speeds changes. The values of switching times and vF are provided in the
proof of this theorem.
Proof: See Appendix D.
In Theorem 3, Stages 1, 3, and 5 correspond to the orientation changes, Stages 2 and 4 are
related to the drone’s displacement, and Stage 6 represents the drone’s stability condition. Note
that vF is adjusted such that the drone’s stability is ensured at its final location. In (50), As2 and
As4 are, respectively, the total forces towards the drone’s destination at Stages 2 and 4.
Using Theorem 3, we can find the speeds of the rotors (at different time instances) that enable
each to move towards its destination within a minimum time. In this case, the control time
depends on the destination of the drone, external forces (e.g. wind and gravity), the rotors’
speed, and the drone’s weight.
In summary, our approach for minimizing the service time, which is composed of the transmission time and the control time, is as follows. In the first step, using the approach in Section III,
we minimize the transmission time for each ground user by optimizing the positions of drones
with respect to the ground users. Then, based on these determined optimal drones’ locations,
we minimize the control time needed for adjusting the movement and orientations of drones. In
Algorithm 2, we summarize our approach for minimizing the service time by solving (5).
V. S IMULATION R ESULTS AND A NALYSIS
For our simulations, we consider a number of ground users uniformly distributed within a
square area of size 1 km × 1 km. Unless stated otherwise, the number of users is 100, and the

20

35

Drone antenna array
Multi−drones

Service time (min)

30
25
20
15
Gain

10
5
0

2

4
6
Bandwidth (MHz)

8

10

Fig. 5: Service time vs. bandwidth for the drone antenna-array and multi-drones cases.
number of drones4 that form a linear array is assumed to be 10. The main simulation parameters
are given in Table I. We compare the performance of our drone-based antenna array system
with a case in which the same number of drones are deployed separately to serve ground users
(hereinafter, this case is referred to as multi-drones). In the multi-drone scenario, multiple drones
are separately deployed based on a grid-based deployment. In this case, each drone serves its
associated ground users which are determined based on the minimum distance association rule.
For the multi-drones case, we do not consider any control time. All statistical results are averaged
over a large number of independent runs.
Fig. 5 shows the total service time for the drone antenna array and the multi-drone case. Fig. 5
shows that, for a given bandwidth, our proposed drone antenna array outperforms the multi-drone
case in terms of service time. This is because, in the proposed approach, the drones’ locations
are adjusted such that the array antenna gain towards each user is maximized, hence reducing the
transmission time. Fig. 5 also shows the tradeoff between bandwidth and service time. Clearly,
the service time decreases by using more bandwidth which effectively provides a higher data
rate. Fig. 5 shows that the drone antenna array improves spectral efficiency compared to the
multi-drones case. For instance, to achieve 10 minutes of service time, the drone antenna array
will require 48% less bandwidth than in the multi-drones scenario.
In Fig. 6, we show the impact of the number of users on the service time. Clearly, the service
time increases as the number of users increases. For a higher number of users, the drones
4

In our simulations, each drone in the array has an omni-directional antenna, as in [16], [17].

21

120

Service time (min)

100

Multi−drones
Drone antenna array

80
60
40
20
0
0

100

200

300

400

500

600

700

Number of users

Fig. 6: Service time vs. number of users for the drone antenna array and multi-drones cases (for 2MHz
bandwidth).

must deliver a higher data service which results in a higher transmission time. Moreover, in the
drone antenna array case, the control time also increases while increasing the number of users.
Fig. 6 shows that our proposed drone antenna array system outperforms the multi-drones case
for various number of users. For instance, using our approach, the average service time can be
reduced by 20 min (or 30%) while serving 400 users. Hence, compared to the multi-drones case,
the drones need to fly for 20 min less in order to service the ground users. Meanwhile, the users
can receive faster wireless services while exploiting the proposed drone antenna array system.
Fig. 7 shows how the control, transmission, and service times resulting from the proposed
approach for different numbers of drones in the array. As the number of drones increases, the
control time increases. In contrast, the transmission time (for 10 MHz bandwidth) decreases due
to the increase of the array gain. Fig. 7 shows that, by increasing the number of drones from 10
to 30, the average control time increases by 20% while the average transmission time decreases
by 36%. Therefore, there is a tradeoff between the transmission time and the control time as a
function of the number of drones in the array. In this figure, the decrease in the transmission time
is more than the additional control time and, thus, the total service time decreases by increasing
the number of drones.
In Fig. 8, we show how the number of users impacts the control time. As we can see from
this figure, the control time increases while serving more users. This is due to the fact that, for
a higher number of users, the drone-array must move more in order to steer its beam toward
the users. The control time can be reduced by increasing the maximum speed of the rotors,
which is in agreement with Theorem 3. For instance, increasing the maximum rotors’ speed

22

Control time
Transmission time
Service time

300

Time (s)

250
200
150
100
50

6

10

14

18

22

26

30

Number of drones

Fig. 7: Control, transmission, and service times vs. number of drones.
20
Total control time (min)

18
16

vmax = 300 rad/s
vmax = 500 rad/s

14
12
10
8
6
4
2
0

100

200
300
Number of users

400

500

Fig. 8: Total control time vs. number of users.
from 300 rad/s to 500 rad/s yields around 35% control time reduction when serving 200 users.
Fig. 9 represents the speeds of the rotors needed to ensure the drone’s stability in presence of
wind, obtained using (77). Clearly, the drone is stable when its total force which is composed
−
of the wind force, gravity, and the drone force is zero. For Fwind = |Fwind |→
x , the rotor’s speed


−
−
−
must increase as the wind force increases. In the Fwind = |Fwind | √13 →
x + √13 →
y + √13 →
z case,
however, the rotor’s speed first decreases, and then increases. This is because, when |Fwind | ≤ 3 N,
the wind force helps hovering the drone by compensating for the gravity. Hence, the drone’s
force can be decreased by decreasing the speed of its rotors. For |Fwind | > 3 N, the rotor’s speed
start increasing such that the total force on the drone becomes zero. This result also implies that,
in some cases (depending on the magnitude and direction of wind), wind can facilitate hovering
of the drone by overcoming the gravity force. However, in case of strong winds, the drone’s

23

Speed of each rotor (rad/s)

320
300

−
Fwind = |Fwind |→
x
1
→
Fwind = |Fwind | √13 −
x +

→
√1 −
y
3

+

→
√1 −
z
3

2

280
260
240
220
200
180
0

2

4

6

8

10

Wind force magnitude (N)

Fig. 9: Speed of each rotor vs. wind force under the drone’s stability condition.
Table I: Main simulation parameters.
Parameter

Description

Value

fc

Carrier frequency

700 MHz

Pi

Drone transmit power

0.1 W

No

Total noise power spectral density

-160 dBm/Hz

N

Number of ground users

100

(xo , yo , zo )

Array’s center coordinate

(0,0,100) in meters

qi

Load per user

100 Mb

α

Pathloss exponent

3

Ix , Iy

Moments of inertia

4.9 × 10−3 kg.m2 [29]

mD

Mass of each drone

0.5 kg

l

Distance of a rotor to drone’s center

20 cm

ρ1

lift coefficient

2.9 × 10−5 [29]

βm − βm−1

Phase excitation difference for two adjacent antennas

π
5(M −1)

stability may not be guaranteed by adjusting the speed of the rotors. This is because the drone
force, which is limited by the maximum rotors’ speeds, cannot overcome the external forces
induced by wind and gravity forces.
VI. C ONCLUSION
In this paper, we have proposed a novel framework for employing a drone-enabled antenna
array system that can provide wireless services to ground users within a minimum time. To this
end, we have minimized the transmission time as well as the control time needed for changing
the locations and orientations of the drones. First, we have optimized the positions of drones
(as the array elements) within the antenna array such that the transmission time for each user is
minimized. Next, given the determined locations of drones, we have minimized the control time

24

of the quadrotor drones by optimally adjusting the rotors’ speeds. Our results have shown that the
proposed drone antenna array with the optimal configuration yields a significant improvement in
terms of the service time, spectral and energy efficiency. In addition, our results have revealed
key design guidelines and fundamental tradeoffs for leveraging in an antenna array system. To
our best knowledge, this is the first comprehensive study on the joint communications and control
of drone-based antenna array systems.
A PPENDIX
A. Proof of Theorem 1
First, we find F 2 (θ, φ) by using (11):
" N
#2
X



2
F 2 (θ, φ) = 2F 0 (θ, φ) + 2
an ken sin θ cos φ sin kd0n sin θ cos φ + βn
n=1

− 8F 0 (θ, φ)

N
X


an ken sin θ cos φ sin kd0n sin θ cos φ + βn .

n=1

Subsequently, our objective function in (12) can be written as:



Iint F 2 (θ, φ)w2 (θ, φ) = 4 eT Ge − 2eT q + Iint F02 (θ, φ)w2 (θ, φ) ,

(51)

where G and q are given in (17) and (18). Clearly, (51) is a quadratic function of e. Therefore,
(51) is convex if and only if G is a positive semi-definite matrix. Given (17), we have:
N
N
X
X
T
y Gy =
yn
ym gm,n .
n=1

(52)

m=1

Now, in (17), let us define

zn = an k sin θ cos φw(θ, φ) sin kd0n sin θ cos φ + βn ,
then, using (52), we have:

"
y T Gy = Iint 

N
X

(53)

#2 
zn yn

.

(54)

n=1

In (15), we can see that Iint (x) ≥ 0 for x ≥ 0. Hence, from (54), we can conclude that y T Gy ≥ 0.
Therefore, G is positive semi-definite and the objective function in (12) is convex. Moreover,
the constraints in (13) are affine functions which are convex. Hence, this optimization problem
is convex. Now, we find the optimal perturbation vector e by using Karush-Kuhn-Tucker (KKT)
conditions. The Lagrangian function will be:
−1
X
 N

L = eT Ge − 2eT q + Iint F02 (θ, φ)w2 (θ, φ) +
µn en − en+1 + Dmin + d0n − d0n+1 , (55)
n=1

25

where µn ≥ 0, n = 1, ..., N − 1 are the Lagrange multipliers.
The necessary and sufficient (due to the convexity of the problem) KKT conditions for finding
the optimal perturbation vector e are given by:
∇e [L] = 0,

(56)

which leads to e = G−1 [q + µL ], with µL being a (N − 1) × 1 vector whose element n is
µL (n) = µn+1 − µn . Based on the complementary slackness conditions, we have:



 µn en − en+1 + Dmin + d0 − d0
= 0, ∀n ∈ N \{N },
n

n+1

(57)


 µn ≥ 0, ∀n ∈ N \{N }.
Finally, the optimal perturbation vector, e∗ , can be determined by solving (56) and (57). This
proves the theorem.
B. Proof of Theorem 2
In Subsection III-A, we have derived the optimal distance of drones from the origin that leads
to a maximum array directivity. First, we consider an initial (or arbitrary) orientation, as shown
in Figure 2. Let d∗m be the optimal distance of drone m ≤ M/2 from the array’s center, αo
and γo be the initial polar and azimuthal angles of the drone. Based on the considered drones’


locations, let (θmax , φmax ) = argmax F (θ, φ)w(θ, φ) be a direction at which the directivity of the
array is maximized. Our goal is to achieve the maximum directivity at a given direction (θi , φi )
corresponding to user i. Therefore, we need to change the locations of the drones such that
θi = θmax , and φi = φmax . To this end, we align the unit vector (1, θmax , φmax ) with (1, θi , φi ) in
the spherical coordinate and, then, we update the drones’ positions accordingly. In the Cartesian
T

coordinate system, we need to rotate vector qmax = sin θmax cos φmax , sin θmax sin φmax , cos θmax

T
such that it becomes aligned with qi = sin θi cos φi , sin θi sin φi , cos θi .

T
The rotation matrix for rotating a vector u about another vector a = ax , ay , az , with a ω
rotation angle, is [30]:


2
a
(1
−
cos
ω)
+
cos
ω
a
a
(1
−
cos
ω)
−
a
sin
ω
a
a
(1
−
cos
ω)
+
a
sin
ω
x y
z
x z
y
 x



2
Rrot =ax ay (1 − cos ω) + az sin ω
ay (1 − cos ω) + cos ω
ay az (1 − cos ω) − ax sin ω ,


2
ax az (1 − cos ω) − ay sin ω ay az (1 − cos ω) + ax sin ω
az (1 − cos ω) + cos ω
(58)
In our problem, the rotation between qmax and qi can be done about the normal vector of these
vectors, with the rotation angle being the angle between qmax and qi . Hence, based on the

26

dot-product and cross-product of vectors, we use a = qi × qmax , and ω = cos−1 (qi · qmax )
to find the rotation matrix in (58). Now, we update the locations of drones using the rotation
matrix. Clearly, for m ≤ M/2, the initial location of drone m in the Cartesian coordinate is

T
∗
∗
∗
dm sin αo cos γo , dm sin αo sin βo , dm cos αo . As a result, the optimal locations of drones for
serving user i is given by:

T

T
∗
∗
= Rrot d∗m sin αo cos γo , d∗m sin αo sin βo , d∗m cos αo , if m ≤ M/2.
x∗m , ym
, zm

(59)

Finally, due to the symmetric configuration of the antenna array about the origin, the optimal
locations of drones m when m > M/2 are as follows:

T

T
∗
∗
∗
∗
∗
∗
xm , ym , zm = −Rrot dm sin αo cos γo , dm sin αo sin βo , dm cos αo , if m ≤ M/2.

(60)

This completes the proof.
C. Proof of Lemma 2
To maximize the drone’s acceleration towards the given location D, we need to maximize
the total force in the direction of P D . Considering the center of the drone as the origin of the
Cartesian and spherical coordinate systems, we can present the vectors of forces and the movement as in Fig. 4. In this figure, based on the Cartesian-to-spherical coordinates transformation,


Fex,z
,
the polar and azimuthal angles in the spherical coordinate are given by θex = cos−1 |F
ex |



 

ex,y
φex = tan−1 FFex,x
, φD = tan−1 xyDD , and θD = cos−1 |PzDD | . Let α and β be, respectively,
the polar and azimuthal angles of the drone’s force. Here, we seek to determine α and β such
that the drone can move towards location D with a maximum acceleration (i.e., maximum total
force). In this case, the total force F ex + F must be in the same direction as P D . Let γ be the
angle between F and P D , and q be the angle between F ex and P D . To ensure that F ex + F is
in the direction of P D , we should have:
|F ex | sin γ = |F | sin q = F sin q.
Also, using the inner product formula, γ is given by:


F ex · P D
−1
.
γ = cos
|F ex ||P D |

(61)

(62)

As a result, q will be:
−1

q =sin






|F ex |
F ex .P D
−1
sin cos
.
|F |
|Fex ||PD |

(63)

27

Now, based on the law of cosines, the total force magnitude is equal to:



1/2
|F ex |
∆
2
2
−1
A = |F ex + F | = F + |F ex | + 2F |F ex | cos γ + sin
sin γ
.
F
By projection (F ex + F ), F ex , and F on z-axis and x − y plane, we have:
A cos θD = |F ex | cos θex + F cos α,
|F ex | sin θex sin (φD − φex ) = F sin α sin (φD − β) .
Subsequently, we obtain α and β as follows:


−1 A cos θD − |F ex | cos θex
,
α = cos
F


−1 |F ex | sin θex sin (φD − φex )
β = φD − sin
.
F sin ψpD

(64)

(65)
(66)

(67)
(68)

Finally, considering the fact that the drone’s force is perpendicular to its rotors’ plane, as well
as using the transformation between body-frame and earth-frame, the drone’s orientation can be
given by5 :


ψpD = α, ψrD = tan−1 tan β × sin ψpD , ψyD = 0,

(69)

which proves Lemma 2.
D. Proof of Theorem 3
Let s(t) be the distance that the drone moves towards destination D at time t. We define state
g(t) = [s(t), ṡ(t)]T , and provide the following equation:


 
0 1
0
 g(t) +   aD (t),
ġ(t) = 
0 0
1

(70)

where amin ≤ aD (t) ≤ amax is the drone’s acceleration towards D, with amin and amax being
the minimum and maximum values of aD (t). Clearly, the drone can reach the destination and
stop at D within duration T , if g(T ) = [0, 0]T . Based on Lemma 1, T is minimized when

amax , 0 < t ≤ τ,
aD (t) =
. Now, we find τ by using kinematic equations that describe an

amin ,
τ < t ≤ T.
object’s motion. Let dD be the distance between the initial and the final locations of the drone.
Clearly, the drone’s displacement until t = τ is equal to

1
a τ 2.
2 max

During τ < t ≤ T , the

displacement will be 21 amin (T − τ )2 + amax τ (T − τ ). Hence, the total drone’s disparagement is:
5

Note that, we consider (0, 0, 0) as the initial drone’s orientation. Here, to change the orientation, we first update the pitch

angle and, then, we update the roll angle.

28

1
1
dD = amax τ 2 + amin (T − τ )2 + amax τ (T − τ ).
2
2

(71)

Also, considering the fact that drone stops (i.e. zero speed) at t = T , we have:
amax τ + amin (T − τ ) = 0,

(72)

According to (71) and (72), the total control time, T , and the switching time can be found by:
r
1
1
T = 2dD (
−
),
(73)
amax amin
amin
T.
(74)
τ=
amin − amax
As we can see from (73), T can be minimized by maximizing amax and minimizing amin .
To this end, we will adjust the drone’s orientation as well as the rotors’ speeds. Each drone’s
orientation can be determined by using Lemma 2. Also, given (25)-(28), we can show that the
optimal speeds of the rotors are v1 = v2 = v3 = v4 = vmax .
To adjust the drone’s orientation within a minimum time, we minimize the time needed for
the pitch and roll updates. Using a similar approach as in (70), and considering (25), (29), (30),
and zero yaw angle (i.e. v22 + v42 = v12 + v32 ), the optimal rotors’ speeds can be given by:


v2 = 0, v1 = v3 = √1 vmax , v4 = vmax ,
if 0 < t ≤ τ1 ,
2
positive change of pitch angle:
(75)

v4 = 0, v1 = v3 = √1 vmax , v2 = vmax ,
if
τ
<
t
≤
τ
,
1
2
2

positive change of roll angle:



v1 = 0, v2 = v4 =

√1 vmax , v3
2

= vmax ,

if τ2 < t ≤ τ3 ,


v3 = 0, v2 = v4 =

√1 vmax , v1
2

= vmax ,

if τ3 < t ≤ τ4 ,

(76)

Therefore, in the first Stage, the drone changes its orientation such that it can move towards D in
presence of external forces (e.g., gravity and wind). In the second Stage, the drone moves with a
maximum acceleration. In Stage 3, the drone’s orientation changes to minimize the acceleration
towards D. In Stage 4, the drone moves with a minimum acceleration. In Stages 5 and 6, the
drone’s orientation and the rotors’ speeds are adjusted to ensure the stability of drone at D.
Clearly, the drone will be stable when its total force, A given in (64), is zero. Hence, we must
have F = |F ext |. Now, using (25) with Ttot = |F ext |, the rotors’ speed in the stable stage (i.e.,
s
Stage 6) will be:
|F ext |
vF =
.
(77)
4ρ1
The rotors’ speed in Stages 1-6 are given in (44)-(49).

29

In order to find the switching times, we use the dynamic equations of the drone given in (2529). For instance, in Stage 1, the time needed for a ∆ψp,1 pitch angle change can be obtained
using (25) and (29). In this case, given the rotors’ speed in (44), and the dynamic equations of
s
the drone, we can find τ1 and τ2 as:
∆ψp,1 Iy
1
,
(78)
τ1 =
vmax
lρ1
τ2 = 2τ1 .

(79)

where ∆ψp,1 is the change of pitch angle at Stage 1. Likewise, τ3 and τ4 can also be determined.
In Stage 2, the time needed for moving within a ds2 distance is given by:
r
2ds2 As2
,
ts2 =
mD

(80)

where As2 is the total force towards the drone’s destination at Stage 2 which can be determined
using (64). Subsequently, we can find the switching time by τ5 = τ4 + ts2 .
The switching times in Stages 3-5 can be determined by adopting the similar approach used
in Stages 1 and 2. Note that, τ14 represents the total control time the drone, which can be
determined based on (73) and (79) as follows:
r
m
mD 
D
−
+ T O,
TI,D = τ14 = 2dD
As2
As4

(81)

where As4 is the total force on the drone as Stage 4. T O is the total control time needed for the
orientation changes in Stages 1,3, and 5, given by:
s
s
s
s
s
s
h ∆ψ I
∆ψ
I
∆ψ
I
2
∆ψ
I
∆ψ
I
∆ψr,5 Ix i
p,1
y
p,3
y
p,5
y
r,1
x
r,3
x
TO =
.
+
+
+
+
+
vmax
lρ1
lρ1
lρ1
lρ1
lρ1
lρ1
where ∆ψp,i , ∆ψr,i are the pitch and roll changes in Stage i. This completes the proof.
R EFERENCES
[1] D. Orfanus, E. P. de Freitas, and F. Eliassen, “Self-organization as a supporting paradigm for military UAV relay networks,”
IEEE Communications Letters, vol. 20, no. 4, pp. 804–807, Apr. 2016.
[2] M. Mozaffari, W. Saad, M. Bennis, and M. Debbah, “Unmanned aerial vehicle with underlaid device-to-device communications: Performance and tradeoffs,” IEEE Transactions on Wireless Communications, vol. 15, no. 6, pp. 3949–3963, June
2016.
[3] M. Alzenad, A. El-Keyi, and H. Yanikomeroglu, “3D placement of an unmanned aerial vehicle base station for maximum
coverage of users with different QoS requirements,” IEEE Wireless Communications Letters, Early access, 2017.
[4] Q. Wu, Y. Zeng, and R. Zhang, “Joint trajectory and communication design for UAV-enabled multiple access,” available
online: https://arxiv.org/abs/1704.01765, 2017.
[5] S. Jeong, O. Simeone, and J. Kang, “Mobile edge computing via a UAV-mounted cloudlet: Optimal bit allocation and
path planning,” IEEE Transactions on Vehicular Technology, to appear, 2017.

30

[6] V. Sharma, R. Sabatini, and S. Ramasamy, “UAVs assisted delay optimization in heterogeneous wireless networks,” IEEE
Communications Letters, vol. 20, no. 12, pp. 2526–2529, Dec. 2016.
[7] I. Bor-Yaliniz and H. Yanikomeroglu, “The new frontier in RAN heterogeneity: Multi-tier drone-cells,” IEEE Communications Magazine, vol. 54, no. 11, pp. 48–55, Nov. 2016.
[8] P. Yang, X. Cao, C. Yin, Z. Xiao, X. Xi, and D. Wu, “Proactive drone-cell deployment: Overload relief for a cellular network
under flash crowd traffic,” IEEE Transactions on Intelligent Transportation Systems, vol. 18, no. 10, pp. 2877–2892, Oct.
2017.
[9] M. Mozaffari, W. Saad, M. Bennis, and M. Debbah, “Efficient deployment of multiple unmanned aerial vehicles for optimal
wireless coverage,” IEEE Communications Letters, vol. 20, no. 8, pp. 1647–1650, Aug. 2016.
[10] “AT&T
detail
network
testing
of
drones
in
football
stadiums,”
available
online:
https://www.androidheadlines.com/2016/09/att-detail-network-testing-of-drones-in-football-stadiums.html.
[11] M. M. Azari, F. Rosas, K. C. Chen, and S. Pollin, “Joint sum-rate and power gain analysis of an aerial base station,” in
Proc. of IEEE Global Communications Conference (GLOBECOM) Workshops, Washington, DC, Dec. 2016.
[12] J. Lyu, Y. Zeng, R. Zhang, and T. J. Lim, “Placement optimization of UAV-mounted mobile base stations,” IEEE
Communications Letters, vol. 21, no. 3, pp. 604–607, March 2017.
[13] M. Mozaffari, W. Saad, M. Bennis, and M. Debbah, “Wireless communication using unmanned aerial vehicles (UAVs):
Optimal transport theory for hover time optimization,” IEEE Transactions on Wireless Communications, vol. 16, no. 12,
pp. 8052–8066, Dec. 2017.
[14] Y. Zeng, X. Xu, and R. Zhang, “Trajectory optimization for completion time minimization in UAV-enabled multicasting,”
available online: arxiv.org/abs/1708.06478, 2017.
[15] M. Mozaffari, W. Saad, M. Bennis, and M. Debbah, “Mobile unmanned aerial vehicles (UAVs) for energy-efficient internet
of things communications,” IEEE Transactions on Wireless Communications, vol. 16, no. 11, pp. 7574–7589, Nov. 2017.
[16] J. Garza, M. A. Panduro, A. Reyna, G. Romero, and C. d. Rio, “Design of UAVs-based 3D antenna arrays for a maximum
performance in terms of directivity and SLL,” International Journal of Antennas and Propagation, vol. 2016, Aug. 2016.
[17] W. Su, J. D. Matyjas, M. J. Gans, and S. Batalama, “Maximum achievable capacity in airborne MIMO communications
with arbitrary alignments of linear transceiver antenna arrays,” IEEE Transactions on Wireless Communications, vol. 12,
no. 11, pp. 5584–5593, Nov. 2013.
[18] M. Mozaffari, W. Saad, M. Bennis, and M. Debbah, “Drone-based antenna array for service time minimization in wireless
networks,” submitted to IEEE International Conference on Communications (ICC), 2018.
[19] J. F. Bonnans and A. Shapiro, “Optimization problems with perturbations: A guided tour,” SIAM review, vol. 40, no. 2,
pp. 228–264, 1998.
[20] L. C. Evans, “An introduction to mathematical optimal control theory,” Lecture Notes, University of California, Department
of Mathematics, Berkeley, 2005.
[21] D. K. Cheng, “Optimization techniques for antenna arrays,” Proceedings of the IEEE, vol. 59, no. 12, pp. 1664–1674,
Dec. 1971.
[22] U. Challita and W. Saad, “Network formation in the Sky: Unmanned aerial vehicles for multi-hop wireless backhauling,”
in Proc. of IEEE Global Telecommunications Conference (GLOBECOM), Singapore, Dec. 2017.
[23] W. L. Stutzman and G. A. Thiele, Antenna theory and design. John Wiley & Sons, 2012.
[24] J. E. Bobrow, S. Dubowsky, and J. Gibson, “Time-optimal control of robotic manipulators along specified paths,” The
international journal of robotics research, vol. 4, no. 3, pp. 3–17, Sep. 1985.
[25] W. S. Newman, “Robust near time-optimal control,” IEEE Transactions on Automatic Control, vol. 35, no. 7, pp. 841–844,
July 1990.
[26] T.-S. Chung and C.-J. Wu, “A computationally efficient numerical algorithm for the minimum-time control problem of
continuous systems,” Automatica, vol. 28, no. 4, pp. 841–847, July 1992.
[27] L.-C. Lai, C.-C. Yang, and C.-J. Wu, “Time-optimal control of a hovering quad-rotor helicopter,” Journal of Intelligent &
Robotic Systems, vol. 45, no. 2, pp. 115–135, Feb. 2006.
[28] A. Tayebi and S. McGilvray, “Attitude stabilization of a VTOL quadrotor aircraft,” IEEE Transactions on control systems
technology, vol. 14, no. 3, pp. 562–571, May 2006.
[29] Y. Mutoh and S. Kuribara, “Control of quadrotor unmanned aerial vehicles using exact linearization technique with the
static state feedback,” Journal of Automation and Control Engineering, vol. 4, no. 5, pp. 340–346, Oct. 2016.
[30] T. Bajd, M. Mihelj, and M. Munih, “Rotation and orientation,” in Introduction to Robotics. Springer, 2013, pp. 9–36.

