Next Article in Journal
A Novel Approach for Visual Speech Recognition Using the Partition-Time Masking and Swin Transformer 3D Convolutional Model
Previous Article in Journal
Three-Chamber Actuated Humanoid Joint-Inspired Soft Gripper: Design, Modeling, and Experimental Validation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Improved RRT*-Connect Manipulator Path Planning in a Multi-Obstacle Narrow Environment

1
School of Mechanical and Control Engineering, Guilin University of Technology, Guilin 541006, China
2
Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences, Shenzhen 518055, China
3
National Engineering Laboratory for Big Data System Computing Technology, Shenzhen University, Shenzhen 518000, China
*
Author to whom correspondence should be addressed.
Sensors 2025, 25(8), 2364; https://doi.org/10.3390/s25082364
Submission received: 13 February 2025 / Revised: 30 March 2025 / Accepted: 3 April 2025 / Published: 8 April 2025

Abstract

:
This paper proposes an improved RRT*-Connect algorithm (IRRT*-Connect) for robotic arm path planning in narrow environments with multiple obstacles. A heuristic sampling strategy is adopted with the integration of the ellipsoidal subset sampling and goal-biased sampling strategies, which can continuously compress the sampling space to enhance the sampling efficiency. During the node expansion process, an adaptive step-size method is introduced to dynamically adjust the step size based on the obstacle information, while a node rejection strategy is used to accelerate the search process so as to generate a near-optimal collision-free path. A pruning optimization strategy is also proposed to eliminate the redundant nodes from the path. Furthermore, a cubic non-uniform B-spline interpolation algorithm is applied to smooth the generated path. Finally, simulation experiments of the IRRT*-Connect algorithm are conducted in Python and ROS, and physical experiments are performed on a UR5 robotic arm. By comparing with the existing algorithms, it is demonstrated that the proposed method can achieve shorter planning times and lower path costs of the manipulator operation.

1. Introduction

With the continuous advancement of production automation, robotic arms have been widely applied in various fields such as medical surgery, industrial manufacturing and agricultural harvesting, significantly improving production efficiency and quality [1,2]. On the production lines, robotic arms are often used for tasks such as module assembly, welding or grinding. To meet the requirements of these tasks, it is typically necessary to plan a collision-free continuous and optimal path for the robotic arm from the starting point to the target point under a given set of constraints [3].
The path planning of robotic arms in complex and narrow environments with multiple obstacles poses challenges, and path-planning algorithms can generally be categorized into three types: graph-based search, deep learning-based, and sampling-based algorithms [4]. In the graph-based search algorithms, such as A* [5] and D* algorithms [6], the search space is represented as a graph structure consisting of nodes and edges (paths connecting the nodes), aiming to find the optimal path from the initial point to the destination. While these algorithms are simple and easy to implement, they incur high computational costs and memory consumption when applied to high-dimensional path-planning scenarios [7]. Deep learning-based algorithms, however, can leverage the powerful nonlinear modeling capabilities of the deep neural networks to directly or indirectly learn the path-planning strategies from the environmental data. For instance, Meng et al. [8] have proposed a path-planning method which integrates deep learning with a sampling-based planner (NR-RRT), where risk profile maps and neural network-based samplers are employed to rapidly identify risk-constrained paths. Similarly, Huang et al. [9] have introduced a learning-based path-planning method, i.e., Neural-Informed RRT* (NIRRT*), where the point-cloud-based state representation under the acceptable ellipsoidal constraints with the PointNet++ network can directly generate multiple guiding states from the input point cloud of the free states and accelerate convergence to the optimal path by guiding the sampling process with neural networks. Although deep learning-based path-planning algorithms can improve planning efficiency, they require large amounts of data for training and inference, resulting in longer computational times and higher memory usage. In contrast, sampling-based algorithms, due to their stochastic nature, have lower computational costs and probabilistic completeness. Consequently, these algorithms have been widely adopted in robotic manipulator motion planning [10,11].
Sampling-based path-planning algorithms mainly include Probabilistic Roadmap (PRM) [12] and Rapidly Exploring Random Tree (RRT) [13]. The RRT is a single-query sampling-based path-planning method which incrementally explores the space by generating random nodes and extending a tree structure until a collision-free path from the initial point to the target point is found. Compared to the PRM, the RRT is more efficient and has lower time costs. However, the randomness in the RRT sampling and expansion would lead to slow convergence, and difficulty in navigating narrow passages and nonoptimal paths.
To address these issues, various improved RRT-based algorithms have been proposed in recent years. Kuffner and LaValle [14] proposed the RRT-Connect algorithm, which can simultaneously generate two trees at the initial and goal points. By employing a greedy strategy, the two trees grow towards each other, enabling faster pathfinding. However, the bidirectional search still exhibits a certain degree of randomness and cannot guarantee an optimal path obtainment. Karaman and Frazzoli [15] introduced RRT*, an extension of RRT, which incorporates the parental node reselection and rewiring mechanisms, achieving asymptotic optimality at the cost of increased computation time. Gammell et al. [16] proposed an Informed-RRT* algorithm with constrained sampling space to an ellipsoid after finding an initial path to improve the planning efficiency. However, it requires substantial time for narrow passage searches and is dependent on the quality of the initial path. Li et al. [17] proposed an Adaptive Step-size RRT* (AS-RRT*) algorithm, which employs an accumulator-based sampling point selection strategy to enhance the efficiency of the path planning and the pruning optimization methods to quickly identify collision-free paths, thereby reducing the computational costs. Zhang et al. introduced the HP-APF-RRT* algorithm to enhance the sampling efficiency and path search capability through heuristic probability sampling and artificial potential field (APF) methods [18].
The integration of RRT* with an APF method can enhance the planning efficiency in narrow passages, but it may be trapped in local optima [19]. Then a heuristic probability-biased goal (PBG-RRT) approach is proposed to achieve faster convergence with local minima avoidance [20]. Another Heuristic Dynamic Rapidly exploring Random Tree Connect (HDRRT-Connect) algorithm has been proposed to dynamically adjust the step size based on the environmental information so as to mitigate the local optimal path issues [21]. Dai et al. proposed a potential field extension strategy with a bidirectional tree structure and direct connection strategies to enhance the node expansion efficiency [22]. Jiang et al. employed a hybrid constraint sampling method to bring nodes closer to the narrow passages between the obstacles. During the expansion process, the adaptive gravitational fields, dynamic step sizes and constrained new node strategy are used to optimize the RRT-Connect algorithm, where these enhancements could effectively reduce excessive exploration and expansion in collision-prone areas [23]. Cheng et al. [24] employed an adaptive step-size strategy and fixed sampling functions to establish four trees, conducting searches from different starting points, thereby addressing the issue of the slow expansion speed in the RRT algorithm. Recent efforts include accelerating the path search with goal bias and adaptive step-size strategies [25] and the RRT* optimization with a manipulability-aware path-planning strategy to minimize the path costs [26]. The Adaptive Expansion Bidirectional RRT* (AEB-RRT*) [27] has been developed to dynamically adjust the sampling probabilities to speed up the convergence. Further, the unexplored area sampling probability is used for faster space exploration in narrow environments [28]. With the biased growth of bidirectional RRT-Connect trees and the Informed-RRT algorithm, the dynamic bias points can be applied to guide the tree growth for faster path generation [29].
Although numerous improvements have been made to the RRT-related path-planning algorithms, there remain shortcomings in terms of sampling space constraints and longer planning times. The lack of goal bias in the node expansion would limit the algorithm flexibility. Here, this paper proposes a path-planning algorithm based on the improved RRT*-Connect, considering the sampling space constraints, node expansion and path pruning in complex and multi-obstacle environments. The main contributions of the paper are summarized as follows:
(1) A heuristic sampling strategy which integrates the ellipsoid subset sampling and goal-biased sampling is proposed to improve the sampling efficiency in path planning. Initially, goal-biased sampling is utilized to identify an initial path. Then the sampling nodes are concentrated within the ellipsoidal region of the current optimal solution to narrow down the search space gradually and reduce exploration in invalid regions.
(2) An adaptive step-size expansion strategy is introduced to dynamically adjust the step size based on the known environment and the node information so as to reach the target region during the expansion, with reduced invalid exploration but predefined expansion into collision-prone areas. Moreover, a node rejection strategy is proposed to remove the invalid nodes by calculating the estimated cost of the new nodes.
(3) A path-pruning optimization approach is developed to remove the redundant nodes and smooth the path via the cubic non-uniform B-spline interpolation.
(4) We conduct experimental comparisons of the proposed algorithm with other algorithms in both 2D and 3D map environments to validate its superiority. Furthermore, the effectiveness of the algorithm is verified in the ROS simulation environment and practical robotic arm experiments.
The remainder of the manuscript is organized as follows. An exposition of the collision detection model and the underlying principles of the RRT*-Connect algorithm are introduced in Section 2. The improved variant of the RRT*-Connect path-planning algorithm is explained in Section 3. Simulation experiments and experimental validation with physical prototypes are shown in Section 4. Finally, the conclusion is provided in Section 5.

