NAMR-RRT: Neural Adaptive Motion Planning for Mobile Robots in Dynamic Environments

Zhirui Sun, Bingyi Xia, Peijia Xie, Xiaoxiao Li and Jiankun Wang, Senior Member, IEEE This work is partially supported by National Natural Science Foundation of China Grant #62103181, Shenzhen Science and Technology Program under Grant RCBS20221008093305007, 20231115141459001, Young Elite Scientists Sponsorship Program by CAST under Grant 2023QNRC001, High level of special funds (G03034K003) from Southern University of Science and Technology, Shenzhen, China. (Corresponding author: Jiankun Wang).Zhirui Sun, Bingyi Xia, Peijia Xie and Jiankun Wang are with Shenzhen Key Laboratory of Robotics Perception and Intelligence, Department of Electronic and Electrical Engineering, Southern University of Science and Technology, Shenzhen, China (e-mail: [email protected]; [email protected]; [email protected]; [email protected]).Zhirui Sun and Jiankun Wang are also with Jiaxing Research Institute, Southern University of Science and Technology, Jiaxing, China.Bingyi Xia is also with the Peng Cheng National Laboratory, Shenzhen, China.Xiaoxiao Li is with the Harbin Institute of Technology Shenzhen, Shenzhen, China (e-mails: [email protected]).
Abstract

Robots are increasingly deployed in dynamic and crowded environments, such as urban areas and shopping malls, where efficient and robust navigation is crucial. Traditional risk-based motion planning algorithms face challenges in such scenarios due to the lack of a well-defined search region, leading to inefficient exploration in irrelevant areas. While bi-directional and multi-directional search strategies can improve efficiency, they still result in significant unnecessary exploration. This article introduces the Neural Adaptive Multi-directional Risk-based Rapidly-exploring Random Tree (NAMR-RRT) to address these limitations. NAMR-RRT integrates neural network-generated heuristic regions to dynamically guide the exploration process, continuously refining the heuristic region and sampling rates during the planning process. This adaptive feature significantly enhances performance compared to neural-based methods with fixed heuristic regions and sampling rates. NAMR-RRT improves planning efficiency, reduces trajectory length, and ensures higher success by focusing the search on promising areas and continuously adjusting to environments. The experiment results from both simulations and real-world applications demonstrate the robustness and effectiveness of our proposed method in navigating dynamic environments. A website about this work is available at https://sites.google.com/view/namr-rrt.

Note to Practitioners

The growing demand for autonomous robots to navigate efficiently and robustly in dynamic, crowded environments like public areas has motivated this work. Traditional risk-based motion planning algorithms often suffer from unfocused search processes, leading to inefficient exploration and performance bottlenecks. This article introduces the NAMR-RRT algorithm to address these issues by integrating neural network-generated heuristic regions to guide the search process. NAMR-RRT adaptively updates both the heuristic region and sampling rate during the planning process, allowing it to focus on more promising areas and dynamically adjust to environmental changes. Unlike conventional methods relying on random exploration, NAMR-RRT improves efficiency by focusing searches in regions more likely to lead to the feasible path, thereby reducing trajectory length and enhancing overall performance. This approach is valuable for mobile robots operating in human-robot coexisting environments, where dynamic adaptability and efficient navigation are critical. The experiment results demonstrate that NAMR-RRT provides a reliable and efficient solution for motion planning in such complex scenarios.

Index Terms:
Neural adaptive guiding, multi-directional searching, risk-aware growing.

I Introduction

In recent years, autonomous robots have become an integral part of daily life, with their presence expanding across diverse sectors—from automated guided vehicles (AGVs) [1] in warehouses to cleaning robots [2] in shopping malls. As these robots take on increasingly complex tasks and interact with their surroundings, they face the challenge of navigating unpredictable environments filled with dynamic obstacles and continuously changing conditions. Effective motion planning algorithms are essential to enable autonomous robots to navigate these environments efficiently and robustly.

Over the past few decades, various motion planning algorithms have been proposed, each with its characteristics. Grid-based methods, such as A* [3], and Dijkstra’s [4] algorithms, are widely regarded for their completeness and optimality in static, well-structured environments. However, as the dimensionality of the search space increases, these algorithms become computationally expensive and are often unsuitable for real-time planning in dynamic scenarios. Potential field methods, such as Artificial Potential Field (APF) [5], which generate motion by treating the robot as a particle influenced by attractive forces towards the goal and repulsive forces from obstacles, offer faster computation but often suffer from local minima, causing the robot to get stuck before reaching the target. Optimization-based methods, such as trajectory smoothness [6] and trajectory generation [7], are effective in producing smooth, optimal trajectories but are highly sensitive to parameter tuning and environment changes. In addition, learning-based approaches like Deep Reinforcement Learning (DRL) [8] have attracted attention for their ability to train models that predict feasible actions. Despite this, they often lack interpretability, as their black-box nature makes it challenging to understand and predict their decision-making processes. Sampling-based methods, such as Probabilistic Roadmap (PRM) [9] and Rapidly-exploring Random Tree (RRT) [10], are particularly effective in navigating high-dimensional state spaces and incorporating multiple constraints. PRM constructs a roadmap by randomly sampling the state space and connecting feasible points, making it efficient for static environments. However, its need for preprocessing limits its effectiveness in changing scenarios. In contrast, RRT incrementally builds a tree from the start node towards the goal, quickly covering large areas of the state space without a predefined roadmap. This feature makes RRT well-suited for navigating complex and changing environments, providing a foundation for various extensions and improvements in motion planning research.

Various approaches have been proposed to improve the performance of RRT, such as RRT-Connect [11] and RRdT* [12]. These methods improve planning efficiency by growing trees from the start and goal points or using multiple search directions. However, due to the nonholonomic constraints of robots [13], they often encounter the Two-Point Boundary Value Problem (TBVP) [14], which prevents the direct connection of nodes between two trees. Solving TBVP is computationally expensive, and solutions are not always guaranteed. To address this challenge, researchers introduce heuristic-based search methods that bypass the need to solve TBVP directly. It leads to developing algorithms such as B2U-RRT [15] and MT-RRT [16], which improve the search process without addressing TBVP explicitly. However, these methods still do not consider dynamic environments. Risk-RRT [17] is introduced as a method to handle motion planning and obstacle avoidance in dynamic environments by incorporating risk awareness into the search process. Building upon this, further improvements such as Bi-Risk-RRT [18] and Multi-Risk-RRT [19] enhance performance by incorporating bi-directional and multi-directional search strategies. These methods enable more efficient robot navigation in dynamic environments. However, despite these enhancements, they still have limitations, especially without a clearly defined search region. It leads to inefficient exploration, as significant computational resources are often wasted in irrelevant areas.

This article presents a novel algorithm called NAMR-RRT to address the challenges mentioned above. As shown in Fig. 1, NAMR-RRT utilizes neural network-generated heuristic regions to guide the search towards more promising areas, reducing the time and computational cost of unnecessary exploration. NAMR-RRT dynamically updates the heuristic region and the sampling rate, allowing it to adapt quickly to environmental changes. By incorporating this adaptive feature, NAMR-RRT enhances planning performance, improving the algorithm’s robustness in dynamic environments.

Refer to caption
Figure 1: The diagram of the robot’s navigation in a dynamic environment. The robot starts at the red flag and moves towards the green flag. Static and moving pedestrians are shown as blue and red icons. The Heuristic Region (yellow) guides the robot’s search. The Neural-based Trajectory (red) highlights the efficient trajectory guided by this region, while the Random Trajectory (green) represents an inefficient trajectory from random sampling.

The main contributions of this article are summarized as follows:

  • This article introduces a neural network model based on PointNet++ that employs parallel inference and iterative generation to create heuristic regions, improving the search process efficiency by directing exploration towards more promising areas.

  • The proposed NAMR-RRT algorithm integrates Neural Adaptive Guiding, Multi-directional Searching, and Risk-aware Growing, providing a comprehensive solution for efficient navigation in dynamic environments.

  • The adaptive updating of the heuristic region and sampling rate enables NAMR-RRT to adjust during planning dynamically, enhancing its responsiveness to changing environments. Extensive comparative experiments verify the effectiveness of this feature.

II Related Work

Classical sampling-based motion planning algorithms like RRT [10] and PRM [9] are widely used in robotic motion planning problems. RRT explores state spaces incrementally by building a tree, while PRM connects sampled points in the environment with collision-free paths. For path optimality, RRT* [20] builds on RRT by incrementally refining paths to minimize cost. Informed-RRT* [21] and Batch Informed Trees [22] improve convergence speed by focusing sampling on regions likely to improve the current best path. Methods such as RRT-Connect [11] and RRdT* [12] have been introduced to increase planning efficiency. These approaches accelerate the search process by expanding trees from the start and goal points or exploring the state space through multiple search directions. It significantly reduces the time required to find a feasible path. Extensions like B2U-RRT [15] and MT-RRT [16] take the robot’s kinematic constraints into account, further enhancing performance in constrained environments. While effective in static environments, these methods face challenges when applied to dynamic environments.

Motion planning in dynamic environments introduces additional complexity due to the need to account for moving obstacles and continuously changing conditions. Several algorithms have been proposed to address these challenges. MP-RRT [23] extends RRT for dynamic environments by biasing the sampling distribution and reusing branches from previous iterations. Grid-based methods like D* [24] and D*-Lite [25] are designed for dynamic environments. However, the environment’s discretization and problem complexity often constrain their effectiveness. RRTX [26] refines and repairs the same search graph throughout navigation, efficiently updating paths in dynamic environments. RT-RRT* [27] incorporates an online tree rewiring strategy that enables the tree root to move with the agent, retaining previously sampled paths rather than discarding them. Fulgenzi et al. [17] propose a time-based tree framework incorporating risk awareness into the search process, allowing the algorithm to assess and avoid potential risks from dynamic obstacles. Expanding on this foundation, Bi-Risk-RRT [18] and Multi-Risk-RRT [19] improve planning efficiency and success rates by incorporating bi-directional and multi-directional search strategies, making these algorithms more suitable for complex and dynamic environments. These methods, while effective, still have limitations in terms of focused exploration, as they cannot clearly define and concentrate the search within promising areas.

Recent advances in motion planning have explored integrating machine learning techniques, particularly neural networks, to predict feasible paths or regions for exploration. Neural network-based methods offer the potential for more intelligent planning by leveraging learned environmental knowledge. For example, Neural RRT* [28] and Neural Informed RRT* [29] apply neural networks to guide the sampling process, improving path exploration and convergence in state spaces. Meng et al. [30] use a Deep Invertible Koopman operator with control U (DIKU) to generate time-informed sets (TIS), enhancing non-uniform sampling in kinodynamic motion planning and guiding the search towards more feasible trajectories in nonlinear systems. Zhang et al. [31] utilize a generative adversarial network (GAN) to create heuristic regions to improve non-uniform sampling, directing the search towards more promising areas in the environment. However, many of these methods operate with static heuristic regions, limiting their adaptability in dynamic environments. In response to these challenges, NAMR-RRT is developed to combine the strengths of neural network-based heuristics with the flexibility of adaptive search strategies. Unlike neural network-based methods with a fixed heuristic region and sampling rate, NAMR-RRT continuously updates the heuristic region and sampling rate, enabling it to adapt to changing environments dynamically. This approach not only improves planning efficiency but also ensures more targeted exploration, addressing the shortcomings of prior work and offering enhanced performance in dynamic and complex scenarios.

The remainder of this article is organized as follows: Section III provides the formulation of motion planning and the time-based RRT. Section IV details the proposed NAMR-RRT algorithm, explaining the integration of Neural Adaptive Guiding, Multi-directional Searching, and Risk-aware Growing Function. Section V covers the details of the implementation, the results of simulation experiments compared with the baseline algorithms, and the deployment of NAMR-RRT in the real-world. Section VI provides an in-depth discussion, focusing on the performance of the baseline algorithms, the advantages of neural network-based approaches, and the impact of adaptive updates in NAMR-RRT. Section VII concludes with a summary and considerations for future work.

III Preliminaries

In this section, the motion planning problem is formulated in Subsection III-A, followed by introducing the time-based RRT in Subsection III-B.

III-A Motion Planning

