Subsequent to the task allocation outcomes, the multiple UAVs embark on sequential path search procedures. Individual UAVs visit designated task targets according to their respective task sequences. Throughout this process, we assess the safety and energy costs of continuous trajectories (
Section 3.3.1) and employ a novel A* algorithm (
Section 3.3.2) to prolong the trajectory towards the task target’s location. This extension aims to minimize an objective function that integrates energy costs, safety considerations, and contributions to scene reconstructability (
Section 3.3.3).
3.3.1. Safety and Energy Costs
To facilitate our path planning algorithm in generating safe and energy-efficient trajectories for multiple UAVs, we must assess both the safety and flight energy costs associated with continuous trajectories for these UAVs. A continuous trajectory traversing all viewpoints [
39,
40,
41] can be expressed as
, with
representing a smooth curve tracing the trajectory’s coordinates in dimension
as a function of time
. Typically, this curve is represented using an
-degree polynomial, which also embodies a dynamic characteristic of the continuous trajectory [
39]:
where
represents the polynomial coefficient of the curve. In this work, we set
.
To ensure the safety of continuous trajectories, we compute the real-time distance, denoted as
, between any two UAVs using the following equation:
Here,
and
denote the flight trajectories of distinct UAVs, respectively. To prevent collisions between multiple UAVs, it is crucial to ensure that the minimum value of
is consistently greater than the safe distance. Although the state-of-the-art methods [
9,
10,
12,
21] enable the simultaneous capture of image data by dividing a single trajectory into multiple segments, they still entail the risk of collision among multiple UAVs.
To evaluate the energy costs of continuous trajectories, we calculate the squared integral of the acceleration trajectory’s derivative:
where
represents the duration of the trajectory. Equation (13) can be employed to represent the dynamical continuity and smoothness of the trajectory throughout its duration. A lower value of
indicates a shorter trajectory duration and smoother acceleration/deceleration, resulting in reduced trajectory energy costs. Therefore, in this study, we regard
as an approximation and quantification of the trajectory’s energy costs.
In summary, our approach involves calculating the real-time distance between any two UAVs and evaluating trajectory smoothness based on the dynamics of the continuous trajectory. These calculations serve to quantify both the safety and energy costs of the multi-UAV continuous trajectory. This integrated assessment enables us to optimize trajectory energy costs while simultaneously ensuring the safety of multiple UAVs during the path searching process.
3.3.2. Searching Process
We have developed a novel A* algorithm to extend the path of UAV
towards the region where the task target
is located. The schematic diagram and pseudo-code of the algorithm are presented in
Figure 5 and Algorithm 1, respectively. The algorithm follows a similar framework to the traditional A*, and the process is outlined as follows: We begin by defining two sets of viewpoints,
Open_Set and
Closed_Set. Additionally, we assign a
Score attribute to each candidate viewpoint in
. Following initialization, the viewpoint
with the lowest
Score in
Open_Set is successively moved to
Closed_Set until it approaches the task goal
. If
is not yet close to
, we search for neighboring viewpoints
in the candidate viewpoints
that are not in
Closed_Set and are in a safe space. The viewpoints in
that are not part of
Open_Set are added to
Open_Set, and we calculate the score
for each neighboring viewpoint
. If
is lower than the original
Score of
, we update the
Score of
to
and its source viewpoint to
.
Algorithm 1: Path_Searching |
|
In contrast to the traditional A*, firstly, our approach draws inspiration from Hybrid A* [
35]. We prioritize trajectory smoothness by refining the process of locating neighboring viewpoints. The process begins by backtracking the viewpoint
, generating a continuous trajectory denoted as
. Furthermore, we extend the distance
from
along the end tangent direction of
to reach the position
. Finally, within
, we perform a K-NN search to find multiple nearest neighbors
using
as the center and
as the radius. Secondly, to calculate the score of viewpoints, we design an objective function that incorporates factors such as trajectory energy costs, scene reconstructability, and flight safety. The detailed description of the specific objective function can be found in
Section 3.3.3.
In essence, building upon the foundation of the classical A* algorithm, we curtail the direction and extent of the continuous trajectory expansion. This is achieved by strategically situating neighboring viewpoints along the tangent line at the trajectory’s terminus, thereby guaranteeing heightened trajectory smoothness. Furthermore, our objective function enables the concurrent optimization of the trajectory and reconstruction quality.
3.3.3. Objective Function
As described in
Section 3.3.2, the objective function is utilized in each path searching loop to calculate the score of
, which represents a neighboring viewpoint of
. This score guides the selection of viewpoints and the extension of paths. The objective function is designed to achieve the following effects on path guidance:
Close to the task target. To guide the current path towards the region where the task target
is located, we aim to predict the minimum energy cost of reaching
after adding
to the path. A lower cost indicates that the UAV is closer to the task target. Therefore, we backtrack from
to acquire the path denoted as
. Furthermore, we extend
by adding
, along with a viewpoint sharing both the horizontal position of
and the height of
. This augmentation results in the creation of
, serving as the foundation for generating a continuous trajectory labeled as
which originates at the initial path point, traverses
, encompasses
, and culminates in reaching
. The energy cost
represents the minimum value required to reach
. However, we observed in practice that when
is distant from the search starting point, the trajectory may take a considerable amount of time to extend to
. Consequently, we design an exponential function as a component of the objective function:
where
denotes the initial continuous trajectory of the path before initiating the path search process. The parameter
corresponds to
.
Maximize reconstruction contribution. In order to calculate the score of
, it is necessary to determine the direction with the highest reconstruction contribution for
, which requires the design of a contribution evaluation function. Our reconstructability heuristic indicates that the reconstructability of a surface point can only be increased if it is effectively observed by at least two viewpoints simultaneously. If we defined the contribution of a viewpoint as solely the improvement in reconstructability of surface points, the viewpoints would tend to observe regions that have already been explored, resulting in inadequate scene coverage. Therefore, we introduce a coverage attribute
for each viewpoint
to keep track of the number of new surface points observed by
. The contribution evaluation function of viewpoint
is
where
represents all the viewpoints selected currently, encompassing
, the viewpoints in
, and viewpoints from other paths.
denotes the coverage weight. The incorporation of the coverage attribute aims to stimulate viewpoints to actively observe previously unexplored regions.
Maximize the average contribution of each viewpoint to the scene. Excessive density of viewpoints not only increases the reconstruction elapsed time but can also introduce errors that reduce the reconstruction quality [
11]. Hence, it is crucial to minimize the number of viewpoints while striving to maximize the trajectory’s contribution to the scene. To achieve this, we incorporate
as a component of the objective function:
where
represents the path obtained by appending
to the end of
and
denotes the number of viewpoints present on this path.
Maximize the contribution to the scene per unit of energy cost. One of our objectives is to capture scene images that result in a higher quality 3D model while minimizing the energy cost. Therefore, we aim to maximize the reconstruction contribution of the trajectory per unit of energy cost. This is achieved through the design of
as follows:
where
represents the continuous trajectory that traverses all the viewpoints in
.
Consequently, the objective function can be designed as follows:
Here, and represent weight parameters. signifies the safety evaluation function for the trajectory . Real-time computation of the minimum separation between and ongoing continuous paths of multiple UAVs is determined using Equation (12). When the computed distance falls below the safety threshold, is assigned the value of Inf; otherwise, it takes on the value of 1.
In this work, we maintain an ongoing influence over viewpoint selection and trajectory extension, driven by the minimization of the designated objective function, denoted as . The objective function encompasses energy costs, contributions to reconstructability, and safety considerations. This approach not only ensures that the trajectories of our multi-UAV system achieve efficiency in terms of energy costs but also ensures the secure acquisition of scene images with substantial reconstruction contributions.