2. Background Formation

2.1. The Collision Detection Model

The Flexible Collision Library (FCL) [30] can be used for collision detection between rigid, deformable or articulated objects and point clouds or octrees, without requiring precise modeling during the collision detection process. However, the input models of the FCL must be sufficiently accurate. In the context of robotic arm collision avoidance, more time is often spent on modeling the robotic arm and acquiring the scenery point cloud data. Moreover, due to environmental noise and varied capture conditions, the obtained point clouds require extensive preprocessing. In practical engineering applications, obstacles usually have irregular shapes, and it is difficult to develop precise mathematical models.
Considering the algorithm development process and computational complexity for real-time collision detection, the direct modeling of the manipulator and obstacles can be simplified based on the concepts of bounding boxes and spatial overlays [31]. Here, this study adopts a spatial geometric envelope method to simplify the modeling of obstacles and the manipulator. The manipulator links are represented by cylinders, while irregular obstacles are approximated with spheres and rectangular prisms. The collision detection problem of the manipulator is then transformed into the detection of collisions among the cylinders, spheres and rectangular prisms. As demonstrated in Figure 1, the center of the sphere is indicated by the coordinates ( x , y , z ) , where the cylinder represents the simplified model of the robotic arm with the two ends of L i n k i and a radius r i . For the collision detection of the sphere boundary volume, the sphere represents a simplified model of obstacles with a radius R, and the distance from the center of the sphere to the center axis of the cylinder is d i . When d i > r i + R , no collision occurs between the robotic arm and the obstacle; otherwise, a collision is detected. For the axis-aligned bounding box A i B i collision detection, if the line segment is outside the obstacle A i B i , no collision occurs; otherwise, a collision is detected.

2.2. The RRT*-Connect Algorithm

Kuffner and LaValle proposed the RRT-Connect path-planning algorithm [14], which can accelerate the path convergence speed compared to the traditional RRT algorithm. However, this method lacks asymptotic optimality, and the RRT*-Connect path-planning algorithm is further proposed with RRT* and RRT-Connect in combination to optimize the path during the expansion [32].
The principle of the RRT*-Connect algorithm is illustrated in Figure 2. Two random trees, T 1 and T 2 , are initialized with x i n i t and x g o a l as their root nodes, respectively. Taking the expansion of T 1 as an example, a random sampling point x r a n d is first generated from the free space. Then the node x n e a r e s t , which has the smallest Euclidean distance to x r a n d , is identified from T 1 . Based on the x n e a r e s t , a new node x n e w is generated by extending a step size q in the direction of x r a n d . Subsequently, the neighboring nodes within a sampling radius x n e a r from x n e w are identified from the tree to form the set x n e a r . A new parent node for x n e w is then selected from x n e a r to minimize the path cost from the root node x i n i t to x n e w , after which the x n e w is added to the random tree. The algorithm then performs a rewiring step: it evaluates all the neighboring nodes of x n e w to check whether their path costs can be reduced via the x n e w . If a lower-cost path is found, the parent node of the neighboring nodes is updated to the x n e w . The T 2 tree is then expanded in the same pattern, extending towards the x n e w in T 1 to generate a new node x n e w 2 . If no obstacle is encountered, the expansion continues. If an obstacle is encountered, the expansion of random tree T 2 is halted, and the trees T 1 and T 2 are swapped, proceeding to the next iteration. By alternately expanding random trees T 1 and T 2 , the two trees grow towards each other until they successfully meet and connect.
The pseudocodes of the ‘RRT*-Connect’ algorithm and the extension function ‘Extend*(T, xrand)’ are illustrated in Algorithms 1 and 2. Initially, a sampling point x r a n d is generated via random sampling. Next, the ‘Extend*’ function is used to expand the random tree T 1 towards x r a n d , creating a new node x n e w and returning the corresponding state value. If the return value of the ‘Extend*’ function is “Trapped”, the node x n e w is discarded, and the iteration proceeds to the next cycle; otherwise, the node x n e w is added to the random tree T 1 .
Algorithm 1 RRT*-Connect
  1:
T 1 { x i n i t } ; E 1 ; T 1 ( V 1 , E 1 )
  2:
V 2 { x g o a l } ; E 2 ; T 2 ( V 2 , E 2 )
  3:
for i = 1 to n do
  4:
     x r a n d SampleFree()
  5:
    if  Extend ( T 1 , x r a n d ) Trapped  then
  6:
      if  Connect ( T 2 , x n e w ) = Reached  then
  7:
        return ( T 1 , T 2 )
  8:
      end if
  9:
    end if
10:
  Swap( T 1 , T 2 )
11:
end for
12:
return (T1, T2)
Algorithm 2 Extend*( T , x r a n d )
  1:
x n e a r e s t Nearest ( T , x r a n d )
  2:
x n e w Steer ( x n e a r e s t , x n e w )
  3:
if CollisionFree( x n e a r e s t , x n e w ) then
  4:
    V V { x n e w }
  5:
    E E { ( x n e a r e s t , x n e w ) }
  6:
    x n e a r Near ( T , x n e w , r )
  7:
    x m i n ChooseParent ( T , x n e w , x n e a r )
  8:
    E E { ( x n e w , x m i n ) }
  9:
    T Rewire ( T , x n e w , x n e a r )
10:
   if  x n e w = x  then
11:
     return Reached
12:
   else
13:
     return Advanced
14:
   end if
15:
else
16:
   return Trapped
17:
end if
In the 3rd step of Algorithm 1 (Line 6), the ‘Connect*’ function is used to call the ‘Extend*’ function, expanding the random tree T 2 towards the new node x n e w in T 1 . If the return value of the ‘Extend*’ function is “Advanced”, the tree T 2 continues to expand towards the x n e w until the return value is either “Trapped” or “Reached”. If the return value is “Trapped”, the expansion of the T 2 tree is halted, the two trees with the ‘Swap’ function are swapped, and the process enters the next iteration. If the return value is “Reached”, this indicates that the two trees are met and have been successfully connected, providing a collision-free path. Starting from the connection node in the T 1 tree, the parent nodes of each node are sequentially traced, and the node sequence is reversed to obtain the first half of the path. Similarly, starting from the connection node in T 2 tree, the parent nodes are sequentially traced, and the node sequence is arranged in order to obtain the second half of the path.
Although the RRT*-Connect algorithm can improve path-planning efficiency through bidirectional expansion and local optimization, its sampling process exhibits randomness and blindness, lacking guidance. Moreover, it samples and searches the entire space without constraints on the sampling region, leading to excessive exploration of invalid areas and low sampling efficiency. The algorithm employs a fixed step size, which also lacks flexibility and slows down the expansion process during the node expansion, making it more challenging to find optimal paths in complex, multi-obstacle and narrow environments. Besides, the paths generated by the algorithm often contain a huge amount of redundant nodes, resulting in higher path costs.

3. The Proposed IRRT*-Connect Algorithm

To address the limitations of the RRT*-Connect algorithm, this paper proposes an improved RRT*-Connect path-planning algorithm, i.e., IRRT*-Connect. The algorithm employs a heuristic sampling strategy which integrates the ellipsoidal subset constraints and goal-biased sampling. By sampling towards the target direction with a certain probability and constraining the sampling space within an ellipsoidal subset, the algorithm can iteratively compress the sampling space, thereby reducing the exploration of the invalid regions and enhancing the sampling efficiency in narrow passages. An adaptive step-size strategy is further introduced to dynamically adjust the step size based on the obstacle information. Combined with a node rejection strategy, the invalid nodes can be minimized, enabling faster convergence of the two trees. Further, the pruning strategy is applied to optimize the generated path by eliminating redundant nodes, thereby shortening the path length.

