Multi-task path planning method, system and device for library AGV

By realizing multi-task path planning and real-time path updates in library AGV, the problem of inefficient AGV book collection in the existing technology is solved, the book collection efficiency and fault tolerance rate are improved, and the transformation cost is reduced.

CN115309162BActive Publication Date: 2025-02-21锦轩科技服务(绍兴)有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211014782.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-23
Publication Date
2025-02-21
Estimated Expiration
2042-08-23

AI Technical Summary

Technical Problem

In the prior art, library AGVs are less efficient in multi-task path planning and cannot meet the needs of complex book collection tasks, resulting in low book collection efficiency and high transformation costs.

Method used

The library AGV obtains the book collection information and rasterized map in the book collection queue, sets the target points, and performs single-source path planning for the two target points to obtain the local optimal path, and solves the global optimal path based on the local optimal path path. Update paths in real time, identify and deal with obstacles on the path, and improve book collection efficiency.

Benefits of technology

The multi-task path planning of library AGV has been realized, which improves book collection efficiency, can dynamically update paths, identify and deal with obstacles, and reduces book collection time and transformation costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115309162B_ABST
    Figure CN115309162B_ABST
Patent Text Reader

Abstract

The embodiments of this specification provide a multi-task path planning method, system and device for library AGV, wherein the method includes: step 1, obtaining book picking information and rasterized map in the book picking queue through the library AGV; step 2, setting target points according to the book picking information and rasterized map, performing single-source path planning for each target point to obtain a local optimal path, and solving a global optimal path based on the local optimal path; step 3, driving according to the global optimal path and performing book picking, obtaining obstacle information on the global optimal path, and updating the rasterized map, according to the updated rasterized map and book picking information, taking the current position as the starting point, the target point position remains unchanged, repeating step 2, performing real-time path planning and executing book picking; step 4, repeating steps 1 to 3 until there is no book picking information in the book picking queue.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This document relates to the field of AGV technology, and in particular to a multi-task path planning method, system and device for library AGV. Background Art

[0002] At present, intelligent robots are gradually popularizing in various fields, providing efficient and convenient services for humans. Due to the inconvenience and low efficiency of taking books in libraries, the commonly used method is to place consulting robots to provide consulting services, improve the efficiency of taking books, liberate labor, and carry out corresponding transformation of libraries to create intelligent libraries to improve the efficiency of taking books. However, there are still problems such as complex book taking, high time cost, and high transformation cost. In this regard, domestic scholars have begun to study library AGVs, and most of them are still stuck in the traditional method of horizontal order taking books, which cannot meet the multi-task path planning and has low efficiency. Therefore, there is an urgent need for a multi-task path planning system for library AGVs. Summary of the invention

[0003] The purpose of the present invention is to provide a multi-task path planning method, system and device for library AGV, aiming to solve the above-mentioned problems in the prior art.

[0004] The present invention provides a multi-task path planning method for library AGV, comprising:

[0005] Step 1: Obtain the book pickup information and rasterized map in the book pickup queue through the library AGV;

[0006] Step 2, setting target points according to the book-picking information and the rasterized map, performing single-source path planning for each target point, obtaining a local optimal path, and solving a global optimal path based on the local optimal path;

[0007] Step 3, driving along the global optimal path and executing book pickup, obtaining obstacle information on the global optimal path, and updating the rasterized map, and repeating step 2 based on the updated rasterized map and book pickup information, taking the current position as the starting point and the target point position unchanged, to perform real-time path planning and execute book pickup;

[0008] Step 4: Repeat steps 1 to 3 until there is no book pickup information in the book pickup queue.

[0009] The present invention provides a multi-task path planning system for library AGV, comprising:

[0010] The acquisition module is used to obtain the book collection information and rasterized map in the book collection queue through the library AGV;

[0011] A solution module, used for setting target points according to the book-picking information and the rasterized map, performing single-source path planning for each target point, obtaining a local optimal path, and solving a global optimal path based on the local optimal path;

[0012] An execution module, configured to drive along the global optimal path and execute book picking, obtain obstacle information on the global optimal path, and update the rasterized map, and according to the updated rasterized map and book picking information, take the current position as the starting point and keep the target point position unchanged, repeat step 2, perform real-time path planning and execute book picking;

[0013] The processing module is used to repeatedly call the acquisition module, the solution module and the execution module until there is no book picking information in the book picking queue.

[0014] An embodiment of the present invention also provides a multi-task path planning device for a library AGV, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program implements the steps of the multi-task path planning method for a library AGV when executed by the processor.

