Multi-robot path planning method and device based on hybrid optimization and space-time prediction

By using a hybrid optimization algorithm and a spatiotemporal prediction model, the problem of conflict identification and coordination under dynamic obstacles in multi-robot path planning was solved, realizing efficient and safe multi-robot cooperative motion and improving the robustness and cooperative efficiency of the system.

CN122170866APending Publication Date: 2026-06-09BEIJING GUODIAN ZHISHEN CONTROL TONGDY
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BEIJING GUODIAN ZHISHEN CONTROL TONGDY
Filing Date
2026-02-04
Publication Date
2026-06-09

AI Technical Summary

Technical Problem

Existing multi-robot path planning technologies suffer from problems such as local path conflicts, motion deadlock, and insufficient system robustness in dynamic and complex scenarios. In particular, in scenarios with coexisting dynamic obstacles and multi-robot collaborative operations, the efficiency and safety of path planning are difficult to guarantee.

Method used

A hybrid optimization and spatiotemporal prediction approach is adopted, which constructs the globally optimal path through particle swarm optimization and ant colony optimization algorithms, and combines a long short-term memory network model to predict the probability of conflict, dynamically adjusting the robot speed and priority to achieve efficient and safe multi-robot collaboration.

Benefits of technology

It improves the accuracy of conflict recognition and the efficiency of collaborative passage of multi-robot systems in dynamic scenarios, and realizes efficient, safe and adaptive multi-robot collaborative movement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122170866A_ABST
    Figure CN122170866A_ABST
Patent Text Reader

Abstract

The application discloses a kind of multi-robot path planning method and device based on hybrid optimization and space-time prediction, it is related to robot path planning technical field.The method includes: for each robot, determine global optimal path based on particle swarm optimization algorithm and ant colony optimization algorithm;According to global optimal path, static obstacle position and the dynamic obstacle position calculated candidate local trajectory that is acquired in real time, calculate conflict probability according to candidate local trajectory based on long short-term memory network model, judge whether robot itself exists with other robots conflict;If not, determine the first target speed instruction to be executed by robot, continuously execute a planning cycle;If yes, determine the conflict resolution instruction corresponding to robot, execute until conflict resolution;Update own motion state, enter next planning cycle, until robot runs to its end position, obtain the path planning of robot.It realizes efficient, safe, adaptive multi-robot cooperation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robot path planning technology, and in particular to a multi-robot path planning method and apparatus based on hybrid optimization and spatiotemporal prediction. Background Technology

[0002] Multi-robot path planning technology, as a core supporting technology in fields such as intelligent manufacturing, warehousing and logistics, and autonomous driving, is dedicated to planning safe, efficient, and collision-free motion trajectories for multi-robot systems in shared environments. This technology requires achieving spatiotemporal coordination among multiple robots in dynamic and complex scenarios to ensure that each robot can accurately reach its target location within the optimal timeframe. Improving path planning capabilities is of significant research importance in complex scenarios involving coexisting dynamic obstacles and collaborative multi-robot operations, as it directly relates to the overall efficiency, robustness, and safety of the system.

[0003] The shortcomings of the commonly used global and local hybrid planning method for dynamic obstacle avoidance are as follows: First, the static priority allocation mechanism lacks dynamic environmental perception capabilities, which can easily lead to local path conflicts and motion deadlocks. Second, there is a lack of coordination mechanism between local obstacle avoidance behavior and global path planning, and frequent local adjustments lead to increased cumulative path deviations and redundant motion trajectories. Finally, the passive response mode based on real-time collision detection cannot predict conflicts, causing the system to frequently trigger emergency braking, which reduces task execution efficiency and affects system robustness. Summary of the Invention

[0004] In view of this, the present invention provides a multi-robot path planning method and apparatus based on hybrid optimization and spatiotemporal prediction, which realizes efficient, safe and adaptive multi-robot collaboration.

[0005] According to one aspect of the present invention, a multi-robot path planning method based on hybrid optimization and spatiotemporal prediction is provided, the method comprising: A standardized grid map is constructed based on the positions of static obstacles, the starting position and the ending position of each robot, so as to perform multi-robot path planning in the standardized grid map; For each robot, based on the particle swarm optimization algorithm, the individual optimal path of each particle is calculated according to the starting position, the ending position and the position of the static obstacle. The initial global optimal path of the robot is determined according to the individual optimal paths of all particles. Based on the ant colony optimization algorithm, the global optimal path is determined according to the starting position, the ending position, the position of the static obstacle, the individual optimal paths of all particles and the initial global optimal path. For each robot, during the current planning cycle, multiple candidate local trajectories are calculated based on the global optimal path, the static obstacle positions, and the real-time acquired dynamic obstacle positions. Based on the long short-term memory network model, the conflict probability between each of the robot's own candidate local trajectories and each of the candidate local trajectories of each other robot is calculated. Based on the conflict probability and a preset conflict probability threshold, it is determined whether the robot itself has a conflict with other robots. If not, the first target speed command to be executed by the robot is determined based on the evaluation score of each of the candidate local trajectories of the robot itself, and the first target speed command for one planning cycle is continuously executed. After the execution is completed, the robot updates its own motion state and enters the next planning cycle. If so, the real-time task status of the robot is determined, the real-time priority value of the robot is calculated based on the real-time task status, and the conflict resolution instruction corresponding to the robot is determined based on the conflict probability and the real-time priority value, so that the robot executes the corresponding conflict resolution instruction until the conflict is resolved, updates its own motion state, enters the next planning cycle, until the robot runs to its destination position, and obtains the path planning of the robot.

[0006] Preferably, the step of calculating multiple candidate local trajectories based on the globally optimal path, the static obstacle positions, and the dynamically acquired obstacle positions in real time includes: The location of dynamic obstacles is acquired in real time, and the predicted location of dynamic obstacles is determined based on the location of the dynamic obstacles, the historical location of the dynamic obstacles, and the trajectory prediction duration, wherein the trajectory prediction duration is equal to a positive integer multiple of one planning cycle; Based on the robot's current motion state, motion parameters, static obstacle position, dynamic obstacle position, predicted dynamic obstacle position, and preset obstacle avoidance safety threshold, multiple feasible velocity pairs of the robot are determined under constraints. The constraints include: velocity space boundary constraints, acceleration constraints, deceleration and braking constraints, and obstacle safety distance constraints. The current motion state includes the current position, current linear velocity, and current angular velocity. The motion parameters include maximum linear velocity, maximum angular velocity, maximum linear acceleration, maximum linear deceleration, maximum angular acceleration, and maximum angular deceleration. The feasible velocity pairs include feasible linear velocity and feasible angular velocity. For each of the feasible velocity pairs, a candidate local trajectory of the robot is predicted within the trajectory prediction time.

[0007] Preferably, the step of calculating the conflict probability between each of the robot's own candidate local trajectories and each of the candidate local trajectories of each other robot based on the long short-term memory network model includes: Each of the robot's own candidate local trajectories is spatiotemporally aligned with each of the candidate local trajectories of each other robot. For each of the candidate local trajectories of the robot itself, construct a corresponding fused spatiotemporal trajectory matrix by combining it with one candidate local trajectory from all the candidate local trajectories of all robots. The fused spatiotemporal trajectory matrix is ​​input into the conflict prediction model, which outputs the corresponding conflict probability. The conflict prediction model is constructed based on a long short-term memory network model and trained based on candidate local trajectory samples.

[0008] Preferably, determining the real-time task status of the robot includes: The urgency of the task assigned to the robot is obtained in real time, the remaining battery percentage of the robot is obtained in real time, and the number of other robots within a preset range of the robot is obtained in real time. The path congestion index is calculated based on the number of other robots. The task urgency, the remaining battery percentage, and the path congestion index are determined as the robot's real-time task status. The step of calculating the robot's real-time priority value based on the real-time task status includes: The robot's real-time priority value is obtained by calculating the weighted sum of the task urgency, the remaining battery percentage, and the path congestion index.

[0009] Preferably, if not, then the first target velocity command to be executed by the robot is determined based on the evaluation score of each of the candidate local trajectories of the robot itself, including: For each candidate local trajectory of the robot, if the probability of at least one conflict corresponding to the candidate local trajectory is greater than or equal to the preset conflict probability threshold, the candidate local trajectory is removed. After removal, qualified candidate local trajectories are obtained. Calculate the evaluation score of each of the candidate local trajectories of the robot itself, determine the qualified candidate local trajectory with the highest evaluation score as the target local trajectory, and determine the first speed command of the target local trajectory as the first target speed command to be executed by the robot.