3.1. The Heuristic Sampling Strategy

We propose a heuristic sampling strategy that combines the ellipsoidal subset sampling and goal-biased sampling to improve the sampling efficiency during the path planning.

3.1.1. Goal-Biased Sampling

The target bias probability α is defined with a range of 0 , 1 . During the sampling, a point is sampled towards the target direction with probability α , while with probability 1 α , the random sampling is performed in the free space. This strategy can maintain the randomness of the search while improving the search efficiency, expressed as
x r a n d = x g o a l ( P < α ) S a m p l e F r e e ( ) ( P α )
where P is the random number uniformly distributed in the range 0 , 1 . During each sampling iteration in the free space, the random tree can generate a random probability P. If P < α , the sampling point x r a n d is selected via target-biased sampling, where the random tree T 1 samples in the direction of the target point, and the random tree T 2 samples in the direction of the starting point. Otherwise, if P α , the sampling point x r a n d is generated randomly within the free space.
By introducing the goal-biased probability, the algorithm can maintain the randomness of the search while expanding towards the target region, thereby avoiding excessive exploration in areas far from the goal and accelerating path generation and convergence. The value of the goal-biased probability α is selected based on the complexity of the environment: in scenarios with more obstacles, a smaller α is chosen to prevent local optima, whereas in the environments with fewer obstacles, a larger α is adopted to enhance the convergence speed.

3.1.2. Ellipsoidal Subset Sampling

The schematic diagram of ellipsoidal subset sampling is illustrated in Figure 3, where the starting point x s t a r t and the goal point x g o a l in the path are set as the two foci of the ellipse, c m i n represents the Euclidean distance between the starting point and the goal point, and c b e s t denotes the length of the current shortest path. Specifically, c b e s t is defined as the semi-major axis of the ellipsoid and c b e s t 2 c m i n 2 is defined as the semi-minor axis of the ellipsoid. By iteratively searching for the shorter paths, the ellipsoidal subset space can be reduced gradually.
To achieve the uniform sampling of the ellipsoidal subset, the samples are transformed from a sphere of radius n to the ellipsoidal subset, as follows: x e l i p s e μ ( X e l i p s e ) ,
x e l l i p s e = L x b a l l + x c e n t e r
where x c e n t e r = ( x f 1 + x f 2 ) / 2 , x b a l l = { x X | x 2 1 } , x c e n t e r is the center of the hypersphere, x b a l l is the random sampling point from the sphere and L is the transformation matrix. The norm x 2 represents the Euclidean norm of x and { x f 1 , x f 2 } are the foci of the ellipse.
The transformation is calculated via the Cholesky decomposition of the hyperellipsoid matrix S R n × n , S L L T , x x c e n t e r T S ( x x c e n t e r ) = I and the transformation matrix L can ensure that x e p l i p s e maintains a uniform distribution. Therefore, the estimation of the subset of sampled points x f ^ can be achieved via the semi-major axis and semi-minor axis of the ellipse. The diagonal of the semi-major axis is given as S = d i a g c b e s t 2 4 , c b e s t 2 c m i n 2 4 , , c b e s t 2 c m i n 2 4 and by performing the decomposition, we can obtain the matrix L = d i a g c b e s t 2 , c b e s t 2 c m i n 2 2 , , c b e s t 2 c m i n 2 2 .
To achieve the rotation of the hyperellipsoid into the world coordinate system, the rotation matrix F is computed based on the solution to Wahba’s problem,
F = U diag { 1 , , 1 , det ( U ) det ( V ) } V T
where det(·) denotes the determinant of a matrix. The matrices U R n × n and V R n × n are obtained from the unitary matrices of the Singular Value Decomposition (SVD) U Σ V T M , Σ is a diagonal matrix with the absolute values of its diagonal entries equal to 1, matrix M is computed as the outer product of the first column of the identity matrix I and the semi-major axis length a 1 in the world coordinate system, i.e., M = a 1 I 1 T , where a 1 = x g o a l x s t a r t / x g o a l x s t a r t . Therefore, the subset of sampled points x f ^ , obtained by transforming samples from a sphere of radius n via a transformation matrix, rotation matrix and translation process, is calculated as,
x f ^ = F L x b a l l + x c e n t e r
Finally, the sampled points x r a n d within the ellipsoid are returned. The pseudocode of the ellipsoidal subset sampling algorithm is presented in Algorithm 3.
Algorithm 3 Informed_Sample( x s t a r t , x g o a l , c b e s t )
  1:
if  c b e s t < then
  2:
    c m i n x g o a l x s t a r t 2
  3:
    x c e n t e r ( x s t a r t + x g o a l ) / 2
  4:
    c RotationToWorldFrame ( x s t a r t , x g o a l )
  5:
    r 1 c b e s t / 2
  6:
    { r i } i = 2 , , n c b e s t 2 c m i n 2 / 2
  7:
    L diag { r 1 , r 2 , , r n }
  8:
    x b a l l SampleUnitBall
  9:
    x r a n d ( F L x b a l l + x c e n t e r ) X
10:
else
11:
   x r a n d μ ( X )
12:
end if
13:
return  x r a n d

3.2. The Adaptive Step Size

In the RRT*-Connect algorithm, the connection between a random point and its nearest point is extended in the direction of a fixed step size, and the extension strategy is defined as,
x n e w = x n e a r e s t + q x n e a r e s t x r a n d x n e a r e s t x r a n d
where q is the fixed step size. The usage of the fixed step size could limit the search ability in complex and narrow regions, and the expansion direction lacks the target bias, which would lead to slow convergence.
Here, an adaptive step size strategy is proposed and the new node expansion is redefined as
x n e w = x n e a r e s t + k 1 x n e a r e s t x r a n d x n e a r e s t x r a n d + k 2 x n e a r e s t x g o a l x n e a r e s t x g o a l
where k 1 is the random step size and k 2 is the goal-directed step size. Through the experiments conducted with different upper and lower limits for k 1 and k 2 , it is observed that an excessively large k 1 would cause the nodes to grow preferentially towards the random sampling points, thereby deviating from the target direction. Conversely, an excessively large k 2 would result in growth nodes being unable to bypass the obstacles. Therefore, the ranges for the step size k 1 and k 2 are set to [ q , 4 q ] and [ 0 , 4 q ] , respectively, with initial values of k 1 = q and k 2 = 0 .
From Equation (6), the new node extension direction is determined by a combination of the sampling point direction and the goal point direction, allowing more efficient navigation of the complex regions and faster convergence. The pseudocode of the adaptive expansion function is shown in Algorithm 4. The main process of the adaptive expansion function is described as follows:
(1) Determine which random tree grows and identify the extension direction. Then the ‘Nearest’ function is applied to return the nearest node x n e a r e s t , and the ‘AdaptiveSteer’ function is applied to return the new node x n e w .
(2) Perform collision detection via the method described in Section 2.1, check whether there is a collision between x n e a r e s t and x n e w along their connection, and return the corresponding state value S. If S returned by the current extension function is “Advanced”, it indicates that the extension is successful, the robotic arm is in a collision-free state, and the new node of the current extension function is not connected to the other random tree. In the next extension, the ‘AdaptiveStep’ function is applied to increase k 1 and k 2 by q / 2 and q, respectively. If S returned by the next adaptive extension function is still “Advanced”, then k 1 and k 2 continue to increase by q / 2 and q, respectively. k 2 will be greater than k 1 to improve the extension towards the target direction until k 1 and k 2 reach the upper limit of the threshold.
(3) If S is returned, the next ‘AdaptiveExtend’ function is “Trapped”, indicating that a collision occurs between the new node extended by the ‘AdaptiveExtend’ function and the nearest node. In the next extension, the random tree will extend according to the initial values; k 2 will be less than k 1 so as to extend towards the random sampling point to avoid the obstacles.
Algorithm 4 AdaptiveExtend( T , x r a n d , k 1 , k 2 )
  1:
x t a r g e t x g o a l
  2:
if  T T 1   then
  3:
    x t a r g e t x i n i t
  4:
end if
  5:
x n e a r e s t Nearest ( T , x r a n d )
  6:
k 1 , k 2 Adaptivestep ( S )
  7:
x n e w AdaptiveSteer ( x n e a r e s t , x r a n d , x t a r g e t , k 1 , k 2 )
  8:
if CollisionFree( x n e a r e s t , x n e w ) then
  9:
    if  x n e w = x r a n d  then
10:
     return  x n e w , S Reached
11:
   else
12:
     return  x n e w , S Advanced
13:
   end if
14:
else
15:
   return  x n e w , S Trapped
16:
end if

3.3. The Node Rejection

After a new node is generated via the adaptive extension function, it is necessary to evaluate whether the node can effectively reduce the path cost. Therefore, we propose a node rejection strategy,
x x i n i t + x g o a l x >   c b e s t
where the Euclidean distance x x i n i t and x g o a l x are calculated to estimate the cost to the node and the cost from the node to the goal point. If the estimated total cost of the node exceeds the best path cost c b e s t , it indicates that the node will not effectively reduce the path cost and it is removed from the tree. This approach can result in fewer nodes in the random tree and fewer extensions with reduced computational costs and higher planning efficiency [33].

3.4. The Pruning Optimization

In order to efficiently delete these redundant nodes, this paper proposes a pruning optimization strategy based on the triangle inequality to optimize the generated path.
As displayed in Figure 4, the robotic arm is required to move from point x 1 to point x 8 while avoiding three obstacles. The black path, x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 , is the path generated by the algorithm. However, under the assumption that the robotic arm does not collide, it can move directly from x 2 to x 6 , then from x 6 to x 8 . Therefore, the points x 3 , x 4 , x 5 , and x 7 are redundant. Using the principle of pruning based on the triangle inequality, the redundant nodes are removed from the black path, resulting in the red path x 1 x 2 x 6 x 8 , having a shorter distance.
The path point set generated by RRT*-connect is the union of the path point sets of the two random trees, T 1 and T 2 . Taking the optimization of the random tree T 1 as an example, x i n i t is the root node of the random tree T 1 and the connected node between the two trees is the current node x c u r r e n t . Figure 5 displays the specific branch pruning optimization process.
(1) Initialization: Add x c u r r e n t to the empty set N 1 , then obtain the parent node x p a r e n t of the current node via the edge structure.
(2) Check Grandparent Node: If the grandparent node x g r a n d p a (the parent of x p a r e n t ) is not the root node x i n i t , proceed to the next step 3.
(3) Edge Structure Update: Use the edge structure to obtain the grandparent node x g r a n d p a .
(4) Collision Check: Determine whether the robotic arm collides with an obstacle along the connection between the current node x c u r r e n t and the grandparent node x g r a n d p a . If no collision occurs, the parent of the current node is updated as the grandparent node x g r a n d p a , the edge structure is updated, and the intermediate node x p a r e n t is skipped. If a collision occurs, the x p a r e n t is added to the set N 1 and the current node x c u r r e n t is updated as the x p a r e n t .
(5) Repeat Process: Continue to repeat steps 2 to 4 until the grandparent node backtracks to the root node x i n i t (i.e., x g r a n d p a = x i n i t ), add the root node x i n i t to the set N 1 and end the loop. The optimized path set N 1 is returned.
The pruning optimization process of the random tree T 2 is similar to that of T 1 . The only difference is that the root node x i n i t is replaced with the goal node x g o a l , while the same steps 1–5 are implemented.

3.5. The Process of the Proposed IRRT*-Connect Algorithm

The proposed IRRT*-Connect algorithm utilizes an ellipsoidal subset constraint and a target-bias heuristic sampling strategy to reduce the exploration of the invalid space, so as to improve the sampling efficiency and lower the time costs. It also employs an adaptive step-size strategy to dynamically adjust the step size, enabling faster convergence of the two trees. By integrating a node rejection strategy, the expansion of the invalid nodes can be minimized. Furthermore, a pruning strategy is applied to optimize the generated path with shorter path length. The pseudocode of the algorithm is shown in Algorithm 5.
Algorithm 5 IRRT*-Connect
  1:
V 1 { x i n i t } ; E 1 ; T 1 ( V 1 , E 1 )
  2:
V 2 { x g o a l } ; E 2 ; T 2 ( V 2 , E 2 )
  3:
x s o l i n ; c best ; c o u n t 0 ; k 1 = q , k 2 = 0
  4:
for  i = 1 to n do
  5:
    c b e s t ShortestPathLength ( x s o l i n )
  6:
    x r a n d ImprovedSampleFree ( x i n i t , x g o a l , c b e s t , α )
  7:
    x n e w , S AdaptiveExtend ( T 1 , x r a n d , k 1 , k 2 )
  8:
   if  S Trapped  and  NodeReject ( x i n i t , x g o a l , x n e w , c b e s t ) = False then
  9:
      V V { x n e w }
10:
      E E { ( x n e a r e s t , x n e w ) }
11:
   end if
12:
    L n e a r GetNearbyVertices ( V 1 , x b e s t , x new )
13:
    x m i n ChooseParent ( V 1 , x n e w , L n e a r )
14:
   if  x min  then
15:
      E 1 E 1 { x n e w , x m i n }
16:
      V 1 Rewire ( V 1 , L n e a r , x n e w )
17:
   end if
18:
   if  S Trapped  then
19:
      x n e w 2 , flag ImprovedConnect ( V 2 , x n e w )
20:
     if  flag = Reached  then
21:
         x s o l i n , c o u n t OptimizeTrees ( T 1 , T 2 , x n e w 2 )
22:
     end if
23:
   end if
24:
   SwapTrees( T 1 , T 2 )
25:
   if  c o u n t 4  then
26:
      T 1 , T 2 = ( V , E )
27:
   end if
28:
end for
29:
return  ( T 1 , T 2 )
(1) Initialization: Lines 1–2 of the algorithm are the same as in Algorithm 1. Let x s o l n be the set of all path solutions, c b e s t be the current shortest path length, and c o u n t be the number of found path solutions. Initially, before a path solution is found, x s o l n is an empty set, c b e s t is infinity and c o u n t is zero.
(2) Shortest Path Length Calculation: Use the ‘ShortestPathLength’ function to compute the shortest path length c b e s t from the set x s o l n .
(3) Sampling and Extension: Use the ‘ImprovedSamplefree’ function to generate a random sample point x r a n d in the free space. Then, use the ‘AdaptiveExtend’ function to extend the tree and generate a new node x n e w , and return the state value S.
(4) State Value and Path Cost Evaluation: Check S and calculate the total estimated path cost for the x n e w . If S is not “Trapped” and the total estimated path length of x n e w is less than c b e s t , add x n e w to the tree and set the parent of x n e w to be x n e a r e s t . Otherwise, swap the random trees T 1 and T 2 , re-sample, and return to step 2.
(5) Find Neighboring Nodes and Parent Reselection: Use the ‘GetSortedList’ function to find the neighboring nodes x n e a r within a spherical region centered around x n e w in the random tree. Sort the filled set x n e a r and return the list L n e a r ordered by the cost function in ascending order. Next, use the ‘ChooseParent’ process to traverse the sorted list, return the optimal parent node x m i n that connects x n e w and x i n i t in the free space. If such a node exists, set x m i n as the optimal parent of x n e w , and perform the rewiring process.
(6) Tree Connection and Path Optimization: If S is not ’Trapped’, the ‘ImprovedConnect’ function is used to call the ‘AdaptiveExtend’ function to extend the random tree T 2 towards the new node x n e w in tree T 1 and attempt to connect the trees. If the trees fail to connect, the function returns “Trapped”, T 1 and T 2 are swapped, and T 2 is prioritized for expansion in the next iteration. If the connection is successful, “Reached” is returned, indicating that the two trees are connected and a path is found. Then path optimization is performed which returns the set of path solutions x s o l n , and the number of path solutions found is recorded as c o u n t . If c o u n t is less than 4, it continues iterating and performs steps 2–6. If c o u n t exceeds 4, the optimal path is returned. This process can iteratively refine the path solutions by expanding the trees, checking for collisions, and optimizing the path until a high-quality solution is found.

3.6. Algorithm Time–Space Complexity Analysis