[0015] An embodiment of the present invention further provides a computer-readable storage medium, on which a program for implementing information transmission is stored. When the program is executed by a processor, the steps of the multi-task path planning method for library AGV are implemented.

[0016] By adopting the embodiment of the present invention, multi-task path planning is performed through the input book information to obtain the global optimal path and improve the efficiency of book retrieval. It can identify obstacles on the path, mark obstacles, store obstacle information, including location information, and update digital maps. It can perform dynamic multi-task path planning and update the path in real time. When the obstacle location coincides with the book retrieval location, it can ignore the current grabbing and add the last missed book information when the book is picked up next time, thereby improving the efficiency of book retrieval and the fault tolerance rate of book retrieval. It saves readers' time in picking up books, enhances the efficiency of using fragmented time, and allows readers to efficiently use fragmented time to pick up books. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0018] Figure 1is a flow chart of a multi-task path planning method for a library AGV according to an embodiment of the present invention;

[0019] Figure 2 is a flowchart of the detailed processing of the multi-task path planning method for library AGV according to an embodiment of the present invention;

[0020] Figure 3 is a schematic diagram of a multi-task path planning system for a library AGV according to an embodiment of the present invention;

[0021] Figure 4 Schematic diagram of a multi-task path planning device for library AGV according to an embodiment of the present invention. DETAILED DESCRIPTION

[0022] In order to enable those skilled in the art to better understand the technical solutions in one or more embodiments of this specification, the following will be combined with the drawings in one or more embodiments of this specification to clearly and completely describe the technical solutions in one or more embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on one or more embodiments of this specification, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of this document.

[0023] Method Embodiment

[0024] According to an embodiment of the present invention, a multi-task path planning method for library AGV is provided. Figure 1 is a flow chart of a multi-task path planning method for a library AGV according to an embodiment of the present invention. Figure 1 As shown, the multi-task path planning method for library AGV according to an embodiment of the present invention specifically includes:

[0025] Step 101, obtaining book pickup information and a rasterized map in a book pickup queue through the library AGV;

[0026] Step 102, setting target points according to the book-picking information and the rasterized map, performing single-source path planning for each target point, obtaining a local optimal path, and solving a global optimal path based on the local optimal path; Step 102 specifically includes:

[0027] Step 1021, establish two state tables, namely, an open table and a closed table, wherein the initial value of the open table is the starting point, the closed table is empty, and the starting point is set to the current point.

[0028] Step 1022, put the current point into the closed table, and search for adjacent nodes in the four directions of up, down, left, and right. Remove the nodes in the closed table, and determine whether the adjacent nodes are already in the open table. If not, calculate the f, g, and h values ​​according to formula 1 and add them to the open table; if they are in the open table, recalculate the g value. If g is smaller, update the g, f, and parent point of the point:

[0029] f(n)=g(n)+h(n) Formula 1;

[0030] Among them, f(n) represents the total cost; g(n) represents the actual distance from the starting point to the current point; h(n) represents the estimated distance from the current point to the end point, which is the Manhattan distance;

[0031] Step 1023, re-mark the node with the smallest f in the open table as the current point, and determine whether its adjacent node is the end point. If not, return to step 1022; if yes, obtain the optimal path from the starting point through each node to the end point, and obtain the local optimal path;

[0032] Step 1024, initialization operation, setting the maximum number of evolution times T, randomly generating N individuals as the initialization community, the number of individual genes is n, and setting the crossover probability and mutation probability; wherein, randomly generating N individuals specifically includes: using the book position numbers 1-n as genes, randomly sorting to generate an individual, and setting the start and end point numbers to 0, not adding them to the individuals, and only using them in fitness calculation;

[0033] Step 1025, calculate the path length of the individual according to Formula 2, and based on the fitness evaluation function shown in Formula 3, take the path length of the individual as the numerator and the sum of the path lengths of all individuals as the denominator to calculate the fitness value of each individual, take the fitness value as the numerator and the sum of the fitness values ​​of all individuals as the denominator, and based on the roulette probability formula shown in Formula 4, calculate the probability of each individual in the roulette scheme as the next generation, and based on the probability, select N individuals as the next generation population through the roulette scheme, and the number of evolutions is t=t+1;

[0034]

[0035] Among them, L(N) represents the total path length of the individual numbered N, a ij [N] represents the local optimal path value from i as the starting point to j as the end point among N individuals; a n0 It is expressed as the local optimal path value from n to 0 position;

[0036]

[0037] Among them, F(N) represents the fitness value of the individual numbered N, and the numerator represents the total path length of all individuals in the community;

