A path planning method based on DYPIBT algorithm

The DYPIBT algorithm solves the problems of local deadlock and invalid movement in complex and narrow scenarios by using dynamic priority and congestion-aware path cost calculation. It achieves efficient path planning and conflict resolution and is suitable for narrow and busy terrain.

CN122170898APending Publication Date: 2026-06-09AUTOLINK INFORMATION TECHNOLOGY CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
AUTOLINK INFORMATION TECHNOLOGY CO LTD
Filing Date
2026-05-11
Publication Date
2026-06-09

AI Technical Summary

Technical Problem

Existing PIBT algorithms are prone to local deadlock, invalid movement, and cascading congestion in complex, narrow, and busy traffic scenarios, lacking global coordination capabilities. In particular, the coupling between agent paths is significantly enhanced in narrow terrain.

Method used

The DYPIBT algorithm is adopted, and agents with smaller Pi(t) values ​​are assigned higher priority through dynamic priority calculation. Combining congestion perception path cost calculation and backtracking judgment, predictive backtracking and priority inheritance rules are designed. The algorithm integrates four-dimensional priorities: task urgency, distance, local congestion coefficient and agent ID, for path planning.

Benefits of technology

It effectively avoids local deadlock caused by static priorities, reduces invalid movement of agents, lowers the probability of livelock, and improves the efficiency and stability of path planning, making it particularly suitable for narrow and busy terrains with limited access.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122170898A_ABST
    Figure CN122170898A_ABST
Patent Text Reader

Abstract

This invention provides a path planning method based on the DYPIBT algorithm, which can effectively solve the problem of path collisions between agents in narrow and busy terrain, reducing ineffective agent movements and chain congestion. It dynamically calculates priorities based on four dimensions: task urgency, remaining distance, local congestion coefficient, and unique ID, ensuring that each agent has a different priority at the same time step. For each location on the map, it performs predictive backtracking judgment, anticipating the next congestion risk before the agent moves and triggering backtracking in advance to reduce ineffective agent movements. To address the path conflict problem, it designs a high-priority priority rule and a priority inheritance rule. After a high-priority agent occupies the target location, a low-priority agent inherits the priority of the high-priority agent, giving agents that have already yielded the right-of-way an opportunity to gain priority in the next path selection, thus reducing ineffective movements for individual agents.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of intelligent transport vehicle route planning technology, specifically a route planning method based on the DYPIBT algorithm. Background Technology

[0002] With the rapid development of artificial intelligence and robotics, multi-agent systems are increasingly being applied in real-world scenarios. Multi-Agent Path Finding (MAPF) is a crucial problem for the efficient operation of multi-agent systems, as it involves planning a conflict-free path from the starting point to the destination for each agent in the group. MAPF plays an important role in warehousing and logistics, drone swarms, autonomous driving, and video games. Path planning research for agents such as unmanned vehicles, drones, and Automated Guided Vehicles (AGVs) has become a widely discussed research topic in both academia and industry.

[0003] To further accelerate computation and solve larger-scale path planning problems, Okumura et al. proposed the Priority Inheritance with Backtracking (PIBT) algorithm. PIBT abandons the search tree structure and aims to solve obstacle avoidance problems among large-scale agents through local coordination mechanisms. At each time step, PIBT performs single-step path planning for agents according to a dynamic priority order, and coordinates local conflicts through priority inheritance and backtracking mechanisms, significantly improving the computational efficiency and scalability of the MAPF algorithm. Although PIBT excels in real-time performance, in practical applications, it has been found that with increasing environmental complexity, especially in narrow, restricted terrain, the coupling between agent paths significantly increases. In such scenarios, PIBT's reliance on static priorities can lead to local deadlocks; predictive backtracking and congestion-aware path selection are passive responses, resulting in many invalid moves and chain congestion; and PIBT's reliance on heuristic distance information for decision-making lacks global coordination capabilities, making it prone to livelocks. The agent repeatedly enters conflict states and keeps retrying but can never truly move forward, leading to a decline in overall solution performance. Summary of the Invention

[0004] To address the problem that existing path planning methods based on the PIBT algorithm are not suitable for complex scenarios, especially narrow and busy terrains with limited access, this invention provides a path planning method based on the DYPIBT algorithm. This method can effectively solve the problem of path collisions between agents in narrow and busy terrains, reducing ineffective agent movements and chain congestion.