[0010] Preferably, the evaluation score for each of the candidate local trajectories of the computational robot itself includes: Extract multiple preset key nodes of the global optimal path to obtain the robot's own navigation sub-target point set. Traverse the navigation sub-target point set, determine the current navigation sub-target point based on the robot's current position, and calculate the first distance score between the current navigation sub-target point and the last point of each of the robot's candidate local trajectories. Based on the static obstacle position, the predicted dynamic obstacle position, the global optimal path, and the preset obstacle avoidance safety threshold, a second distance score is calculated between each of the robot's candidate local trajectories and the obstacle, wherein the obstacle includes dynamic obstacles and static obstacles; Calculate the fit score between the last point of each of the candidate local trajectories of the robot and the global optimal path; An evaluation score is calculated based on the first distance score, the preset weight corresponding to the first distance score, the second distance score, the preset weight corresponding to the second distance score, the fitting score, and the preset weight corresponding to the fitting score of the same candidate local trajectory, to obtain the evaluation score of each candidate local trajectory of the robot itself, wherein the sum of the preset weight corresponding to the first distance score, the preset weight corresponding to the second distance score, and the preset weight corresponding to the fitting score is 1.

[0011] Preferably, the step of determining the conflict resolution instruction corresponding to the robot based on the conflict probability and the real-time priority value, so that the robot executes the corresponding conflict resolution instruction until the conflict is resolved and updates its own motion state, includes: The priority level of the robot is determined based on the real-time priority value; If the priority level of the robot is higher than that of the other robots in conflict, the candidate local trajectory with the highest evaluation score of the robot is taken as the optimal local trajectory, and the first speed command of the optimal local trajectory is determined as the second target speed command to be executed by the robot, so that the robot continuously executes the second target speed command for one planning cycle. After the execution is completed, the robot updates its own motion state. The conflict level is determined based on the maximum value of all conflict probabilities corresponding to all candidate local trajectories of the robot itself; If the conflict level is a level 1 conflict and the priority level is lower than that of other robots in the conflict, a local avoidance path is generated so that the robot executes the local avoidance path to the end of the local avoidance path and updates its own motion state. If the conflict level is level two and the priority level is lower than that of other robots in conflict, the robot's own safe speed is calculated based on the robot's emergency braking distance model so that the robot can execute a deceleration command to the safe speed for one planning cycle. After execution, the robot updates its own motion state.

[0012] According to another aspect of the present invention, a multi-robot path planning device based on hybrid optimization and spatiotemporal prediction is provided, the device comprising: A construction module is used to build a standardized grid map based on the positions of static obstacles, the starting position and the ending position of each robot, so as to perform multi-robot path planning in the standardized grid map; The calculation module is used to calculate the individual optimal path of each particle for each robot based on the particle swarm optimization algorithm, according to the starting position, the ending position and the position of the static obstacle; determine the initial global optimal path of the robot based on the individual optimal paths of all particles; and determine the global optimal path based on the ant colony optimization algorithm, according to the starting position, the ending position, the position of the static obstacle, the individual optimal paths of all particles and the initial global optimal path. The judgment module is used to calculate multiple candidate local trajectories for each robot in the current planning cycle based on the global optimal path, the static obstacle position, and the real-time acquired dynamic obstacle position. Based on the long short-term memory network model, it calculates the conflict probability between each of the robot's own candidate local trajectories and each of the candidate local trajectories of each other robot. Based on the conflict probability and a preset conflict probability threshold, it determines whether the robot itself has a conflict with other robots. The first determining module is used to determine the first target speed command to be executed by the robot based on the evaluation score of each of the candidate local trajectories of the robot itself if no, and to continuously execute the first target speed command for one planning cycle. After execution, the robot updates its own motion state and enters the next planning cycle. The second determining module is used to determine the real-time task status of the robot if the condition is met, calculate the real-time priority value of the robot based on the real-time task status, determine the corresponding conflict resolution instruction for the robot based on the conflict probability and the real-time priority value, so that the robot executes the corresponding conflict resolution instruction until the conflict is resolved, updates its own motion state, enters the next planning cycle, until the robot runs to its destination position, and obtains the path planning of the robot.

[0013] According to another aspect of the present invention, a storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the above-described multi-robot path planning method based on hybrid optimization and spatiotemporal prediction.

[0014] According to another aspect of the present invention, a computer device is provided, including a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, wherein the processor, when executing the program, implements the above-described multi-robot path planning method based on hybrid optimization and spatiotemporal prediction.

[0015] By employing the above technical solutions, this invention provides a multi-robot path planning method and apparatus based on hybrid optimization and spatiotemporal prediction. The technical solution utilizes a standardized grid map to provide a consistent spatial reference for multiple robots. A hybrid optimization approach combining particle swarm optimization (PSO) and ant colony optimization (ACO) leverages the advantages of PSO's fast global search and ACO's high optimization accuracy to efficiently solve for the globally optimal path for each robot with high precision. Based on the globally optimal path, static obstacles, and dynamic obstacles, multiple candidate local trajectories are generated. A long short-term memory (LSTM) network model is used for spatiotemporal prediction to obtain the conflict probability between the candidate local trajectories of multiple robots. Since this conflict probability is predicted under both static and dynamic obstacles, the accuracy of conflict identification in dynamic scenarios is significantly improved. For cases where a robot does not conflict with other robots, the robot executes the corresponding instructions. For cases where a robot conflicts with other robots, the real-time priority value of the robot's dynamics is calculated. Based on the conflict probability and the real-time priority value, the corresponding conflict resolution instructions for the robot are determined. Specifically, for different priority levels of robots, differentiated instructions are executed for multiple robots, improving the efficiency of multi-robot collaborative passage. Therefore, efficient, safe, and adaptive multi-robot collaboration is achieved.

[0016] The above description is merely an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention and to implement it in accordance with the contents of the specification, and in order to make the above and other objects, features and advantages of the present invention more apparent and understandable, specific embodiments of the present invention are described below. Attached Figure Description

[0017] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this invention, illustrate exemplary embodiments of the invention and are used to explain the invention, but do not constitute an undue limitation of this application. In the drawings: Figure 1 The diagram illustrates a flowchart of a multi-robot path planning method based on hybrid optimization and spatiotemporal prediction provided by an embodiment of the present invention. Figure 2 A flowchart illustrating another multi-robot path planning method based on hybrid optimization and spatiotemporal prediction provided by an embodiment of the present invention is shown. Figure 3 This diagram illustrates the structure of a multi-robot path planning device based on hybrid optimization and spatiotemporal prediction, according to an embodiment of the present invention. Figure 4 This diagram illustrates another multi-robot path planning device based on hybrid optimization and spatiotemporal prediction provided by an embodiment of the present invention. Detailed Implementation

[0018] The present invention will be described in detail below with reference to the accompanying drawings and embodiments. It should be noted that, unless otherwise specified, the embodiments and features described in the present invention can be combined with each other.

[0019] This embodiment provides a multi-robot path planning method based on hybrid optimization and spatiotemporal prediction, such as Figure 1 As shown, the method includes: 101. Construct a standardized grid map based on the positions of static obstacles, the starting position and the ending position of each robot, so as to perform multi-robot path planning on the standardized grid map.

[0020] In this embodiment, the environment is divided into an M×N grid, and the positions of static obstacles, the starting position and the ending position of each robot are marked to obtain a standardized grid map. The subsequent multi-robot path planning is completed in the standardized grid map.

[0021] 102. For each of the robots, based on the particle swarm optimization algorithm, calculate the individual optimal path of each particle according to the starting position, the ending position and the position of the static obstacle, determine the initial global optimal path of the robot according to the individual optimal paths of all particles, and determine the global optimal path based on the ant colony optimization algorithm according to the starting position, the ending position, the position of the static obstacle, the individual optimal paths of all particles and the initial global optimal path.

[0022] In this embodiment, a hybrid optimization method combining particle swarm optimization (PSO) and ant colony optimization (ACO) is used. This method combines the advantages of fast global search of PSO with the high accuracy of ACO, efficiently solving for the global optimal path of each robot with high accuracy.

[0023] 103. For each robot, during the current planning cycle, multiple candidate local trajectories are calculated based on the global optimal path, the static obstacle position, and the real-time acquired dynamic obstacle position. Based on the long short-term memory network model, the conflict probability between each of the robot's own candidate local trajectories and each of the candidate local trajectories of each other robot is calculated. Based on the conflict probability and a preset conflict probability threshold, it is determined whether the robot itself has a conflict with other robots.

[0024] In this embodiment, spatiotemporal prediction is performed based on a long short-term memory network model.

[0025] If the probability of conflict between at least one of the robot's own candidate local trajectories and each candidate local trajectory of each other robot is less than a preset conflict probability threshold, then the robot itself has no conflict with other robots; otherwise, the robot itself conflicts with other robots.

[0026] 104. If not, then determine the first target speed command to be executed by the robot based on the evaluation score of each of the candidate local trajectories of the robot itself, continuously execute the first target speed command for one planning cycle, update its own motion state after execution, and enter the next planning cycle.

[0027] In this embodiment, "if" means that if the probability of conflict between at least one candidate local trajectory of the robot and each candidate local trajectory of each other robot is less than a preset conflict probability threshold, then the robot itself has no conflict with other robots.

