3.4.1. Sampling in Obstructive Environment
Sample nodes are generated corresponding to the nodes in
, as illustrated in
Figure 6.
For each node , a new sample node is generated along a direction , which is pseudorandomly determined based on two unit vectors and . The vector indicates the forward direction towards the destination and is defined as .
Meanwhile, represents the direction away from the original path to help avoid collisions, and it is calculated as , where is a randomly generated unit vector.
Then, the sampling direction
is determined by a pseudorandom linear combination of
and
as
where
denotes the clockwise angle from
to
and is generated by
with
being a uniform random variable and
a shaping parameter. A random steering distance
is then sampled from the interval
, where
and
. Accordingly, the new sample node
is generated at the position
.
To ensure both the validity and efficiency of the sampling process, the spatio-temporal feasibility of the connection between the newly generated node and its nearest existing node is evaluated using a linear uniform motion model to approximate the UUV trajectory.
The candidate path from
to
is denoted as
, and its traversal cost is estimated by
. The configuration vector
is then updated according to the following rule
If the path is collision-free, the parent node of is set to , i.e., . Otherwise, the node is discarded, and the sampling process is repeated.
In addition, the inefficiency of sampling in highly obstructed environments is also addressed. This issue arises when numerous sampling attempts fail to produce any feasible node, for instance, when a node is located too close to surrounding obstacles. To mitigate this problem, a maximum sampling attempt threshold is introduced. If more than consecutive invalid sample nodes are generated based on a specific node in , that node will be replaced by its parent node within to guide further sampling in a more promising direction.
The detailed procedure of the sampling strategy is summarized in Algorithm 2.
Algorithm 2: Sampling procedure |
- 1:
- 2:
while
do - 3:
- 4:
calculate and according to - 5:
- 6:
- 7:
if is collision-free then - 8:
remove from - 9:
break - 10:
end if - 11:
end while - 12:
if is valid then - 13:
remove from and - 14:
add to - 15:
end if
|
3.4.2. Expanding via Updating and Optimizing
The expanding procedure consists of two key components as follows: the updating subprocedure and the optimizing subprocedure, as illustrated in
Figure 6b and
Figure 6c, respectively.
In the updating subprocedure, the newly generated node
is connected to a node in
that minimizes the total cost to reach it. A set of nearby, reachable nodes in
is identified and recorded as
, where the Euclidean distance satisfies
. The parameter
is defined as follows:
where
denotes the number of nodes in
,
is the number of detected obstacles, and
. Among the nearby nodes,
is selected such that the total estimated cost
is minimized
where
is the estimated transfer cost from
to
, and
is configured based on Equation (
14).
In conventional RRT*, the cost between two nodes is typically evaluated using Euclidean distance. However, such a metric fails to capture the actual traversal cost for nonholonomic vehicles like UUVs. To address this, the proposed method integrates 3D Dubins curve geometry into the tree-building process by replacing the Euclidean cost with an estimated Dubins curve length, denoted as .
Specifically, during the
updating subprocedure, the parent node
of the newly generated node
is selected by minimizing the accumulated Dubins-based cost as follows:
where
denotes the cumulative cost from the root to node
, and
is the length of the Dubins curve estimated by the trained BPNN.
This formulation explicitly binds the Dubins curve geometry to the RRT* optimization process. The estimation captures both positional and directional constraints of the UUV, ensuring that path feasibility is evaluated under realistic kinematic assumptions. As a result, the tree growth is not only collision-aware but also curvature-constrained, leading to smoother and dynamically feasible trajectories.
Finally, the node is added to , and the node is removed from or if it exists in either set.
In the optimizing subprocedure, the feasibility of the graph
is maintained by re-evaluating the connectivity of nearby nodes, as illustrated in
Figure 6c. For each node
, if the rough path
is both collision-free and results in a lower traversal cost compared to
, then the parent of
is updated to
. Consequently, the cost is updated to
, the node
is added to the re-evaluation set
, and its new parent
is stored in the reference set
.
Changing the parent of a node may influence the spatio-temporal feasibility of its child nodes and may result in the derivation of new rough paths. For a rough path
comprising sequential nodes with updated parent relations, from
to
, new rough paths may emerge in three distinct types, as illustrated in
Figure 7.
The newly formed rough paths after parent update can be categorized into three types, illustrated in
Figure 7, as follows:
Type I (blue solid lines): This path segment starts from the root node and ends at a parent-updated node . It remains unchanged from the original path before optimization. The separation of this segment is caused by a change in the parent of , resulting in a disconnection between the former and latter parts of the path. Since it is a retained portion of a previously feasible path, its validity is preserved without requiring re-evaluation.
Type II (gray + green dashed lines): This path starts from the root node , passes through a newly added node and a parent-updated node , and ends at the former parent of another updated node . The first segment (to ) is shown in gray, and the latter segment (original path portion) in green. This path arises when two or more nodes along the original path undergo parent updates, and a new path is formed by combining the prefix path to with the suffix path from the parent of . Since the node costs are modified during this process, rechecking the feasibility of this path is necessary.
Type III (gray + orange dashed lines): This path starts at , passes through a newly inserted node and a parent-updated node , and finally reaches the original goal . The first segment (up to ) is gray, and the last part (to the goal) is shown in orange. This type arises when the suffix of a path containing a parent-updated node is combined with the original goal-reaching segment. As the updated node costs differ from the original, feasibility verification is also required.
As highlighted in Remark 2, each new rough path has a one-to-one correspondence with an updated node in . The validity of these new rough paths is verified in the subsequent step.
Candidate new paths are obtained by backtracking from nodes in the union set toward the initial node . To facilitate this process, three empty sets—, , and —are initialized. These sets serve as the updated counterparts of , , and , respectively, and they are used to store the new terminal nodes of after the expansion procedure.
Paths that do not contain any nodes in (i.e., paths unaffected by parent updates) are skipped, and their terminal nodes are directly transferred to the corresponding new sets. Only the paths that include parent-updated nodes in are subject to further evaluation. Among these, collision-free paths are retained, and their terminal nodes are stored in the appropriate new sets accordingly. For infeasible paths, the unreachable segments are discarded, and the last valid node along each path is marked as the new terminal node and saved in .
Upon completion of this backtracking process, the spatio-temporal feasibility of is guaranteed, and the updated terminal nodes are consistently tracked and maintained for subsequent planning stages. A pseudo code of the expanding procedure is presented in the Algorithm 3.
The BPNN model introduced in
Section 2 is trained to efficiently estimate the Dubins curve length
between two 3D configurations. During RRT* tree expansion, these estimations are used as substitutes for analytically computed Dubins lengths, which are computationally expensive to evaluate at every iteration.
Algorithm 3: Expanding procedure |
- 1:
determine - 2:
- 3:
, remove from - 4:
for
do - 5:
if is collision-free and is shorter then - 6:
store in , - 7:
- 8:
end if - 9:
end for - 10:
for
do - 11:
backtracking from towards - 12:
if has no node in then - 13:
if is collision-free then - 14:
move to - 15:
else - 16:
move the last reachable node to - 17:
end if - 18:
else - 19:
if then - 20:
store correspondingly to the new set - 21:
else - 22:
store to - 23:
end if - 24:
end if - 25:
end for
|
By integrating the BPNN estimator into the cost function (Equation (
17)), the parent selection process becomes both curvature-aware and computationally efficient. This significantly reduces the time complexity of each expansion step while maintaining path smoothness and feasibility. Nodes that would otherwise be chosen based on Euclidean distance are now selected based on a learned approximation of the true traversal cost under kinematic constraints.
Furthermore, the BPNN-estimated lengths guide the rewiring process and cost updates throughout the graph. As the BPNN captures geometric characteristics such as initial/final direction and curvature limits, it ensures that suboptimal parents (with low Euclidean cost but high curvature) are avoided. This results in smoother paths with fewer unnecessary turns or abrupt heading changes.