Forklift path searching method and device, medium and product

By adjusting the A* algorithm, combining topological structure and kinematic constraints, the problem that traditional A* algorithm cannot consider the driving posture of the forklift in complex environments is solved, and the accuracy and efficiency of forklift path search is improved.

CN119323295APending Publication Date: 2025-01-17青岛华晟智能装备股份有限公司
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411369801.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-29
Publication Date
2025-01-17

AI Technical Summary

Technical Problem

Traditional A* algorithms find the path length and the forklift driving attitude at the same time when looking for forklift paths, resulting in the inability to find the correct feasible path for the posture in complex warehouse environments, limiting the scope and efficiency of path search.

Method used

By obtaining the topological structure of the target forklift activity area, introducing vector evaluation criteria and kinematic constraints, adjusting the A* algorithm to take into account the rationality of the path length and the kinematic attitude of the forklift, and generating the optimal path that conforms to the kinematic constraints of the forklift.

Benefits of technology

Improves the accuracy and flexibility of forklift path search, ensuring that forklifts can find safe and efficient paths in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119323295A_ABST
    Figure CN119323295A_ABST
Patent Text Reader

Abstract

The invention discloses a forklift path searching method and device, a medium and a product, and relates to the field of forklift path searching. Putting the initial node into an open list; judging whether the open list is empty or not, if not, selecting and calculating the cost of the to-be-searched vector, and determining the node corresponding to the to-be-searched vector with the minimum cost value as a specified mobile node; judging whether the direction vector of the specified mobile node points to the terminal node or not, if so, generating a target forklift optimal path from the starting node to the terminal node, and if not, taking the specified mobile node as the current node, and generating an initial vector to be searched; and judging whether the initial to-be-searched vector conforms to the forklift kinematics constraint or not, if so, taking the initial to-be-searched vector conforming to the forklift kinematics constraint as a to-be-searched vector, putting the to-be-searched vector into an open list, and re-judging whether the open list is empty or not. According to the invention, the accuracy of forklift path searching is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of forklift path search, and in particular to a forklift path search method, device, medium and product. Background Art

[0002] With the continuous development of industrial automation, intelligent warehousing and logistics systems have become an indispensable part of modern manufacturing. Against this background, the introduction of automated handling vehicles (AGVs) has provided strong support for the automation and intelligence of material handling. As an important equipment for material handling, the demand for automation and intelligence of forklifts is growing. The path planning of forklifts in warehouses, factories and other environments directly affects the efficiency and safety of operations. Traditional forklift path planning methods such as depth-first search (DFS), Dijkstra algorithm and classic A* algorithm perform well in finding the shortest path, but they are difficult to cope with complex warehouse environments.

[0003] In the traditional A* algorithm, path search is performed in a point-to-point manner, which has certain limitations in the complex warehouse environment where the forklift's driving posture is required. The main goal of the A* algorithm is to find the shortest path. However, in some cases, this single optimization goal may cause the algorithm to ignore other important factors. For example, considering the kinematic posture of the forklift may cause certain path points to be excluded from the search process. This not only limits the scope of the path search, but may also prevent the forklift from finding feasible paths that are slightly farther away but have the correct posture. Summary of the invention

[0004] The purpose of this application is to provide a forklift path search method, device, medium and product to improve the accuracy of forklift path search.

[0005] To achieve the above objectives, this application provides the following solutions:

[0006] In a first aspect, the present application provides a forklift path search method, comprising:

[0007] Acquire the topological structure of the target forklift activity area; the topological structure includes nodes and edges; the nodes include a start node and an end node; the start node is the initial position of the target forklift; the end node is the pickup position of the target forklift;

[0008] Putting the starting node into an open list;

[0009] Determine whether the open list is empty, and obtain a first determination result;

[0010] If the first judgment result is no, then selecting and calculating the cost of the vector to be searched, and determining the node corresponding to the vector to be searched with the smallest cost value as the designated mobile node; the vector to be searched is the direction vector of the neighboring node of the current node;

[0011] Determine whether the direction vector of the designated mobile node points to the destination node, and obtain a second determination result;

[0012] If the second judgment result is no, taking the designated mobile node as the current node and generating an initial vector to be searched;

[0013] Determine whether the initial vector to be searched meets the kinematic constraints of the forklift, and obtain a third determination result; the kinematic constraints of the forklift include a forklift posture constraint and an obstacle constraint;

[0014] If the third judgment result is yes, the initial vector to be searched that meets the kinematic constraints of the forklift is used as the vector to be searched, and is put into the open list, and the process of "judging whether the open list is empty and obtaining the first judgment result" is returned;

[0015] If the second judgment result is yes, an optimal path for the target forklift from the starting node to the end node is generated.

[0016] Optionally, selecting and calculating the cost of the vector to be searched, and determining the node corresponding to the vector to be searched with the smallest cost value as the designated mobile node, specifically includes:

[0017] Calculate the cost of the vector to be searched;

[0018] Determine whether the vector to be searched is stored in a closed list;

[0019] If so, the search vector is not processed;

[0020] If not, a pointer is created from the vector to be searched to the parent vector; the parent vector is the direction vector of the current node;

[0021] Determine whether there is a feasible path between the current node and the node corresponding to the vector to be searched; the feasible path is a path where the angle between the entry direction and the exit direction from the current node to the node corresponding to the vector to be searched is less than a set angle;

[0022] If so, the optimal path between the current node and the node corresponding to the vector to be searched with the smallest cost value is determined according to the pointer, and the node corresponding to the vector to be searched with the smallest cost value is added to the closed list as the designated mobile node.

[0023] Optionally, the cost of the vector to be searched is calculated, specifically including:

[0024] The cost of the vector to be searched is determined using the formula f(n)=g(n)+h(n); where f(n) is the cost of the vector to be searched; g(n) is the actual distance from the current node to the adjacent node; and h(n) is the estimated distance from the current node to the adjacent node.

[0025] Optionally, if the third judgment result is no, the initial vector to be searched that does not meet the kinematic constraints of the forklift is discarded.

[0026] Optionally, if the first judgment result is yes, there is no target forklift path from the starting node to the end node.

[0027] In a second aspect, the present application provides a computer device, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement any of the forklift path search methods described above.

[0028] In a third aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the forklift path search method described in any one of the above is implemented.

[0029] In a fourth aspect, the present application provides a computer program product, including a computer program, which, when executed by a processor, implements any of the forklift path search methods described above.

[0030] According to the specific embodiments provided in this application, this application discloses the following technical effects:

[0031] The present application provides a forklift path search method, device, medium and product, which obtains the topological structure of the target forklift activity area; puts the starting node into an open list; determines whether the open list is empty, if not, selects and calculates the cost of the vector to be searched, and determines the node corresponding to the vector to be searched with the smallest cost value as the designated mobile node; determines whether the direction vector of the designated mobile node points to the terminal node, if so, generates the target forklift optimal path from the starting node to the terminal node; if not, uses the designated mobile node as the current node, and generates an initial vector to be searched; determines whether the initial vector to be searched meets the kinematic constraints of the forklift, if so, uses the initial vector to be searched that meets the kinematic constraints of the forklift as the vector to be searched, and puts it into the open list, and re-determines whether the open list is empty. The present application improves the accuracy of forklift path search. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0033] Figure 1 A schematic diagram of a flow chart of a forklift path search method provided in one embodiment of the present application;

[0034] Figure 2 This is a flowchart of the forklift path search method in practical application;

[0035] Figure 3 A schematic diagram of a forklift path according to an embodiment;

[0036] Figure 4 A schematic diagram of the structure of a computer device provided in one embodiment of the present application. DETAILED DESCRIPTION

[0037] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0038] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.

[0039] In order to solve the problems of the traditional A* algorithm, it is necessary to properly adjust and optimize the traditional A* algorithm so that the path length and the rationality of the forklift's driving posture can be considered during the path search process. By introducing vectors, additional evaluation criteria and constraints at points, the adaptability and flexibility of the algorithm can be enhanced, thereby ensuring that the forklift can find a safe and efficient path in a complex environment.

[0040] In an exemplary embodiment, Figure 1 and Figure 2 As shown, a forklift path search method is provided, comprising the following steps:

[0041] S1: Acquire the topological structure of the target forklift activity area; the topological structure includes nodes and edges; the nodes include a start node and an end node; the start node is the initial position of the target forklift; the end node is the pickup position of the target forklift.

[0042] In actual applications, the target forklift activity area map is parsed into memory, and the topological structure of points and edges is generated according to the connectivity of the map. The starting node S and the end node E of the forklift are set. The forklift needs to move forward and move backward to the end point to pick up the goods. The path must conform to the forklift kinematic model.

[0043] S2: Put the starting node into an open list.

[0044] In practical applications, when searching for a path based on the improved A* algorithm, the direction vector of the point is added, the open list Open List and the closed list Closed List are set, and the starting node S is put into the Open List. Therefore, the starting node S is the only node in the current Open List, and the Closed List is empty at this time.

[0045] S3: Determine whether the open list is empty, and obtain a first determination result.

[0046] If the Open List is not empty, or is not equal to the end target, proceed to the next step.

[0047] S4: If the first judgment result is no, then select and calculate the cost of the vector to be searched, and determine the node corresponding to the vector to be searched with the smallest cost value as the designated mobile node; the vector to be searched is the direction vector of the neighboring node of the current node.

[0048] As an optional implementation, calculating the cost of the vector to be searched specifically includes:

[0049] The cost of the vector to be searched is determined using the formula f(n)=g(n)+h(n); where f(n) is the cost of the vector to be searched; g(n) is the actual distance from the current node to the adjacent node; and h(n) is the estimated distance from the current node to the adjacent node.

[0050] As an optional implementation method, selecting and calculating the cost of the vector to be searched, and determining the node corresponding to the vector to be searched with the smallest cost value as the designated mobile node, specifically includes:

[0051] Calculate the cost of the vector to be searched, including:

[0052] The cost of the vector to be searched is determined using the formula f(n)=g(n)+h(n); where f(n) is the cost of the vector to be searched; g(n) is the actual distance from the current node to the adjacent node; and h(n) is the estimated distance from the current node to the adjacent node.

[0053] Determine whether the vector to be searched is stored in the closed list.

[0054] If so, the search vector is not processed.

[0055] If not, a pointer is created from the vector to be searched to the parent vector; the parent vector is the direction vector of the current node.

[0056] Determine whether there is a feasible path between the current node and the node corresponding to the vector to be searched; the feasible path is a path where the angle between the entry direction and the exit direction from the current node to the node corresponding to the vector to be searched is less than a set angle.

[0057] If so, the optimal path between the current node and the node corresponding to the vector to be searched with the smallest cost value is determined according to the pointer, and the node corresponding to the vector to be searched with the smallest cost value is added to the closed list as the designated mobile node.

[0058] In practical applications, the vector m with the smallest cost value f(n) in all Open Lists (the vector to be searched with the smallest cost value) is compared, dequeued, and the next step is performed.

[0059] Check the storage relationship between vector m and Open List and Closed List:

[0060] If vector m is neither in the Open List nor in the Closed List, add a pointer to the parent vector to vector m. If a feasible path exists, return the optimal path based on the stored pointer information and add vector m to the closed list ClosedList.

[0061] Since there are multiple directions when passing through a point, there is a situation where this vector is searched multiple times from multiple directions. If the vector m exists in the ClosedList closed list, no subsequent processing is performed.

[0062] S5: Determine whether the direction vector of the designated mobile node points to the destination node, and obtain a second determination result.

[0063] In practical applications, if the element dequeued from the Open List is the end node E, it means that the algorithm search path is successful.

[0064] S6: If the second judgment result is no, the designated mobile node is used as the current node, and an initial vector to be searched is generated. In practical applications, the edges connected to the end points of the vector m are traversed in the topological structure, and the connected points are used as new vector end points to generate an initial vector to be searched.

[0065] S7: Determine whether the initial vector to be searched meets the kinematic constraints of the forklift, and obtain a third determination result; the kinematic constraints of the forklift include a forklift posture constraint and an obstacle constraint.

[0066] In practical applications, the generated vector (initial vector to be searched) is passed to the forklift posture analysis module to determine whether the forklift posture constraints and obstacle constraints are met, such as whether the forklift posture when passing through this point conforms to the forklift kinematics. If the conditions are met, the cost of the corresponding vector f(n) = g(n) + h(n) is calculated, and the corresponding vector is stored in the Open List. Otherwise, the vector that does not meet the constraints is abandoned.

[0067] The forklift posture constraints require that path planning take into account the forklift kinematic constraints: the forklift can only move in the forward and backward directions and usually cannot change direction arbitrarily like an omnidirectional AGV.

[0068] Generally, the angle difference between the designated mobile node and the vector to be searched is compared. If it is greater than 30°, the forklift needs to rotate, that is, it needs to change direction, and generally the vector to be searched is abandoned.

[0069] Obstacle constraints mean that when planning a path, all fixed obstacles (such as equipment and walls in the factory) need to be avoided to ensure that the forklift does not collide with them. Usually, they include the following:

[0070] Static obstacles: Fixed facilities such as shelves, walls, pillars, etc. in the warehouse. The path planning algorithm needs to ensure that the forklift does not collide with these fixed obstacles when moving.

[0071] Safety distance: In addition to avoiding obstacles, path planning also needs to ensure that there is enough safety distance between the forklift and obstacles to prevent collisions due to errors or unexpected situations.

[0072] S8: If the third judgment result is yes, the initial vector to be searched that meets the kinematic constraints of the forklift is used as the vector to be searched, and is put into the open list, and the process of "judging whether the open list is empty and obtaining the first judgment result" is returned.

[0073] If the third judgment result is no, the initial vector to be searched that does not meet the kinematic constraints of the forklift is discarded.

[0074] S9: If the second judgment result is yes, then generating an optimal path for the target forklift from the starting node to the end node or determining that there is no target forklift path from the starting node to the end node.

[0075] In practical applications, when the end point of the next vector is the end node E or the Open List is empty, the algorithm ends and exits, outputting the current optimal path or the algorithm has no solution.

[0076] like Figure 3As shown, the forklift is at point 1061, with an angle of 0°. The forklift path is calculated from 1061 to 1049 to pick up the goods. The expected path is 1061→1485 (reverse direction and retreat)→1048→1049. Yellow indicates that it needs to retreat when passing this edge. However, the traditional A* algorithm will have the following problems when searching for the following path. 1061 searches for 1048 and 1485, and both are added to the Open List. When selecting elements, the minimum element 1048 is selected first. Due to the driving posture of the forklift, it generally does not rotate in place. From 1061→1048→1049, it needs to rotate in place, which is generally not considered to be the correct path. Therefore, 1048 is added to the Closed List. When the minimum element of the Open List is 1485, the point 1048 connected to 1485 is already in the Closed List. Because 1048 has been excluded, the traditional A* algorithm misses the correct path of the forklift.

[0077] By applying the improved A* algorithm, the expected path can be obtained. Figure 3 As shown, at 1061, 1061→1048 and 1061→1485 are added to the Open List. Then, when 1048 is searched according to the minimum f(n) principle, a vector is generated according to the direction of the edge connected to point 1048, that is, the following three are generated: 1048→1485, 1048→1047, and 1048→1049. Due to the driving posture problem, only 1048→1047 is added to the Open List, and the other two are abandoned. After that, after searching for 1485, a vector of 1485→1048 is created, and then a vector of 1048→1049 is created, and finally the correct path is obtained.

[0078] In an exemplary embodiment, a computer device is provided. The computer device may be a server or a terminal. The internal structure diagram thereof may be as follows: Figure 4 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a forklift path search method is implemented.