[0028] It should be noted that the robot's target local trajectory is the feasible velocity pair corresponding to the target local trajectory (the feasible velocity pair corresponding to the target local trajectory is called the target feasible velocity pair). It is obtained by forward simulation based on the robot's kinematic model within the trajectory prediction time. However, in actual execution, the robot will not execute the entire target local trajectory within the trajectory prediction time at once. Instead, it will execute a planning cycle with the first velocity command of the target local trajectory (that is, the first target velocity command), that is, execute a planning cycle with the target feasible velocity pair. After the execution is completed, the robot updates its own motion state (including its position). In the next planning cycle, the first target velocity command to be executed by the robot will be re-determined.

[0029] 105. If so, determine the real-time task status of the robot, calculate the real-time priority value of the robot based on the real-time task status, determine the corresponding conflict resolution instruction of the robot based on the conflict probability and the real-time priority value, so that the robot executes the corresponding conflict resolution instruction until the conflict is resolved, updates its own motion state, enters the next planning cycle, until the robot runs to its end position, and obtains the path planning of the robot.

[0030] In this embodiment, "if" means that if each of the robot's candidate local trajectories has a conflict probability greater than or equal to a preset conflict probability threshold, then the robot itself has a conflict with other robots.

[0031] Different instructions are executed for multiple robots based on their different priority levels, thereby improving the efficiency of multi-robot collaborative passage.

[0032] This invention provides a multi-robot path planning method and apparatus based on hybrid optimization and spatiotemporal prediction. The technical solution employs a standardized grid map to provide a consistent spatial reference for multiple robots. A hybrid optimization approach combining particle swarm optimization (PSO) and ant colony optimization (ACO) leverages the advantages of PSO's fast global search and ACO's high optimization accuracy to efficiently solve for the globally optimal path for each robot with high precision. Based on the globally optimal path, static obstacles, and dynamic obstacles, multiple candidate local trajectories are generated. A long short-term memory (LSTM) network model is used for spatiotemporal prediction to obtain the conflict probability between the candidate local trajectories of multiple robots. Since this conflict probability is predicted under both static and dynamic obstacles, the accuracy of conflict identification in dynamic scenarios is significantly improved. For cases where a robot does not conflict with other robots, the robot executes the corresponding instruction. For cases where a robot conflicts with other robots, the real-time priority value of the robot is calculated. Based on the conflict probability and the real-time priority value, the corresponding conflict resolution instruction for the robot is determined. Specifically, differentiated instructions are executed for multiple robots with different priority levels, improving the efficiency of multi-robot collaborative passage. Therefore, efficient, safe, and adaptive multi-robot collaboration is achieved.

[0033] Furthermore, as a refinement and extension of the specific implementation methods of the above embodiments, and to fully illustrate the specific implementation process in this embodiment, another multi-robot path planning method based on hybrid optimization and spatiotemporal prediction is provided, such as... Figure 2 As shown, the method includes: 201. Construct a standardized grid map based on the positions of static obstacles, the starting position and the ending position of each robot, so as to perform multi-robot path planning on the standardized grid map.

[0034] The specific implementation steps in this embodiment are the same as those in step 101 of the embodiment, and will not be repeated here.

[0035] 202. For each of the robots, based on the particle swarm optimization algorithm, calculate the individual optimal path of each particle according to the starting position, the ending position and the position of the static obstacle, determine the initial global optimal path of the robot according to the individual optimal paths of all particles, and determine the global optimal path based on the ant colony optimization algorithm according to the starting position, the ending position, the position of the static obstacle, the individual optimal paths of all particles and the initial global optimal path.

[0036] In this embodiment, for each of the robots, based on the particle swarm optimization algorithm, the individual optimal path of each particle is calculated according to the starting position, the ending position, and the position of the static obstacle. The initial global optimal path of the robot is then determined based on the individual optimal paths of all particles. Specifically: (1) Initialization: Set the particle swarm size and the maximum number of iterations. The particle swarm size is the number of all particles. Each particle generates a candidate path in each iteration under the constraints of the robot's starting position, the robot's ending position, and the position of the static obstacle. The total number of candidate paths is equal to the number of particles multiplied by the maximum number of iterations.

[0037] (2) Calculate the fitness function value for each candidate path (the smaller the fitness function value, the better the candidate path), obtain the individual optimal path of each particle in all iterations, and determine the best path among the individual optimal paths of all particles as the initial global optimal path.

[0038] Fitness function:

[0039] In the formula, Candidate paths Total length, Candidate paths The absolute value of the difference between the actual distance from a point on the map to the nearest static obstacle and the preset ideal safety distance. Candidate paths Curvature. for The corresponding preset weights, for The corresponding preset weights, for The corresponding preset weights.

[0040] In this embodiment, for each robot, based on the ant colony optimization algorithm, a globally optimal path is determined according to the starting position, the ending position, the position of the static obstacle, the individual optimal paths of all particles, and the initial globally optimal path. This includes: based on the ant colony optimization algorithm, generating the actual walking path of each ant in the current round according to the starting position, the ending position, the position of the static obstacle, the individual optimal paths of all particles, the initial globally optimal path, and the pheromone corresponding to the current round; calculating the target pheromone increment according to the initial globally optimal path; calculating the pheromone for the next round according to the target pheromone increment and the actual walking path of each ant in the current round; and iterating continuously until the actual walking paths of all ants converge to the same target path, and determining the target path as the globally optimal path. The pheromone corresponding to the first round is a first preset value. Specifically: (1) From the robot's starting position to its ending position, after avoiding static obstacles, form an edge set E={(i,j)|i,j∈node set, (i,j) is unobstructed and connected}. For any edge (i,j) in the edge set, execute the following iterative process: Step 1: Calculate the target pheromone increment corresponding to edge (i, j) : = +

[0041] In the formula, The pheromone increment contributed by the initial globally optimal path to edge (i, j). The average pheromone increment contributed by edge (i, j) to the individual optimal path of all particles. The preset weights corresponding to the pheromone increments contributed to the initial globally optimal path. The preset weights corresponding to the average pheromone increment contributed by the individual optimal paths of all particles.

[0042] Step 2: The ant constructs the actual walking path of a single wheel: For an ant k (k=1, 2, ..., m, where m is the total number of ants), when it is located at node i, it is within the set of its allowed neighboring nodes. In the middle, based on the pheromone of edge (i, j) at time t Substituting the path selection probability formula, calculate the probability of going to each adjacent node j. Ant k randomly selects the next node j based on this probability, adds the edge (i, j) to the path cache, and updates the current node to j. This process continues until ant k reaches the robot's destination. The final path cache represents the actual path ant k travels in t iterations (t iterations refer to time t). .

[0043] Step 3: Update the pheromones at time t+1: Based on the target pheromone increment and the actual walking paths of all ants in round t, the pheromone at edge (i, j) at time t+1 is calculated according to the pheromone update formula. :

[0044]

[0045] In the formula, Let the pheromone of edge (i, j) be at time t+1. Let the pheromone of edge (i, j) at time t be ( That is, the pheromone corresponding to the first edge (i, j) is the first preset value. Here, m is the pheromone evaporation coefficient, and m is the total number of ants. For the target pheromone increment, The actual path that ant k walks on wheel t. The above represents the pheromone released by edge (i, j). If edge (i, j) belongs to... , for If edge (i, j) does not belong to , =0, To preset the total pheromone constant, The actual path that ant k walks in wheel t. The total cost.

[0046] Step 4, Iterative convergence: The pheromone of edge (i, j) at time t+1 As input for the next round, repeat steps 2 and 3 to allow ant k to construct the actual walking path for round t+1. and updated to obtain The process continues iterating until all the actual walking paths of the ants converge to the same target path. This target path is the globally optimal path for the robot from its starting position to its ending position, while avoiding static obstacles.

[0047] 203. For each robot, during the current planning cycle, multiple candidate local trajectories are calculated based on the global optimal path, the static obstacle position, and the real-time acquired dynamic obstacle position. Based on the long short-term memory network model, the conflict probability between each of the robot's own candidate local trajectories and each of the candidate local trajectories of each other robot is calculated. Based on the conflict probability and a preset conflict probability threshold, it is determined whether the robot itself has a conflict with other robots.

[0048] In this embodiment, calculating multiple candidate local trajectories based on the globally optimal path, the static obstacle positions, and the real-time acquired dynamic obstacle positions includes: acquiring the dynamic obstacle positions in real time; determining the predicted dynamic obstacle positions based on the dynamic obstacle positions, historical dynamic obstacle positions, and trajectory prediction duration, wherein the trajectory prediction duration is equal to a positive integer multiple of one planning cycle; determining multiple feasible velocity pairs of the robot under constraints based on the robot's current motion state, the robot's motion parameters, the static obstacle positions, the dynamic obstacle positions, the predicted dynamic obstacle positions, and a preset obstacle avoidance safety threshold, wherein the constraints include: velocity space boundary constraints, acceleration constraints, deceleration and braking constraints, and obstacle safety distance constraints; the current motion state includes the current position, current linear velocity, and current angular velocity; the motion parameters include maximum linear velocity, maximum angular velocity, maximum linear acceleration, maximum linear deceleration, maximum angular acceleration, and maximum angular deceleration; and the feasible velocity pairs include feasible linear velocity and feasible angular velocity; and predicting candidate local trajectories of the robot within the trajectory prediction duration for each feasible velocity pair.

[0049] The method for calculating candidate local trajectories is based on the Dynamic Window Approach (DWA), specifically: For real-time acquisition of dynamic obstacle positions, the predicted position of the dynamic obstacle is determined based on the dynamic obstacle position, the dynamic obstacle's historical position, and the trajectory prediction duration. Specifically, based on the real-time acquired dynamic obstacle position and the dynamic obstacle's historical position, the dynamic obstacle's speed and direction are calculated, the dynamic obstacle's motion mode is set, such as uniform linear motion, and the future position of the dynamic obstacle within the trajectory prediction duration is predicted, which is the predicted position of the dynamic obstacle.

[0050] Based on the robot's current motion state, motion parameters, static obstacle position, dynamic obstacle position, predicted dynamic obstacle position, and preset obstacle avoidance safety threshold, multiple feasible speed pairs of the robot are determined under constraints. Specifically, the constraints are: (1) Velocity space boundary constraints, the purpose of which is to eliminate linear velocities and angular velocities that exceed the physical performance limits of the robot: The range of feasible linear velocities for the robot: [0, ], For the maximum linear velocity, the range of feasible angular velocities for the robot is: [ , ], This represents the maximum angular velocity.

[0051] (2) Acceleration constraints, based on the robot's current linear velocity Current angular velocity Maximum linear acceleration Maximum linear deceleration Maximum angular acceleration Maximum angular deceleration Calculate within a planning period Within t, the robot's feasible linear velocity and feasible angular velocity: The range of feasible linear velocities for the robot: [ t, t] The range of feasible angular velocities for the robot: [ t, t] (3) Deceleration and braking constraints are designed to ensure that the robot can come to a complete stop before collision when it encounters an obstacle (including static and dynamic obstacles). The position of the static obstacle is known, while the position of the dynamic obstacle is acquired in real time. It is the distance from the robot's current position to the nearest obstacle (obstacles include static and dynamic obstacles, and the obstacle's position includes the static obstacle's position and the real-time acquired dynamic obstacle's position). It is the maximum linear deceleration: The range of feasible linear velocities for the robot:

[0052] (4) Obstacle safety distance constraints. For dynamic obstacles, it should be noted that the dynamic obstacle position is not obtained in real time, but the predicted position of the dynamic obstacle is used. All linear velocities and angular velocities that are less than the preset obstacle avoidance safety threshold at the distance from the predicted position of the dynamic obstacle are removed, as are all linear velocities and angular velocities that are less than the preset obstacle avoidance safety distance at the distance from the static obstacle.

[0053] The intersection of the ranges of feasible linear velocities of the robot under the four constraints and the intersection of the ranges of feasible angular velocities under the four constraints are calculated to obtain a two-dimensional dynamic window. Network-like sampling is then performed within this two-dimensional dynamic window; for example, 15 points are uniformly selected along the feasible linear velocity direction and 20 points are uniformly selected along the feasible angular velocity direction, thus generating 15... 20 = 300 feasible velocity pairs. The denser the sampling, the more feasible velocity pairs there are.

[0054] Specifically, for each feasible speed pair, a candidate local trajectory for the robot is predicted within the trajectory prediction time. This involves: for each feasible speed pair, a forward simulation is performed based on the robot's kinematic model within the trajectory prediction time to obtain the corresponding candidate local trajectory. For example, simulating with the feasible speed pair, a trajectory point is obtained after each simulation duration; after one trajectory prediction duration, a sequence of trajectory points is obtained. Connecting the sequence of trajectory points yields the corresponding candidate local trajectory for the feasible speed pair. It should be noted that the simulation duration and the planning period can be the same or different; this is not limited here.

[0055] In this embodiment, the step of calculating the conflict probability between each of the robot's own candidate local trajectories and each of the candidate local trajectories of each other robot based on the Long Short-Term Memory (LSTM) network model includes: performing spatiotemporal data alignment between each of the robot's own candidate local trajectories and each of the candidate local trajectories of each other robot; for each of the robot's own candidate local trajectories, constructing a corresponding fused spatiotemporal trajectory matrix with one candidate local trajectory from all the candidate local trajectories of all robots; inputting the fused spatiotemporal trajectory matrix into a conflict prediction model and outputting the corresponding conflict probability, wherein the conflict prediction model is constructed based on the LSM network model and trained based on candidate local trajectory samples.

[0056] Among them, all candidate local trajectories of all robots are spatiotemporal two-dimensional features. Spatiotemporal data alignment refers to equalizing the time series length of all candidate local trajectories of all robots in the time dimension and unifying the spatial coordinates in the spatial dimension. The time dimension is the sequence of sampling times of the candidate local trajectory: , ... The sampling time sequence is an arithmetic sequence with a common difference of one planning period (e.g., - =A planning cycle t), and - =Trajectory prediction time (equalized by the time series length of all candidate local trajectories of all robots to this trajectory prediction time). The above illustrates a one-to-one correspondence between feasible velocity pairs and candidate local trajectories. It should be noted here that this feasible velocity pair is... The corresponding sampling time is then used as a basis for a forward simulation based on the robot's kinematics model to obtain the candidate local trajectory for that feasible velocity pair.

[0057] Spatial dimension refers to the simulated position of the robot on the standardized grid map at the corresponding sampling time within the current trajectory prediction duration, for example... Corresponding to the simulated location on the standardized raster map ( , ), Corresponding to the simulated location on the standardized raster map ( , ), ... Corresponding to the simulated location on the standardized raster map ( , ).

[0058] Specifically, for constructing the corresponding fused spatiotemporal trajectory matrix; the fused spatiotemporal trajectory matrix is ​​input into the conflict prediction model, and the corresponding conflict probability is output, specifically: A fused spatiotemporal trajectory matrix is ​​a direct concatenation of a candidate local trajectory of the robot itself and a candidate local trajectory from all other robots' candidate local trajectories. The fused spatiotemporal trajectory matrix is: This refers to the direct concatenation of the candidate local trajectory s of the robot itself with the candidate local trajectories f of other robots o. The fused spatiotemporal trajectory matrix is ​​input into the conflict prediction model, and the output is the conflict probability between the candidate local trajectories s of the robot itself and the candidate local trajectories f of other robots o.

[0059] It should be noted that, based on the Long Short-Term Memory network model, an initial conflict prediction model is constructed, multiple pairs of candidate local trajectory samples are obtained, and the true conflict probability value is labeled for each pair of candidate local trajectory samples. Any pair of candidate local trajectory samples is input into the initial conflict prediction model, and the predicted conflict probability value of the pair of candidate local trajectory samples is output. Based on the true conflict probability value and the predicted conflict probability value, the loss function value is calculated. If the loss function value is less than the preset loss function value, the conflict prediction model is trained. If the loss function value is greater than or equal to the preset loss function value, the model parameters of the initial conflict prediction model are adjusted until the loss function value is less than the preset loss function value, and the conflict prediction model is trained.

[0060] To determine whether a robot has a conflict with other robots based on the conflict probability and a preset conflict probability threshold, specifically: if the conflict probability of at least one of the robot's candidate local trajectories with each candidate local trajectory of every other robot is less than the preset conflict probability threshold, then the robot has no conflict with other robots; otherwise, the robot has a conflict with other robots. For example, if there are 9 other robots, each with 10 candidate local trajectories, and the robot itself also has 10 candidate local trajectories, if the robot has one candidate local trajectory, and 10 conflict probabilities are calculated for each of the 10 candidate local trajectories of robot 1, robot 2, ..., robot 9, and all 90 conflict probabilities are less than the preset conflict probability threshold, then the robot has no conflict with other robots.

[0061] 204. If not, then determine the first target speed command to be executed by the robot based on the evaluation score of each of the candidate local trajectories of the robot itself, continuously execute the first target speed command for one planning cycle, update its own motion state after execution, and enter the next planning cycle.

[0062] In this embodiment, if the condition is not met, then determining the first target speed command to be executed by the robot based on the evaluation score of each of the candidate local trajectories of the robot itself includes: for each candidate local trajectory of the robot itself, if at least one conflict probability corresponding to the candidate local trajectory is greater than or equal to a preset conflict probability threshold, then the candidate local trajectory is eliminated, and qualified candidate local trajectories are obtained after elimination; the evaluation score of each candidate local trajectory of the robot itself is calculated, and the qualified candidate local trajectory with the highest evaluation score is determined as the target local trajectory, and the first speed command of the target local trajectory is determined as the first target speed command to be executed by the robot.

[0063] The "if" option means that if the probability of conflict between at least one of the robot's candidate local trajectories and each candidate local trajectory of each other robot is less than a preset conflict probability threshold, then the robot itself has no conflict with other robots.