[0038]

[0039] Among them, P(N) is the probability of each individual in the roulette wheel to be the next generation, and the denominator is the sum of the fitness values ​​of all individuals in the population;

[0040] Step 1026, apply the crossover operator to the community, randomly sort the numbers from 1 to n and store them in the crossover array, and place the crossover array in the order of subscripts, take two values ​​in the array as the community array subscripts for individual crossover, apply the crossover operator to the two individuals selected by the community, generate a new individual, and add it to the community; wherein the rule of the crossover operator is expressed as follows: according to the crossover probability, select whether it is necessary to crossover and exchange individual genes, if so, mark one as individual a and the other as individual b, randomly select a number from 0 to n-1 as the crossover point, take out the gene behind the crossover point in individual a, remove the same gene as the gene taken out from a in b, connect the gene taken out from a to the back of b, form a new individual, and add it to the community; if not, do not perform the crossover operation, and do not generate a new individual;

[0041] Step 1027, apply the mutation operator to the community, traverse the entire community, and select whether to mutate and generate a new individual according to the mutation probability. If yes, randomly select a number from 0 to n-1 as the individual gene position, swap the genes at the two positions, form a new individual, and add it to the community; if no, do not perform the mutation operation, and do not generate a new individual;

[0042] Step 1028, if the number of evolutions t is greater than the maximum number of evolutions T, the loop is terminated, and the individual with the highest fitness in the last generation of the community is taken out, and the gene sequence is the global optimal path, completing the global optimal multi-task path planning; if not, return to step 1025 and proceed to the next loop.

[0043] Step 103, driving along the global optimal path and executing book pickup, obtaining obstacle information on the global optimal path, and updating the rasterized map, and repeating step 2 based on the updated rasterized map and book pickup information, taking the current position as the starting point and the target point position unchanged, to perform real-time path planning and execute book pickup;

[0044] In step 103, obtaining obstacle information on the global optimal path specifically includes:

[0045] When the obstacle recognition system finds an obstacle ahead, it determines the location of the obstacle in the map and marks it as an obstacle in the map. If the obstacle is on the planned path, the path is replanned; if the obstacle does not affect the path, the vehicle drives along the planned path.

[0046] After step 103, the following operations can be performed: when an obstacle coincides with the target point, ignore the target point task and mark the target point. When the book is picked up and the next book is picked up, add the marked target point to the book picking queue. If there is still an obstacle coincident with the target point, mark the target point again and wait for the next book picking. Determine whether the number of target point markings is greater than or equal to a preset threshold. If it is greater than or equal to the preset threshold, ignore the target point and indicate that the book cannot be picked up at the target point.

[0047] Step 104, repeating steps 101 to 103 until there is no book pickup information in the book pickup queue.

[0048] The above technical solution of the embodiment of the present invention is described in detail below in conjunction with the accompanying drawings.

[0049] In order to solve the above problems, the present invention provides a multi-task path planning method for library AGV, such as Figure 2 As shown, the specific processing includes the following:

[0050] Step A: The library AGV obtains book information and rasterized maps. The book information includes the international standard book number and book location information.

[0051] Step B: According to the map and book information, set the target points, perform single-source path planning for each target point, and obtain the local optimal path.

[0052] Step C: Based on the local optimal path obtained in step B, solve the global optimal path.

[0053] Step D: Drive along the global optimal path and pick up the book, obtain obstacle information on the path, and update the map. According to steps B and C, take the current position as the starting point and the end point position remains unchanged to perform real-time path planning.

[0054] Step E: If the obstacle coincides with the target point, the target point task will be ignored and the target point will be marked. After the book is picked up, the marked target point will be added to the book picking queue the next time. If there is another obstacle coincident with the target point, the target point will be marked again and the next time the book is picked up. If it is marked three times, the target point will be ignored and a prompt will be given that the book cannot be picked up at this target point.

[0055] Step F: Repeat steps ABCDE until there is no book retrieval information.

[0056] In step B, the specific steps of solving the local optimal path include:

[0057] Step B1: Create two state tables, open and closed. The initial value of the open table is the starting point, the closed table is empty, and the starting point is set to the current point.

[0058] Step B2: Put the current point into the closed table and search for adjacent nodes in four directions, including up, down, left, and right. Remove the nodes in the closed table and determine whether the adjacent nodes are already in the open table. If not, calculate the f, g, and h values ​​and add them to the open table. If they are in the open table, recalculate the g value. If g is smaller, update the g, f, and parent point of the point.