[0079] Those skilled in the art will understand that Figure 4 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components. In an exemplary embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the forklift path search method when executing the computer program.

[0080] In an exemplary embodiment, a computer-readable storage medium is provided, storing a computer program, and when the computer program is executed by a processor, the forklift path search method described above is implemented.

[0081] In an exemplary embodiment, a computer program product is provided, including a computer program, which implements the forklift path search method when executed by a processor.

[0082] 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 relevant data must comply with relevant regulations.

[0083] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM may be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).

[0084] The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. The non-relational database may include a distributed database based on blockchain, etc., but is not limited thereto. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but is not limited thereto.

[0085] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0086] This article uses specific examples to illustrate the principles and implementation methods of this application. The description of the above embodiments is only used to help understand the method and core ideas of this application. At the same time, for those skilled in the art, according to the ideas of this application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting this application.

Claims

1. A forklift path search method, characterized in that: include: Acquire the topological structure of the target forklift activity area; the topological structure includes nodes and edges; the nodes include a start node and an end node; the start node is the initial position of the target forklift; the end node is the pickup position of the target forklift; Putting the starting node into an open list; Determine whether the open list is empty, and obtain a first determination result; If the first judgment result is no, then selecting and calculating the cost of the vector to be searched, and determining the node corresponding to the vector to be searched with the smallest cost value as the designated mobile node; the vector to be searched is the direction vector of the neighboring node of the current node; Determine whether the direction vector of the designated mobile node points to the destination node, and obtain a second determination result; If the second judgment result is no, taking the designated mobile node as the current node and generating an initial vector to be searched; Determine whether the initial vector to be searched meets the kinematic constraints of the forklift, and obtain a third determination result; the kinematic constraints of the forklift include a forklift posture constraint and an obstacle constraint; If the third judgment result is yes, the initial to-be-searched vector that meets the kinematic constraints of the forklift is used as the to-be-searched vector and is put into the open list, and "determine whether the open list is empty to obtain the first judgment result" is returned; If the second judgment result is yes, an optimal path for the target forklift from the starting node to the end node is generated.

2. The forklift path search method according to claim 1, characterized in that: Select and calculate the cost of the vector to be searched, and determine the node corresponding to the vector to be searched with the smallest cost value as the designated mobile node, specifically including: Calculate the cost of the vector to be searched; Determine whether the vector to be searched is stored in a closed list; If so, the search vector is not processed; If not, a pointer is created from the vector to be searched to the parent vector; the parent vector is the direction vector of the current node; Determine whether there is a feasible path between the current node and the node corresponding to the vector to be searched; the feasible path is a path where the angle between the entry direction and the exit direction from the current node to the node corresponding to the vector to be searched is less than a set angle; If so, the optimal path between the current node and the node corresponding to the vector to be searched with the smallest cost value is determined according to the pointer, and the node corresponding to the vector to be searched with the smallest cost value is added to the closed list as the designated mobile node.

3. The forklift path search method according to claim 1, characterized in that: Calculate the cost of the vector to be searched, including: The cost of the vector to be searched is determined using the formula f(n)=g(n)+h(n); where f(n) is the cost of the vector to be searched; g(n) is the actual distance from the current node to the adjacent node; and h(n) is the estimated distance from the current node to the adjacent node.

4. The forklift path search method according to claim 1, characterized in that: If the third judgment result is no, the initial vector to be searched that does not meet the kinematic constraints of the forklift is discarded.

5. The forklift path search method according to claim 1, characterized in that: If the first judgment result is yes, there is no target forklift path from the starting node to the end node.

6. A computer device comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the forklift path search method according to any one of claims 1 to 5.

7. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the forklift path search method according to any one of claims 1 to 5 is implemented.

8. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the forklift path search method according to any one of claims 1 to 5 is implemented.

Citation Information

Cited By

  • Unmanned forklift path planning method and device, and electronic equipment

    CN122689014A