In this subsection, the formulation for robot motion planning is presented. The robot operates in a state space denoted as Xd𝑋superscript𝑑X\subset\mathbb{R}^{d}italic_X ⊂ blackboard_R start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT. Let XobsXsubscript𝑋𝑜𝑏𝑠𝑋X_{obs}\subset Xitalic_X start_POSTSUBSCRIPT italic_o italic_b italic_s end_POSTSUBSCRIPT ⊂ italic_X represent the space occupied by obstacles, and Xfree=XXobssubscript𝑋𝑓𝑟𝑒𝑒𝑋subscript𝑋𝑜𝑏𝑠X_{free}=X\setminus X_{obs}italic_X start_POSTSUBSCRIPT italic_f italic_r italic_e italic_e end_POSTSUBSCRIPT = italic_X ∖ italic_X start_POSTSUBSCRIPT italic_o italic_b italic_s end_POSTSUBSCRIPT define the collision-free region. Since the state space is time-varying in dynamic environments, the obstacle space and the free space are represented as Xobs(t)subscript𝑋𝑜𝑏𝑠𝑡X_{obs}(t)italic_X start_POSTSUBSCRIPT italic_o italic_b italic_s end_POSTSUBSCRIPT ( italic_t ) and Xfree(t)subscript𝑋𝑓𝑟𝑒𝑒𝑡X_{free}(t)italic_X start_POSTSUBSCRIPT italic_f italic_r italic_e italic_e end_POSTSUBSCRIPT ( italic_t ). The start state is denoted as xstartsubscript𝑥𝑠𝑡𝑎𝑟𝑡x_{start}italic_x start_POSTSUBSCRIPT italic_s italic_t italic_a italic_r italic_t end_POSTSUBSCRIPT, while the goal state is xgoalsubscript𝑥𝑔𝑜𝑎𝑙x_{goal}italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT. Furthermore, the goal region is defined as Xgoal(t)={xXfree(t)xxgoal<ϵ}subscript𝑋𝑔𝑜𝑎𝑙𝑡conditional-set𝑥subscript𝑋𝑓𝑟𝑒𝑒𝑡norm𝑥subscript𝑥𝑔𝑜𝑎𝑙italic-ϵX_{goal}(t)=\{x\in X_{free}(t)\mid||x-x_{goal}||<\epsilon\}italic_X start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT ( italic_t ) = { italic_x ∈ italic_X start_POSTSUBSCRIPT italic_f italic_r italic_e italic_e end_POSTSUBSCRIPT ( italic_t ) ∣ | | italic_x - italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT | | < italic_ϵ }, where ϵitalic-ϵ\epsilonitalic_ϵ is a predefined threshold. The control space of the robot is given by Ub𝑈superscript𝑏U\subset\mathbb{R}^{b}italic_U ⊂ blackboard_R start_POSTSUPERSCRIPT italic_b end_POSTSUPERSCRIPT, and let η𝜂\etaitalic_η denote the robot control parameters.

The motion planning problem is to find a valid trajectory σ:[0,T]Xfree(t):𝜎maps-to0𝑇subscript𝑋𝑓𝑟𝑒𝑒𝑡\sigma:[0,T]\mapsto X_{free}(t)italic_σ : [ 0 , italic_T ] ↦ italic_X start_POSTSUBSCRIPT italic_f italic_r italic_e italic_e end_POSTSUBSCRIPT ( italic_t ) such that σ(0)=xstart𝜎0subscript𝑥𝑠𝑡𝑎𝑟𝑡\sigma(0)=x_{start}italic_σ ( 0 ) = italic_x start_POSTSUBSCRIPT italic_s italic_t italic_a italic_r italic_t end_POSTSUBSCRIPT and σ(T)Xgoal(T)𝜎𝑇subscript𝑋𝑔𝑜𝑎𝑙𝑇\sigma(T)\in X_{goal}(T)italic_σ ( italic_T ) ∈ italic_X start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT ( italic_T ). For every t[0,T]𝑡0𝑇t\in[0,T]italic_t ∈ [ 0 , italic_T ], σ(t)Xfree(t)𝜎𝑡subscript𝑋𝑓𝑟𝑒𝑒𝑡\sigma(t)\in X_{free}(t)italic_σ ( italic_t ) ∈ italic_X start_POSTSUBSCRIPT italic_f italic_r italic_e italic_e end_POSTSUBSCRIPT ( italic_t ). The planned trajectory is executed by determining a series of control u:[0,T]U:𝑢maps-to0𝑇𝑈u:[0,T]\mapsto Uitalic_u : [ 0 , italic_T ] ↦ italic_U, and t[0,T]for-all𝑡0𝑇\forall t\in[0,T]∀ italic_t ∈ [ 0 , italic_T ]:

{σ(t+Δt)=F(σ(t),u(t))u(t+Δt)U(u(t),η)cases𝜎𝑡Δ𝑡𝐹𝜎𝑡𝑢𝑡𝑢𝑡Δ𝑡𝑈𝑢𝑡𝜂\left\{\begin{array}[]{l}\sigma(t+\Delta t)=F(\sigma(t),u(t))\\ u(t+\Delta t)\in U(u(t),\eta)\end{array}\right.{ start_ARRAY start_ROW start_CELL italic_σ ( italic_t + roman_Δ italic_t ) = italic_F ( italic_σ ( italic_t ) , italic_u ( italic_t ) ) end_CELL end_ROW start_ROW start_CELL italic_u ( italic_t + roman_Δ italic_t ) ∈ italic_U ( italic_u ( italic_t ) , italic_η ) end_CELL end_ROW end_ARRAY (1)

Where F𝐹Fitalic_F represents the robot’s dynamics, and U𝑈Uitalic_U denotes the set of possible control outputs. These outputs are constrained by both the control input at the previous node and the inherent limitations of the robot’s control system. The control at step t𝑡titalic_t, denoted as u(t)U𝑢𝑡𝑈u(t)\in Uitalic_u ( italic_t ) ∈ italic_U, determines the resulting state σ(t+Δt)𝜎𝑡Δ𝑡\sigma(t+\Delta t)italic_σ ( italic_t + roman_Δ italic_t ) after applying the control to the current state σ(t)𝜎𝑡\sigma(t)italic_σ ( italic_t ). The time increment is represented by ΔtΔ𝑡\Delta troman_Δ italic_t.

III-B Time-based RRT

Refer to caption
Figure 2: The structure of the time-based tree.

The time-based RRT, proposed in [17], enables motion planning in dynamic environments. The structure of the time-based tree is shown in Fig. 2. The information associated with each node can be represented by the tuple (x,xparent,xchild,N,t,u,U,Pcollision(t))𝑥subscript𝑥𝑝𝑎𝑟𝑒𝑛𝑡subscript𝑥𝑐𝑖𝑙𝑑𝑁𝑡𝑢𝑈subscript𝑃𝑐𝑜𝑙𝑙𝑖𝑠𝑖𝑜𝑛𝑡(x,x_{parent},x_{child},N,t,u,U,P_{collision}(t))( italic_x , italic_x start_POSTSUBSCRIPT italic_p italic_a italic_r italic_e italic_n italic_t end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT italic_c italic_h italic_i italic_l italic_d end_POSTSUBSCRIPT , italic_N , italic_t , italic_u , italic_U , italic_P start_POSTSUBSCRIPT italic_c italic_o italic_l italic_l italic_i italic_s italic_i italic_o italic_n end_POSTSUBSCRIPT ( italic_t ) ):

  1. 1.

    x𝑥xitalic_x denotes the robot’s state, including its position and orientation.

  2. 2.

    xparentsubscript𝑥𝑝𝑎𝑟𝑒𝑛𝑡x_{parent}italic_x start_POSTSUBSCRIPT italic_p italic_a italic_r italic_e italic_n italic_t end_POSTSUBSCRIPT and xchildsubscript𝑥𝑐𝑖𝑙𝑑x_{child}italic_x start_POSTSUBSCRIPT italic_c italic_h italic_i italic_l italic_d end_POSTSUBSCRIPT are the parent and child nodes of the current node. The parent node connects the current node to its upper level in the tree, while the child node corresponds to the nodes generated from it. For example, in Fig. 2, x6subscript𝑥6x_{6}italic_x start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT is the parent and x16subscript𝑥16x_{16}italic_x start_POSTSUBSCRIPT 16 end_POSTSUBSCRIPT is the child of node x11subscript𝑥11x_{11}italic_x start_POSTSUBSCRIPT 11 end_POSTSUBSCRIPT.

  3. 3.

    N𝑁Nitalic_N represents the depth, which measures the distance between the root node and the current node. The depth increment from a node to its child node is 1. For example, N(xstart)=0𝑁subscript𝑥𝑠𝑡𝑎𝑟𝑡0N(x_{start})=0italic_N ( italic_x start_POSTSUBSCRIPT italic_s italic_t italic_a italic_r italic_t end_POSTSUBSCRIPT ) = 0 and N(x7)=2𝑁subscript𝑥72N(x_{7})=2italic_N ( italic_x start_POSTSUBSCRIPT 7 end_POSTSUBSCRIPT ) = 2.

  4. 4.

    t𝑡titalic_t refers to the timestamp, given by t=t0+nΔt𝑡subscript𝑡0𝑛Δ𝑡t=t_{0}+n\cdot\Delta titalic_t = italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_n ⋅ roman_Δ italic_t, where t0subscript𝑡0t_{0}italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is the timestamp of the xstartsubscript𝑥𝑠𝑡𝑎𝑟𝑡x_{start}italic_x start_POSTSUBSCRIPT italic_s italic_t italic_a italic_r italic_t end_POSTSUBSCRIPT, and ΔtΔ𝑡\Delta troman_Δ italic_t is the time interval between two nodes.

  5. 5.

    u=(v,w)𝑢𝑣𝑤u=(v,w)italic_u = ( italic_v , italic_w ) represents the control input, and U𝑈Uitalic_U denotes the possible control outputs from the current node to its child node. The robot transitions from the state of its parent node to the current node using u𝑢uitalic_u

    x=F(xparent,u).𝑥𝐹subscript𝑥𝑝𝑎𝑟𝑒𝑛𝑡𝑢x=F(x_{parent},u).italic_x = italic_F ( italic_x start_POSTSUBSCRIPT italic_p italic_a italic_r italic_e italic_n italic_t end_POSTSUBSCRIPT , italic_u ) . (2)
  6. 6.

    At timestamp t𝑡titalic_t, the probabilistic collision risk Pcollision(t)subscript𝑃𝑐𝑜𝑙𝑙𝑖𝑠𝑖𝑜𝑛𝑡P_{collision}(t)italic_P start_POSTSUBSCRIPT italic_c italic_o italic_l italic_l italic_i italic_s italic_i italic_o italic_n end_POSTSUBSCRIPT ( italic_t ) considers both static and dynamic obstacles:

    Pcollision(t)=Pstatic+(1Pstatic)Pmoving(t),subscript𝑃𝑐𝑜𝑙𝑙𝑖𝑠𝑖𝑜𝑛𝑡subscript𝑃𝑠𝑡𝑎𝑡𝑖𝑐1subscript𝑃𝑠𝑡𝑎𝑡𝑖𝑐subscript𝑃𝑚𝑜𝑣𝑖𝑛𝑔𝑡P_{collision}(t)=P_{static}+(1-P_{static})\cdot P_{moving}(t),italic_P start_POSTSUBSCRIPT italic_c italic_o italic_l italic_l italic_i italic_s italic_i italic_o italic_n end_POSTSUBSCRIPT ( italic_t ) = italic_P start_POSTSUBSCRIPT italic_s italic_t italic_a italic_t italic_i italic_c end_POSTSUBSCRIPT + ( 1 - italic_P start_POSTSUBSCRIPT italic_s italic_t italic_a italic_t italic_i italic_c end_POSTSUBSCRIPT ) ⋅ italic_P start_POSTSUBSCRIPT italic_m italic_o italic_v italic_i italic_n italic_g end_POSTSUBSCRIPT ( italic_t ) , (3)

    where:

    • Pstaticsubscript𝑃𝑠𝑡𝑎𝑡𝑖𝑐P_{static}italic_P start_POSTSUBSCRIPT italic_s italic_t italic_a italic_t italic_i italic_c end_POSTSUBSCRIPT represents the probability of collision with static obstacles.

    • Pmoving(t)subscript𝑃𝑚𝑜𝑣𝑖𝑛𝑔𝑡P_{moving}(t)italic_P start_POSTSUBSCRIPT italic_m italic_o italic_v italic_i italic_n italic_g end_POSTSUBSCRIPT ( italic_t ) represents the probability of collision with moving obstacles at timestamp t𝑡titalic_t.

    Additionally, Pmoving(dk(t))subscript𝑃𝑚𝑜𝑣𝑖𝑛𝑔subscript𝑑𝑘𝑡P_{moving}(d_{k}(t))italic_P start_POSTSUBSCRIPT italic_m italic_o italic_v italic_i italic_n italic_g end_POSTSUBSCRIPT ( italic_d start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_t ) ) indicates the risk from the planned path of a moving obstacle dksubscript𝑑𝑘d_{k}italic_d start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT at t𝑡titalic_t. The overall collision probability from multiple moving obstacles is calculated as the complement of the product of their non-collision probabilities:

    Pmoving(t)=1k=1m(1Pmoving(dk(t))),subscript𝑃𝑚𝑜𝑣𝑖𝑛𝑔𝑡1superscriptsubscriptproduct𝑘1𝑚1subscript𝑃𝑚𝑜𝑣𝑖𝑛𝑔subscript𝑑𝑘𝑡P_{moving}(t)=1-\prod_{k=1}^{m}(1-P_{moving}(d_{k}(t))),italic_P start_POSTSUBSCRIPT italic_m italic_o italic_v italic_i italic_n italic_g end_POSTSUBSCRIPT ( italic_t ) = 1 - ∏ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT ( 1 - italic_P start_POSTSUBSCRIPT italic_m italic_o italic_v italic_i italic_n italic_g end_POSTSUBSCRIPT ( italic_d start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_t ) ) ) , (4)

    where m𝑚mitalic_m represents the number of moving obstacles.

To ensure efficient navigation between states, a cost function [32] is used to quantify the “effort” required for the robot to move from one state, x1subscript𝑥1x_{1}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, to another, x2subscript𝑥2x_{2}italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. This function incorporates both the spatial distance and the angular deviation between the two states:

Cost(x1,x2)=w1x1x2+w2arccosv1x1x2|v1||x1x2|,Costsubscript𝑥1subscript𝑥2subscript𝑤1normsubscript𝑥1subscript𝑥2subscript𝑤2subscript𝑣1subscript𝑥1subscript𝑥2subscript𝑣1subscript𝑥1subscript𝑥2\textup{Cost}(x_{1},x_{2})=w_{1}||x_{1}-x_{2}||+w_{2}\arccos\frac{% \overrightarrow{v_{1}}\cdot\overrightarrow{x_{1}x_{2}}}{\left|\overrightarrow{% v_{1}}\right|\left|\overrightarrow{x_{1}x_{2}}\right|},Cost ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) = italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT | | italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT - italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT | | + italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT roman_arccos divide start_ARG over→ start_ARG italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG ⋅ over→ start_ARG italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG end_ARG start_ARG | over→ start_ARG italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG | | over→ start_ARG italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG | end_ARG , (5)