[0005] The technical solution of this invention is as follows: a path planning method based on the DYPIBT algorithm, characterized by comprising the following steps: S1: Construct a dynamic priority calculation method and set P i (t) Agents with smaller values ​​correspond to higher priority; P i (t)=w1·U i (t) +w2·(D i (t) / D max )+w3·C i (t)+w4·i / N; In the formula, t is the discrete time step, and P i (t) represents the dynamic priority of the i-th agent at time step t; U i (t) represents the current task urgency of the i-th agent; D i (t) represents the Manhattan distance from the current position to the endpoint of the i-th agent at time step t, with a value ranging from D. i (t)≥0;D max C represents the maximum Manhattan distance corresponding to the current map. i (t) represents the local congestion coefficient of the agent at time t, N is the total number of agents currently participating in the calculation, and i / N represents the normalized agent ID; w1, w2, w3 and w4 are the priority weights corresponding to task urgency, distance, congestion and agent ID, respectively, satisfying the condition: w1+w2+w3+w4=1 and w1>w2>w3>w4>0; S2: Construct a congestion perception path cost calculation method to calculate the comprehensive cost J corresponding to each agent's movement in the d direction. i (d,t); S3: Construct a path planning system; The path planning system includes: a central controller and an intelligent agent; Each intelligent agent communicates with the central controller, reports its own coordinates to the central controller in real time, receives action instructions sent by the central controller, and executes the instructions. The main controller stores information about the grid map, as well as the current and destination positions of each agent, calculates the dynamic priority and the overall cost for each agent, and provides movement instructions. S4: For all agents that have not reached the destination, the central controller calculates all feasible directions for each agent at time step t-1, and calculates the dynamic priority P for each direction. i (t), Local congestion coefficient C i (t) and comprehensive cost J i (d,t); From the set of all feasible directions, the comprehensive cost J i The direction with the lowest value (d,t) is set as the optimal movement direction d. * ; S5: Before the agent moves, a backtracking judgment needs to be performed; The backtracking judgment method is as follows: at time step t-1, the position of each agent after moving one time step in all directions is recorded as the position to be judged, and the local congestion coefficient C(q,t) corresponding to each position to be judged at time step t is calculated respectively. If the optimal movement direction d * The corresponding local congestion coefficient C(q,t) is less than or equal to the preset congestion threshold θ. c Then the optimal moving direction d * Set the movement direction d' to time step t, obtain the target position, and execute step S6; Otherwise, find any local congestion coefficient that is less than or equal to a preset congestion threshold θ. c The forward direction is set as the movement direction d' of time step t, the target position is obtained, and step S6 is executed; If the local congestion coefficients for all directions of travel are less than or equal to the preset congestion threshold θ c If so, the agent will be set as a backtracking agent, triggering the backtracking operation; The backtracking operation is as follows: for the backtracking agent, set its actual position at time step t-2 as the target position of the backtracking agent at time step t, set the direction of the position at time step t-2 as the movement direction d', and execute step S6. S6: For all agents, perform path conflict judgment on the target position at time step t; The path conflict determination is as follows: compare the target positions of all agents at time step t. If a path conflict occurs, trigger a conflict resolution operation for the conflict position; otherwise, move at time step t based on the movement direction d'. S7: Repeat steps S4 to S6 until all agents reach the endpoint.

[0006] Its further features are: The comprehensive cost J i The method for calculating (d,t) is as follows: J i (d,t)=α·D(p i (t)+d,p i * (t))+(1-α)·C(p i (t)+d,t); In the formula, Ji (d,t) represents the total cost of the i-th agent moving one unit in the d direction at time step t; α is the distance weight, D(·,·) is the Manhattan distance function, and p i (t) represents the position of agent i at time step t, p i (t)+d represents the position of the agent after moving one unit in the d direction; p i * (t) represents the endpoint position of the i-th agent's task; C(·) is the congestion coefficient calculation function; In step S6, the conflict resolution operation includes: a1: For the conflict location, calculate the priority P of the Num agents that have path conflicts at time step t. i (t); a2: Sort all Num agents in ascending order of priority; a3: Find the agent with the highest priority, keep it at the target position at time step t, perform the movement operation at time step t, and then proceed to step S7; The other Num-1 agents with lower priority are designated as agents to be processed, and subsequent steps are executed. a4: For each agent to be processed, set a temporary priority for its movement direction d' at time step t+1. The temporary priority is set to inherit the priority of the previous agent at time step t. P jd’ T (t+1)=P j-1 (t), j∈[2,Num]; Among them, P j d’ T (t+1) represents the temporary priority of the agent to be processed, which is located at the j-th position in the priority sorting, in the direction of d' at time step t+1; P j-1 (t) represents the priority of the agent at time step t, which is located at the (j-1)th position in the priority sorting. a5: In locations other than the conflict locations around the agent to be processed, confirm whether a location can be found that simultaneously satisfies the following conditions; Condition 1: The local congestion coefficient C(q,t) is less than or equal to the congestion threshold θ c ; Condition 2: There is no positional conflict with other intelligent agents; If the target location can be found, then that location is taken as the target location at time step t, and the agent moves for time step t; then step S7 is executed, where the priority of the agent at time step t+1 in the movement direction d' is given by a temporary priority P. j d’ T(t+1); If it cannot be found, proceed to step a6; a6: In locations other than the conflict locations around the agent to be processed, confirm whether a location can be found that simultaneously satisfies the following conditions; Condition 1: The local congestion coefficient C(q,t) is less than or equal to the congestion threshold θ. c ; Condition 2: For this position, the priority P of the agent to be processed at time t. i (t)Highest; If the target location can be found, then that location is taken as the target location at time step t, and the agent moves for time step t; then step S7 is executed, where the priority of the agent at time step t+1 in the movement direction d' is given by a temporary priority P. j d’ T (t+1); If the target cannot be found, the agent to be processed will not move at time step t, but will wait in place for 1 time step, and then execute step S7, wherein the priority of the agent to be processed in the movement direction d' at time step t+1 will use the temporary priority P. j d’ T (t+1); The method for calculating the local congestion coefficient is as follows: C(q,t) = NUMavg / NUMgrid; Where NUMgrid is the number of effective local grids centered at point q, 1≤NUMavg≤9; NUMavg is the number of agents existing in NUMgrid effective local grids; The method for counting the number of effective local grids includes the following steps: b1: Get the locations of all grid maps; b2: Construct a 3×3 nine-square grid centered on point q; b3: Using point q as a reference, find the overlapping grid of the 3x3 grid and the grid map, denoted as: effective local grid; b4: Count the number of effective local meshes to obtain the value of NUMgrid; The method for calculating the urgency of the task is as follows: U i (t)=max(0.01,(T i deadline -t) / T i total ); In the formula, T i total T represents the total planned time steps for agent i's current task, and records the maximum number of time steps allowed for task execution within the current scenario;i deadline T represents the current task deadline step for agent i, and the total execution time steps allocated to the task based on the actual business requirements; i deadline ≤T i total ; The method for calculating the task deadline step is as follows: T i deadline = D i + BT i ; Among them, D i Let BT be the time step corresponding to the Manhattan distance from the starting point to the ending point of the current task for the i-th agent. i Let BT be the actual buffer step number corresponding to the current task of the i-th agent, where 0 < BT. i ≤BTmax.

