Persistent UAV Service: An Improved Scheduling Formulation and

advertisement
J Intell Robot Syst (2014) 74:221–232
DOI 10.1007/s10846-013-9970-z
Persistent UAV Service: An Improved Scheduling
Formulation and Prototypes of System Components
Byung Duk Song · Jonghoe Kim ·
Jeongwoon Kim · Hyorin Park ·
James R. Morrison · David Hyunchul Shim
Received: 11 September 2013 / Accepted: 17 September 2013 / Published online: 12 October 2013
© Springer Science+Business Media Dordrecht 2013
Abstract The flight duration of unmanned aerial
vehicles (UAVs) is limited by their battery or
fuel capacity. As a consequence, the duration of
missions that can be pursued by UAVs without
supporting logistics is restricted. However, a system of UAVs that is supported by automated
logistics structures, such as fuel service stations
and orchestration algorithms, may pursue missions of conceivably indefinite duration. This may
be accomplished by handing off the mission tasks
to fully fueled replacement UAVs when the current fleet grows weary. The drained UAVs then
seek replenishment from nearby logistics support
Parts of this paper are reprinted from the paper of the
same title in the 2013 Proceedings of the International
Conference on Unmanned Aircraft Systems
(ICUAS’13), May 2013.
The work reported here has been supported in part by
KAIST HRHRP grant N10120008 and by the National
Research Foundation of Korea (NRF) Basic Science
Research Program grant 2013012292.
B. D. Song · J. Kim · H. Park · J. R. Morrison (B) ·
Department of Industrial and Systems Engineering,
KAIST, 373-1 Guseong-dong, Yuseong-gu,
Daejeon 305-701, Korea
e-mail: james.morrison@kaist.edu
URL: http://xS3D.kaist.edu
J. Kim · D. H. Shim
Department of Aerospace Engineering, KAIST, 373-1
Guseong-dong, Yuseong-gu, Daejeon 305-701, Korea
facilities. To support the vision of a persistent
fleet of UAVs pursuing missions across a field of
operations, we develop an improved mixed integer linear programming (MILP) model that can
serve to support the system’s efforts to orchestrate
the operations of numerous UAVs, missions and
logistics facilities. Further, we look toward the
future implementation of such a persistent fleet
outdoors and develop prototype components required for such a system. In particular, we develop and demonstrate the concerted operation of
a scheduling model, UAV onboard vision-based
guidance system and replenishment stations.
Keywords Persistent UAV service · Scheduling
for persistence · Vision-based guidance systems ·
Replenishment stations
1 Introduction
Unmanned aerial vehicles (UAVs) can be employed as a perimeter patrol, security escort, communication relay, environmental monitor and fire
monitor. All of these application missions would
be significantly enhanced by UAVs that exhibit
persistence—the capability to be available for
long or indefinite durations of time. While highcost military UAVs such as the Predator can operate for as long as 24 hours, commercial and
practical UAVs are not as capable. A system
222
J Intell Robot Syst (2014) 74:221–232
of UAVs, a planning module, automated UAV
guidance systems and replenishment stations
can enable persistent operation. A vision-based
(possibly coupled with GPS) guidance system may
enable outdoor operation.
We envision a system that operates as follows;
refer to Fig. 1. Customers submit requests for
UAV service to the central planning module and
provide their intended space-time trajectory. We
assume that at least one UAV must be present
on the space-time trajectory at all times (thus, it
may be several UAVs that execute the mission,
each of which serves a portion of the path). During
service, a weary UAV may hand-off the mission
to another UAV and seek succor at a nearby
service station. A planning algorithm such as a
mixed integer linear program (MILP) determines
the UAV schedules and service station activities.
The automated service stations provide automatic
recharge or replacement service to enable a persistent UAV workforce. The guidance system
directs the UAVs on their paths based on the
directives received from the planning module. For
outdoor operation, vision-based UAV localization is used. Wireless communications are employed by the system to direct all activities.
Toward such a persistent service system, we:
•
Develop an improved MILP formulation of
the persistent UAV scheduling problem. It
Customer
information
UAV
schedules
Central
planning
by MILP
Web or
smart phones
Automatic
control
UAV
guidance
system
Feedback
Tracking
Customers
UAVs
Automatic
replenishment
Replenishment
stations
Fig. 1 UAV service system
•
•
•
requires less computation than that of [1] and
will serve as the planning algorithm.
Develop a prototype vision-based guidance
system that directs the UAVs to perform their
tasks and guide the UAVs to the service stations according to the schedule generated by
our MILP.
Develop automated service stations to
recharge a UAV upon landing.
Integrate these components into a functioning
system and develop a demonstration of the
system in operation inside a building on the
KAIST campus.
Note that as our ultimate goal is to deploy such
a system outdoors, the vision-based guidance is
an essential component (the typical IR camera
systems used for UAV localization methods in
lab environments are difficult to deploy outside).
While the systems we deploy are far from robust
and require development in several directions,
this represents the first effort to deploy a persistent system of UAVs using onboard vision-based
control and guidance supported by service stations
spread across a field of operations. It represents a
step toward the use of low cost UAVs to provide
persistent service outdoor.
The paper is organized as follows. In Section 2,
we review related UAV scheduling and implementation literature. Section 3 develops the
new MILP formulation. The prototype automated
UAV guidance system and service stations are
introduced in Section 4. Experiments to demonstrate the efficiency of the improved MILP are
given in Section 5. There, we also discuss the integration of the system components and demonstration of the concerted operation. Section 6 provides
concluding remarks.
2 Literature Review
Scheduling research on UAVs focuses on three
classes of models: uncapacitated, capacitated and
persistent. We discuss each of these next, followed
by work related to implementation (such as service stations and computer vision methods for
UAV and target localization).
J Intell Robot Syst (2014) 74:221–232
Scheduling research on uncapacitated UAVs
does not consider a maximum traveling time or
maximum traveling distance. Such models have
been used in the context of UAVs for the battlefield [2]. In [3], a nonlinear mathematical model
was suggested to assign multiple UAVs to simultaneously perform cooperative tasks. There,
a genetic algorithm was employed to obtain solutions. In [4], Alighanbari and How introduced
a decentralized task assignment concept for the
scheduling of UAVs. They argue that centralized
task assignment for a fleet of UAVs is often not
practical due to communication limits, robustness
issues and scalability.
Scheduling research on capacitated UAVs allows for limited flight duration or distance. In
this case, the UAVs should finish their tasks before their fuel source (e.g., a battery) is depleted.
Some of this research employs extended versions
of the vehicle routing problem. In [5], the UAV
scheduling problem was formulated as a vehicle
routing problem with time windows. There is a
single take-off and landing depot and the UAVs
may have different travel time capabilities. Tasks
are defined by their location, required service time
and time window. The objective was to minimize
the total time for all UAVs to cover all jobs.
Multiple home bases with different locations have
been studied in [6]. The authors developed a
MILP scheduling model for a system of capacitated UAVs. Each UAV is forced to return to
its home base. There are n tasks and m UAVs,
each with a capacity limit q. A MILP to minimize
the operation time and risk is developed. Alidaee
et al. [7] improved on the model in [6] to reduce
the number of variables and constraints and increase the efficiency of the MILP model.
The scheduling of UAVs for persistent operations can be accomplished with the support of
logistics service stations. In [8–10], the concept of
using a multiport replenishment station at a single
location was studied and mathematical formulations developed. Valenti et al. [11] extended the
Recent Horizon Task Assignment (RHTA) algorithm to reflect the fuel state of vehicles for persistent operation with a single multiport service
station. In addition, they demonstrated persistent
operation of coordinated multiple UAVs in their
lab. Recently, Kim et al. [1] considered schedul-
223
ing models for persistent operation of UAVs of
diverse capabilities with multiple and shareable
replenishment stations dispersed across the field
of operations. A MILP model was developed
to direct the UAVs to follow space-time trajectories using the concept of split job. To overcome the computational issues associated with
the MILP formulation, a genetic algorithm was
developed.
For persistent operation, an automated guidance system is essential. In [12], the authors
developed a real time monitoring and control system consisting of an embedded computer onboard
the UAVs and a ground station served by a laptop. The onboard computer performs numerous
tasks including data acquisition and measurement,
servo control, automatic flight control and communications. The ground station laptops provide
a flexible graphical interface monitoring the realtime status of the UAVs. In [13], an image-based
visual servo scheme is suggested for the visionbased guidance of a UAV. They developed a feedback control strategy for the UAV using images
from an airborne camera.
Automated service stations also play a key role
in achieving persistence. In [14, 15], the authors
suggested various design concepts of service stations and studied the coverage capabilities of a
persistent system of UAVs. In [16], a prototype
battery replacement system was introduced and
tested with UAVs (along with system control algorithms). In [17], Godzdanker et al. discussed
the development of an intelligent self-leveling and
nodal docking system (ISLANDS) for the mobile
recharge/refueling of UAVs. They provide the
design of the individual ISLANDS and study the
placement of them via an optimization problem.
In this paper, we develop a MILP formulation
for the persistent UAV scheduling problem that
improves upon the formulation proposed in Kim
et al. [1]. An automated vision-based UAV guidance system is introduced to direct the movement
of the UAVs according to the schedule generated by the MILP. A prototype battery recharge
service station is also developed. Though these
systems are not robust and of limited capability,
these efforts represent a step toward the possibility of outdoor persistent operation of visionbased UAVs across a field of operations. We
224
demonstrate the operation of the system in the
basement corridors of a facility at KAIST.
3 Mathematical Formulation
Kim et al. [1] discussed the idea that service platforms and a collection of UAVs can be employed
to follow given time-space trajectories for long
durations across a large field of operations. To
accomplish this, they divided the trajectories of
the moving target into segments called split jobs
that may each be served by a different UAV.
Each split job must be served by one UAV in
their formulation. Each split job i is defined by
a start location (xis ,yis ), start time Ei, finish location (xie ,yie ) and end time Li. (We assume the
speed during that split job is constant.) The travel
distance Dij from split job i’s finish point or station i to split job j’s start point or station j is
calculated using the Euclidean distance. Note that
Dij is not equal to D ji (the start and end points
change). They are not decision variables and must
be determined in advance. This approach serves to
discretize each mission. Using more split jobs may
enable an improved objective function value but
will increase computational complexity. Figure 2
depicts the split job concept.
Kim et al. [1] developed a MILP to schedule a fleet of UAVs and service platforms seeking to provide uninterrupted long term missions.
The missions and split jobs are described above.
Service stations located about the field provide
restorative services for the UAVs.
J Intell Robot Syst (2014) 74:221–232
redundant decision variables, Yikr . Here we eliminate them.
In [1], a dummy job was assigned to a UAV
that does not process any split jobs (a segment of
a customer’s space-time trajectory). This dummy
job concept causes an increase in the number of
decision variables and constraints. By allowing a
UAV to standby at a station (see Eqs. 3 and 4
below), we eliminate the need for the dummy job;
the number of decision variables and constraints
are reduced.
The decision variable Yikr in [1] is used to indicate that split job i is assigned to UAV k during
that UAV’s r th trip from a station. However, this
information is already embedded in their decision
variable Cikr . Cikr gives the start time of the work
if UAV k is assigned to split job i on its r th trip
from a service station. It is set to zero if there
is no assignment relationship between split job i
and UAV k on trip r. We can remove decision
variables Yikr and reduce the number of decision
variables and constraints. Our MILP formulation
follows. It is less computationally complex than
that of [1].
3.2 Notation
i, j
s
k
r
NJ
NU AV
N ST A
NR
3.1 A More Efficient Mathematical Formulation
The MILP formulation in [1] suffers from two
inefficiencies: 1) unnecessary dummy jobs and 2)
M
Dij
Ei
Li
Pi
qk
Sok
TSk
J
SS
Fig. 2 A time-space trajectory is divided into split jobs
Indices for jobs
Index for stations
Index for UAVs
Index of a UAV’s r th flight
Number of split jobs
Number of UAVs in the system
Number of recharge stations
Maximum number of flights per UAV
during the time horizon
Large positive number
Distance from the finish point of split job
i to the start point of split job j
Start time of split job i
End time of split job i
Processing time of split job i(Li – Ei) or
replenishment time in station i
Maximum traveling time of UAV k
Initial location (station) of UAV k
Maximum travel speed of UAV k
= {1, . . . , N J }, Set of split jobs
= {N J + 1, N J + 3, . . . , N J + 2 · N ST A −
1}, set of UAV flight start stations
J Intell Robot Syst (2014) 74:221–232
SE
225
= {N J + 2, N J + 4, . . . , N J + 2 · N ST A },
set of UAV flight end stations
= ( J U SS U SE ) = {1,. . . ,
N J +2·N ST A }, set of all jobs and recharge
stations
Binary decision variable, 1 if UAV k
processes split job j or recharges at station j after processing split job i or
recharging at station i during the r th
flight; 0, otherwise.
Binary decision variable, split job i’s start
time by UAV k during its r th flight or
UAV k’s recharge start time at station i;
otherwise its value is 0.
A
Xijkr
Cikr
Note that each station has two indices which
are used to distinguish when a UAV starts a trip
(flight) from that station or ends a trip (flight)
at that station. This is helpful when we allow a
UAV to remain at a station for some duration and
enables the removal of the dummy jobs used in [1].
Also note that the replenishment time at a service
station (Pi ) is constant. We are thus assuming that
the refresh process for a UAV is independent of
its fuel level when it arrives to the station.
3.3 Mixed integer linear program
Minimize
Dij Xijkr
(1)
i∈ A j∈ A k∈K r∈R
Subject to
X Sok , jk1 = 1 (k ∈ K)
(2)
i∈ J ∪SE
s∈SS i∈ J ∪SE
s∈SE i∈ J ∪SS
Xsjkr = 1 (k ∈ K, r ∈ R)
(3)
Xiskr = 1 (k ∈ K, r ∈ R)
(4)
Xiskr =
i∈ J ∪SS
Xs−1,ikr+1
i∈ J ∪SE
(k ∈ K, r = 1, . . . , N R − 1, s ∈ SE ) (5)
Cskr = Cs−1,kr+1
(k ∈ K, r = 1, . . . , N R − 1, s ∈ SE )
k∈K r∈R i∈ A
Xijkr = 1 ( j ∈ J )
(6)
(7)
Xijkr −
j∈ A
X jikr = 0
j∈ A
(i ∈ J , k ∈ K, r ∈ R)
(8)
Xiskr = 0 (k ∈ K, r ∈ R, s ∈ SS )
(9)
i∈ J ∪SS
Cikr + Pi + Dij T Sk − C jkr ≤ M 1 − Xijkr
(10)
(i ∈ J ∪ SS , j ∈ J ∪ SE , k ∈ K, r ∈ R)
M·
Xijkr ≥ Cikr
j∈ J ∪SE
(i ∈ J ∪ SS , k ∈ K, r ∈ R)
Cikr = Ei (i ∈ J )
(12)
k∈K r∈R
i∈ A j∈ A
Dij
T Sk
· Xijkr +
≤ qk
(11)
Pi · Xijkr
i∈ J j∈ A
(k ∈ K, r ∈ R)
(13)
Cikr ≥ 0(k ∈ K, r ∈ R, i ∈ A )
(14)
Xijkr ∈ {0, 1} (i ∈ A , j ∈ A , k ∈ K, r ∈ R)
(15)
The objective function (1) is to minimize the total travel distance of the UAVs. Constraint (2)
ensures that every UAV should start its first
flight from its initial service station. Constraint (3)
guarantees that UAV k starts its flight from the
starting service station and proceeds to a split job
or ending service station. Constraint (4) indicates
that UAV k must finish each flight at an ending
service station. This helps to remove the dummy
jobs of [1]. Constraint (5) requires that if UAV k
finishes its r th flight at service station s, then its
r+1th flight starts at service station s. Constraint
(6) states that the finish time of a UAV’s r th
flight is equal to the start time of UAV’s r+1th
flight. Split job assignment constraint (7) forces
every split job in J to be processed by a UAV.
Constraint (8) is a flow balance constraint that
ensures a UAV does not finish its flight at a job.
Constraint (9) ensures that a UAV cannot finish
its flight at the starting station which comes from
the notational issue related to each station having
two indices.
226
J Intell Robot Syst (2014) 74:221–232
Constraints (10) and (11) are used to link the
Cikr and Xijkr decision variables. The start time
constraint (10) gives the relationship between the
split job start time or service station visit start
time (which is the time that the fuel replacement
process begins) and that of its successor for the
same UAV during its r th flight. Constraint (11)
implies that the value of Cikr is set to zero if
split job i is not assigned to UAV k’s r th flight.
Constraint (12) ensures that every split job in J
starts its process at the pre-determined start time
of the split job. The fuel/battery constraint (13)
states that the total flight time, including travel
time between split jobs and process time for split
jobs, cannot exceed UAV k’s fuel/battery capacity. Constraints (14) and (15) define the ranges of
the decision variables.
The proposed mathematical formulation requires N R > 1 due to constraints (5) and (6). N R
is just the maximum number of flights allowed
for each UAV; this is not in any way a restriction on the modeling capability. Table 1 provides
the number of decision variables and constraints
of Kim et al. [1] and the proposed MILP; there
are fewer in the later. Also note that there are
trade-off relationships among the number of split
jobs, computational complexity and feasibility.
Too few split jobs can result in an infeasible problem due to the fuel limitation of the UAVs. On
the other hand, too many split jobs can increase
the computational complexity because of the increase in the number of decision variables and
constraints.
4 Implementation Environment
We next discuss the development of prototype
system components that we have integrated into
a functioning proof-of-concept system. The MILP
scheduling model is used to determine UAV actions in response to given customer space-time
trajectories. A UAV guidance system serves to
implement the schedule provided by the MILP
model, track the customer and land on the stations. Computer vision-based feedback control,
employing video from the UAV nose or belly
cameras, is used by the UAV to pursue the customer, arrive at the designated customer pick-up
locations and return to the service stations.
4.1 UAV Guidance System
Kim and Shim [18] proposed a vision-based target
tracking control system for a quadrotor via tablet
computer. We employ their system to control our
UAVs and track the customer. The UAV guidance system performs these tasks:
1. Receive and implement the schedule from the
MILP. This includes directing the UAVs to
depart from a service station to intercept the
customer (and prosecute a particular split job)
and directing the UAV to return to a service
station. It must ensure that a UAV is available
for the customer at the start of a split job.
2. Convert video from the UAV cameras into
usable information for directing UAV motion.
Table 1 Number of variables and constraints in the mathematical formulations
Kim et al. [1]
Total # of binary
decision variable
Total # of continuous
decision variable
Total # of decision
variable
Total # of
constraints
NU AV · N R · {(N J + 2 · N ST A
Proposed MILP
+ 1)2
+ (N J + 2 · N ST A + 1)}
NU AV · N R · (N J + 2 · N ST A )2
NU AV · N R · (N J + 2 · N ST A + 1)
NU AV · N R · (N J + 2 · N ST A )
NU AV · N R · {(N J + 2 · N ST A + 1)2 + 2(N J + 2 · N ST A + 1)}
NU AV · N R · {(N j + 2 · N ST A )2
+N J + 2 · N ST A }
NU AV {2(Nr − 1) · N ST A
+N R · N ST A + 1}
+N J (NU AV · N R + 2)
+NU AV · N R {(N J + N ST A )2
+2N J + 3N ST A + 3}
NU AV {2(N R − 1) · N ST A + 1} + N J (3NU AV · N R + 2)
+NU AV · N R {(N J + N ST A + 1)2 + 2N J + 4N ST A + 5}
J Intell Robot Syst (2014) 74:221–232
This information is used to track customers,
locate a hand-off or land on a station.
3. Enable a human overseer to monitor the
UAV progress via video and adjust feedback
control gain values for various situations. It
also allows for a human overseer to initiate
emergency actions such as immediate landing.
These functions are used in the testing and
setup phases.
The UAV guidance system is responsible for directing the UAV to find the customer at the location and time of the split job. This is done with
computer vision using the UAV’s onboard cameras. The system must also ensure that the UAV
follows the customer during its time of service.
Feedback control based on vision processing of
the UAV’s cameras is employed to accomplish
these tasks. These same methods are employed to
ensure that the UAV can locate and land on the
service stations.
4.1.1 Target Specif ication
The guidance algorithm uses a color based tracking strategy. The customer wears a large red circle
on his jacket. The station and handoff locations
are also flagged with large colored polygons. To
identify our customer, we identified the largest
polygon in the UAV field of vision (nose camera)
filled with the color red. Algorithm 1 shows the
pseudo algorithm of target specification logic.
227
Algorithm 1 Pseudo-algorithm of extracting binary decision matrix whether each image pixel is
seen as red or not
Input:, (I R , I G , I B ) where each I R , I G and I B are
8-bit image matrices or red, blue and green
channels, respectively.
Output: A filtered binary image frame matrix, I Rb
Get RedBinary Image (I R , I G , I B )
For every pixel value I R,if of i-th row and j-th
column in the matrix I R
If (I R,if ≥ K R (I G,if + I B,i f ) + C R then
I Rb ,if ← 1
Else
I Rb ,if ← 0
endIf
endFor
return I Rb
our target to be the largest red polygon in the
frame. This is done by extracting contours and
comparing their areas with each other in the binary image. The center of the largest contour is
regarded as the target position. Figure 3 shows
4.1.2 Color Filter
Within the target identification algorithm, one
must detect image pixels with significant red color.
Color filtering to detect red pixels compares the
intensity of the red channel I R to a linear combination of the other channels’ intensity I G +I B .
The detailed algorithm is described in Algorithm
1. The gain K R and constant C R are set and tuned
manually considering camera properties and light
conditions. Typical values used were K R = 0.5
and C R = 40.
After filtering out other colors from the image
frame, the red pixels are the only remaining ones
in the binary image I Rb . This frame includes not
only our target, but other red objects. We declared
Fig. 3 The original image (top) and the filtered image
(bottom)
228
Fig. 4 Target in the image frame. Control commands are
indicated
the result of the color filter algorithm. The red
contour outline depicts the boundary of the red
polygon. The target and its center is visualized as
a green square and a yellow circle, respectively.
J Intell Robot Syst (2014) 74:221–232
a given distance from the target. Figure 4 shows
the commands issues to the UAV based on the
distance from the target and orientation of the
target to the center of the frame.
First, we calculate the difference between the
target position and the image center in the image coordinates. The differences in horizontal and
vertical direction are the controller inputs that
generate control commands to the quadrotor. The
horizontal error generates the yaw rate of our
UAV, to rotate its heading toward the target. The
vertical difference is used to calculate the vertical
velocity of the quadrotor to maintain the same
altitude as the target.
Second, the radius of the target in the image
frame is computed via Eq. 16:
r=
S
π
(16)
4.1.3 Visual Servoing
We employ a visual servoing control scheme using
the target point in the image frame. The quadrotor
UAV platform used in our efforts has a camera
facing forward and the control algorithm is established based on this setting. The UAV has a
responsibility to pursue the customer and observe
the surroundings. Thus the main objective of the
visual servoing is to maintain the detected target
at the center of the image frame while maintaining
Fig. 5 Controller block diagram
where S indicates the area of the target in square
pixels and r is the radius of the target. We set
a desired reference value of r and calculate the
difference between the observed radius and the
reference value. This difference is directly is used
as the error signal for our controller so that the
UAV maintains the distance from the customer.
We use a PD (Proportional—Differential) controller for the visual servoing; the controller block
diagram is provided in Fig. 5.
J Intell Robot Syst (2014) 74:221–232
229
4.2 Replenishment Station
Descriptions
: Front (Bottom) Camera Video
: Start Procedure Interface
: Color Filtered Video
: Control Gain Adjustment Sliders
: Emergency Landing Button
Fig. 6 Tablet PC application layout with descriptions
4.1.4 Hardware and Software System Description
Our UAV platform is the AR.Drone 2.0 of Parrot
Inc. The AR.Drone can communicate with a PC
or other devices via Wi-Fi. It simultaneously sends
its video and receives control commands via this
WiFi. We developed the control application to run
on our tablet PC (iPad 3 of Apple Inc.).
The application window provided to the user
on the iPad is depicted in Fig. 6. The application uses multiple threads that receive the video
data from the drone, process each image frame to
generate control inputs and sends the commands
to the drone. Visualization of the original video
feed from the drone and the processed video are
provided. There are several buttons enabling the
user to manually control the UAV in the event of
an emergency situation.
To support such a persistent system, service
stations must be incorporated. Various battery
recharge and battery swapping service stations
have been developed and studied in the literature,
c.f., [7, 8, 12–14]. To serve our system needs we
also developed a service station; it is a battery
recharging station (not a battery replacement station). Refer to Fig. 7.
Each AR Drone 2.0 uses a three cell lithium
polymer battery. Four copper leads (three for the
terminals and one for ground) were threaded from
the battery inside the UAV to the four feet of the
drone. The service station consists of four pads;
one for each foot of the drone. Each such pad
connects to the UAV battery via the leads on the
drone feet and will provide a different voltage
relative to the ground pad.
The AR Drone 2.0 should not be recharged
while it is on. Thus, a large circular button switch
is located in the center of the station. When the
UAV touches down, its weight activates the switch
and a circuit controlling the drone on/off is activated. After a 5 s delay, the drone power is turned
off and recharging is initiated. Once the battery
is fully charged by the on-station OEM charger,
an LED signal is sent by the charger. The station
detects this condition, disconnects the charger and
activates the drone. It is ready to return to service.
5 Demonstration
We conduct numerical experiments to assess the
performance of the MILP. We demonstrate the
operation of the integrated system for a simple
case in the basement of a facility at KAIST.
5.1 Comparison of MILP Formulations
Fig. 7 Recharge of UAV on the service station
We test our MILP formulation against that of
[1] using CPLEX 12.4 on an Intel(R) Core(TM)2
Quad CPU Q8400, 2.66 GHz and 4.00 GB RAM
personal computer. We compare computation
time, number of decision variables and number
of constraints. Table 2 provides the results. While
both formulations give the same optimal value,
there are significant improvements associated
230
J Intell Robot Syst (2014) 74:221–232
Table 2 Comparison of the efficiency of the mathematical formulations
NJ
N ST A
8
14
15
20
2
3
3
4
NU AV
2
6
6
8
Kim et al. [1]
Proposed MILP
CPU time
# of dec.
vars.
# of
constraints
CPU
time
Obj.
value
# of dec.
vars.
# of
constraints
CPU
time
Obj.
value
change (%)
780
5796
6336
14384
722
5002
5508
12048
3.00
15.84
220.3
N/A
2048
1846
724
N/A
624
5040
5544
12992
566
4222
4680
10592
1.84
4.36
35.78
348.97
2048
1846
724
2894
38.67
72.47
83.75
–
with the new MILP. In particular, for (N J , N ST A ,
NU AV ) = (20, 4, 8), the MILP of [1] could not
be solved by CPLEX. The new formulation can
solve this case. By reducing the complexity, the
new formulation increases the size of problems
that can be addressed.
5.2 System Demonstration
We integrated these components to provide a
demonstration UAV security escort service. The
service was provided in the basement of a facility
at KAIST, but we use vision-based tracking and
control of the UAVs so that the system may be
extendable to the outdoors. The objective is to
follow a customer without interruption of service.
The situation follows. A single customer requests the UAV security escort service. Two
UAVs and 3 replenishment stations serve the
customer. The mission is divided into eight split
jobs. Due to our vision-based tracking algorithm,
the customer attaches a red marker on his back.
Station 3
UAV 2
Neither GPS nor fixed IR cameras are used. Color
markers are used to identify the stations, customer
pick up point and UAV handoff sites. Refer to
Fig. 8.
The relevant locations are detailed next. The
three battery recharge service stations 1, 2 and
3 are located at positions (4, −1), (0, −1) and
(1, 4), respectively. Each unit on the grid in Fig. 8
represents 5 m.
UAVs 1 and 2 initially reside at stations 1 and 2,
respectively. The customer path follows the x-axis
from (4, 0) to (0, 0), then travels along the y-axis
from (0, 0) to (0, 4). The travel speed is constant.
The path is split into eight split jobs (of one unit
of distance each) for the MILP.
UAV 1 hands off the customer to UAV 2 at
the point (0, 0). Table 3 provides the assignment
provided by the MILP.
The detailed action proceeded as follows.
1. UAV 1 takes off from station 1 in advance to
meet the customer at the planned arrival time.
It meets the customer at the start point of
split job 1 and searches for the marker on the
customer’s back. Once identified, the UAV
follows the customer as he proceeds along his
path.
2. For uninterrupted service, UAV 2 moves to
the start point of split job 4 in advance of the
customer’s arrival.
3. UAV 1 disengages from the customer at the
end of split job 4, searches for service station
Hand-off
Table 3 UAV assignment schedule
UAV
Start
Assigned
station job
End
Service
station start time
Service
end time
1
2
1
2
2
3
10
18
UAV 1
Station 2
Station 1
Fig. 8 Top down layout of the security escort demonstration
1, 2, 3, 4
5, 6, 7, 8
2
10
J Intell Robot Syst (2014) 74:221–232
231
6 Concluding Remarks
vice stations and system orchestration algorithms,
a fleet of UAVs and service stations may be
able to provide persistent service across a field
of operations. Looking toward an outdoor persistent UAV service system, we developed several components: an improved MILP scheduling
formulation, a UAV guidance system and battery recharge service stations. The MILP model is
used to develop a schedule that the system should
follow to meet customer space-time trajectory
demands. It significantly improves upon the computational complexity available in the literature
for such a problem [1]. The UAV guidance
system—based on the iOS—uses a given schedule
(e.g., as provided by the MILP) and directs the
UAVs about their tasks.
Onboard cameras are used for vision-based
feedback control of the UAV actions. The system
of multiple UAVs and service stations distributed
across the field is controlled via wireless communication from iPads. The battery recharge service
stations are used to provide the logistics support
necessary for persistence.
We demonstrated the integration of these components. UAVs provided a security escort to a
moving customer without interruption via the
wireless automated guidance system. While the
system deployed is not particularly robust, it
demonstrates that outdoor operation may be possible for a persistent system of low cost UAVs.
There are many directions for future work.
Despite the MILP’s improved computational performance, there is a need for real-time capable
models. The guidance system should be fully integrated with the higher level customer order and
planning layer. A key challenge for deployment of
such a system outdoors is the creation of reliable
tracking algorithms and UAV control. Indoors,
there is no wind and the environment is well
controlled. Outdoors, UAV and customer localization with precision in the centimeter range (as
is required for landing and handoffs) will be a
challenge.
The flight duration of commercially available
UAV’s is significantly constrained by their reliance on a battery or fuel supply. As such, the
duration of missions that can be prosecuted without support is limited. However, by including ser-
Acknowledgements The authors wish to acknowledge
the technical support of Jungho Park, Kyukwang Kim
and Khurshidjon Khudoyberdiyev. We also thank the reviewers for their thoughtful comments. The paper has
significantly improved based on their suggestions.
(a)
(b)
Fig. 9 UAV tracking service a and handoff operation b
2, proceeds to service station 2 and lands to
receive replenishment.
4. UAV 2 searches for the customer at the start
of split job 5 and follows the customer to the
end point of split job 8.
5. Once reaching the location of split job 8,
UAV2 searches for and then proceeds to service station 3. UAV 2 lands on the replenishment station and receives replenishment.
Figure 9a and b depict UAV 1 tracking the customer and the UAV handoff at the end of split job
4, respectively. Throughout, based on the schedule dictated by the MILP, the UAVs were controlled by the automated guidance system using
wireless communication.
232
J Intell Robot Syst (2014) 74:221–232
References
1. Kim, J., Song, B.D., Morrison, J.R.: On the scheduling
of systems of UAVs and fuel service stations for longterm mission fulfillment. J. Intell. Robot. Syst. 70(1),
347–359 (2013)
2. Zeng, J., Yang, X., Yang, L., Shen, G.: Modeling for
UAV resource scheduling under mission synchronization. J. Syst. Eng. Electron. 21(5), 821–826 (2010)
3. Shima, T., Schumacher, C.: Assignment of cooperating
UAVs to simultaneous tasks using genetic algorithm.
In: Proc. AIAA Guidance, Navigation, and Control
Conference and Exhibit. San Francisco (2005)
4. Alighanbari, M., How, J.P.: Decentralized task assignment for unmanned aerial vehicles. In: Proceedings
of the 44th IEEE Conference on Decision and Control, and the European Control Conference, pp. 12–15.
Seville, Spain (2005)
5. Weinstein, A.L., Schumacher, C.: UAV scheduling
via the vehicle routing problem with time windows.
In: Proc. AIAA Infotech@Aerospace 2007 Conference
and Exhibit. Rohnert Park, California (2007)
6. Kim, Y.S., Gu, D.W., Postlethwaite, I.: Real-time
optimal mission scheduling and flight path selection. IEEE Trans. Autom. Control. 52(6), 1119–1123
(2007)
7. Alidaee, B., Wang, H., Landram, F.: A note on integer programming formulations of the real-time optimal
scheduling and flight selection of UAVS. IEEE Trans.
Control. Syst. Technol. 17(4), 839–843 (2009)
8. Bethke, B.: Persistent vision-based search and track
using multiple UAVs. Master Thesis, Massachusetts
Institute of Technology (2005)
9. Valenti, M.: Approximate dynamic programming with
applications in multi-agent systems. Ph.D. thesis,
Massachusetts Institute of Technology (2007)
10. Nigam, N., Bieniawski, S., Kroo, I., Vian, J.: Control
of multiple UAVs for persistent surveillance: algorithm
11.
12.
13.
14.
15.
16.
17.
18.
and flight test results. IEEE Trans. Control Syst. Technol. 20(5), 1236–1251 (2012)
Valenti, M., Bethke, B., How, J.P., de Farias, D.P.,
Vian, J.: Embedding health management into mission
tasking for UAV teams. In: American Control Conference (ACC), pp. 5777–5783. New York City, NY (2007)
Dong, M., Chen, B.M., Cai, G., Peng, K.: Development
of a real-time onboard and ground station software
system for a UAV helicopter. J. Aerosp. Comput. Inf.
Commun. 4, 933–955 (2007)
Azinheira, J.R., Rives, P.: Image-based visual servoing
for vanishing features and ground lines tracking: application to a UAV automatic landing. Int. J. Optomech.
2(3), 275–295 (2008)
Kemper Filho, P., Suzuki, K.A.O., Morrison, J.R.:
UAV consumable replenishment: design concepts for
automated service stations. J. Intell. Robot. Syst. 61(1),
369–397 (2011)
Suzuki, K.A.O., Kemper Filho, P., Morrison, J.R.: Automatic battery replacement system for UAVs: analysis
and design. J. Intell. Robot. Syst. 65(1), 563–586 (2012)
Swieringa, K.A., Hanson, C.B., Richardson, J.R.,
White, J.D., Hasan, Z., Qian, E., Girard, A.: Autonomous battery swapping systems for small-scale
helicopters. In: Proceedings of the 2010 IEEE International Conference on Robotics and Automation
(ICRA), pp. 3335–3340 (2010)
Godzdanker, R., Rutherford, M.J., Valavanis, K.P.:
Islands a self-leeling landing platform for autonomous
miniature UAVs. In: IEEE/ASME International
Conference on Advanced Intelligent Mechatronics.
Budapest, Hungary, 3–7 July 2011
Kim, J., Shim, D.H.: A vision-based target tracking control system of a quadrotor by using a tablet
computer. In: 2013 International Conference on Unmanned Aircraft Systems (ICUAS), pp. 1165–1172.
Atlanta, GA, 28–31 May 2013. doi:10.1109/ICUAS.
2013.6564808
Download