where w1subscript𝑤1w_{1}italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and w2subscript𝑤2w_{2}italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are constants that balance the influence of distance and angle. v1subscript𝑣1\overrightarrow{v_{1}}over→ start_ARG italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG represents the robot’s velocity vector at x1subscript𝑥1x_{1}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, and ||||||\cdot||| | ⋅ | | is the L2 norm. This cost function evaluates how effectively the robot can transition between states, with lower values indicating more efficient transitions.

In conclusion, the time-based RRT integrates probabilistic collision risk with control inputs to navigate dynamic environments. The cost function further refines this process by ensuring distance and orientation are considered in the robot’s motion planning, optimizing its transitions between states.

IV NAMR-RRT Algorithm

Refer to caption
Figure 3: A diagram of the architecture of the NAMR-RRT algorithm. The Neural Adaptive Guiding Function first generates the heuristic region based on the input map, followed by a BFS to identify waypoints. The Multi-directional Searching Function then creates subTrees within the heuristic region, while the Risk-aware Growing Function grows the rootTree. The heuristic region and subTrees guide the growth of the rootTree, ultimately generating control instructions for the robot. Additionally, as the robot moves, its position relative to the waypoints is continually assessed, prompting updates to the heuristic region.

This section presents the architecture of the NAMR-RRT algorithm, as illustrated in Fig. 3. The figure outlines the overall framework, highlighting the three core features of the proposed algorithm: Neural Adaptive Guiding, Multi-directional Searching, and Risk-aware Growing. The input map information is initially fed into a trained neural network model, which infers the heuristic region. A BFS (Breadth First Search) is then performed within this heuristic region to identify waypoints from the start to the goal (Sec. IV-B). Following this, the multi-directional search is executed within the heuristic region, generating subTrees (Sec. IV-C). Finally, the risk-aware rootTree (Sec. IV-D) leverages the heuristic region and subTrees to generate motion instructions for the robot to follow.

IV-A NAMR-RRT Algorithm

Input: xstartsubscript𝑥𝑠𝑡𝑎𝑟𝑡x_{start}italic_x start_POSTSUBSCRIPT italic_s italic_t italic_a italic_r italic_t end_POSTSUBSCRIPT, xgoalsubscript𝑥𝑔𝑜𝑎𝑙x_{goal}italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT, xcurrentsubscript𝑥𝑐𝑢𝑟𝑟𝑒𝑛𝑡x_{current}italic_x start_POSTSUBSCRIPT italic_c italic_u italic_r italic_r italic_e italic_n italic_t end_POSTSUBSCRIPT, Map𝑀𝑎𝑝Mapitalic_M italic_a italic_p.
Output: 𝒯optsubscript𝒯𝑜𝑝𝑡\mathcal{T}_{opt}caligraphic_T start_POSTSUBSCRIPT italic_o italic_p italic_t end_POSTSUBSCRIPT.
1 closestTree𝑐𝑙𝑜𝑠𝑒𝑠𝑡𝑇𝑟𝑒𝑒closestTree\leftarrow\emptysetitalic_c italic_l italic_o italic_s italic_e italic_s italic_t italic_T italic_r italic_e italic_e ← ∅;
2 rootTreeriskGrow(xstart)𝑟𝑜𝑜𝑡𝑇𝑟𝑒𝑒riskGrowsubscript𝑥𝑠𝑡𝑎𝑟𝑡rootTree\leftarrow\textup{riskGrow}(x_{start})italic_r italic_o italic_o italic_t italic_T italic_r italic_e italic_e ← riskGrow ( italic_x start_POSTSUBSCRIPT italic_s italic_t italic_a italic_r italic_t end_POSTSUBSCRIPT );
3 subTreesmultiSearch(xgoal,closestTree)𝑠𝑢𝑏𝑇𝑟𝑒𝑒𝑠multiSearchsubscript𝑥𝑔𝑜𝑎𝑙𝑐𝑙𝑜𝑠𝑒𝑠𝑡𝑇𝑟𝑒𝑒subTrees\leftarrow\textup{multiSearch}(x_{goal},closestTree)italic_s italic_u italic_b italic_T italic_r italic_e italic_e italic_s ← multiSearch ( italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT , italic_c italic_l italic_o italic_s italic_e italic_s italic_t italic_T italic_r italic_e italic_e );
4 while xcurrentRegion(xgoal)subscript𝑥𝑐𝑢𝑟𝑟𝑒𝑛𝑡Regionsubscript𝑥𝑔𝑜𝑎𝑙x_{current}\not\in\textup{Region}(x_{goal})italic_x start_POSTSUBSCRIPT italic_c italic_u italic_r italic_r italic_e italic_n italic_t end_POSTSUBSCRIPT ∉ Region ( italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT ) do
5       if Meet(rootTree,subTrees)==FALSE\textup{Meet}(rootTree,subTrees)==\textit{FALSE}Meet ( italic_r italic_o italic_o italic_t italic_T italic_r italic_e italic_e , italic_s italic_u italic_b italic_T italic_r italic_e italic_e italic_s ) = = FALSE then
6             xrandneuralSample(Map)subscript𝑥𝑟𝑎𝑛𝑑neuralSample𝑀𝑎𝑝x_{rand}\leftarrow\textup{neuralSample}(Map)italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT ← neuralSample ( italic_M italic_a italic_p );
7            
8            closestTreefindClosestTree(xrand)𝑐𝑙𝑜𝑠𝑒𝑠𝑡𝑇𝑟𝑒𝑒findClosestTreesubscript𝑥𝑟𝑎𝑛𝑑closestTree\leftarrow\textup{findClosestTree}(x_{rand})italic_c italic_l italic_o italic_s italic_e italic_s italic_t italic_T italic_r italic_e italic_e ← findClosestTree ( italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT );
9            
10            if closestTree==rootTreeclosestTree==rootTreeitalic_c italic_l italic_o italic_s italic_e italic_s italic_t italic_T italic_r italic_e italic_e = = italic_r italic_o italic_o italic_t italic_T italic_r italic_e italic_e then
11                   riskGrow(xrand)riskGrowsubscript𝑥𝑟𝑎𝑛𝑑\textup{riskGrow}(x_{rand})riskGrow ( italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT );
12                  
13            else
14                   multiSearch(xrand,closestTree)multiSearchsubscript𝑥𝑟𝑎𝑛𝑑𝑐𝑙𝑜𝑠𝑒𝑠𝑡𝑇𝑟𝑒𝑒\textup{multiSearch}(x_{rand},closestTree)multiSearch ( italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT , italic_c italic_l italic_o italic_s italic_e italic_s italic_t italic_T italic_r italic_e italic_e );
15                  
16            
17      
18      if Meet(rootTree,subTrees)==TRUE\textup{Meet}(rootTree,subTrees)==\textit{TRUE}Meet ( italic_r italic_o italic_o italic_t italic_T italic_r italic_e italic_e , italic_s italic_u italic_b italic_T italic_r italic_e italic_e italic_s ) = = TRUE then
19             subTreeSample(subTree)subTreeSample𝑠𝑢𝑏𝑇𝑟𝑒𝑒\textup{subTreeSample}(subTree)subTreeSample ( italic_s italic_u italic_b italic_T italic_r italic_e italic_e );
20            
21      
Algorithm 1 NAMR-RRT Algorithm

In this subsection, the pseudocode of the NAMR-RRT algorithm is presented in Algorithm 1. Below is an outline of the algorithm’s main stages:

  1. 1.

    Initialization Stage (Lines 1-3): The rootTree is grown using the function riskGrow(xstartsubscript𝑥𝑠𝑡𝑎𝑟𝑡x_{start}italic_x start_POSTSUBSCRIPT italic_s italic_t italic_a italic_r italic_t end_POSTSUBSCRIPT), which builds the main tree while considering the risks from both static and dynamic obstacles. The subTrees are generated through the function multiSearch(xgoal,closestTreesubscript𝑥𝑔𝑜𝑎𝑙𝑐𝑙𝑜𝑠𝑒𝑠𝑡𝑇𝑟𝑒𝑒x_{goal},closestTreeitalic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT , italic_c italic_l italic_o italic_s italic_e italic_s italic_t italic_T italic_r italic_e italic_e), allowing for exploration of multiple directions.

  2. 2.

    Exploration Stage (Lines 4-11): The algorithm enters a loop until the robot’s current state reaches the goal region. At each step, the function Meet(rootTree,subTrees𝑟𝑜𝑜𝑡𝑇𝑟𝑒𝑒𝑠𝑢𝑏𝑇𝑟𝑒𝑒𝑠rootTree,subTreesitalic_r italic_o italic_o italic_t italic_T italic_r italic_e italic_e , italic_s italic_u italic_b italic_T italic_r italic_e italic_e italic_s) checks whether the rootTree and subTrees are connected. If the trees are not connected, a random state xrandsubscript𝑥𝑟𝑎𝑛𝑑x_{rand}italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT is generated using the function neuralSample(Map𝑀𝑎𝑝Mapitalic_M italic_a italic_p), leveraging the neural network for guided sampling. The nearest tree to xrandsubscript𝑥𝑟𝑎𝑛𝑑x_{rand}italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT is found using the function findClosestTree(xrandsubscript𝑥𝑟𝑎𝑛𝑑x_{rand}italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT). If the closest tree is the rootTree, the function riskGrow(xrandsubscript𝑥𝑟𝑎𝑛𝑑x_{rand}italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT) expands the rootTree, while if the closest tree is a subTree, the function multiSearch(xrand,closestTreesubscript𝑥𝑟𝑎𝑛𝑑𝑐𝑙𝑜𝑠𝑒𝑠𝑡𝑇𝑟𝑒𝑒x_{rand},closestTreeitalic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT , italic_c italic_l italic_o italic_s italic_e italic_s italic_t italic_T italic_r italic_e italic_e) expands the subTree.

  3. 3.

    subTree Guided Stage (Lines 12-13): When the rootTree and subTrees are connected, the function subTreeSample(subTree𝑠𝑢𝑏𝑇𝑟𝑒𝑒subTreeitalic_s italic_u italic_b italic_T italic_r italic_e italic_e) is applied, guiding the rootTree’s growth by sampling from the connected subTree.

