This section introduces the proposed multi-UAV task scheduling framework for large-scale 3D reconstruction edge-intelligence systems, which is divided into two main stages: sub-region scheduling and viewpoint scheduling. In the first stage, the target area is partitioned into sub-regions based on no-fly zones and communication range constraints. Given the power limitations of UAVs, sub-regions are then clustered into energy-constrained work paths using a novel, constrained CVRP model. In the second stage, after viewpoints are generated within each sub-region, they are allocated to each UAV using an efficient scan-based heuristic algorithm designed to balance workloads and synchronize mission completion times.
3.1. Target Area Segmentation Method
To meet the communication and battery limitations of UAVs in large-scale 3D reconstruction, it is a common and necessary practice to segment the target area into smaller, manageable sub-regions. A primary challenge in this process is handling complex environments that contain no-fly zones (NFZs), which are effectively “holes” within the operational area.
Our approach builds upon established methods in computational geometry to solve this. We first utilize the exact cell decomposition technique proposed by Bahnemann et al. [
7] to partition a complex polygon with holes (PWH) into multiple, simpler sub-polygons. This method also calculates an optimal service direction for each sub-polygon, which is essential for planning efficient coverage paths. Subsequently, we incorporate the improvements developed by Agarwal et al. [
8], who showed that merging adjacent sub-polygons that share the same service direction can reduce the total number of turns and minimize the creation of inefficiently small area fragments.
While these methods provide an effective initial partitioning, our framework introduces an additional segmentation step tailored to the specific operational constraints of multi-UAV systems. We further divide the generated sub-polygons into standardized, square-shaped units with a side length of
a. We selected a square-based partitioning strategy over alternatives like Voronoi tessellation for two primary reasons. First, it provides a direct and verifiable guarantee that all points within a sub-region are within the UAV’s communication range from a central point, a critical constraint for maintaining stable control. Second, it produces regular units that simplify the subsequent CVRP formulation for inter-mission scheduling. This represents a deliberate trade-off favoring operational robustness and modeling tractability over the potentially more adaptive but complex partitioning offered by other shapes. The study assumes that the UAV’s communication range can fully cover a sub-region with side length
a, as shown in
Figure 1, and that this side length is smaller than the maximum communication distance.
Therefore, the target area segmentation problem can be formally modeled as follows: Given a target area G represented by the polygon P with an outer contour and a set of no-fly zones , where each is a no-fly zone, how can we obtain a set of sub-regions ? Specifically, this set of sub-regions is a partition of the given polygon such that and , and each element is no larger than a square area with side length a.
The detailed process of the Target Area Segmentation Algorithm (TASA) is shown in Algorithm 1. The algorithm’s input includes the target area’s outer contour
P and the no-fly zone set
. As shown in
Figure 2a, areas are represented by vertices arranged counterclockwise. The algorithm first processes no-fly zones, clipping any intersecting parts from the target area to produce the processed contour
and no-fly zone set
(
Figure 2b). Next, the target area is initially segmented using the decomposition method from Bahnemann et al. [
7], resulting in a set of sub-polygon-service direction pairs
. To reduce the number of service paths, these directions are then improved using the merging method from Agarwal et al. [
8], yielding an improved set
(
Figure 2c). Service paths are then generated parallel to these directions (
Figure 2d), forming narrow rectangles that are subsequently cut into a set of square sub-regions
(
Figure 2e). Finally, to obtain the effective segmentation, the intersections of each square sub-region with the valid target area are calculated, resulting in the trimmed sub-region set
(
Figure 2f).
Computational Complexity: The complexity of Algorithm 1 is dominated by the exact cell decomposition and polygon clipping operations. These are standard computational geometry procedures, and their complexity is polynomial in the total number of vertices of the input polygons (the target area and NFZs).
Algorithm 1 Target Area Segmentation Algorithm (TASA) |
- Require:
Target area outer contour P; No-fly zone set ; Side length threshold a; - Ensure:
Sub-region set ; - 1:
Traverse the no-fly zones, delete areas outside the target area, and if a no-fly zone intersects the target area, clip the intersecting part from the target area and the part of the no-fly zone outside the target area, obtaining the target area outer contour and the no-fly zone set ; - 2:
Segment the target area and determine the service direction for each sub-polygon, obtaining the sub-polygon-service direction pair set [ 7]; - 3:
Improve the service directions in according to Agarwal et al.’s method [ 8], merging adjacent sub-polygons with the same service direction, obtaining the improved sub-polygon-service direction pair set ; - 4:
Generate service paths with spacing a according to the improved service directions in , obtaining the service path set [ 8]; - 5:
Obtain tightly arranged square sub-regions along the service paths, obtaining the square sub-region set ; - 6:
Traverse each square sub-region , successively calculating and recording the intersection with the target area, obtaining the trimmed sub-region set . - 7:
return ;
|
3.2. Sub-Region Allocation Method
After the target area is divided into sub-regions, the large-scale reconstruction sensing task is transformed into several sub-region sensing tasks. Given the limited battery capacity and the time required for UAVs to collect images, a single mission can only cover a limited area. Consequently, a multi-UAV system may not complete the reconstruction of all sub-regions in one go. To address this, sub-regions are clustered into groups before traversal, and each cluster is reconstructed within a single work path.
In our framework, the constraint on a work path is its total energy capacity. To establish a reasonable and tractable energy model, we conducted preliminary flight experiments using DJI Matrice 100 (Shenzhen, China) UAVs [
22]. We observed that the energy consumption between two waypoints can be accurately modeled as a linear function of the flight distance, incorporating a fixed energy cost for operations at each waypoint such as hovering and image capture. As shown in
Figure 3, our empirical data revealed a strong linear correlation between the predicted energy consumption from our model and the ground truth data from the UAV’s battery sensor. The close tracking in both flight distance and energy consumption validates our model.
Given this strong empirical evidence, and because the primary focus of this paper is on the scheduling logic rather than high-fidelity energy modeling, we simplify the energy cost to be directly proportional to the flight path distance for the purpose of our optimization model. This simplification is, therefore, empirically justified and allows for a tractable CVRP formulation, where the “capacity”
of a vehicle (a single sortie) and the “demand”
of a customer (a sub-region) are represented by flight distance.
Figure 3.
Validation of the simplified energy model based on real-world flight data from a DJI Matrice 100. (a) compares the planned cumulative flight distance against the actual ground truth. (b) shows the strong linear correlation between the energy consumption predicted by our model and the actual energy consumed.
Figure 3.
Validation of the simplified energy model based on real-world flight data from a DJI Matrice 100. (a) compares the planned cumulative flight distance against the actual ground truth. (b) shows the strong linear correlation between the energy consumption predicted by our model and the actual energy consumed.
This section models the sub-region sensing problem as a Capacitated Vehicle Routing Problem (CVRP) [
23]. While similar problems have been addressed through arc coverage path planning [
24] and point coverage path planning [
25], modeling it as a CVRP is particularly advantageous here. This approach not only clusters the sub-regions but also simultaneously determines the optimal traversal paths within each cluster by considering the positional relationships between them, achieving comprehensive coverage while ensuring relatively short traversal paths.
Our formulation, however, extends the standard CVRP to meet the specific demands of multi-UAV missions. The primary goal is not merely to satisfy capacity constraints, but to ensure that each work path is utilized efficiently to promote workload balance across different sorties. To achieve this, we introduce a novel route capacity balancing constraint (Equation (
7)). This key modification mandates that the total workload of any path must be at least
times the maximum capacity
, which prevents the generation of inefficiently short paths and ensures a more uniform distribution of tasks. The problem is defined on a directed graph
, where each element in
represents a sub-region. The formal definition is as follows:
where
denotes the transpose of the sub-region transition cost vector
. The vector
x is composed of elements
, which are
decision variables indicating whether the path from sub-region
to sub-region
is included in a work path. The notation
represents the arcs originating from
, while
denotes the arcs terminating at
. The set
represents the arcs whose endpoints belong only to the node set
, which consists of nodes representing sub-regions. The demand vector
q is defined such that each element
represents the area of the sub-region corresponding to node
. The auxiliary variable
represents the cumulative demand from the starting point to node
.
The meanings of Equations (
1)–(
7) are as follows. Equation (
1) is the objective function, aiming to minimize the total path length. Equations (
2) and (
3) ensure that each sub-region is visited exactly once. Equation (
5) implements the Miller–Tucker–Zemlin (MTZ) constraints [
26] to prevent subtours. Crucially, Equation (
7) is our proposed route capacity balancing constraint, which distinguishes our model from standard CVRPs by enforcing a minimum workload for each path, thereby ensuring a balanced and efficient allocation.
The pseudo-code for solving this problem is shown in Algorithm 2. Before solving, two key inputs must be computed: the demand vector
q and the sub-region transition cost vector
. The area of each sub-region
is calculated using the Shoelace formula [
27]. The calculation of the cost vector
, as detailed in Algorithm 3, is more involved. A simple Euclidean distance between the centers of sub-regions is insufficient, as it does not reflect feasible travel paths that must navigate through adjacent regions. Therefore, we construct a cost model that represents the shortest path distances through the adjacency graph of the sub-regions.
Algorithm 2 MIP-based Sub-region Allocation Algorithm (MIP-SAA) |
- Require:
Sub-region set ; Starting point coordinates s; Demand vector q; Maximum capacity ; Capacity ratio threshold ; - Ensure:
Sub-region allocation result ; - 1:
Calculating the cost vector using Algorithm 3; - 2:
Solve the MIP problem defined by Equations ( 1)–( 7) to obtain the set of all elements with a value of 1 in the indicator vector x; - 3:
Find the subset of X where , and the total number of paths ; - 4:
Initialize the path dictionary , ; - 5:
while is not empty do - 6:
Extract an element from ; - 7:
if i is the same as the second element of the last tuple in the path list corresponding to key k in then - 8:
; - 9:
end if - 10:
end while - 11:
return ;
|
This process begins by establishing an undirected graph
, where
is the set of center points of all sub-regions. To determine the connections between adjacent sub-regions (the edge set
), we employ the Delaunay triangulation algorithm [
28]. As shown in
Figure 4, this technique is ideal for connecting neighboring nodes with the shortest possible edges, creating a graph that accurately represents the topology of the sub-regions. With this graph constructed, we then apply the Floyd–Warshall algorithm to compute the shortest path distances between all pairs of nodes in
, yielding a complete distance matrix
D. This ensures that the cost between two distant sub-regions is the sum of the lengths of the intermediate adjacent connections, aligning well with the characteristics of a coverage path planning solution. Finally, the cost vector
is derived from this matrix, retaining only the entries relevant for the CVRP model.
Computational Complexity: The sub-region allocation problem, modeled as a CVRP, is NP-hard. Therefore, Algorithm 2, which relies on a MIP solver, has a worst-case exponential time complexity. This approach is designed for offline pre-mission planning, where computational time is less critical than achieving a high-quality, balanced, and globally efficient solution. The complexity of the cost calculation in Algorithm 3 is dominated by the Floyd–Warshall algorithm, which is polynomial at
, where
is the number of sub-regions.
Figure 4.
Using Delaunay triangulation to establish an adjacency graph for sub-region cost calculation. (a) A set of 2D points representing sub-region centers. (b) The resulting triangulation connects adjacent centers, forming a graph used to compute the shortest feasible path distances between all sub-regions. The orange line represents the shortest path between sub-region A and sub-region B.
Figure 4.
Using Delaunay triangulation to establish an adjacency graph for sub-region cost calculation. (a) A set of 2D points representing sub-region centers. (b) The resulting triangulation connects adjacent centers, forming a graph used to compute the shortest feasible path distances between all sub-regions. The orange line represents the shortest path between sub-region A and sub-region B.
Algorithm 3 Sub-region Transition Cost Vector Calculating Algorithm |
- Require:
Sub-region set ; Starting point coordinates s; Side length threshold a; - Ensure:
Sub-region transition cost vector ; - 1:
Initialize as an empty list; - 2:
Calculate the center coordinates set of the sub-regions using the average of the vertices of each sub-region; - 3:
Use Delaunay triangulation to connect the centers of adjacent sub-regions, obtaining the edge set ; - 4:
Form an undirected graph with the connections between centers; - 5:
Use the Floyd-Warshall algorithm to calculate the distances between any two points on , obtaining the distance matrix D; - 6:
Record elements in D representing distances between sub-regions and those less than , as well as elements representing distances from the starting point to sub-regions, into the cost vector . - 7:
return ;
|
3.3. MIP-Based Viewpoint Allocation Method
After obtaining the sub-region traverse paths, the second stage of our framework is to solve the viewpoint allocation problem within each sub-region. The viewpoints themselves can be obtained using existing planning algorithms [
29,
30], which are not the focus of this paper. The problem can be described as follows: Given a set of viewpoints
within a sub-region and a total of
UAVs, find a path
for each UAV such that the longest path among all UAVs is minimized, and the difference between the longest and shortest paths remains within a predefined threshold.
To solve this optimally, this section models the problem as a Vehicle Routing Problem (VRP) and solves it using a Mixed-Integer Programming (MIP) approach. This method provides a theoretical benchmark for path balance and efficiency. Our formulation makes two critical departures from a standard VRP. First, instead of minimizing the total distance traveled by all UAVs, our objective function is to minimize the longest individual path (
), as shown in Equation (
8). This directly targets the overall mission completion time, which is dictated by the last UAV to finish. Second, we introduce an explicit path balance constraint (Equation (
16)) to ensure the workloads are evenly distributed.
The VRP is defined on a directed graph
, where each element in
represents a viewpoint. The formal problem definition is as follows:
where
represents the longest path assigned to a UAV. The vector
x consists of binary decision variables
indicating if the path from viewpoint
to
is used. The meanings of Equations (
8)–(
16) are as follows. Equation (
8) is our novel objective function, aiming to minimize the longest path to ensure timely mission completion. Equations (
9) and (
10) ensure each viewpoint is visited exactly once. Equation (
11) sets the number of UAVs. Equations (
13) and (
14) are the Subtour Elimination Constraints (SECs). Finally, Equation (
16) is our explicit path balance constraint, limiting the maximum difference between path lengths to a threshold
g.
The specific steps are shown in Algorithm 4. A critical prerequisite for this algorithm is the calculation of the cost vector
c, which represents the feasible travel distances between all pairs of viewpoints. Unlike the 2D case, calculating this in a 3D environment with obstacles is non-trivial. A direct Delaunay triangulation [
28] in 3D space can result in edges that pass directly through the scene geometry, especially around corners of buildings where viewpoints are sparse (see
Figure 5). Such paths are physically impossible for a UAV.
To resolve this, Algorithm 5 outlines our strategy for computing a valid, obstacle-aware cost vector. First, an initial 3D triangulation of the viewpoints is performed. The algorithm then identifies all edges that intersect with the scene’s mesh. For each invalid edge, the A* search algorithm is used to find a feasible flight path around the obstacles within a voxelized representation of the scene (
Figure 6). The nodes along these A* paths are added to the point set as auxiliary vertices. A second, final triangulation is then performed on this augmented set of points. This ensures that all connections in the resulting graph are collision-free. The Floyd–Warshall algorithm is then applied to this graph to compute the all-pairs shortest path lengths, yielding a valid cost vector
c.
Computational Complexity: The viewpoint allocation problem, modeled as a VRP with side constraints, is NP-hard. Consequently, Algorithm 4 has a worst-case exponential time complexity and is computationally intensive. Its primary role is not for real-time application, but to serve as a benchmark for obtaining optimal solutions in smaller-scale problems and to validate the quality of the heuristic algorithm proposed in the next section. The complexity of the cost calculation (Algorithm 5) is polynomial, dominated by the Floyd–Warshall step at
, where
is the total number of viewpoints and auxiliary nodes.
Figure 5.
Collision-free path generation using auxiliary vertices. (a) Initial 3D triangulation results in edges that incorrectly pass through obstacles. (b) By adding auxiliary vertices along obstacle-aware paths, the final triangulation produces a graph with only feasible, collision-free edges. The green circle indicates the vertices with collision edges and the red circles indicates the added auxiliary vertices.
Figure 5.
Collision-free path generation using auxiliary vertices. (a) Initial 3D triangulation results in edges that incorrectly pass through obstacles. (b) By adding auxiliary vertices along obstacle-aware paths, the final triangulation produces a graph with only feasible, collision-free edges. The green circle indicates the vertices with collision edges and the red circles indicates the added auxiliary vertices.
Figure 6.
Workflow for computing the obstacle-aware viewpoint transition cost vector (Algorithm 5). (a) An initial triangulation with many infeasible edges is produced. (b) The scene is voxelized to create a grid for pathfinding. (c) The A* algorithm finds a collision-free path between the two viewpoints. (d) The final triangulation incorporates the A* path nodes, ensuring a valid connection.
Figure 6.
Workflow for computing the obstacle-aware viewpoint transition cost vector (Algorithm 5). (a) An initial triangulation with many infeasible edges is produced. (b) The scene is voxelized to create a grid for pathfinding. (c) The A* algorithm finds a collision-free path between the two viewpoints. (d) The final triangulation incorporates the A* path nodes, ensuring a valid connection.
Algorithm 4 MIP-based Viewpoint Allocation Algorithm (MIVA) |
- Require:
Viewpoint set ; Starting point coordinates s; Demand vector q; Maximum capacity ; Index set ; UAV distance threshold g; - Ensure:
Viewpoint allocation result ; - 1:
Initialize c as an empty list; - 2:
Obtain the cost vector c using Algorithm 6; - 3:
Solve the MIP problem defined by Equations ( 8)–( 16) to obtain the set of all elements with a value of 1 in the indicator vector x; - 4:
Find the subset of X where , and the total number of paths ; - 5:
Use the Floyd-Warshall algorithm to calculate the distances between any two points on , obtaining the distance matrix D; - 6:
Initialize the path dictionary , . - 7:
while is not empty: do - 8:
Extract an element from ; - 9:
if i is the same as the second element of the last tuple in the path list corresponding to key k in then - 10:
; - 11:
end if - 12:
end while - 13:
return ;
|
Algorithm 5 Viewpoint Transition Cost Vector Calculating Algorithm |
- Require:
Scene proxy M; Viewpoint set ; Starting point coordinates s; - Ensure:
Viewpoint transition cost vector c; - 1:
Initialize c as an empty list; - 2:
Calculate the triangulation of the point set , and the undirected edges in the triangulation result form the set ; - 3:
Derive the voxel map from the scene proxy; - 4:
Initialize ; - 5:
for each edge e in do - 6:
if a ray from one endpoint of to the other intersects the scene, and the distance from the intersection point to the other endpoint is less than the length of then - 7:
; - 8:
end if - 9:
end for - 10:
In , use the A* algorithm to find the paths between the endpoints of each segment in L; - 11:
Add the centers of the voxels in each path to the point set , forming the new point set ; - 12:
Calculate the triangulation of the new point set , and the undirected edges in the triangulation result form the set ; - 13:
Establish the undirected graph ; - 14:
Use the Floyd-Warshall algorithm to calculate the distances between any two points in , obtaining the distance matrix D; - 15:
Fill the cost vector c with entries from D related to the starting point and viewpoints, discarding the rest; - 16:
return c;
|
3.4. Scan-Based Heuristic Viewpoint Allocation Method
The MIP-based method detailed in
Section 3.3 offers an effective, optimal solution to the viewpoint allocation problem but is computationally demanding and time-consuming, making it impractical for large-scale scenarios. To address these limitations, this section introduces a time-efficient heuristic approach—the Scan-based Viewpoint Allocation (SVA) algorithm—that significantly reduces computation time while maintaining high-quality, balanced solutions.
The design of this heuristic is directly inspired by the structural properties of the optimal solutions generated by the MIP-based method. Analysis of these optimal solutions reveals that the allocated UAV paths predominantly fall within distinct, non-overlapping fan-shaped sectors originating from the UAV starting point. This observation provides a strong rationale for our approach: Instead of performing a complex global search, we can approximate the optimal solution structure by partitioning the viewpoints angularly around the starting point.
The SVA method implements this idea through a three-step process: viewpoint ordering, grouping, and path planning.
Ordering: First, all viewpoints are projected onto the 2D horizontal plane. A virtual ray, originating from the UAV starting point, “scans” the viewpoints by rotating 360 degrees. The viewpoints are then sorted into an ordered sequence based on the angle at which the ray intersects their projections, as illustrated in
Figure 7. If multiple viewpoints share the same angle, they are sub-sorted by their distance to the starting point.
Grouping: Next, the sorted viewpoints are allocated into
k groups, one for each UAV. The ”weight” of each viewpoint is defined as its path distance from the starting point (pre-calculated in the cost vector
c). The algorithm iterates through the ordered sequence, accumulating these weights. When the accumulated weight for the current group reaches approximately
of the total weight of all viewpoints, that group is considered complete, and the algorithm begins forming the next one. This ensures that each group of viewpoints represents a roughly equal workload in terms of distance from the base. The result is a set of spatially coherent, fan-shaped clusters, as shown in
Figure 8a.
Path Planning: Finally, with the viewpoints allocated, the task within each group becomes a standard Traveling Salesman Problem (TSP). To find an efficient path for each UAV, we first employ the Christofides algorithm [
31] to generate a high-quality approximate solution. This algorithm is well suited as it guarantees an approximation ratio of no more than 1.5 when the triangle inequality holds. To further refine this solution, we apply the 2-opt local search algorithm [
32], which iteratively improves the path by swapping pairs of edges to eliminate crossings and reduce the total length (
Figure 8b).
The complete pseudo-code is presented in Algorithm 6.
Algorithm 6 Scan-based Viewpoint Allocation Algorithm (SVA) |
- Require:
Cost vector c; Number of UAVs k; Starting point coordinates s; Viewpoint set ; - Ensure:
Path set ; - 1:
Calculate ; - 2:
, ; - 3:
Initialize k sets for viewpoint groups, each set ; - 4:
Initialize the path set ; - 5:
Sort the viewpoints in ascending order of the angle between their projection lines on the plane and the X-axis to obtain the ordered viewpoint sequence ; - 6:
for i in range(0, ) do - 7:
if or the angle between and is different then - 8:
From index i, check the subsequent elements, forming a sublist of elements with the same angle as the i-th element. Sort the viewpoints within in ascending order of ; - 9:
end if - 10:
element at index i; - 11:
; - 12:
; - 13:
if then - 14:
; - 15:
end if - 16:
end for - 17:
for i in range(k) do - 18:
Use the Christofides algorithm [ 31] to find an approximate TSP solution for viewpoint group , resulting in ; - 19:
Improve using the 2-opt local search algorithm [ 32] to obtain ; - 20:
; - 21:
end for - 22:
return ;
|
Computational Complexity: The SVA method is designed for efficiency. The initial sorting of n viewpoints takes . The subsequent path planning for k UAVs is dominated by the Christofides algorithm, which has a complexity of for a group of size m. Since the viewpoints are distributed among k groups, the overall time complexity of Algorithm 6 is polynomial, approximately , which is far more time-efficient than the exponential complexity of the MIP-based Algorithm 4. This makes SVA suitable for practical, large-scale applications where planning time is a critical factor.