[0064] If a robot has only one candidate local trajectory, and the probability of all conflicts with each candidate local trajectory of every other robot is less than a preset conflict probability threshold, then the candidate local trajectory is a qualified candidate local trajectory of the robot itself, and also the qualified candidate local trajectory with the highest evaluation score. Therefore, the robot itself determines the candidate local trajectory as the target local trajectory.

[0065] In this embodiment, calculating the evaluation score of each candidate local trajectory of the robot includes: extracting multiple preset key nodes of the global optimal path to obtain a set of navigation sub-target points of the robot; traversing the set of navigation sub-target points; determining the current navigation sub-target point based on the robot's current position; calculating a first distance score between the current navigation sub-target point and the last point of each candidate local trajectory of the robot; calculating a second distance score between each candidate local trajectory of the robot and an obstacle based on the static obstacle position, the predicted dynamic obstacle position, the global optimal path, and the preset obstacle avoidance safety threshold, wherein the obstacle includes dynamic obstacles and static obstacles; calculating the fit score between the last point of each candidate local trajectory of the robot and the global optimal path; calculating an evaluation score based on the first distance score, the preset weight corresponding to the first distance score, the second distance score, the preset weight corresponding to the second distance score, the fit score, and the preset weight corresponding to the fit score of the same candidate local trajectory, to obtain the evaluation score of each candidate local trajectory of the robot, wherein the sum of the preset weight corresponding to the first distance score, the preset weight corresponding to the second distance score, and the preset weight corresponding to the fit score is 1.

[0066] Specifically, for extracting multiple preset key nodes from the globally optimal path, a set of navigation sub-target points for the robot is obtained. This set of navigation sub-target points is traversed, and the current navigation sub-target point is determined based on the robot's current position. Specifically, the inflection points along the globally optimal path from the starting point to the ending point are identified as preset key nodes. This serves to break down the globally optimal path into multiple local stage targets, with each inflection point being a navigation sub-target point. Once the robot is at a certain navigation sub-target point, the next navigation sub-target point is used as the current navigation sub-target point, guiding the robot to move in the direction of the current navigation sub-target point until the last navigation sub-target point, which is the robot's ending point. Directly using the direction of the robot's ending point as the navigation target could easily lead to deviation. Each preset key node is a navigation sub-target point.

[0067] Specifically, for calculating the first distance score between the current navigation sub-target point and the last point of each of the candidate local trajectories of the robot itself, the last point of the candidate local trajectory refers to the point within the current trajectory prediction time (all sampling moments within the current trajectory prediction time are...). , ... Sampling time Corresponding to the simulated location on the standardized raster map ( , ), calculate the current navigation sub-target point and the simulated position ( , The distance between them is the first distance score.

[0068] Specifically, for each candidate local trajectory of the robot, a second distance score is calculated between the robot and the obstacle based on the static obstacle position, the predicted dynamic obstacle position, the global optimal path, and the preset obstacle avoidance safety threshold. Specifically, for each candidate local trajectory, each target point on the candidate local trajectory is traversed, and the distance between the coordinates of the target point and the coordinates of each obstacle is calculated (here, the coordinates of the obstacle refer to the static obstacle position and the predicted dynamic obstacle position at the corresponding time, where the corresponding time refers to the time when the target point is generated on the candidate local trajectory). The minimum distance is obtained. If this minimum value is less than the preset obstacle avoidance safety threshold, the second distance score is 0; if this minimum value is greater than or equal to the preset obstacle avoidance safety threshold, the second distance score is this minimum value. It should be noted that the number of target points traversed on the candidate local trajectory is a first preset value. The more target points there are, the greater the computational load of the second distance score, and the higher the accuracy.

[0069] Specifically, for each candidate local trajectory of the robot, the fit score between the last point and the globally optimal path is calculated. Specifically, for each candidate local trajectory, the last point on the candidate local trajectory is determined. The last point of the candidate local trajectory refers to the point within the current trajectory prediction time (all sampling moments within the current trajectory prediction time are...). , ... ), sampling time Corresponding to the simulated location on the standardized raster map ( , (This connects the discrete points of the globally optimal path sequentially into multiple continuous path segments) =( , ), ( =1, 2, ..., g-1), for each path segment, calculate the point ( , ) to path segment vertical distance , ={ , ,..., } Calculate the minimum vertical distance among all vertical distances. , =min{ , ,...,}, obtain the preset maximum allowable deviation distance If the minimum vertical distance Greater than or equal to the preset maximum allowable deviation distance If the minimum vertical distance is 0, the fit score is 0. Less than the preset maximum allowable deviation distance Then calculate the minimum vertical distance. Divide by the preset maximum allowable deviation distance The eighth result is obtained, and the fit score is 1 minus the eighth result.

[0070] Specifically, for each candidate local trajectory of the robot, an evaluation score is calculated based on the first distance score, the preset weight corresponding to the first distance score, the second distance score, the preset weight corresponding to the second distance score, the fitting score, and the preset weight corresponding to the fitting score. Specifically, for any candidate local trajectory of the robot, a first result is obtained by multiplying the first distance score by the preset weight corresponding to the first distance score; a second result is obtained by multiplying the second distance score by the preset weight corresponding to the second distance score; and a third result is obtained by multiplying the fitting score by the preset weight corresponding to the fitting score. The first, second, and third results of the same candidate local trajectory are added together to obtain the evaluation score of that candidate local trajectory, thus obtaining the evaluation score of each candidate local trajectory of the robot.

[0071] Specifically, regarding the determination of the first velocity command of the target local trajectory as the first target velocity command to be executed by the robot, it should be noted that the robot's own target local trajectory is the feasible velocity pair corresponding to the target local trajectory (the feasible velocity pair corresponding to the target local trajectory is called the target feasible velocity pair). It is obtained by forward simulation based on the robot's kinematic model within the trajectory prediction time. However, in actual execution, the robot will not execute the entire target local trajectory within the trajectory prediction time at once. Instead, it will execute a planning cycle with the first velocity command of the target local trajectory (that is, the first target velocity command), that is, execute a planning cycle with the target feasible velocity pair. After the execution is completed, the robot updates its own motion state (including its position). In the next planning cycle, the first target velocity command to be executed by the robot is re-determined.

[0072] 205. If so, then determine the real-time task status of the robot.

[0073] Here, "if" means that if each of the robot's candidate local trajectories has a conflict probability greater than or equal to a preset conflict probability threshold, then the robot itself has a conflict with other robots.

[0074] For example, the robot itself has 2 candidate local trajectories, and there are 2 other robots, each with 2 candidate local trajectories: candidate local trajectory 1 of other robot 1, candidate local trajectory 2 of other robot 1, candidate local trajectory 1 of other robot 2, and candidate local trajectory 2 of other robot 2. If a robot's own candidate local trajectory 1 has at least one conflict probability greater than or equal to a preset conflict probability threshold, specifically, if the conflict probability of its candidate local trajectory 1 with other robot 1 is greater than or equal to the preset conflict probability threshold, and the conflict probability of its candidate local trajectory 2 with other robot 1, the conflict probability of its candidate local trajectory 1 with other robot 2, and the conflict probability of its candidate local trajectory 2 with other robot 2 are all less than the preset conflict probability threshold, then the robot itself is in conflict with other robot 1.

[0075] If a robot's own candidate local trajectory 2 has at least one conflict probability greater than or equal to a preset conflict probability threshold, specifically, if the conflict probability of its candidate local trajectory 1 with other robots 2 is greater than or equal to the preset conflict probability threshold, and the conflict probability of its candidate local trajectory 1 with other robots 1, the conflict probability of its candidate local trajectory 2 with other robots 1, and the conflict probability of its candidate local trajectory 2 with other robots 2 are all less than the preset conflict probability threshold, then the robot itself is in conflict with other robots 2.

[0076] In this embodiment, determining the real-time task status of the robot includes: acquiring the urgency of the task assigned to the robot in real time, acquiring the remaining battery percentage of the robot in real time, acquiring the number of other robots within a preset range of the robot in real time, and calculating the path congestion index based on the number of other robots; and determining the task urgency, the remaining battery percentage, and the path congestion index as the real-time task status of the robot.

[0077] The task urgency level is set in advance, ranging from 0 to 1, while the remaining battery percentage is also set in real-time, ranging from 0 to 1. The number of other robots within a preset range of the robot itself is then monitored in real-time; specifically, this preset range is defined as a second preset value. Within the entire grid of the second preset value, the robot's current position is within the second preset value. The second preset value is the center grid of the overall grid. Specifically, to calculate the path congestion index based on the number of other robots, the second preset value is multiplied by the second preset value to obtain the seventh result. The path congestion index is equal to the number of other robots within a preset range of the robot itself divided by the seventh result.

[0078] 206. Calculate the real-time priority value of the robot based on the real-time task status.

[0079] In this embodiment, the robot's real-time priority value is obtained by calculating the weighted sum of the task urgency, the remaining battery percentage, and the path congestion index.

[0080] Specifically, the task urgency is calculated by multiplying it by a preset weight corresponding to the task urgency to obtain the fourth result; the remaining battery percentage is calculated by multiplying it by a preset weight corresponding to the remaining battery percentage to obtain the fifth result; the path congestion index is calculated by multiplying it by a preset weight corresponding to the path congestion index to obtain the sixth result; and the sum of the fourth, fifth, and sixth results is calculated to obtain the robot's real-time priority value.

[0081] 207. Determine the conflict resolution instruction corresponding to the robot based on the conflict probability and the real-time priority value, so that the robot executes the corresponding conflict resolution instruction until the conflict is resolved, updates its own motion state, enters the next planning cycle, until the robot runs to its destination position, and obtains the path planning of the robot.

[0082] It should be noted that steps 205, 206, and 207 in the embodiment all involve situations where the robot itself is in conflict with other robots.

[0083] In this embodiment, determining the conflict resolution instruction corresponding to the robot based on the conflict probability and the real-time priority value, so that the robot executes the corresponding conflict resolution instruction until the conflict is resolved and its own motion state is updated, includes: determining the priority level of the robot based on the real-time priority value; if the priority level of the robot is higher than that of other robots in conflict, then the candidate local trajectory with the highest evaluation score of the robot is taken as the optimal local trajectory, and the first speed instruction of the optimal local trajectory is determined as the second target speed instruction to be executed by the robot, so that the robot continuously executes the second target speed instruction for one planning cycle, and after execution... The robot updates its own motion state; it determines the conflict level based on the maximum value of all conflict probabilities corresponding to all candidate local trajectories of the robot; if the conflict level is a level 1 conflict and the priority level is lower than that of other robots in conflict, a local avoidance path is generated so that the robot executes the local avoidance path to its endpoint and updates its own motion state; if the conflict level is a level 2 conflict and the priority level is lower than that of other robots in conflict, the robot calculates its own safe speed based on the robot's emergency braking distance model so that the robot executes a deceleration command to the safe speed for one planning cycle, and updates its own motion state after execution.

[0084] It should be noted that when comparing priority levels, only the robot itself needs to be compared with the other robots in the conflict. If the robot itself has a higher priority, regardless of the conflict level, the robot will execute according to the guidance of its optimal local trajectory. Specifically, the guidance is as follows: the first speed command of the robot's optimal local trajectory is determined as the robot's second target speed command to be executed. The same principle applies to determining the first speed command of the optimal local trajectory as the robot's second target speed command, and the same principle applies to determining the first speed command of the target local trajectory as the robot's first target speed command; therefore, it will not be elaborated further here.

[0085] The conflict level is determined based on the maximum value of all conflict probabilities corresponding to all candidate local trajectories of the robot. Specifically, if the maximum value of all conflict probabilities is greater than a preset conflict probability threshold but less than or equal to a conflict level threshold, the conflict level is level two; if the maximum value of all conflict probabilities is greater than the conflict level threshold, the conflict level is level one. The preset conflict probability threshold is less than the conflict level threshold. For example, if the conflict level threshold is 0.6 and the preset conflict probability threshold is 0.2, then level one conflict is more severe than level two conflict.

[0086] If the conflict level is Level 1 and the priority level is lower than that of other robots in the conflict, a local avoidance path is generated so that the robot executes the local avoidance path to its endpoint and updates its motion state. Specifically: First, since the priority level of the other robots in the conflict is higher than that of the robot itself, the other robots execute the first speed command of their optimal local trajectory. Within one planning cycle, the predicted trajectories of the other robots in the conflict can be predicted. Then, on the robot's own globally optimal path, an avoidance sub-target point is selected. This avoidance sub-target point is in front of the robot, is not on the predicted trajectory, and the distance between the avoidance sub-target point and obstacles (including the positions of static and dynamic obstacles) is greater than a preset obstacle avoidance safety threshold. Finally, starting from the robot's current position and ending at the avoidance sub-target point, and with the constraint of not intersecting with the predicted trajectory, a local avoidance path is generated.

[0087] If the conflict level is level two and the priority level is lower than that of other robots in the conflict, then the robot's own safe speed is calculated based on the robot's emergency braking distance model. This allows the robot to execute a deceleration command to the safe speed for one planning cycle. After execution, the robot updates its motion state. Specifically: Obtain the robot's current position, calculate the distance between this current position and each other robot in conflict, and calculate the minimum of these distances. , Calculate the minimum value among these distances to determine the preset safe parking distance. Subtract the preset safe parking distance , thus obtaining the interval distance d.

[0088] Calculate the robot's safe speed based on the robot's emergency braking distance model: =

[0089] in, It is the robot's maximum linear deceleration.

[0090] This invention provides a multi-robot path planning method and apparatus based on hybrid optimization and spatiotemporal prediction. The technical solution employs a standardized grid map to provide a consistent spatial reference for multiple robots. A hybrid optimization approach combining particle swarm optimization (PSO) and ant colony optimization (ACO) leverages the advantages of PSO's fast global search and ACO's high optimization accuracy to efficiently solve for the globally optimal path for each robot with high precision. Based on the globally optimal path, static obstacles, and dynamic obstacles, multiple candidate local trajectories are generated. A long short-term memory (LSTM) network model is used for spatiotemporal prediction to obtain the conflict probability between the candidate local trajectories of multiple robots. Since this conflict probability is predicted under both static and dynamic obstacles, the accuracy of conflict identification in dynamic scenarios is significantly improved. For cases where a robot does not conflict with other robots, the robot executes the corresponding instruction. For cases where a robot conflicts with other robots, the real-time priority value of the robot is calculated. Based on the conflict probability and the real-time priority value, the corresponding conflict resolution instruction for the robot is determined. Specifically, differentiated instructions are executed for multiple robots with different priority levels, improving the efficiency of multi-robot collaborative passage. Therefore, efficient, safe, and adaptive multi-robot collaboration is achieved.

[0091] Furthermore, as Figure 1 and Figure 2 The specific implementation of the method shown in this invention provides a multi-robot path planning device based on hybrid optimization and spatiotemporal prediction, such as... Figure 3 As shown, the device includes: a construction module 31, a calculation module 32, a judgment module 33, a first determination module 34, and a second determination module 35; Module 31 is used to construct a standardized grid map based on the positions of static obstacles, the starting position and the ending position of each robot, so as to perform multi-robot path planning in the standardized grid map; The calculation module 32 is used to calculate the individual optimal path of each particle for each robot based on the particle swarm optimization algorithm, according to the starting position, the ending position and the position of the static obstacle, and to determine the initial global optimal path of the robot based on the individual optimal paths of all particles. Based on the ant colony optimization algorithm, it determines the global optimal path based on the starting position, the ending position, the position of the static obstacle, the individual optimal paths of all particles and the initial global optimal path. The judgment module 33 is used to calculate multiple candidate local trajectories for each robot in the current planning cycle based on the global optimal path, the static obstacle position and the real-time acquired dynamic obstacle position. Based on the long short-term memory network model, it calculates the conflict probability between each of the robot's own candidate local trajectories and each of the candidate local trajectories of each other robot. Based on the conflict probability and the preset conflict probability threshold, it judges whether the robot itself has a conflict with other robots. The first determining module 34 is used to determine the first target speed command to be executed by the robot based on the evaluation score of each of the candidate local trajectories of the robot itself if no, and to continuously execute the first target speed command for one planning cycle. After execution, the robot updates its own motion state and enters the next planning cycle. The second determining module 35 is used to determine the real-time task status of the robot if the condition is met, calculate the real-time priority value of the robot based on the real-time task status, determine the corresponding conflict resolution instruction for the robot based on the conflict probability and the real-time priority value, so that the robot executes the corresponding conflict resolution instruction until the conflict is resolved, updates its own motion state, enters the next planning cycle, until the robot runs to its endpoint position, and obtains the path planning of the robot.

[0092] Accordingly, in order to calculate multiple candidate local trajectories based on the global optimal path, the static obstacle positions, and the real-time acquired dynamic obstacle positions, the judgment module 33 is specifically used to acquire the dynamic obstacle positions in real time, determine the predicted dynamic obstacle positions based on the dynamic obstacle positions, the historical dynamic obstacle positions, and the trajectory prediction duration, wherein the trajectory prediction duration is equal to a positive integer multiple of one planning cycle; and determine the predicted dynamic obstacle positions based on the robot's current motion state, the robot's motion parameters, the static obstacle positions, the dynamic obstacle positions, the predicted dynamic obstacle positions, and the predicted... An obstacle avoidance safety threshold is set. Under constraints, multiple feasible velocity pairs of the robot are determined. The constraints include: velocity space boundary constraints, acceleration constraints, deceleration and braking constraints, and obstacle safety distance constraints. The current motion state includes the current position, current linear velocity, and current angular velocity. The motion parameters include maximum linear velocity, maximum angular velocity, maximum linear acceleration, maximum linear deceleration, maximum angular acceleration, and maximum angular deceleration. The feasible velocity pairs include feasible linear velocity and feasible angular velocity. For each feasible velocity pair, a candidate local trajectory of the robot within the trajectory prediction time is predicted.

[0093] Accordingly, in order to calculate the conflict probability between each of the robot's own candidate local trajectories and each of the candidate local trajectories of each other robot based on the Long Short-Term Memory Network model, the judgment module 33 is specifically used to perform spatiotemporal data alignment between each of the robot's own candidate local trajectories and each of the candidate local trajectories of each other robot; for each of the robot's own candidate local trajectories, it constructs a corresponding fused spatiotemporal trajectory matrix with one candidate local trajectory from all the candidate local trajectories of all robots; the fused spatiotemporal trajectory matrix is ​​input into the conflict prediction model, and the corresponding conflict probability is output, wherein the conflict prediction model is constructed based on the Long Short-Term Memory Network model and trained based on candidate local trajectory samples.

[0094] Accordingly, in order to determine the real-time task status of the robot, the second determining module 35 is specifically used to obtain in real-time the task urgency issued to the robot, the remaining battery percentage of the robot, and the number of other robots within a preset range of the robot itself, and calculate the path congestion index based on the number of other robots; the task urgency, the remaining battery percentage, and the path congestion index are determined as the real-time task status of the robot; in order to calculate the real-time priority value of the robot based on the real-time task status, the second determining module 35 is specifically used to calculate the weighted sum of the task urgency, the remaining battery percentage, and the path congestion index to obtain the real-time priority value of the robot.

[0095] Accordingly, if not, the first target speed command to be executed by the robot is determined based on the evaluation score of each of the candidate local trajectories of the robot itself. The first determining module 34 is specifically used to, for each candidate local trajectory of the robot itself, if the probability of at least one conflict corresponding to the candidate local trajectory is greater than or equal to a preset conflict probability threshold, then the candidate local trajectory is removed, and qualified candidate local trajectories are obtained after removal; the evaluation score of each of the candidate local trajectories of the robot itself is calculated, and the qualified candidate local trajectory with the largest evaluation score is determined as the target local trajectory, and the first speed command of the target local trajectory is determined as the first target speed command to be executed by the robot.

[0096] Accordingly, in order to calculate the evaluation score of each of the candidate local trajectories of the robot itself, the first determining module 34 is specifically used to extract multiple preset key nodes of the global optimal path to obtain a set of navigation sub-target points of the robot itself, traverse the set of navigation sub-target points, determine the current navigation sub-target point according to the robot's current position, calculate the first distance score between the current navigation sub-target point and the last point of each of the candidate local trajectories of the robot itself; and calculate the second distance score between each of the candidate local trajectories of the robot and the obstacle according to the static obstacle position, the predicted dynamic obstacle position, the global optimal path and the preset obstacle avoidance safety threshold. Distance score, wherein the obstacles include dynamic obstacles and static obstacles; calculate the fit score between the last point of each candidate local trajectory of the robot and the global optimal path; calculate the evaluation score for each candidate local trajectory of the robot based on the first distance score, the preset weight corresponding to the first distance score, the second distance score, the preset weight corresponding to the second distance score, the fit score and the preset weight corresponding to the fit score, wherein the sum of the preset weight corresponding to the first distance score, the preset weight corresponding to the second distance score and the preset weight corresponding to the fit score is 1.

[0097] Accordingly, in order to determine the conflict resolution instruction corresponding to the robot based on the conflict probability and the real-time priority value, so that the robot executes the corresponding conflict resolution instruction until the conflict is resolved and its own motion state is updated, the second determining module 35 includes: a first determining unit 351 and a second determining unit 352. The first determining unit 351 is specifically used to determine the priority level of the robot based on the real-time priority value; The second determining unit 352 is specifically configured to: if the priority level of the robot itself is higher than that of other robots in conflict, then take the candidate local trajectory with the highest evaluation score of the robot itself as the optimal local trajectory, and determine the first speed command of the optimal local trajectory as the second target speed command to be executed by the robot, so that the robot continuously executes the second target speed command for one planning cycle, and after execution, update its own motion state; determine the conflict level according to the maximum value of all conflict probabilities corresponding to all candidate local trajectories of the robot itself; if the conflict level is a level 1 conflict and the priority level is lower than that of other robots in conflict, then generate a local avoidance path so that the robot executes the local avoidance path to the end point of the local avoidance path, and update its own motion state; if the conflict level is a level 2 conflict and the priority level is lower than that of other robots in conflict, then calculate the robot's own safe speed based on the robot's emergency braking distance model so that the robot executes the command to decelerate to the safe speed for one planning cycle, and after execution, update its own motion state.

[0098] It should be noted that other corresponding descriptions of the functional units involved in the multi-robot path planning device based on hybrid optimization and spatiotemporal prediction provided in this embodiment can be found in [reference]. Figures 1 to 2 The corresponding description will not be repeated here.

[0099] Based on the above, Figures 1 to 2 Accordingly, this embodiment also provides a storage medium, which may be volatile or non-volatile, storing a computer program that, when executed by a processor, implements the above-described method. Figures 1 to 2 The multi-robot path planning method shown is based on hybrid optimization and spatiotemporal prediction.

[0100] Based on this understanding, the technical solution of the present invention can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, portable hard drive, etc.) and includes several instructions to cause a computer device (such as a personal computer, server, or network device, etc.) to execute the methods of various implementation scenarios of the present invention.

[0101] Based on the above, Figures 1 to 2 The method shown and Figure 3 , Figure 4 To achieve the above objectives, the present application also provides a computer device, specifically a personal computer, server, network device, etc., as shown in the illustrated embodiment. This computer device includes a storage medium and a processor; the storage medium stores a computer program; the processor executes the computer program to achieve the above-described objectives. Figure 1 and Figure 2 The multi-robot path planning method shown is based on hybrid optimization and spatiotemporal prediction.

[0102] Optionally, the computer device may also include a user interface, a network interface, a camera, radio frequency (RF) circuitry, sensors, audio circuitry, a Wi-Fi module, etc. The user interface may include a display screen, input units such as a keyboard, etc., and optional user interfaces may also include USB interfaces, card reader interfaces, etc. The network interface may optionally include standard wired interfaces, wireless interfaces (such as Wi-Fi interfaces), etc.

[0103] Those skilled in the art will understand that the computer device structure provided in this embodiment does not constitute a limitation on the physical device, and may include more or fewer components, or combine certain components, or have different component arrangements.

[0104] The storage medium may also include an operating system and a network communication module. The operating system is a program that manages the hardware and software resources of the aforementioned computer device, supporting the operation of information processing programs and other software and / or programs. The network communication module is used to enable communication between the various components within the non-volatile storage medium, as well as communication with other hardware and software in the information processing entity device.

[0105] Through the above description of the embodiments, those skilled in the art can clearly understand that the present invention can be implemented by means of software plus necessary general-purpose hardware platform, or it can be implemented by hardware.

[0106] This invention provides a multi-robot path planning method and apparatus based on hybrid optimization and spatiotemporal prediction. The technical solution employs a standardized grid map to provide a consistent spatial reference for multiple robots. A hybrid optimization approach combining particle swarm optimization (PSO) and ant colony optimization (ACO) leverages the advantages of PSO's fast global search and ACO's high optimization accuracy to efficiently solve for the globally optimal path for each robot with high precision. Based on the globally optimal path, static obstacles, and dynamic obstacles, multiple candidate local trajectories are generated. A long short-term memory (LSTM) network model is used for spatiotemporal prediction to obtain the conflict probability between the candidate local trajectories of multiple robots. Since this conflict probability is predicted under both static and dynamic obstacles, the accuracy of conflict identification in dynamic scenarios is significantly improved. For cases where a robot does not conflict with other robots, the robot executes the corresponding instruction. For cases where a robot conflicts with other robots, the real-time priority value of the robot is calculated. Based on the conflict probability and the real-time priority value, the corresponding conflict resolution instruction for the robot is determined. Specifically, differentiated instructions are executed for multiple robots with different priority levels, improving the efficiency of multi-robot collaborative passage. Therefore, efficient, safe, and adaptive multi-robot collaboration is achieved.

[0107] Those skilled in the art will understand that the accompanying drawings are merely schematic diagrams of a preferred embodiment, and the modules or processes shown in the drawings are not necessarily essential for implementing the present invention. Those skilled in the art will understand that the modules in the apparatus of the embodiment can be distributed within the apparatus of the embodiment as described, or they can be located in one or more apparatuses different from this embodiment, with corresponding changes. The modules of the above-described embodiment can be combined into one module, or further divided into multiple sub-modules.

[0108] The serial numbers used above are for descriptive purposes only and do not represent the superiority or inferiority of the implementation scenarios. The above disclosures are merely a few specific implementation scenarios of the present invention; however, the present invention is not limited thereto, and any variations conceived by those skilled in the art should fall within the protection scope of the present invention.

Claims