In this study, the time cost of the IRRT*-Connect algorithm is primarily affected by steps such as nearest node search and collision detection. In each iteration, the algorithm performs collision detection for newly generated nodes, resulting in a time complexity of O ( N + M ) per iteration, N represents the number of nodes in the path-planning tree and M denotes the number of obstacles. Consequently, the overall time complexity of the algorithm is O ( T · ( N + M ) ) , where T represents the number of iterations. By employing spatial partitioning data structures (e.g., R-tree), the time complexity of the nearest node search can be optimized to O ( log N ) , significantly reducing the overall time complexity.
In terms of the spatial complexity, the IRRT*-Connect algorithm must maintain the nodes of the path-planning tree and a cache of the obstacle information. This can result in a spatial complexity of O ( N + M ) . The space requirements dynamically change during the algorithm execution but are generally linearly related to the scale of the data being processed.

3.7. Path Smoothing

The path generated by the IRRT*-Connect algorithm has fewer points and shorter length. However, at certain path points, sharp corners can cause vibrations in the robotic arm, potentially damaging its mechanical components. Therefore, it is necessary to smooth the generated path. B-spline curves, known for their flexibility, continuity and differentiability, are widely used in robotic arm path planning. In this paper, we use a cubic non-uniform B-spline interpolation algorithm to smooth the path and generate an executable trajectory for the robotic arm. Let the path generated by IRRT*-Connect be denoted as x, with x i ( i = 1 , 2 , . . . , n ) being the path points of x. The cubic non-uniform B-spline interpolation is applied to fit the path x. The mathematical expression of a B-spline curve is written as,
p ( u ) = i = 0 n d i N i , k ( u )
where d i ( i = 1 , 2 , . . . , n ) is the control point, and N i , k ( u ) is the basis function of the k times of the B-spline.
For the cubic non-uniform B-spline curve, assuming that the length of each edge of the control polygon is l i = | x i x i 1 | ( i = 1 , 2 , . . . , n ), and the total length is L = i = 1 n l i . Based on the chord-length parameterized node vector, the node vector is obtained,
U = 0 , 0 , 0 , 0 , l 1 + l 2 L , l 1 + l 2 + l 3 L , L , j = 1 n 2 l j L , 1 , 1 , 1 , 1
Subsequently, the B-spline basis functions are computed via the recursive function,
N i , 0 ( u ) = 1 , u i u u i + 1 0 , o t h e r s N i , k = u u i u i + k u i N i , k 1 ( u ) + u i + k + 1 u u i + k + 1 u i + 1 N i + 1 , k 1 ( u ) 0 0 = 0 ; 0 × = 0
The cubic non-uniform B-spline function for reverse-solving control points is expressed as,
N 1 , 3 ( u 3 ) N 2 , 3 ( u 3 ) N 0 , 3 ( u 3 ) N 1 , 3 ( u 4 ) N 2 , 3 ( u 4 ) N 3 , 3 ( u 4 ) N n 2 , 3 ( u n + 2 ) N n 1 , 3 ( u n + 2 ) N n , 3 ( u n + 2 ) N n + 1 , 3 ( u n + 3 ) N n 1 , 3 ( u n + 3 ) N n , 3 ( u n + 3 ) d 1 d 2 d n 1 d n = x 0 x 1 x n 2 x n 1
Since all the elements in the coefficient matrix are values of the B-spline basis functions, they are solely related to the knot vector, so Equation (11) can be simplified as Equation (12),
b 1 c 1 a 1 a 2 b 2 c 2 a n 1 b n 1 c n 1 c n a n b n
a i = Δ i + 2 2 Δ i + Δ i + 1 + Δ i + 2 b i = Δ i + Δ i + 1 Δ i + 2 Δ i + Δ i + 1 + Δ i + 2 + Δ i + 1 Δ i + 2 + Δ i + 3 Δ i + 1 + Δ i + 2 + Δ i + 3 c i = Δ i + 1 2 Δ i + 1 + Δ i + 2 + Δ i + 3 e i = Δ i + 1 + Δ i + 2 x i 1
By solving Equation (11), all the control points can be determined. Subsequently, with the knot vector, the control points are obtained, and the interpolation adjustment of Equation (8) is performed for the path points, resulting in a smooth trajectory. As illustrated in Figure 6, the black path segment x 1 x 2 x 3 x 4 x 5 represents the trajectory planned by the IRRT*-Connect algorithm. The blue points denote the computed control points, while the red curve is the trajectory obtained through cubic non-uniform B-spline interpolation.

4. Experiment and Result Analysis

To validate the effectiveness and reliability of the proposed algorithm, a series of experiments are conducted. First, simulations of 2D and 3D static obstacle maps are performed via the Python programming language, followed by robotic arm obstacle avoidance simulations in the ROS environment. Subsequently, a physical experimental platform is established in a static multi-obstacle environment to verify the practical performance of the algorithm. All experiments are conducted under the same hardware configuration: an AMD Ryzen 7 5800H CPU (3.20 GHz), 16 GB of RAM, and an NVIDIA GTX 1650 GPU.
In the 2D and 3D static obstacle map experimental environments constructed in Python, each algorithm is evaluated under identical parameter settings, with a step size q of 4 mm, a search radius r of 5 mm, a maximum iteration count of 2000, and a goal-biased probability of 0.1. The search radius r denotes the range for seeking new nodes, which is employed for local optimization. However, an excessively large value of r will increase the computational burden. Therefore, it is advisable to set r slightly larger than the step size. The parameter settings presented in this study are mainly determined via extensive experiments and human experience. To account for the stochastic nature of the sampling-based algorithms, each experiment is repeated 100 times, and the final results are averaged to ensure reliability and consistency.

4.1. The 2D Static Multi-Obstacle Narrow Environment Simulation

In a Python environment, a 2D static multi-obstacle narrow environment is constructed for Scenario 1, as illustrated in Figure 7. The map size is 100 mm × 100 mm, with a minimum distance of 5 mm between narrow passages. The purple rectangular objects represent the obstacles, the yellow circle denotes the start point at coordinates (0, 0), and the green circle indicates the goal point at coordinates (100, 100). The blue curve represents the path randomly expanded by the planning algorithm from the start point, the green curve represents the path expanded from the goal point and the red curve denotes the final generated path.
The proposed algorithm (IRRT*-Connect) is compared with the RRT*, RRT*-Connect, and Informed-RRT* algorithms in a 2D simulation. From Figure 7, it can be observed that the RRT* and Informed-RRT* exhibit more random tree branches, while the RRT*-Connect has fewer branches but longer path length. In contrast, the proposed IRRT*-Connect algorithm exhibits a clearer and more focused search direction with fewer branches and a shorter path. The results are listed in Table 1 and the proposed algorithm achieves reductions in the path cost by 4.22 % , 3.04 % , and 15.16 % compared to RRT*, Informed-RRT*, and RRT*-Connect, respectively, and reductions in time cost by 66.67 % , 71.43 % , and 42.86 % . Therefore, the proposed algorithm demonstrates advantages in both path cost and time cost over the RRT*, Informed-RRT*, and RRT*-Connect algorithms.
In Scenario 2, a 2D static narrow environment with multiple obstacles is used, as depicted in Figure 8. From the empirical data in Table 2, it can be observed that the RRT* algorithm achieves an average path length of 163.39 mm and an average planning time of 0.56 s. In contrast, while the Informed-RRT* algorithm reduces the path cost, the average planning time increases to 0.76 s. The RRT*-Connect algorithm with the bidirectional search strategy can significantly optimize the planning time, reducing the average planning time to 0.27 s. However, the path length increases to 186.05mm. The proposed IRRT*-Connect algorithm demonstrates the best performance across all metrics, achieving an average path length of 158.48 mm and an average planning time of 0.18 s. Compared to the RRT*, Informed-RRT*, and RRT*-Connect algorithms, the IRRT*-Connect algorithm can reduce the path cost by 3.01 % , 2.34 % , and 14.82 % , respectively, and decrease the planning time by 67.86 % , 76.32 % , and 33.33 % , respectively.

4.2. The 3D Static Multi-Obstacle Narrow Environment Simulation

