Next Article in Journal
Weakly-Supervised Multilingual Medical NER for Symptom Extraction for Low-Resource Languages
Previous Article in Journal
Metabolic Profiling of Conyza sumatrensis (Retz.) E. Walker from Lugazi, Uganda
Previous Article in Special Issue
Advanced Cooperative Formation Control in Variable-Sweep Wing UAVs via the MADDPG–VSC Algorithm
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Salp Swarm Algorithm Optimized A* Algorithm and Improved B-Spline Interpolation in Path Planning

School of Information Engineering, Chang’an University, Xi’an 710064, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2025, 15(10), 5583; https://doi.org/10.3390/app15105583
Submission received: 8 April 2025 / Revised: 12 May 2025 / Accepted: 14 May 2025 / Published: 16 May 2025
(This article belongs to the Special Issue Collaborative Learning and Optimization Theory and Its Applications)

Abstract

:
The efficiency and smoothness of path planning algorithms are critical factors influencing their practical applications. A traditional A* algorithm suffers from limitations in search efficiency, path smoothness, and obstacle avoidance. To address these challenges, this paper introduces an improved A* algorithm that integrates the Salp Swarm Algorithm (SSA) for heuristic function optimization and proposes a refined B-spline interpolation method for path smoothing. The first major improvement involves enhancing the A* algorithm by optimizing its heuristic function through the SSA. The heuristic function combines Chebyshev distance, Euclidean distance, and obstacle density, with the SSA adjusting the weight parameters to maximize efficiency. The simulation experimental results demonstrate that this modification reduces the number of searched nodes by more than 78.2% and decreases planning time by over 48.1% compared to traditional A* algorithms. The second key contribution is an improved B-spline interpolation method incorporating a two-stage optimization strategy for smoother and safer paths. A corner avoidance strategy first adjusts control points near sharp turns to prevent collisions, followed by a path obstacle avoidance strategy that fine-tunes control point positions to ensure safe distances from obstacles. The simulation experimental results show that the optimized path increases the minimum obstacle distance by 0.2–0.5 units, improves the average distance by over 43.0%, and reduces path curvature by approximately 61.8%. Comparative evaluations across diverse environments confirm the superiority of the proposed method in computational efficiency, path smoothness, and safety. This study presents an effective and robust solution for path planning in complex scenarios.

1. Introduction

Path planning [1] is a fundamental technology for robotic navigation and autonomous driving, with its performance directly determining the efficiency and safety of mobile agents. The algorithm must generate optimal and smooth collision-free paths to reduce collision risks. Path planning [2] focuses on discovering an optimal trajectory that avoids obstacles between a starting point and a destination. An ideal path planning algorithm needs to meet two key requirements: first, it must be computationally efficient, capable of generating feasible paths in real time; second, the generated path must be smooth and safe for practical execution.
Path planning algorithms can be broadly classified into two types: global path planning and local path planning. Currently, common global path planning algorithms include graph search-based algorithms, sampling-based algorithms, intelligent optimization algorithms, mathematical model-based algorithms, and hybrid algorithms. Graph search-based algorithms include Dijkstra’s Algorithm [3], A* algorithms [4], and hybrid A* algorithms [5]. Sampling-based algorithms include the Rapidly Exploring Random Tree (RRT) algorithm [6] and RRT* algorithm [7]. Intelligent optimization algorithms include the Genetic Algorithm [8], Ant Colony Optimization (ACO) [9], and Particle Swarm Optimization (PSO) [10]. Mathematical model-based algorithms include the Dynamic Programming (DP) algorithm [11]. Hybrid algorithms [12] combine the advantages of multiple algorithms to improve path quality and search efficiency. The Intelligent Bug algorithm [13] and its variants are currently the most commonly used methods for solving local path planning problems. Among these path planning algorithms, the A* algorithm is recognized as one of the most efficient direct search methods for solving the shortest path in static road networks. Due to its balance of optimality and efficiency [14], it has been widely used.
The A* algorithm combines Dijkstra’s comprehensive search with heuristic guidance, greatly reducing unnecessary node expansion and improving search efficiency. However, as more scholars have delved into the A* algorithm, several drawbacks have been identified, such as the generation of non-smooth paths and a decrease in search efficiency when the map size increases. Over the years, both domestic and international scholars have made various improvements to the A* algorithm. Common optimization strategies include improving the heuristic function, enhancing the search neighborhood, and modifying the search strategy. Wu et al. [15] proposed a heuristic function mechanism with directional information, which enhances the algorithm’s directional intelligence, helping to reduce computational complexity and time. Zheng et al. [16] introduced the DPIO method, which optimizes the heuristic function to enhance the efficiency and quality of path planning. Zhang et al. [17] optimized the heuristic function and introduced the Jump Point Search strategy, reducing the number of nodes that need to be expanded during the path search process, thus improving the algorithm’s efficiency and reducing computational time and memory consumption. Huang et al. [18] proposed a new 5-neighborhood search method, dynamically adjusting the search neighborhood (5-neighborhood, 4-neighborhood, or 3-neighborhood) based on obstacle constraints, thereby improving path smoothness.
Among the aforementioned algorithms, the A* algorithm has shown improvements in both search efficiency and path smoothness. However, these improvements, due to the need for dynamic adaptation, can consume considerable computer resources. Additionally, the Jump Point Search strategy may not effectively handle dense obstacle environments in certain cases. In recent years, with the rapid development of intelligent optimization algorithms, various swarm intelligence optimization algorithms such as the Salp Swarm Algorithm (SSA) [19], Bobcat Optimization Algorithm [20], and Wombat Optimization Algorithm [21] have demonstrated remarkable advantages in the field of path planning due to their excellent global search capabilities and convergence performance. These algorithms, by simulating the intelligent behaviors of biological groups in nature, provide novel approaches for solving complex optimization problems. Therefore, this paper proposes an improved A* algorithm based on the SSA. The algorithm introduces a new A* heuristic function and optimizes its weight coefficients to enhance search efficiency while ensuring path feasibility. Furthermore, this paper also optimizes path smoothing to enhance the safety and smoothness of the final path.
In practical applications, path smoothing is crucial. Traditional path smoothing methods include the Artificial Potential Field [22], Bezier curves [23], and B-spline interpolation [24], and others. Among these, the B-spline interpolation algorithm is the most widely applied. However, traditional methods like B-spline interpolation often struggle to maintain a safe distance from obstacles. To address this, our approach integrates an obstacle avoidance mechanism into the smoothing process, balancing both path smoothness and safety. We propose a two-stage optimized B-spline interpolation strategy: in the first stage, control point positions are adjusted to avoid collisions with obstacles; in the second stage, global obstacle avoidance is achieved.
In conclusion, this paper focuses on how to optimize the A* algorithm using the SSA to improve the efficiency of path search and proposes an improved B-spline smoothing strategy to guarantee the safety and smoothness of the path. The following chapters will provide a comprehensive explanation of the proposed method, followed by the experimental results and comparative analysis to validate the effectiveness of the proposed approach.
The main structure of this paper is as follows: Section 2 introduces the path planning algorithm, proposing an A* algorithm optimized by the SSA. Section 3 elaborates on the path smoothing algorithm, presenting an improvement of the B-spline interpolation method. The simulation experiments of the two proposed algorithms are demonstrated in Section 4. The conclusions are given in Section 5.

2. Path Planning Algorithm

2.1. The A* Algorithm