IV-B Neural Adaptive Guiding Function

1 Function neuralSample(xcurrent,xgoal,Map)neuralSamplesubscript𝑥𝑐𝑢𝑟𝑟𝑒𝑛𝑡subscript𝑥𝑔𝑜𝑎𝑙𝑀𝑎𝑝\textup{neuralSample}(x_{current},x_{goal},Map)neuralSample ( italic_x start_POSTSUBSCRIPT italic_c italic_u italic_r italic_r italic_e italic_n italic_t end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT , italic_M italic_a italic_p ):
2       Region,WaypointnetInfer(xstart,xgoal,Map)𝑅𝑒𝑔𝑖𝑜𝑛𝑊𝑎𝑦𝑝𝑜𝑖𝑛𝑡netInfersubscript𝑥𝑠𝑡𝑎𝑟𝑡subscript𝑥𝑔𝑜𝑎𝑙𝑀𝑎𝑝Region,Waypoint\leftarrow\textup{netInfer}(x_{start},x_{goal},Map)italic_R italic_e italic_g italic_i italic_o italic_n , italic_W italic_a italic_y italic_p italic_o italic_i italic_n italic_t ← netInfer ( italic_x start_POSTSUBSCRIPT italic_s italic_t italic_a italic_r italic_t end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT , italic_M italic_a italic_p );
3       bias1𝑏𝑖𝑎𝑠1bias\leftarrow 1italic_b italic_i italic_a italic_s ← 1;
4       for nodeWaypopint𝑛𝑜𝑑𝑒𝑊𝑎𝑦𝑝𝑜𝑝𝑖𝑛𝑡node\in Waypopintitalic_n italic_o italic_d italic_e ∈ italic_W italic_a italic_y italic_p italic_o italic_p italic_i italic_n italic_t do
5             if EuD(xcurrent,node)<δEuDsubscript𝑥𝑐𝑢𝑟𝑟𝑒𝑛𝑡𝑛𝑜𝑑𝑒𝛿\textup{EuD}(x_{current},node)<\deltaEuD ( italic_x start_POSTSUBSCRIPT italic_c italic_u italic_r italic_r italic_e italic_n italic_t end_POSTSUBSCRIPT , italic_n italic_o italic_d italic_e ) < italic_δ then
6                   bias1𝑏𝑖𝑎𝑠1bias\leftarrow 1italic_b italic_i italic_a italic_s ← 1;
7                   nodeListaddNode(xcurrent)𝑛𝑜𝑑𝑒𝐿𝑖𝑠𝑡addNodesubscript𝑥𝑐𝑢𝑟𝑟𝑒𝑛𝑡nodeList\leftarrow\textup{addNode}(x_{current})italic_n italic_o italic_d italic_e italic_L italic_i italic_s italic_t ← addNode ( italic_x start_POSTSUBSCRIPT italic_c italic_u italic_r italic_r italic_e italic_n italic_t end_POSTSUBSCRIPT );
8                   lastNodelastElement(nodeList)𝑙𝑎𝑠𝑡𝑁𝑜𝑑𝑒lastElement𝑛𝑜𝑑𝑒𝐿𝑖𝑠𝑡lastNode\leftarrow\textup{lastElement}(nodeList)italic_l italic_a italic_s italic_t italic_N italic_o italic_d italic_e ← lastElement ( italic_n italic_o italic_d italic_e italic_L italic_i italic_s italic_t );
9                   newRegion,newWaypoint,isUpdatednetInfer(lastNode,xgoal,Map)𝑛𝑒𝑤𝑅𝑒𝑔𝑖𝑜𝑛𝑛𝑒𝑤𝑊𝑎𝑦𝑝𝑜𝑖𝑛𝑡𝑖𝑠𝑈𝑝𝑑𝑎𝑡𝑒𝑑netInfer𝑙𝑎𝑠𝑡𝑁𝑜𝑑𝑒subscript𝑥𝑔𝑜𝑎𝑙𝑀𝑎𝑝newRegion,newWaypoint,isUpdated\leftarrow\textup{netInfer}(lastNode,x_{goal},Map)italic_n italic_e italic_w italic_R italic_e italic_g italic_i italic_o italic_n , italic_n italic_e italic_w italic_W italic_a italic_y italic_p italic_o italic_i italic_n italic_t , italic_i italic_s italic_U italic_p italic_d italic_a italic_t italic_e italic_d ← netInfer ( italic_l italic_a italic_s italic_t italic_N italic_o italic_d italic_e , italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT , italic_M italic_a italic_p );
10                  
11            
12      if Random()>biasRandom()𝑏𝑖𝑎𝑠\textup{Random()}>biasRandom() > italic_b italic_i italic_a italic_s then
13             if isUpdated==TRUEisUpdated==TRUEitalic_i italic_s italic_U italic_p italic_d italic_a italic_t italic_e italic_d = = italic_T italic_R italic_U italic_E then
14                   RegionnewRegion𝑅𝑒𝑔𝑖𝑜𝑛𝑛𝑒𝑤𝑅𝑒𝑔𝑖𝑜𝑛Region\leftarrow newRegionitalic_R italic_e italic_g italic_i italic_o italic_n ← italic_n italic_e italic_w italic_R italic_e italic_g italic_i italic_o italic_n;
15                   WaypointnewWaypoint𝑊𝑎𝑦𝑝𝑜𝑖𝑛𝑡𝑛𝑒𝑤𝑊𝑎𝑦𝑝𝑜𝑖𝑛𝑡Waypoint\leftarrow newWaypointitalic_W italic_a italic_y italic_p italic_o italic_i italic_n italic_t ← italic_n italic_e italic_w italic_W italic_a italic_y italic_p italic_o italic_i italic_n italic_t;
16                  
17            xrandrandomSample(Region)subscript𝑥𝑟𝑎𝑛𝑑randomSample𝑅𝑒𝑔𝑖𝑜𝑛x_{rand}\leftarrow\textup{randomSample}(Region)italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT ← randomSample ( italic_R italic_e italic_g italic_i italic_o italic_n );
18            
19      else
20             xrandrandomSample(Map)subscript𝑥𝑟𝑎𝑛𝑑randomSample𝑀𝑎𝑝x_{rand}\leftarrow\textup{randomSample}(Map)italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT ← randomSample ( italic_M italic_a italic_p );
21            
22      biasdecayBias(bias)𝑏𝑖𝑎𝑠decayBias𝑏𝑖𝑎𝑠bias\leftarrow\textup{decayBias}(bias)italic_b italic_i italic_a italic_s ← decayBias ( italic_b italic_i italic_a italic_s );
23      
24      return xrandsubscript𝑥𝑟𝑎𝑛𝑑x_{rand}italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT;
25      
Algorithm 2 Neural Adaptive Guiding Function
1 Function netInfer(lastNode,xgoal,Map\textup{netInfer}(lastNode,x_{goal},MapnetInfer ( italic_l italic_a italic_s italic_t italic_N italic_o italic_d italic_e , italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT , italic_M italic_a italic_p):
2       Region𝑅𝑒𝑔𝑖𝑜𝑛Region\leftarrow\emptysetitalic_R italic_e italic_g italic_i italic_o italic_n ← ∅;
3       Waypoints𝑊𝑎𝑦𝑝𝑜𝑖𝑛𝑡𝑠Waypoints\leftarrow\emptysetitalic_W italic_a italic_y italic_p italic_o italic_i italic_n italic_t italic_s ← ∅;
4       Iteration0𝐼𝑡𝑒𝑟𝑎𝑡𝑖𝑜𝑛0Iteration\leftarrow 0italic_I italic_t italic_e italic_r italic_a italic_t italic_i italic_o italic_n ← 0;
5       while Iteration<maxIter𝐼𝑡𝑒𝑟𝑎𝑡𝑖𝑜𝑛𝑚𝑎𝑥𝐼𝑡𝑒𝑟Iteration<maxIteritalic_I italic_t italic_e italic_r italic_a italic_t italic_i italic_o italic_n < italic_m italic_a italic_x italic_I italic_t italic_e italic_r and BFS(lastNode𝑙𝑎𝑠𝑡𝑁𝑜𝑑𝑒lastNodeitalic_l italic_a italic_s italic_t italic_N italic_o italic_d italic_e, xgoalsubscript𝑥𝑔𝑜𝑎𝑙x_{goal}italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT, Region𝑅𝑒𝑔𝑖𝑜𝑛Regionitalic_R italic_e italic_g italic_i italic_o italic_n) fails do
6             RegionPointnet++(lastNode,xgoal,MapRegion\leftarrow\textup{Pointnet++}(lastNode,x_{goal},Mapitalic_R italic_e italic_g italic_i italic_o italic_n ← Pointnet++ ( italic_l italic_a italic_s italic_t italic_N italic_o italic_d italic_e , italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT , italic_M italic_a italic_p);
7             WaypointsBFS(lastNode,xgoal,RegionWaypoints\leftarrow\textup{BFS}(lastNode,x_{goal},Regionitalic_W italic_a italic_y italic_p italic_o italic_i italic_n italic_t italic_s ← BFS ( italic_l italic_a italic_s italic_t italic_N italic_o italic_d italic_e , italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT , italic_R italic_e italic_g italic_i italic_o italic_n);
8             Iteration++Iteration++italic_I italic_t italic_e italic_r italic_a italic_t italic_i italic_o italic_n + +;
9            
10            if Waypoints𝑊𝑎𝑦𝑝𝑜𝑖𝑛𝑡𝑠Waypoints\neq\emptysetitalic_W italic_a italic_y italic_p italic_o italic_i italic_n italic_t italic_s ≠ ∅ then
11                   return Region𝑅𝑒𝑔𝑖𝑜𝑛Regionitalic_R italic_e italic_g italic_i italic_o italic_n, Waypoints𝑊𝑎𝑦𝑝𝑜𝑖𝑛𝑡𝑠Waypointsitalic_W italic_a italic_y italic_p italic_o italic_i italic_n italic_t italic_s;
12                  
13            else
14                   return Region𝑅𝑒𝑔𝑖𝑜𝑛Regionitalic_R italic_e italic_g italic_i italic_o italic_n, xgoalsubscript𝑥𝑔𝑜𝑎𝑙x_{goal}italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT;
15                  
16            
17      
Algorithm 3 Network Inference Function

The function neuralSample adapts sampling within the region inferred by the neural network, as detailed in Algorithm 2. The specific details are provided below.

  1. 1.

    Initialization (Lines 1-3): At first, the function netInfer(xstart,xgoal,Mapsubscript𝑥𝑠𝑡𝑎𝑟𝑡subscript𝑥𝑔𝑜𝑎𝑙𝑀𝑎𝑝x_{start},x_{goal},Mapitalic_x start_POSTSUBSCRIPT italic_s italic_t italic_a italic_r italic_t end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT , italic_M italic_a italic_p) generates the initial heuristic region and waypoints based on the start state. The bias is initialized to 1, meaning the function begins by greedy sampling in the heuristic region.

  2. 2.

    Heuristic Region and Sampling Rate Updates (Lines 4-9): For each node in the waypoints, the Euclidean distance between the current node and the waypoints is checked. If the distance is less than δ𝛿\deltaitalic_δ, the current node is added to the nodeList𝑛𝑜𝑑𝑒𝐿𝑖𝑠𝑡nodeListitalic_n italic_o italic_d italic_e italic_L italic_i italic_s italic_t, and the last node is used to trigger the function netInfer(lastNode,xgoal,Map𝑙𝑎𝑠𝑡𝑁𝑜𝑑𝑒subscript𝑥𝑔𝑜𝑎𝑙𝑀𝑎𝑝lastNode,x_{goal},Mapitalic_l italic_a italic_s italic_t italic_N italic_o italic_d italic_e , italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT , italic_M italic_a italic_p) again. The heuristic region is updated, and the bias is reset to 1. It enables more focused sampling within the new region.

  3. 3.

    Adaptive Sampling (Lines 10-18): If the rootTree fails to grow near the waypoints over several iterations, the bias starts to decay using the function decayBias(bias𝑏𝑖𝑎𝑠biasitalic_b italic_i italic_a italic_s). Random sampling becomes more likely as the bias decreases, allowing the algorithm to explore beyond the heuristic region and expand its search space over time. This decay ensures probabilistic completeness by eventually covering the entire state space.

The function netInfer (Algorithm 3) manages neural network inference, ensuring heuristic regions are updated without interrupting the main function. It has two key characteristics. The first is Parallel Inference, where the function netInfer runs simultaneously (Algorithm 2, Line 9) with the main function. While the main function continues, the heuristic region and sampling rate are only updated after the neural network inference is completed. If the inference is still in progress, the main function continues sampling based on the previous heuristic region. This parallel structure ensures the algorithm does not pause or slow down while waiting for neural network results.

The second feature is Iterative Generation, where the function netInfer performs a BFS search. While generating a heuristic region, the region may not always be fully connected. If BFS fails to find a path from the start node to the goal due to disconnected regions, the neural network is invoked to expand the heuristic region iteratively. This process continues from the point where BFS fails, aiming to generate a connected region over multiple iterations. The number of iterations is capped by a maximum limit (maxIter𝑚𝑎𝑥𝐼𝑡𝑒𝑟maxIteritalic_m italic_a italic_x italic_I italic_t italic_e italic_r). The algorithm returns the current region and goal node if the valid waypoints is not found after maximum attempts. Through iterative generation, the function strives to obtain a fully connected heuristic region and provide valid waypoints to evaluate the growth of the rootTree in Algorithm 2. However, even if the neural network does not immediately generate a fully connected region, the rootTree continues to grow, ensuring the process remains uninterrupted.

IV-C Multi-directional Searching Function

1 Function multiSearch(xnode,closestTree)multiSearchsubscript𝑥𝑛𝑜𝑑𝑒𝑐𝑙𝑜𝑠𝑒𝑠𝑡𝑇𝑟𝑒𝑒\textup{multiSearch}(x_{node},closestTree)multiSearch ( italic_x start_POSTSUBSCRIPT italic_n italic_o italic_d italic_e end_POSTSUBSCRIPT , italic_c italic_l italic_o italic_s italic_e italic_s italic_t italic_T italic_r italic_e italic_e ):
2       subTrees𝑠𝑢𝑏𝑇𝑟𝑒𝑒𝑠subTrees\leftarrow\emptysetitalic_s italic_u italic_b italic_T italic_r italic_e italic_e italic_s ← ∅;
3      
4      if closestTreesubTrees𝑐𝑙𝑜𝑠𝑒𝑠𝑡𝑇𝑟𝑒𝑒𝑠𝑢𝑏𝑇𝑟𝑒𝑒𝑠closestTree\in subTreesitalic_c italic_l italic_o italic_s italic_e italic_s italic_t italic_T italic_r italic_e italic_e ∈ italic_s italic_u italic_b italic_T italic_r italic_e italic_e italic_s then
5             if Num(closestTree)==1\textup{Num}(closestTree)==1Num ( italic_c italic_l italic_o italic_s italic_e italic_s italic_t italic_T italic_r italic_e italic_e ) = = 1 then
6                   subTreeaddNode(xrand)𝑠𝑢𝑏𝑇𝑟𝑒𝑒addNodesubscript𝑥𝑟𝑎𝑛𝑑subTree\leftarrow\textup{addNode}(x_{rand})italic_s italic_u italic_b italic_T italic_r italic_e italic_e ← addNode ( italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT );
7                  
8            else
9                   Merge(closestTree)Merge𝑐𝑙𝑜𝑠𝑒𝑠𝑡𝑇𝑟𝑒𝑒\textup{Merge}(closestTree)Merge ( italic_c italic_l italic_o italic_s italic_e italic_s italic_t italic_T italic_r italic_e italic_e );
10                  
11            
12      else
13             subTreerandomGenerate(xnode)𝑠𝑢𝑏𝑇𝑟𝑒𝑒randomGeneratesubscript𝑥𝑛𝑜𝑑𝑒subTree\leftarrow\textup{randomGenerate}(x_{node})italic_s italic_u italic_b italic_T italic_r italic_e italic_e ← randomGenerate ( italic_x start_POSTSUBSCRIPT italic_n italic_o italic_d italic_e end_POSTSUBSCRIPT );
14             subTreesaddTree(subTree)𝑠𝑢𝑏𝑇𝑟𝑒𝑒𝑠addTree𝑠𝑢𝑏𝑇𝑟𝑒𝑒subTrees\leftarrow\textup{addTree}(subTree)italic_s italic_u italic_b italic_T italic_r italic_e italic_e italic_s ← addTree ( italic_s italic_u italic_b italic_T italic_r italic_e italic_e );
15            
16      return subTrees𝑠𝑢𝑏𝑇𝑟𝑒𝑒𝑠subTreesitalic_s italic_u italic_b italic_T italic_r italic_e italic_e italic_s;
17      
Algorithm 4 Multi-directional Searching Function
1 Function subTreeSample(rootTree,subTree,xgoal)𝑟𝑜𝑜𝑡𝑇𝑟𝑒𝑒𝑠𝑢𝑏𝑇𝑟𝑒𝑒subscript𝑥𝑔𝑜𝑎𝑙(rootTree,subTree,x_{goal})( italic_r italic_o italic_o italic_t italic_T italic_r italic_e italic_e , italic_s italic_u italic_b italic_T italic_r italic_e italic_e , italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT ):
2       if xgoalsubTreesubscript𝑥𝑔𝑜𝑎𝑙𝑠𝑢𝑏𝑇𝑟𝑒𝑒x_{goal}\in subTreeitalic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT ∈ italic_s italic_u italic_b italic_T italic_r italic_e italic_e then
3             NodesextractNode(subTree,xgoal)𝑁𝑜𝑑𝑒𝑠extractNode𝑠𝑢𝑏𝑇𝑟𝑒𝑒subscript𝑥𝑔𝑜𝑎𝑙Nodes\leftarrow\textup{extractNode}(subTree,x_{goal})italic_N italic_o italic_d italic_e italic_s ← extractNode ( italic_s italic_u italic_b italic_T italic_r italic_e italic_e , italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT );
4             for xrandNodessubscript𝑥𝑟𝑎𝑛𝑑𝑁𝑜𝑑𝑒𝑠x_{rand}\in Nodesitalic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT ∈ italic_N italic_o italic_d italic_e italic_s do
5                   xnewExtend(rootTree,xrand)subscript𝑥𝑛𝑒𝑤Extend𝑟𝑜𝑜𝑡𝑇𝑟𝑒𝑒subscript𝑥𝑟𝑎𝑛𝑑x_{new}\leftarrow\textup{Extend}(rootTree,x_{rand})italic_x start_POSTSUBSCRIPT italic_n italic_e italic_w end_POSTSUBSCRIPT ← Extend ( italic_r italic_o italic_o italic_t italic_T italic_r italic_e italic_e , italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT );
6                   Count0𝐶𝑜𝑢𝑛𝑡0Count\leftarrow 0italic_C italic_o italic_u italic_n italic_t ← 0;
7                   while xnewRegion(xrand)subscript𝑥𝑛𝑒𝑤Regionsubscript𝑥𝑟𝑎𝑛𝑑x_{new}\notin\textup{Region}(x_{rand})italic_x start_POSTSUBSCRIPT italic_n italic_e italic_w end_POSTSUBSCRIPT ∉ Region ( italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT ) do
8                         xnewExtend(rootTree,xrand)subscript𝑥𝑛𝑒𝑤Extend𝑟𝑜𝑜𝑡𝑇𝑟𝑒𝑒subscript𝑥𝑟𝑎𝑛𝑑x_{new}\leftarrow\textup{Extend}(rootTree,x_{rand})italic_x start_POSTSUBSCRIPT italic_n italic_e italic_w end_POSTSUBSCRIPT ← Extend ( italic_r italic_o italic_o italic_t italic_T italic_r italic_e italic_e , italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT );
9                         Count++Count++italic_C italic_o italic_u italic_n italic_t + +;
10                         if xnewRegion(xrand)subscript𝑥𝑛𝑒𝑤Regionsubscript𝑥𝑟𝑎𝑛𝑑x_{new}\in\textup{Region}(x_{rand})italic_x start_POSTSUBSCRIPT italic_n italic_e italic_w end_POSTSUBSCRIPT ∈ Region ( italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT ) then
11                               if xrand==xgoalx_{rand}==x_{goal}italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT = = italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT then
12                                     return Reached𝑅𝑒𝑎𝑐𝑒𝑑Reacheditalic_R italic_e italic_a italic_c italic_h italic_e italic_d;
13                                    
14                              else
15                                     Delete(xrand)Deletesubscript𝑥𝑟𝑎𝑛𝑑\textup{Delete}(x_{rand})Delete ( italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT );
16                                     Brake()Brake\textup{Brake}()Brake ( );
17                                    
18                              
19                        else if Countω𝐶𝑜𝑢𝑛𝑡𝜔Count\geq\omegaitalic_C italic_o italic_u italic_n italic_t ≥ italic_ω then
20                               Delete(xrand)Deletesubscript𝑥𝑟𝑎𝑛𝑑\textup{Delete}(x_{rand})Delete ( italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT );
21                               Brake()Brake\textup{Brake}()Brake ( );
22                              
23                        
24                  
25            
26      else
27             for xrandsubTreesubscript𝑥𝑟𝑎𝑛𝑑𝑠𝑢𝑏𝑇𝑟𝑒𝑒x_{rand}\in subTreeitalic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT ∈ italic_s italic_u italic_b italic_T italic_r italic_e italic_e do
28                   xnewExtend(rootTree,xrand)subscript𝑥𝑛𝑒𝑤Extend𝑟𝑜𝑜𝑡𝑇𝑟𝑒𝑒subscript𝑥𝑟𝑎𝑛𝑑x_{new}\leftarrow\textup{Extend}(rootTree,x_{rand})italic_x start_POSTSUBSCRIPT italic_n italic_e italic_w end_POSTSUBSCRIPT ← Extend ( italic_r italic_o italic_o italic_t italic_T italic_r italic_e italic_e , italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT );
29                   if xnewRegion(xgoal)subscript𝑥𝑛𝑒𝑤Regionsubscript𝑥𝑔𝑜𝑎𝑙x_{new}\in\textup{Region}(x_{goal})italic_x start_POSTSUBSCRIPT italic_n italic_e italic_w end_POSTSUBSCRIPT ∈ Region ( italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT ) then
30                         return Reached𝑅𝑒𝑎𝑐𝑒𝑑Reacheditalic_R italic_e italic_a italic_c italic_h italic_e italic_d;
31                        
32                  else
33                         Delete(xrand)Deletesubscript𝑥𝑟𝑎𝑛𝑑\textup{Delete}(x_{rand})Delete ( italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT );
34                        
35                  
36            
37      
Algorithm 5 subTree-based Sampling Function

The function multiSearch (Algorithm 4) manages multiple subTrees that provide heuristic guidance for the rootTree’s growth from the start point towards the goal. This function dynamically merges subTrees when they grow close to each other, improving exploration efficiency. The process begins by initializing a subTree at the goal. When a new point xrandsubscript𝑥𝑟𝑎𝑛𝑑x_{rand}italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT is sampled, the algorithm checks if the point is closer to any existing subTree. Depending on the proximity of the sampled point to existing subTrees, the following actions are taken:

  1. 1.

    Single subTree Nearby: If the closest subTree is only one, the point is added to that subTree (Lines 4-5).

  2. 2.

    Multiple subTrees Nearby: If the closest subTrees are more than one, the function Merge(closestTree𝑐𝑙𝑜𝑠𝑒𝑠𝑡𝑇𝑟𝑒𝑒closestTreeitalic_c italic_l italic_o italic_s italic_e italic_s italic_t italic_T italic_r italic_e italic_e) merges these subTrees (Lines 6-7). Merging helps consolidate information and ensures the search becomes more efficient.

  3. 3.

    No subTree Nearby: If the point is not close to any subTree, a new subTree is generated at that location (Lines 8-10), allowing the search to explore new regions efficiently.

When the rootTree grows near a subTree, the subTree provides heuristic guidance to extend the rootTree using the function subTreeSample (Algorithm 5), as detailed below:

  1. 1.

    subTree With Goal: If the subTree includes the goal, its core nodes are sampled multiple times to guide the rootTree towards the goal (Lines 2-18).

  2. 2.

    subTree Without Goal: If the subTree does not contain the goal, its nodes are used for one-time sampling, guiding the rootTree towards promising regions (Lines 19-25).

IV-D Risk-aware Growing Function

1 Function riskGrow(xcurrent,Map)riskGrowsubscript𝑥𝑐𝑢𝑟𝑟𝑒𝑛𝑡𝑀𝑎𝑝\textup{riskGrow}(x_{current},Map)riskGrow ( italic_x start_POSTSUBSCRIPT italic_c italic_u italic_r italic_r italic_e italic_n italic_t end_POSTSUBSCRIPT , italic_M italic_a italic_p ):
2       𝒯optsubscript𝒯𝑜𝑝𝑡\mathcal{T}_{opt}\leftarrow\emptysetcaligraphic_T start_POSTSUBSCRIPT italic_o italic_p italic_t end_POSTSUBSCRIPT ← ∅;
3       𝒮𝒮\mathcal{S}\leftarrow\emptysetcaligraphic_S ← ∅;
4       xcurrentxstartsubscript𝑥𝑐𝑢𝑟𝑟𝑒𝑛𝑡subscript𝑥𝑠𝑡𝑎𝑟𝑡x_{current}\leftarrow x_{start}italic_x start_POSTSUBSCRIPT italic_c italic_u italic_r italic_r italic_e italic_n italic_t end_POSTSUBSCRIPT ← italic_x start_POSTSUBSCRIPT italic_s italic_t italic_a italic_r italic_t end_POSTSUBSCRIPT;
5       timegetCurrentTime()𝑡𝑖𝑚𝑒getCurrentTimetime\leftarrow\textup{getCurrentTime}()italic_t italic_i italic_m italic_e ← getCurrentTime ( );
6       if 𝒯optsubscript𝒯𝑜𝑝𝑡\mathcal{T}_{opt}caligraphic_T start_POSTSUBSCRIPT italic_o italic_p italic_t end_POSTSUBSCRIPT is empty then
7             stopRobot();
8      else
9             xcurrentgetOneNode(𝒯opt)subscript𝑥𝑐𝑢𝑟𝑟𝑒𝑛𝑡getOneNodesubscript𝒯𝑜𝑝𝑡x_{current}\leftarrow\textup{getOneNode}(\mathcal{T}_{opt})italic_x start_POSTSUBSCRIPT italic_c italic_u italic_r italic_r italic_e italic_n italic_t end_POSTSUBSCRIPT ← getOneNode ( caligraphic_T start_POSTSUBSCRIPT italic_o italic_p italic_t end_POSTSUBSCRIPT );
10            
11      Check(xcurrent)Checksubscript𝑥𝑐𝑢𝑟𝑟𝑒𝑛𝑡\textup{Check}(x_{current})Check ( italic_x start_POSTSUBSCRIPT italic_c italic_u italic_r italic_r italic_e italic_n italic_t end_POSTSUBSCRIPT );
12       pruneInvalidTraj(𝒮,xcurrent)pruneInvalidTraj𝒮subscript𝑥𝑐𝑢𝑟𝑟𝑒𝑛𝑡\textup{pruneInvalidTraj}(\mathcal{S},x_{current})pruneInvalidTraj ( caligraphic_S , italic_x start_POSTSUBSCRIPT italic_c italic_u italic_r italic_r italic_e italic_n italic_t end_POSTSUBSCRIPT );
13       Check(staticEnv,DynamicCrowds)Check𝑠𝑡𝑎𝑡𝑖𝑐𝐸𝑛𝑣𝐷𝑦𝑛𝑎𝑚𝑖𝑐𝐶𝑟𝑜𝑤𝑑𝑠\textup{Check}(staticEnv,DynamicCrowds)Check ( italic_s italic_t italic_a italic_t italic_i italic_c italic_E italic_n italic_v , italic_D italic_y italic_n italic_a italic_m italic_i italic_c italic_C italic_r italic_o italic_w italic_d italic_s );
14       timegetCurrentTime()𝑡𝑖𝑚𝑒getCurrentTimetime\leftarrow\textup{getCurrentTime}()italic_t italic_i italic_m italic_e ← getCurrentTime ( );
15       predictPosition(DynamicCrowds,time,,time+N×Δt)predictPosition𝐷𝑦𝑛𝑎𝑚𝑖𝑐𝐶𝑟𝑜𝑤𝑑𝑠𝑡𝑖𝑚𝑒𝑡𝑖𝑚𝑒𝑁Δ𝑡\textup{predictPosition}(DynamicCrowds,time,...,time+N\times\Delta t)predictPosition ( italic_D italic_y italic_n italic_a italic_m italic_i italic_c italic_C italic_r italic_o italic_w italic_d italic_s , italic_t italic_i italic_m italic_e , … , italic_t italic_i italic_m italic_e + italic_N × roman_Δ italic_t );
16      
17      if Env𝐸𝑛𝑣Envitalic_E italic_n italic_v has changed then
18             updateEnv(Map,𝒮,xcurrent,dynamicCrowds)updateEnv𝑀𝑎𝑝𝒮subscript𝑥𝑐𝑢𝑟𝑟𝑒𝑛𝑡𝑑𝑦𝑛𝑎𝑚𝑖𝑐𝐶𝑟𝑜𝑤𝑑𝑠\textup{updateEnv}(Map,\mathcal{S},x_{current},dynamicCrowds)updateEnv ( italic_M italic_a italic_p , caligraphic_S , italic_x start_POSTSUBSCRIPT italic_c italic_u italic_r italic_r italic_e italic_n italic_t end_POSTSUBSCRIPT , italic_d italic_y italic_n italic_a italic_m italic_i italic_c italic_C italic_r italic_o italic_w italic_d italic_s );
19            
20      while getCurrentTime()<time+ΔtgetCurrentTime𝑡𝑖𝑚𝑒Δ𝑡\textup{getCurrentTime}()<time+\Delta tgetCurrentTime ( ) < italic_t italic_i italic_m italic_e + roman_Δ italic_t do
21             xnewExtend(𝒮,xrand)subscript𝑥𝑛𝑒𝑤Extend𝒮subscript𝑥𝑟𝑎𝑛𝑑x_{new}\leftarrow\textup{Extend}(\mathcal{S},x_{rand})italic_x start_POSTSUBSCRIPT italic_n italic_e italic_w end_POSTSUBSCRIPT ← Extend ( caligraphic_S , italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT );
22             if xnewRegion(xgoal)subscript𝑥𝑛𝑒𝑤Regionsubscript𝑥𝑔𝑜𝑎𝑙x_{new}\in\textup{Region}(x_{goal})italic_x start_POSTSUBSCRIPT italic_n italic_e italic_w end_POSTSUBSCRIPT ∈ Region ( italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT ) then
23                   return Reached𝑅𝑒𝑎𝑐𝑒𝑑Reacheditalic_R italic_e italic_a italic_c italic_h italic_e italic_d;
24                  
25            
26      
27      𝒯optselectBestTraj(𝒮)subscript𝒯𝑜𝑝𝑡selectBestTraj𝒮\mathcal{T}_{opt}\leftarrow\textup{selectBestTraj}(\mathcal{S})caligraphic_T start_POSTSUBSCRIPT italic_o italic_p italic_t end_POSTSUBSCRIPT ← selectBestTraj ( caligraphic_S );
28       timegetCurrentTime()𝑡𝑖𝑚𝑒getCurrentTimetime\leftarrow\textup{getCurrentTime}()italic_t italic_i italic_m italic_e ← getCurrentTime ( );
29       return 𝒮𝒮\mathcal{S}caligraphic_S;
30      
Algorithm 6 Risk-aware Growing Function

The Risk-aware Growing Function integrates real-time risk assessment into motion planning by continuously evaluating static and dynamic obstacles, ensuring the robot adapts its trajectory to avoid risks and navigate efficiently in changing environments. The function operates in several key stages:

  1. 1.

    Initialization (Lines 1-5): The function initializes the trajectory set 𝒯optsubscript𝒯𝑜𝑝𝑡\mathcal{T}_{opt}caligraphic_T start_POSTSUBSCRIPT italic_o italic_p italic_t end_POSTSUBSCRIPT, rootTree S𝑆Sitalic_S, and the start point xstartsubscript𝑥𝑠𝑡𝑎𝑟𝑡x_{start}italic_x start_POSTSUBSCRIPT italic_s italic_t italic_a italic_r italic_t end_POSTSUBSCRIPT as the current position xcurrentsubscript𝑥𝑐𝑢𝑟𝑟𝑒𝑛𝑡x_{current}italic_x start_POSTSUBSCRIPT italic_c italic_u italic_r italic_r italic_e italic_n italic_t end_POSTSUBSCRIPT. It tracks the current time to handle dynamic changes.

  2. 2.

    Risk and Obstacle Handling (Lines 6-12): The robot stops if no optimal trajectory is available. Otherwise, the next node to expand is selected, and potential risks are checked using the function Check(xcurrentsubscript𝑥𝑐𝑢𝑟𝑟𝑒𝑛𝑡x_{current}italic_x start_POSTSUBSCRIPT italic_c italic_u italic_r italic_r italic_e italic_n italic_t end_POSTSUBSCRIPT). Invalid trajectories are pruned, and the environment is evaluated for static and dynamic obstacles.

  3. 3.

    Predicting and Updating Environment (Lines 13-16): The function predictPosition predicts the future positions of dynamic obstacles from time𝑡𝑖𝑚𝑒timeitalic_t italic_i italic_m italic_e to time+N×Δt𝑡𝑖𝑚𝑒𝑁Δ𝑡time+N\times\Delta titalic_t italic_i italic_m italic_e + italic_N × roman_Δ italic_t and updates the environment when changes occur.

  4. 4.

    Safe Trajectory Expansion (Lines 17-22): While within a safe time margin, the function Extend(S,xrand𝑆subscript𝑥𝑟𝑎𝑛𝑑S,x_{rand}italic_S , italic_x start_POSTSUBSCRIPT italic_r italic_a italic_n italic_d end_POSTSUBSCRIPT) expands the tree by sampling new points. If a point reaches the goal, the process ends. Otherwise, the best trajectory is selected, and time is updated for the next iteration.

By continuously predicting the movements of dynamic obstacles and updating its environment in real-time, the robot can actively adjust its trajectory and ensure safe navigation.

IV-E NAMR-RRT Search Process

Refer to caption
(a) t = 1.3 s
Refer to caption
(b) t = 3.9 s
Refer to caption
(c) t = 11.9 s
Refer to caption
(d) t = 15.1 s
Refer to caption
(e) t = 19.2 s
Refer to caption
(f) t = 20.8 s
Figure 4: The search process of NAMR-RRT at different key stages. (a) t = 1.3 s, (b) t = 3.9 s, (c) t = 11.9 s, (d) t = 15.1 s, (e) t = 19.2 s, and (f) t = 20.8 s.

To comprehensively illustrate the search process of NAMR-RRT, six key stages of its operation on Map-1 are selected, as shown in Fig. 4.

  1. (a)

    Heuristic Searching: At t = 1.3 s, the algorithm begins its multi-directional searching within the heuristic region generated by the neural network (represented by yellow dots). Different colors denote various subTrees, with blue representing the rootTree. The red and green dots mark the start and goal points, respectively, while the small red dots indicate waypoints within the heuristic region.

  2. (b)

    subTree Growing and Merging: At t = 3.9 s, the subTrees have grown and begun to merge into a larger subTree (represented by green), consolidating the information from the different exploration directions.

  3. (c)

    subTree Near rootTree: At t = 11.9 s, the subTree has grown close to the rootTree and contains the goal point. It triggers the function subTreeSample, where the path is extracted from the goal to the meeting point, and multiple samples are taken along the extracted path (represented in light green) to guide the rootTree’s growth towards the goal.

  4. (d)

    rootTree Growing: At t = 15.1 s, the rootTree has grown significantly after being guided by the heuristic subTree. The heuristic region has been refined, allowing more concentrated sampling and avoiding unnecessary exploration in irrelevant areas. It ensures the rootTree grows more directly towards the goal.

  5. (e)

    Continued Heuristic Searching: At t = 19.2 s, the algorithm continues multi-directional searching in an updated heuristic region. The continuous updating and shrinking of the heuristic region helped the rootTree focus more efficiently on the goal, concentrating its sampling efforts and avoiding unnecessary spaces. As the sampling rate is updated throughout the process, the rootTree’s search becomes more focused, minimizing wasted effort in areas without potential paths.

  6. (f)

    At t = 20.8 s, the rootTree effectively uses the heuristic guidance to grow towards the goal aggressively, reaching the goal point and finding a feasible trajectory (shown in red).

V Experiments

This section introduces details of the implementation and results of the experiment.

V-A Implementation Details

V-A1 Compare Algorithms

NAMR-RRT is compared with several baseline algorithms, including Risk-RRT [17], Bi-Risk-RRT [18], Multi-Risk-RRT [19], and NMR-RRT, a variant of NAMR-RRT. NAMR-RRT is the complete version of the algorithm, integrating the neural network-generated heuristic region with dynamic updates to both the region and sampling rate, enabling efficient and adaptive motion planning. NMR-RRT employs a fixed heuristic region and sampling rate without the dynamic adaptation feature.

V-A2 Performance Metrics

The performance of the algorithms is evaluated using three metrics: Success Rate, Execution Time, and Trajectory Length. Success Rate represents the ratio of successful attempts to generate the feasible trajectory, where any attempt taking longer than 720 seconds is considered a failure. Execution Time measures how long the robot can reach the goal from the start. Trajectory Length represents the total distance the robot travels from the start to the goal.

V-A3 Training Process

PointNet++ [33] is implemented in this article as the neural network model. Training is performed offline using PyTorch on an AMD EPYC MILAN 7413 CPU and an NVIDIA RTX A6000 GPU. The training setup uses the SDG [34] optimizer with an initial learning rate of 0.001, a batch size of 64, and runs for 150 epochs. The dataset consists of 10000 2D random environments, each 300 ×\times× 300 pixels in size. A* generates the optimal path with a step size of one pixel and a clearance of three pixels. A point cloud with 2048 points is generated, and guidance state labels are assigned based on whether each point is within a radius of 10 pixels from the optimal path.

V-A4 Simulation Map

Refer to caption
Figure 5: Three simulation maps. In each map, the robot is represented by the blue rectangle from the start point (red dot) to the goal point(green dot). The environment contains static obstacles, illustrated as gray blocks, while dynamic obstacles, simulating crowd movement, are represented by orange icons.

Fig. 5 presents three simulation maps to evaluate algorithm performance across diverse environments. Map-1 features grid-arranged block obstacles, simulating shelves or stacked goods in a warehouse. Map-2 contains scattered circular obstacles, representing crowds or dispersed objects in markets or malls. Map-3 combines block and circular obstacles, simulating urban environments with buildings and pedestrians.

V-A5 Dynamic Environment

Refer to caption
Figure 6: Five motion planning algorithms in three dynamic environments. The red and green dots represent the start and goal points, while the orange dots indicate dynamic pedestrians. The trajectories are color-coded by the planning algorithm: green for Risk-RRT, purple for Bi-Risk-RRT, orange for Multi-Risk-RRT, blue for NMR-RRT, and pink for NAMR-RRT.

Fig. 6 illustrates the robot’s navigation through dynamic environments using different motion planning algorithms, all demonstrated within Map-1. The rows correspond to three dynamic conditions: Dynamic-1, Dynamic-2, and Dynamic-3, with dynamic trajectories from the open-source real-world dataset [35]. The figure presents the trajectory planning results of five algorithms—Risk-RRT, Bi-Risk-RRT, Multi-Risk-RRT, NMR-RRT, and NAMR-RRT—at three key stages: the start, 20.8 s, and the end. The trajectories demonstrate how each algorithm adapts to moving pedestrians while navigating around static obstacles.

V-A6 Experiment Platform

Refer to caption
Figure 7: Experimental platform for real-world experiment.

As shown in Fig. 7, the robot used in this article measures 0.45 m × 0.45 m × 1.23 m. It is equipped with advanced sensors, including an Ouster OS0-32 LiDAR and a Realsense D435i camera, operating on an onboard computer powered by an i7-1165G7 CPU and an NVIDIA GTX 2060 GPU.

V-B Experiment Results

Refer to caption
Figure 8: Experiment results of five algorithms on Map-1.
Refer to caption
Figure 9: Experiment results of five algorithms on Map-2.
Refer to caption
Figure 10: Experiment results of five algorithms on Map-3.
Refer to caption
Figure 11: Snapshots from the real-world experimental process using NAMR-RRT. Images have been captured at five distinct time points: 0.4 s, 5.4 s, 16.4 s, 29.4 s, and 46.4 s, showing the robot navigating a dynamic indoor environment. On the left is the wide-angle view, and on the right is the visualization view. The red box indicates the robot’s position in both views, with the first row showing the robot’s start point. In the visualization view, the blue dot represents the robot’s goal point, yellow dots indicate the generated heuristic region, green dots represent the exploration, and red dots show the executed trajectory. Besides, the cubes represent static obstacles, while the cylinders indicate moving obstacles.

Fig. 8, Fig. 9, and Fig. 10 present the evaluation results of five motion planning algorithms (Risk-RRT, Bi-Risk-RRT, Multi-Risk-RRT, NMR-RRT, and NAMR-RRT) across three simulation maps (Map-1, Map-2, and Map-3) under both static and dynamic environments (Dynamic-1, Dynamic-2, and Dynamic-3). The results are evaluated using three metrics: Execution Time (seconds, in red), Trajectory Length (meters, in blue), and Success Rate (percentage, in black), with the results averaged from 100 independent runs. The standard deviation for Execution Time and Trajectory Length is indicated by error bars, showing the variability in performance. Additionally, results are presented for varying map sizes (500 × 500, 600 × 600, and 700 × 700 pixels) with a resolution of 0.054, where only the dimensions are scaled while preserving the original map structure. It allows for a comparative analysis of algorithm performance across different map scales. Due to failure cases, the actual mean and standard deviation might be higher than the values shown in the figures. However, this does not impact the overall conclusions of the experiments. As seen in the result figures, even when the baseline algorithms have a lower Success Rate compared to our proposed algorithms, their performance in terms of Execution Time and Trajectory Length remains inferior.

V-B1 Execution Time

Across all maps and dynamic environments, NAMR-RRT consistently demonstrates the shortest execution time, with NMR-RRT following closely. Multi-Risk-RRT reduces execution time compared to Risk-RRT and Bi-Risk-RRT, though it still falls behind the neural network-based algorithms. While Bi-Risk-RRT offers better performance than Risk-RRT by leveraging bi-directional search, both algorithms struggle with longer execution time, especially in complex environments. It reflects the limitations of their exploration strategies, as Risk-RRT’s unidirectional search leads to slower planning. At the same time, Bi-Risk-RRT, despite its improvements, remains less efficient than multi-directional and neural network-based approaches.

V-B2 Trajectory Length

NAMR-RRT consistently achieves the shortest trajectory lengths across all conditions, closely followed by NMR-RRT, producing slightly longer trajectories. Although multi-directional and bi-directional search strategies reduce execution time, they do not offer an advantage in trajectory length. Consequently, algorithms ranging from unidirectional to bi-directional and multi-directional searches remain less effective in optimizing trajectory length, especially when compared to neural network-based approaches.

V-B3 Success Rate

NAMR-RRT and NMR-RRT consistently maintain high success rates across all maps, with NAMR-RRT typically achieving the best performance. Multi-Risk-RRT also demonstrates competitive success rates, significantly outperforming both Bi-Risk-RRT and Risk-RRT. While Bi-Risk-RRT exhibits better success rates than Risk-RRT due to its bi-directional search strategy, both algorithms struggle in environments with higher dynamic complexity.

V-B4 Standard Deviation

NAMR-RRT consistently shows the smallest standard deviations across all metrics, reflecting stable and consistent performance. NMR-RRT also exhibits relatively low variability, though higher than NAMR-RRT. In contrast, Risk-RRT, Bi-Risk-RRT, and Multi-Risk-RRT tend to have larger standard deviations, particularly in execution time, indicating greater fluctuations in performance.

In addition to the simulation experiments, we also conduct real-world experiments, as shown in Fig. 11, where a mobile robot uses the NAMR-RRT algorithm to navigate an indoor environment with static obstacles and moving humans. The robot starts at a designated point and plans a trajectory to the goal, dynamically adjusting as pedestrians enter its trajectory. The robot utilizes the heuristic region (represented by the yellow dots in the right-side images) to narrow the search space and generate an efficient trajectory. The heuristic region continuously updates as the robot moves, effectively guiding it towards the goal. The experiment demonstrates the algorithm’s ability to handle static and dynamic elements in real-time, ensuring efficient and robust navigation. Please refer to the website link111https://sites.google.com/view/namr-rrt for a comprehensive view of the experiment process.

VI Discussion

Refer to caption
Figure 12: Comparison of the search processes of five algorithms. The first column illustrates the performance of Risk-RRT (green), the second column represents Bi-Risk-RRT (purple), the third column shows Multi-Risk-RRT (orange), the fourth column displays NMR-RRT (blue), and the fifth column presents NAMR-RRT (pink). The red and green dots indicate the start and goal points, respectively. The algorithms are evaluated at three distinct time points: t = 3.9 s, t = 15.1 s, and t = 20.8 s.

This section analyzes the key factors behind the superior performance of NAMR-RRT. Two main aspects drive these improvements: neural network-generated heuristic regions and dynamic updates to the heuristic region and sampling rate. The neural network-generated heuristic region guides the search to the promising areas, reducing unnecessary exploration and improving efficiency. Additionally, dynamic updates allow NAMR-RRT to adapt continuously to changing environments, optimizing trajectory length. The following will discuss the performance of baseline algorithms, the advantages of neural network guidance, and the impact of dynamic updates in NAMR-RRT.

VI-1 Performance of Baseline Algorithms

Risk-RRT lacks heuristic guidance, resulting in a slow planning process and a lower-quality trajectory. As shown in Fig. 12, the algorithm expands inefficiently, leading to high execution time and long trajectory lengths. Bi-Risk-RRT improves efficiency through bi-directional growth, where two trees grow from the start and goal points, respectively. Once the trees meet, the tree from the goal can guide the tree from the start. However, in complex environments, the meeting time is uncertain or delayed, meaning that Bi-Risk-RRT behaves similarly to Risk-RRT without notable improvements in trajectory quality or planning efficiency for a long time. Multi-Risk-RRT introduces multi-directional exploration, significantly improving success rate and execution time. Extending bi-directional exploration into a multi-directional approach enhances the rootTree’s ability to leverage heuristic information. The growth of multiple subTrees increases the chances of meeting the rootTree, even in complex environments. However, this process remains uncertain, and the search often spans the entire space, resulting in a substantial amount of ineffective exploration. As shown in Fig. 12, Multi-Risk-RRT often explores irrelevant space, resulting in a long trajectory. Although the execution time is shortened, the random expansion pattern does not guarantee the quality of the trajectory.

VI-2 Advantages of Neural Network-based Algorithms

Our proposed algorithms, NMR-RRT and NAMR-RRT, show clear advantages through the neural network-generated heuristic region. This region enables the algorithms to concentrate their search in promising areas, minimizing unnecessary exploration and significantly improving planning efficiency. As seen in the experiment results and the visualized search process in Fig. 12, NMR-RRT benefits from this neural network-generated heuristic region, performing better than the baseline algorithms. However, while NMR-RRT demonstrates a more focused search, it still exhibits scattered subTrees growth. The fixed heuristic region and sampling rate limit the ability to refine the search process. As a result, although NMR-RRT outperforms traditional methods, its motion planning performance falls short of NAMR-RRT, which benefits from dynamic updating capabilities.

VI-3 Impact of Adaptive Updates in NAMR-RRT

The introduction of adaptive updates in NAMR-RRT sets it apart from all other algorithms. NAMR-RRT consistently outperforms the others in all metrics by continuously updating the heuristic region and sampling rate. The adaptive updates allow the algorithm to focus more precisely on promising regions, minimizing unnecessary exploration and resulting in shorter trajectory length, faster execution time, and higher success rate. Fig. 12 demonstrates this, as NAMR-RRT produces a clean and efficient search tree, progressing directly towards the goal with minimal branching or deviation. This efficiency is further supported by the lower standard deviation across all metrics, indicating robust and stable performance, even in complex environments. The contrast between NMR-RRT and NAMR-RRT highlights the critical importance of adaptive updates. While NMR-RRT performs well with a static heuristic, NAMR-RRT’s ability to dynamically adjust its focus leads to far more efficient motion planning. The visual comparison shows how NAMR-RRT avoids the excessive branching in the baseline algorithms and converges rapidly on the high-quality trajectory.

In conclusion, the experiment results validate the effectiveness of neural network-based, adaptively updated algorithms in solving motion planning problems, especially in dynamic and complex environments. NAMR-RRT’s superior performance across all metrics confirms the advantages of combining neural network guidance with adaptive updates, offering a robust and reliable solution for navigation tasks.

VII Conclusions and Future Work

This article presents NAMR-RRT, a neural adaptive motion planning algorithm for efficient navigation in dynamic environments. NAMR-RRT efficiently focuses on promising areas, minimizing unnecessary exploration and ensuring robust performance even under challenging conditions. The experiment results demonstrate that NAMR-RRT consistently outperforms traditional methods and NMR-RRT, a neural network-based method, which operates with a fixed heuristic region and sampling rate. NAMR-RRT achieves superior results in execution time, trajectory length, and success rate. These findings emphasize the importance of integrating neural network-generated heuristic regions with adaptive updates to the heuristic regions and sampling rate, offering a practical and effective solution for navigation in dynamic and complex environments. Future work will investigate advanced neural network models for generating more refined heuristic regions while integrating imperative learning to enable the algorithm to learn from past experiences and enhance the search process.

References

  • [1] F. Pratissoli, R. Brugioni, N. Battilani, and L. Sabattini, “Hierarchical traffic management of multi-agv systems with deadlock prevention applied to industrial environments,” IEEE Transactions on Automation Science and Engineering, 2023.
  • [2] M. M. Rayguru, S. Roy, L. Yi, M. R. Elara, and S. Baldi, “Introducing switched adaptive control for self-reconfigurable mobile cleaning robots,” IEEE Transactions on Automation Science and Engineering, vol. 21, no. 2, pp. 2051–2062, 2023.
  • [3] P. E. Hart, N. J. Nilsson, and B. Raphael, “A formal basis for the heuristic determination of minimum cost paths,” IEEE transactions on Systems Science and Cybernetics, vol. 4, no. 2, pp. 100–107, 1968.
  • [4] E. W. Dijkstra, “A note on two problems in connexion with graphs,” in Edsger Wybe Dijkstra: his life, work, and legacy, 2022, pp. 287–290.
  • [5] O. Khatib, “Real-time obstacle avoidance for manipulators and mobile robots,” The international journal of robotics research, vol. 5, no. 1, pp. 90–98, 1986.
  • [6] Y. Guo, D. Yao, B. Li, Z. He, H. Gao, and L. Li, “Trajectory planning for an autonomous vehicle in spatially constrained environments,” IEEE Transactions on Intelligent Transportation Systems, vol. 23, no. 10, pp. 18 326–18 336, 2022.
  • [7] J. Ziegler, P. Bender, M. Schreiber, H. Lategahn, T. Strauss, C. Stiller, T. Dang, U. Franke, N. Appenrodt, C. G. Keller et al., “Making bertha drive—an autonomous journey on a historic route,” IEEE Intelligent transportation systems magazine, vol. 6, no. 2, pp. 8–20, 2014.
  • [8] J. Yan, K. You, W. Cao, X. Yang, and X. Guan, “Binocular vision-based motion planning of an auv: A deep reinforcement learning approach,” IEEE Transactions on Intelligent Vehicles, 2023.
  • [9] L. E. Kavraki, P. Svestka, J.-C. Latombe, and M. H. Overmars, “Probabilistic roadmaps for path planning in high-dimensional configuration spaces,” IEEE transactions on Robotics and Automation, vol. 12, no. 4, pp. 566–580, 1996.
  • [10] S. M. LaValle and J. J. Kuffner Jr, “Randomized kinodynamic planning,” The international journal of robotics research, vol. 20, no. 5, pp. 378–400, 2001.
  • [11] J. J. Kuffner and S. M. LaValle, “Rrt-connect: An efficient approach to single-query path planning,” in Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics and Automation. Symposia Proceedings (Cat. No. 00CH37065), vol. 2.   IEEE, 2000, pp. 995–1001.
  • [12] T. Lai, F. Ramos, and G. Francis, “Balancing global exploration and local-connectivity exploitation with rapidly-exploring random disjointed-trees,” in 2019 International Conference on Robotics and Automation (ICRA).   IEEE, 2019, pp. 5537–5543.
  • [13] J.-P. Laumond, P. E. Jacobs, M. Taix, and R. M. Murray, “A motion planner for nonholonomic mobile robots,” IEEE Transactions on robotics and automation, vol. 10, no. 5, pp. 577–593, 1994.
  • [14] L. Quartapelle and S. Rebay, “Numerical solution of two-point boundary value problems,” Journal of computational physics, vol. 86, no. 2, pp. 314–354, 1990.
  • [15] J. Wang, W. Chi, C. Li, and M. Q.-H. Meng, “Efficient robot motion planning using bidirectional-unidirectional rrt extend function,” IEEE Transactions on Automation Science and Engineering, vol. 19, no. 3, pp. 1859–1868, 2021.
  • [16] Z. Sun, J. Wang, and M. Q.-H. Meng, “Multi-tree guided efficient robot motion planning,” Procedia Computer Science, vol. 209, pp. 31–39, 2022.
  • [17] C. Fulgenzi, A. Spalanzani, C. Laugier, and C. Tay, “Risk based motion planning and navigation in uncertain dynamic environment,” Research Report, 2010.
  • [18] H. Ma, F. Meng, C. Ye, J. Wang, and M. Q.-H. Meng, “Bi-risk-rrt based efficient motion planning for autonomous ground vehicles,” IEEE Transactions on Intelligent Vehicles, vol. 7, no. 3, pp. 722–733, 2022.
  • [19] Z. Sun, B. Lei, P. Xie, F. Liu, J. Gao, Y. Zhang, and J. Wang, “Multi-risk-rrt: An efficient motion planning algorithm for robotic autonomous luggage trolley collection at airports,” IEEE Transactions on Intelligent Vehicles, 2024.
  • [20] S. Karaman and E. Frazzoli, “Sampling-based algorithms for optimal motion planning,” The international journal of robotics research, vol. 30, no. 7, pp. 846–894, 2011.
  • [21] J. D. Gammell, S. S. Srinivasa, and T. D. Barfoot, “Informed rrt*: Optimal sampling-based path planning focused via direct sampling of an admissible ellipsoidal heuristic,” in 2014 IEEE/RSJ international conference on intelligent robots and systems.   IEEE, 2014, pp. 2997–3004.
  • [22] J. D. Gammell, T. D. Barfoot, and S. S. Srinivasa, “Batch informed trees (bit*): Informed asymptotically optimal anytime search,” The International Journal of Robotics Research, vol. 39, no. 5, pp. 543–567, 2020.
  • [23] M. Zucker, J. Kuffner, and M. Branicky, “Multipartite rrts for rapid replanning in dynamic environments,” in Proceedings 2007 IEEE International Conference on Robotics and Automation.   IEEE, 2007, pp. 1603–1609.
  • [24] A. Stentz, “Optimal and efficient path planning for partially-known environments,” in Proceedings of the 1994 IEEE international conference on robotics and automation.   IEEE, 1994, pp. 3310–3317.
  • [25] S. Koenig and M. Likhachev, “D* lite,” in Eighteenth national conference on Artificial intelligence, 2002, pp. 476–483.
  • [26] M. Otte and E. Frazzoli, “Rrtx: Asymptotically optimal single-query sampling-based motion planning with quick replanning,” The International Journal of Robotics Research, vol. 35, no. 7, pp. 797–822, 2016.
  • [27] K. Naderi, J. Rajamäki, and P. Hämäläinen, “Rt-rrt* a real-time path planning algorithm based on rrt,” in Proceedings of the 8th ACM SIGGRAPH Conference on Motion in Games, 2015, pp. 113–118.
  • [28] J. Wang, W. Chi, C. Li, C. Wang, and M. Q.-H. Meng, “Neural rrt*: Learning-based optimal path planning,” IEEE Transactions on Automation Science and Engineering, vol. 17, no. 4, pp. 1748–1758, 2020.
  • [29] Z. Huang, H. Chen, J. Pohovey, and K. Driggs-Campbell, “Neural informed rrt*: Learning-based path planning with point cloud state representations under admissible ellipsoidal constraints,” in 2024 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2024, pp. 8742–8748.
  • [30] F. Meng, J. Liu, H. Shi, H. Ma, H. Ren, and M. Q.-H. Meng, “Online time-informed kinodynamic motion planning of nonlinear systems,” IEEE Robotics and Automation Letters, 2024.
  • [31] T. Zhang, J. Wang, and M. Q.-H. Meng, “Generative adversarial network based heuristics for sampling-based path planning,” IEEE/CAA Journal of Automatica Sinica, vol. 9, no. 1, pp. 64–74, 2021.
  • [32] W. Chi, C. Wang, J. Wang, and M. Q.-H. Meng, “Risk-dtrrt-based optimal motion planning algorithm for mobile robots,” IEEE Transactions on Automation Science and Engineering, vol. 16, no. 3, pp. 1271–1288, 2018.
  • [33] C. R. Qi, L. Yi, H. Su, and L. J. Guibas, “Pointnet++: Deep hierarchical feature learning on point sets in a metric space,” Advances in neural information processing systems, vol. 30, 2017.
  • [34] L. Bottou, “Large-scale machine learning with stochastic gradient descent,” in Proceedings of COMPSTAT’2010: 19th International Conference on Computational StatisticsParis France, August 22-27, 2010 Keynote, Invited and Contributed Papers.   Springer, 2010, pp. 177–186.
  • [35] A. Lerner, Y. Chrysanthou, and D. Lischinski, “Crowds by example,” in Computer graphics forum, vol. 26, no. 3.   Wiley Online Library, 2007, pp. 655–664.
[Uncaptioned image] Zhirui Sun received the B.E. degree in information engineering from the Department of Electronic and Electrical Engineering, Southern University of Science and Technology, Shenzhen, China, in 2019. He is currently pursuing the Ph.D. degree with the Department of Electronic and Electrical Engineering, Southern University of Science and Technology, Shenzhen, China. His research interests include robot perception and motion planning.
[Uncaptioned image] Bingyi Xia received the B.E. degree in microelectronics science and engineering from the Southern University of Science and Technology, Shenzhen, China, in 2020. He is currently pursuing the Ph.D. degree with the Department of Electronic and Electrical Engineering, Southern University of Science and Technology, Shenzhen, China. His research interests include robot motion planning.
[Uncaptioned image] Peijia Xie received the B.E. degree in Electronic Information Engineering from the School of Physics and Telecommunications Engineering, South China Normal University, Guangzhou, China, in 2022. He is currently pursuing the Master degree with the Department of Electronic and Electrical Engineering, Southern University of Science and Technology, Shenzhen, China. His research interests include autonomous driving.
[Uncaptioned image] Xiaoxiao Li received the B.E. and M.S. degree in Computer science and technology from Qufu Normal University, China, in 2016 and 2019, respectively. She is currently pursuing the Ph.D. degree with the Harbin Institute of Technology, Shenzhen, China. Her current research interests include intelligent optimization, motion planning, deep learning and robotic control.
[Uncaptioned image] Jiankun Wang (Senior Member, IEEE) received the B.E. degree in automation from Shandong University, Jinan, China, in 2015, and the Ph.D. degree from the Department of Electronic Engineering, The Chinese University of Hong Kong, Hong Kong, in 2019. During his Ph.D. degree, he spent six months with Stanford University, Stanford, CA, USA, as a Visiting Student Scholar, supervised by Prof. Oussama Khatib. He is currently an Assistant Professor with the Department of Electronic and Electrical Engineering, Southern University of Science and Technology, Shenzhen, China. His current research interests include motion planning and control, human–robot interaction, and machine learning in robotics. Currently, he serves as the associate editor of IEEE Transactions on Automation Science and Engineering, IEEE Transactions on Intelligent Vehicles, IEEE Robotics and Automation Letters, International Journal of Robotics and Automation, and Biomimetic Intelligence and Robotics.