Evaluation of Global Path Planning Algorithms for Mobile Robots in Simulated Underground Mining Environments
Abstract
1. Introduction
- Graph-based algorithms, such as the A* search algorithm and Dijkstra’s algorithm;
- Sampling-based algorithms, such as Rapidly exploring Random Tree (RRT*);
- Nature-inspired algorithms, such as Ant Colony Optimization (ACO) and Particle Swarm Optimization (PSO);
- Reinforcement learning-based algorithms, such as Q-learning [6].
- How do selected global path planning algorithms perform in a room-and-pillar environment with relatively open free space and minimal geometrical constraints?
- How do global planners behave during replanning when unexpected obstacles are introduced in such environments?
- How does algorithm performance change in narrow tunnel scenarios, and what optimization strategies can improve their effectiveness?
- How robust are the evaluated algorithms in narrow tunnels when unexpected blockages require the robot to return to the initial position under constrained maneuvering conditions?
- Rather than relying on synthetic or idealized maps commonly used in planner comparisons, this study evaluates planner performance in a ROS-based simulation environment constructed from a geometrically accurate underground mine model derived from terrestrial laser scanning data of an operational mine site.
- A comprehensive set of performance metrics is employed, including minimum clearance, mean clearance, and plan count. These metrics extend beyond conventional indicators, such as travel distance and computation time, offering insight into practical safety and operational requirements in underground mining.
- The default RRT* implementation is adapted through a costmap-aware collision checking modification to enable reliable path generation in narrow mine tunnel environments.
- The study examines practical factors that influence planner suitability in underground mines, including costmap interactions, planner robustness in confined spaces, and the interaction between global and local planners.
2. Working Principles of Algorithms
- Cost Formulation
- is the costmap value assigned to the cell c, indicating the traversability of that location. Higher values correspond to cells closer to obstacles or restricted regions;
- The parameter α is a scaling factor that adjusts the influence of the costmap values. In this study, it is set to 1.0, meaning that the original cost values are used directly without additional weighting.
- denotes the distance from cell to the nearest obstacle;
- —robot radius used for collision safety;
- —inflation radius defining the region around obstacles where additional costs are applied;
- —maximum inflation cost assigned near obstacles;
- —scaling factor controlling the exponential decay rate of the inflated cost.
2.1. Dijkstra’s Algorithm
- denotes the current cell;
- represents a neighboring cell in the grid map.
- —accumulated cost from the start node to cell ;
- —start cell of the path planning problem.
- —current best-known cost to reach cell ;
- —cost to reach the current cell ;
- —traversal cost of cell derived from the costmap;
- —movement cost between cells and
| Algorithm 1 Dijkstra’s algorithm pseudocode operating on costmap grid |
| Input: costmap M, source s, goal t |
| Output: optimal path π* |
| 1: for each cell c in M do |
| 2: g(c) ← ∞ |
| 3: parent(c) ← null |
| 4: end for |
| 5: g(s) ← 0 |
| 6: OPEN ← priority queue containing s |
| 7: CLOSED ← ∅ |
| 8: while OPEN ≠ ∅ do |
| 9: c ← node in OPEN with minimum g(c) |
| 10: remove c from OPEN |
| 11: add c to CLOSED |
| 12: if c = t then |
| 13: return ReconstructPath(parent, t) |
| 14: end if |
| 15: for each neighbour u of c do |
| 16: if u ∈ CLOSED or cost(u) = LETHAL then |
| 17: continue |
| 18: end if |
| 19: g_new ← g(c) + κ(u) · ℓ(c, u) |
| 20: if g_new < g(u) then |
| 21: g(u) ← g_new |
| 22: parent(u) ← c |
| 23: insert or update u in OPEN |
| 24: end if |
| 25: end for |
| 26: end while |
| 27: return failure |
2.2. A* Algorithm
- g(c) represents the accumulated cost from the start node;
- h(c) is the heuristic estimate of the remaining distance.
| Algorithm 2 A* algorithm pseudocode operating on costmap grid |
| Input: costmap M, source s, goal t |
| Output: optimal path π* |
| 1: for each cell c in M do |
| 2: g(c) ← ∞ |
| 3: f(c) ← ∞ |
| 4: parent(c) ← null |
| 5: end for |
| 6: g(s) ← 0 |
| 7: f(s) ← h(s) |
| 8: OPEN ← priority queue containing s |
| 9: CLOSED ← ∅ |
| 10: while OPEN ≠ ∅ do |
| 11: c ← node in OPEN with minimum f(c) |
| 12: remove c from OPEN |
| 13: add c to CLOSED |
| 14: if c = t then |
| 15: return ReconstructPath(parent, t) |
| 16: end if |
| 17: for each neighbour u of c do |
| 18: if u ∈ CLOSED or cost(u) = LETHAL then |
| 19: continue |
| 20: end if |
| 21: g_new ← g(c) + κ(u) · ℓ(c, u) |
| 22: if g_new < g(u) then |
| 23: g(u) ← g_new |
| 24: f(u) ← g(u) + h(u) |
| 25: parent(u) ← c |
| 26: insert or update u in OPEN |
| 27: end if |
| 28: end for |
| 29: end while |
| 30: return failure |
2.3. Rapidly Exploring Random Tree Star (RRT*)
| Algorithm 3 RRT* algorithm pseudocode |
| Input: costmap M, source s, goal t |
| Parameters: step size ε, rewiring radius r, maximum nodes Nmax. Output: best path found π |
| 1: T ← initialize tree with root node s |
| 2: while number of nodes in T < Nmax do |
| 3: p_rand ← SampleFree(M) |
| 4: n_near ← NearestNode(T, p_rand) |
| 5: p_new ← Steer(n_near, p_rand, ε) |
| 6: if CollisionFree(n_near, p_new) then |
| 7: N ← nodes in T within radius r of p_new |
| 8: parent ← argmin_{n ∈ N} [cost(n) + dist(n, p_new)] |
| 9: set parent(p_new) ← parent |
| 10: add p_new to T |
| 10: for each node n in N do |
| 11: if CollisionFree(n, p_new) and cost(n) + dist(n, p_new) < c_min then |
| 14: rewire n through p_new |
| 14: end if |
| 15: end for |
| 17: if distance(p_new, t) < goal tolerance then |
| 18: return ExtractPath(T) |
| 19: end if |
| 20: end if |
| 21: end while |
| 22: return failure |
2.4. Particle Swarm Optimization (PSO) Algorithm
- is the B-spline path length;
- represents obstacle penalties derived from the costmap.
- (inertia weight) controls how much the particle keeps its previous velocity. Higher values promote broader exploration while lower values encourage convergence toward known solutions.
- (cognitive coefficient) controls how much the particle is attracted to its own best-known position.
- (social coefficient) controls how much the particle is attracted to the swarm’s global best-known position.
- are random numbers independently sampled from a uniform distribution in [0, 1] at each iteration, introducing stochasticity into the velocity update to promote diverse exploration of the search space.
| Algorithm 4 PSO algorithm pseudocode |
| Input: costmap M, start node s, goal node t |
| Parameters: swarm size N, iterations K |
| Output: planned path π |
| 1: Initialize swarm with N particles |
| 2: for each particle i do |
| 3: generate waypoint set X_i |
| 4: compute fitness(X_i) |
| 5: P_i ← X_i |
| 6: end for |
| 7: G ← particle with best fitness |
| 8: for k = 1 to K do |
| 9: for each particle i do |
| 10: V_i ← ω·V_i + c1·r1·(P_i − X_i) + c2·r2·(G − X_i) |
| 11: X_i ← X_i + V_i |
| 12: update path using B-spline |
| 13: compute fitness(X_i) |
| 14: if fitness(X_i) > fitness(P_i) then |
| 15: P_i ← X_i |
| 16: end if |
| 17: if fitness(X_i) > fitness(G) then |
| 18: G ← X_i |
| 19: end if |
| 20: end for |
| 21: end for |
| 22: return path generated from G |
3. Operational Framework and Simulation Environments
3.1. Simulation Environments
3.2. Operational Robot and Laser Scanner
4. Testing Scenarios and Algorithm Adaptation
4.1. Room-and-Pillar Mine Environment
4.2. Room-and-Pillar Environment with Unknown Obstacles
4.3. Real Mine Tunnel Environment
4.4. Return-to-Origin Scenario Under Complete Tunnel Blockage
4.5. Algorithm Adaptation
| Algorithm 5 Costmap-aware random sampling procedure for RRT* |
| Input: costmap M, maximum trials N |
| Output: sampled free random state x_rand |
| 1: for i = 1 to N do |
| 2: (m_x, m_y) ← uniformly sample a grid cell from M |
| 3: c ← GetCost(M, m_x, m_y) |
| 4: if c = NO_INFORMATION then |
| 5: continue |
| 6: end if |
| 7: if c ≥ INSCRIBED_INFLATED_OBSTACLE then |
| 8: continue |
| 9: end if |
| 10: x_rand ← MapToWorld(M, m_x, m_y) |
| 11: return x_rand |
| 12: end for |
| 13: x_rand ← UniformSampleWorld() |
| 14: return x_rand |
- Reduction in the rewiring radius to prevent excessive graph restructuring in narrow corridors;
- Increase in the node budget to enhance exploration capability within the limited free space.
4.6. Navigation Parameter Tuning
4.7. Performance Evaluation Metrics
- Plan count: Number of global path replanning events triggered during the navigation task. A higher value indicates more frequent path updates due to environmental changes or path invalidation. This metric is primarily relevant in scenarios where replanning is required.
- Path length (m): Total distance traveled by the robot along the executed trajectory from the start to the final goal. This metric reflects the efficiency of the generated path.
- Maximum curvature (κ_max): Maximum curvature observed along the trajectory. It is calculated as the change in heading angle per unit path length, where higher values indicate sharper turns and greater maneuvering demand [47].
- Minimum clearance (m): Smallest distance between the robot and the nearest obstacle during navigation. This metric reflects the safety margin maintained along the path.
- Mean clearance (m): Average distance between the robot and surrounding obstacles along the trajectory. Larger values indicate safer paths with greater obstacle avoidance margins.
- Initial planning time (s): Time required by the planner to compute the initial global path before the robot begins navigation.
- Total journey time (s): Total time required for the robot to complete the navigation task from start to the final goal, including motion execution and any replanning events.
5. Results
5.1. Room-and-Pillar Environment (Without Unknown Obstacles)
5.2. Room-and-Pillar Environment with Unknown Obstacles
5.3. Mine Tunnel Scenario
5.3.1. Influence of Navigation Parameter Tuning
- Costmap inflation adjustment [45]. The inflation layer radius was reduced to 0.35 m to create additional free space within the narrow tunnel representation. This modification particularly benefited RRT*, as the tree expansion process became less restricted, enabling faster goal discovery. However, this configuration introduced challenges for A*. Due to its deterministic shortest-path nature, A* tends to generate trajectories close to tunnel walls when inflation is reduced. This increases collision risk in geometrically irregular environments.
- Robot footprint padding. To compensate for reduced inflation and maintain safety, an additional padding of 0.08 m was applied to the robot footprint. This adjustment was especially beneficial for A*, as it prevented excessive wall proximity while preserving path feasibility.
- DWA local planner adaptation [46]. For improved safety and maneuverability, DWA parameters were tuned specifically for tunnel conditions. The planner was configured to prioritize obstacle avoidance over strict global path tracking by increasing the goal bias (8.0) and adjusting the path bias (24).
- For A*, increased wall clearance reduced collision risk;
- For RRT*, improved local smoothing behavior mitigated jagged trajectory segments;
- During sharp turns, the modified DWA parameters enabled more stable and controlled maneuvering.
5.3.2. Performance Results in Real Mine Tunnels Simulated Scenario
5.4. Return-to-Origin Scenario Under Full Tunnel Blockage
6. Limitations
6.1. Limitations of PSO in Narrow Tunnel Environments
- Discrete collision checking limitations: Although sampled waypoints were frequently located in free space, the straight-line segments connecting them often intersected inflated or lethal regions of the costmap. In narrow corridors, this resulted in paths that appeared locally valid at sampled nodes but were globally infeasible along continuous segments.
- Bias toward path length minimization: The optimization objective strongly favored path length minimization. When obstacle penalty terms were not sufficiently dominant or continuously enforced, shorter yet infeasible paths consistently received higher fitness scores than longer but collision-free alternatives. This bias toward path shortness over feasibility significantly degraded performance in corridor-like environments.
- Limited feasible search space in narrow tunnels: In narrow tunnel environments with multiple turns, the feasible solution space is highly constrained. As a result, a large portion of randomly initialized particles fall into infeasible regions. Without a reliable seed path or structured guidance, the swarm tends to converge toward infeasible or suboptimal local minima.
6.2. Limitations: 2D Laser Scanning
7. Discussion
- Evaluating the proposed approach in real mining environments, where factors such as wheel slippage due to uneven surfaces and sensor noise may significantly affect performance;
- Improving the A* algorithm to encourage path generation closer to the tunnel centerline, thereby enhancing safety margins;
- Incorporating three-dimensional environment representations, particularly in underground tunnels, to better account for irregular wall geometry and improve navigation robustness.
8. Conclusions
- In room-and-pillar environments with relatively low geometric constraints, Dijkstra’s algorithm consistently provided the most reliable performance, producing shorter paths with minimal computational effort and highly deterministic behavior. While A* achieved comparable path quality, it required more frequent replanning, longer path-generation times, and tended to maintain close proximity to walls. In contrast, PSO and RRT* exhibited stochastic behavior, leading to greater variability in path length. However, their inherent randomness allowed them to generate alternative routes with fewer replanning events in unknown obstacle scenarios. While PSO achieved near-optimal solutions with moderate planning time, RRT* faced significantly higher computational demands.
- In geometrically constrained narrow tunnel environments, Dijkstra’s algorithm demonstrated the most stable performance. In contrast, A* tended to generate trajectories near tunnel walls, increasing collision risk in limited-clearance conditions. RRT* showed inconsistent performance and high computational costs in narrow passages. However, by modifying the algorithm to sample specifically within traversable costmap cells inside tunnel boundaries, it achieved performance comparable to the other methods in shorter, single-tunnel scenarios. Finally, PSO struggled to produce reliable solutions in these confined environments. Its high sensitivity to collision checking and limited maneuvering space make it less suitable for narrow tunnels and blockage scenarios.
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
Appendix A. Detailed Experimental Results
| Planner | Bag Name | Path Length (m) | κ Max | Clearance Min (m) | Clearance Mean (m) | Planning Time (s) | Total Journey (s) |
|---|---|---|---|---|---|---|---|
| A* | Astar1 | 62.00 | 61.64 | 0.60 | 2.90 | 7.54 | 149.65 |
| Astar2 | 61.98 | 61.64 | 0.60 | 3.00 | 7.78 | 156.30 | |
| Astar3 | 62.02 | 61.64 | 0.60 | 2.90 | 7.61 | 149.71 | |
| Astar4 | 62.04 | 61.64 | 0.60 | 2.96 | 8.08 | 170.15 | |
| Dijkstra’s | navfn1 | 58.54 | 22.21 | 0.76 | 2.35 | 0.25 | 123.80 |
| navfn2 | 58.54 | 22.21 | 0.76 | 2.35 | 0.25 | 121.80 | |
| navfn3 | 58.54 | 22.21 | 0.76 | 2.35 | 0.26 | 123.60 | |
| navfn4 | 58.54 | 22.21 | 0.76 | 2.35 | 0.28 | 122.20 | |
| PSO | pso1 | 71.18 | 35.54 | 0.56 | 2.92 | 1.70 | 149.80 |
| pso2 | 77.03 | 35.54 | 0.99 | 3.52 | 1.96 | 152.40 | |
| pso3 | 70.14 | 35.54 | 0.64 | 3.11 | 1.69 | 193.80 | |
| pso4 | 77.39 | 35.54 | 0.61 | 2.85 | 1.90 | 147.80 | |
| pso5 | 71.99 | 35.54 | 0.57 | 2.92 | 1.67 | 134.00 | |
| pso6 | 69.15 | 35.54 | 0.89 | 3.31 | 1.91 | 134.40 | |
| pso7 | 67.22 | 35.54 | 0.81 | 2.90 | 1.79 | 140.80 | |
| pso8 | 78.63 | 35.54 | 0.89 | 3.86 | 1.79 | 160.20 | |
| RRT* | rrt1 | 75.87 | 1.20 | 1.31 | 2.85 | 91.81 | 256.10 |
| rrt2 | 67.90 | 5.80 | 0.85 | 2.84 | 44.24 | 190.80 | |
| rrt3 | 84.33 | 1.20 | 1.35 | 2.99 | 2.46 | 171.45 | |
| rrt4 | 87.70 | 1.18 | 1.51 | 3.32 | 1.12 | 180.80 | |
| rrt5 | 73.17 | 3.55 | 1.31 | 3.08 | 65.550 | 213.90 | |
| rrt6 | 87.49 | 1.30 | 1.45 | 3.55 | 77.934 | 257.70 | |
| rrt7 | 83.77 | 0.95 | 1.03 | 3.12 | 77.281 | 261.70 | |
| rrt8 | 85.97 | 0.99 | 1.65 | 3.11 | 5.796 | 182.00 |
| Planner | Bag Name | Path Length (m) | κ Max | Clearance Min (m) | Clearance Mean (m) | Planning Time (s) | Total Journey (s) |
|---|---|---|---|---|---|---|---|
| A* | 2Astar1 | 44.88 | 53.20 | 0.60 | 1.97 | 0.39 | 101.40 |
| 2Astar2 | 44.89 | 53.20 | 0.60 | 1.97 | 0.36 | 98.60 | |
| 2Astar3 | 44.88 | 53.20 | 0.60 | 1.97 | 0.38 | 97.20 | |
| 2Astar4 | 44.88 | 53.20 | 0.60 | 1.97 | 0.39 | 97.60 | |
| Dijkstra’s | 2navfn1 | 41.80 | 26.53 | 0.76 | 2.10 | 0.28 | 92.40 |
| 2navfn2 | 41.84 | 24.96 | 0.76 | 2.12 | 0.22 | 98.99 | |
| 2navfn3 | 41.80 | 26.53 | 0.76 | 2.10 | 0.26 | 95.80 | |
| 2navfn4 | 41.80 | 26.53 | 0.76 | 2.10 | 0.24 | 96.00 | |
| PSO | 2pso1 | 49.63 | 36.13 | 0.65 | 2.28 | 1.22 | 100.00 |
| 2pso2 | 47.47 | 36.13 | 0.74 | 2.44 | 1.41 | 106.59 | |
| 2pso3 | 50.87 | 36.13 | 0.49 | 3.09 | 1.35 | 104.60 | |
| 2pso4 | 46.20 | 31.42 | 0.58 | 2.27 | 1.31 | 95.71 | |
| RRT* | 2rrt1 | 62.72 | 0.98 | 1.50 | 3.25 | 22.12 | 160.601 |
| 2rrt2 | 55.91 | 6.25 | 1.35 | 2.93 | 25.13 | 142.799 | |
| 2rrt3 | 78.43 | 4.52 | 1.44 | 3.39 | 12.79 | 179.602 | |
| 2rrt4 | 65.68 | 6.08 | 1.45 | 2.91 | 105.23 | 259.902 |
| Planner | Bag Name | Replans | Path Length (m) | κ Max | Clearance Min (m) | Clearance Mean (m) | Planning Time (s) | Total Journey (s) |
|---|---|---|---|---|---|---|---|---|
| A* | Astar_obst1 | 15 | 62.37 | 62.46 | 0.60 | 2.93 | 0.32 | 228.50 |
| Astar_obst2 | 12 | 62.29 | 61.64 | 0.60 | 2.96 | 7.32 | 187.50 | |
| Astar_obst3 | 15 | 62.24 | 61.64 | 0.60 | 2.98 | 6.86 | 228.60 | |
| Astar_obst4 | 10 | 62.04 | 83.28 | 0.60 | 2.94 | 6.91 | 169.70 | |
| Astar_obst5 | 15 | 61.70 | 71.47 | 0.30 | 2.95 | 7.04 | 211.75 | |
| Dijkstra’s | navfn_obst1 | 6 | 59.23 | 22.21 | 0.72 | 2.44 | 0.23 | 125.00 |
| navfn_obst2 | 6 | 59.24 | 22.21 | 0.72 | 2.45 | 0.26 | 125.39 | |
| navfn_obst3 | 6 | 59.47 | 22.21 | 0.72 | 2.44 | 0.19 | 124.60 | |
| navfn_obst4 | 6 | 59.27 | 22.35 | 0.72 | 2.45 | 0.31 | 126.60 | |
| PSO | pso_obst1 | 2 | 66.84 | 35.54 | 0.52 | 2.60 | 1.92 | 139.60 |
| pso_obst2 | 6 | 64.01 | 35.54 | 0.50 | 2.87 | 2.09 | 144.80 | |
| pso_obst3 | 5 | 62.01 | 35.54 | 0.49 | 2.82 | 1.63 | 135.00 | |
| pso_obst4 | 6 | 67.54 | 35.54 | 0.46 | 3.06 | 1.69 | 164.40 | |
| RRT* | rrt_obst1 | 3 | 102.12 | 1.06 | 1.01 | 3.26 | 4.83 | 241.20 |
| rrt_obst2 | 4 | 100.18 | 3.29 | 1.17 | 3.11 | 26.62 | 291.20 | |
| rrt_obst3 | 2 | 15.01 | 3.44 | 1.60 | 3.30 | 50.10 | 232.70 | |
| rrt_obst4 | 2 | 76.73 | 6.96 | 1.11 | 2.90 | 77.16 | 259.70 |
| Planner | Bag Name | Path Length (m) | κ Max | Clearance Min (m) | Clearance Mean (m) | Planning Time (s) | Total Journey (s) |
|---|---|---|---|---|---|---|---|
| A* | Astar_mine1 | 51.76 | 63.63 | 0.30 | 0.51 | 0.07 | 117.60 |
| Astar_mine2 | 51.99 | 57.65 | 0.30 | 0.53 | 0.16 | 124.40 | |
| Astar_mine3 | 51.68 | 125.23 | 0.28 | 0.49 | 0.13 | 126.40 | |
| Astar_mine4 | 51.90 | 57.65 | 0.30 | 0.53 | 0.21 | 123.60 | |
| Dijkstra’s | navfn_mine1 | 49.81 | 31.72 | 0.35 | 0.67 | 0.18 | 109.40 |
| navfn_mine2 | 50.09 | 31.72 | 0.35 | 0.67 | 0.14 | 108.20 | |
| navfn_mine3 | 50.02 | 31.72 | 0.35 | 0.67 | 0.19 | 107.80 | |
| navfn_mine4 | 50.12 | 31.72 | 0.35 | 0.67 | 0.16 | 108.60 | |
| navfn_mine5 | 50.65 | 31.72 | 0.35 | 0.67 | 0.17 | 118.20 | |
| RRT* | rrt__mine1 | 50.09 | 14.48 | 0.32 | 0.65 | 1.35 | 109.40 |
| rrt__mine2 | 50.09 | 17.83 | 0.29 | 0.63 | 3.09 | 112.40 | |
| rrt__mine3 | 50.15 | 23.95 | 0.34 | 0.64 | 0.99 | 110.60 | |
| rrt__mine4 | 50.37 | 7.39 | 0.32 | 0.67 | 1.39 | 115.00 | |
| rrt__mine5 | 50.33 | 15.71 | 0.32 | 0.67 | 1.01 | 108.80 |
| Planner | Bag Name | Replans | Path Length (m) | κ Max | Clearance Min (m) | Clearance Mean (m) | Planning Time (s) | Total Journey (s) |
|---|---|---|---|---|---|---|---|---|
| A* | A_block1. | 8 | 76.04 | 203.67 | 0.30 | 0.81 | 0.05 | 168.46 |
| A_block2 | 8 | 76.58 | 236.24 | 0.30 | 0.80 | 0.13 | 167.89 | |
| A_block3 | 7 | 76.28 | 167.46 | 0.30 | 0.80 | 0.13 | 166.10 | |
| A_block4 | 7 | 76.15 | 167.46 | 0.30 | 0.80 | 0.17 | 189.15 | |
| Dijkstra’s | nav_block1 | 7 | 70.86 | 77.74 | 0.35 | 0.66 | 0.06 | 155.52 |
| nav_block2 | 8 | 71.41 | 82.42 | 0.35 | 0.60 | 0.07 | 164.26 | |
| nav_block3 | 6 | 71.15 | 85.17 | 0.35 | 0.66 | 0.18 | 157.64 | |
| nav_block4 | 7 | 73.28 | 31.72 | 0.35 | 0.66 | 0.03 | 162.63 | |
| RRT* | rrt_block1 | 2 | 74.33 | 6.52 | 0.30 | 0.83 | 0.79 | 167.52 |
| rrt_block2 | 2 | 73.64 | 9.69 | 0.32 | 0.63 | 1.53 | 165.49 | |
| rrt_block3 | 2 | 74.22 | 15.97 | 0.32 | 0.63 | 0.89 | 164.74 | |
| rrt_block4 | 2 | 73.40 | 3.97 | 0.34 | 0.68 | 0.74 | 161.49 |
Appendix B. Statistical Analysis
Appendix B.1. Room-and-Pillar Scenario
| Metric | F-Statistic | p-Value | Significant (p < 0.05) |
|---|---|---|---|
| Path Length (m) Route 1 (A*, Dijkstra’s n = 4; PSO, RRT* n = 8) | 22.353 | <0.0001 | Yes |
| Initial Planning Time (s) Both stages (A*, Dijkstra’s n = 8; PSO, RRT* n = 12) | 11.561 | <0.0001 | Yes |
| Comparison | Statistic | p-Value | Test | Sig.* | Interpretation |
|---|---|---|---|---|---|
| A* vs. Dijkstra’s | U = 16.0 | 0.0211 | Mann–Whitney | No | Not significant after correction |
| A* vs. PSO | t = −4.949 | 0.0006 | t-test | Yes * | A* shorter than PSO |
| A* vs. RRT* | t = −4.911 | 0.0006 | t-test | Yes * | A* shorter than RRT* |
| Dijkstra’s vs. PSO | U = 0.0 | 0.0074 | Mann–Whitney | Yes * | Dijkstra’s shortest path |
| Dijkstra’s vs. RRT* | U = 0.0 | 0.0074 | Mann–Whitney | Yes * | Dijkstra’s shorter than RRT* |
| PSO vs. RRT* | t = −2.611 | 0.0205 | t-test | No | Not significant after correction |
| Comparison | Statistic | p-Value | Test | Sig.* | Interpretation |
|---|---|---|---|---|---|
| A* vs. Dijkstra’s | t = 2.733 | 0.0162 | t-test | No | Not significant after correction |
| A* vs. PSO | t = 2.152 | 0.0452 | t-test | No | Not significant after correction |
| A* vs. RRT* | t = −2.984 | 0.0080 | t-test | Yes * | A* plans faster than RRT* |
| Dijkstra’s vs. PSO | t = −15.199 | <0.0001 | t-test | Yes * | Dijkstra’s significantly fastest |
| Dijkstra’s vs. RRT* | t = −3.278 | 0.0042 | t-test | Yes * | Dijkstra’s plans faster than RRT* |
| PSO vs. RRT* | t = −3.924 | 0.0007 | t-test | Yes * | PSO plans faster than RRT* |
Appendix B.2. Narrow Tunnel Scenario
| Metric | F-Statistic | p-Value | Significant (p < 0.05) |
|---|---|---|---|
| Initial Planning Time (s) | 11.504 | 0.0020 | Yes |
| Minimum Clearance (m) | 24.039 | <0.0001 | Yes |
| Comparison | Statistic | p-Value | Test | Sig. * | Interpretation |
|---|---|---|---|---|---|
| A* vs. Dijkstra’s Planning Time | t = −0.928 | 0.3845 | t-test | No | Comparable performance |
| A* vs. RRT* Planning Time | t = −3.214 | 0.0148 | t-test | Yes | A* plans faster than RRT* |
| Dijkstra’s vs. RRT* Planning Time | t = −3.584 | 0.0071 | t-test | Yes | Dijkstra’s plans faster than RRT* |
| A* vs. Dijkstra’s Min. Clearance | U = 0.0 | 0.0093 | Mann–Whitney | Yes | Dijkstra’s maintains greater clearance |
| A* vs. RRT* Min. Clearance | t = −2.282 | 0.0565 | t-test | No | Not significant after correction |
| Dijkstra’s vs. RRT* Min. Clearance | U = 25.0 | 0.0067 | Mann–Whitney | Yes | Dijkstra’s maintains greater clearance |
| Metric | F-Statistic | p-Value | Significant (p < 0.05) |
|---|---|---|---|
| Initial Planning Time (s) | 22.163 | 0.0003 | Yes |
| Minimum Clearance (m) | 28.500 | <0.0001 | Yes |
| Comparison | Statistic | p-Value | Test | Sig.* | Interpretation |
|---|---|---|---|---|---|
| A* vs. Dijkstra’s Planning Time | t = 0.847 | 0.4296 | t-test | No | Comparable performance |
| A* vs. RRT* Planning Time | t = −4.684 | 0.0034 | t-test | Yes | A* plans faster than RRT* |
| Dijkstra’s vs. RRT* Planning Time | t = −4.842 | 0.0029 | t-test | Yes | Dijkstra’s plans faster than RRT* |
| A* vs. Dijkstra’s Min. Clearance | U = 0.0 | 0.0131 | Mann–Whitney | Yes | Dijkstra’s maintains greater clearance |
| A* vs. RRT* Min. Clearance | U = 2.0 | 0.0668 | Mann–Whitney | No | Not significant after correction |
| Dijkstra’s vs. RRT* Min. Clearance | U = 16.0 | 0.0202 | Mann–Whitney | No | Not significant after correction |
Appendix C. Parameter Configuration Summary
| Parameter | Default | Room-and-Pillar | Narrow Tunnel | Unit | Description/Effect |
|---|---|---|---|---|---|
| RRT* Global Planner | |||||
| epsilon (ε) | 0.21 | 0.21 | 0.2 | m | Maximum tree extension distance per step. Controls sampling resolution. |
| radius (r) | 1.05 | 1.05 | 0.5 | m | Neighbor search radius for rewiring. Increased to improve path optimality. |
| max_num_nodes | 10,001 | 10,000 | 8000 | — | Maximum number of tree nodes. Increase in RP to allow thorough exploration. |
| min_num_nodes | 1501 | 1501 | 300 | — | Minimum nodes before termination. Increase in RP to ensure sufficient exploration. |
| Costmap (Common) | |||||
| inflation_radius | 1.0 | 1.0 | 0.35 | m | Distance to inflate obstacles. Increased to improve safety margins. |
| update_frequency | 4.0 | 4.0 | 10.0 | Hz | Costmap update rate. Reduced to decrease computational load. |
| publish_frequency | 3.0 | 3.0 | 5.0 | Hz | Costmap publish rate. |
| Footprint_padding | 0.01 | 0.01 | 0.08 | m | Extra safety margin added around the robot footprint to avoid collisions. |
| Cost_scaling_factor | 10.0 | 10.0 | 2.5 | - | Controls how quickly obstacle cost decreases with distance from obstacles. |
| DWA Local Planner | |||||
| path_distance_bias | 32.0 | 32.0 | 8.0 | — | Weight for staying near global path. Increase in RP for better path following. |
| goal_distance_bias | 24.0 | 24.0 | 24.0 | — | Weight for approaching the goal. |
| occdist_scale | 0.01 | 0.01 | 0.1 | — | Obstacle clearance weight. Reduced in RP to allow navigation in open spaces. |
References
- Li, J.; Zhan, K. Intelligent mining technology for an underground metal mine based on unmanned equipment. Engineering 2018, 4, 381–391. [Google Scholar] [CrossRef]
- Losch, R.; Grehl, S.; Donner, M.; Buhl, C.; Jung, B. Design of an autonomous robot for mapping, navigation, and manipulation in underground mines. In Proceedings of the 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, 1–5 October 2018; pp. 1407–1412. [Google Scholar] [CrossRef]
- Giannopoulos, I.; Koutsabasis, P.; Mavrommati, I. Indoor Wayfinding and Navigation; Springer: Cham, Switzerland, 2015; Available online: https://books.google.de/books?id=I3oZBwAAQBAJ (accessed on 28 February 2025).
- Hartman, H.L.; Mutmansky, J.M. Introductory Mining Engineering, 2nd ed.; Wiley: Hoboken, NJ, USA, 2002; Available online: https://books.google.de/books?id=N9Xpi6a5304C (accessed on 29 March 2026).
- Yang, L.; Li, P.; Qian, S.; Quan, H.; Miao, J.; Liu, M.; Hu, Y.; Memetimin, E. Path planning technique for mobile robots: A review. Machines 2023, 11, 980. [Google Scholar] [CrossRef]
- Sutton, R.S.; Barto, A.G. Reinforcement Learning: An Introduction, 2nd ed.; MIT Press: Cambridge, MA, USA, 2018. [Google Scholar]
- Fox, D.; Burgard, W.; Thrun, S. The dynamic window approach to collision avoidance. IEEE Robot. Autom. Mag. 1997, 4, 23–33. [Google Scholar] [CrossRef]
- Yongzhe, Z.; Ma, B.; Wai, C.K. A practical study of time-elastic-band planning method for driverless vehicle for auto-parking. In Proceedings of the 2018 International Conference on Intelligent Autonomous Systems (ICoIAS), Singapore, 28 February–2 March 2018; pp. 196–200. [Google Scholar] [CrossRef]
- Abdukodirov, A.; Benndorf, J. Recent developments in path planning for unmanned ground vehicles in underground mining environment. Mining 2025, 5, 33. [Google Scholar] [CrossRef]
- Yang, Z.; Li, N.; Zhang, Y.; Li, J. Mobile robot path planning based on improved particle swarm optimization and improved dynamic window approach. J. Robot. 2023, 2023, 6619841. [Google Scholar] [CrossRef]
- Zhu, D.; Zhang, Y.; Wang, J.; Ren, K.; Yang, K. Evaluation of motion planning algorithms for underground mobile robots. In Proceedings of the International Conference on Intelligent Autonomous Systems, Dalian, China, 23–25 September 2022; pp. 368–379. [Google Scholar] [CrossRef]
- Galeli, D.; Çetin, B.K.; Çetin, K. Performance analysis of A*, Dijkstra and RRT path planning algorithms on ROS-based Gazebo for LiDAR-based mecanum wheeled mobile autonomous robot. J. Innov. Eng. Nat. Sci. 2025, 5, 588–605. [Google Scholar] [CrossRef]
- Steinbrink, M.; Koch, P.; Jung, B.; May, S. Rapidly-Exploring Random Graph Next-Best View Exploration for Ground Vehicles. arXiv 2021, arXiv:2108.01012. [Google Scholar] [CrossRef]
- Zhang, C.; Yang, X.; Zhou, R.; Guo, Z. A path planning method based on improved A* and fuzzy control DWA of underground mine vehicles. Appl. Sci. 2024, 14, 3103. [Google Scholar] [CrossRef]
- Gu, C.; Liu, S.; Li, H.; Yuan, K.; Bao, W. Research on hybrid path planning of underground degraded environment inspection robot based on improved A* algorithm and DWA algorithm. Robotica 2025, 43, 887–908. [Google Scholar] [CrossRef]
- Chen, Z. Path planning method for underground survey robot in dangerous scenarios. Highlight Sci. Eng. Technol. 2023, 43, 207–214. [Google Scholar] [CrossRef]
- Wang, L.; Yang, X.; Chen, Z.; Wang, B. Application of the improved rapidly exploring random tree algorithm to an insect-like mobile robot in a narrow environment. Biomimetics 2023, 8, 374. [Google Scholar] [CrossRef]
- Wu, J.; Zhao, L.; Liu, R. Research on path planning of a mining inspection robot in an unstructured environment based on an improved rapidly exploring random tree algorithm. Appl. Sci. 2024, 14, 6389. [Google Scholar] [CrossRef]
- Li, J.; Benndorf, J.; Köhler, C.; Loskot, P. SubSurfaceGeoRobo: A comprehensive underground dataset for SLAM-based geomonitoring with sensor calibration. J. Photogramm. Remote. Sens. Geoinf. Sci. 2025, 94, 81–95. [Google Scholar] [CrossRef]
- Gao, Y.; Awuah-Offei, K. Efficient Autonomous Navigation of a Quadruped Robot in Underground Mines on Edge Hardware. arXiv 2026, arXiv:2603.04470. [Google Scholar] [CrossRef]
- Wu, J.; Peng, P.; Wang, L.; Wang, J.; Liu, Y.; Wu, Z. A hybrid A* path planning algorithm for underground load-haul-dump vehicles guided by reference states. Meas. Sci. Technol. 2025, 36, 106215. [Google Scholar] [CrossRef]
- Polenakis, I.; Anagnostou, M.N.; Vlachos, I.; Avlonitis, M. A Low-Cost, Energy-Aware Exploration Framework for Autonomous Ground Vehicles in Hazardous Environments. Electronics 2025, 14, 3665. [Google Scholar] [CrossRef]
- Behera, L.; Agarwal, S.; Sandhan, T.; Sharma, P.; Kumar, A.; Ranjan, A.; Watsa, S.; Singh, A.; Kasina, J.S. A cyber-physical system based unmanned ground vehicles for safety inspection and rescue support in an underground mine. Int. J. Intell. Unmanned Syst. 2025, 13, 92–128. [Google Scholar] [CrossRef]
- Quigley, M. ROS: An open-source robot operating system. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Kobe, Japan, 12–17 May 2009. [Google Scholar]
- Tanzmeister, G.; Friedl, M.; Wollherr, D.; Buss, M. Efficient evaluation of collisions and costs on grid maps for autonomous vehicle motion planning. IEEE Trans. Intell. Transp. Syst. 2014, 15, 2249–2260. [Google Scholar] [CrossRef]
- Javaid, M.A. Understanding Dijkstra algorithm. SSRN Electron. J. 2013. [Google Scholar] [CrossRef]
- Hart, P.E.; Nilsson, N.J.; Raphael, B. A formal basis for the heuristic determination of minimum cost paths. IEEE Trans. Syst. Sci. Cybern. 1968, 4, 100–107. [Google Scholar] [CrossRef]
- Candra, A.; Budiman, M.A.; Hartanto, K. Dijkstra’s and A-Star in Finding the Shortest Path: A Tutorial. In Proceedings of the 2020 International Conference on Data Science, Artificial Intelligence, and Business Analytics (DATABIA 2020), Virtual, 16–17 July 2020; pp. 28–32. [Google Scholar] [CrossRef]
- LaValle, S.M. Rapidly-Exploring Random Trees (RRT) Publications. Available online: https://lavalle.pl/rrtpubs.html (accessed on 1 April 2026).
- Karaman, S.; Frazzoli, E. Optimal kinodynamic motion planning using incremental sampling-based methods. In Proceedings of the 49th IEEE Conference on Decision and Control (CDC), Atlanta, GA, USA, 15–17 December 2010; pp. 7681–7687. [Google Scholar] [CrossRef]
- Barretto, R. RRT* Global Planner: ROS RRT* Global Planner Plugin. Available online: https://github.com/rafaelbarretorb/rrt_star_global_planner (accessed on 1 April 2026).
- Kennedy, J.; Eberhart, R. Particle swarm optimization. In Proceedings of the IEEE International Conference on Neural Networks, Perth, Australia, 27 November–1 December 1995; pp. 1942–1948. [Google Scholar]
- Ravankar, A.; Ravankar, A.A.; Kobayashi, Y.; Hoshino, Y.; Peng, C.-C. Path smoothing techniques in robot navigation: State-of-the-art, current and future challenges. Sensors 2018, 18, 3170. [Google Scholar] [CrossRef]
- JZX-MY. PSO Global Planner: ROS Global Planner Plugin Implementing Particle Swarm Optimization. Available online: https://github.com/JZX-MY/pso_global_planner (accessed on 1 April 2026).
- Marder-Eppstein, E.; Berger, E.; Foote, T.; Gerkey, B.; Konolige, K. The office marathon: Robust navigation in an indoor office environment. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Anchorage, AK, USA, 3–7 May 2010; pp. 300–307. [Google Scholar] [CrossRef]
- Takaya, K.; Asai, T.; Kroumov, V.; Smarandache, F. Simulation environment for mobile robots testing using ROS and Gazebo. In Proceedings of the 20th International Conference on System Theory, Control and Computing (ICSTCC), Sinaia, Romania, 13–15 October 2016; pp. 96–101. [Google Scholar] [CrossRef]
- Siegwart, R.; Nourbakhsh, I.R.; Scaramuzza, D. Introduction to Autonomous Mobile Robots, 2nd ed.; MIT Press: Cambridge, MA, USA, 2011; pp. 47–82. [Google Scholar]
- Clearpath Robotics. Husky A300 Unmanned Ground Vehicle. Available online: https://clearpathrobotics.com/husky-a300-unmanned-ground-vehicle-robot/ (accessed on 1 April 2026).
- Sick AG. LMS1xx LMS100-10000 Datasheet. Available online: https://www.sick.com/media/pdf/1/41/841/dataSheet_LMS100-10000_1041113_de.pdf (accessed on 1 April 2026).
- Lu, D.V.; Hershberger, D.; Smart, W.D. Layered costmaps for context-sensitive navigation. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Chicago, IL, USA, 14–18 September 2014; pp. 709–715. [Google Scholar] [CrossRef]
- Li, J.; Benndorf, J.; Trybała, P. Quantitative analysis of different SLAM algorithms for geo-monitoring in an underground test field. Int. J. Coal Sci. Technol. 2025, 12, 7. [Google Scholar] [CrossRef]
- ROS Wiki. Move_Base. Available online: https://wiki.ros.org/move_base (accessed on 1 April 2026).
- Gil, A.; Reinoso, Ó.; Vicente, A.; Fernández, C.; Payá, L. Monte Carlo localization using SIFT features. In Proceedings of the International Conference on Image Analysis and Recognition, Toronto, ON, Canada, 28–30 September 2005; pp. 623–630. [Google Scholar] [CrossRef]
- Adiuku, N.; Avdelidis, N.P.; Tang, G.; Plastropoulos, A. Improved hybrid model for obstacle detection and avoidance in robot operating system framework (rapidly exploring random tree and dynamic window approach). Sensors 2024, 24, 2262. [Google Scholar] [CrossRef] [PubMed]
- ROS Wiki. Costmap_2d. Available online: https://wiki.ros.org/costmap_2d (accessed on 1 April 2026).
- ROS Wiki. Dwa_Local_Planner. Available online: https://wiki.ros.org/dwa_local_planner (accessed on 1 April 2026).
- Egerstedt, M.; Martin, C. Control Theoretic Splines: Optimal Control, Statistics, and Path Planning; Princeton University Press: Princeton, NJ, USA, 2010; Available online: https://books.google.de/books?id=crNiMAsPex8C (accessed on 1 April 2026).