The A* algorithm is a heuristic search algorithm proposed by Peter Hart et al. in 1968 [25]. It combines the optimality guarantee of Dijkstra’s Algorithm with the efficiency of greedy search. Unlike traditional non-heuristic search methods, the A* algorithm considers both the estimated distance from the current node to the target and the actual cost to reach the node while exploring the path. A combined priority score, f n = g n + h n , is computed to intelligently guide the search process. This mechanism enables the A* algorithm to ensure optimal solutions while significantly improving search efficiency, which is why it has been broadly utilized in various fields such as path planning, game AI, and robot navigation.
However, despite its excellent performance in many scenarios, the A* algorithm still has some limitations. First, its computational time can be long, particularly in large maps where the algorithm must expand a large number of nodes and maintain open and closed lists, which increases the computational burden significantly. Second, the performance of the A* algorithm is critically determined by the design of the heuristic function h n . If the heuristic function is unacceptable or inconsistent, the algorithm may fail to find the optimal solution or experience a significant drop in efficiency.

2.2. Improvement of the A* Algorithm

To address the limitations of the traditional A* algorithm and considering that its performance is highly dependent on the design of the heuristic function   h n , it is important to recognize that the heuristic function not only determines whether the algorithm can find the optimal solution, but also directly affects the search efficiency. The traditional A* algorithm imposes a strict requirement on the heuristic function   h n , which must satisfy h n t h e   a c t u a l   m i n i m u m   c o s t . This condition guarantees that the algorithm is capable of identifying the shortest possible path; however, it also leads to the expansion of a large number of nodes, resulting in longer computation times. In practical applications, once path planning is completed, the path is often smoothed, a process that may increase the path length. Therefore, during the initial phase of path planning, there is no need to strictly pursue the shortest path, but rather, it is more practical to seek a balance between path quality and computational efficiency.
Based on this understanding, this chapter proposes an improvement strategy: by relaxing the strict requirements on the shortest path, we attempt to construct a new heuristic function, making the A* algorithm no longer focus solely on minimizing the distance. This approach significantly improves the algorithm’s computational efficiency while ensuring the path remains reasonable. This improvement not only reduces the number of nodes expanded by the algorithm and alleviates the computational burden, but also better accommodates the flexible requirements of path planning in real-world applications. To validate this hypothesis, we designed and implemented a new heuristic function and further improved it using the SSA. We refer to this algorithm as the SSA-A*.

2.2.1. Determining the Variables Included in h n

First, it is necessary to identify the variables in h n . For an eight-directional search, the traditional A* algorithm’s heuristic function h n often utilizes either the Chebyshev distance or the Euclidean distance. Among these, the Chebyshev distance is more effective in measuring the number of moves in an eight-directional grid, while the Euclidean distance better represents the actual distance. Therefore, we use both distance metrics simultaneously to enhance the accuracy of the heuristic function h n in distance evaluation.
Additionally, considering that when a node is surrounded by many obstacles, the path passing through that node may increase in length due to the need to avoid obstacles, we also incorporate the obstacle density into the heuristic function h n . This addition enables the search process to possess a certain level of obstacle avoidance capability.
Thus, we modify the heuristic function h n as follows (1):
h n = ω 1 d C h e b y s h e v + ω 2 d E u c l i d e a n + ω 3 ρ o b s t a c l e ρ O b s t a c l e = n o b s t a c l e 8
In this context, d C h e b y s h e v represents the Chebyshev distance from the current node n to the goal node, d E u c l i d e a n denotes the Euclidean distance, ρ o b s t a c l e represents the obstacle density in the 8-neighborhood of the current node n , and n o b s t a c l e refers to the number of obstacles in the 8-neighborhood of node n (as illustrated in Figure 1). ω 1 , ω 2 , ω 3 are weight coefficients.

2.2.2. Optimization Using the SSA

To determine the weight coefficients ω 1 , ω 2 , ω 3 , an efficient optimization method is required. The combination of these weight coefficients directly impacts the performance of the heuristic function, and therefore, identifying the optimal solution in a complex parameter space is of critical importance.
When selecting an optimization method, we take into account that the optimization problem for the weight coefficients may have multiple local optima. Thus, an algorithm that can effectively prevent being trapped in local optima is required. Moreover, to enhance optimization efficiency, the algorithm should be able to find a near-optimal solution in fewer iterations. Additionally, the algorithm needs to handle nonlinear, multi-modal optimization problems to accommodate the complexity of the weight coefficients in the heuristic function, and it should be easy to implement and insensitive to initial parameter settings, reducing the complexity of tuning. Based on these requirements, we have chosen the SSA for the optimization of the weight coefficients.
The Salp Swarm Algorithm (SSA) [26], proposed by Seyedali Mirjalili et al. [27] in 2017, is a nature-inspired swarm intelligence algorithm that simulates the foraging behavior of salps (as shown in Figure 2). Salps are marine organisms that search for food through collective cooperation and leader-following behavior. The SSA leverages this behavior to optimize problem solutions. Salps form chain-like swarms in the ocean, and the SSA simulates this behavior by dividing the swarm into leaders and followers. The leader is at the front of the chain and is responsible for guiding the group, while the followers move by following the leader. The SSA simulates the foraging behavior of salp swarms in the ocean, offering strong global search capability and efficiently exploring high-dimensional parameter spaces [28]. Its rapid convergence speed makes it suitable for solving complex optimization problems. Furthermore, the SSA is insensitive to initial parameter settings, simple to implement, and easy to adjust, making it well suited to meet our optimization needs.
Next, the SSA is used to determine the weight coefficients ω 1 , ω 2 , ω 3 . First, we initialize the population using (2) and (3).
x = X 1 1 X 2 1 X d 1 X 1 2 X 2 2 X d 2 X 1 n X 2 n X d n
X j i = r a n d u b j l b j + l b j , i 1 , 2 , , n , j 1 , 2 , , n
X is an n d matrix, with n representing the population size and d representing the dimensionality of the problem. The terms u b and l b denote the upper and lower bounds of the problem, respectively, while r a n d is a randomly generated number between 0 and  1 .
To enhance the efficiency of the A* algorithm, we define the fitness function as the number of searched nodes, where a lower number of searched nodes indicates a higher fitness score. Each individual’s fitness is ranked, with the highest fitness individual designated as the leader and the remaining individuals as followers. Subsequently, both the leader and followers update their positions according to the predefined formulas. The leader’s position is updated using (4) and (5).
X j i = F j + c 1 u b j l b j c 2 + l b j , c 3 0.5 F j c 1 u b j l b j c 2 + l b j , c 3 > 0.5
c 1 = 2 e 4 t T 2
The followers update their positions using (6).
X j i = 1 2 X j i + X j i 1
After each update, the fitness of each individual is re-evaluated, and the optimization process iterates until a predefined number of iterations is reached or a convergence criterion is met. Finally, the optimal weight parameters are selected. Using these optimal weight parameters, the heuristic function h n is determined and subsequently employed for path planning.
The pseudo-code for the optimization of the A* algorithm using the SSA is shown in Algorithm 1 below.
Algorithm 1: Improved A* Algorithm with the SSA Optimization
Input: Grid map G , start point S , end point E , weight bounds Ω b o u n d s , population size N , maximum iterations T
Output: Optimal path P , visited nodes list V , optimal weight Ω
1: BEGIN:
2: Initialization:
    Define 8-neighborhood direction set
      D = 1 , 0 , 1 , 0 , 0 , 1 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1
    Initialize SSA population P = Ω i Ω i U n i f o r m Ω b o u n d s , i = 1 , 2 , , N
    Initialize optimal weight Ω a r g m i n Ω P F i t n e s s Ω
    Initialize optimal fitness F F i t n e s s Ω
    Initialize iteration counter t 0
