1. Introduction
Thanks to the decreasing cost and advanced control methods [
1,
2] developed in recent years, flying robots have been widely applied in various applications including, but not limited to, inspections [
3], target tracking [
4,
5], monitoring and surveillance [
6,
7], wireless communication support [
8], data collection or dissemination from or to wireless sensor networks (WSNs) [
9], etc. Among these applications, a particularly prominent issue is the deployment of flying robots. With proper deployment, the flying robots can bring much more benefits than the conventional static servicing system, especially when mobility is involved, such as the mobile targets in the surveillance scenario, the mobile users in the case of wireless communication support, and the mobile sensors in WSNs.
This paper considers the application of using a flying robot to monitor a set of targets and/or support their communication with a remote ground base station. A typical example is shown in
Figure 1. A group of hikers walks in the mountains. A remote base station wishes to acquire the real-time status of the hikers for safety purposes. Consider the scenario in which the team goes into an area where the communication with the remote base station is blocked by some environmental obstacles such as mountains. In such a case, a flying robot can fly to the hikers to monitor them with the onboard camera and serve as a relay for communication between the remote base station and the hikers. There are several requirements for the flying robot. First, it needs to keep all the hikers within vision. Second, it needs to operate in an energy-efficient way to prolong its service time, due to the limited onboard battery capacity. Finally, it needs to remain within the communication range of the remote base station to maintain the valid backhaul link.
Under such a scenario, the focus is on navigating the flying robot from an initial position to a destination where the first two aforementioned requirements are met. In practice, the flying robot also needs to stay within the communication range of the remote base station. Since this issue can be addressed by introducing some relays between the flying robot and the remote base station, this paper assumes that the flying robot has a valid backhaul link with the remote base station.
There are two critical issues in the problem of interest. The first one is the determination of the destination and the second one is how to navigate the flying robot toward such a destination. To achieve these objectives, the following aspects are considered. Considering that the lower altitude generally leads to a better surveillance performance, the aim of the deployment of the flying robot is to find the relatively low altitude while ensuring the surveillance of all the targets. Consider that the flying robot is equipped with a camera with a fixed angle of vision. Thus, the coverage area can be regarded as a disk and the radius is proportional to the altitude [
10]. With the energy consumption model and the coverage area model, one can figure out some characteristics of the destination: the 2D projection of the destination should be the center of the smallest circle that encloses all the targets and its altitude should ensure the coverage of the smallest circle radius.
Clearly, this is the conventional smallest circle problem [
11]. Given the locations of targets, the optimal projection can be found, and then the altitude can be computed following the coverage area model. However, in practice, the locations of targets may not be obtained easily, especially when the targets are mobile. Thus, the destination may not be computed in advance.
For the problem considered, a range-based reactive algorithm is proposed to navigate the flying robot to the center of the smallest circle enclosing all the targets. This algorithm does not require knowing the targets’ locations in advance. It is assumed that the flying robot, launching from the initial position, can fly to a position where it can get Line-of-Sight (LoS) communication links with the targets. The last track of targets’ locations at the remote base station can be used. Additionally, when the targets lose communications with the remote base station, they periodically broadcast a beacon message, which can be received by the flying robot if it is around. From the received signal strength indicator (RSSI), the flying robot estimates the corresponding distances from the targets to itself. From the estimated robot-target distances, the robot uses the largest one for navigation. Then, it always flies towards the farthest target, until the maximum robot–target distance cannot be further reduced. To facilitate the recognition of reaching the smallest circle center, two conditions derived from the features of the smallest circle are presented; and to support checking these two conditions, the robot needs to estimate a few targets’ locations based on the robot–target distances. As shown later, for an arbitrary distribution of targets, the robot needs to estimate 5 targets’ locations.
To evaluate the effectiveness of the proposed algorithm, extensive computer simulations have been conducted and comparisons with the optimal solutions by Welzl’s algorithm [
11] are presented.
A major advantage of the proposed method lies in the light computational complexity and simple RSSI measurement. Both features are significant to a small-size flying robot. Firstly, the algorithm with light computational complexity does not require expensive computing hardware to be installed on the robot, and it can be easily implemented in real time. The RSSI measurement can be obtained from a normal transceiver, which does not require special sensing devices. These features can reduce the payload of the flying robot, which facilitates flying energy efficiency since a larger payload induces higher power consumption. This paper adopts some existing methods and combines them to solve the problem of concern. Although the relevant techniques have been existing, the main contribution is the presented solution that combines these techniques to navigate a flying robot toward a group of moving targets whose locations are unknown. The considered problem can indeed be formulated as the smallest circle problem. However, existing solutions require the location information of each target. However, in the considered problem, location information may not always be available such as in Global Navigation Satellite Systems (GNSS) denied environments. So, the proposed solution does not explore using location information. Instead, we make use of the signal strength to extract range information. We do not target providing another method to solve it. Our proposed method dynamically navigates the flying robot to the center of the group of targets using the extracted range information.
The rest of the paper is organized as follows.
Section 2 discusses some relevant works in literature.
Section 3 presents the system models and formally states the studied problem.
Section 4 presents the details of the proposed range-based reactive navigation algorithm.
Section 5 presents the simulation results to demonstrate the performance of the proposed method. Finally,
Section 6 concludes the paper and points out a future research direction.
2. Related Work
The deployment of flying robots has received much attention in recent years, due to their flexibility and mobility, and the potential application domains. In the literature, there are two approaches to the problem of deploying flying robots: proactive deployment and reactive deployment.
Proactive deployment usually considers the static scenario, where the necessary resources are available in advance. In particular, there has been extensive work on proactive deployment, with many mature approaches proposed in the design [
12,
13], control [
14,
15], and local planning [
16] for flying robots. Some existing publications focus on the deployment of a single-flying robot. In [
17], the authors propose a closed form of air-to-ground wireless communication channel model that accounts for both LoS link and Non-LoS link. Based on this model, the authors find the optimal altitude for the flying robot such that the coverage area is maximized. Following this model, the paper [
18] aims at optimizing both the altitude and the horizontal position. The authors propose an energy-efficient scheme to maximize the number of covered targets, which first sets the vertical position at the altitude providing the maximal coverage, and then optimizes the horizontal position to maximize the covered number using minimum transmitting power.
Rather than decoupling the problem, the paper [
19] formulates a mixed integer non-linear problem to select the optimal position from a given set of candidates. In [
20], the authors further consider the backhaul connectivity directly to the nearby terrestrial base station on the base of wireless coverage to all ground targets. The paper [
21] also studies the power efficiency of a drone base station providing wireless coverage for ground users and formalizes a drone base station placement problem that minimizes the average transmit power of the drone base station. A successive convex approximation-based drone base station placement algorithm is proposed to obtain the optimal drone base station location. In [
19], the authors formulate the drone cell placement problem as a 3D placement problem to maximize the revenue of the network. The paper formulates an equivalent quadratically-constrained mixed integer non-linear optimization problem and proposes a computationally efficient numerical solution for this problem. The paper [
22] addresses several challenges including coverage of a larger geographical area and data communication links for smart city remote traffic monitoring. The author proposed a reliable drone-based monitoring scheme for a smart city transportation system using an enhanced Ant Colony Optimization technique.
There are also some publications focusing on the deployment of multiple flying robots. In [
23], given the locations of targets, the authors propose a K-means clustering-based algorithm to compute the positions of flying robots, to offload the demand for the stationary base stations. Based on the target distribution over a geographical area, the reference [
24] proposes a neural-based cost function approach to assign flying robots based on demand. A similar concept, i.e., target density, has also been used [
8,
25]. The paper [
8] proposes a decentralized algorithm to minimize the average robot–target distance by moving the robots toward the centers of mass from some initial positions. The paper [
25] considers maximizing the coverage of targets accounting for the charging requirement of flying robots.
The paper [
26] proposes a two-phase evolution optimal 3D drone layout algorithm to deploy drones in pipeline networks. A 3D pipeline graph model is designed to represent the possible projection position of drones, and the objective function is proposed for optimal drone deployment. In [
27], the authors propose an optimization model that maximizes the coverage of users while minimizing the communication cost between drones. The paper [
28] proposes the novel DroneCells scenario where drones constantly move within the cell to serve the users from a closer distance and thus improve the spectral efficiency of the network and the quality of service of cell-edge users. The authors propose practically feasible drone mobility control algorithms with varying complexity and performance.
Although different schemes consider different objectives, one similarity of the aforementioned publications is to optimize the positions for a certain number of flying robots. Another group of references under the category of proactive deployment focuses on minimizing the number of flying robots to cover a given set of targets. The authors of [
29] formulate a 2D Geometric Disk Cover problem and propose a centralized heuristic algorithm. Beyond this, the authors of [
30] consider the 3D case with the same objective and propose a PSO-based heuristic algorithm. The paper [
31] studies a similar problem and presents an elitist non-dominated sorting genetic algorithm to find the optimal positions from a given set of candidates. The reference [
6] formulates a mixed integer non-linear optimization model and presents a mixed integer programming-based heuristic algorithm to continuously cover a set of targets. The paper [
32] considers a similar problem with [
6], and the authors propose a localized heuristic algorithm. Moreover, the publication [
33] examines the case with multiple subareas accounting for the charging requirement of flying robots. The authors partition the coverage graph into cycles and the number of flying robots required depends on the charging time, the traveling time, and the number of subareas to be covered by the cycle. The reference [
34] also considers the connectivity requirement as [
8]. The authors propose a method to decouple the minimum robot number problem into a master program and a pricing program, where the former ensures complete coverage of targets all the time depending on their current locations, and the latter figures out a subset of connected positions from a set of candidates. In [
35], every point of very uneven terrain is aimed to be covered with drones, and this problem may be viewed as a drone version of the 3D Art Gallery Problem. A computationally simple algorithm was developed to give an upper estimate of the minimal number of drones necessary and calculate their locations for coverage.
The second approach is for reactive deployment, which aims at designing online algorithms. Assuming that the flying robot can measure the targets’ coordinates, the flying robot can compute and track the center of mass [
36]. In [
37], the authors introduced an online method to generate a trajectory that facilitates the perception task, which relies solely on onboard, visual-inertial sensors and computing. In their experiments, full state estimation is provided by fusing detections from an onboard camera and an IMU. With the same assumption, the authors of [
38] propose a game theory-based navigation algorithm to boost network capacity. The exhaustive search is used to find a potential moving direction at each flying robot. These two schemes are both based on knowing the coordinates of all the targets all the time. Measuring coordinates in practice is difficult or at least costly if some specific protocols and/or sensors are used. When drones fly outdoors, we need to consider their adaptability to changes on the fly, in [
39] they tackle the problem of flying a quadrotor using time-optimal control policies that can be replanned online when the environment changes or when encountering unknown disturbances. Another reactive approach is based on virtual forces [
40]. The authors propose a reactive algorithm based on four types of virtual forces: hotspots attractive force, user attractive force, nearby robot repulsive force, and obstacle repulsive force. One shortcoming of this method is the assumption that hotspots’ locations should always be known before the deployment of flying robots.
In [
41], an online path planning method for a single UAV to periodically cover a set of moving targets on flat ground or uneven terrain is put forward, which is further extended to navigate multiple UAVs for the sensing coverage of moving targets based on the shared information about targets among UAVs. The paper [
36] introduces a framework for self-organizing flying radio access networks with ultra-low altitude flying base stations that are automatically positioned in real time according to the users’ requirements and mobility. The proposed concept enables optimization of the network in real-time according to the users’ throughput requirements and movement, enabling massive exploitation of higher frequency bands for communication and higher energy efficiency.
The authors of [
6] formulate the mobile targets covering the problem using drones and mathematically define mixed integer non-linear optimization models. The aim is to locate UAVs to cover the piece of the plane in which the target moves by using a minimum number of UAVs. In [
40], the paper proposes the problem of how to deploy multiple UAVs for on-demand coverage while at the same time maintaining the connectivity among UAVs. The authors propose two algorithms: a centralized deployment algorithm and a distributed motion control algorithm, which, respectively, require a minimum number of UAVs to provide desirable service and enable each UAV to autonomously control its motion, find the user equipment and converge to on-demand coverage without global information.
The paper [
42] formulates the deploying flying robot base stations problem to bridge the affected users to a cellular network based on the scenario where the stationary base stations in some disaster areas are destroyed. The authors propose an optimization model to maximize the quality of coverage with local information and require the flying robot to always keep a safe distance to avoid collision while moving. The approach presented in the current paper falls into this category. Different from the existing publications, the information on coordinates is not assumed to be known in the proposed approach.
3. Problem Statement
This section formally states the studied problem. The main symbols used in this paper are summarized in
Table 1 for quick reference.
Consider a set of
m (
) targets on a 2D plane. Let
or
denote the 2D location of target
j (
), which is not known in advance. We first consider that the targets are static and the mobile case will be discussed in the next section. Considering the example of
Figure 1, this scenario of static targets can be that after losing good quality communication with the remote base station, the targets stop moving and wait for the flying robot. A flying robot can move in 3D space, but the altitude is constrained by the range
. At any time
t, the position of the flying robot is represented by
and
is the horizontal heading. We consider the following motion model for the flying robot [
43]:
where
is the horizontal speed,
is the angular velocity, and
is the vertical speed. For simplicity, we consider the movement of the flying robot in horizontal and vertical directions separately. When it moves horizontally,
; while, when it moves vertically,
and
.
The robot carries a ground-facing camera to monitor the targets. The camera is with a fixed visibility angle
. The coverage area by the robot at time
t is a disk centered at
with the radius [
10], see
Figure 1:
With the coverage model, the considered problem can be formulated as follows:
Obviously, problem (
3) is the conventional smallest circle problem [
11], which can be solved by a simple randomized algorithm if all the locations of targets are known. However, in the considered context, the targets’ locations are not known in advance. One naive idea to obtain the targets’ locations is via the onboard camera. If the flying robot can fly high enough to view all the sensors, it can then obtain the locations of targets through image processing. With all the targets’ locations, the smallest circle problem can be addressed, and the optimal position of the flying robot can also be found. However, this method may not be realistic, since in practice the allowed deployment altitude is constrained by regulation. When the flying robot starts from the remote base station in
Figure 1, even when it flies to
, it cannot see all the targets; see
Figure 2. In the next section, we propose our RSSI-based method to solve this problem.
4. Proposed Solution
This section presents an algorithm to reactively navigate the flying robot toward the center of the smallest circle. The proposed algorithm does not require the targets’ locations in advance. Instead, it requires the robot to estimate the range between the flying robot and a target from the received signal strength [
44]. Thus, the proposed method is a range-based navigation method. Although the exact targets’ locations are unknown, the system may know the rough location of the targets. In the example mentioned in the introduction, before the targets go into an area with poor communication channels, the remote base station can know their last location. Thus, the flying robot can first fly to such a position. At this position, it is assumed that the flying robot can have LoS communication links with targets. Measured in decibels at the flying robot, the RSSI from target
j, i.e.,
, can be modeled as follows [
45]:
where
is a constant depending on the transmitted power, wavelength, as well as antenna gain of the flying robot,
is a slope index depending on the environment,
is the logarithm of the shadowing component, and
is the 3D Euclidean distance between the flying robot and target
j. In this paper, fast fading is not considered by assuming a low-pass filter is used to attenuate Rayleigh or Rician fade.
The robot–target distance
can be further expressed in terms of the target’s coordinates, i.e.,
:
Let denote the 2D distance between the robot projection and target j. The 2D projection-target distance can be easily computed from the 3D robot–target distance , since the altitude of the flying robot is known to itself. Further, let denote the derivative of the 2D projection–target distance , which can also be known to the robot. Moreover, the flying robot can also estimate the targets’ locations from either projection–target or robot–target distances by existing algorithms, such as the extended Kalman filter. Notice that such locations are not used for navigation; instead, they are used to judge whether the flying robot reaches the smallest circle center.
Now, it is the position to present the proposed navigation algorithm. The basic idea is to reduce the largest projection–target distance recursively, and when the maximum projection–target distance cannot be further reduced, the flying robot reaches the smallest circle center. Two keys of this algorithm are how to navigate the robot toward the farthest target and how to judge whether the maximum projection–target distance cannot be further reduced.
For the first component, the following navigation law can be adopted:
where
Here,
and
are some given positive parameters. This navigation law has been successfully used in obstacle avoidance [
46] and environmental level sets tracking [
47]. Here, we need to examine if this navigation law can be adopted for the said purpose. In [
46],
is the minimum distance from obstacles; while in [
47],
is the pre-specified environmental parameter and the goal is to navigate a ground robot to track such level. In this paper,
is the distance at which the robot is regarded as reaching a target. Since the objective is not to reach a specific target,
can be simply set as a small value. By doing so, the flying robot will not stop before it comes to the proximity of the targets.
Deciding whether the maximum projection–target distance can be further reduced is difficult for an online algorithm, since the flying robot may not know the projection–target distances for the future. To this end, it is necessary to find an alternative way to assist the flying robot to check whether the optimal position has been reached. Below, two conditions based on the features of the smallest circle are presented.
Specifically, there should exist at least two targets on the smallest circle and all the other targets are inside the circle. For the case with two targets on the circle, say
and
, the straight line linking these two targets is the diameter of the smallest circle. Thus, one can have:
where
and
are also used to represent the estimated locations of targets
and
, respectively,
and
are the projection-distance distances, respectively, and
is the 2D distance between targets
and
.
For the case with more than two targets on the circle, say
,
, one can have the following features:
represents the triangle formed by the targets
,
and
. It requires that there exists at least one set of three targets forming an acute triangle or a right triangle, rather than an obtuse triangle, otherwise the robot is not at the smallest circle center. For example, in
Figure 3, the green dotted circle is centered at
, with
,
and
on the circle and all the others are inside the circle. This is not the smallest circle. Since the triangle formed by
,
and
is an obtuse one, the flying robot can reduce the radius by slightly moving the center towards the target corresponding to the obtuse angle, i.e.,
.
will still be inside the new circle as well as all the others. The smallest circle for this case is the red dash one, where
,
and
are on the circle and they form an acute triangle.
To verify conditions (
7) and (
8), the flying robot needs to estimate
k targets’ locations, which correspond to the largest
k projection–target distances. A statistical method is used to determine
k. Simulations with different numbers of targets have been conducted to see how many targets are on the smallest circle. The Welzl’s algorithm [
11] is used to determine the smallest circle, and the average results are shown in
Figure 4, where many targets (10 to 90) are randomly deployed 1000 times independently. From this result, one can see that the probability of two or three targets on the smallest circle is about 0.9; that of no greater than four targets on the circle is about 0.95, and that of over five targets on the circle is almost 0. Therefore, to implement the proposed algorithm on a flying robot in real time for an arbitrary distribution of targets,
k takes 5. Notice that this
k value may not be suitable for scenarios with some specific formations; for example, all the targets remain in a circular formation. To make the proposed algorithm work for these cases, the robot will need to estimate all the targets’ locations all the time, which significantly increases the computation load.
The overall algorithm is summarized in Algorithm 1. Here,
is the vector of projection-target distances and
is the vector of the derivatives. If the robot has not reached the smallest circle center, it moves closer to the farthest target (Line 5), i.e., reducing the maximum projection-target distance. The flying robot will dynamically change the expected target once another target becomes the farthest one. After reaching the smallest circle center, the robot stops moving horizontally and then moves vertically to the altitude corresponding to the smallest radius (Line 3). It is worth mentioning that in the implementation when the robot checks the first sub-condition of (
7) or (
8), a threshold is used, i.e., if the gap between the two distances is smaller than the given threshold, (
7) or (
8) is regarded as satisfied. Notice that Algorithm 1 navigates the flying robot to a position whose projection is the smallest circle center. To have all the targets in vision, the flying robot will further adjust its altitude such that the coverage radius equals that of the smallest circle. If at the highest altitude the camera still cannot cover the smallest circle due to the sparse distribution of the targets, the targets cannot be fully covered. An alternative is to explore the cruising mode, i.e., navigating the flying robot to follow an orbit, which enables the observation of multi-target for a satisfying time interval in a sparse distribution.
Algorithm 1: The range-based reactive navigation algorithm. |
Require: and . |
Ensure:u and v. |
- 1:
Sort and in decent order according to the distance and for the first k distances, estimate the corresponding targets’ locations. - 2:
if Condition ( 7) or ( 8) holds then - 3:
, . Compute the altitude using ( 2) with r replaced by . - 4:
else - 5:
Compute control input u according to ( 6) with and replaced by and . . - 6:
end if
|
The presented method can be extended to the case of mobile targets. Here, we only consider horizontal movement. In this case, the flying robot keeps following the targets instead of stopping to hover. Thus, the tasks of checking conditions (
7) or (
8) are not necessary, which results in there being no need to estimate the targets’ positions. The flying robot only needs to find out the farthest target and then uses Formula (
6) to compute the control input.