An agv optimal path automatic memory storage scheduling method and system
By using an automatic memory and scheduling method for AGV optimal paths, the problem of time-consuming path planning for multi-vehicle AGVs is solved, achieving efficient path planning and task allocation, and improving system operating efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HEFEI HAGONG KUXUN INTELLIGENT TECH CO LTD
- Filing Date
- 2023-08-30
- Publication Date
- 2026-06-26
AI Technical Summary
Existing AGV route planning methods are not suitable for scenarios where multiple vehicles need to be planned simultaneously, resulting in increased task allocation time and low system operating efficiency.
The AGV optimal path automatic memory storage scheduling method is adopted. It receives task information, reads tasks in real time, selects AGV vehicles that meet the task, matches or replans the path from the optimal route cache set, stores it in the optimal cache for the next use, and sends task execution instructions using the TCP protocol.
It improves the path planning efficiency of AGVs in complex path situations, avoids the time spent on path planning, and enhances the overall transportation efficiency of the system and the high-efficiency and energy-saving execution capability of AGVs.
Smart Images

Figure CN117008555B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of AGV scheduling, and specifically to an automatic memory storage scheduling method and system for AGV optimal paths. Background Technology
[0002] With the rapid development of intelligent manufacturing, factory intelligence has become an irreversible trend. As one of the key pieces of equipment in flexible production lines and automated storage and retrieval systems, AGVs are characterized by high automation, sensitivity, and safety, and occupy an important position in smart factories.
[0003] Intelligent manufacturing is an integration of hardware and software; standalone hardware cannot reach its full potential. AGVs are typically combined with MES and WMS systems. With the help of the MES information management platform, they can efficiently, accurately, and flexibly complete material handling tasks, improving production flexibility and warehouse intelligence.
[0004] An AGV scheduling system is a system that can centrally monitor, control, and schedule multiple AGVs simultaneously. It is mainly used in application scenarios with a large number of AGVs, many transportation routes, and frequent and complex transportation. It can be used in conjunction with an AGV material calling system or independently, making the material transportation system more user-friendly, automated, and unmanned.
[0005] Existing AGV route planning methods mostly involve calculating and comparing AGV routes in real time based on the received task and destination, and then selecting the optimal AGV to execute the task. For example, Chinese Patent Publication No. CN107727099A discloses a method for scheduling and planning multiple AGVs for material transportation in a factory. However, when multiple vehicles need to be planned simultaneously, the task allocation time increases dramatically due to the large number of tasks, thereby reducing the overall system efficiency and resulting in low system efficiency. Summary of the Invention
[0006] The technical problem to be solved by this invention is that the existing AGV route planning method is not suitable for scenarios where multiple vehicles need to be planned at the same time. With too many tasks, the time spent on task allocation will increase sharply, resulting in low system operating efficiency.
[0007] This invention solves the above-mentioned technical problems through the following technical means: an automatic memory storage and scheduling method for AGV optimal paths, comprising the following steps:
[0008] Step 1: Receive task information;
[0009] Step 2: A separate thread continuously reads task information in real time;
[0010] Step 3: Select an AGV vehicle that matches the current task;
[0011] Step 4: Match the route plan from the current vehicle's current station to the task destination station from the optimal route cache set. If it exists, select the optimal plan directly; otherwise, re-plan the optimal route according to the route planning method and store it in the optimal cache for use in the next matching.
[0012] Step 5: Convert the optimal plan into task execution instructions;
[0013] Step 6: Send the task execution instruction to the AGV via the TCP protocol.
[0014] Further, step one includes:
[0015] Receive task information from third parties via API and insert it into the local MySQL database.
[0016] Furthermore, step two includes:
[0017] Use SqlSuger to read unassigned task information from the task information table in the database in real time.
[0018] Furthermore, step three includes:
[0019] Since AGVs have different access permissions, the system first determines the area restrictions, AGV battery level, and status, and then selects the AGV vehicle information that meets the requirements for performing the task and passes it to the next step.
[0020] Furthermore, step four includes:
[0021] Step 401: Based on the current task, retrieve the task's starting station and destination station, and search for whether a route from the starting station to the destination station exists. If it exists, retrieve the optimal route plan and store it in the cache as a List collection; if it does not exist, proceed to step 402.
[0022] Step 402: Obtain the starting station, destination station, and valid road segment set. Search for the road segment set using the starting station and put it into the parameter allRoad. Determine whether the endpoint station in the road segment set is the destination station. If so, take out the road segment set and loop it into the temporary planned route set. If not, determine whether the path length of the road segment set is greater than the already planned minimum path. If so, discard the path formed by this road segment set. If not, proceed to step 403.
[0023] Step 403: Loop through the set of temporary planned routes. Use the end point of each temporary route as the starting station to query the information of road segments that meet the conditions. Add the road segments that meet the conditions to the set of temporary planned routes. Store the road segments that do not meet the conditions into the road segment set and return to step 402 to continue the loop.
[0024] Step 404: Repeat steps 402 and 403 until all routes in the road segment set have been planned, and store the planned paths in the planning cache.
[0025] Step 405: Retrieve the optimal route from the temporary storage planning cache and store it in the global cache path planning set for use the next time the same start and end point plan is encountered.
[0026] Furthermore, step five includes:
[0027] The optimal planning stores the set of stations configured by the scheduling system. Based on the adjacent stations as the starting and ending stations, the set of road segment configurations for the entire route is queried. The coordinates, angles, speeds, and vehicle operations in the set of road segment configurations are converted into task instructions for the AGV vehicles.
[0028] This invention also provides an automatic memory storage and scheduling system for AGV optimal paths, comprising:
[0029] The information receiving module is used to receive task information;
[0030] The information reading module is used to read task information in real time in a separate thread.
[0031] The vehicle selection module is used to select AGV vehicles that match the current task;
[0032] The route planning module is used to match the route plan from the current vehicle's current station to the task destination station from the optimal route cache set. If it exists, the optimal plan is selected directly; if it does not exist, the optimal route is re-planned according to the route planning method and stored in the optimal cache for use in the next matching.
[0033] The instruction conversion module is used to convert the optimal plan into task execution instructions;
[0034] The instruction sending module is used to send task execution instructions to the AGV via the TCP protocol.
[0035] Furthermore, the information receiving module is also used for:
[0036] Receive task information from third parties via API and insert it into the local MySQL database.
[0037] Furthermore, the information reading module is also used for:
[0038] Use SqlSuger to read unassigned task information from the task information table in the database in real time.
[0039] Furthermore, the vehicle selection module is also used for:
[0040] Since AGVs have different access permissions, the system first determines the area restrictions, AGV battery level, and status, and then selects the AGV vehicle information that meets the requirements for performing the task and passes it to the next step.
[0041] Furthermore, the path planning module is also used for:
[0042] Step 401: Based on the current task, retrieve the task's starting station and destination station, and search for whether a route from the starting station to the destination station exists. If it exists, retrieve the optimal route plan and store it in the cache as a List collection; if it does not exist, proceed to step 402.
[0043] Step 402: Obtain the starting station, destination station, and valid road segment set. Search for the road segment set using the starting station and put it into the parameter allRoad. Determine whether the endpoint station in the road segment set is the destination station. If so, take out the road segment set and loop it into the temporary planned route set. If not, determine whether the path length of the road segment set is greater than the already planned minimum path. If so, discard the path formed by this road segment set. If not, proceed to step 403.
[0044] Step 403: Loop through the set of temporary planned routes. Use the end point of each temporary route as the starting station to query the information of road segments that meet the conditions. Add the road segments that meet the conditions to the set of temporary planned routes. Store the road segments that do not meet the conditions into the road segment set and return to step 402 to continue the loop.
[0045] Step 404: Repeat steps 402 and 403 until all routes in the road segment set have been planned, and store the planned paths in the planning cache.
[0046] Step 405: Retrieve the optimal route from the temporary storage planning cache and store it in the global cache path planning set for use the next time the same start and end point plan is encountered.
[0047] Furthermore, the instruction conversion module is also used for:
[0048] The optimal planning stores the set of stations configured by the scheduling system. Based on the adjacent stations as the starting and ending stations, the set of road segment configurations for the entire route is queried. The coordinates, angles, speeds, and vehicle operations in the set of road segment configurations are converted into task instructions for the AGV vehicles.
[0049] The advantages of this invention are as follows: Addressing the problem of long planning times and low efficiency when scheduling multiple AGVs in complex path scenarios, this invention utilizes an optimal path memory cache function. It matches the current vehicle's location from the current station to the task destination station from the optimal route cache set. If a path exists, it is directly selected; otherwise, the optimal path is recalculated according to the path planning method and stored in the optimal cache for future matching. This avoids the overall transportation efficiency decrease due to time spent on path planning, ensuring efficient and energy-saving execution of transportation tasks by AGVs and improving system operating efficiency. Attached Figure Description
[0050] Figure 1 This is a system flowchart of an AGV optimal path automatic memory storage and scheduling method disclosed in an embodiment of the present invention;
[0051] Figure 2 This is a schematic diagram of route planning for an AGV optimal path automatic memory storage and scheduling method disclosed in an embodiment of the present invention. Detailed Implementation
[0052] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below in conjunction with the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0053] Example 1
[0054] like Figure 1 and Figure 2 As shown, this invention provides an automatic memory storage and scheduling method for AGV optimal paths, comprising the following steps:
[0055] Step 1: Receive task information and enter it into the system
[0056] Specifically, it receives task information from third parties through an API interface and inserts it into the local MySQL database.
[0057] Step 2: Read task information in real time using a separate thread.
[0058] Use SqlSuger to read unassigned task information from the task information table in the database in real time.
[0059] Step 3: Select an AGV vehicle that matches the current task.
[0060] Since AGVs have different access permissions, it is necessary to first determine the area restrictions, AGV battery level, status, etc., and then select the AGV vehicle information that meets the task requirements and pass it to the next step.
[0061] Step 4: Select the optimal execution path.
[0062] Step 401: Based on the current task, retrieve the task's starting station and destination station, and search for whether a route from the starting station to the destination station exists. If it exists, retrieve the optimal route plan and store it in the cache as a List collection; if it does not exist, proceed to step 402.
[0063] The main attributes of road segments in the path planning process include: starting station, ending station, starting angle, ending angle, Bézier curve parameters, speed, and action type.
[0064] The main attributes of a route include: starting station, destination station, route length, and set of stations along the way;
[0065] The main attributes of a temporary route include: route length, set of stops along the route, and whether it is abandoned.
[0066] Step 402: Input the starting station, destination station, and set of valid road segments for route planning; the specific process is as follows:
[0067] The set of road segments searched from the starting station is stored in the parameter `allRoad`. It is then determined whether the endpoint in the road segment set is the destination station. If so, the road segment set is retrieved and iterated into a temporary planned route set `planList`. If not, it is checked whether the path length of the road segment set is greater than the already planned minimum path. If so, the path formed by this road segment set is discarded; otherwise, step 403 is executed. By comparing the planned path with the minimum path and discarding paths longer than the minimum path, the number of calculations can be effectively reduced.
[0068] Step 403: Loop through the temporary planned route set planList, using the end point of each temporary route as the starting station to query the road segment information that meets the conditions, add the road segments that meet the conditions to the temporary planned route set planList, and store the road segments that do not meet the conditions into the road segment set and return to step 402 to continue the loop.
[0069] This step can remove repeated road segments. For example, if a route has already passed through station A, all subsequent road segments that pass through station A should be excluded to reduce the number of calculations.
[0070] Step 404: Repeat steps 402 and 403 until all routes in the road segment set have been planned.
[0071] Step 405: Retrieve the optimal route from the temporary storage planning cache and store it in the global cache path planning set for use the next time the same start and end point plan is encountered;
[0072] The starting and ending stations, route length, and set of stations along the route will be synchronized to the database so that they can be directly read into the cache after the program restarts.
[0073] Before selecting a route, the system will first check the optimal route cache set to match the route plan from the current vehicle's station to the task destination station. If it exists, the optimal plan will be selected directly; if it does not exist, the optimal route will be recalculated and planned according to the methods in steps 402 to 404 and stored in the optimal cache for use in the next matching.
[0074] Step 5: Convert the optimal plan into task execution instructions.
[0075] The optimal plan stores the set of stations configured by the scheduling system, and retrieves the set of road segment configurations for the entire route based on adjacent stations as the starting and ending stations.
[0076] The coordinates, angles, speeds, and vehicle operations in the road segment configuration are converted into task instructions that the AGV vehicle can recognize.
[0077] Step 6: Send instructions to the AGV via TCP protocol
[0078] The converted AGV instructions are sent to the idle AGV, and the execution status is returned by the AGV. Based on the returned result, the task information in the database is processed logically.
[0079] Through the above technical solutions, this invention addresses the problem of long planning times and low efficiency when scheduling multiple AGVs in complex path scenarios. It utilizes an optimal path memory cache function to match the path planning from the current vehicle's current station to the task destination station from the optimal route cache set. If the optimal plan exists, it is directly selected; otherwise, the optimal path is replanned according to the path planning method and stored in the optimal cache for the next matching. This avoids the overall transportation efficiency decline caused by the time spent on path planning, ensuring that AGVs can perform transportation tasks efficiently and energy-savingly, and improving the system's operating efficiency.
[0080] Example 2
[0081] Based on Embodiment 1, Embodiment 2 of the present invention also provides an AGV optimal path automatic memory storage and scheduling system, comprising:
[0082] The information receiving module is used to receive task information;
[0083] The information reading module is used to read task information in real time in a separate thread.
[0084] The vehicle selection module is used to select AGV vehicles that match the current task;
[0085] The route planning module is used to match the route plan from the current vehicle's current station to the task destination station from the optimal route cache set. If it exists, the optimal plan is selected directly; if it does not exist, the optimal route is re-planned according to the route planning method and stored in the optimal cache for use in the next matching.
[0086] The instruction conversion module is used to convert the optimal plan into task execution instructions;
[0087] The instruction sending module is used to send task execution instructions to the AGV via the TCP protocol.
[0088] Specifically, the information receiving module is also used for:
[0089] Receive task information from third parties via API and insert it into the local MySQL database.
[0090] Specifically, the information reading module is also used for:
[0091] Use SqlSuger to read unassigned task information from the task information table in the database in real time.
[0092] Specifically, the vehicle selection module is also used for:
[0093] Since AGVs have different access permissions, the system first determines the area restrictions, AGV battery level, and status, and then selects the AGV vehicle information that meets the requirements for performing the task and passes it to the next step.
[0094] Specifically, the path planning module is also used for:
[0095] Step 401: Based on the current task, retrieve the task's starting station and destination station, and search for whether a route from the starting station to the destination station exists. If it exists, retrieve the optimal route plan and store it in the cache as a List collection; if it does not exist, proceed to step 402.
[0096] Step 402: Obtain the starting station, destination station, and valid road segment set. Search for the road segment set using the starting station and put it into the parameter allRoad. Determine whether the endpoint station in the road segment set is the destination station. If so, take out the road segment set and loop it into the temporary planned route set. If not, determine whether the path length of the road segment set is greater than the already planned minimum path. If so, discard the path formed by this road segment set. If not, proceed to step 403.
[0097] Step 403: Loop through the set of temporary planned routes. Use the end point of each temporary route as the starting station to query the information of road segments that meet the conditions. Add the road segments that meet the conditions to the set of temporary planned routes. Store the road segments that do not meet the conditions into the road segment set and return to step 402 to continue the loop.
[0098] Step 404: Repeat steps 402 and 403 until all routes in the road segment set have been planned, and store the planned paths in the planning cache.
[0099] Step 405: Retrieve the optimal route from the temporary storage planning cache and store it in the global cache path planning set for use the next time the same start and end point plan is encountered.
[0100] Specifically, the instruction conversion module is also used for:
[0101] The optimal planning stores the set of stations configured by the scheduling system. Based on the adjacent stations as the starting and ending stations, the set of road segment configurations for the entire route is queried. The coordinates, angles, speeds, and vehicle operations in the set of road segment configurations are converted into task instructions for the AGV vehicles.
[0102] The above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. An automatic memory storage and scheduling method for AGV optimal paths, characterized in that, Includes the following steps: Step 1: Receive task information; Step 2: A separate thread continuously reads task information in real time; Step 3: Select an AGV vehicle that matches the current task; Step 4: Match the route plan from the current vehicle's current station to the task destination station from the optimal route cache set. If it exists, select the optimal plan directly; otherwise, re-plan the optimal route according to the route planning method and store it in the optimal cache for use in the next matching. Step 401: Based on the current task, retrieve the task's starting station and destination station, search for the existence of a route from the starting station to the destination station, and if it exists, retrieve the optimal route plan and store it in the cache as a List collection. If it does not exist, proceed to step 402; Step 402: Obtain the starting station, destination station, and valid road segment set. Search for the road segment set using the starting station and put it into the parameter allRoad. Determine whether the endpoint station in the road segment set is the destination station. If so, take out the road segment set and loop it into the temporary planned route set. If not, determine whether the path length of the road segment set is greater than the already planned minimum path. If so, discard the path formed by this road segment set. If not, proceed to step 403. Step 403: Loop through the set of temporary planned routes. Use the end point of each temporary route as the starting station to query the information of road segments that meet the conditions. Add the road segments that meet the conditions to the set of temporary planned routes. Store the road segments that do not meet the conditions into the road segment set and return to step 402 to continue the loop. Step 404: Repeat steps 402 and 403 until all routes in the road segment set have been planned, and store the planned paths in the planning cache. Step 405: Retrieve the optimal route from the temporary storage planning cache and store it in the global cache path planning set for use the next time the same start and end point plan is encountered; Step 5: Convert the optimal plan into task execution instructions; Step 6: Send the task execution instruction to the AGV via the TCP protocol.
2. The AGV optimal path automatic memory storage and scheduling method according to claim 1, characterized in that, Step one includes: Receive task information from third parties via API and insert it into the local MySQL database.
3. The AGV optimal path automatic memory storage and scheduling method according to claim 1, characterized in that, Step two includes: Use SqlSuger to read unassigned task information from the task information table in the database in real time.
4. The AGV optimal path automatic memory storage and scheduling method according to claim 1, characterized in that, Step three includes: Since AGVs have different access permissions, the system first determines the area restrictions, AGV battery level, and status, and then selects the AGV vehicle information that meets the requirements for performing the task and passes it to the next step.
5. The AGV optimal path automatic memory storage and scheduling method according to claim 1, characterized in that, Step five includes: The optimal planning stores the set of stations configured by the scheduling system. Based on the adjacent stations as the starting and ending stations, the set of road segment configurations for the entire route is queried. The coordinates, angles, speeds, and vehicle operations in the set of road segment configurations are converted into task instructions for the AGV vehicles.
6. An AGV optimal path automatic memory storage and scheduling system, characterized in that, include: The information receiving module is used to receive task information; The information reading module is used to read task information in real time in a separate thread. The vehicle selection module is used to select AGV vehicles that match the current task; The route planning module is used to match the route plan from the current vehicle's current station to the task destination station from the optimal route cache set. If it exists, the optimal plan is selected directly; if it does not exist, the optimal route is re-planned according to the route planning method and stored in the optimal cache for use in the next matching. Step 401: Based on the current task, retrieve the task's starting station and destination station, search for the existence of a route from the starting station to the destination station, and if it exists, retrieve the optimal route plan and store it in the cache as a List collection. If it does not exist, proceed to step 402; Step 402: Obtain the starting station, destination station, and valid road segment set. Search for the road segment set using the starting station and put it into the parameter allRoad. Determine whether the endpoint station in the road segment set is the destination station. If so, take out the road segment set and loop it into the temporary planned route set. If not, determine whether the path length of the road segment set is greater than the already planned minimum path. If so, discard the path formed by this road segment set. If not, proceed to step 403. Step 403: Loop through the set of temporary planned routes. Use the end point of each temporary route as the starting station to query the information of road segments that meet the conditions. Add the road segments that meet the conditions to the set of temporary planned routes. Store the road segments that do not meet the conditions into the road segment set and return to step 402 to continue the loop. Step 404: Repeat steps 402 and 403 until all routes in the road segment set have been planned, and store the planned paths in the planning cache. Step 405: Retrieve the optimal route from the temporary storage planning cache and store it in the global cache path planning set for use the next time the same start and end point plan is encountered; The instruction conversion module is used to convert the optimal plan into task execution instructions; The instruction sending module is used to send task execution instructions to the AGV via the TCP protocol.
7. The AGV optimal path automatic memory storage and scheduling system according to claim 6, characterized in that, The information receiving module is also used for: Receive task information from third parties via API and insert it into the local MySQL database.
8. The AGV optimal path automatic memory storage and scheduling system according to claim 6, characterized in that, The information reading module is also used for: Use SqlSuger to read unassigned task information from the task information table in the database in real time.
9. The AGV optimal path automatic memory storage and scheduling system according to claim 6, characterized in that, The vehicle selection module is also used for: Since AGVs have different access permissions, the system first determines the area restrictions, AGV battery level, and status, and then selects the AGV vehicle information that meets the requirements for performing the task and passes it to the next step.