A path planning method and device for a forklift AGV
By improving the A* algorithm and the method of fitting path points using B-spline curves, the pose constraints and turning problems of forklift AGVs were solved, the path planning was optimized, and the efficiency and accuracy of path planning were improved.
Patent Information
- Application Number
- CN202210469577.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-28
- Publication Date
- 2026-02-03
- Estimated Expiration
- 2042-04-28
AI Technical Summary
Traditional path planning methods have failed to effectively address the positional constraints and inability to turn in place issues inherent in forklift AGVs, resulting in unsuitable planned paths and low efficiency.
An improved path planning method is developed based on the A* algorithm. It uses B-spline curves to fit path points, combines map preprocessing and topological mapping techniques, deletes neighboring nodes that do not meet the direction requirements, and updates the path through turning points to optimize path planning.
It improves the success rate of path planning for forklift AGVs, reduces unnecessary turning operations, and improves the efficiency and accuracy of path calculation.
Smart Images

Figure CN114859909B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of mobile robots, and particularly relates to a path planning method and device for forklift AGVs. Background Technology
[0002] Against the backdrop of the rapid development of the logistics industry, robots are attracting increasing attention in advanced logistics factories. Automated guided vehicles (AGVs) have become an indispensable part of the trend towards intelligent internal logistics in many enterprises and factories. Among them, forklift-type AGVs are used very frequently in the field of warehouse automation, greatly improving warehousing efficiency and becoming a hot research topic for scholars in recent years.
[0003] Path planning is a crucial research topic in AGV (Automated Guided Vehicle) research. In real-world environments with obstacles of various shapes, the robot seeks a path from its current position to the task point that avoids all obstacles, while simultaneously optimizing performance metrics and fulfilling functional requirements. Traditional path planning methods include A* and Dijkstra's algorithm. However, in the actual operation of forklift robots, pose constraints exist. Traditional path planning methods neglect the operational characteristics of forklift AGVs; therefore, it is essential to propose a path planning method specifically tailored to forklift characteristics. Summary of the Invention
[0004] The purpose of this invention is to address the problems of forklift AGVs being unable to turn in place and having limited poses when reaching their destination by establishing an efficient path planning method. Based on the A* algorithm, this method is modified to plan a highly efficient movement path for the robot with minimal turning operations. The path planning primarily addresses several key issues: first, how to obtain the shortest and least costly path; second, considering the characteristics of forklift operation, how to plan a practically operable path for the forklift AGV while satisfying its pose limitations upon reaching the destination. This invention considers several common special cases, ensuring the usability of the paths obtained by the forklift AGV in real-world scenarios.
[0005] The objective of this invention is achieved through the following technical solution: Firstly, this invention provides a path planning method for forklift-type AGVs, which improves upon the traditional A* algorithm to plan efficient and feasible paths for forklift-type automated guided vehicles (AGVs); the method includes the following steps:
[0006] S1: Obtain the starting direction information and the ending direction information, define the nodes where multiple paths intersect in the map as branch nodes, and determine whether there are feasible nodes that meet the direction requirements. If there are, mark the AGV as not needing a turning operation, and delete the nodes that do not meet the direction requirements from the neighboring nodes of the starting point. If there are no such nodes, mark the AGV as needing a turning operation.
[0007] S2: Dynamically maintain the openlist and closelist tables according to the A* algorithm, obtain feasible paths, and for AGVs that do not require turning operations, directly obtain the planned adaptation path based on the feasible path; for AGVs that require turning operations, execute step S3.
[0008] S3: If no turning operation is needed, set the current path as a candidate path; if a turning operation is needed, update the path. The specific process is as follows:
[0009] S31: First, obtain the feasible current path p planned in step S2;
[0010] S32: Traverse the current path p, and search from back to front for each node on the current path p. Does each node's neighboring node have a node m that is not on the path, and does node m have other adjacent nodes n that are also on the path p? If node m exists, mark node m as a turning point; if node m does not exist, mark no turning point.
[0011] S33: For paths with turning points, add the turning points to the path, update the current path p, and obtain the planned adapted path; for paths without turning points, return that no adapted path was found.
[0012] Further, in step S1, a topological map is obtained by fitting the map according to the kinematic constraints of the AGV. The specific process is as follows:
[0013] Using B-spline fitting to fit path points, the equation of the B-spline curve is:
[0014] Q i It is the i-th control point, where i is the control point number, Q(t) is the t-th B-spline curve formed by connecting the control points, and N i,k (t) is the basis function of the k-th B-spline, and the basis functions of the B-spline are determined by the following equation: n is the number of control points;
[0015] The n control points of a B-spline curve are independent. Based on this, the B-spline curve fits a path according to the direction vector of the AGV at the starting point. The path points generated by the A* algorithm are treated as data points of the B-spline, and the control points of the B-spline are calculated using the equation of the B-spline curve. Then, these control points are substituted into a basis function with a fixed parameter t to obtain the interpolated path points between the data points.
[0016] Furthermore, in step S1, the map needs to be preprocessed to divide the nodes into branch nodes and ordinary nodes. Branch nodes represent nodes where multiple paths intersect, and the AGV can perform turning operations at branch nodes. The direction information of the starting point and the ending point is represented by direction, that is, the top, right, bottom and left are recorded as 0, 1, 2, 3.
[0017] Furthermore, in step S1, it is determined whether the starting point and ending point nodes are branch nodes. If they are branch nodes, they are converted into adjacent and reachable ordinary nodes based on the direction information.
[0018] Furthermore, step S2 includes the following sub-steps:
[0019] S21: Modify map parameters based on map preprocessing results; add the starting point to the openlist table and set the starting point's priority to the highest.
[0020] S22: If the openlist is not empty, select the node with the highest priority from the openlist as the current node, that is, f(n) represents the node with the lowest value, where f(n) is the sum of g(n) and h(n); g(n) is the cost already paid by the AGV to move to the current node; h(n) is the expected cost of the AGV to move to the destination.
[0021] S23: Delete the current node from the openlist, add the current node to the closelist, and calculate the minimum value of f(n) of the current node's neighboring nodes based on the preprocessing results. If a neighboring node is in the closelist, skip this node. If a neighboring node is neither in the closelist nor the openlist, add the neighboring node to the openlist. Set the current node as the parent node of the neighboring node.
[0022] S24: For a neighboring node in the openlist, check if there is a path with a lower cost by using the cost value g(n); if so, take its parent node as the current node and recalculate the cost values f(n), g(n), and h(n).
[0023] S25: If the destination is in the closelist table, execute S26. If the destination is not in the closelist table, or the openlist table is not empty, repeat S22 to S24. If the openlist table is empty, the destination search fails.
[0024] S26: Starting from the endpoint, obtain the current path p along the parent node.
[0025] Secondly, the present invention also provides a path planning device for forklift AGVs, including a memory and one or more processors, wherein the memory stores executable code, and when the processor executes the executable code, it implements the path planning method for forklift AGVs.
[0026] Thirdly, the present invention also provides a computer-readable storage medium having a program stored thereon, which, when executed by a processor, implements the path planning method for forklift AGVs.
[0027] The beneficial effects of this invention are as follows: It utilizes B-spline curves to transform the map into a topological map, solving problems such as wasted space and low efficiency in grid maps; through map preprocessing methods, it determines whether there are feasible nodes that meet the direction requirements, and deletes nodes from the starting point's neighboring nodes that do not meet the direction requirements, avoiding unnecessary turning operations for AGVs, effectively reducing the computational cost of turning, and quickly calculating the planned path; for AGVs that must turn, it uses the turning point finding operation to find the turning point, updates the path, and completes path planning tailored to the characteristics of forklifts, effectively improving the planning success rate. Attached Figure Description
[0028] Figure 1 This is a flowchart of a path planning method for a forklift AGV according to an embodiment of the present invention;
[0029] Figure 2 This is a map illustration of a path planning method for a forklift AGV according to an embodiment of the present invention.
[0030] Figure 3 This is a schematic diagram of map preprocessing in step S1 of a path planning method for a forklift AGV according to an embodiment of the present invention.
[0031] Figure 4 This is a flowchart of the map preprocessing process in step S1 of a path planning method for a forklift AGV according to an embodiment of the present invention.
[0032] Figure 5 This is a flowchart of the A* algorithm in step S2 of a path planning method for a forklift AGV according to an embodiment of the present invention.
[0033] Figure 6 This is an example illustration of a path planning method for a forklift AGV according to an embodiment of the present invention.
[0034] Figure 7 This is a structural diagram of a path planning device for a forklift-type AGV according to the present invention. Detailed Implementation
[0035] The specific embodiments of the present invention will be further described in detail below with reference to the accompanying drawings.
[0036] like Figure 1 As shown, this invention provides a path planning method for forklift-type AGVs; the specific steps of this method are as follows:
[0037] S1: Initialize the map and preprocess and classify it, defining the nodes where multiple paths intersect as branch nodes, and obtaining the starting point location and direction information, and the ending point direction information.
[0038] While grid maps are commonly used in path planning, they still suffer from significant space wastage, low efficiency, and inaccurate robot positioning. Therefore, this invention uses a topological map method to address these issues. The path generated by the A* algorithm is a multi-segment path composed of many continuous straight lines, which is problematic for forklift AGVs due to their inability to rotate in place. Therefore, curves should be added to the path to fit the kinematic constraints of the AGV. This invention utilizes B-splines to fit path points, such as... Figure 2 As shown, this solves the problems of the Bezier curve's inflexibility (changing the position of a single control point affects the entire curve) and the Clothoid curve's high computational cost. The equation of the B-spline curve is:
[0039]
[0040] in i It is the i-th control point, where i is the control point number, Q(t) is the t-th B-spline curve formed by connecting the control points, and N i,k (t) is the basis function of the k-th B-spline. The basis function of the B-spline can be determined by the following equation:
[0041]
[0042] Where n is the number of control points;
[0043] The n control points of a B-spline curve are independent. Based on this, the B-spline curve can fit a path according to the AGV's direction vector at the starting point. The path points generated by the A* algorithm can be regarded as data points of the B-spline. The control points of the B-spline are calculated by a function. Then, by substituting these control points into a basis function with a fixed parameter t, the interpolated path points between the data points can be obtained.
[0044] like Figure 4 As shown, the specific process of preprocessing and classifying the map is as follows: nodes are divided into branch nodes and ordinary nodes. Branch nodes represent nodes where multiple paths intersect. AGVs can perform turning operations at branch nodes. The direction information of the starting point and the destination is represented by the direction, that is, the top, right, bottom and left are recorded as 0, 1, 2, 3.
[0045] Determine whether the starting and ending nodes are branch nodes. If they are branch nodes, convert them into adjacent and reachable ordinary nodes based on the direction information.
[0046] Determine if there is a feasible node that meets the direction requirements. If it does, mark the AGV as not needing a turning operation and delete the nodes that do not meet the direction requirements from the neighboring nodes of the starting point. If it does not exist, mark the AGV as needing a turning operation.
[0047] S2: Dynamically maintain openlist and closelist tables using the A* algorithm to obtain feasible paths, such as... Figure 5 As shown;
[0048] S21: Modify map parameters based on preprocessing results. Add the starting point to the openlist table and set its priority to the highest.
[0049] S22: If the openlist is not empty, select the node with the highest priority from the openlist as the current point, that is, f(n) represents the point with the lowest value, where f(n) is the sum of g(n) and h(n); g(n) is the cost already paid by the AGV to move to the current node; h(n) is the expected cost of the AGV to move to the destination.
[0050] S23: Delete the current node from the openlist, add the current node to the closelist, and calculate the f(n) values of the current node's satisfying neighbor nodes based on the preprocessing results. If a neighbor node is in the closelist, skip that node; if a neighbor node is neither in the closelist nor the openlist, add it to the openlist. Set the current node as its parent node.
[0051] S24: If a neighboring node is already in the openlist, check if there is a less costly path on the path using g(n) with value. If so, take its parent node as the current node and recalculate the costs f(n), g(n), and h(n).
[0052] S25: If the endpoint is in the closelist table, execute S26. If the openlist table is empty, the endpoint search fails. If the endpoint is not in the closelist table, or the openlist table is not empty, repeat S22 to S24.
[0053] S26: Starting from the endpoint, obtain the current path p along the parent node.
[0054] S27: For AGVs that do not require turning operations, obtain the planned adaptation path directly based on the feasible path; for AGVs that require turning operations, execute step S3.
[0055] S3: For AGVs that require turning operations, use the backtracking method to find the turning point, update the path, and set the updated path as the current path.
[0056] S31: First, obtain the feasible current path p planned in S2.
[0057] S32: Traverse the current path p, and search from back to front for each node on the current path p. Does each node's neighboring node have a node m that is not on the path, and does node m have other adjacent nodes n that are also on the path p? If node m exists, mark node m as a turning point; if node m does not exist, mark no turning point.
[0058] S33: For paths with turning points, add the turning points to the path, update the current path p, and obtain the planned adapted path; for paths without turning points, return that no adapted path was found.
[0059] like Figure 3 As shown, this invention addresses a task where the starting point is 19, the AGV's initial direction is upward, and the destination is 18, requiring the AGV to arrive in an upward direction. The specific real-time situation is as follows:
[0060] First, the map is preprocessed. The starting node is determined to be at a branch node, so it needs to be converted into a regular node. Its adjacent regular nodes are node 1 and node 2. However, for the AGV to reach the destination 18 in an upward direction, it needs to reach node 12 in a left direction. Therefore, the direction information of node 1 does not meet the requirements, and node 1 is removed. Then, the A* algorithm is used to make the AGV reach the destination 18 in an upward direction, which matches the destination requirement. Therefore, the current path is returned, i.e., 19-17-2-3-4-5-6-7-9-10-11-12-22-18.
[0061] like Figure 6 As shown, this invention addresses a task where the starting point is 0, the AGV's initial direction is right, the endpoint is 4, and the AGV's arrival direction is left. The specific real-time situation is as follows:
[0062] First, map preprocessing determines that the start and end points are ordinary nodes, requiring no transformation. However, no node allows the forklift AGV to reach the end point 4 by heading left; therefore, this forklift AGV is marked as needing to turn. Then, the A* algorithm is used to plan the direction to the left to reach node 4, obtaining the current path p. Because the forklift needs to turn, path p is traversed from back to front. Node 17 is found to be adjacent to nodes 1 and 2 on path p but not on path p, meeting the turning condition. Therefore, node 17 is set as the turning point and added to the path. The final planned path is 0-1-17-2-3-4.
[0063] Corresponding to the aforementioned embodiments of the path planning method for forklift AGVs, the present invention also provides embodiments of a path planning device for forklift AGVs.
[0064] See Figure 7 The present invention provides a path planning device for forklift AGVs, comprising a memory and one or more processors. The memory stores executable code, and when the processor executes the executable code, it implements the path planning method for forklift AGVs in the above embodiments.
[0065] The embodiments of the path planning device for forklift AGVs of this invention can be applied to any device with data processing capabilities, such as a computer. The device embodiments can be implemented through software, hardware, or a combination of both. Taking software implementation as an example, as a logical device, it is formed by the processor of any data processing device loading the corresponding computer program instructions from non-volatile memory into memory for execution. From a hardware perspective, such as... Figure 7 The diagram shown is a hardware structure diagram of any data processing-capable device for the path planning device of a forklift AGV, as described in this invention. (Except for...) Figure 7 In addition to the processor, memory, network interface, and non-volatile memory shown, any data processing device in the embodiment may also include other hardware depending on the actual function of the data processing device, which will not be described in detail here.
[0066] The specific implementation process of the functions and roles of each unit in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.
[0067] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of the present invention according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0068] This invention also provides a computer-readable storage medium storing a program that, when executed by a processor, implements the path planning method for forklift AGVs described in the above embodiments.
[0069] The computer-readable storage medium can be an internal storage unit of any data processing device as described in any of the foregoing embodiments, such as a hard disk or memory. The computer-readable storage medium can also be an external storage device of any data processing device, such as a plug-in hard disk, smart media card (SMC), SD card, flash card, etc., equipped on the device. Furthermore, the computer-readable storage medium can include both internal storage units and external storage devices of any data processing device. The computer-readable storage medium is used to store the computer program and other programs and data required by the data processing device, and can also be used to temporarily store data that has been output or will be output.
[0070] The above embodiments are used to explain and illustrate the present invention, but not to limit the present invention. Any modifications and changes made to the present invention within the spirit and scope of the claims shall fall within the protection scope of the present invention.
Claims
1. A path planning method for forklift-type AGVs, characterized in that, Includes the following steps: S1: Obtain the starting direction information and the ending direction information, define the nodes where multiple paths intersect in the map as branch nodes, and determine whether there are feasible nodes that meet the direction requirements. If there are, mark the AGV as not needing a turning operation, and delete the nodes that do not meet the direction requirements from the neighboring nodes of the starting point. If there are no such nodes, mark the AGV as needing a turning operation. S2: Dynamically maintain the openlist and closelist tables according to the A* algorithm, obtain feasible paths, and for AGVs that do not require turning operations, directly obtain the planned adaptation path based on the feasible path; for AGVs that require turning operations, execute step S3; S3: For AGVs that require turning operations, perform path updates. The specific process is as follows: S31: First, obtain the feasible current path p planned in step S2; S32: Traverse the current path p, and search from back to front for each node on the current path p. Does each node's neighboring node have a node m that is not on the path, and does node m have other adjacent nodes n that are also on the path p? If node m exists, mark node m as a turning point; if node m does not exist, mark no turning point. S33: For paths with turning points, add the turning points to the path, update the current path p, and obtain the planned adapted path; for paths without turning points, return that no adapted path was found.
2. The path planning method for forklift AGVs according to claim 1, characterized in that, In step S1, the map is used to obtain a topology map based on the kinematic constraints of the fitted AGV. The specific process is as follows: Using B-spline fitting to fit path points, the equation of the B-spline curve is: Q i It is the i-th control point, where i is the control point number, Q(t) is the t-th B-spline curve formed by connecting the control points, and N i,k (t) is the basis function of the k-th B-spline, and the basis functions of the B-spline are determined by the following equation: Where n is the number of control points; The n control points of the B-spline curve are independent. Based on this, the B-spline curve fits the path according to the direction vector of the AGV at the starting point. The path points generated by the A* algorithm are regarded as data points of the B-spline. The control points of the B-spline are calculated by the equation of the B-spline curve. Then, these control points are substituted into the basis function with a fixed parameter t to obtain the interpolated path points between the data points.
3. The path planning method for forklift AGVs according to claim 1, characterized in that, In step S1, the map needs to be preprocessed to divide the nodes into branch nodes and ordinary nodes. Branch nodes represent nodes where multiple paths intersect, and the AGV can perform turning operations at branch nodes. The direction information of the starting point and the ending point is represented by the direction, that is, the top, right, bottom and left are recorded as 0, 1, 2, 3.
4. The path planning method for forklift AGVs according to claim 1, characterized in that, In step S1, it is determined whether the starting point and ending point are branch nodes. If they are branch nodes, they are converted into adjacent and reachable ordinary nodes based on the direction information.
5. The path planning method for forklift AGVs according to claim 3, characterized in that, Step S2 includes the following sub-steps: S21: Modify map parameters based on map preprocessing results; add the starting point to the openlist table and set the starting point's priority to the highest. S22: If the openlist is not empty, select the node with the highest priority from the openlist as the current node, that is, f(n) represents the node with the lowest value, where f(n) is the sum of g(n) and h(n); g(n) is the cost already paid by the AGV to move to the current node; h(n) is the expected cost of the AGV to move to the destination. S23: Delete the current node from the openlist, add the current node to the closelist, and calculate the minimum value of f(n) of the current node's neighboring nodes based on the preprocessing results. If a neighboring node is in the closelist, skip this node. If a neighboring node is neither in the closelist nor in the openlist, add the neighboring node to the openlist. Set the current node as the parent node of this neighboring node; S24: For a neighboring node in the openlist, check if there is a path with a lower cost by using the cost value g(n); if so, take its parent node as the current node and recalculate the cost values f(n), g(n), and h(n). S25: If the destination is in the closelist, execute S26. If the destination is not in the closelist, or the openlist is not empty, repeat S22 to S24. If the openlist is empty, the destination search fails. S26: Starting from the endpoint, obtain the current path p along the parent node.
6. A path planning device for forklift AGVs, comprising a memory and one or more processors, wherein the memory stores executable code, characterized in that, When the processor executes the executable code, it implements the path planning method for forklift AGVs as described in any one of claims 1-5.
7. A computer-readable storage medium having a program stored thereon, characterized in that, When the program is executed by the processor, it implements the path planning method for forklift AGVs as described in any one of claims 1-5.
Citation Information
Patent Citations
Laser forklift path planning method
CN111024088A
Path planning method and device, processing equipment, mobile equipment and storage medium
CN112923940A