AGV adaptive path planning method and system
By optimizing AGV path planning using a ternary key-value sorting criterion, and combining turning cost, energy consumption status, and future congestion prediction, the problem of insufficient path planning in existing technologies is solved, generating a comprehensive optimal path and improving the operating efficiency and energy management of AGVs.
Patent Information
- Application Number
- CN202511653012.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-12
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2045-11-12
AI Technical Summary
Existing AGV path planning methods fail to comprehensively consider the geometric cost, turning cost, and energy cost of the path, and fail to effectively integrate multiple optimization objectives when the environment changes, resulting in insufficient optimization of the planned path in actual execution.
The system employs a ternary key-value sorting criterion, including turning cost, energy consumption state coefficient, and composite heuristic function. By calculating the path angle, historical travel time, and future congestion index, it optimizes path selection, adapts to the AGV's load and power status, and predicts future traffic conditions.
It generates a comprehensive optimal path that performs well across multiple dimensions, reducing sharp turns and frequent acceleration and deceleration, improving operational smoothness and energy efficiency, and adapting to environmental changes.
Smart Images

Figure CN121115522B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of path planning, and in particular relates to an AGV adaptive path planning method and system. Background Technology
[0002] One of the core technologies of Automated Guided Vehicles (AGVs) is intelligent path planning. Path planning aims to find a collision-free optimal path from the starting point to the destination point for the AGV in complex environments, based on specific optimization objectives. It evaluates the quality of paths by defining the cost of nodes and using heuristic estimation, thereby quickly finding a theoretically shortest path within a vast search space. However, in actual warehousing or factory environments, the operating efficiency of AGVs depends not only on the geometric length of the path but is also constrained by many physical factors. Traditional path planning methods primarily optimize for the shortest path, neglecting path smoothness, the AGV's own energy consumption, and complex real-world issues such as traffic congestion caused by multiple AGVs working together. This results in planned paths that are not optimal in actual execution. Some methods attempt to incorporate turning penalties into the path cost to obtain smoother paths; others utilize the concept of time windows to handle path conflicts. Regarding heuristic search, traditional heuristic functions only consider the geometric distance to the destination point, insufficiently utilizing historical traffic information and future traffic situation predictions on the map, leading to limited guidance and a tendency to get stuck in local optima in complex congested scenarios. In energy management, most algorithms fail to consider the real-time changing states of the AGV, such as its load and remaining power, as crucial factors in path selection, thus failing to achieve truly energy-aware planning. Furthermore, while incremental algorithms avoid complete replanning when responding to environmental changes, they fail to integrate multiple optimization objectives, such as path quality and energy consumption expectations, into the adjustment process when updating node priorities and selecting expansion nodes. Therefore, inventing an AGV path planning method that can comprehensively consider geometric cost, time cost, turning cost, and energy cost within a single framework and fully address environmental changes is a pressing technical problem that needs to be solved. Summary of the Invention
[0003] This invention proposes an adaptive path planning method for AGVs, comprising the following steps:
[0004] Obtain the current position and target position of the AGV, as well as a grid map containing static obstacles and environmental passage costs; for each node to be explored in the grid map, calculate a ternary key value consisting of a first key value, a second key value, and a third key value, and sort all nodes to be explored according to the lexicographical order of the ternary key values;
[0005] The third key value is a turning cost value, which is determined based on the path angle formed by the current node, the path backtracking parent node, and an adjacent node to be evaluated; the second key value is calculated based on the smaller of the node's g value and rhs value, multiplied by an energy consumption state coefficient.
[0006] The first key value is calculated using the node's g value, rhs value, and a composite heuristic function value. The composite heuristic function value integrates the geometric distance between the target location and the node, a backtracking factor that records the node's historical travel time, and a future congestion index. The future congestion index is the predicted occupancy rate of the node within a future time window, calculated by predicting the future movement trajectories of other AGVs on the map.
[0007] Select the node with the smallest ternary key value from the sorted nodes to be explored as the current node, and update the g and rhs values of the adjacent nodes; when the obstacles or passage costs in the grid map change, only the affected nodes and their neighboring nodes are re-executed to calculate and sort the ternary key values; repeat the steps of selecting the current node and updating the adjacent nodes until the path from the current location to the target location is obtained.
[0008] Optionally, the third key value is a turning value, which is determined based on the path angle formed by the current node, the path backtracking parent node, and an adjacent node to be evaluated, including:
[0009] Step 1: Calculate the vector from the parent node backtracking the path to the current node. And the vector from the current node to the neighboring node to be evaluated. ;
[0010] Step 2, calculate the vector sum vector The included angle θ between them;
[0011] Step 3: Set the steering cost based on the included angle θ: when the included angle θ is 0°, the steering cost is 0; when the included angle θ is 45°, the steering cost is 1; when the included angle θ is 90°, the steering cost is 1.5.
[0012] Optionally, the second key value is calculated based on the smaller of the node's g value and rhs value, multiplied by an energy consumption state coefficient, as shown in the following formula:
[0013]
[0014] in, Energy consumption state coefficient, The current load of the AGV. This represents the maximum load of the AGV. This is the current remaining battery power of the AGV. This represents the AGV's full charge level. and These are preset adjustment parameters.
[0015] Optionally, the composite heuristic function value integrates the geometric distance between the target location and the node, a backtracking factor recording the historical travel time of the node, and a future congestion index, calculated as follows:
[0016]
[0017] Where H(n) is the composite heuristic function value of node n; R(n) is the Euclidean distance from node n to the target node; R(n) is the backtracking factor, representing the historical average time to pass through the node; F(n,t) is the future congestion index, representing the predicted number of AGVs passing through the node in the future. This is a preset average velocity parameter used to convert the time dimension to the distance dimension; A preset congestion penalty coefficient is used to convert the amount of congestion into an equivalent distance cost; , , These are the weighting coefficients, and .
[0018] Optionally, the backtracking factor that records the historical passage time of the node is calculated as follows:
[0019] Each grid node n maintains a historical average travel time R(n); after any AGV completes its passage through node n, the actual travel time for this passage is obtained. The backtracking factor of the node is updated using the following exponential moving average formula:
[0020]
[0021] in, For the updated backtracking factor, The backtracking factor before the update. This refers to the update rate.
[0022] Optionally, the future congestion index is calculated based on the predicted occupancy rate of the node within a future time window, obtained by predicting the future movement trajectories of other AGVs on the map. The calculation steps are as follows:
[0023] Step 1: Set the prediction time window T to 30 seconds in the future;
[0024] Step 2: Obtain the current path planning results for all other AGVs on the map except the currently planned AGV;
[0025] Step 3: For each other AGV, predict the sequence of grid nodes it will occupy in the next 30 seconds;
[0026] Step 4: For the node n to be evaluated, count how many AGVs' predicted paths will pass through the node in the next 30 seconds, and use the counted number of AGVs as the future congestion index of the node.
[0027] Optionally, when obstacles or passage costs change in the raster map, the calculation and sorting steps of the ternary key values are re-executed only for the affected nodes and their neighboring nodes, specifically including:
[0028] Step 1: Identify the specific set S of grid nodes whose passage costs have changed;
[0029] Step 2: For each node u in set S, update the edge cost with all adjacent nodes v according to the changing travel cost.
[0030] Step 3: For each node u in set S, and for all predecessor nodes p that are successors of node u, recalculate their respective rhs values.
[0031] Step 4: For nodes whose rhs and g values become inconsistent in Step 3, update their ternary key values and put them into the node sorting queue to be explored for reordering.
[0032] Furthermore, the present invention also relates to an AGV adaptive path planning system, comprising the following modules:
[0033] The acquisition module is used to acquire the current position of the AGV, the target position, and a grid map containing static obstacles and environmental passage costs; for each node to be explored in the grid map, a ternary key value consisting of a first key value, a second key value, and a third key value is calculated, and all nodes to be explored are sorted according to the lexicographical order of the ternary key values;
[0034] The calculation module is used to make the third key value a turning cost value, which is determined based on the path angle formed by the current node, the path backtracking parent node, and an adjacent node to be evaluated; the calculation of the second key value is based on the smaller of the node's g value and rhs value, multiplied by an energy consumption state coefficient.
[0035] The statistics module is used to calculate the first key value using the node's g value, rhs value, and a composite heuristic function value. The composite heuristic function value integrates the geometric distance between the target location and the node, a backtracking factor that records the node's historical travel time, and a future congestion index. The future congestion index is the predicted occupancy rate of the node within a future time window, which is obtained by predicting the future movement trajectories of other AGVs on the map.
[0036] The execution module is used to select the node with the smallest ternary key value from the sorted nodes to be explored as the current node, and update the g value and rhs value of the adjacent nodes; when the obstacles or passage cost in the grid map change, the calculation and sorting steps of the ternary key value are re-executed only for the affected nodes and neighboring nodes; the steps of selecting the current node and updating the adjacent nodes are repeated until the path from the current position to the target position is obtained.
[0037] Preferably, the third key value is a turning value, which is determined based on the path angle formed by the current node, the path backtracking parent node, and an adjacent node to be evaluated, including:
[0038] Step 1: Calculate the vector from the parent node backtracking the path to the current node. And the vector from the current node to the neighboring node to be evaluated. ;
[0039] Step 2, calculate the vector sum vector The included angle θ between them;
[0040] Step 3: Set the steering cost based on the included angle θ: when the included angle θ is 0°, the steering cost is 0; when the included angle θ is 45°, the steering cost is 1; when the included angle θ is 90°, the steering cost is 1.5.
[0041] Preferably, the calculation of the second key value is based on the smaller of the node's g value and rhs value, multiplied by an energy consumption state coefficient, as shown in the following formula:
[0042]
[0043] in, Energy consumption state coefficient, The current load of the AGV. This represents the maximum load of the AGV. This is the current remaining battery power of the AGV. This represents the AGV's full charge level. and These are preset adjustment parameters.
[0044] Preferably, the composite heuristic function value integrates the geometric distance between the target location and the node, a backtracking factor recording the historical travel time of the node, and a future congestion index, and the calculation formula is as follows:
[0045]
[0046] Where H(n) is the composite heuristic function value of node n; R(n) is the Euclidean distance from node n to the target node; R(n) is the backtracking factor, representing the historical average time to pass through the node; F(n,t) is the future congestion index, representing the predicted number of AGVs passing through the node in the future. This is a preset average velocity parameter used to convert the time dimension to the distance dimension; A preset congestion penalty coefficient is used to convert the amount of congestion into an equivalent distance cost; , , These are the weighting coefficients, and .
[0047] Preferably, the backtracking factor that records the historical passage time of the node is calculated as follows:
[0048] Each grid node n maintains a historical average travel time R(n); after any AGV completes its passage through node n, the actual travel time for this passage is obtained. The backtracking factor of the node is updated using the following exponential moving average formula:
[0049]
[0050] in, For the updated backtracking factor, The backtracking factor before the update. This refers to the update rate.
[0051] Preferably, the future congestion index is calculated based on the predicted occupancy rate of the node within a future time window, obtained by predicting the future movement trajectories of other AGVs on the map. The calculation steps are as follows:
[0052] Step 1: Set the prediction time window T to 30 seconds in the future;
[0053] Step 2: Obtain the current path planning results for all other AGVs on the map except the currently planned AGV;
[0054] Step 3: For each other AGV, predict the sequence of grid nodes it will occupy in the next 30 seconds;
[0055] Step 4: For the node n to be evaluated, count how many AGVs' predicted paths will pass through the node in the next 30 seconds, and use the counted number of AGVs as the future congestion index of the node.
[0056] Preferably, when obstacles or passage costs change in the raster map, the calculation and sorting steps of the ternary key values are re-executed only for the affected nodes and their neighboring nodes, specifically including:
[0057] Step 1: Identify the specific set S of grid nodes whose passage costs have changed;
[0058] Step 2: For each node u in set S, update the edge cost with all adjacent nodes v according to the changing travel cost.
[0059] Step 3: For each node u in set S, and for all predecessor nodes p that are successors of node u, recalculate their respective rhs values.
[0060] Step 4: For nodes whose rhs and g values become inconsistent in Step 3, update their ternary key values and put them into the node sorting queue to be explored for reordering.
[0061] Compared with existing technologies, this invention provides an AGV path planning method and system. By constructing a ternary key-value ranking criterion that includes path geometric cost, turning cost, and energy consumption cost, it achieves comprehensive optimization of path quality. The turning cost makes the planned path smoother, reducing sharp turns and frequent accelerations and decelerations during AGV operation. By incorporating the AGV's current load and remaining battery status into the calculation of the second key value, path selection can take into account its own energy consumption level, tending to choose routes with lower energy consumption when heavily loaded or with low battery. Furthermore, the composite heuristic function used in the first key value integrates the node's historical travel time with predictions of future traffic conditions, enabling nodes to proactively avoid potential congestion areas and obtain a comprehensive optimal path that performs well in multiple dimensions such as path length, operational smoothness, energy economy, and traffic efficiency. Attached Figure Description
[0062] Figure 1 A flowchart of the first embodiment;
[0063] Figure 2 This is a diagram illustrating the raster map and toll costs.
[0064] Figure 3 This is a schematic diagram of the initial path planning. Detailed Implementation
[0065] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application. It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use, and processing of related data must comply with relevant laws, regulations, and standards, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0066] In the first embodiment, the present invention proposes an AGV adaptive path planning method, such as... Figure 1 It includes the following steps:
[0067] S1. Obtain the current position of the AGV, the target position, and a grid map containing static obstacles and environmental passage costs; for each node to be explored in the grid map, calculate a ternary key value consisting of a first key value, a second key value, and a third key value, and sort all nodes to be explored according to the lexicographical order of the ternary key values;
[0068] Specifically, the AGV's working environment is discretized into a two-dimensional grid map, with each grid cell serving as a node. For example... Figure 2 Each node has defined coordinates and is assigned a state, such as whether it is a passable or impassable static obstacle. The AGV's current position and target position correspond to the starting node on the map, respectively. and target node In addition, a base passage cost is set for each passable node. For example, the cost of moving from one node to an adjacent node on flat ground is 1, and the cost of moving to a diagonal node is 1.4. For areas with slow-moving zones or high ground friction, higher passage cost values can be set for the corresponding nodes.
[0069] An open list, also known as a priority queue, is used to store all nodes to be explored. For any node *s* in the open list, its priority is determined by a ternary key K(s) = [ ; ; The decision is made by comparing the first key value during sorting. , Nodes with smaller values are listed first; if If the values are equal, then compare the second key value. , Nodes with smaller values are listed first; if and If all values are equal, then compare the third key value. , Nodes with smaller values are listed first. Through lexicographical comparison, the head of the priority queue is always the node with the smallest ternary key value.
[0070] S2, the third key value is a turning cost value, which is determined based on the path angle formed by the current node, the path backtracking parent node, and an adjacent node to be evaluated; the second key value is calculated based on the smaller of the node's g value and rhs value, multiplied by an energy consumption state coefficient.
[0071] Specifically, when expanding from the current node u to the adjacent node s, it is necessary to calculate the turning cost. Obtain the parent node p(u) of the current node u, i.e., the node preceding u in the path. Construct two vectors: the first vector points from p(u) to u, and the second vector points from u to the adjacent node s to be evaluated. Calculate the angle between these two vectors using their dot product or cross product. The larger the angle, the more drastic the turn, and the higher the corresponding turning cost. The larger it is. For example, if there is no turning, the included angle is 0. The value is 0; if the rotation is 45°, It is a small positive value; if it turns 90°, It should be a large positive value. This key value is used to prioritize nodes with smoother paths when other costs are similar.
[0072] g(s) is the cost of the currently known shortest path from the starting node to node s. rhs(s) is the minimum of the sum of the g value g(u) of the predecessor node u of node s and the cost c(u,s) of moving from u to s. In one embodiment, the energy consumption state coefficient α is calculated using the following formula:
[0073]
[0074] in and This is a weighting coefficient. The α value increases when the AGV is heavily loaded or has low battery. (Second key value) The calculation formula is: This causes the algorithm to tend to select nodes with smaller g and rhs values, i.e., lower-cost paths, under heavy load or low power conditions.
[0075] S3, calculate the first key value using the node's g value, rhs value, and a composite heuristic function value. The composite heuristic function value integrates the geometric distance between the target location and the node, a backtracking factor that records the node's historical travel time, and a future congestion index. The future congestion index is the predicted occupancy rate of the node within a future time window, calculated by predicting the future movement trajectories of other AGVs on the map.
[0076] In one embodiment, the first key value The calculation formula is: =min(g(s),rhs(s))+H(s), where H(s) is a composite heuristic function. H(s) consists of three weighted parts:
[0077]
[0078] in, It is from node s to the target node The geometric distance, such as Manhattan distance or Euclidean distance. It is a backtracking factor, maintaining a table that records the historical average travel time for each node; this value is... . This is the future congestion index. It obtains the current task paths of all other AGVs on the map, predicts the nodes they will pass through in the next 30 seconds, and then counts the number of times or the total duration of other AGVs occupying node 's' within those 30 seconds. The results are then normalized and used as the index. .in, , , These are the geometric distance weight, the backtracking factor weight, and the future congestion index weight, respectively. In one optional embodiment, By weighted summation, H(s) can comprehensively assess the geometric distance to the destination, historical traffic efficiency, and future traffic conditions.
[0079] S4, select the node with the smallest ternary key value from the sorted nodes to be explored as the current node, and update the g value and rhs value of the adjacent nodes; when the obstacles or passage cost in the grid map change, only the affected nodes and neighboring nodes are re-executed to calculate and sort the ternary key value; repeat the step of selecting the current node and updating the adjacent nodes until the path from the current position to the target position is obtained.
[0080] The node u with the smallest ternary key value is retrieved from the priority queue. If node u is locally inconsistent (i.e., g(u) is not equal to rhs(u), it is updated. If g(u) is greater than rhs(u), u is made locally consistent by setting g(u) to rhs(u). All adjacent nodes s of u are traversed, and the rhs value of s is updated through u, i.e., rhs(s) is updated to the smaller of g(u) + c(u,s) and the original rhs(s). If g(u) is less than rhs(u), g(u) is set to infinity, and u and all adjacent nodes are traversed, updating their rhs values. Whenever the rhs value or g value of a node changes, causing local inconsistency, the ternary key value needs to be recalculated, and its position in the priority queue updated.
[0081] Suppose the edge cost c(u,v) at node v on the map changes, for example, due to a temporary blockage of a passage. The algorithm immediately updates the costs of all edges pointing to v. For each neighbor node u of v, the algorithm recalculates the RHS value of u. If the RHS value of u changes as a result, causing u to become locally inconsistent (i.e., g(u) is not equal to rhs(u), the algorithm recalculates the ternary key value K(u) of u and inserts or updates it into a priority queue. Subsequent planning processes start from the affected nodes, rather than recalculating the entire map from scratch.
[0082] The algorithm executes iteratively, continuously retrieving the node with the smallest key from the top of the priority queue for processing and updating its neighbors, until two conditions are met: the starting node... It becomes locally consistent, i.e., g( ) equals rhs( Furthermore, the minimum key value at the top of the priority queue is not less than the starting node. The key-value pair. When the loop terminates, it starts from the beginning node. Initially, using a greedy strategy, each step moves to the neighboring node with the lowest cost, i.e., selecting a neighbor s' that minimizes g(s') + c(current node, s'). This process is iterated until the target node is reached. This allows us to construct the final path.
[0083] In an optional embodiment, the third key value is a turning value, which is determined based on the path angle formed by the current node, the path backtracking parent node, and an adjacent node to be evaluated, including:
[0084] Step 1: Calculate the vector from the parent node backtracking the path to the current node. And the vector from the current node to the neighboring node to be evaluated. ;
[0085] Step 2, calculate the vector sum vector The included angle θ between them;
[0086] Step 3: Set the steering cost based on the included angle θ: when the included angle θ is 0°, the steering cost is 0; when the included angle θ is 45°, the steering cost is 1; when the included angle θ is 90°, the steering cost is 1.5.
[0087] Specifically, the calculation of this turning cost value aims to evaluate the turning cost of the AGV during path travel, guiding the generation of smoother and easier-to-execute paths. Assuming the AGV is currently located at node C on the grid map with coordinates (2,2), and the coordinates of the previous node on the path, i.e., the parent node P, are (1,2), the cost of traveling to the adjacent node N needs to be evaluated. The vector from parent node P to the current node C is calculated. The value is (1,0).
[0088] If the coordinates of the neighboring node N to be evaluated are (3,2), then the vector from the current node C to the neighboring node N is... The vector is (1,0). and The included angle θ between them is 0°, meaning the AGV will travel in a straight line, and the turning cost is set to 0, incurring no additional cost. If the coordinates of the adjacent node N to be evaluated are (3,3), then the vector... The vector is (1,1). and The included angle θ is 45°, indicating that the AGV needs to make a diagonal turn, with a turning cost of 1. If the coordinates of the adjacent node N to be evaluated are (2,3), then the vector... The vector is (0,1). and The included angle θ is 90°, which means that the AGV needs to make a right-angle turn. This turn causes the greatest mechanical wear and time consumption for the AGV, so a higher turning cost of 1.5 is set.
[0089] In an optional embodiment, the second key value is calculated based on the smaller of the node's g value and rhs value, multiplied by an energy consumption state coefficient, as shown in the following formula:
[0090]
[0091] in, Energy consumption state coefficient, The current load of the AGV. This represents the maximum load of the AGV. This is the current remaining battery power of the AGV. This represents the AGV's full charge level. and These are preset adjustment parameters.
[0092] By utilizing the energy consumption state coefficient, path planning can be adapted to the AGV's own state. Assume the AGV's maximum load is 100 kg and its full charge is 1000 units. Set to 0.8, The value is 0.2. For a node to be evaluated, the smaller of the g value and the rhs value is 50. In a high-energy-consumption scenario, the AGV currently has a load of 80 kg and a remaining power of 300 units. The energy state coefficient at this time is... The calculated value is 3.28. Therefore, the calculated second key value of this node is 164. In another low-energy scenario, the AGV's current load is only 10 kg, and the remaining power is 900 units. At this time, the energy consumption state coefficient... The calculated value is 0.98. Therefore, the calculated second key value for this node is 49. By comparison, it can be seen that when the AGV is under heavy load and low power, the path cost of the node is high, and the algorithm will tend to choose a shorter or better path to save energy; conversely, the cost is lower when the AGV is under heavy load and low power.
[0093] To provide a more accurate future cost estimate than simple geometric distance, in an optional embodiment, the composite heuristic function value integrates the geometric distance between the target location and the node, a backtracking factor recording the node's historical travel time, and a future congestion index, calculated as follows:
[0094]
[0095] Where H(n) is the composite heuristic function value of node n; R(n) is the Euclidean distance from node n to the target node; R(n) is the backtracking factor, representing the historical average time to pass through the node; F(n,t) is the future congestion index, representing the predicted number of AGVs passing through the node in the future. This is a preset average velocity parameter used to convert the time dimension to the distance dimension; A preset congestion penalty coefficient is used to convert the amount of congestion into an equivalent distance cost; , , These are the weighting coefficients, and .
[0096] Suppose we want to calculate the heuristic function value of node n, and the Euclidean distance from this node to the target point is known to be 100m. The average travel time through this node, i.e., the backtracking factor, is 5s. By predicting the trajectories of other AGVs, we determine that 2 AGVs will pass through this node in the near future, meaning the future congestion index is 2. We set the average speed parameter to 2m / s, the congestion penalty coefficient to 15 meters per AGV, and the weighting coefficients as follows: =0.5, =0.2, =0.3. According to the formula, the first part, the geometric distance cost, is 50. The second part, the historical travel cost, is 2, which is equivalent to converting historical delays into an additional distance cost of 2m. The third part, the future congestion cost, is 9, which is equivalent to converting predicted congestion into an additional distance cost of 9m. The composite heuristic function value of node n is the sum of the three parts, i.e., 61.
[0097] In an optional embodiment, the backtracking factor that records the historical passage time of the node is calculated as follows:
[0098] Each grid node n maintains a historical average travel time R(n); after any AGV completes its passage through node n, the actual travel time for this passage is obtained. The backtracking factor of the node is updated using the following exponential moving average formula:
[0099]
[0100] in, For the updated backtracking factor, The backtracking factor before the update. This refers to the update rate.
[0101] Specifically, suppose a grid node n has a recorded historical average travel time (the old backtracking factor) of 10 seconds. An AGV passes through this node, but due to a brief pedestrian avoidance, the actual travel time is recorded as 15 seconds. The backtracking factor for this node will be updated using an exponential moving average formula. The update rate γ is set to 0.1. The new backtracking factor is calculated to be 10.5 seconds. This updated value will serve as the basis for evaluating the historical travel cost of this node in the next path planning iteration. It smoothly reflects the most recent travel delay, allowing the system to recognize the potential risk of slow travel at this node.
[0102] In an optional embodiment, the future congestion index is calculated based on the predicted occupancy rate of the node within a future time window, obtained by predicting the future movement trajectories of other AGVs on the map. The calculation steps are as follows:
[0103] Step 1: Set the prediction time window T to 30 seconds in the future;
[0104] Step 2: Obtain the current path planning results for all other AGVs on the map except the currently planned AGV;
[0105] Step 3: For each other AGV, predict the sequence of grid nodes it will occupy in the next 30 seconds;
[0106] Step 4: For the node n to be evaluated, count how many AGVs' predicted paths will pass through the node in the next 30 seconds, and use the counted number of AGVs as the future congestion index of the node.
[0107] Assumption Route planning is in progress, requiring assessment of the future congestion index at the next node X. The prediction time window is set to the next 30 seconds. Scanning the map, except for... All AGVs other than, for example , and . Obtain , and The currently planned paths. Based on their current positions and speeds, the sequence of nodes they will each pass through in the next 30 seconds is calculated. For example, the prediction shows... The path will not pass through node X; The path will pass through node X at 12s; The path will pass through the node at 25s. Within the 30s prediction window, the predicted path includes the total number of AGVs at node X. In the example above, and Both paths pass through node X, therefore the future congestion index of node X is determined to be 2, which is used for calculation. The composite heuristic function, with a higher congestion index, increases the passage cost at that node, thereby guiding... They tend to avoid potential congestion points.
[0108] In an optional embodiment, when obstacles or passage costs change in the grid map, the calculation and sorting steps of the ternary key values are re-executed only for the affected nodes and their neighboring nodes, specifically including:
[0109] Step 1: Identify the specific set S of grid nodes whose passage costs have changed;
[0110] Step 2: For each node u in set S, update the edge cost with all adjacent nodes v according to the changing travel cost.
[0111] Step 3: For each node u in set S, and for all predecessor nodes p that are successors of node u, recalculate their respective rhs values.
[0112] Step 4: For nodes whose rhs and g values become inconsistent in Step 3, update their ternary key values and put them into the node sorting queue to be explored for reordering.
[0113] This embodiment enables local replanning in response to map changes, avoiding the significant overhead of global recalculation. For example... Figure 3 Suppose that on a planned path, a previously accessible node U becomes an impassable obstacle due to temporary cargo storage. The path cost of node U changes from a finite value to infinity, and it is added to set S. All edge costs associated with node U are updated, meaning the path cost from all neighboring nodes V to U is updated to infinity. All nodes that used node U as their next step in the old path are found; these are called U's predecessor nodes, and node P is one of them. Since the cost from P to U has become infinite, node P needs to re-evaluate the cost to the target, i.e., the rhs value. It examines its neighbors (excluding U) to find a new optimal path. The newly calculated rhs value of node P will no longer be equal to the previous g value based on the old path; at this point, P becomes an inconsistent node. The ternary key value of node P is updated, and it is re-added to the priority queue to be explored. The algorithm starts from this inconsistent node, propagating the cost change outwards, quickly fixing a new path around the new obstacle U, while the vast unaffected areas of the map require no computation.
[0114] In a second embodiment, an AGV adaptive path planning system is provided, comprising the following modules:
[0115] The acquisition module is used to acquire the current position of the AGV, the target position, and a grid map containing static obstacles and environmental passage costs; for each node to be explored in the grid map, a ternary key value consisting of a first key value, a second key value, and a third key value is calculated, and all nodes to be explored are sorted according to the lexicographical order of the ternary key values;
[0116] The calculation module is used to make the third key value a turning cost value, which is determined based on the path angle formed by the current node, the path backtracking parent node, and an adjacent node to be evaluated; the calculation of the second key value is based on the smaller of the node's g value and rhs value, multiplied by an energy consumption state coefficient.
[0117] The statistics module is used to calculate the first key value using the node's g value, rhs value, and a composite heuristic function value. The composite heuristic function value integrates the geometric distance between the target location and the node, a backtracking factor that records the node's historical travel time, and a future congestion index. The future congestion index is the predicted occupancy rate of the node within a future time window, which is obtained by predicting the future movement trajectories of other AGVs on the map.
[0118] The execution module is used to select the node with the smallest ternary key value from the sorted nodes to be explored as the current node, and update the g value and rhs value of the adjacent nodes; when the obstacles or passage cost in the grid map change, the calculation and sorting steps of the ternary key value are re-executed only for the affected nodes and neighboring nodes; the steps of selecting the current node and updating the adjacent nodes are repeated until the path from the current position to the target position is obtained.
[0119] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0120] The above description is merely an embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principle of this application should be included within the scope of the claims of this application.
Claims
1. An adaptive path planning method for AGVs, characterized in that, Includes the following steps: Obtain the current position and target position of the AGV, as well as a grid map containing static obstacles and environmental passage costs; for each node to be explored in the grid map, calculate a ternary key value consisting of a first key value, a second key value, and a third key value, and sort all nodes to be explored according to the lexicographical order of the ternary key values; The third key value is a turning cost value, which is determined based on the path angle formed by the current node, the path backtracking parent node, and an adjacent node to be evaluated; the second key value is calculated based on the smaller of the node's g value and rhs value, multiplied by an energy consumption state coefficient. The first key value is calculated using the node's g value, rhs value, and a composite heuristic function value. The composite heuristic function value integrates the geometric distance between the target location and the node, a backtracking factor that records the node's historical travel time, and a future congestion index. The future congestion index is the predicted occupancy rate of the node within a future time window, calculated by predicting the future movement trajectories of other AGVs on the map. Select the node with the smallest ternary key value from the sorted nodes to be explored as the current node, and update the g and rhs values of the adjacent nodes; when the obstacles or passage costs in the grid map change, only the affected nodes and their neighboring nodes are re-executed to calculate and sort the ternary key values; repeat the steps of selecting the current node and updating the adjacent nodes until the path from the current location to the target location is obtained.
2. The method according to claim 1, characterized in that, The third key value is a turning value, which is determined based on the path angle formed by the current node, the path backtracking parent node, and an adjacent node to be evaluated, including: Step 1: Calculate the vector from the parent node backtracking the path to the current node. And the vector from the current node to the neighboring node to be evaluated. ; Step 2, calculate the vector sum vector The included angle θ between them; Step 3: Set the steering cost based on the included angle θ: when the included angle θ is 0°, the steering cost is 0; when the included angle θ is 45°, the steering cost is 1; when the included angle θ is 90°, the steering cost is 1.
5.
3. The method according to claim 1, characterized in that, The second key value is calculated based on the smaller of the node's g value and rhs value, multiplied by an energy consumption state coefficient. The calculation formula is as follows: in, Energy consumption state coefficient, The current load of the AGV. This represents the maximum load of the AGV. This is the current remaining battery power of the AGV. This represents the AGV's full charge level. and These are preset adjustment parameters.
4. The method according to claim 1, characterized in that, The composite heuristic function value integrates the geometric distance between the target location and the node, a backtracking factor recording the node's historical travel time, and a future congestion index. The calculation formula is as follows: Where H(n) is the composite heuristic function value of node n; R(n) is the Euclidean distance from node n to the target node; R(n) is the backtracking factor, representing the historical average time to pass through the node; F(n,t) is the future congestion index, representing the predicted number of AGVs passing through the node in the future. This is a preset average velocity parameter used to convert the time dimension to the distance dimension; A preset congestion penalty coefficient is used to convert the amount of congestion into an equivalent distance cost; , , These are the weighting coefficients, and .
5. The method according to claim 1, characterized in that, The backtracking factor that records the historical passage time of the node is calculated as follows: Each grid node n maintains a historical average travel time R(n); after any AGV completes its passage through node n, the actual travel time for this passage is obtained. The backtracking factor of the node is updated using the following exponential moving average formula: in, For the updated backtracking factor, The backtracking factor before the update. This refers to the update rate.
6. The method according to claim 1, characterized in that, The future congestion index is calculated based on the predicted occupancy rate of the node within a future time window, obtained by predicting the future movement trajectories of other AGVs on the map. The calculation steps are as follows: Step 1: Set the prediction time window T to 30 seconds in the future; Step 2: Obtain the current path planning results for all other AGVs on the map except the currently planned AGV; Step 3: For each other AGV, predict the sequence of grid nodes it will occupy in the next 30 seconds; Step 4: For the node n to be evaluated, count how many AGVs' predicted paths will pass through the node in the next 30 seconds, and use the counted number of AGVs as the future congestion index of the node.
7. The method according to claim 1, characterized in that, When obstacles or passage costs change in the raster map, the calculation and sorting steps of the ternary key value are re-executed only for the affected nodes and their neighboring nodes, specifically including: Step 1: Identify the specific set S of grid nodes whose passage costs have changed; Step 2: For each node u in set S, update the edge cost with all adjacent nodes v according to the changing travel cost. Step 3: For each node u in set S, and for all predecessor nodes p that are successors of node u, recalculate their respective rhs values. Step 4: For nodes whose rhs and g values become inconsistent in Step 3, update their ternary key values and put them into the node sorting queue to be explored for reordering.
8. An AGV adaptive path planning system, characterized in that, Includes the following modules: The acquisition module is used to acquire the current position of the AGV, the target position, and a grid map containing static obstacles and environmental passage costs; for each node to be explored in the grid map, a ternary key value consisting of a first key value, a second key value, and a third key value is calculated, and all nodes to be explored are sorted according to the lexicographical order of the ternary key values; The calculation module is used to make the third key value a turning cost value, which is determined based on the path angle formed by the current node, the path backtracking parent node, and an adjacent node to be evaluated; the calculation of the second key value is based on the smaller of the node's g value and rhs value, multiplied by an energy consumption state coefficient. The statistics module is used to calculate the first key value using the node's g value, rhs value, and a composite heuristic function value. The composite heuristic function value integrates the geometric distance between the target location and the node, a backtracking factor that records the node's historical travel time, and a future congestion index. The future congestion index is the predicted occupancy rate of the node within a future time window, which is obtained by predicting the future movement trajectories of other AGVs on the map. The execution module is used to select the node with the smallest ternary key value from the sorted nodes to be explored as the current node, and update the g value and rhs value of the adjacent nodes; when the obstacles or passage cost in the grid map change, the calculation and sorting steps of the ternary key value are re-executed only for the affected nodes and neighboring nodes; the steps of selecting the current node and updating the adjacent nodes are repeated until the path from the current position to the target position is obtained.
9. The system according to claim 8, characterized in that, The third key value is a turning value, which is determined based on the path angle formed by the current node, the path backtracking parent node, and an adjacent node to be evaluated, including: Step 1: Calculate the vector from the parent node backtracking the path to the current node. And the vector from the current node to the neighboring node to be evaluated. ; Step 2, calculate the vector sum vector The included angle θ between them; Step 3: Set the steering cost based on the included angle θ: when the included angle θ is 0°, the steering cost is 0; when the included angle θ is 45°, the steering cost is 1; when the included angle θ is 90°, the steering cost is 1.
5.
10. The system according to claim 8, characterized in that, The second key value is calculated based on the smaller of the node's g value and rhs value, multiplied by an energy consumption state coefficient. The calculation formula is as follows: in, Energy consumption state coefficient, The current load of the AGV. This represents the maximum load of the AGV. This is the current remaining battery power of the AGV. This represents the AGV's full charge level. and These are preset adjustment parameters.
Citation Information
Patent Citations
AGV robot path planning method and system
CN119223306A
AGV intelligent control method and system
CN120722862A