3://SSA Optimization Process:
4: While  t < T :
5:    For each  Ω i P :
6:     If  R a n d o m ( ) < 0.5 :
7:       Ω i Ω + U n i f o r m 0.3 , 0.3 3
8:     Else:
9:       Ω i Ω i + Ω 2
10:     Clip Ω i to Ω b o u n d s
11:      F i F i t n e s s Ω i
12:     If   F i < F :
13:       Ω Ω i
14:       F F i
15:       P Ω i
16:    Record current optimal fitness F
17:     t t + 1
18: //A* Path Search:Use optimal weight Ω∗ to execute A* algorithm:
19: Initialize open list O f S , 0 , S , parent map C { } , cost map G S : 0 , and visited nodes list V [ ]
20: While  O is not empty:
22:    Pop f , g , Q H e a p P o p O
23:    If  Q = E :
24:      P R e c o n s t r u c t P a t h C , S , E
25:     Return  P , V
26:    Add Q to V
27:    For each  d x , d y D :
28:      Q Q x + d x , Q y + d y
29:     If  Q is out of bounds or G Q = 1 :
30:      Continue
31:      c D i a g o n a l D i s t a n c e if d x + d y = 2   e l s e   1
32:      g g + c
33:     If  Q G   o r   g < G Q :
34:       G Q g
35:       C Q Q
36:       h H e u r i s t i c Q , E , Ω , G
37:       f g + h
38:      Push f , g , Q into O
39: Return  N o n e , V
40: END
Our work, compared with recent SSA-based path planning studies, demonstrates distinct focuses and innovations. Our proposed algorithm employs SSA to optimize the heuristic function weights of the A* algorithm, dynamically adjusting the weights by incorporating Chebyshev distance, Euclidean distance, and obstacle density to enhance search efficiency. Guo et al. [29] improved the SSA for AUV path planning by introducing the Levy flight strategy and a nonlinear convergence factor to boost the algorithm’s global search capability and convergence speed. Meanwhile, Mohammad AlShabi et al. [30] applied SSA to ground vehicle path planning, exploring a new application scenario for the algorithm.

3. Path Smoothing Algorithm

3.1. B-Spline Interpolation Curve

B-spline is a mathematical method commonly used in computer graphics and data fitting. It consists of a series of control points, knot vectors, and a set of basis functions. The control points determine the shape of the spline curve, allowing shape adjustments by repositioning them. The knot vector defines the distribution of the spline curve in parameter space and determines the influence range of each control point on the spline curve. The algorithm utilizes a set of basis functions to construct the spline curve. By weighting the control points with the corresponding basis functions, a smooth interpolated curve can be obtained. The basis functions are computed using a recursive formula, defined as (7) and (8).
k = 0 , B i , 0 t = 1 ,         t i t t i + 1 0 ,               O t h e r w i s e
k > 1 , B i , k t = t t i t i + k t i   B i , k 1 t + t i + k + 1 t t i + k + 1 t i + 1   B i + 1 , k 1 t
The mathematical formula of the B-spline curve is typically expressed as (9).
P t = i = 0 n P i B i , p t
where C t is the curve, P i  are the control points, B i , p t is the basis function of the i -th control point with degree p , and t is the parameter.

3.2. Control Point Adjustment

The B-spline interpolation method generates a smooth path based on the number and position of control points. However, this method lacks inherent obstacle avoidance capabilities. If control points are not properly selected, the planned path might not stay safely away from obstacles, which could cause collisions [31].
Therefore, the path nodes generated by the SSA-A* cannot be directly used as control points for B-spline smoothing. Instead, these nodes must be adjusted in terms of quantity and position before serving as control points for the B-spline smoothing process. This adjustment ensures that the generated smooth path avoids obstacles effectively.
To achieve appropriate control point adjustment, we propose a two-stage optimization strategy: corner avoidance and path obstacle avoidance.
The corner avoidance strategy adjusts the number and position of control points at path corners based on the spatial relationships of path nodes, enabling the path to navigate turns without colliding with obstacles. First, we define a diagonal judgment function D i a g o n a l ( )  as (10) and two midpoint functions C ( )  and  D ( ) as (11).
D i a g o n a l A , B = x A x B y A y B
C A , B = x A , y B       ,         D A , B = x B , y A
Next, we define the path insertion function. For a given path P = p 1 , p 2 , , p n , inserting a point q at position i results in the following updated path, as expressed in (12).
I n s e r t P , i , q = p 1 , , p i , q , p i + 1 , , p n
Similarly, we define the path deletion function. Given a path P = p 1 , p 2 , , p n and a set of points R to be removed, the updated path after deletion is given by (13).
R e m o v e P , R = { p P   |   p R p p 1 , p n }
Finally, the corner avoidance optimization function O p t i m i z e P is formulated as (14)–(17).
O p t i m i z e P = R e m o v e I n s e r t P o i n t s P , R
I n s e r t P o i n t s P = i = 1 n 1 I n s e r t P , i , q i
q i = C p i , p i + 1       i f   C p i , p i + 1 O ,   D p i , p i + 1       i f   D p i , p i + 1 O ,       o t h e r w i s e .
R = { p i , p i + 1   |   D i a g o n a l p i , p i + 1 C p i , p i + 1 O D p i , p i + 1 O }
In (16) and (17), O represents the set of obstacles. The pseudo-code for corner avoidance is presented in Algorithm 2.
Algorithm 2: Corner Avoidance Strategy
Input: Grid map M , original path P  
Output: Optimized path P
1: BEGIN:
2: Initialize P     P . c o p y ( ) ,   R    
3:  i     0  
4: while  i < l e n P 1  do
5:   A     P i ,   B     P i + 1
6:   x 1 ,   y 1     A ;   x 2 ,   y 2     B
7:  if  x 1 x 2 = = 1  and  y 1 y 2 = = 1  then // Diagonal move
8:    C     x 1 ,   y 2 ,   D     x 2 ,   y 1
9:    h a s _ o b s t a c l e     F a l s e
10:   if  C     M . o b s t a c l e s     D     M . o b s t a c l e s then  h a s _ o b s t a c l e     T r u e
11:   if  h a s _ o b s t a c l e  then
12:    R     R     A ,   B // Mark nodes for removal
13:   if  C     M . o b s t a c l e s  then
14:     P . i n s e r t i + 1 ,   C // Insert intermediate point C
15:     i     i + 1 // Skip the new point
16:   else if  D     M . o b s t a c l e s  then
17:     P . i n s e r t i + 1 ,   D // Insert intermediate point D
18:     i     i + 1
19:   end if
20:    continue // Re-check current index
21:  end if
22:   end if
23:   i     i + 1
24: end while
25: // Remove marked nodes
26: for  p  in  P  do
27:  if  p     R  and  p     P 0 , P 1  then
28:   remove p from P
29:  end if
30: end for
31: return  P
32: END
By applying O p t i m i z e P , the adjustment of control points enables obstacle avoidance during turning processes. This optimization ensures that the generated path smoothly navigates around obstacles rather than intersecting them. The effectiveness of this method is illustrated in Figure 3.
Path obstacle avoidance refers to the process of fine-tuning the positions of all control points based on nearby obstacles to ensure the entire path avoids obstacles effectively.
To achieve obstacle avoidance throughout the path, we adjust the positions of control points according to their proximity to obstacles. Therefore, we introduce the distance adjustment function f d i as (18), which modifies the position of a control point P x , y when there are N nearby obstacles. Given an obstacle O i x i , y i located at a distance d i , the adjusted position of the control point is denoted as D i and expressed in (19) and (20).
f d i = 1 a + b e d i c       d i < d 0 0         o t h e r w i s e
u i = x x i   ,     y y i d i
D i = 1 N · f d i · u i
The pseudo-code for path obstacle avoidance is presented in Algorithm 3.
Algorithm 3: Path Obstacle Avoidance with Grid Map
Input: Optimized path P ; Grid map M ; Distance threshold d 0 ; Parameters a ,   b ,   c
Output: Final control point path P
1: BEGIN:
2: Initialize P as empty list
3: for  p  in  P  do
4:  if  p = = P 0  or  p = = P 1  then
5:   append p to p
6:   continue
7:   end if
8:  Initialize D x     0 ,   D y     0 ,   N     0
9: for each obstacle O i x i ,     y i  in  M . o b s t a c l e s  do
10:   d i     s q r t x x i 2 + y y i 2
11:  if  d i < d 0  then
12:    f d i   1 / a + b     e x c
13:    D x     D x + f d i     x x i / d i
14:    D y     D y + f d i     y y i / d i
15:    N     N + 1
16:  end if
17: end for
18: if  N > 0  then
19:   P adjusted   x x + D x / N
20:   P adjusted   y y + D y / N
21: else
22:   P adjusted     P
23: end if
24: append P adjusted to P
25: end for
26: return  P
27: END
By applying path obstacle avoidance to adjust control points, the B-spline smoothed path is optimized to ensure a safe distance from obstacles, enhancing the overall path safety.