In Python, a 3D static multi-obstacle narrow environment (Scenario III) is constructed, as shown in Figure 9. The map size is set to 100 mm × 100 mm × 100 mm to test the adaptability of the proposed algorithm in a complex narrow passage of a 3D static environment. The purple rectangular prisms represent the obstacles, the yellow circle represents the start point located at (0,0,0), the green circle represents the target point located at (100,100,100), and the minimum clearance between the narrow passages is 5mm.
The proposed algorithm (IRRT*-Connect) is compared with the RRT*, RRT*-Connect and Informed-RRT* algorithms in the 3D simulation. From Figure 9, the random trees generated by the RRT* and Informed-RRT* algorithms have a larger number of branches, while the random tree generated by the RRT*-Connect algorithm has fewer branches. However, the path generated by RRT*-Connect is more convoluted. The experiment results are listed in Table 3. In the 3D environment with multiple obstacles and narrow spaces, the Informed-RRT* algorithm can reduce the path cost by 9.67 % and 1.36 % compared to RRT*-Connect and RRT*, while the time cost is increased by 55.88 % and 14.71 % , respectively. The proposed algorithm can achieve a reduction in path cost by 11.42 % , 10.20 % , and 18.88 % , respectively, and a reduction in the time cost by 70.69 % , 75.00 % , and 43.33 % compared to the RRT*, Informed-RRT*, and RRT*-Connect algorithms.
In Scenario IV, a 3D static narrow environment with multiple obstacles is depicted in Figure 10, with the starting position and goal position identical to those in Scenario IV. From the experimental data in Table 4, it can be observed that the RRT* algorithm achieves an average path length of 210.28 mm and an average planning time of 1.12 s. Compared to Scenario iiI, both the path cost and time cost have increased. The Informed-RRT* algorithm exhibits a higher average planning time of 1.26 s but achieves a lower path cost than that of the RRT*. The RRT*-Connect algorithm maintains its advantage in time cost but spends a higher path cost compared to the other algorithms. The IRRT*-Connect algorithm outperforms other algorithms across all metrics, achieving an average path length of 181.78 mm and an average planning time of 0.18 s. Compared to the RRT*, Informed-RRT*, and RRT*-Connect algorithms, the IRRT*-Connect algorithm can reduce the path cost by 13.55 % , 11.56 % , and 15.38 % , respectively, and can reduce the time cost by 83.93 % , 85.71 % , and 35.71 % , respectively.
Through employing the elliptical subset constraint and the target bias heuristic sampling strategy in these experiments, it can be concluded that the proposed IRRT*-Connect algorithm can achieve more accurate and effective sampling directions, with reduced sampling space and minimized exploration of the invalid areas. The adaptive step-size method can dynamically adjust the step size, allowing for faster convergence of the two trees. Additionally, the node selection strategy can reduce the expansion of the invalid nodes, and the pruning strategy based on the triangle inequality can optimize the generated path. Therefore, the proposed IRRT*-Connect algorithm demonstrates higher planning efficiency and lower path costs.

4.3. The Field Experiment of the Robotic Arm

To evaluate the effectiveness of the proposed IRRT*-Connect algorithm in practical applications, experiments are conducted within the Robot Operating System (ROS) framework using the UR5 robotic arm. Initially, a 3D model of the robotic arm is created via the URDF file. Subsequently, the MoveIt motion planning framework is utilized to configure and generate the necessary launch files for trajectory planning, and the 3D model is visualized in rviz. The proposed algorithm is integrated into the OMPL motion planning library to control the robotic arm for obstacle avoidance through the MoveIt motion planning framework.
A static obstacle simulation environment for the robotic arm obstacle avoidance (Scenario V) is set up in rviz, as illustrated in Figure 11, where yellow, black, and gray rectangular prisms represent the static obstacles. The blue curve depicts the trajectory of the UR5 robotic arm’s end-effector. Figure 12 illustrates the joint motion curves during the obstacle avoidance process. The initial joint angles of the robotic arm are set to [ 34 , 71 . 46 , 116 . 19 , 137 . 54 , 90 . 23 , 90 . 50 ] (in degrees), and the target joint angles are set to [ 90 , 54 . 37 , 90 . 66 , 128 . 66 , 88 . 01 , 76 . 83 ] .
It can be seen in Figure 11 and Figure 12 that no collision occurs between the robotic arm and the obstacles. The IRRT*-Connect algorithm, in conjunction with cubic non-uniform B-spline interpolation, can generate a sufficiently smooth trajectory, enabling stable motion of the robotic arm without any jitter. Compared to RRT*-Connect, the proposed algorithm yields a shorter motion trajectory with no sharp variations or discontinuities.
Further, to verify the performance of obstacle avoidance of the real arm equipped with the proposed algorithm, a real-world environment with multiple static obstacles in a narrow space was set up, as seen in Figure 13. The sizes and spatial positions of the white, black, and yellow rectangular prism obstacles are consistent in the rviz simulation environment. With the integration of the MoveIt motion planning framework with the ROS, the real-time control of the UR5 robotic arm and its interaction with the environment can be achieved. Within this framework, the robotic arm obstacle avoidance experiments are precisely synchronized and scheduled via the ROS topics and services. Specifically, the computer is connected to the UR5 robotic arm control cabinet via the Ethernet. Leveraging the MoveIt framework, the IRRT*-Connect algorithm is invoked to perform motion planning. The path information, including the planning time, trajectory length, and the joint angle configurations corresponding to each waypoint, is transmitted to the control cabinet. This enables the physical UR5 manipulator to execute the obstacle avoidance motions which precisely follow the planned trajectory in the simulation environment.
The initial configuration of the manipulator is shown in Figure 13a. During the execution, the manipulator navigates through a narrow passage formed by a yellow and a white obstacle, avoiding collisions as it enters the enclosed space surrounded by three obstacles. It then proceeds downward and ultimately reaches the target position shown in Figure 13d. Two key obstacle-avoidance configurations, ‘posture 1’ and ‘posture 2’ during the motion are captured in Figure 13b,c. Throughout the entire trajectory, the manipulator can successfully avoid all obstacles and operates smoothly without any collision.
In order to validate the feasibility and superiority of the algorithm in the real-world experiments, twenty simulation trials have been conducted, and the results are averaged and listed in Table 5.
The data presented in Table 5 demonstrate that the IRRT*-Connect algorithm can significantly outperform the RRT*-Connect algorithm, achieving a 34.51 % reduction in the planning time and a 14.31 % decrease in the path cost, while also improving the task success rate by 14 % . These experimental results indicate that the IRRT*-Connect exhibits superior performance in the physical experiments, effectively meeting the motion planning requirements of the robotic manipulators. Further, it can substantially reduce both the planning time and the path cost, making it a highly efficient solution for the practical implementations.

5. Conclusions

This paper proposes the IRRT*-Connect path planning algorithm to address the limitations of the traditional RRT*-Connect algorithm in static multi-obstacle and narrow-space environments, including low sampling efficiency, extended computation time and high path cost. The proposed algorithm can improve the sampling efficiency by employing the dual-tree expansion combined with heuristic sampling techniques, such as ellipsoid subset sampling and goal-biased sampling, which can guide the sampling process towards the target with a certain probability while reducing the exploration in the invalid regions. Further, an adaptive dynamic step-size method is introduced to adjust the step size based on the obstacle information, and a node rejection strategy is applied to accelerate the convergence, while the path-pruning strategy is further used to shorten the planned trajectory. A cubic non-uniform B-spline interpolation algorithm is employed to smooth the path during robotic arm motion, preventing oscillations at sharp turns and reducing mechanical wear.
The effectiveness and superiority of the proposed algorithm are validated via simulations in both 2D and 3D static obstacle maps, as well as ROS-based simulations. Compared to the RRT*-Connect algorithm, the proposed approach can significantly reduce the planning time and shorten the path length. In practical experiments, the robotic arm is able to complete the obstacle avoidance tasks swiftly and smoothly. Therefore, the proposed method is well suited for applications such as robotic arm handling, assembly, and painting in static multi-obstacle environments, enhancing the operational efficiency and reducing energy consumption by minimizing the planning time and the path length. Future research will focus on the path planning of robotic arms in environments with dynamic obstacles.

Author Contributions

