1. Introduction
The demand for autonomous aerial vehicles, commonly called drones, has largely increased in recent years due to their compactness and mobility, which enable them to carry out various tasks that are economically inefficient or potentially dangerous to humans. For example, it is not easy for humans to explore rugged mountain terrains, flooded areas, or air pollution regions without drones. Consequently, they have been extensively employed in various search applications, such as industrial building inspections [
1,
2], search and rescue operations [
3,
4,
5], and post-disaster area exploration [
6,
7,
8].
The search applications have one important factor in common: search efficiency. Previous research has focused on improving the stand-alone performance of each drone, such as localization accuracy, communication robustness, and various sensors [
9]. However, it is relatively expensive to employ a group of such high-end drones. Additionally, it takes a long time for a drone or a few drones to cover a broad search space. Thus, previous studies have tried to decompose the search space [
10] or control a number of low-cost drones into several formation patterns [
11,
12].
Despite the previous research successfully demonstrating the feasibility of search-by-drones, there is still room for improvement. Most of all, considering time and cost, it is not the best strategy to thoroughly scan every available location in the search space. In other words, it is more effective for drones to conduct a brief survey first and successively progress to better locations by investigating the evidence of the surroundings and communicating with each other. We can easily find examples of this kind of strategy from nature, such as ants, bees, fish, birds, and so on. They show cooperative and intelligent behaviors to achieve complex goals, which is called swarm intelligence [
13,
14,
15,
16]. In fact, in the area of multi-robot path planning in 2-
D space, there have been several studies of approaches based on swarm intelligence [
17,
18]. However, there is a crucial difference between mobile robots in 2-
D space and drones in 3-
D space. Whereas mobile robots can stand stably without any posture control and only need to be controlled by position feedback, the postures and positions of drones should be carefully controlled based on a certain dynamic model in order to hover stably.
Therefore, in this paper, a novel swarm search method for quadcopter drones is proposed by integrating the position update rule of the swarm intelligence algorithm and the motion controller using a dynamic model of the drones. In the proposed method, a swarm of more than 10 drones was employed for a search mission. The swarm was controlled by a position update mechanism which included the swarm intelligence inspired from a well-known swarm-based optimization algorithm. In addition, a dynamic model for the drones was applied to the mechanism since real-world drones, in contrast to the individuals in the optimization algorithm, have physical limitations such as maximum speed and maximum acceleration. Moreover, the overall mechanism was processed in real-time along with the movements of the drones.
To verify the effectiveness of the proposed method, the overall procedure was implemented as a simulation and repeatedly tested. As the test problems, Rosenbrock function optimization and air pollutant search problems were employed. The Rosenbrock function is a well-known benchmark function for numerical optimization. The air pollutant search problem was designed by modeling atmospheric dispersion though a Gaussian air pollutant dispersion equation. Additionally, the results of the proposed method were compared to those of a conventional grid search method.
This paper is organized as follows.
Section 2 explains the proposed methodology in detail. In
Section 3, the experimental results are demonstrated. Finally,
Section 4 presents conclusions.
2. The Proposed Swarm Search Method
The main contribution of this paper is that a novel drone position update mechanism for the swarm search was designed to be specific enough to consider real-time control and the real-world environment. There are two important issues in the mechanism: the swarm intelligence and the dynamic model of the drones. The swarm intelligence calculates the next destinations of the drones at each iteration based on the particle swarm optimization algorithm, and the dynamic model determines how the drones approach the next destination based on the real-world environment. Note that, for simplicity, it is assumed that the drones are fully sharing their information, are able to predict the collisions between them, and can stop before the collision on their own. In other words, in the mechanism, the position commands of two or more drones can be the same at the same control period.
In this section, the drone position update mechanism is explained in detail, and then the entire search process is described step-by-step.
2.1. The Drone Position Update Mechanism
2.1.1. The Swarm Intelligence for the Mechanism
At each iteration of the proposed method, the update mechanism should calculate the next positions of the drones by obtaining the information of the current positions and sharing them with each other (i.e., swarm intelligence). To implement the swarm intelligence, as a backbone, a particle swarm optimization (PSO) scheme is employed [
19,
20]. In the PSO scheme, each drone decides where to go by combining the information of its previous displacement, the personal best position it has ever experienced, and the global best position the entire swarm has ever found. If we denote the displacement, the personal best position, and the global best position at iteration
t as
,
, and
, respectively, then the next displacement of a drone is determined as:
where
and
are constants and
and
are random real values uniformly distributed in
. Note that the random values are newly generated at each iteration for each particle. Obviously, the next destination
is calculated as:
However, drones in the real world cannot teleport to their destinations. Instead, they gradually approach their destinations following control commands based on their dynamic model. Therefore, the next position
at the
-th control period is determined as:
where
represents the control output according to the input. This control loop is repeated until
, and then
t increases by 1.
2.1.2. The Dynamic Model of the Drones for the Mechanism
The update mechanism should reflect the way in which the drones approach the next destination based on the real-world environment (i.e., the dynamic model). To establish the dynamic model, first, the kinematic model of a drone is necessary, as shown in
Figure 1.
From this kinematic model, the rotation matrix
R for mapping the vector from the body frame to the inertial frame can be derived as
where
and
represent
and
, respectively. Then, from Newton’s equation, the linear motion can be derived as
where
x is the position of the drone,
g is the acceleration due to gravity,
is the drag force, and
is the thrust vector in the body frame. For simplicity, in this paper, the drag force is regarded as 0, and
is calculated based on [
21]. Additionally, from Euler’s equation, the angular motion can be derived as
where
w is the angular velocity vector,
I is the inertia matrix, and
is a vector of external torques. In this paper,
I and
are calculated based on [
22,
23]. Finally, based on these motion equations, the final state space equations for the dynamic model can be derived as
where
is the velocity vector,
is the acceleration vector,
is the angular velocity vector, and
is the angular acceleration vector. The model parameters used in this paper are listed in
Table 1.
As shown in
Figure 2, the control system of the drone can be designed based on a well-known proportional-integral-derivative (PID) control scheme [
24]. Note that the control system is not for the low-level motor actuation control, but for the high-level control of the commands transmitted to each drone. In addition, in simulation, the sensor system and the environment can be replaced by the dynamic model derived above.
First, the position error at the n-th control period is calculated. Then, the linear PID system yields the desired displacement , and the next destination posture can be calculated by multiplying a scaling matrix, since it is assumed that the drone is in a piecewise hovering state. Lastly, the angular PID system yields the posture displacement vector , and the actuation system executes the corresponding throttle commands for the motors. As a result, the drone can gradually approach the next destination .
Algorithm 1 Swarm search. |
: The search space of the problem : The swarm of the drones : The number of drones in : The k-th drone : The position of at iteration t : The displacement of at iteration t : The objective function value of : The global best position of at iteration t : The personal best position of at iteration t : The position of in the n-th control period at iteration t : The command output of the controller (1) Initialize . fordo Evaluate = Deploy at if is better than then end if end for (2) Update . fordo while do c = Controller() Actuate with c () Evaluate if is better than then end if end while if is better than then end if end for () (3) Repeat (2) until a termination condition is met.
|
2.2. The Overall Procedure of the Swarm Search
The overall procedure of the proposed swarm search is summarized in Algorithm 1, and each step of the algorithm is explained in the following.
First, the swarm of the drones is initialized. For each drone in the swarm, the position is randomly initialized in the search space , and the displacement is initially set to a zero vector. The objective functions are initially calculated for each drone, and the initial personal best position of each drone is set as the position of itself. Additionally, the initial global best position of the swarm is set as .
Following this, the swarm of the drones is updated. For each drone in the swarm, the position is updated through the drone position update mechanism, as explained above. During the update process, the personal best positions and the global best position are also updated, and this update process is repeated until a termination condition is met. For example, a termination condition can be defined as a maximum number of iterations.
3. Experiment
In the experiment, first, the proposed swarm search method and, as a comparison, the conventional grid search method were implemented. Then, for each test problem, the objective function was designed and applied to both methods. Lastly, 100 simulations were run for each problem and method. Note that in the conventional method, it was assumed that the drones maintained a parallel formation and scanned every location of the search space unidirectionally along the axis in the order of x-, y-, and then z-axes. In addition, in the conventional method, since its position update process is independent of the objective function of the problem, the drones began the search mission at one corner of the search space and the goal was randomly set at each trial. To balance the different conditions of the two methods, in the comparison, one iteration for a drone was defined as one change of the searching direction instead of one visit to a point. Thus, for example, visiting all the grid points from to along the x-axis direction was regarded as one iteration in the conventional method.
In this section, the detailed information about the environment settings is demonstrated, and then the experimental results and their analysis are provided.
3.1. Environment Settings
The proposed method was implemented as a software written in Python (Python software foundation, version 3.5.2) language with Numpy and Matplotlib libraries. The software was run on Linux OS (version 16.04) with Intel i7-6900K CPU, 128 GB DDR4 RAM, and NVIDIA Titan X Pascal GPU. The source code of the simulation engine was based on [
25]. The update period of the drone dynamics was set to
s and the control period was set to
s.
The search mission based on the Rosenbrock function was adopted as Test Problem 1. In this problem, the drones obtained the sensor data at their positions virtually according to the mathematical model which was based on the Rosenbrock function, and the final goal was the position at which the function value was globally minimum. The Rosenbrock function is a well-known benchmark function for numerical optimization because it is hard to find the global minimum in its search space [
26,
27]. The following is the equation of the sensor data model:
where
. In this problem,
N was set to 3 since the real world is three-dimensional, and the number of drones was set to 25. The corresponding global minimum could be found at the position of (
).
For Test Problem 2, an air pollutant search problem was employed. The mission of this problem was to find the origin of the air pollutant at which the pollution concentration was globally maximum. The air pollutant search problem was designed by modeling atmospheric dispersion through a Gaussian air pollutant dispersion equation [
28,
29].
Figure 3 shows the visualization of the Gaussian air pollutant dispersion on
x- and
z-axes, which was originally from [
30].
The Gaussian air pollutant dispersion equation can be written as:
where:
From [
29],
and
can be determined as:
where
was set to
in this problem.
In this problem, the number of drones was set to 15. In addition,
Q,
u, and
H were set to 10, 3, and 10, respectively. It was assumed that the atmosphere was in a neutral state, and, according to the classification of stability class proposed in [
31,
32],
,
,
,
,
, and
were set to
,
,
,
,
, and
, respectively. Based on these settings, the corresponding global maximum could be found at the position of (
).
3.2. Experimental Results
The results demonstrate the effectiveness of the proposed method through the following figures describing the trajectories of the drones with the proposed method, as well as the tables representing the statistical comparisons between the proposed and conventional methods.
Figure 4 shows the simulation of Test Problem 1 through the proposed method at iterations 1, 10, 50, and 1500. As shown in the figure, the drones successfully found the target position at which the Rosenbrock function had the minimum value within 150 iterations. Note that the drones were unaware of the function as well as its derivatives.
Figure 5 shows the simulation of Test Problem 2 through the proposed method at iterations 1, 10, 20, and 30. As shown in the figure, the drones successfully found the target position at which the pollutant was being emitting within 30 iterations. Note that the drones had no knowledge of the dispersion model, and could simply measure the air pollution concentrations at their positions.
The full simulation videos for Test Problems 1 and 2 are provided through the YouTube links “
https://youtu.be/fIUmsO5B4CA” and “
https://youtu.be/cdlCZQeN-Bo”, respectively. The videos show that the drones could find the global minimum or maximum under non-convex or near non-convex environments. The videos also show that the drones could be controlled stably in real-time, and the dynamic model was well-applied considering the real-world environment.
Moreover,
Table 2 shows the averages (
s) and standard deviations (
s) of the number of iterations
n for the proposed and conventional methods to satisfy the corresponding termination condition (
) about error distance
. Since the search space was based on a real-world environment, the unit of distance was meters. If we consider the size of commonly-used drones (approximately 1.0 m), the minimum grid size for the conventional grid search should be greater than 1.0 m. Based on this condition, we can approve that the drone is close enough to the goal if
is less than 2.0, which is double the minimum grid size. Additionally, the
s and
s of the final
for the proposed and conventional methods with the limited number of iterations
are shown in
Table 3. Smaller values of both
n and
are desirable, where
n and
imply the speed and the accuracy of the methods, respectively. As displayed in the tables, the proposed method could find the target more quickly and more accurately and robustly than the conventional method. Note that the proposed method showed a more powerful result in the real-world problem (e.g., Test Problem 2) than the virtual problem (e.g., Test Problem 1).
4. Conclusions
In this paper, a novel search method for a swarm of quadcopter drones was proposed. In the proposed method, inspired by the phenomena of swarms in nature, drones could effectively look for better locations by investigating the evidence from the surroundings and communicating with each other. The position update mechanism was implemented based on the particle swarm optimization algorithm (a well-known swarm-based optimization algorithm), as well as the dynamic model of the drones, which was used to take the real-world environment into account. In addition, the mechanism could be processed in real-time along with the movements of the drones. The experimental results showed that through the proposed method, the drones could find the target more quickly and accurately than by the conventional algorithm. Most importantly, the proposed method has high practical potential, considering that the drones were simulated in real-time and the dynamic model sufficiently reflected the real-world environment.