4. Experimental Simulation

4.1. Path Planning Algorithm Simulation Experiment

4.1.1. Parameters for Path Planning Simulation

We use Python as the development environment. The simulation experiments are conducted in two types of map environments: high-density clustered maps and low-density random maps. Each environment is tested on maps of three different sizes: 20 × 20, 35 × 35, and 50 × 50.
For a given environment and map size, we first apply the SSA-A* to optimize the weight parameters and obtain the heuristic function h n . Then, we conduct path planning tests on 15 maps of the same environment and size. The paths generated by the SSA-A* are compared to those produced by Dijkstra’s Algorithm, the Classical A* Algorithm, the JPS-A* Algorithm (an improved version of A* algorithm), and ACO.
The parameters used in the SSA optimization process are listed in Table 1.

4.1.2. Results and Analysis of Path Planning Simulation Experiment

Figure 4 shows the path planning simulation experimental results for a high-density clustered map on a 35 × 35 grid map. (a) corresponds to the path generated by the SSA-A*. (b) corresponds to the path generated by the Classical A* Algorithm. (c) corresponds to the path generated by Dijkstra’s Algorithm. (d) corresponds to the path generated by the JPS-A* Algorithm. (e) corresponds to the path generated by ACO.
Figure 5 presents the path planning simulation experimental results for a low-density random map on a 35 × 35 grid map. (a) corresponds to the path generated by the SSA-A*. (b) corresponds to the path generated by the Classical A* Algorithm. (c) corresponds to the path generated by Dijkstra’s Algorithm. (d) corresponds to the path generated by the JPS-A* Algorithm. (e) corresponds to the path generated by ACO.
Table 2 shows the detailed data of path planning on a 35 × 35 grid map for both high-density clustered maps and low-density random maps. In this table, SN represents the number of search nodes.
Figure 6 shows the comparison of the running time between the SSA-A* and the Classical A* Algorithm. The running times of both algorithms are normalized with respect to the running time of Dijkstra’s Algorithm (Dijkstra = 1). A lower value indicates a shorter running time.
Figure 7 presents a comparison of the search node count and path length between the SSA-A* and Classical A* Algorithms. Search Efficiency (Left Axis): The number of search nodes for both the SSA-A* and Classical A* algorithms is normalized with respect to the number of search nodes in Dijkstra’s Algorithm (Dijkstra = 1). A lower value indicates higher search efficiency. Path Quality (Right Axis): The SSA-A* path length increase (relative to the shortest path from Dijkstra) is shown as a percentage.
Table 3 presents a comparison of the average performance of the SSA-A* against other algorithms across different map sizes.
Based on the simulation experimental results, for the high-density clustered map, the SSA-A* reduces the running time by an average of 56.17% compared to Dijkstra’s Algorithm, by 50.35% compared to the A* algorithm, and by 95.26% compared to ACO. The SSA-A* reduces the number of search nodes by an average of 91.41% compared to Dijkstra’s Algorithm, by 75.97% compared to the A* algorithm, and by 73.91% compared to ACO.
For the low-density random map, the SSA-A* reduces the running time by an average of 73.77% compared to Dijkstra’s Algorithm, by 55.80% compared to the A* algorithm, and by 96.90% compared to ACO. The SSA-A* reduces the number of search nodes by an average of 94.31% compared to Dijkstra’s Algorithm, by 80.57% compared to the A* Algorithm, and by 77.34% compared to ACO.
With the increase in map size, the advantages of the SSA-A* become more apparent. For example, on the 50 × 50 low-density random map, the SSA-A* reduces the running time by 67.75% compared to Dijkstra’s Algorithm and by 84.12% compared to the A* algorithm. Additionally, the number of search nodes is reduced by 96.73% compared to Dijkstra’s Algorithm and by 86.10% compared to the A* algorithm. In all cases, the JPS-A* algorithm shows an average increase in path length of 14% or more compared to the shortest path, while ACO shows an increase of 4.25%. In contrast, the SSA-A* increases the path length by only 0.5% to 2.2%, enhancing its suitability for practical applications.

4.2. Path Smoothing Algorithm Simulation Experiment

4.2.1. Parameters for the Path Smoothing Algorithm Simulation Experiment

Python was used as the development environment, and grid maps of sizes 20 × 20, 35 × 35, and 50 × 50 were selected. The obstacle density and distribution methods were set to high-density clustering and low-density random, respectively, to represent the entire environmental information. The maps were categorized into six groups according to the above standards, with each group consisting of 15 different maps for testing. In the maps, the green circle represents the start point, the blue circle represents the endpoint, the light blue line represents the initial path, the orange line represents the path after smoothing with the B-spline algorithm, and the red line represents the path after smoothing with the improved B-spline algorithm.
The parameters for the B-spline algorithm used in the simulation experiment are shown in Table 4.
In B-spline interpolation, the smoothing factor is used to control the smoothness of the B-spline curve, while the number of interpolation points determines the accuracy and computational complexity of the B-spline curve. After repeated experiments, the smoothing factor was set to 0.1, and the number of interpolation points was set to 100.

4.2.2. Results and Analysis of the Path Smoothing Algorithm Simulation Experiment

Based on the aforementioned simulation environment and parameter settings, simulation experiments were conducted to calculate the smoothed paths for different algorithms. The results are presented for a high-density clustered map of size 20 × 20 (in the upper part of Figure 8) and a low-density random map (in the bottom part of Figure 8). As shown in (a) and (e), the original path contains multiple dangerous points near obstacles, with the distance between the path and obstacles being too small, which could lead to collisions. In (b) and (f), after B-spline interpolation smoothing, the path becomes noticeably smoother and more continuous, with no sharp corners; however, the path still remains too close to the obstacles. As shown in (c) and (g), after smoothing with the improved B-spline algorithm, the path not only maintains a safe distance from the obstacles but also remains continuous and smooth.
The performance of the original path, the path smoothed by the B-spline algorithm, and the path smoothed by the improved B-spline algorithm is evaluated below. The evaluation primarily focuses on two key metrics: the curvature of the path and the distance from the path to the nearest obstacle.
The logic for calculating the degree of meandering is as follows: As shown in Figure 9, adjacent points in the path are connected to form two vectors. The angle between these vectors is calculated, and the rate of change in this angle is determined. This rate of change is defined as the degree of meandering. A smaller degree of meandering indicates a smoother path.
The distance from the path to the obstacle is one of the important indicators for measuring the safety of the path. The greater the distance from the path to the obstacle, the higher the safety and reliability of the path. Here, the distance from each point on the path to the nearest obstacle is calculated to assess the safety of the path.
In Figure 10, (a) and (b) compare the curvature of the paths and the distance from the paths to the nearest obstacle for each algorithm on the clustered map displayed above. (c) and (d) compare the curvature of the paths and the distance of the paths to the nearest obstacle for each algorithm on the random map displayed above. As can be seen from the figures, after smoothing with the improved B-spline algorithm, the path maintains the largest distance from the nearest obstacle, with a moderate curvature, thereby meeting the requirements.
Table 5 compares the minimum distance (MD) to the nearest obstacle, the average distance (AD) to the nearest obstacle, and the average curvature (AT) of the initial path (A), the path smoothed by the B-spline algorithm (B), and the path smoothed by the improved B-spline algorithm (C) for two types of maps with a size of 20 × 20.
The following conclusions can be drawn:
In the high-density clustered map, the average minimum distance from the smoothed path of the improved B-spline algorithm to the nearest obstacle increased by 0.5142 compared to the initial path and by 0.4776 compared to the B-spline algorithm’s smoothed path. The average distance from the improved B-spline algorithm smoothed path to the nearest obstacle increased by 43.05% compared to the initial path and by 39.82% compared to the B-spline algorithm smoothed path. The average curvature of the improved algorithm smoothed path decreased by 61.87% compared to the initial path.
In the low-density random map, the average minimum distance from the improved B-spline algorithm’s smoothed path to the nearest obstacle increased by 0.2137 compared to the initial path and by 0.2082 compared to the B-spline algorithm’s smoothed path. The average distance from the improved B-spline algorithm’s smoothed path to the nearest obstacle increased by 42.20% compared to the initial path and by 41.04% compared to the B-spline algorithm’s smoothed path. The average curvature of the improved algorithm’s smoothed path decreased by 59.96% compared to the initial path.
Figure 11 shows the performance comparison of all maps in the test set, categorized by size. It presents line graphs of the minimum distance to the nearest obstacle, the average distance to the nearest obstacle, and the average curvature for two types of maps with a size of 20 × 20. The same classification and visualization are applied to the other two map sizes. From the figure, it is clearly observed that the distance from the path smoothed by the improved B-spline algorithm to the nearest obstacle is always the largest, the average distance to the nearest obstacle is also the largest, and the average curvature is moderate, significantly reduced compared to the original path.

4.3. Benchmark Tests

The tests were conducted using the city/street maps dataset from the MovingAI 2D Pathfinding Benchmarks, running on hardware with a Ryzen 7 6800H/RTX 3060 Laptop GPU configuration, with the algorithm implemented in Python 3.12.
Figure 12 presents the results of benchmark tests on a 256 × 256 map. (a) corresponds to the path generated by the SSA-A*. (b) corresponds to the path generated by the Classical A* Algorithm. (c) corresponds to the path generated by Dijkstra’s Algorithm. (d) corresponds to the path generated by the JPS-A* Algorithm. (e) corresponds to the path generated by ACO.
Table 6 presents the performance comparison results of various path planning algorithms in benchmark tests. The test results demonstrate that the SSA-A* reduces pathfinding time by 93.69% compared to the A* algorithm and by 93.30% compared to Dijkstra’s Algorithm. The paths planned by the SSA-A*, JPS-A* algorithm, and ACO exhibit increases of 4.08%, 30.75%, and 32.65%, respectively, relative to the shortest path, while their average runtime accounts for 6.31%, 352.38%, and 210.45% of the A* algorithm’s runtime. This discrepancy arises because the JPS -A* algorithm incurs redundant computations due to its jump strategy in real-world scenarios with irregular obstacles, leading to inefficiency and longer planned paths. Meanwhile, the ACO tends to select suboptimal branches in early iterations due to randomness, resulting in circuitous paths. In contrast, the SSA-A* demonstrates superior performance in both path length and planning time.
Figure 13 presents the benchmark test results of five path smoothing algorithms on a 256 × 256 map. (a) and (d) show the global view and local details of the original path; (b) and (e) display the globally smoothed path and its local section after B-spline interpolation; (c) and (f) demonstrate the panoramic and zoomed-in views of the path processed by the improved B-spline interpolation smoothing algorithm.
For the path smoothing algorithms, the test results indicate that the Improved B-spline Path increases the minimum distance to the nearest obstacle by 0.78 compared to the Original Path and by 0.77 compared to the B-spline Path. Additionally, the average distance to the nearest obstacle for the Improved B-spline Path increases by 17.40% compared to the Original Path and by 14.93% compared to the B-Spline Path. Furthermore, the average curvature of the Improved B-spline Path decreases by 53.86% compared to the Original Path and by 28.54% compared to the B-spline Path.

5. Conclusions

To address the limitations of the traditional A* algorithm, such as low performance and unsmooth paths in path planning, this paper proposes a scheme that improves the A* algorithm by integrating the SSA for path planning, followed by path smoothing using the improved B-spline interpolation method. Through comparative experiments in various scenarios, including high-density clustered environments and low-density random environments, and multiple grid map scales (ranging from 20 × 20 to 50 × 50), the optimized algorithm demonstrates significant advantages in key indicators such as search efficiency, smoothness, and safety, offering a more efficient and reliable path planning approach for practical application scenarios.
However, the SSA-A* still has certain limitations. While the SSA greatly enhances the optimization of the heuristic function, its performance can vary based on the complexity and specific characteristics of the environment. In environments with dynamic obstacles that change frequently, the algorithm may require more frequent re-optimization to adjust to new conditions. Additionally, the current implementation assumes a static environment, and extending it to handle real-time dynamic obstacle environments or 3D path planning requires further adjustments.
Future research could focus on addressing these limitations. One potential direction is the development of adaptive mechanisms that dynamically adjust the SSA parameters based on real-time environmental changes, thereby improving the algorithm’s robustness in dynamic and real-time scenarios. Another approach could involve exploring hybrid algorithms that integrate the SSA-A* with other advanced techniques, such as reinforcement learning or machine learning models, to further enhance path planning performance. Additionally, expanding the algorithm’s scalability to handle more complex 3D path planning scenarios could be another key area for future development. In conclusion, while the SSA-A* offers a promising solution for path planning, continuous research is essential to overcome its current limitations and expand its applicability to a broader range of real-world environments.

Author Contributions

Conceptualization, H.Z., T.S. and L.Z.; Methodology, H.Z. and T.S.; Validation, H.Z., T.S. and Y.W.; Investigation, T.S. and Y.W.; Data curation, H.Z., T.S. and Y.W.; Writing—original draft, H.Z., T.S. and Y.W.; Writing—review & editing, H.Z., T.S. and Y.W.; Visualization, H.Z., T.S. and Y.W.; Supervision, L.Z.; Project administration, L.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are available on request from the corresponding author. The data are not publicly available due to privacy.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Hassan, M.U.; Ullah, M.; Iqbal, J. Towards Autonomy in Agriculture: Design and Prototyping of a Robotic Vehicle with Seed Selector. In Proceedings of the 2016 2nd International Conference on Robotics and Artificial Intelligence (ICRAI), Rawalpindi, Pakistan, 1–2 November 2016; pp. 37–44. [Google Scholar] [CrossRef]
  2. Liu, L.; Wang, X.; Yang, X.; Liu, H.; Li, J.; Wang, P. Path Planning Techniques for Mobile Robots: Review and Prospect. Expert Syst. Appl. 2023, 227, 120254. [Google Scholar] [CrossRef]
  3. Bento, L.M.; Boccardo, D.R.; Machado, R.C.; Miyazawa, F.K.; de Sá, V.G.P.; Szwarcfiter, J.L. Dijkstra graphs. Discret. Appl. Math. 2017, 261, 52–62. [Google Scholar] [CrossRef]
  4. Xiang, D.; Lin, H.; Ouyang, J.; Huang, D. Combined Improved A* and Greedy Algorithm for Path Planning of Multi-Objective Mobile Robot. Sci. Rep. 2022, 12, 13273. [Google Scholar] [CrossRef]
  5. Zhang, T.; Xu, S.; Gao, Y.; Wang, P.; Schonfeld, P.; Zou, Y.; He, Q. 3D Constrained Hybrid A*: Improved Vehicle Path Planning Algorithm for Cost-Effective Road Alignment Design. Autom. Constr. 2024, 166, 105645. [Google Scholar] [CrossRef]
  6. Huang, T.; Fan, K.; Sun, W. Density Gradient-RRT: An Improved Rapidly Exploring Random Tree Algorithm for UAV Path Planning. Expert Syst. Appl. 2024, 252, 124121. [Google Scholar] [CrossRef]
  7. Huang, Z.; Chen, H.; Pohovey, J.; Driggs-Campbell, K. Neural Informed RRT*: Learning-based Path Planning with Point Cloud State Representations under Admissible Ellipsoidal Constraints. arXiv 2023, arXiv:2309.14595. [Google Scholar] [CrossRef]
  8. Worring, A.; Mayer, B.E.; Hamacher, K. Genetic Algorithm Niching by (Quasi-)infinite Memory. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO ’21), Lille, France, 10–14 July 2021; pp. 296–304. [Google Scholar] [CrossRef]
  9. García, M.; López, N.; Rodríguez, I. A Full Process Algebraic Representation of Ant Colony Optimization. Inf. Sci. 2024, 658, 120025. [Google Scholar] [CrossRef]
  10. Wu, C.; Zhu, Z.; Tian, Z.; Zou, C. Generational Exclusion Particle Swarm Optimization with Central Aggregation Mechanism. In Advances in Swarm Intelligence; Tan, Y., Shi, Y., Niu, B., Eds.; Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2022; Volume 13344, p. 15. [Google Scholar] [CrossRef]
  11. Li, X.; Wang, L.; An, Y.; Huang, Q.L.; Cui, Y.H.; Hu, H.S. Dynamic Path Planning of Mobile Robots Using Adaptive Dynamic Programming. Expert Syst. Appl. 2024, 235, 121112. [Google Scholar] [CrossRef]
  12. Xu, Y.; Li, Q.; Xu, X.; Yang, J.; Chen, Y. Research Progress of Nature-Inspired Metaheuristic Algorithms in Mobile Robot Path Planning. Electronics 2023, 12, 3263. [Google Scholar] [CrossRef]
  13. Johansson, A.; Markdahl, J. Swarm Bug Algorithms for Path Generation in Unknown Environments. In Proceedings of the 2023 62nd IEEE Conference on Decision and Control (CDC), Singapore, 13–15 December 2023; pp. 6958–6965. [Google Scholar]
  14. Wang, M.; Xu, J.; Zhang, J.; Cui, Y. An Autonomous Navigation Method for Orchard Rows Based on a Combination of an Improved A* Algorithm and SVR. Precis. Agric. 2024, 25, 429–453. [Google Scholar] [CrossRef]
  15. Wu, L.; Huang, X.; Cui, J.; Liu, C.; Xiao, W. Modified adaptive ant colony optimization algorithm and its application for solving path planning of mobile robot. Expert Syst. Appl. 2023, 215, 119410. [Google Scholar] [CrossRef]
  16. Zheng, L.; Duan, H.; Huo, M.; Wu, H. Enhancing the Heuristic Function of Improved A Algorithm for UAV Robotic Arm Path Planning Using Dynamic Pigeon-Inspired Optimization. In Advances in Guidance, Navigation and Control: ICGNC 2024; Yan, L., Duan, H., Deng, Y., Eds.; Lecture Notes in Electrical Engineering; Springer: Singapore, 2025; Volume 1343, p. 14. [Google Scholar] [CrossRef]
  17. Zhang, Q.; Liu, X.; Peng, L.; Zhu, F. Path Planning for Mobile Robots Based on JPS and Improved A* Algorithm. J. Front. Comput. Sci. Technol. 2021, 15, 2233–2240. [Google Scholar]
  18. Huang, J.; Chen, C.; Shen, J.; Liu, G.; Xu, F. A Self-adaptive Neighborhood Search A-star Algorithm for Mobile Robots Global Path Planning. Comput. Electr. Eng. 2025, 123, 110018. [Google Scholar] [CrossRef]
  19. Fan, Q.; Chen, Z.; Zhang, W.; Fang, X. ESSAWOA: Enhanced Whale Optimization Algorithm Integrated with Salp Swarm Algorithm for Global Optimization. Eng. Comput. 2022, 38 (Suppl. S1), 797–814. [Google Scholar] [CrossRef]
  20. Benmamoun, Z.; Khlie, K.; Bektemyssova, G.; Dehghani, M.; Gherabi, Y. Bobcat Optimization Algorithm: An Effective Bio-Inspired Metaheuristic Algorithm for Solving Supply Chain Optimization Problems. Sci. Rep. 2024, 14, 20099. [Google Scholar] [CrossRef]
  21. Benmamoun, Z.; Khlie, K.; Dehghani, M.; Gherabi, Y. WOA: Wombat Optimization Algorithm for Solving Supply Chain Optimization Problems. Mathematics 2024, 12, 1059. [Google Scholar] [CrossRef]
  22. Sang, H.; You, Y.; Sun, X.; Zhou, Y.; Liu, F. The Hybrid Path Planning Algorithm Based on Improved A* and Artificial Potential Field for Unmanned Surface Vehicle Formations. Ocean Eng. 2021, 223, 108709. [Google Scholar] [CrossRef]
  23. Song, B.; Wang, Z.; Zou, L. An Improved PSO Algorithm for Smooth Path Planning of Mobile Robots Using Continuous High-degree Bezier Curve. Appl. Soft Comput. 2021, 100, 106960. [Google Scholar] [CrossRef]
  24. Sun, W.; Sun, P.; Ding, W.; Zhao, J.; Li, Y. Gradient-based Autonomous Obstacle Avoidance Trajectory Planning for B-spline UAVs. Sci. Rep. 2024, 14, 14458. [Google Scholar] [CrossRef]
  25. 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]
  26. Abualigah, L.; Shehab, M.; Alshinwan, M.; Alabool, H. Salp Swarm Algorithm: A Comprehensive Survey. Neural Comput. Appl. 2020, 32, 11195–11215. [Google Scholar] [CrossRef]
  27. Mirjalili, S.; Gandomi, A.H.; Mirjalili, S.Z.; Saremi, S.; Faris, H.; Mirjalili, S.M. Salp Swarm Algorithm: A bio-inspired optimizer for engineering design problems. Adv. Eng. Softw. 2017, 114, 163–191. [Google Scholar] [CrossRef]
  28. Nautiyal, B.; Prakash, R.; Vimal, V.; Liang, G.; Chen, H. Improved Salp Swarm Algorithm with Mutation Schemes for Solving Global Optimization and Engineering Problems. Eng. Comput. 2022, 38, 3927–3949. [Google Scholar] [CrossRef]
  29. Guo, X.; Zhao, D.; Fan, T.; Long, F.; Fang, C.; Long, Y. Autonomous Underwater Vehicle Path Planning Based on Improved Salp Swarm Algorithm. J. Mar. Sci. Eng. 2024, 12, 1446. [Google Scholar] [CrossRef]
  30. AlShabi, M.A.; Ballous, K.; Nassif, A.B.; Bettayeb, M.; Obaideen, K.; Gadsden, S.A. Path Planning for a UGV using Salp Swarm Algorithm. In Proceedings of the Autonomous Systems: Sensors, Processing, and Security for Ground, Air, Sea, and Space Vehicles and Infrastructure, National Harbor, MD, USA, 21–26 April 2024; Volume 13052. [Google Scholar]
  31. Tang, S. Control Point Reduction for Lofted B-spline Surface Interpolation Based on Serial Closed Contours. Comput. Appl. Math. 2023, 42, 86. [Google Scholar] [CrossRef]
Figure 1. Calculation of obstacle count.
Figure 1. Calculation of obstacle count.
Applsci 15 05583 g001
Figure 2. Movement of the salp chain.
Figure 2. Movement of the salp chain.
Applsci 15 05583 g002
Figure 3. The effect of corner avoidance optimization. (a) is the smoothed B-spline path; (b) is the improved smoothed B-spline path.
Figure 3. The effect of corner avoidance optimization. (a) is the smoothed B-spline path; (b) is the improved smoothed B-spline path.
Applsci 15 05583 g003
Figure 4. Simulation experimental results of five path planning algorithms on a high-density clustered map. (a) is the SSA-A*; (b) is the Classical A* Algorithm; (c) is Dijkstra’s Algorithm; (d) is the JPS-A* Algorithm; (e) is ACO.
Figure 4. Simulation experimental results of five path planning algorithms on a high-density clustered map. (a) is the SSA-A*; (b) is the Classical A* Algorithm; (c) is Dijkstra’s Algorithm; (d) is the JPS-A* Algorithm; (e) is ACO.
Applsci 15 05583 g004
Figure 5. Simulation experimental results of five path planning algorithms on a low-density random map. (a) is the SSA-A*; (b) is the Classical A* Algorithm; (c) is Dijkstra’s Algorithm; (d) is the JPS-A* Algorithm; (e) is ACO.
Figure 5. Simulation experimental results of five path planning algorithms on a low-density random map. (a) is the SSA-A*; (b) is the Classical A* Algorithm; (c) is Dijkstra’s Algorithm; (d) is the JPS-A* Algorithm; (e) is ACO.
Applsci 15 05583 g005
Figure 6. Comparison of running time between the SSA-A* and Classical A* Algorithms. (a) corresponds to the 20 × 20 grid map, (b) corresponds to the 35 × 35 grid map, and (c) corresponds to the 50 × 50 grid map.
Figure 6. Comparison of running time between the SSA-A* and Classical A* Algorithms. (a) corresponds to the 20 × 20 grid map, (b) corresponds to the 35 × 35 grid map, and (c) corresponds to the 50 × 50 grid map.
Applsci 15 05583 g006aApplsci 15 05583 g006b
Figure 7. Comparison of search node count and path length between the SSA-A* and Classical A* Algorithms. (a) corresponds to the 20 × 20 grid map, (b) corresponds to the 35 × 35 grid map, and (c) corresponds to the 50 × 50 grid map.
Figure 7. Comparison of search node count and path length between the SSA-A* and Classical A* Algorithms. (a) corresponds to the 20 × 20 grid map, (b) corresponds to the 35 × 35 grid map, and (c) corresponds to the 50 × 50 grid map.
Applsci 15 05583 g007aApplsci 15 05583 g007b
Figure 8. Smoothed paths of various algorithms. The first three figures are high-density maps with clustering. (a) represents the original path, (b) represents the path smoothed by B-spline, and (c) represents the path smoothed by the improved B-spline. The last three figures are low-density maps with random distribution. (d) represents the original path, (e) represents the path smoothed by B-spline, and (f) represents the path smoothed by the improved B-spline.
Figure 8. Smoothed paths of various algorithms. The first three figures are high-density maps with clustering. (a) represents the original path, (b) represents the path smoothed by B-spline, and (c) represents the path smoothed by the improved B-spline. The last three figures are low-density maps with random distribution. (d) represents the original path, (e) represents the path smoothed by B-spline, and (f) represents the path smoothed by the improved B-spline.
Applsci 15 05583 g008
Figure 9. Method for calculating the degree of meandering.
Figure 9. Method for calculating the degree of meandering.
Applsci 15 05583 g009
Figure 10. Performance comparison of each path. (a,b) represent the performance analysis of the high-density clustered map shown previously; (c,d) represent the performance analysis of the random low-density map shown previously.
Figure 10. Performance comparison of each path. (a,b) represent the performance analysis of the high-density clustered map shown previously; (c,d) represent the performance analysis of the random low-density map shown previously.
Applsci 15 05583 g010
Figure 11. Performance comparison of the test set. (ac) present line graphs of the minimum distance to the nearest obstacle, the average distance to the nearest obstacle, and the average curvature for two types of maps with a size of 20 × 20, respectively; (df) present line graphs of the minimum distance to the nearest obstacle, the average distance to the nearest obstacle, and the average curvature for two types of maps with a size of 35 × 35, respectively; (gi) present line graphs of the minimum distance to the nearest obstacle, the average distance to the nearest obstacle, and the average curvature for two types of maps with a size of 50 × 50, respectively.
Figure 11. Performance comparison of the test set. (ac) present line graphs of the minimum distance to the nearest obstacle, the average distance to the nearest obstacle, and the average curvature for two types of maps with a size of 20 × 20, respectively; (df) present line graphs of the minimum distance to the nearest obstacle, the average distance to the nearest obstacle, and the average curvature for two types of maps with a size of 35 × 35, respectively; (gi) present line graphs of the minimum distance to the nearest obstacle, the average distance to the nearest obstacle, and the average curvature for two types of maps with a size of 50 × 50, respectively.
Applsci 15 05583 g011
Figure 12. Results of benchmark tests of five path planning algorithms on a 256 × 256 map. (a) is the SSA-A*; (b) is the Classical A* Algorithm; (c) is Dijkstra’s Algorithm; (d) is the JPS-A* Algorithm; (e) is ACO.
Figure 12. Results of benchmark tests of five path planning algorithms on a 256 × 256 map. (a) is the SSA-A*; (b) is the Classical A* Algorithm; (c) is Dijkstra’s Algorithm; (d) is the JPS-A* Algorithm; (e) is ACO.
Applsci 15 05583 g012
Figure 13. Results of benchmark tests of five path smoothing algorithms on a 256 × 256 map. (a) represents the original path, (d) is a detailed view of a portion of (a); (b) represents the path smoothed by B-spline, (e) is a detailed view of a portion of (b); (c) represents the path smoothed by the improved B-spline, and (f) is a detailed view of a portion of (c).
Figure 13. Results of benchmark tests of five path smoothing algorithms on a 256 × 256 map. (a) represents the original path, (d) is a detailed view of a portion of (a); (b) represents the path smoothed by B-spline, (e) is a detailed view of a portion of (b); (c) represents the path smoothed by the improved B-spline, and (f) is a detailed view of a portion of (c).
Applsci 15 05583 g013
Table 1. Parameters for path planning simulation experiments.
Table 1. Parameters for path planning simulation experiments.
Parameter NameValue or Range
ω 1 [0.5, 2]
ω 2 [0.5, 2]
ω 3 [0.1, 1]
Population Size n 10
Number of Iterations100
Table 2. Path planning data for a 35 × 35 grid map.
Table 2. Path planning data for a 35 × 35 grid map.
Map IDAlgorithmCluster MapsRandom Maps
SNLengthTime (ms)SNLengthTime (ms)
1SSA-A*4453.361.413951.250.78
A*26153.364.0119149.841.54
Dijkstra63153.364.3897949.844.05
JPS-A*1671.661.013062.140.62
ACO23554.1824.1523450.4326.55
2SSA-A*5352.431.825052.430.92
A*23951.64.1729751.602.64
Dijkstra65151.64.3598251.604.63
JPS-A*2362.381.512960.970.9
ACO24851.631.3119054.4323.33
3SSA-A*4151.61.384151.840.99
A*18751.62.8630951.013.34
Dijkstra64151.64.198151.014.58
JPS-A*2658.631.472762.140.85
ACO19152.4328.2420653.2524.77
4SSA-A*4051.011.424852.430.97
A*20951.013.3727851.602.72
Dijkstra64451.014.5596751.604.66
JPS-A*2166.631.453061.560.79
ACO23351.631.8523555.5025.22
5SSA-A*4151.011.415553.601.19
A*17851.012.7533852.773.25
Dijkstra64351.014.2794052.773.82
JPS-A*3661.82.383761.800.69
ACO20552.4331.6913758.0812.26
6SSA-A*4553.941.474351.600.84
A*21453.363.2122950.431.89
Dijkstra65453.364.4798950.433.98
JPS-A*2159.211.522561.560.66
ACO29554.7733.0517050.4329.83
7SSA-A*5251.011.774352.430.86
A*20751.013.5120149.841.75
Dijkstra61251.014.1299349.843.91
JPS-A*2070.381.583062.970.77
ACO25151.8424.8116851.2529.35
8SSA-A*4354.431.544051.250.81
A*26052.774.3423050.432.19
Dijkstra62952.774.4698350.434
JPS-A*1963.311.452462.730.64
ACO24256.4334.4723061.7424.88
9SSA-A*5253.841.724652.770.88
A*23452.183.836452.183.04
Dijkstra63952.184.3998352.183.8
JPS-A*1558.631.052662.140.69
ACO29260.0836.1620257.8428.28
10SSA-A*4252.181.455856.430.99
A*25152.183.9630055.602.37
Dijkstra65352.184.4299555.603.83
JPS-A*1762.731.388980.632.26
ACO22052.1831.5227360.6729.63
11SSA-A*5255.361.535353.840.89
A*23954.533.8431951.602.55
Dijkstra58654.533.9199451.603.9
JPS-A*1960.041.293560.630.88
ACO17756.1835.7423353.8425.41
12SSA-A*4454.181.415152.180.85
A*25153.364.0235351.602.99
Dijkstra65753.364.5597751.603.91
JPS-A*1769.211.384363.561.23
ACO19255.0136.5424254.1824.47
13SSA-A*5253.361.474552.430.83
A*22751.63.7236251.603.51
Dijkstra62751.64.1896551.604.42
JPS-A*2367.311.493062.140.83
ACO16953.8433.6223954.6726.32
14SSA-A*5757.941.674351.601.03
A*18856.283.2819449.842.05
Dijkstra60956.284.3697149.844.55
JPS-A*1962.632.52558.630.74
ACO17158.7736.1918752.0826.83
15SSA-A*4554.771.54351.600.98
A*22952.773.8634651.603.53
Dijkstra63052.774.7396851.604.61
JPS-A*2068.6322660.970.74
ACO18957.632.4625152.4325.72
Table 3. Comparison of the average performance of the SSA-A* and other algorithms.
Table 3. Comparison of the average performance of the SSA-A* and other algorithms.
Map Size203550
Map TypeCluster MapRandom MapCluster MapRandom MapCluster MapRandom Map
Average Time Reduction in SSA-A*vs. A* (%)30.79%36.56%57.45%63.09%62.82%67.75%
vs. Dijkstra (%)27.89%59.35%64.69%77.85%75.94%84.12%
vs. ACO (%)95.57%96.92%95.16%96.16%95.04%97.61%
Average Searched Nodes Reduction in SSA-A*vs. A* (%)67.17%72.52%78.87%83.08%81.86%86.10%
vs. Dijkstra (%)84.64%91.01%92.58%95.19%95.00%96.73%
vs. ACO (%)64.32%71.83%78.03%77.43%79.37%82.75%
Average Distance Increase in SSA-A* vs. A* (%)1.62%1.46%1.48%2.18%0.58%1.82%
Average Distance Reduction in SSA-A* vs. JPS-A* (%)14.85%18.93%22.24%22.33%15.00%21.96%
vs. ACO (%)4.45%4.72%2.17%3.76%5.41%5.00%
Table 4. Parameter settings of B-spline interpolation.
Table 4. Parameter settings of B-spline interpolation.
Parameter NameParameter Value
Smoothing Factor ( s )0.1
Number of Interpolation Points100
Table 5. Performance comparison of each path.
Table 5. Performance comparison of each path.
Map IDAlgorithmCluster MapsRandom Maps
MDADATMDADAT
1A0.00000.69450.35210.00000.77650.4439
B0.00000.70630.13870.00600.76380.1452
C0.45641.00970.12700.22771.00510.1549
2A0.00000.68090.30730.00000.54510.3366
B0.07520.71490.07920.02130.55070.0732
C0.47811.03210.10140.10000.79960.1575
3A0.00001.00240.21150.00000.70570.3142
B0.09611.04230.06680.00000.69600.0746
C0.39391.26010.07300.04801.02060.1132
4A0.00000.91270.36000.10001.18870.1653
B0.00460.94520.11020.00001.20210.0252
C0.80401.29190.13400.26771.38190.0469
5A0.00000.70550.26180.00000.64990.3927
B0.01830.72690.09940.00000.67070.1102
C0.33460.99500.09640.47180.90500.0967
6A0.00000.72670.28270.00000.71760.3366
B0.09190.74260.09150.00000.72500.0857
C0.75421.06240.10140.09750.98040.1088
7A0.00000.63240.18700.00000.62560.2356
B0.01270.64150.05320.00000.62890.0569
C0.36430.96500.12500.18450.93470.1308
8A0.00000.75580.42540.00000.48080.4254
B0.02600.77150.13500.00840.49840.1336
C0.62901.14250.14710.09740.67890.1402
9A0.00000.69900.31420.00000.63920.2992
B0.00000.71130.11550.00000.65000.0748
C0.47751.04430.10690.26110.92480.1339
10A0.00000.82050.28560.00000.68370.2356
B0.00840.81990.07930.00000.68180.0546
C0.60381.17130.09500.39461.00150.1122
11A0.00000.72760.32000.00000.73960.2618
B0.02770.73500.10530.02270.76920.0760
C0.57411.06480.12060.39560.97400.1391
12A0.10000.79440.26180.00000.49600.3927
B0.03590.84300.05410.02210.49320.1104
C0.35011.04280.08590.32590.85770.1283
13A0.00000.77100.22910.00000.54840.3756
B0.04580.79070.07580.00000.53290.1150
C0.73771.09290.08330.07310.75020.1057
14A0.00000.98680.16360.00000.93880.3366
B0.07020.99310.04870.06060.93840.1163
C0.42451.25630.06410.10571.13890.1701
15A0.00000.59840.21990.00000.50900.2618
B0.03650.60150.07540.04190.52470.0702
C0.33090.90860.09610.25620.89420.1368
Table 6. Performance comparison of path planning algorithms in benchmark tests.
Table 6. Performance comparison of path planning algorithms in benchmark tests.
AlgorithmComparison to A* (100%)
Searched-Nodes (%)Length (%)Time (%)
SSA-A*4.39104.836.31
Dijkstra320.17100.0094.08
A*-JPS0.70130.75325.38
ACO12.04132.65210.45
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zhou, H.; Shang, T.; Wang, Y.; Zuo, L. Salp Swarm Algorithm Optimized A* Algorithm and Improved B-Spline Interpolation in Path Planning. Appl. Sci. 2025, 15, 5583. https://doi.org/10.3390/app15105583

AMA Style

Zhou H, Shang T, Wang Y, Zuo L. Salp Swarm Algorithm Optimized A* Algorithm and Improved B-Spline Interpolation in Path Planning. Applied Sciences. 2025; 15(10):5583. https://doi.org/10.3390/app15105583

Chicago/Turabian Style

Zhou, Hang, Tianning Shang, Yongchuan Wang, and Long Zuo. 2025. "Salp Swarm Algorithm Optimized A* Algorithm and Improved B-Spline Interpolation in Path Planning" Applied Sciences 15, no. 10: 5583. https://doi.org/10.3390/app15105583

APA Style

Zhou, H., Shang, T., Wang, Y., & Zuo, L. (2025). Salp Swarm Algorithm Optimized A* Algorithm and Improved B-Spline Interpolation in Path Planning. Applied Sciences, 15(10), 5583. https://doi.org/10.3390/app15105583

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

Article Metrics

Back to TopTop