Conceptualization, X.H.; methodology, X.H.; software, X.H. and Y.Z.; validation, X.H. and H.L.; formal analysis, H.L.; investigation, W.S. and H.L.; resources, X.H.; data curation, X.H. and Y.Z.; writing—original draft preparation, X.H.; writing—review and editing, X.H. and Y.Z.; visualization, Y.Z.; project administration, Y.Z.; funding acquisition, Y.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported partially by the National Key Research and Development Program of China Ref. 2023YFC3321603, the Guangdong Basic and Applied Basic Research Foundation Ref. 2021B1515120038, and the Shenzhen Science and Technology Innovation Commission Project Grant Ref.JCYJ20200109114839874, Ref.JCYJ20220818101206015, Ref. JCYJ20210324101215039 and SGDX20220530111001006.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are available on request from the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Li, R.; Pham, D.T.; Huang, J.; Tan, Y.; Qu, M.; Wang, Y.; Zhou, Z. Unfastening of hexagonal headed screws by a collaborative robot. IEEE Trans. Autom. Sci. Eng. 2020, 17, 1455–1468. [Google Scholar] [CrossRef]
  2. Kang, M.; Chen, Q.; Fan, Z.; Yu, C.; Wang, Y.; Yu, X. A RRT based path planning scheme for multi-DOF robots in unstructured environments. Comput. Electron. Agric. 2024, 218, 108707. [Google Scholar] [CrossRef]
  3. Wang, Z.; Li, Y.; Zhang, H.; Liu, C.; Chen, Q. Sampling-based optimal motion planning with smart exploration and exploitation. IEEE/ASME Trans. Mechatron. 2020, 25, 2376–2386. [Google Scholar] [CrossRef]
  4. Tamizi, M.G.; Yaghoubi, M.; Najjaran, H. A review of recent trend in motion planning of industrial robots. Int. J. Intell. Robot. Appl. 2023, 7, 253–274. [Google Scholar] [CrossRef]
  5. Zhuang, M.; Li, G.; Ding, K. Obstacle Avoidance Path Planning for Apple Picking Robotic Arm Incorporating Artificial Potential Field and A* Algorithm. IEEE Access 2023, 11, 100070–100082. [Google Scholar] [CrossRef]
  6. Zhou, Y.; Huang, N. Airport AGV path optimization model based on ant colony algorithm to optimize Dijkstra algorithm in urban systems. Sustain. Comput. Inf. Syst. 2022, 35, 100716. [Google Scholar] [CrossRef]
  7. Lee, W.; Choi, G.H.; Kim, T.W. Visibility graph-based path-planning algorithm with quadtree representation. Appl. Ocean Res. 2021, 117, 102887. [Google Scholar] [CrossRef]
  8. Meng, F.; Chen, L.; Ma, H.; Wang, J.; Meng, M.Q. NR-RRT: Neural risk-aware near-optimal path planning in uncertain nonconvex environments. IEEE Trans. Autom. Sci. Eng. 2022, 21, 135–146. [Google Scholar] [CrossRef]
  9. Huang, Z.; Chen, H.; Pohovey, J. Neural informed rrt*: Learning-based path planning with point cloud state representations under admissible ellipsoidal constraints. In Proceedings of the 2024 IEEE International Conference on Robotics and Automation (ICRA), Yokohama, Japan, 13–17 May 2024; pp. 8742–8748. [Google Scholar]
  10. Gao, Q.; Yuan, Q.; Sun, Y.; Xu, L. Path planning algorithm of robot arm based on improved RRT* and BP neural network algorithm. J. King Saud Univ. Comput. Inf. Sci. 2023, 35, 101650. [Google Scholar] [CrossRef]
  11. Wang, Y.; He, Z.; Cao, D.; Ma, L.; Li, K.; Jia, L.; Cui, Y. Coverage path planning for kiwifruit picking robots based on deep reinforcement learning. IEEE Trans. Comput. Electron. Agric. 2023, 205, 107593. [Google Scholar] [CrossRef]
  12. Zheng, X.; Cao, J.; Zhang, B.; Zhang, Y.; Chen, W.; Dai, Y.; Zhao, J. Path planning of PRM based on artificial potential field in radiation environments. Ann. Nucl. Energy 2024, 208, 110776. [Google Scholar] [CrossRef]
  13. Li, Q.; Xu, Y.; Bu, S.; Yang, J. Smart vehicle path planning based on modified PRM algorithm. Sensors 2022, 22, 6581. [Google Scholar] [CrossRef] [PubMed]
  14. Kuffner, J.J.; LaValle, S.M. RRT-connect: An efficient approach to single-query path planning. In Proceedings of the 2000 IEEE International Conference on Robotics and Automation.(ICRA), San Francisco, CA, USA, 24–28 April 2000; pp. 995–1001. [Google Scholar]
  15. Karaman, S.; Frazzoli, E. Sampling-based algorithms for optimal motion planning. Int. J. Robot. Res. 2011, 30, 846–894. [Google Scholar] [CrossRef]
  16. Gammell, J.D.; Srinivasa, S.S.; Barfoot, T.D. Informed RRT*: Optimal sampling-based path planning focused via direct sampling of an admissible ellipsoidal heuristic. In Proceedings of the 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Chicago, IL, USA, 14–18 September 2014; pp. 2997–3004. [Google Scholar]
  17. Li, X.; Yang, J.; Wang, X.; Fu, L.; Li, S. Adaptive Step RRT*-Based Method for Path Planning of Tea-Picking Robotic Arm. Sensors 2024, 24, 7759. [Google Scholar] [CrossRef]
  18. Zhang, X.; Wang, P.; Guo, Y.; Han, Q.; Zhang, K. Path Planning Algorithm for Manipulators in Complex Scenes Based on Improved RRT. Sensors 2025, 25, 328. [Google Scholar] [CrossRef]
  19. Xinyu, W.; Xiaojuan, L.; Yong, G.; Jiadong, S.; Rui, W. Bidirectional potential guided RRT* for motion planning. IEEE Access 2019, 7, 95046–99507. [Google Scholar] [CrossRef]
  20. Yuan, C.; Zhang, W.; Liu, G.; Pan, X.; Liu, X. A heuristic rapidly-exploring random trees method for manipulator motion planning. IEEE Access 2019, 8, 900–910. [Google Scholar] [CrossRef]
  21. Zhang, B.; Yin, C.; Fu, Y.; Xia, Y.; Fu, W. Harvest motion planning for mango picking robot based on improved RRT-Connect. Biosyst. Eng. 2024, 248, 177–189. [Google Scholar] [CrossRef]
  22. Dai, J.; Zhang, Y.; Deng, H. Novel potential guided bidirectional RRT* with direct connection strategy for path planning of redundant robot manipulators in joint space. IEEE Trans. Ind. Electron. 2023, 71, 2737–2747. [Google Scholar] [CrossRef]
  23. Jiang, L.; Liu, S.; Cui, Y.; Jiang, H. Path planning for robotic manipulator in complex multi-obstacle environment based on improved_RRT. IEEE/ASME Trans. Mechatron. 2022, 27, 4774–4785. [Google Scholar] [CrossRef]
  24. Cheng, X.; Zhou, J.; Zhou, Z.; Zhao, X.; Gao, J.; Qiao, T. An improved RRT-Connect path planning algorithm of robotic arm for automatic sampling of exhaust emission detection in Industry 4.0. J. Ind. Inf. Integr. 2023, 33, 100436. [Google Scholar] [CrossRef]
  25. Chen, Y.; Fu, Y.; Zhang, B.; Fu, W.; Shen, C. Path planning of the fruit tree pruning manipulator based on improved RRT-Connect algorithm. Int. J. Agric. Biol. Eng. 2022, 15, 177–188. [Google Scholar] [CrossRef]
  26. Shen, H.; Xie, W.F.; Tang, J.; Zhou, T. Adaptive manipulability-based path planning strategy for industrial robot manipulators. IEEE/ASME Trans. Mechatron. 2023, 28, 1742–1753. [Google Scholar] [CrossRef]
  27. Wang, X.; Wei, J.; Zhou, X.; Xia, Z.; Gu, X. AEB-RRT*: An adaptive extension bidirectional RRT* algorithm. Auton. Robots. 2022, 46, 685–704. [Google Scholar] [CrossRef]
  28. Li, B.; Chen, B. An adaptive rapidly-exploring random tree. IEEE/CAA J. Autom. Sin. 2021, 9, 283–294. [Google Scholar] [CrossRef]
  29. Li, H.; Kang, Y.; Han, H. Dynamic Informed Bias RRT*-Connect: Improving Heuristic Guidance by Dynamic Informed Bias Using Hybrid Dual Trees Search. J. Intell. Robot. Syst. 2024, 110, 106. [Google Scholar] [CrossRef]
  30. Pan, J.; Chitta, S.; Manocha, D. FCL: A general purpose library for collision and proximity queries. In Proceedings of the 2012 IEEE International Conference on Robotics and Automation (ICRA), Saint Paul, MN, USA, 14–18 May 2012; pp. 3859–3866. [Google Scholar]
  31. Ketchel, J.; Larochelle, P. Collision detection of cylindrical rigid bodies for motion planning. In Proceedings of the 2006 IEEE International Conference on Robotics and Automation (ICRA), Orlando, FL, USA, 15–19 May 2006; pp. 1530–1535. [Google Scholar] [CrossRef]
  32. Klemm, S.; Oberländer, J.; Hermann, A.; Roennau, A.; Schamm, T.; Zollner, J.M.; Dillmann, R. RRT*-Connect: Faster, asymptotically optimal motion planning. In Proceedings of the 2015 IEEE International Conference on Robotics and Biomimetics (ROBIO), Zhuhai, China, 6–9 December 2015; pp. 1670–1677. [Google Scholar]
  33. Gammell, J.D.; Barfoot, T.D.; Srinivasa, S.S. Informed sampling for asymptotically optimal path planning. IEEE Trans. Robot. 2018, 34, 966–984. [Google Scholar] [CrossRef]