1. A multi-robot path planning method based on hybrid optimization and spatiotemporal prediction, characterized in that, The method includes: A standardized grid map is constructed based on the positions of static obstacles, the starting position and the ending position of each robot, so as to perform multi-robot path planning in the standardized grid map; For each robot, based on the particle swarm optimization algorithm, the individual optimal path of each particle is calculated according to the starting position, the ending position and the position of the static obstacle. The initial global optimal path of the robot is determined according to the individual optimal paths of all particles. Based on the ant colony optimization algorithm, the global optimal path is determined according to the starting position, the ending position, the position of the static obstacle, the individual optimal paths of all particles and the initial global optimal path. For each robot, during the current planning cycle, multiple candidate local trajectories are calculated based on the global optimal path, the static obstacle positions, and the real-time acquired dynamic obstacle positions. Based on the long short-term memory network model, the conflict probability between each of the robot's own candidate local trajectories and each of the candidate local trajectories of each other robot is calculated. Based on the conflict probability and a preset conflict probability threshold, it is determined whether the robot itself has a conflict with other robots. If not, the first target speed command to be executed by the robot is determined based on the evaluation score of each of the candidate local trajectories of the robot itself, and the first target speed command for one planning cycle is continuously executed. After the execution is completed, the robot updates its own motion state and enters the next planning cycle. If so, the real-time task status of the robot is determined, the real-time priority value of the robot is calculated based on the real-time task status, and the conflict resolution instruction corresponding to the robot is determined based on the conflict probability and the real-time priority value, so that the robot executes the corresponding conflict resolution instruction until the conflict is resolved, updates its own motion state, enters the next planning cycle, until the robot runs to its destination position, and obtains the path planning of the robot.

2. The method according to claim 1, characterized in that, The step of calculating multiple candidate local trajectories based on the globally optimal path, the static obstacle positions, and the real-time acquired dynamic obstacle positions includes: The location of dynamic obstacles is acquired in real time, and the predicted location of dynamic obstacles is determined based on the location of the dynamic obstacles, the historical location of the dynamic obstacles, and the trajectory prediction duration, wherein the trajectory prediction duration is equal to a positive integer multiple of one planning cycle; Based on the robot's current motion state, motion parameters, static obstacle position, dynamic obstacle position, predicted dynamic obstacle position, and preset obstacle avoidance safety threshold, multiple feasible velocity pairs of the robot are determined under constraints. The constraints include: velocity space boundary constraints, acceleration constraints, deceleration and braking constraints, and obstacle safety distance constraints. The current motion state includes the current position, current linear velocity, and current angular velocity. The motion parameters include maximum linear velocity, maximum angular velocity, maximum linear acceleration, maximum linear deceleration, maximum angular acceleration, and maximum angular deceleration. The feasible velocity pairs include feasible linear velocity and feasible angular velocity. For each of the feasible velocity pairs, a candidate local trajectory of the robot is predicted within the trajectory prediction time.

3. The method according to claim 1, characterized in that, The calculation of the conflict probability between each of the robot's own candidate local trajectories and each of the candidate local trajectories of each other robot, based on the long short-term memory network model, includes: Each of the robot's own candidate local trajectories is spatiotemporally aligned with each of the candidate local trajectories of each other robot. For each of the candidate local trajectories of the robot itself, construct a corresponding fused spatiotemporal trajectory matrix by combining it with one candidate local trajectory from all the candidate local trajectories of all robots. The fused spatiotemporal trajectory matrix is ​​input into the conflict prediction model, which outputs the corresponding conflict probability. The conflict prediction model is constructed based on a long short-term memory network model and trained based on candidate local trajectory samples.

4. The method according to claim 1, characterized in that, Determining the robot's real-time task status includes: The urgency of the task assigned to the robot is obtained in real time, the remaining battery percentage of the robot is obtained in real time, and the number of other robots within a preset range of the robot is obtained in real time. The path congestion index is calculated based on the number of other robots. The task urgency, the remaining battery percentage, and the path congestion index are determined as the robot's real-time task status. The step of calculating the robot's real-time priority value based on the real-time task status includes: The robot's real-time priority value is obtained by calculating the weighted sum of the task urgency, the remaining battery percentage, and the path congestion index.

5. The method according to claim 1, characterized in that, If not, then the first target velocity command to be executed by the robot is determined based on the evaluation score of each of the candidate local trajectories of the robot itself, including: For each candidate local trajectory of the robot, if the probability of at least one conflict corresponding to the candidate local trajectory is greater than or equal to the preset conflict probability threshold, the candidate local trajectory is removed. After removal, qualified candidate local trajectories are obtained. Calculate the evaluation score of each of the candidate local trajectories of the robot itself, determine the qualified candidate local trajectory with the highest evaluation score as the target local trajectory, and determine the first speed command of the target local trajectory as the first target speed command to be executed by the robot.

6. The method according to claim 5, characterized in that, The evaluation score for each of the candidate local trajectories of the computational robot itself includes: Extract multiple preset key nodes of the global optimal path to obtain the robot's own navigation sub-target point set. Traverse the navigation sub-target point set, determine the current navigation sub-target point based on the robot's current position, and calculate the first distance score between the current navigation sub-target point and the last point of each of the robot's candidate local trajectories. Based on the static obstacle position, the predicted dynamic obstacle position, the global optimal path, and the preset obstacle avoidance safety threshold, a second distance score is calculated between each of the robot's candidate local trajectories and the obstacle, wherein the obstacle includes dynamic obstacles and static obstacles; Calculate the fit score between the last point of each of the candidate local trajectories of the robot and the global optimal path; An evaluation score is calculated based on the first distance score, the preset weight corresponding to the first distance score, the second distance score, the preset weight corresponding to the second distance score, the fitting score, and the preset weight corresponding to the fitting score of the same candidate local trajectory, to obtain the evaluation score of each candidate local trajectory of the robot itself, wherein the sum of the preset weight corresponding to the first distance score, the preset weight corresponding to the second distance score, and the preset weight corresponding to the fitting score is 1.

7. The method according to claim 1, characterized in that, The step of determining the conflict resolution instruction corresponding to the robot based on the conflict probability and the real-time priority value, so that the robot executes the corresponding conflict resolution instruction until the conflict is resolved, and updates its own motion state, includes: The priority level of the robot is determined based on the real-time priority value; If the priority level of the robot is higher than that of the other robots in conflict, the candidate local trajectory with the highest evaluation score of the robot is taken as the optimal local trajectory, and the first speed command of the optimal local trajectory is determined as the second target speed command to be executed by the robot, so that the robot continuously executes the second target speed command for one planning cycle. After the execution is completed, the robot updates its own motion state. The conflict level is determined based on the maximum value of all conflict probabilities corresponding to all candidate local trajectories of the robot itself; If the conflict level is a level 1 conflict and the priority level is lower than that of other robots in the conflict, a local avoidance path is generated so that the robot executes the local avoidance path to the end of the local avoidance path and updates its own motion state. If the conflict level is level two and the priority level is lower than that of other robots in the conflict, the robot's own safe speed is calculated based on the robot's emergency braking distance model so that the robot can execute a deceleration command to the safe speed for one planning cycle. After execution, the robot updates its own motion state.

8. A multi-robot path planning device based on hybrid optimization and spatiotemporal prediction, characterized in that, The device includes: A construction module is used to build a standardized grid map based on the positions of static obstacles, the starting position and the ending position of each robot, so as to perform multi-robot path planning in the standardized grid map; The calculation module is used to calculate the individual optimal path of each particle for each robot based on the particle swarm optimization algorithm, according to the starting position, the ending position and the position of the static obstacle; determine the initial global optimal path of the robot based on the individual optimal paths of all particles; and determine the global optimal path based on the ant colony optimization algorithm, according to the starting position, the ending position, the position of the static obstacle, the individual optimal paths of all particles and the initial global optimal path. The judgment module is used to calculate multiple candidate local trajectories for each robot in the current planning cycle based on the global optimal path, the static obstacle position, and the real-time acquired dynamic obstacle position. Based on the long short-term memory network model, it calculates the conflict probability between each of the robot's own candidate local trajectories and each of the candidate local trajectories of each other robot. Based on the conflict probability and a preset conflict probability threshold, it determines whether the robot itself has a conflict with other robots. The first determining module is used to determine the first target speed command to be executed by the robot based on the evaluation score of each of the candidate local trajectories of the robot itself if no, and to continuously execute the first target speed command for one planning cycle. After execution, the robot updates its own motion state and enters the next planning cycle. The second determining module is used to determine the real-time task status of the robot if the condition is met, calculate the real-time priority value of the robot based on the real-time task status, determine the corresponding conflict resolution instruction for the robot based on the conflict probability and the real-time priority value, so that the robot executes the corresponding conflict resolution instruction until the conflict is resolved, updates its own motion state, enters the next planning cycle, until the robot runs to its destination position, and obtains the path planning of the robot.

9. A storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the multi-robot path planning method based on hybrid optimization and spatiotemporal prediction as described in any one of claims 1 to 7.

10. A computer device comprising a memory, a processor, and a computer program stored on a storage medium and executable on the processor, characterized in that, When the processor executes the program, it implements the multi-robot path planning method based on hybrid optimization and spatiotemporal prediction as described in any one of claims 1 to 7.