[0007] This application provides a path planning method based on the DYPIBT algorithm, which dynamically calculates priorities by integrating four dimensions: task urgency, remaining distance, local congestion coefficient, and unique ID. This ensures that each agent has different priorities at the same time step t, avoiding local deadlock caused by static priorities and effectively preventing local deadlock caused by the same priorities. For each location on the map, a predictive backtracking judgment is performed to anticipate the risk of congestion before the agent moves, triggering backtracking in advance to reduce ineffective movements of the agent. To address path conflict issues, a high-priority priority rule and a priority inheritance rule are designed. After a high-priority agent occupies the target location, a low-priority agent inherits the priority of the high-priority agent, giving agents that have already yielded the right-of-way an opportunity to gain priority in the next path selection, thus reducing ineffective movements and lowering the average number of steps per agent. This application, through the design of predictive backtracking judgment, proactive path conflict judgment, and priority inheritance mechanisms, considers path planning globally from the perspectives of local congestion on the map and agent priorities, reducing the probability of livelock phenomena in local areas. This effectively and proactively avoids conflicts and chain congestion problems, and is particularly suitable for relatively narrow and busy terrain scenarios with limited passage. Attached Figure Description

[0008] Figure 1 This is a flowchart of the path planning method used in this application; Figure 2 A flowchart for conflict resolution procedures; Figure 3 This is a schematic diagram of the path planning system architecture in this application. Detailed Implementation

[0009] This application improves upon the traditional PIBT algorithm by constructing the DYPIBT (Dynamic PIBT) algorithm, and the path planning method based on the DYPIBT algorithm specifically includes the following steps.

[0010] S1: Construct the core formula for dynamic priority and set P i Agents with smaller (t) values ​​have higher priority.

[0011] In this application, t represents a discrete time step. This method places all agents on the same grid map for unified scheduling. To ensure real-time performance, the system stipulates that the central controller calculates the planned movement direction for each agent at time step t-1. The distance each agent travels within one time step is the length of one grid, i.e., from the center of grid i to the center of grid i+1. The specific shape of the grid map is set according to the agent's movement area in the actual business scenario. The length of each grid and the actual number of seconds corresponding to each time step are adaptively set based on the area of ​​the grid map, the computing performance of the central controller, the motor performance of the agents, and other actual hardware conditions. For example, in a chip manufacturing production line, the agents and central controller are configured with 2 seconds as one time step, and the agent travels 0.5 meters per time step. If the central controller has better computing performance and the agents are faster, one time step can be set to 1 second, and the agent's movement distance per time step can be set to 1 meter.

[0012] P i (t)=w1·U i (t)+w2·(D i (t) / D max )+w3·C i (t)+w4·i / N; In the above formula, P i (t) represents the dynamic priority of the i-th agent at time step t. i (t) represents the current task urgency of the i-th agent; D i (t) represents the Manhattan distance from the current position to the endpoint of the i-th agent at time step t; C i (t) represents the local congestion coefficient; N represents the total number of agents currently participating in the calculation, and i / N represents the normalized agent ID; in this application, the ID of each agent is placed into the dynamic priority P. i The calculation of (t) reduces the probability of agents having the same priority, thereby improving the efficiency of conflict resolution.

[0013] P i In the calculation of (t), through (D) i (t) / D maxThe normalization method of i / N maps indicators of different dimensions to [0,1] to ensure the effectiveness of weighting.

[0014] When the i-th agent reaches the t-th time step, it moves one step in the d direction to reach the position q(x). q ,y q ), D i (t) represents the distance from position q to its final position p. i * (x) i * , y i * The Manhattan distance; even from the same starting point, the agent's movement in different directions will correspond to different D. i (t) The numerical value needs to be calculated separately for each direction of movement. Since the agent in this application moves along a grid, the Manhattan distance is used to calculate the agent's travel distance. The Manhattan distance calculation formula is: D(q,p i * )=|x q -x i * |+|y q -y i * |; Among them, D i (t) takes values ​​in the range of D. i (t)≥0, D i The smaller the (t) value, the closer the agent is to the task endpoint. When D i When (t)=0, it indicates that the agent has reached the task endpoint. max This represents the maximum Manhattan distance corresponding to the current map.

[0015] D i The smaller the value of (t), the better the calculated P. i The smaller the (t) value, the higher the priority. (Through D) i (t) The guidance system allocates resources to tasks that are closer to the destination, which helps reduce resource waste caused by unnecessary detours by the agent and can also reduce the probability of critical paths near the destination being blocked, thereby improving the system's resource utilization.

[0016] U i (t) represents the current task urgency of the i-th agent. The task urgency is calculated in this application as follows: U i (t)=max(0.01,(T i deadline -t) / T itotal ); In the formula, T i total T represents the total planned time steps for agent i's current task, and records the maximum number of time steps allowed for the task to execute within the current scenario. i total The specific value is preset based on the map area in the business scenario, the hardware performance of the intelligent agent, and historical experience data. For example, in this embodiment, the delivery time steps of all AGVs from the warehouse to the production line cannot exceed 100 time steps, then T... i total The value is set to 100. T i deadline This represents the current task deadline step for agent i, and the total execution time steps allocated to the task based on the actual business situation; condition T is satisfied. i deadline ≤T i total .

[0017] T i deadline -t indicates the remaining time of the task; in this application, the task urgency level is U. i The design logic of (t) is the remaining time steps / total time steps. The less time remaining, the smaller the urgency value, and the more urgent the task. Transforming the "time urgency" of warehousing tasks into a quantifiable value to meet the business requirement of prioritizing urgent orders is the first core dimension of dynamic priority. Zero-prevention is achieved through max(0.01,·), avoiding zero denominators or calculation results, ensuring that the urgency value always has a value and does not affect subsequent priority weighting.

[0018] The method for calculating the task deadline step is as follows: T i deadline = D i + BT i ; Among them, D i Let D be the time step corresponding to the total Manhattan distance from the start point to the end point of the current task for the i-th agent. Since the start and end points of each task are fixed and can be known when the controller assigns tasks, D... i The value representing the time step corresponding to the total Manhattan distance for the task being performed by each agent is a fixed value. BT i Let BT be the actual buffer step number corresponding to the current task of the i-th agent, where 0 < BT. i ≤BTmax.