Figure 1. The robotic arm collision detection model.
Figure 1. The robotic arm collision detection model.
Sensors 25 02364 g001
Figure 2. The workflow of the RRT*-Connect algorithm: (a) New Node Generation; (b) Parent Node Reselection; (c) Node Rewiring; and (d) T 2 Tree Expansion.
Figure 2. The workflow of the RRT*-Connect algorithm: (a) New Node Generation; (b) Parent Node Reselection; (c) Node Rewiring; and (d) T 2 Tree Expansion.
Sensors 25 02364 g002
Figure 3. The ellipsoidal subset sampling.
Figure 3. The ellipsoidal subset sampling.
Sensors 25 02364 g003
Figure 4. Illustration of the pruning optimization.
Figure 4. Illustration of the pruning optimization.
Sensors 25 02364 g004
Figure 5. The flowchart of the branch pruning optimization process.
Figure 5. The flowchart of the branch pruning optimization process.
Sensors 25 02364 g005
Figure 6. The cubic inhomogeneous B-spline interpolation.
Figure 6. The cubic inhomogeneous B-spline interpolation.
Sensors 25 02364 g006
Figure 7. The comparison results of 2D static multi-obstacle narrow space path-planning algorithms in Scenario I: (a) RRT*; (b) Informed-RRT*; (c) RRT*-Connect; and (d) IRRT*-Connect.
Figure 7. The comparison results of 2D static multi-obstacle narrow space path-planning algorithms in Scenario I: (a) RRT*; (b) Informed-RRT*; (c) RRT*-Connect; and (d) IRRT*-Connect.
Sensors 25 02364 g007
Figure 8. The comparison results of 2D static multi-obstacle narrow space path-planning algorithms in Scenario II: (a) RRT*; (b) Informed-RRT*; (c) RRT*-Connect; and (d) IRRT*-Connect.
Figure 8. The comparison results of 2D static multi-obstacle narrow space path-planning algorithms in Scenario II: (a) RRT*; (b) Informed-RRT*; (c) RRT*-Connect; and (d) IRRT*-Connect.
Sensors 25 02364 g008
Figure 9. The comparison results of 3D static multi-obstacle narrow space path-planning algorithms in Scenario III: (a) RRT*; (b) Informed-RRT*; (c) RRT*-Connect; and (d) IRRT*-Connect.
Figure 9. The comparison results of 3D static multi-obstacle narrow space path-planning algorithms in Scenario III: (a) RRT*; (b) Informed-RRT*; (c) RRT*-Connect; and (d) IRRT*-Connect.
Sensors 25 02364 g009
Figure 10. The comparison results of 3D static multi-obstacle narrow space path-planning algorithms in Scenario IV: (a) RRT*; (b) Informed-RRT*; (c) RRT*-Connect; and (d) IRRT*-Connect.
Figure 10. The comparison results of 3D static multi-obstacle narrow space path-planning algorithms in Scenario IV: (a) RRT*; (b) Informed-RRT*; (c) RRT*-Connect; and (d) IRRT*-Connect.
Sensors 25 02364 g010
Figure 11. The robotic arm motion obstacle avoidance process: (a) RRT*-Connect; (b) IRRT*-Connect.
Figure 11. The robotic arm motion obstacle avoidance process: (a) RRT*-Connect; (b) IRRT*-Connect.
Sensors 25 02364 g011
Figure 12. The curves of each joint changing over time: (a) RRT*-Connect; (b) IRRT*-Connect.
Figure 12. The curves of each joint changing over time: (a) RRT*-Connect; (b) IRRT*-Connect.
Sensors 25 02364 g012
Figure 13. The process of the robotic arm motion obstacle avoidance: (a) starting position; (b) obstacle avoidance posture 1; (c) obstacle avoidance posture 2; and (d) end pose.
Figure 13. The process of the robotic arm motion obstacle avoidance: (a) starting position; (b) obstacle avoidance posture 1; (c) obstacle avoidance posture 2; and (d) end pose.
Sensors 25 02364 g013
Table 1. Result comparison of different algorithms in Scenario I.
Table 1. Result comparison of different algorithms in Scenario I.
AlgorithmAverage Path Length (mm)Average Time (s)
RRT*164.590.48
Informed-RRT*162.580.56
RRT*-Connect185.810.28
IRRT*-Connect157.640.16
Table 2. Result comparison of different algorithms in Scenario II.
Table 2. Result comparison of different algorithms in Scenario II.
AlgorithmAverage Path Length (mm)Average Time (s)
RRT*163.390.56
Informed-RRT*162.280.76
RRT*-Connect186.050.27
IRRT*-Connect158.480.18
Table 3. Result comparison of different algorithms in Scenario III.
Table 3. Result comparison of different algorithms in Scenario III.
AlgorithmAverage Path Length (mm)Average Time (s)
RRT*208.980.58
Informed-RRT*206.130.68
RRT*-Connect228.200.30
IRRT*-Connect185.110.17
Table 4. Result comparison of different algorithms in Scenario IV.
Table 4. Result comparison of different algorithms in Scenario IV.
AlgorithmAverage Path Length (mm)Average Time (s)
RRT*210.281.12
Informed-RRT*205.531.26
RRT*-Connect214.810.28
IRRT*-Connect181.780.18
Table 5. Robotic arm motion planning results.
Table 5. Robotic arm motion planning results.
AlgorithmAverage Path Length (mm)Average Time (s)Planning Success Rate (%)
RRT*-Connect366.588.49 86 %
IRRT*-Connect314.095.65 100 %
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

He, X.; Zhou, Y.; Liu, H.; Shang, W. Improved RRT*-Connect Manipulator Path Planning in a Multi-Obstacle Narrow Environment. Sensors 2025, 25, 2364. https://doi.org/10.3390/s25082364

AMA Style

He X, Zhou Y, Liu H, Shang W. Improved RRT*-Connect Manipulator Path Planning in a Multi-Obstacle Narrow Environment. Sensors. 2025; 25(8):2364. https://doi.org/10.3390/s25082364

Chicago/Turabian Style

He, Xueyi, Yimin Zhou, Haonan Liu, and Wanfeng Shang. 2025. "Improved RRT*-Connect Manipulator Path Planning in a Multi-Obstacle Narrow Environment" Sensors 25, no. 8: 2364. https://doi.org/10.3390/s25082364

APA Style

He, X., Zhou, Y., Liu, H., & Shang, W. (2025). Improved RRT*-Connect Manipulator Path Planning in a Multi-Obstacle Narrow Environment. Sensors, 25(8), 2364. https://doi.org/10.3390/s25082364

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop