Slime Mold Algorithm-Based Robot Path Planning Method, System, and Storage Medium

By introducing rotational perturbation and simulated annealing mechanisms into the slime mold algorithm, the problem of low path planning efficiency and effect of the slime mold algorithm in the prior art in complex environments is solved, and more efficient and accurate path optimization is achieved.

CN116399344BActive Publication Date: 2025-07-01HUAZHONG UNIV OF SCI & TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310251984.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-13
Publication Date
2025-07-01
Estimated Expiration
2043-03-13

AI Technical Summary

Technical Problem

The existing slime mold algorithm has low path planning efficiency and effect in complex environments, is prone to falling into local minimum values ​​and lacks an effective jump mechanism.

Method used

By introducing rotational perturbation and simulated annealing mechanisms in the slime mold algorithm, rotational perturbation is performed for individuals with less fitness, and poor solutions are accepted through simulated annealing criterion to increase population diversity and ability to jump out of local optimality.

Benefits of technology

It improves the accuracy and efficiency of path optimization in complex environments, enhances the algorithm's local optimization ability and ability to jump out of local optimization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116399344B_ABST
    Figure CN116399344B_ABST
Patent Text Reader

Abstract

The present invention discloses a robot path planning method, system and storage medium based on the slime mold algorithm, belonging to the technical field of robot driving. The method of the present invention designs an elite learning strategy based on variable neighborhood Lévy flight for the slime mold algorithm, mutates the slime mold individuals with the current optimal fitness, and uses a slime mold individual rotation perturbation mutation mechanism based on tolerance to perturb the population individuals that have fallen into stagnation. At the same time, a simulated annealing algorithm is implemented for the perturbed optimal individuals to enhance the evolutionary potential of the population optimal value, and finally a collision-free shortest path is obtained; at the same time, a corresponding robot path planning system based on the slime mold algorithm is also provided. The present invention has the advantages of high precision and high efficiency, and is applicable to path optimization of mobile robots in complex environments.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of robot driving, and more specifically, relates to a robot path planning method, system and storage medium based on the slime mould algorithm. Background Technique

[0002] In the technical field of robot driving, path planning is the core module of a robot system, which is to efficiently plan a feasible, safe and smooth path from a starting point to a target point in an unknown or known environment.

[0003] At present, swarm intelligence algorithms have been widely applied to robot path planning. By simulating the behavior laws of biological groups in nature, exchanging and learning the information and experience of individuals, swarm intelligence algorithms can solve global optimization problems. Commonly used algorithms include ant colony algorithm, grey wolf algorithm, whale algorithm, particle swarm algorithm, slime mould algorithm (SMA), etc.

[0004] Among them, the slime mould algorithm SMA simulates the positive and negative feedback of slime mould encountering food with different concentrations through biological oscillation to achieve the purpose of finding the best food source. SMA has the advantages of simple structure, easy implementation, strong scalability, etc. However, the optimization strategy of the existing SMA algorithm is simple, so it is easy to fall into local minima and lacks an effective mechanism to jump out, making it difficult to obtain satisfactory path planning results, and the path planning efficiency and effect in complex environments are relatively low. Summary of the Invention

[0005] Aiming at the defects and improvement requirements of the existing technology, the present invention provides a robot path planning method, system and storage medium based on the slime mould algorithm, aiming to improve the accuracy and efficiency of path optimization in complex environments.

[0006] To achieve the above object, according to one aspect of the present invention, a robot path planning method based on the slime mould algorithm is provided, including:

[0007] S1. Determine the position area, starting point and ending point of the robot movement, set the population size to N, and initialize the population position;

[0008] S2. Adopt the slime mould algorithm to update the position of each slime mould individual, and obtain the position X_best(t) of the optimal individual and the corresponding fitness value DF in the current t-th iteration, which is recorded as the current global optimal solution;

[0009] S3. Judge whether the population is in a convergence stagnation state. If not, execute S4;

[0010] If so, for the first N*p with smaller fitness rRotate and perturb the positions of the slime mold individuals, and calculate the position X_best(t) of the optimal individual in the new population after rotation perturbation r and the corresponding fitness value DF r ; At the same time, judge whether DF r is less than DF. If so, use the position X_best(t) of the optimal individual in the new population after rotation perturbation r and the corresponding fitness value DF r as the global optimal solution; otherwise, accept the position x_best(t) of the optimal individual according to the simulated annealing criterion r and the corresponding fitness value DF r as the global optimal solution; where p r represents the proportion of rotation-perturbed mutant individuals;

[0011] S4. Judge whether the maximum number of iterations is reached. If not, repeat S2 - S3; if so, output the global optimal solution to obtain the optimal path for the robot to move.

[0012] Furthermore, before S3, there is also a step:

[0013] Perform variable neighborhood Levy flight mutation on the optimal individual in the current t-th iteration, and calculate the position X_best(t) of the mutated optimal individual l and the corresponding fitness value DF l ;

[0014] Judge whether DF l is less than DF. If so, use the position X_best(t) of the mutated optimal individual l and the corresponding fitness value DF l as the current global optimal solution;

[0015] In S3, it also includes: At the same time, judge whether DF r is less than DF l . If so, use the position X_best(t) of the optimal individual in the new population after rotation perturbation r and the corresponding fitness value DF r as the global optimal solution; otherwise, accept the position X_best(t) of the optimal individual according to the simulated annealing criterion r and the corresponding fitness value DF r as the global optimal solution.

[0016] Furthermore, the calculation method of the fitness value corresponding to the position of the slime mold individual is:

[0017] S(i) = η1×f1(i) + η2×f2(i)

[0018] Among them, S(i) is the fitness function, representing the fitness value of the i-th slime mold individual in the current iteration, where i ∈ {1, 2, ..., N}, f1(i) is the path length of the i-th slime mold individual in the current iteration; η1 is the penalty coefficient of the path length function; f2(i) is the average value of the distances between each interpolation point and all obstacles. As long as there is a collision in the path, f2(i) > 0. If the obtained path does not pass through the covered area of the obstacle, f2(i) = 0. The interpolation points are obtained by cubic spline interpolation between the starting point, path nodes, and the ending point; η2 is the collision penalty coefficient.

[0019] Further, the path length of the i-th slime mold individual in the current iteration is calculated by the cubic spline interpolation method.

[0020] Further, in S3, the positions of the new population after rotational perturbation and the positions of the population before perturbation satisfy:

[0021]

[0022] Among them, X(t) r represents the position of the population after rotational perturbation in the t-th iteration, X(t) represents the position of the population in the t-th iteration, ω is the rotation factor, R is a 1×D-dimensional random matrix uniformly distributed between [-1, 1], D represents the dimension of the search space, and ||X(t)||2 represents the 2-norm operator of X(t).

[0023] Further, in S3, the following method is used to determine whether the population is in a convergence stagnation state:

[0024] S31. Define the tolerance parameter τ as a counter. In each iteration process, update the tolerance parameter τ, and the update formula is:

[0025]

[0026] Among them, τ(t + 1) is the updated tolerance parameter after the current t-th iteration is completed, τ(t) is the tolerance parameter of the t-th iteration, and its value range is {0, ..., Tmax}, Tmax is the set maximum tolerance, |ΔF(t)| is the absolute value of the difference in fitness between the optimal individual in the t-th iteration and the previous iteration, and Fmin is the set threshold of the fitness difference;

[0027] S32. When T(t) == Tmax and |ΔF(t)| < Fmin, it is determined that the population is in a convergence stagnation state.

[0028] Further, S2 includes:

[0029] S21. Calculate the fitness value of each slime mold individual according to the fitness function S(i), and sort the fitness values to obtain the optimal fitness value bF and the worst fitness value wF for the current t-th iteration.

[0030] S22. Update the weight coefficient of the slime mold individual using the optimal fitness value bF and the worst fitness value wF.

[0031] S23. Substitute the weight coefficient into the slime mold position update formula to update the position of each slime mold individual in the population, and obtain the position X_best(t) of the optimal individual and the corresponding fitness value DF in the current t-th iteration.

[0032] Further, after outputting the global optimal solution in S4, it further includes the steps of:

[0033] Perform cubic spline interpolation between the starting point, the position of the optimal individual in the global optimal solution, and the ending point to obtain the optimal path for the robot to move.

[0034] According to another aspect of the present invention, there is provided a robot path planning system based on the slime mold algorithm, including:

[0035] An initialization module that determines the position area, starting point, and ending point of the robot's movement, sets the population size to N, and initializes the population position.

[0036] A global optimal solution calculation module that uses the slime mold algorithm to update the position of each slime mold individual, and obtains the position X_best(t) of the optimal individual and the corresponding fitness value DF in the current t-th iteration, which is recorded as the current global optimal solution.

[0037] A global optimal solution update module that is used to determine whether the population is in a convergence stagnation state. If not, execute S5.

[0038] If so, perform rotational perturbation on the positions of the first N*p slime mold individuals with smaller fitness r and calculate the position X_best(t) of the optimal individual in the new population after rotational perturbation r and the corresponding fitness value DF r ; at the same time, determine whether DF r is less than DF. If so, use the position X_best(t) of the optimal individual in the new population after rotational perturbation r and the corresponding fitness value DF r as the global optimal solution; otherwise, accept the position X_best(t) of the optimal individual r and the corresponding fitness value DF r as the global optimal solution according to the simulated annealing criterion; where p r represents the proportion of rotationally perturbed mutant individuals.

[0039] The optimal path acquisition module is used to determine whether the maximum number of iterations has been reached. If not, the global optimal solution calculation module and the global optimal solution update module are repeated. If so, the global optimal solution is output to obtain the optimal path for the robot to move.

[0040] According to another aspect of the present invention, there is provided a computer-readable storage medium, including a stored computer program; when the computer program is executed by a processor, it controls the device where the computer-readable storage medium is located to execute the method according to any one of the first aspects.

[0041] Generally speaking, through the above technical solutions conceived by the present invention, the following beneficial effects can be achieved:

[0042] (1) In the method of the present invention, the global optimal solution in the current iteration is obtained through the slime mold algorithm. And during local search, by rotating and perturbing the slime mold individuals, the individuals in the population that fall into the local optimum are perturbed, expanding the local search range of the population individuals, and increasing the probability of finding the optimal solution near the sub-optimal solution. At the same time, when the fitness value of the optimal individual in the new perturbed population is greater than the fitness value of the optimal individual before perturbation, the simulated annealing algorithm is used to accept the worse solution with a certain probability, increasing the diversity of the population, thereby improving the ability of the algorithm to jump out of the local optimum, and finally realizing the improvement of the accuracy and efficiency of path optimization in complex environments.

[0043] (2) Preferably, in the method of the present invention, after obtaining the position of the optimal individual and the corresponding fitness value in the current t-th iteration, variable neighborhood Lévy flight mutation is performed on the optimal individual to enrich the population diversity and improve the efficiency of swarm convergence. And the optimal individual affects the position distribution of the entire population. After mutating the optimal individual, when it is found that the population falls into the local optimum, the individuals in the population are rotated and perturbed with a certain probability, and the search is directly carried out near the optimal individual (optimal solution). The search range is more accurate and efficient. Compared with the prior art that uses the method of expanding the population range to expand the search range to solve the problem of stagnant convergence, the method of the present invention that only changes the positions of some slime mold individuals without expanding the search range and only searches near the optimal solution can improve the accuracy and efficiency of path optimization and is more suitable for path optimization in complex environments.

[0044] (3) Further, the present invention also provides a calculation method for the fitness value corresponding to the position of the optimal individual, and through cubic spline interpolation between the starting point, path nodes and the end point, the obtained path curve is smooth and more in line with the dynamic characteristics during the movement of the intelligent mobile robot.

[0045] (4) Further, a calculation method for the positions of the new population after rotational perturbation and the population before perturbation is provided; and a convergence stagnation monitoring strategy based on tolerance is provided for accurately and real-time monitoring the population state. When the population is in a convergence stagnation state, the slime mold individual rotational perturbation mutation mechanism is triggered to avoid the algorithm being trapped in a local optimum for a long time and improve the search ability of the algorithm. Description of the Drawings

[0046] Figure 1 It is a flowchart of the robot path planning method based on the slime mold algorithm provided by the present invention.

[0047] Figure 2 It is a simulation result diagram provided by an embodiment of the present invention. Detailed Embodiment

[0048] In order to make the objectives, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.

[0049] As Figure 1 shown, the robot path planning method based on the slime mold algorithm of the present invention mainly includes:

[0050] S1. Determine the position area where the robot moves and set parameters, including setting the number N of the population, the maximum number of iterations T max , the upper bound constraint UB and the lower bound constraint LB of the search space, the starting position and the ending position of the robot; initialize the population positions, that is, randomly set N groups of m initial path nodes between the starting point and the ending point, that is, the position X(t) of each slime mold individual contains m path nodes; perform cubic spline interpolation between the starting point, the path nodes and the ending point to obtain the path length of the population at the current iteration;

[0051] S2. Design a fitness function S(i), that is, the objective function, with the aim of the shortest movement path of the robot without colliding with obstacles, and use the slime mold algorithm SMA to update the positions of each slime mold individual in the population to obtain the position X_best(t) of the optimal individual and the corresponding fitness value DF at the current t-th iteration, and record the position X_best(t) of the optimal individual and the corresponding fitness value DF at the current t-th iteration as the current global optimal solution;

[0052] S3. Judge whether the population is in a convergence stagnation state. If not, execute step S4;

[0053] If so, for the first N*p with smaller fitnessr Rotate and perturb the positions of the myxomycete individuals, and use the slime mold algorithm (SMA) to calculate the position X_best(t) of the optimal individual in the newly-populated group after rotation perturbation r and the corresponding fitness value DF r ; where p r represents the proportion of individuals with rotation-perturbed mutations

[0054] Meanwhile, compare the fitness value DF of the optimal individual in the newly-populated group after rotation perturbation r with whether it is less than the fitness value DF of the optimal individual in the current t-th iteration. If so, use the position X_best(t) of the optimal individual in the newly-populated group after rotation perturbation r and the corresponding fitness value DF r as the global optimal solution

[0055] Otherwise, accept the position X_best(t) of the optimal individual in the newly-populated group after rotation perturbation with a certain probability according to the simulated annealing criterion r and the corresponding fitness value DF r as the global optimal solution

[0056] S4. Determine whether the maximum number of iterations T is reached max . If not, increment the iteration count by 1 and repeat S2 - S3; if so, output the global optimal solution (i.e., the position of the optimal individual and the corresponding fitness value in all iterations), and perform cubic spline interpolation on the starting point, the position of the optimal individual, and the ending point to obtain the optimal path for the robot to move

[0057] As a more optimal solution of the present invention, before step S3, it further includes

[0058] Step S2'. Perform variable neighborhood Lévy flight mutation on the position X_best(t) of the optimal individual in the current t-th iteration, and calculate the fitness value DF of the optimal individual after mutation l , compare the fitness value DF of the optimal individual before and after Lévy flight mutation l , and select the position of the optimal individual with the smaller fitness value and the corresponding fitness value as the current global optimal solution

[0059] That is, determine whether the fitness value DF of the optimal individual after mutation l is less than the fitness value DF of the optimal individual before mutation. If so, use the position X_best(t) of the optimal individual after mutation l and the corresponding fitness value DF l to update the position of the optimal individual and the corresponding fitness value in the current t-th iteration as the current global optimal solution

[0060] If the position X_best(t) of the optimal individual after variable neighborhood Lévy flight mutation l and the corresponding fitness value DF l are used as the current global optimal solution, then in step S3, it also includes comparing the fitness value DF r of the optimal individual in the new population after rotational perturbation with the fitness value DF l of the optimal individual after variable neighborhood Lévy flight mutation. If so, then the position X_best(t) r of the optimal individual in the new population after rotational perturbation and the corresponding fitness value DF r are used as the global optimal solution; otherwise, according to the simulated annealing criterion, the position X_best(t) r of the optimal individual in the new population after rotational perturbation and the corresponding fitness value DF r are used as the global optimal solution with a certain probability.

[0061] Specifically, in S2, the slime mold algorithm SMA is used to update the positions of each slime mold individual in the population, including:

[0062] S21. Calculate the fitness value of each slime mold individual according to the fitness function S(i), and sort the fitness values to obtain the optimal fitness value bF and the worst fitness value wF of the current t-th iteration;

[0063] S22. Update the weight coefficient W(SIndex) of the slime mold individual based on the optimal fitness value bF and the worst fitness value wF;

[0064] S23. Substitute the weight coefficient W(SIndex) into the position update formula of the slime mold to update the positions of each slime mold individual in the population, and obtain the position X_best(t) of the optimal individual and the corresponding fitness value DF in the current t-th iteration.

[0065] Among them, the objective function designed by the present invention is:

[0066] S(i) = η1×f1(i) + η2×f2(i)

[0067] Among them, S(i) is used to represent the fitness value of the i-th slime mold individual at the current t-th iteration. In the present invention, the minimum value is the optimal one, and i ∈ {1, 2, …, N}. f1(i) is the path length of the i-th slime mold individual at the current iteration. η1 is the penalty coefficient of the path length function, and in the embodiments of the present invention, η1 = 1. f2(i) is the average value of the distances between each interpolation point and all obstacles. As long as there is a collision in the path, f2(i) > 0; if the obtained path does not pass through the covered area of the obstacles, f2(i) = 0. η2 is the collision penalty coefficient, and the larger its value, the lower the possibility of selecting a collision path. In the embodiments of the present invention, η2 = 1000.

[0068] In the present invention, the path length f1(i) of the i-th slime mold individual at the current iteration is calculated by the cubic spline interpolation method, including: using the cubic spline interpolation method to calculate the interpolation points between the starting position, the path nodes, and the ending position; the coordinates of the interpolation points are (x1, y1), (x2, y2), …, (x n , y n ), that is, the turning connection points of each interpolation segment are the path nodes. The coding strategy of the present invention uses 1 slime mold individual to represent all the path nodes on 1 path;

[0069] Assume that the number of path nodes is m, and the coordinates are (x n_1 , y n_1 ), (x n_2 , y n_2 ), …, (x n_m , y n_m ), the starting point coordinates are (x s , y s ), the ending point coordinates are (x e , y e ). Cubic spline interpolation is performed in the x and y directions respectively to obtain the coordinates (x1, y1), (x2, y2), …, (x n , y n ) of the set n interpolation points. Then, the starting point, the n interpolation points, and the ending point together form the path of the robot at the current iteration; the path length f1(i) of the i-th slime mold individual at the current iteration is the sum of the distances from the starting point, each interpolation point, and the ending point of these sequence points.

[0070] In the present invention, a smooth path curve can be obtained between the starting position, the path nodes, and the ending position through cubic spline interpolation, which is more in line with the dynamic characteristics of the intelligent mobile robot during movement.

[0071] In step S21, the fitness values of each slime mold individual are sorted by formula (1) to obtain the optimal fitness value bF and the worst fitness value wF at the current t-th iteration:

[0072] SIndex(i) = sort(N) (1)

[0073] Among them, sort() is the sorting function, and SIndex(i) is the index of the slime mold individuals after sorting.

[0074] In step S22, the weight coefficient W is used to simulate the oscillation frequency of the biological oscillator of the slime mold individuals changing with the food concentration when looking for food. If the food concentration at the location of the slime mold individual is in the front sequence, positive feedback is provided to the slime mold individual, and vice versa for negative feedback.

[0075] The weight coefficient W(SIndex) of the slime mold individuals is obtained through formula (2):

[0076]

[0077] Among them, lg() is used to slow down the change rate of the value, condition represents the slime mold individuals with fitness values ranked in the first half in ascending order in the population, others represents the remaining slime mold individuals, and r2 is a random number in [0, 1].[[]]END

[0078] In step S23, the position update formula of the slime mold is:[[]]END

[0079]

[0080] Among them, UB and LB respectively represent the upper bound constraint and lower bound constraint of the search space, rand and rand1 represent random numbers between [0, 1], and z represents the switching probability between the exploration and exploitation modes. t represents the current t-th iteration, X(t) is the current position of the slime mold individual, X(t + 1) is the updated position of the slime mold individual after the current iteration, and X_best(t) is the position of the individual with the highest food concentration in the t-th iteration, that is, the position of the optimal individual in the population. X r1 (t) and X r2 (t) represent the positions of two individuals randomly selected from the slime mold population. The vc control parameter is used to measure the utilization change of the historical data of the slime mold individuals, and its value decreases linearly from 1 to 0. rand1 is a random number between [0, 1].[[]]END

[0081] p is the control parameter that determines the slime mold position update method, and its calculation method is:[[]]END

[0082] p = tanh|S(i) - DF|, i ∈ {1, 2, …, N} (4)[[]]END

[0083] Among them, DF represents the optimal fitness value in all iterations.[[]]END

[0084] ​​​​​​vb is a control parameter, which is a random number with a value range of [-a, a]. Its value range shrinks as a decreases. The parameter a is used to simulate the process of the vein gradually and dynamically contracting when the slime mold approaches the food source. Its calculation formula is:

[0085]

[0086] Among them, IT max is the maximum number of iterations.

[0087] Specifically, in step S2’, an elite-based variable neighborhood Levy flight mutation strategy is adopted to mutate the elite individuals (i.e., the optimal solutions in the current iteration) in the current slime mold population. The randomness of the mutation of the slime mold individuals with the optimal fitness is maintained through the Levy flight strategy, enriching the diversity of the population. The mutation range of the slime mold individuals with the optimal fitness is expanded through the selection of multiple neighborhoods, improving the quality of the slime mold individuals with the optimal fitness, and ultimately enhancing the efficiency of population convergence. Combined with the subsequent rotation perturbation, the accuracy and efficiency of path optimization in complex environments are improved. Among them, the position X_best(t) of the optimal individual after Levy flight mutation is calculated using the following formula l :

[0088]

[0089] Among them, α is the variable neighborhood coefficient, X_best(t) l is the position of the optimal individual after Levy flight for the optimal individual in the current t-th iteration, and X_best(t) is the optimal position of the slime mold population in the current t-th iteration. stepsize is the step size factor, which is used to adjust the random search range. Levy(β) is the basic Levy flight random value. In this embodiment, m = 3, and the value range of index is {0, 1, 2} in turn. Each time a value is taken, if the fitness value DF l corresponding to X_best(t) l is less than the fitness value DF corresponding to X_best(t) or index reaches the maximum value, the value-taking of index stops and the search stops. r l is a random value with a value range between [0, 0.5].

[0090] Specifically, in step S3, a tolerance-based convergence stagnation monitoring strategy is adopted to accurately and real-time monitor the population state. When the population is in a convergence stagnation state, the slime mold individual rotation perturbation mutation mechanism is triggered to avoid the algorithm being trapped in a local optimum for a long time and improve the search ability of the algorithm, including the steps:

[0091] S31. Define the tolerance parameter τ as a counter to monitor the convergence status of the algorithm in real time and determine whether the algorithm may stop converging. During each iteration, update τ according to the following formula:

[0092]

[0093] where τ(t + 1) is the updated tolerance parameter after the completion of the current t-th iteration. τ(t) is the tolerance parameter of the t-th iteration, and its value range is {0, …, Tmax}, where Tmax is the set maximum tolerance. In the embodiment of the present invention, Tmax = 2. T(t) represents the tolerance, and |△F(t)| is the absolute value of the difference in fitness between the optimal individual in the t-th iteration and the previous iteration. Fmin is the set threshold of the fitness difference, which is a fixed value.

[0094] S32. When T(t) == Tmax and |△F(t)| < Fmin, it means that the fitness values of the optimal individuals obtained in two adjacent iterations no longer change, and it is considered that the algorithm enters the convergence stagnation state. It is necessary to re-guide the population to improve the diversity of the slime mold population distribution and avoid the population being trapped in the convergence stagnation state for a long time. In the present invention, a rotation operation is used to guide the slime mold individuals to randomly perturb within the constraint range centered on themselves. The position relationship between the population after rotation perturbation and the population before perturbation satisfies:

[0095]

[0096] where X(t) r is the position of the individual after rotation perturbation, and X(t) is the position of the slime mold individual in the t-th iteration. ω is the rotation factor. In this embodiment, its value range is [0.1, 1]. Assuming the search space is D-dimensional, then R is a random matrix of dimension 1×D uniformly distributed between [-1, 1]. R·X(t) represents the dot product of the random matrix R and the slime mold individual position X(t). ‖X(t)‖2 represents the 2-norm of X(t).

[0097] Since it cannot be guaranteed that the fitness value of the slime mold individual after perturbation mutation is better, in the embodiment of the present invention, the greedy principle is used to select the position of the slime mold individual. The fitness values of the slime mold individuals before and after perturbation mutation are compared one by one. If the position after mutation is better, the position of the slime mold individual is replaced; otherwise, it is not replaced.

[0098] During local search, by rotating and perturbing the slime mold individuals, the individuals in the population trapped in the local optimum are perturbed to search for the optimal solution within the constraint range, improve the probability of finding the optimal solution near the sub-optimal solution, and achieve the purpose of improving the local optimization ability of the algorithm.

[0099] Specifically, in step S3, in order to increase the diversity of the population and make full use of the evolutionary potential of the optimal value of the population, the fitness values of the optimal individuals before and after perturbation are compared. When the fitness value DF r of the optimal individual in the new population after perturbation is greater than or equal to the fitness value DF of the current global optimal individual, the Metropolis criterion in the simulated annealing algorithm is adopted to accept the worse solution with a certain probability, increase the diversity of the population, and improve the ability of the algorithm to jump out of the local optimum.

[0100] When DF r < DF, the position of the original optimal individual is replaced by the new optimal position after perturbation. When DF r ≥ DF, a random number rand S is generated. The random number rand S has a value range of rand S ∈ [0, 1]. When , the update operation of the optimal position of the slime mold individual is executed, and the position of the optimal individual after rotational perturbation is used to replace the position of the current global optimal individual, and DF r is accepted. T represents the current iteration temperature. In the embodiment of the present invention, T = 1000.

[0101] Among them, if the variable neighborhood Lévy flight mutation is performed on the position X_best(t) of the optimal individual in the current t-th iteration, the optimal fitness value before perturbation is DF l , that is, the fitness value of the global optimal individual is DF l . At this time, when DF r < DF l , the position of the original optimal individual is replaced by the new optimal position after perturbation. When DF r ≥ DF l , a random number rand S is generated. When , the update operation of the optimal position of the slime mold individual is executed, and the position of the optimal individual after rotational perturbation is used to replace the position of the current global optimal individual, and DF r is accepted.

[0102] Specifically, in step S4, the position of the optimal individual at the current generation number is output, and cubic spline interpolation is performed on the starting point, the position of the optimal individual, and the ending point to obtain the optimal path for the robot to move.

[0103] As Figure 2 shown, in the embodiment of the present invention, the obstacles are simplified into circles with different radii, the center point of the robot is used to replace the robot, and the size of the robot is ignored during path planning. In the figure, the rhombus represents the starting and ending positions of the robot, the population size N = 30, the number of iterations is 30 times, z = 0.3, Fmin = 1, m = 3, p r= 0.5, by the method of the present invention, the length of the optimal path obtained is 29.11.

[0104] By the method of the present invention, after obtaining the position X_best(t) of the optimal individual and the corresponding fitness value DF in the current t-th iteration through the slime mold algorithm SMA, variable neighborhood Lévy flight mutation is performed on the optimal individual to enrich the population diversity and improve the efficiency of swarm convergence. The optimal individual affects the position distribution of the entire population. After mutating the optimal individual, when it is found that the population falls into a local optimum, the individuals in the population are rotationally perturbed with a certain probability, and search is performed near the optimal individual (optimal solution) in the current t-th iteration. The search range is more accurate and efficient. Compared with the prior art that uses the method of expanding the population range to expand the search range to solve the problem of stagnant convergence, the method of the present invention that only changes the positions of some slime mold individuals without expanding the search range and only searches near the optimal solution can improve the accuracy and efficiency of path optimization and is more suitable for path optimization in complex environments.

[0105] According to another aspect of the present invention, a robot path planning system based on the slime mold algorithm is provided, including:

[0106] An initialization module for determining the position area, starting point and ending point of the robot movement, setting the population size to N, and initializing the population position;

[0107] A global optimal solution calculation module for updating the position of each slime mold individual by using the slime mold algorithm to obtain the position X_best(t) of the optimal individual and the corresponding fitness value DF in the current t-th iteration, which is recorded as the current global optimal solution;

[0108] A global optimal solution update module for determining whether the population is in a convergence stagnation state. If not, execute S5;

[0109] If so, perform rotational perturbation on the positions of the first N*p slime mold individuals with smaller fitness r and calculate the position X_best(t) of the optimal individual in the new population after rotational perturbation r and the corresponding fitness value DF r ; at the same time, determine whether DF r is less than DF. If so, use the position X_best(t) of the optimal individual in the new population after rotational perturbation r and the corresponding fitness value DF r as the global optimal solution; otherwise, accept the position X_best(t) of the optimal individual r and the corresponding fitness value DF r as the global optimal solution according to the simulated annealing criterion; where p r represents the proportion of rotationally perturbed mutant individuals;

[0110] The optimal path acquisition module is used to determine whether the maximum number of iterations has been reached. If not, continue the iteration and repeat the global optimal solution calculation module and the global optimal solution update module; if so, output the global optimal solution to obtain the optimal path for the robot to move.

[0111] Among them, each module is respectively used to execute each step in the robot path planning method based on the slime mold algorithm in the above-mentioned embodiment.

[0112] According to another aspect of the present invention, there is provided a computer-readable storage medium, including a stored computer program; when the computer program is executed by a processor, it controls the device where the computer-readable storage medium is located to execute each step in the robot path planning method based on the slime mold algorithm in the above-mentioned embodiment.

[0113] Those skilled in the art can easily understand that the above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent replacements, and improvements made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A robot path planning method based on the slime mold algorithm, characterized in that, Including: S1. Determine the position area, starting point and ending point of the robot's movement, set the population size to N, and initialize the population positions; S2. Adopt the slime mold algorithm to update the positions of each slime mold individual, obtain the position X_best(t) of the optimal individual and the corresponding fitness value DF in the current t-th iteration, and record it as the current global optimal solution; S3. Determine whether the population is in a convergence stagnation state. If not, execute S4; If so, rotate and perturb the positions of the first N*p slime mold individuals with smaller fitness values, and calculate the position X_best(t) of the optimal individual in the new population after the rotation perturbation r and the corresponding fitness value DF r ; At the same time, judge whether DF r is less than DF. If so, use the position X_best(t) of the optimal individual in the new population after the rotation perturbation r and the corresponding fitness value DF r as the global optimal solution; otherwise, accept the position X_best(t) of the optimal individual according to the simulated annealing criterion r and the corresponding fitness value DF r as the global optimal solution; where p r represents the proportion of individuals with rotation perturbation mutation r ; S4. Determine whether the maximum number of iterations is reached. If not, repeat S2 - S3; if so, output the global optimal solution to obtain the optimal path for the robot's movement; Before S3, it also includes the step: Perform variable neighborhood Levy flight mutation on the optimal individual in the current t-th iteration, and calculate the position X_best(t) of the mutated optimal individual l and the corresponding fitness value DF l ; Judge DF l to determine whether it is less than DF. If so, use the position X_best(t) of the mutated optimal individual l and the corresponding fitness value DF l as the current global optimal solution. Among them, the variable neighborhood Lévy flight mutation is calculated in the following manner: Among them, α is the variable neighborhood coefficient, stepsize is the step factor used to adjust the random search range; Levy(β) is the basic Levy flight random value; each time a value is taken, if the fitness value DF l is less than the fitness value DF or index reaches the maximum value, the index stops taking values, and r l is a random value within the range of [0, 0.5]; S3 also includes: simultaneously judging whether DF r is less than DF l , if so, using the position X_best(t) of the optimal individual in the newly-population after rotational perturbation r and the corresponding fitness value DF r as the global optimal solution; otherwise, accepting the position X_best(t) of the optimal individual r and the corresponding fitness value DF r as the global optimal solution according to the simulated annealing criterion; In S3, the positions of the new population after rotational perturbation and the positions of the population before perturbation satisfy: Among them, X(t) r represents the position of the population after rotational perturbation in the t-th iteration. X(t) represents the position of the population in the t-th iteration. ω is the rotation factor. R is a 1×D-dimensional random matrix uniformly distributed between [-1, 1]. D represents the dimension of the search space. ‖X(t)‖2 represents the 2-norm of X(t).

2. The method according to claim 1, wherein In S2, it includes: S21. Calculate the fitness value of each slime mold individual according to the fitness function S(i), and sort the fitness values to obtain the best fitness value bF and the worst fitness value wF in the current t-th iteration; S22. Update the weight coefficients of the slime mold individuals with the best fitness value bF and the worst fitness value wF; S23. Substitute the weight coefficients into the slime mold position update formula to update the positions of each slime mold individual in the population, and obtain the position X_best(t) of the optimal individual and the corresponding fitness value DF in the current t-th iteration.

3. The method according to claim 2, wherein The calculation method of the fitness function S(i) is: S(i) = η1 × f1(i) + η2 × f2(i) where S(i) is the fitness function, representing the fitness value of the i-th slime mold individual in the current iteration, i ∈ {1, 2, …, N}, f1(i) is the path length of the i-th slime mold individual in the current iteration; η1 is the penalty coefficient of the path length function; f2(i) is the average value of the distances between each interpolation point and all obstacles. As long as there is a collision in the path, f2(i) > 0. If the obtained path does not pass through the covered area of the obstacle, f2(i) = 0. The interpolation points are obtained by cubic spline interpolation between the starting point, path nodes and ending point; η2 is the collision penalty coefficient.

4. The method according to claim 3, wherein Calculate the path length of the i-th slime mold individual in the current iteration by the cubic spline interpolation method.

5. The method according to claim 1, characterized in that In S3, the following method is used to determine whether the population is in a convergence stagnation state: S31. Define the tolerance parameter τ as a counter. In each iteration process, update the tolerance parameter τ, and the update formula is: where τ(t + 1) is the updated tolerance parameter after the current t-th iteration is completed, τ(t) is the tolerance parameter of the t-th iteration, and its value range is {0, …, Tmax}, Tmax is the set maximum tolerance, |△F(t)| is the absolute value of the difference in the fitness of the optimal individual between the t-th iteration and the previous iteration, and Fmin is the set threshold of the fitness difference; T(t) represents the tolerance; S32. When T(t) == Tmax and |△F(t)| < Fmin, it is determined that the population is in a convergence stagnation state.

6. The method according to claim 1, characterized in that After outputting the global optimal solution in S4, it also includes the step: Perform cubic spline interpolation between the starting point, the position of the optimal individual in the global optimal solution and the ending point to obtain the optimal path for the robot's movement.

7. A system using the robot path planning method based on the slime mold algorithm according to any one of claims 1-6, characterized in that, Including: Initialization module, which is used to determine the position area, starting point and ending point of the robot's movement, set the population size to N, and initialize the population positions; Global optimal solution calculation module, which is used to update the positions of each slime mold individual by using the slime mold algorithm, obtain the position X_best(t) of the optimal individual and the corresponding fitness value DF in the current t-th iteration, and record it as the current global optimal solution; Global optimal solution update module, which is used to judge whether the population is in a convergence stagnation state. If not, execute the steps of the optimal path acquisition module; If so, rotate and perturb the positions of the first N*p slime mold individuals with smaller fitness values, and calculate the position X_best(t) of the optimal individual in the new population after the rotation perturbation r as well as the corresponding fitness value DF r ; At the same time, judge whether DF r is less than DF. If so, use the position X_best(t) of the optimal individual in the new population after the rotation perturbation r as well as the corresponding fitness value DF r as the global optimal solution; otherwise, accept the position X_best(t) of the optimal individual according to the simulated annealing criterion r as well as the corresponding fitness value DF r as the global optimal solution; where p r represents the proportion of individuals with rotation perturbation mutation r ; Optimal path acquisition module, which is used to judge whether the maximum number of iterations has been reached. If not, repeat the steps of the global optimal solution calculation module and the global optimal solution update module; If so, output the global optimal solution to obtain the optimal path of the robot's movement.

8. A computer-readable storage medium, characterized in that, It includes a stored computer program; when the computer program is executed by a processor, it controls the device where the computer-readable storage medium is located to execute the method according to any one of claims 1-6.

Citation Information

Patent Citations

  • Robot path planning method based on multi-strategy improved mucus algorithm

    CN114063623A

  • Vedio tape picture and text data generating and coding method and picture and text data playback device

    CN1420488A