[0019] In practical implementation, BT iConfigure the settings according to actual business needs. For example, suppose the application scenario involves AGVs transporting raw materials from a warehouse to a production line. Assuming the production line control system categorizes all orders into three levels: Urgent (E), Urgent (H), and Normal (NO), then the interval (0, BTmax) can be divided into three equal parts. The maximum value of each interval serves as the BT value corresponding to different urgency levels for each order. i Alternatively, the BTmax value can be assigned separately for different priorities based on actual needs, instead of equal distribution. For example, in application scenarios that do not have this business urgency setting, a random number can be randomly selected from the (0, BTmax] interval and assigned to each agent's BTmax value using a random function.

[0020] For example, for the i-th agent, the total time steps T of the task it is currently executing is... i total =100, deadline step T i deadline =50; When the task reaches time step t=40: U i (40) = (50-40) / 100 = 0.1, the task corresponds to an emergency task; When the task reaches time step t=49: U i (49) = (50-49) / 100 = 0.01, the task corresponds to an extremely urgent task; In other words, the fewer the remaining time steps, the higher the task urgency, and thus the use of U... i (t) The priority P calculated i The higher the (t) value, the more likely the system will prioritize allocating resources to tasks and agents with high urgency, ensuring that tasks are completed on time.

[0021] The method for calculating the local congestion coefficient is as follows: C(q,t) = NUMavg / NUMgrid; In this case, when the i-th agent reaches the t-th time step, it moves one step in the d direction to reach the position q(x). q ,y q ), NUMgrid represents the number of effective local grids centered at point q, 1≤NUMavg≤9; NUMavg is the number of agents existing in NUMgrid effective local grids.

[0022] This application designs a method for calculating the congestion coefficient in relatively narrow pass terrain, specifically the local congestion coefficient C(q,t). In this method, the maximum grid size for the local congestion coefficient is designed to be a 3×3 grid area, used to calculate the next target position p of the i-th agent. iAgent density within a 3×3 local grid centered at (t); the calculation logic is as follows: 1. Traverse starting with p i Nine locations within a 3×3 grid centered at (t); 2. For each location, count "whether an agent exists", if yes, count 1, otherwise count 0; 3. Sum the counts at the 9 positions to get the total number of agents in the 3×3 grid; 4. Divide by 9 (normalize to the 0~1 range) to obtain the "local congestion coefficient" for that location.

[0023] Suppose that the position p of the i-th agent is... i (t)=(5,5); the corresponding coordinates of the 3×3 grid are: (4,4), (4,5), (4,6), (5,4), (5,5), (5,6), (6,4), (6,5), (6,6); the set of positions of all agents is A(t)={(4,4),(5,5),(5,6),(6,5)}.

[0024] The number of agents in each grid is counted, and the result is: 1+0+0+0+1+1+0+1+0=4; The normalized local congestion coefficient C(q,t) = NUMavg / NUMgrid = 4 / 9 ≈ 0.444.

[0025] The larger the local congestion coefficient C(q,t) value (the closer it is to 1), the denser the agents are in the 3×3 grid and the higher the degree of local congestion; the smaller the value (the closer it is to 0), the more open the local area is.

[0026] Because the congestion coefficient is calculated for local areas, in practice, there will be some locations where it is impossible to construct a 3x3 local area centered on that location, such as map edges, corners, or truly narrow areas. Therefore, for these locations where a full 9-grid layout cannot be constructed, only the effective local grids within the 3x3 area centered on that location are counted. The method for counting the number of effective local grids includes the following steps: b1: Get the locations of all grid maps; b2: Construct a 3×3 nine-square grid centered on point q; b3: Using point q as a reference, find the overlapping grid of the 3x3 grid and the grid map, denoted as: effective local grid; b4: Count the number of effective local meshes to obtain the value of NUMgrid; the coordinates of these NUMgrid effective local meshes are also used to count the value of NUMavg.

[0027] For example, for a corner location, such as the location point with coordinates (0,0): construct a 3×3 9-grid with coordinates (0,0) as the center. The intersection of the 9-grid with the map is the valid grid. Assuming there are only 4, then NUMgrid=4. For edge points, such as coordinates (0,3): construct a 3×3 9-grid with coordinates (0,3) as the center. The intersection of the 9-grid with the map is the valid grid. Assuming there are only 6, then NUMgrid=6.

[0028] The local congestion coefficient C(q,t) is obtained by statistical analysis and calculation of the effective local grid. This ensures that the value of C(q,t) is within the range of [0,1]. Furthermore, by calculating the local congestion coefficient through the effective local grid, this scheduling method is more adaptable to the calculation of complex terrain maps, and is especially suitable for the calculation of relatively narrow pass terrain with limited access.

[0029] w1, w2, w3, and w4 are the priority weights corresponding to task urgency, distance, congestion, and agent ID, respectively, satisfying the condition: w1+w2+w3+w4=1 and w1>w2>w3>w4>0. In this embodiment, the core considerations of the warehousing scenario are integrated, and the weights are matched with the business priority from high to low: urgent orders > distance > congestion > fixed agent ID.

[0030] The dynamic priority P calculated in this application i A smaller value for (t) indicates higher priority. Each location in the congested area corresponds to a value for C. i The larger the value of (t), the higher the calculated dynamic priority P. i The larger the (t) value, the lower the corresponding priority. Therefore, based on the priority determination method set in this application, the agent can be prompted to bypass congested areas. Meanwhile, for the task urgency U... i For (t), the more urgent the task, the better. i The smaller the value of (t), the more corresponding P... i The smaller the (t) value, the higher the priority; the urgency of the task determines the priority allocation of system resources to agents performing urgent tasks. Through D... i (t) The guidance system prioritizes allocating resources to agents that are closer to the destination, reducing the probability of the critical path being blocked.

[0031] This application integrates four dimensions—task urgency, remaining distance, local congestion coefficient, and unique ID—to dynamically calculate priority, fundamentally solving the problem of local deadlock caused by the static priority of the traditional PIBT algorithm.

[0032] Example of dynamic priority calculation: Assume w1=0.4, w2=0.3, w3=0.2, w4=0.1; Agent 1: P1 = 0.4 × 0.1 + 0.3 × 0.8 + 0.2 × 0.2 + 0.1 × 0.01 = 0.321 (higher priority); Agent 2: P2 = 0.4 × 0.9 + 0.3 × 0.2 + 0.2 × 0.1 + 0.1 × 0.02 = 0.442 (lower priority).

[0033] In specific calculations, because the local congestion coefficient C i (t) and the Manhattan distance D at time step t i (t) Different values ​​will be calculated based on the agent's movement in different directions, so after the agent moves one step in different directions from the same starting point, it will correspond to a different value P. i (t).

[0034] S2: Construct a congestion-sensing path cost function and calculate the comprehensive cost J corresponding to the agent's movement in the d direction. i (d,t); Comprehensive cost J i (d,t) is: J i (d,t)=α·D(p i (t)+d,p i * (t))+(1-α)·C(p i (t)+d,t); In the formula, J i (d,t) represents the total cost of the i-th agent moving one unit in the d direction at time step t; α is the distance weight, D(·,·) is the Manhattan distance function, and p i (t) represents the position of agent i at time step t, p i (t)+d represents the position of the agent after moving one unit in the d direction; p i * (t) represents the task endpoint position of the i-th agent; C(·) is the congestion coefficient calculation function. The value of α is set according to historical experience values ​​of the business scenario. In this embodiment, α is set to 0.7.

[0035] In a grid map, the agent's direction of travel includes: p i (t) represents the four directions above, below, left, and right of the center, and the values ​​of d include: above (0,1), below (0,-1), left (-1,0), and right (1,0); p i (t)+d=((x i (t)+dx,y i (t)+dy).

[0036] For example: Current position (3,5), direction right (1,0) p i (t)+d=(3+1,5+0)=(4,5).

[0037] In calculating the comprehensive cost J i When (d,t), calculate the task endpoint p. i * (t) and (p) after moving one grid distance in the d direction i The Manhattan distance between (t) and d) is used to guide the calculation of distance cost in the cost function, ensuring that each move of the agent is closer to the destination and reducing the probability of detours.

[0038] In this application, the comprehensive cost of each step of movement is calculated by integrating Manhattan distance cost and congestion cost. i (d,t) has a higher distance weight, ensuring the path is as short as possible while also considering congestion conditions, avoiding taking the shortest but congested path. It breaks away from the shortcomings of traditional PIBT which "only takes the shortest path", and achieves a dual-objective path selection of "shortest path + lowest congestion", avoiding the spread of single-point congestion and improving the overall traffic efficiency of the cluster.

[0039] S3: Construct a path planning system; The path planning system includes: a central controller and an intelligent agent; Each intelligent agent communicates with the central controller, reports its own coordinates to the central controller in real time, receives action instructions sent by the central controller, and executes the instructions. The central controller stores information about the grid map, as well as the current and destination positions of each agent, calculates dynamic priorities and overall costs for each agent, and provides movement instructions.

[0040] like Figure 3 As shown, in an intelligent warehousing and logistics application scenario based on AGVs, the intelligent agent is the AGV vehicle, and the central controller is a control device that integrates business logic and intelligent vehicle multi-task scheduling methods. The AGV vehicle integrates modules for local communication, status acquisition, and disturbance detection based on existing technologies. It can interact with the controller and other AGVs within its communication radius in real time, reporting its own position, speed, and current task to the controller and other AGVs. It can also report current vehicle malfunctions or shelf-related anomalies to the controller in real time.

[0041] The scheduling algorithm in this application is set in the decision-making layer of the central controller. Based on the information reported by each AGV (Automated Guided Vehicle), overall path planning and conflict resolution are performed in real time. The central controller sends movement commands to each AGV, and the AGVs, acting as the execution layer, execute the received movement commands according to time steps, and feed back the executed data to the central controller. The path planning method executed in the central controller is as follows: Figure 1As shown. In practice, this method is implemented and configured in a simulation environment or a real intelligent system based on existing technologies.

[0042] S4: For all agents that have not reached the destination, the central controller calculates the dynamic priority P for each agent in different directions at time step t-1. i (t), Local congestion coefficient C i (t) and comprehensive cost J i (d,t), from the set of all feasible directions, the comprehensive cost J i The direction d with the lowest value (d,t) is set as the optimal movement direction. * ; and with the optimal movement direction d * The direction of movement of the agent at time step t determines the target position at time step t.

[0043] Optimal movement direction d * The calculation method is as follows: d * =argminJ i (d,t), d∈Ω i (t); Among them, Ω i (t) represents the set of feasible movement directions for agent i at time step t; the argmin function selects the direction with the comprehensive cost J from all feasible directions. i The direction d with the lowest value (d,t) is taken as the optimal moving direction. * The specific function implementation methods are based on different languages ​​in existing technologies.

[0044] S5: Before the agent moves, a backtracking judgment needs to be performed; The backtracking judgment method is as follows: at time step t-1, the positions of each agent after moving one time step in all directions are recorded as the positions to be judged, and the local congestion coefficient C(q,t) of the position to be judged at time step t is calculated respectively. If the optimal movement direction d * The corresponding local congestion coefficient C(q,t) is less than or equal to the preset congestion threshold θ. c Then the optimal moving direction d * Set the movement direction d' to time step t, obtain the target position, and execute step S6; Otherwise, find any local congestion coefficient that is less than or equal to a preset congestion threshold θ. c The forward direction is set as the movement direction d' of time step t, the target position is obtained, and step S6 is executed; If the local congestion coefficients for all directions of travel are less than or equal to the preset congestion threshold θ cIf so, the agent will be set as a backtracking agent, triggering the backtracking operation; The backtracking operation is as follows: for the backtracking agent, set its actual position at time step t-2 as the target position of the backtracking agent at time step t, set the direction of the position at time step t-2 as the movement direction d', and execute step S6. In this application, the local congestion coefficient of the next position corresponding to time step t is calculated in advance at time step t-1. If it exceeds the threshold, backtracking is triggered; otherwise, normal movement is performed. This upgrades the traditional PIBT's "passive backtracking" (backtracking only when there is no feasible direction) to "active prediction," avoiding congested positions in advance, reducing ineffective movements, and lowering the average number of steps the agent moves. The simulation threshold θc is set based on historical data from different business scenarios; for example, in an AGV-based warehouse scheduling environment, θc is set to 0.6.

[0045] Meanwhile, in this application, by combining the local congestion heat value reflected by the local congestion coefficient C(q,t), and selecting the suboptimal low-congestion path based on the congestion in the optimal movement direction, the spread of single-point congestion can be effectively avoided.

[0046] S6: For all agents, perform path conflict judgment on the target position at time step t; Path conflict determination is as follows: compare the target positions of all agents at time step t. If there is an overlap in positions, it indicates that a path conflict has occurred. In this case, a conflict resolution operation is triggered for the conflict position. Otherwise, move at time step t based on the movement direction d'.

[0047] In step S6, the conflict resolution operation is as follows: Figure 2 As shown, the specific operations include the following: a1: For the conflict location, calculate the priority P of the Num agents that have path conflicts at time step t. i (t).

[0048] a2: Sort all Num agents in ascending order of priority; Therefore, the agent with the lowest value has the highest priority and is ranked first, while the agent with the lowest priority is ranked last.

[0049] a3: Find the agent with the highest priority, keep it at the target position at time step t, perform the movement operation at time step t, and then proceed to step S7; The other Num-1 agents with lower priority are designated as agents to be processed, and subsequent steps are executed.

[0050] a4: For each agent to be processed, set a temporary priority for its movement direction d' at time step t+1. The temporary priority is set to inherit the priority of the previous agent at time step t.

[0051] a5: For each agent to be processed, set a temporary priority for its time step t+1. The temporary priority inherits the priority of the previous agent at time step t. P j T (t+1)=P j-1 (t), j∈[2,Num]; Among them, P j T (t+1) represents the temporary priority of the agent at position j in the priority sorting along the direction d' at time step t+1; P j-1 (t) represents the priority of the agent at time step t, which is the (j-1)th position in the priority sorting.

[0052] Once a path conflict occurs, the agent with the highest priority gains the right-of-way, while other lower-priority agents, after yielding once, trigger the priority inheritance mechanism. Through this mechanism, higher priorities are inherited for time step t+1, reducing the probability of lower-priority agents entering a state of continuous retries without ever actually moving forward.

[0053] a5: In locations other than the conflict locations around the agent to be processed, confirm whether a location can be found that simultaneously satisfies the following conditions; Condition 1: The local congestion coefficient C(q,t) is less than or equal to the congestion threshold θ c ; Condition 2: There is no positional conflict with other intelligent agents; If the target location can be found, then that location is taken as the target location at time step t, and the agent moves for time step t; then step S7 is executed, where the priority of the agent at time step t+1 in the movement direction d' is given by a temporary priority P. j d’ T (t+1); If it cannot be found, proceed to step a6.

[0054] a6: In locations other than the conflict locations around the agent to be processed, confirm whether a location can be found that simultaneously satisfies the following conditions; Condition 1: The local congestion coefficient C(q,t) is less than or equal to the congestion threshold θ. c ; Condition 2: For this position, the priority P of the agent to be processed at time t. i (t)Highest; If the target location can be found, then that location is taken as the target location at time step t, and the agent moves for time step t; then step S7 is executed, where the priority of the agent at time step t+1 in the movement direction d' is given by a temporary priority P. j d’ T (t+1); If the target cannot be found, the agent to be processed will not move at time step t, but will wait in place for 1 time step, and then execute step S7, wherein the priority of the agent to be processed in the movement direction d' at time step t+1 will use the temporary priority P. j d’ T (t+1).

[0055] S7: Repeat steps S4 to S6 until all agents reach the endpoint.

[0056] In this application, the conflict resolution mechanism includes two movement modes: retreating movement and waiting in place. These are used to resolve positional conflicts and prevent agents from irritating areas with high local congestion coefficients C(q,t), thus exacerbating congestion. Simultaneously, a priority inheritance mechanism is used to increase the priority of an agent in a certain direction for agents causing positional conflicts, preventing the agent from always being in a retreating state. Furthermore, for agents that retreat excessively, the task urgency U is used to determine their priority. i (t) Gradually increase the priority of each agent, enabling agents to gradually gain right-of-way and avoid entering a livelock state; at the same time, in terms of overall cost J i The calculation of (d,t) passes through the task endpoint p. i * (t) is used to guide the agent's direction of movement, ensuring that the agent moves toward the task endpoint.

[0057] The practicality of this method will be verified through simulation experiments.

[0058] Simulation platform: MAPFBenchmark. This platform provides the native framework of the PIBT algorithm and supports rapid secondary development to integrate DynPIBT's dynamic priority, predictive backtracking, and congestion perception modules, and automatically calculates core indicators such as conflict rate, task completion rate, and communication overhead.

[0059] In the simulation environment, the map size is a 100×100 grid map, which includes typical warehouse layouts such as shelving areas, aisles, work points, and fault occupancy areas; the AGV quantity is configured in gradients: 50, 100, 200, 300, 400, and 500 units.

[0060] The dynamic disturbance scenario settings in the test are as follows: 1. Dynamic task assignment: Randomly assign picking / replenishing tasks to AGVs, with a task frequency of 10 times / minute to 50 times / minute; 2. Temporary AGV stoppage due to AGV malfunction: Randomly select 1%~5% of AGVs to stop moving for 5~30 seconds; 3. Shelf movement: Randomly move 10 to 50 shelves, occupying / releasing the original grid.

[0061] Performance metrics: Metric 1. Path planning completion time, including: single AGV and cluster average; Indicator 2. Conflict Occurrence Rate: Number of AGV Path Conflicts / Total Number of Tasks; Indicator 3. Conflict resolution time, i.e., the average time to resolve a single conflict; Indicator 4. Communication overhead: Total cluster communication data volume per minute; Indicator 5. Task Completion Rate: Number of successfully completed tasks / Number of tasks issued; Indicator 6. Robustness: The runtime of the cluster without deadlock under disturbance.

[0062] The traditional PIBT algorithm and the DYPIBT algorithm of this application are compared. During the testing process, all tests must be performed under the same hardware (consistent AGV simulation node configuration) and the same map layout to eliminate environmental differences; each test case is repeated 5 times and the average value is taken to reduce random errors.

[0063] Test content 1: Basic path planning test for AGV clusters of different sizes. The test results are shown in Table 1.

[0064] Table 1: Comparison of Results for Test Content 1

[0065] As shown in Table 1, the DYPIBT algorithm has significantly lower path planning completion time, conflict occurrence rate, and conflict resolution time than the traditional PIBT algorithm under different AGV cluster sizes. As the number of AGVs increases from 50 to 500, the performance indicators of the PIBT algorithm deteriorate rapidly, while the performance degradation of the DYPIBT algorithm is more gradual, with lower communication overhead and higher task completion rate. It has obvious advantages in solution efficiency and stability in large-scale cluster scenarios.

[0066] Test content 2: Dynamic task distribution disturbance test, the test results are shown in Table 2.

[0067] Table 2: Comparison of Results for Test Content 2

[0068] As shown in Table 2, under the disturbance scenario of increased dynamic task issuance frequency, the DYPIBT algorithm can still maintain a lower conflict rate and shorter planning time. Compared with the PIBT algorithm, its task completion rate is less affected by the increase in task frequency. Its priority dynamic adjustment and congestion perception capabilities can quickly adapt to new tasks, effectively avoiding chain congestion and deadlock caused by dynamic task insertion.

[0069] Test content 3: AGV fault temporary occupation disturbance test, the test results are shown in Table 3.

[0070] Table 3: Comparison of Results for Test Content 3

[0071] As shown in Table 3, when AGVs are randomly occupied due to faults, the DYPIBT algorithm is far more robust than the PIBT algorithm, with a longer deadlock-free runtime and faster conflict resolution. The predictive backtracking and local congestion coefficient can quickly identify faulty and blocked areas, guide the agent to actively detour, greatly reduce invalid movements and path conflicts caused by faults, and ensure the stable operation of the cluster.

[0072] Test Item 4: Shelf movement disturbance test. The test results are shown in Table 4.

[0073] Table 4: Comparison of Results for Test Content 4

[0074] As shown in Table 4, when the dynamic movement of shelves causes changes in the map's accessibility, the DYPIBT algorithm has stronger adaptive capabilities. Its global coordination and congestion perception mechanisms can quickly adapt to map changes. Compared with the PIBT algorithm, it has a smaller increase in conflict rate and planning time, and a higher task completion rate. It can effectively cope with the problem of limited access caused by shelf movement in narrow pass terrain.

[0075] Test content 5: In order to more closely resemble real business scenarios, a multi-perturbation superposition test was constructed. The test results are shown in Table 5.

[0076] Table 5: Comparison of Results for Test Item 5

[0077] As shown in Table 5, the advantages of the DYPIBT algorithm are further amplified in complex scenarios involving dynamic tasks, AGV failures, and multiple disturbances during shelf movement. It is superior to the traditional PIBT algorithm in all aspects, and completely solves the problems of deadlock, livelock, invalid movement, and chain congestion in narrow and busy terrain. Its overall solution performance, robustness, and task execution efficiency meet the high-efficiency path planning requirements of complex warehousing and logistics scenarios.

[0078] After using the technical solution of this invention, with the dynamic priority formula as the core, the core requirements of "prioritizing urgent orders and avoiding congestion" of warehouse AGV are adapted through multi-dimensional weighting; through predictive backtracking and congestion perception path selection, the "passive response" is upgraded to "active avoidance", reducing ineffective movement and chain congestion.

Claims

1. A path planning method based on the DYPIBT algorithm, characterized in that, It includes the following steps: S1: Construct a dynamic priority calculation method and set P i (t) Agents with smaller values ​​correspond to higher priority; P i (t)=w1·U i (t)+w2·(D i (t) / D max )+w3·C i (t)+w4·i / N; In the formula, t is the discrete time step, and P i (t) represents the dynamic priority of the i-th agent at time step t; U i (t) represents the current task urgency of the i-th agent; D i (t) represents the Manhattan distance from the current position to the endpoint of the i-th agent at time step t, with a value ranging from D. i (t)≥0;D max C represents the maximum Manhattan distance corresponding to the current map. i (t) represents the local congestion coefficient of the agent at time t, N is the total number of agents currently participating in the calculation, and i / N represents the normalized agent ID; w1, w2, w3 and w4 are the priority weights corresponding to task urgency, distance, congestion and agent ID, respectively, satisfying the condition: w1+w2+w3+w4=1 and w1>w2>w3>w4>0; S2: Construct a congestion perception path cost calculation method to calculate the comprehensive cost J corresponding to each agent's movement in the d direction. i (d,t); S3: Construct a path planning system; The path planning system includes: a central controller and an intelligent agent; Each intelligent agent communicates with the central controller, reports its own coordinates to the central controller in real time, receives action instructions sent by the central controller, and executes the instructions. The main controller stores information about the grid map, as well as the current and destination positions of each agent, calculates the dynamic priority and the overall cost for each agent, and provides movement instructions. S4: For all agents that have not reached the destination, the central controller calculates all feasible directions for each agent at time step t-1, and calculates the dynamic priority P for each direction. i (t), Local congestion coefficient C i (t) and comprehensive cost J i (d,t); From the set of all feasible directions, the comprehensive cost J i The direction with the lowest value (d,t) is set as the optimal movement direction d. * ; S5: Before the agent moves, a backtracking judgment needs to be performed; The backtracking judgment method is as follows: at time step t-1, the position of each agent after moving one time step in all directions is recorded as the position to be judged, and the local congestion coefficient C(q,t) corresponding to each position to be judged at time step t is calculated respectively. If the optimal movement direction d * The corresponding local congestion coefficient C(q,t) is less than or equal to the preset congestion threshold θ. c Then the optimal moving direction d * Set the movement direction d' to time step t, obtain the target position, and execute step S6; Otherwise, find any local congestion coefficient that is less than or equal to a preset congestion threshold θ. c The forward direction is set as the movement direction d' of time step t, the target position is obtained, and step S6 is executed; If the local congestion coefficients for all directions of travel are less than or equal to the preset congestion threshold θ c If so, the agent will be set as a backtracking agent, triggering the backtracking operation; The backtracking operation is as follows: for the backtracking agent, set its actual position at time step t-2 as the target position of the backtracking agent at time step t, set the direction of the position at time step t-2 as the movement direction d', and execute step S6. S6: For all agents, perform path conflict judgment on the target position at time step t; The path conflict determination is as follows: compare the target positions of all agents at time step t. If a path conflict occurs, trigger a conflict resolution operation for the conflict position; otherwise, move at time step t based on the movement direction d'. S7: Repeat steps S4 to S6 until all agents reach the endpoint.

2. The path planning method based on the DYPIBT algorithm according to claim 1, characterized in that: The comprehensive cost J i The method for calculating (d,t) is as follows: J i (d,t)=α·D(p i (t)+d,p i * (t))+(1-α)·C(p i (t)+d,t); In the formula, J i (d,t) represents the total cost of the i-th agent moving one unit in the d direction at time step t; α is the distance weight, D(·,·) is the Manhattan distance function, and p i (t) represents the position of agent i at time step t, p i (t)+d represents the position of the agent after moving one unit in the d direction; p i * (t) represents the endpoint position of the i-th agent's task; C(·) is the congestion coefficient calculation function.

3. The path planning method based on the DYPIBT algorithm according to claim 1, characterized in that: In step S6, the conflict resolution operation includes: a1: For the conflict location, calculate the priority P of the Num agents that have path conflicts at time step t. i (t); a2: Sort all Num agents in ascending order of priority; a3: Find the agent with the highest priority, keep it at the target position at time step t, perform the movement operation at time step t, and then proceed to step S7; The other Num-1 agents with lower priority are designated as agents to be processed, and subsequent steps are executed. a4: For each agent to be processed, set a temporary priority for its movement direction d' at time step t+1. The temporary priority is set to inherit the priority of the previous agent at time step t. P jd’ T (t+1)=P j-1 (t),j∈[2,Num]; Among them, P j d’ T (t+1) represents the temporary priority of the agent to be processed, which is located at the j-th position in the priority sorting, in the direction of d' at time step t+1; P j-1 (t) represents the priority of the agent at time step t, which is located at the (j-1)th position in the priority sorting. a5: In locations other than the conflict locations around the agent to be processed, confirm whether a location can be found that simultaneously satisfies the following conditions; Condition 1: The local congestion coefficient C(q,t) is less than or equal to the congestion threshold θ c ; Condition 2: There is no positional conflict with other intelligent agents; If the target location can be found, then that location is taken as the target location at time step t, and the agent moves for time step t; then step S7 is executed, where the priority of the agent at time step t+1 in the movement direction d' is given by a temporary priority P. j d’ T (t+1); If it cannot be found, proceed to step a6; a6: In locations other than the conflict locations around the agent to be processed, confirm whether a location can be found that simultaneously satisfies the following conditions; Condition 1: The local congestion coefficient C(q,t) is less than or equal to the congestion threshold θ. c ; Condition 2: For this position, the priority P of the agent to be processed at time t. i (t)Highest; If the target location can be found, then that location is taken as the target location at time step t, and the agent moves for time step t; then step S7 is executed, where the priority of the agent at time step t+1 in the movement direction d' is given by a temporary priority P. j d’ T (t+1); If the target cannot be found, the agent to be processed will not move at time step t, but will wait in place for 1 time step, and then execute step S7, wherein the priority of the agent to be processed in the movement direction d' at time step t+1 will use the temporary priority P. j d’ T (t+1).

4. The path planning method based on the DYPIBT algorithm according to claim 1, characterized in that: The method for calculating the local congestion coefficient is as follows: C(q,t) = NUMavg / NUMgrid; Where NUMgrid is the number of effective local grids centered at point q, 1≤NUMavg≤9; NUMavg is the number of agents existing in NUMgrid effective local grids.

5. The path planning method based on the DYPIBT algorithm according to claim 4, characterized in that: The method for counting the number of effective local grids includes the following steps: b1: Get the locations of all grid maps; b2: Construct a 3×3 nine-square grid centered on point q; b3: Using point q as a reference, find the overlapping grid of the 3x3 grid and the grid map, denoted as: effective local grid; b4: Count the number of effective local meshes to obtain the value of NUMgrid.

6. The path planning method based on the DYPIBT algorithm according to claim 1, characterized in that: The method for calculating the urgency of the task is as follows: U i (t)=max(0.01,(T i deadline -t) / T i total ); In the formula, T i total T represents the total planned time steps for agent i's current task, and records the maximum number of time steps allowed for task execution within the current scenario; i deadline T represents the current task deadline step for agent i, and the total execution time steps allocated to the task based on the actual business requirements; i deadline ≤T i total .

7. The path planning method based on the DYPIBT algorithm according to claim 6, characterized in that: The method for calculating the task deadline step is as follows: T i deadline =D i + BT i ; Among them, D i Let BT be the time step corresponding to the Manhattan distance from the starting point to the ending point of the current task for the i-th agent. i Let BT be the actual buffer step number corresponding to the current task of the i-th agent, where 0 < BT. i ≤BTmax.