[0059] Step B3: Re-mark the node with the smallest f in the open table as the current point, and determine whether its adjacent node is the end point. If not, return to step B2; if so, obtain the optimal path from the starting point through each node to the end point.

[0060] The formula contained in step B is as follows:

[0061] f(n)=g(n)+h(n);

[0062] Where: f(n) represents the total cost;

[0063] g(n) represents the actual distance from the starting point to the current point;

[0064] h(n) represents the estimated distance from the current point to the end point, and Manhattan distance is used here.

[0065] In step C, the specific steps of global optimal path planning include:

[0066] Step C1: Initialization operation, set the maximum number of evolution times T, randomly generate N individuals as the initialization community, the number of individual genes is n, and set the crossover probability and mutation probability.

[0067] Step C2: Calculate the fitness of each individual through the fitness evaluation function. Here, the path length of the individual is used as the numerator, and the sum of the path lengths of all individuals is used as the numerator. The value obtained is the fitness value of the individual. The fitness value is used as the numerator and the sum of the fitness values ​​of all individuals is used as the denominator to obtain the probability of each individual in the roulette scheme being the next generation. Selecting the individuals of the next generation can make those with high fitness values ​​have a higher probability of being selected as the next generation, and also retain some individuals with low fitness but potential. N individuals are selected as the next generation of the community through the roulette scheme, and the number of evolutions is t=t+1.

[0068] Step C3: Apply the crossover operator to the community to generate new individuals and add them to the community.

[0069] Step C4: Apply the mutation operator to the community to generate new individuals and add them to the community.

[0070] Step C5: If the number of evolutions t is greater than the maximum number of evolutions T, the loop is terminated, and the individual with the highest fitness in the last generation of the community is taken out. The gene sequence is the global optimal solution, and the global optimal multi-task path planning is completed; if not, return to step C2 and proceed to the next loop.

[0071] Specifically, the generation of individuals in step C1 is to use the book position numbers 1-n as genes and randomly sort them to generate an individual. In addition, the start and end point numbers are set to 0 and are not added to the individuals. They are only used in fitness calculation.

[0072] Specifically, the variation probability of the present invention is generally greater than 0.8, and the variation probability is generally between 0.1 and 0.001.

[0073] Specifically, the fitness function in step C2 includes:

[0074] The calculation formula of individual total path length value is:

[0075]

[0076] in:

[0077] L(N) represents the total path length value of the individual numbered N.

[0078] aij[N] represents the local optimal path value from point i to point j among N individuals. Similarly, an0 represents the local optimal path value from point n to point 0.

[0079] Fitness value evaluation function:

[0080]

[0081] Where: F(N) represents the fitness value of individual numbered N

[0082] The numerator is the total path length of all individuals in the community

[0083] Roulette probability formula:

[0084]

[0085] in:

[0086] P(N) is the probability of each individual in the roulette wheel being the next generation

[0087] The denominator is the sum of all individual fitness values ​​in the community.

[0088] Specifically, in step C3, the specific steps of generating a new individual include:

[0089] Randomly sort the numbers from 1 to n and store them in a crossover array. Then, sort the crossover array in subscript order, take two values ​​in the array as the subscripts of the community array for individual crossover, and use the crossover operator to act on the two individuals selected by the community to generate a new individual and add it to the community.

[0090] Specifically, in step C3, the crossover operator rule is expressed as:

[0091] According to the crossover probability, choose whether it is necessary to crossover and exchange individual genes. If so, mark one side as individual a and the other side as individual b, randomly select a number from 0 to n-1 as the crossover point, take out the gene behind the crossover point in individual a, remove the same genes as the genes taken out from a in b, connect the genes taken out from a to the back of b, form a new individual, and add it to the community; if not, do not perform the crossover operation and do not generate a new individual.

[0092] Specifically, the step of generating the mutant individual in step C4 specifically includes:

[0093] Traverse the entire community and choose whether to mutate to generate a new individual according to the mutation probability. If so, randomly select a number from 0 to n-1 as the individual gene position, swap the genes at the two positions to form a new individual, and add it to the community; if not, do not perform the mutation operation and do not generate a new individual.

[0094] Specifically, the specific steps of obtaining obstacle information in step D include:

[0095] When the obstacle recognition system finds an obstacle ahead, it determines the location of the obstacle in the map and marks it as an obstacle in the map. If the obstacle is on the planned path, the path is replanned; if the obstacle does not affect the path, the vehicle drives along the planned path.

[0096] In summary, the beneficial effects of the embodiments of the present invention are as follows:

[0097] 1. Perform multi-task path planning based on the input book information to obtain the global optimal path and improve the efficiency of book retrieval.

[0098] 2. It can identify obstacles on the path, mark the obstacles, store obstacle information, including location information, and update the digital map.

[0099] 3. It can perform dynamic multi-task path planning and update the path in real time.

[0100] 4. When the obstacle location coincides with the book picking location, the current grabbing can be ignored, and the information of the missed books can be added the next time the books are picked up, thereby improving the efficiency of picking up books and the tolerance rate of picking up books.

[0101] 5. Save readers’ time in picking up books, enhance the efficiency of utilizing fragmented time, and allow readers to efficiently utilize fragmented time to pick up books.

[0102] System Example

[0103] According to an embodiment of the present invention, a multi-task path planning system for library AGV is provided. Figure 3 is a schematic diagram of a multi-task path planning system for a library AGV according to an embodiment of the present invention. Figure 3 As shown, the multi-task path planning system for library AGV according to an embodiment of the present invention specifically includes:

[0104] An acquisition module 30 is used to acquire the book pickup information and the rasterized map in the book pickup queue through the library AGV;

[0105] The solution module 32 is used to set the target points according to the book-picking information and the rasterized map, perform single-source path planning for each target point, obtain a local optimal path, and solve the global optimal path based on the local optimal path; the solution module 32 is specifically used to:

[0106] Two state tables, open table and closed table, are established. The initial value of the open table is the starting point, the closed table is empty, and the starting point is set to the current point.

[0107] Put the current point into the closed table, and search for adjacent nodes in the four directions of up, down, left, and right. Remove the nodes in the closed table and determine whether the adjacent nodes are already in the open table. If not, calculate the f, g, and h values ​​according to formula 1 and add them to the open table. If they are in the open table, recalculate the g value. If g is smaller, update the g, f, and parent point of the point:

[0108] f(n)=g(n)+h(n) Formula 1;

[0109] Among them, f(n) represents the total cost; g(n) represents the actual distance from the starting point to the current point; h(n) represents the estimated distance from the current point to the end point, which is the Manhattan distance;

[0110] Re-mark the node with the smallest f in the open table as the current point, and determine whether its adjacent node is the end point. If not, return to the previous step; if so, obtain the optimal path from the starting point through each node to the end point to obtain the local optimal path;

[0111] Initialization operation, set the maximum number of evolutions T, randomly generate N individuals as the initialization community, the number of individual genes is n, and set the crossover probability and mutation probability; where the random generation of N individuals specifically includes: using the book position number 1-n as the gene, randomly sorting to generate an individual, and setting the start and end point numbers to 0, not adding them to the individuals, and only using them in fitness calculation;

[0112] The path length of the individual is calculated according to Formula 2. Based on the fitness evaluation function shown in Formula 3, the path length of the individual is used as the numerator and the sum of the path lengths of all individuals is used as the denominator to calculate the fitness value of each individual. The fitness value is used as the numerator and the sum of the fitness values ​​of all individuals is used as the denominator. Based on the roulette probability formula shown in Formula 4, the probability of each individual in the roulette scheme being the next generation is calculated. Based on the probability, N individuals are selected as the next generation population through the roulette scheme, and the number of evolutions is t=t+1;

[0113]

[0114] Among them, L(N) represents the total path length of the individual numbered N, a ij [N] represents the local optimal path value from i as the starting point to j as the end point among N individuals; a n0 It is expressed as the local optimal path value from n to 0 position;

[0115]

[0116] Among them, F(N) represents the fitness value of the individual numbered N, and the numerator represents the total path length of all individuals in the community;

[0117]

[0118] Among them, P(N) is the probability of each individual in the roulette wheel to be the next generation, and the denominator is the sum of the fitness values ​​of all individuals in the population;

[0119] Apply the crossover operator to the community, randomly sort the numbers from 1 to n and store them in the crossover array, and then take the two numerical values ​​in the array as the community array subscripts for individual crossover according to the subscript order, and apply the crossover operator to the two individuals selected by the community to generate a new individual and add it to the community; wherein the rule of the crossover operator is expressed as follows: according to the crossover probability, select whether it is necessary to crossover and exchange individual genes, if so, mark one party as individual a and the other party as individual b, randomly select a number from 0 to n-1 as the crossover point, and take out the gene behind the crossover point in individual a, remove the same gene as the gene taken out from a in b, connect the gene taken out from a to the back of b, form a new individual, and add it to the community; if not, do not perform the crossover operation, and do not generate a new individual;