| Planner | Path Length (m) | κ Max | Clearance Min (m) | Clearance Mean (m) | Planning Time (s) | Total Journey (s) |
|---|---|---|---|---|---|---|
| A* | 62.01 ± 0.03 | 61.64 ± 0.00 | 0.60 ± 0.00 | 2.94 ± 0.05 | 7.75 ± 0.22 | 156.45 ± 9.45 |
| Dijkstra | 58.54 ± 0.00 | 22.21 ± 0.00 | 0.76 ± 0.00 | 2.35 ± 0.00 | 0.26 ± 0.01 | 122.85 ± 0.70 |
| PSO | 72.84 ± 4.00 | 35.54 ± 0.00 | 0.74 ± 0.16 | 3.17 ± 0.34 | 1.80 ± 0.10 | 151.65 ± 18.01 |
| RRT* | 80.78 ± 6.98 | 2.02 ± 1.64 | 1.31 ± 0.24 | 3.11 ± 0.22 | 54.89 (1.12–91.81) | 214.31 ± 36.11 |
| Planner | Path Length (m) | κ Max | Clearance Min (m) | Clearance Mean (m) | Planning Time (s) | Total Journey (s) |
|---|---|---|---|---|---|---|
| A* | 44.88 ± 0.01 | 53.20 ± 0.00 | 0.60 ± 0.00 | 1.97 ± 0.00 | 0.38 ± 0.01 | 98.70 ± 1.87 |
| Dijkstra | 41.81 ± 0.02 | 26.14 ± 0.79 | 0.76 ± 0.00 | 2.11 ± 0.01 | 0.25 ± 0.02 | 95.80 ± 2.71 |
| PSO | 48.54 ± 2.02 | 34.95 ± 2.36 | 0.62 ± 0.11 | 2.52 ± 0.38 | 1.32 ± 0.08 | 101.73 ± 4.98 |
| RRT* | 65.69 ± 8.29 | 4.46 ± 2.40 | 1.44 ± 0.06 | 3.12 ± 0.24 | 23.63 (12.79–105.23) | 185.73 ± 52.12 |
| Planner | Replanning Count | Path Length (m) | κ Max | Clearance Min (m) | Clearance Mean (m) | Planning Time (s) | Total Journey (s) |
|---|---|---|---|---|---|---|---|
| A* | 10–15 | 62.13 ± 0.25 | 68.10 ± 8.94 | 0.54 ± 0.13 | 2.95 ± 0.02 | 5.69 ± 2.68 | 205.21 ± 23.65 |
| Dijkstra | 6 | 59.30 ± 0.11 | 22.25 ± 0.07 | 0.72 ± 0.00 | 2.45 ± 0.01 | 0.25 ± 0.05 | 125.40 ± 0.86 |
| PSO | 2–6 | 65.10 ± 2.37 | 35.54 ± 0.00 | 0.47 ± 0.05 | 2.83 ± 0.26 | 1.85 ± 0.19 | 145.95 ± 11.32 |
| RRT* | 1–4 | 73.51 ± 35.19 | 3.69 ± 2.14 | 1.22 ± 0.26 | 3.14 ± 0.18 | 38.36 (4.83–77.16) | 256.20 ± 23.11 |
| Planner | Traveled Distance | κ Max | Clearance Min | Clearance Mean | Initial Planning Time (s) | Total Journey Time (s) |
|---|---|---|---|---|---|---|
| A* | 51.83 ± 0.14 | 76.04 ± 32.35 | 0.295 ± 0.010 | 0.515 ± 0.017 | 0.14 ± 0.06 | 123.00 ± 3.84 |
| Dijkstra | 50.14 ± 0.32 | 31.72 ± 0.00 | 0.35 ± 0.00 | 0.67 ± 0.00 | 0.17 ± 0.02 | 110.44 ± 4.49 |
| RRT* | 50.21 ± 0.12 | 15.87 ± 5.55 | 0.318 ± 0.018 | 0.652 ± 0.016 | 1.57 ± 0.84 | 111.24 ± 2.53 |
| Planner | Plan Count | Traveled Distance (m) | κ Max | Clearance Min (m) | Clearance Mean (m) | Initial Planning Time (s) | Total Journey Time (s) |
|---|---|---|---|---|---|---|---|
| A* | 7–8 | 76.26 ± 0.23 | 193.71 ± 32.13 | 0.30 ± 0.00 | 0.80 ± 0.01 | 0.12 ± 0.05 | 172.90 ± 10.80 |
| Dijkstra | 6–8 | 71.68 ± 1.10 | 69.26 ± 21.41 | 0.35 ± 0.00 | 0.65 ± 0.03 | 0.09 ± 0.07 | 160.01 ± 3.95 |
| RRT* | 2 | 73.90 ± 0.42 | 9.04 ± 5.10 | 0.32 ± 0.02 | 0.69 ± 0.09 | 0.99 ± 0.36 | 164.81 ± 2.49 |
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. |
© 2026 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license.
Share and Cite
Abdukodirov, A.; Benndorf, J. Evaluation of Global Path Planning Algorithms for Mobile Robots in Simulated Underground Mining Environments. Mining 2026, 6, 38. https://doi.org/10.3390/mining6020038
Abdukodirov A, Benndorf J. Evaluation of Global Path Planning Algorithms for Mobile Robots in Simulated Underground Mining Environments. Mining. 2026; 6(2):38. https://doi.org/10.3390/mining6020038
Chicago/Turabian StyleAbdukodirov, Abdurauf, and Jörg Benndorf. 2026. "Evaluation of Global Path Planning Algorithms for Mobile Robots in Simulated Underground Mining Environments" Mining 6, no. 2: 38. https://doi.org/10.3390/mining6020038
APA StyleAbdukodirov, A., & Benndorf, J. (2026). Evaluation of Global Path Planning Algorithms for Mobile Robots in Simulated Underground Mining Environments. Mining, 6(2), 38. https://doi.org/10.3390/mining6020038