[0120] Apply the mutation operator to the community, traverse the entire community, and choose whether to mutate and generate new individuals according to the mutation probability. If yes, randomly select a number from 0 to n-1 as the individual gene position, swap the genes at the two positions to form a new individual, and add it to the community; if no, do not perform the mutation operation and do not generate a new individual;

[0121] If the number of evolutions t is greater than the maximum number of evolutions T, the loop is terminated, and the individual with the highest fitness in the last generation of the community is taken out. The gene sequence is the global optimal path, and the global optimal multi-task path planning is completed; if not, return to the step of calculating the path length of the individual and proceed to the next loop.

[0122] The execution module 34 is used to drive along the global optimal path and execute book picking, obtain obstacle information on the global optimal path, and update the rasterized map. According to the updated rasterized map and book picking information, the current position is used as the starting point, and the target point position remains unchanged, and step 2 is repeatedly executed to perform real-time path planning and execute book picking;

[0123] The execution module 34 is specifically used for:

[0124] When the obstacle recognition system finds an obstacle ahead, it determines the location of the obstacle in the map and marks it as an obstacle in the map. If the obstacle is on the planned path, the path is replanned; if the obstacle does not affect the path, the vehicle drives along the planned path.

[0125] The execution module 34 is further used for:

[0126] When an obstacle coincides with the target point, the target point task is ignored and the target point is marked. When the book is picked up next time, the marked target point is added to the book picking queue. If there is still an obstacle coincident with the target point, the target point is marked again and the next book picking is waited for. It is determined whether the number of target point markings is greater than or equal to the preset threshold. If it is greater than or equal to the preset threshold, the target point is ignored and a prompt is given that the book cannot be picked up at the target point.

[0127] The processing module 36 is used to repeatedly call the acquisition module, the solution module and the execution module until there is no book picking information in the book picking queue.

[0128] The embodiment of the present invention is a system embodiment corresponding to the above-mentioned method embodiment. The specific operations of each module can be understood by referring to the description of the method embodiment, which will not be repeated here.

[0129] Device Example 1

[0130] The embodiment of the present invention provides a multi-task path planning device for library AGV, such as Figure 4 As shown, it includes: a memory 40, a processor 42, and a computer program stored in the memory 40 and executable on the processor 42. When the computer program is executed by the processor 42, the steps described in the method embodiment are implemented.

[0131] Device Example 2

[0132] An embodiment of the present invention provides a computer-readable storage medium, on which a program for implementing information transmission is stored. When the program is executed by the processor 42, the steps described in the method embodiment are implemented.

[0133] The computer-readable storage medium in this embodiment includes, but is not limited to, ROM, RAM, magnetic disk or optical disk, etc.

[0134] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A multi-task path planning method for library AGV, characterized in that: include: Step 1: Obtain the book pickup information and rasterized map in the book pickup queue through the library AGV; Step 2, setting target points according to the book-picking information and the rasterized map, performing single-source path planning for each target point, obtaining a local optimal path, and solving a global optimal path based on the local optimal path; Step 2 specifically includes: Step 21, establish two state tables, namely, the open table and the closed table, wherein the initial value of the open table is the starting point, the closed table is empty, and the starting point is set to the current point; Step 22, put the current point into the closed table, and search for adjacent nodes in the four directions of up, down, left, and right. Remove the nodes in the closed table, and determine whether the adjacent nodes are already in the open table. If not, calculate the f, g, and h values ​​according to formula 1 and add them to the open table; if they are in the open table, recalculate the g value. If g is smaller, update the g, f, and parent point of the point: f(n)=g(n)+h(n) Formula 1; Among them, f(n) represents the total cost; g(n) represents the actual distance from the starting point to the current point; h(n) represents the estimated distance from the current point to the end point, which is the Manhattan distance; Step 23, re-mark the node with the smallest f in the open table as the current point, and determine whether its adjacent node is the end point. If not, return to step 22; if so, obtain the optimal path from the starting point through each node to the end point to obtain the local optimal path; Step 24, initialization operation, setting the maximum number of evolution times T, randomly generating N individuals as the initialization community, the number of individual genes is n, and setting the crossover probability and mutation probability; wherein, randomly generating N individuals specifically includes: using the book position number 1-n as the gene, randomly sorting to generate an individual, and setting the start and end point numbers to 0, not adding them to the individuals, and only using them in fitness calculation; Step 25, calculate the path length of the individual according to Formula 2, and based on the fitness evaluation function shown in Formula 3, take the path length of the individual as the numerator and the sum of the path lengths of all individuals as the denominator to calculate the fitness value of each individual, take the fitness value as the numerator and the sum of the fitness values ​​of all individuals as the denominator, and based on the roulette probability formula shown in Formula 4, calculate the probability of each individual in the roulette scheme as the next generation, and based on the probability, select N individuals as the next generation population through the roulette scheme, and the number of evolutions is t=t+1; Among them, L(N) represents the total path length of the individual numbered N, a ij [N] represents the local optimal path value from i as the starting point to j as the end point among N individuals; a n0 It is expressed as the local optimal path value from n to 0 position; Among them, F(N) represents the fitness value of the individual numbered N, and the numerator represents the total path length of all individuals in the community; Among them, P(N) is the probability of each individual in the roulette wheel to be the next generation, and the denominator is the sum of the fitness values ​​of all individuals in the population; Step 26, applying the crossover operator to the community, randomly sorting the numbers from 1 to n and storing them in the crossover array, and placing the crossover array in the order of the subscripts, taking two values ​​in the array as the community array subscripts for individual crossover, applying the crossover operator to the two individuals selected by the community, generating a new individual, and adding it to the community; wherein the rule of the crossover operator is expressed as follows: according to the crossover probability, selecting whether it is necessary to crossover and exchange individual genes, if so, marking one party as individual a and the other party as individual b, randomly selecting a number from 0 to n-1 as the crossover point, and taking out the gene behind the crossover point in individual a, and removing the same gene as the gene taken out from a from b, connecting the gene taken out from a to the back of b, forming a new individual, and adding it to the community; if not, not performing the crossover operation, and not generating a new individual; Step 27, apply the mutation operator to the community, traverse the entire community, and select whether to mutate and generate new individuals according to the mutation probability. If yes, randomly select a number from 0 to n-1 as the individual gene position, swap the genes at the two positions, form a new individual, and add it to the community; if no, do not perform the mutation operation and do not generate a new individual; Step 28, if the number of evolutions t is greater than the maximum number of evolutions T, the loop is terminated, and the individual with the highest fitness in the last generation of the community is taken out, and the gene sequence is the global optimal path, completing the global optimal multi-task path planning; if not, return to step 25 and proceed to the next loop; Step 3, driving along the global optimal path and executing book pickup, obtaining obstacle information on the global optimal path, and updating the rasterized map, and repeating step 2 based on the updated rasterized map and book pickup information, taking the current position as the starting point and the target point position unchanged, to perform real-time path planning and execute book pickup; Step 4: Repeat steps 1 to 3 until there is no book pickup information in the book pickup queue.

2. The method according to claim 1, characterized in that: After step 3, the method further comprises: When an obstacle coincides with the target point, the target point task is ignored and the target point is marked. When the book is picked up next time, the marked target point is added to the book picking queue. If there is still an obstacle coincident with the target point, the target point is marked again and the next book picking is waited for. It is determined whether the number of target point markings is greater than or equal to the preset threshold. If it is greater than or equal to the preset threshold, the target point is ignored and a prompt is given that the book cannot be picked up at the target point.

3. The method according to claim 1, characterized in that In step 3, obtaining obstacle information on the global optimal path specifically includes: When the obstacle recognition system finds an obstacle ahead, it determines the location of the obstacle in the map and marks it as an obstacle in the map. If the obstacle is on the planned path, the path is replanned; if the obstacle does not affect the path, the vehicle drives along the planned path.

4. A multi-task path planning system for library AGV, characterized in that: include: The acquisition module is used to obtain the book collection information and rasterized map in the book collection queue through the library AGV; A solution module is used to set target points according to the book-picking information and the rasterized map, perform single-source path planning for each target point, obtain a local optimal path, and solve a global optimal path based on the local optimal path; the solution module is specifically used to: Create two state tables, the open table and the closed table. The initial value of the open table is the starting point, the closed table is empty, and the starting point is set to the current point. Put the current point into the closed table, and search for adjacent nodes in the four directions of up, down, left, and right. Remove the nodes in the closed table and determine whether the adjacent nodes are already in the open table. If not, calculate the f, g, and h values ​​according to formula 1 and add them to the open table. If they are in the open table, recalculate the g value. If g is smaller, update the g, f, and parent point of the point: f(n)=g(n)+h(n) Formula 1; Among them, f(n) represents the total cost; g(n) represents the actual distance from the starting point to the current point; h(n) represents the estimated distance from the current point to the end point, which is the Manhattan distance; Re-mark the node with the smallest f in the open table as the current point, and determine whether its adjacent node is the end point. If not, return to the previous step; if so, obtain the optimal path from the starting point through each node to the end point to obtain the local optimal path; Initialization operation, set the maximum number of evolutions T, randomly generate N individuals as the initialization community, the number of individual genes is n, and set the crossover probability and mutation probability; where the random generation of N individuals specifically includes: using the book position number 1-n as the gene, randomly sorting to generate an individual, and setting the start and end point numbers to 0, not adding them to the individuals, and only using them in fitness calculation; The path length of the individual is calculated according to Formula 2. Based on the fitness evaluation function shown in Formula 3, the path length of the individual is used as the numerator and the sum of the path lengths of all individuals is used as the denominator to calculate the fitness value of each individual. The fitness value is used as the numerator and the sum of the fitness values ​​of all individuals is used as the denominator. Based on the roulette probability formula shown in Formula 4, the probability of each individual in the roulette scheme being the next generation is calculated. Based on the probability, N individuals are selected as the next generation population through the roulette scheme, and the number of evolutions is t=t+1; Among them, L(N) represents the total path length of the individual numbered N, a ij [N] represents the local optimal path value from i as the starting point to j as the end point among N individuals; a n0 It is expressed as the local optimal path value from n to 0 position; Among them, F(N) represents the fitness value of the individual numbered N, and the numerator represents the total path length of all individuals in the community; Among them, P(N) is the probability of each individual in the roulette wheel to be the next generation, and the denominator is the sum of the fitness values ​​of all individuals in the population; Apply the crossover operator to the community, randomly sort the numbers from 1 to n and store them in the crossover array, and then take the two numerical values ​​in the array as the community array subscripts for individual crossover according to the subscript order, and apply the crossover operator to the two individuals selected by the community to generate a new individual and add it to the community; wherein the rule of the crossover operator is expressed as follows: according to the crossover probability, select whether it is necessary to crossover and exchange individual genes, if so, mark one party as individual a and the other party as individual b, randomly select a number from 0 to n-1 as the crossover point, and take out the gene behind the crossover point in individual a, remove the same gene as the gene taken out from a in b, connect the gene taken out from a to the back of b, form a new individual, and add it to the community; if not, do not perform the crossover operation, and do not generate a new individual; Apply the mutation operator to the community, traverse the entire community, and choose whether to mutate and generate new individuals according to the mutation probability. If yes, randomly select a number from 0 to n-1 as the individual gene position, swap the genes at the two positions to form a new individual, and add it to the community; if no, do not perform the mutation operation and do not generate a new individual; If the number of evolutions t is greater than the maximum number of evolutions T, the loop is terminated, and the individual with the highest fitness in the last generation of the community is taken out. The gene sequence is the global optimal path, and the global optimal multi-task path planning is completed; if not, return to the step of calculating the path length of the individual and proceed to the next loop; An execution module, configured to drive along the global optimal path and execute book picking, obtain obstacle information on the global optimal path, and update the rasterized map, and according to the updated rasterized map and book picking information, take the current position as the starting point and keep the target point position unchanged, repeat step 2, perform real-time path planning and execute book picking; The processing module is used to repeatedly call the acquisition module, the solution module and the execution module until there is no book picking information in the book picking queue.

5. The system according to claim 4, characterized in that The execution module is further used for: When an obstacle coincides with the target point, the target point task is ignored and the target point is marked. When the book is picked up next time, the marked target point is added to the book picking queue. If there is still an obstacle coincident with the target point, the target point is marked again and the next book picking is waited for. It is determined whether the number of target point markings is greater than or equal to the preset threshold. If it is greater than or equal to the preset threshold, the target point is ignored and a prompt is given that the book cannot be picked up at the target point.

6. The system according to claim 4, characterized in that The execution module is specifically used for: When the obstacle recognition system finds an obstacle ahead, it determines the location of the obstacle in the map and marks it as an obstacle in the map. If the obstacle is on the planned path, the path is replanned; if the obstacle does not affect the path, the vehicle drives along the planned path.

7. A multi-task path planning device for library AGV, characterized in that: include: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the computer program is executed by the processor, the steps of the multi-task path planning method for a library AGV are implemented as described in any one of claims 1 to 3.

8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores an implementation program for information transmission, and when the program is executed by the processor, the steps of the multi-task path planning method for library AGV as described in any one of claims 1 to 3 are implemented.

Citation Information

Patent Citations

  • AGV scheduling method based on dynamic path planning

    CN110503260A

  • Unmanned surface vehicle path planning method

    CN110906935A