A multi-AGV multi-objective path planning method based on improved genetic algorithm
Through improved genetic algorithm and raster method model, combined with traffic rules method and occupancy table priority strategy, the problem of path planning coordination in multi-AGV environments is solved, and the system efficiency and cost reduction are achieved.
Patent Information
- Application Number
- CN202210501172.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-09
- Publication Date
- 2025-04-18
- Estimated Expiration
- 2042-05-09
AI Technical Summary
In a multi-AGV environment, it is difficult for the prior art to effectively coordinate the path planning of multiple AGVs, resulting in problems such as collisions and deadlocks, affecting system efficiency and cost.
Improved genetic algorithms are adopted, warehousing environment model is constructed in combination with raster method, AGV operation rules are formulated, and priority strategies are established through traffic rules method and occupancy tables, and matching cross operators and congestion factors are used to improve the efficiency of path planning.
It significantly improves the efficiency of multi-AGV systems, reduces the occurrence of collisions and deadlocks, optimizes path planning, and reduces the operating costs of enterprises.
Smart Images

Figure CN114911205B_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the field of intelligent technology and relates to a multi-AGV multi-objective path planning method based on an improved genetic algorithm. Background Art
[0002] Automated Guided Vehicles (AGV) is an intelligent handling device that does not require manual control and can automatically travel along a predetermined route. It is mainly used in the fields of logistics and manufacturing for handling work or inspection to replace manual inspection.
[0003] In the logistics industry, the application of AGV can make traditional warehousing more efficient and stable, and also reduce the labor costs of enterprises. Among them, the path planning technology of AGV is an important issue in the whole system. AGV path planning refers to the use of a central control system to plan the best collision-free driving path from the starting position to the target point for each AGV. As the amount of cargo increases, the storage space will expand accordingly. At the same time, the number of AGVs in the warehouse will also increase. The coordination and cooperation between multiple AGVs is a very critical issue. During the operation of multiple AGVs, collisions, deadlocks and other problems are prone to occur. In this case, planning a shortest, optimal and collision-free route for each AGV so that it can complete various tasks in an orderly manner plays an important role in reducing the cost of the enterprise. Summary of the invention
[0004] In view of this, the purpose of the present invention is to provide a multi-AGV multi-target path planning method based on an improved genetic algorithm. This paper adopts the grid method to construct a warehouse environment model, and formulates the AGV operation rules for the gridded warehouse environment, and establishes a priority strategy based on the traffic rules method according to the conflicts in the AGV operation, and uses the A* algorithm to calculate the shortest walking distance between the two targets, construct a distance matrix between all target points, and use a matching crossover operator to replace the traditional two-crossover operator to solve the problems of gene duplication and slow convergence in the crossover, and considers adding congestion factors to the genetic algorithm to improve the traditional genetic algorithm. The use of the improved genetic algorithm has greatly improved the efficiency of the entire system.
[0005] In order to achieve the above object, the present invention provides the following technical solutions:
[0006] A multi-AGV multi-objective path planning method based on an improved genetic algorithm, the method comprising the following steps:
[0007] S1: Use the grid method to build a map model based on the storage environment:
[0008] It consists of four parts:
[0009] Picking station T = {T_1, T_2, T_3, ..., T_n}, where n represents the number of picking stations;
[0010] AGV R = {R_1, R_2, R_3, ..., R_m}, m represents the number of AGVs;
[0011] Shelf area S = {S_1, S_2, S_3, ..., S_k}, k represents the number of warehouse areas;
[0012] The AGV’s traversable roads and the shelf points where the AGV will go;
[0013] S2: Establish a priority strategy based on traffic rules and occupancy tables;
[0014] S3: A number is established for each target point in the grid map. Assume that the path distance between any two target points x and y is d. xy , and then use the improved A* algorithm to calculate the shortest walking distance between the two targets. Assuming that the AGV has to pass through n target points, then the AGV has n ways to complete all tasks and obtain the distance matrix D xy , where x, y∈(1,n), x≠y;
[0015] S4: Solve the AGV path based on the improved genetic algorithm.
[0016] Optionally, the S2 specifically includes the following steps:
[0017] S21: All roads are one-way channels, and the horizontal roads are one-way roads that alternate left and right, and the longitudinal roads are one-way roads that alternate up and down; and it is stipulated that when the AGV encounters a conflict at a node, the waiting decision is adopted to resolve the node conflict, and the AGV with the highest priority goes first;
[0018] S22: Create an occupancy table;
[0019] The occupancy table is represented by a data structure to store the information of the robot occupying each grid. Before the AGV wants to enter the next node, it will query the occupancy table to see if the node it is about to enter is occupied, and then mark the next node to be occupied by itself. The mark will be cancelled only after leaving the node and exceeding the safety distance. If other AGVs also want to enter this node, they need to wait until the mark is cancelled before entering, otherwise they will wait in place. Each AGV has a unique ID number. The occupancy table will record the ID number of each AGV and record which node is occupied by which AGV.
[0020] S23: Determine the priority based on the number of conflicts;
[0021] The conflicts between a certain AGV and other AGVs in the initial global path planning are defined as the initial conflict number of the AGV primary; then, the paths of other AGVs are not changed, the AGV is set to a lower priority, and the number of new conflicts between the AGV and other AGVs is defined as the number of new or reduced conflicts new; the total number of conflicts generated by the AGV is defined as all;
[0022] all=primary+new
[0023] The new conflict number new can also be a negative value, indicating a decrease in the number of conflicts. When a path conflict occurs, both AGVs need to calculate their total number of conflicts, and the one with fewer conflicts has a higher priority. If the number of conflicts is the same, a randomly set AGV has a higher priority.
[0024] Optionally, in S3, the shortest walking distance between two targets is calculated according to the improved A* algorithm, and the specific steps include:
[0025] S31: Initial conditions: the starting point is set to S, the target end point is set to U
[0026] S32: First, initialize two empty auxiliary lists, Open and Close. At the beginning, put the starting point S into the Open table. The Open table stores the candidate node sets to be estimated, and the Close table stores the node sets that have been searched. There are no duplicate nodes in the list.
[0027] S33: Remove the starting point S from the Open table to the Close table, then search for all nodes around the starting point S, set the starting point S as the current parent node, and determine whether these nodes are in the Open table. If not, add them to the Open table. If they are obstacle points, ignore them.
[0028] S34: Calculate the f(n) values of all nodes in the Open table, find the node with the smallest f(n) value among them and put it into the Close table, and delete it from the Open table;
[0029] S35: Search all nodes adjacent to the node with the smallest f(n) found, and check whether they are in the Open table. If not, put them in the Open table, and set the point with the smallest f(n) value as the parent node. If the node is in the Open table, then recalculate the f(n) values of these nodes. If the new value is smaller than the previous one, update the original f(n) value and set this node as the parent node.
[0030] S36: Complete the path search by taking the node with the smallest f(n) value in the Open table as the parent node of the next search node;
[0031] S37: Each searched node is judged once. If it is the target node, the search is stopped and the algorithm ends. If not, the above steps are repeated to continue the search.
[0032] Optionally, in S34, the f(n) values of all nodes in the Open table are calculated, and the specific steps include:
[0033] S341: f(n)=g′(n)+h′(n);
[0034] S342: g′(n)=ag(n);
[0035] Among them, g′(n) represents the actual cost from the starting point to the current grid, g(n) represents the initial cost from the starting point to the current grid, α is the turning weight, which is a number not less than 1. It takes a specific value when turning and takes 1 when not turning.
[0036] S343: h′(n)=εh(n);
[0037] h(n)=|x1-x2|+|y1-y2|, which represents the sum of the absolute values of the horizontal distance and the vertical distance between two points;
[0038] ε is the weight of the heuristic function.
[0039] Optionally, in S4, the AGV path is solved using an improved genetic algorithm, and the specific steps include:
[0040] S41: Initialize the environment map, shelf information, and AGV information, and set the congestion coefficient to zero;
[0041] S42: Calculate the A* path information matrix between target nodes;
[0042] S43: Generate random population;
[0043] S44: Calculate the initial path length according to the A* path information matrix and update the congestion coefficient;
[0044] S45: Determine the number of conflicts, determine priorities and resolve conflicts;
[0045] S46: Obtain the path length and travel time of individuals in the population;
[0046] S47: Calculate the fitness function of individuals in the population;
[0047] S48: selection, crossover, mutation;
[0048] S49: Output the optimal individual.
[0049] Optionally, in S47, the fitness function of individuals in the population is calculated, and the specific steps include:
[0050] S471: n represents the total number of nodes traversed, d i,i+1 represents the optimal path between the i-th node and the i+1-th node traversed by the AGV, v represents the uniform speed of the AGV, and t w Indicates the time the AGV spends waiting during driving;
[0051] S472: The intersection node number uses the node number in the occupancy table; where n represents the intersection node number, m represents the used intersection node number, C is the set of all intersection nodes, and p m Represents the congestion coefficient of road section m.
[0052] Optionally, after S47, a roulette wheel selection strategy is used to select individuals, and the specific steps include:
[0053] If the fitness of an individual is f i , the population size is N, then the probability of being selected is:
[0054]
[0055] Optionally, in S48, a matching crossover operator is used to complete the algorithm crossover step, and the specific steps include:
[0056] First, a gene is randomly selected from one of the chromosomes, and then a gene at the same position is found on another paired chromosome to be exchanged to generate two offspring gene sequences.
[0057] The beneficial effect of the present invention is that the AGV multi-objective problem is analogized to the TSP problem, and the improved genetic algorithm is used to solve the multi-objective path planning problem, so that the efficiency of the entire system is greatly improved.
[0058] Other advantages, objectives and features of the present invention will be described in the following description to some extent, and to some extent, will be obvious to those skilled in the art based on the following examination and study, or can be taught from the practice of the present invention. The objectives and other advantages of the present invention can be realized and obtained through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] In order to make the purpose, technical solutions and advantages of the present invention more clear, the present invention will be described in detail below in conjunction with the accompanying drawings, wherein:
[0060] Figure 1 is a flow chart of the present invention;
[0061] Figure 2It is a rasterized storage map;
[0062] Figure 3 is a traffic rules diagram;
[0063] Figure 4 It is the occupancy table diagram;
[0064] Figure 5 This is the flow chart of the improved genetic algorithm;
[0065] Figure 6 This is the convergence diagram of the algorithm before the genetic algorithm is improved;
[0066] Figure 7 This is the convergence diagram of the algorithm before and after the genetic algorithm was modified. DETAILED DESCRIPTION
[0067] The following describes the embodiments of the present invention by specific examples, and those skilled in the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present invention. It should be noted that the illustrations provided in the following embodiments only illustrate the basic concept of the present invention in a schematic manner, and the following embodiments and features in the embodiments can be combined with each other without conflict.
[0068] Among them, the drawings are only used for illustrative explanations, and they only represent schematic diagrams rather than actual pictures, and should not be understood as limitations on the present invention. In order to better illustrate the embodiments of the present invention, some parts of the drawings may be omitted, enlarged or reduced, and do not represent the size of actual products. For those skilled in the art, it is understandable that some well-known structures and their descriptions in the drawings may be omitted.
[0069] The same or similar numbers in the drawings of the embodiments of the present invention correspond to the same or similar parts; in the description of the present invention, it should be understood that if the terms "upper", "lower", "left", "right", "front", "rear", etc. indicate the orientation or position relationship, they are based on the orientation or position relationship shown in the drawings, which is only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operate in a specific orientation. Therefore, the terms describing the position relationship in the drawings are only used for illustrative purposes and cannot be understood as limiting the present invention. For ordinary technicians in this field, the specific meanings of the above terms can be understood according to specific circumstances.
[0070] The purpose of the present invention is achieved through such technical solution: Figure 1 As shown, the specific steps are as follows:
[0071] Use the grid method to build a map model according to the storage environment, such as Figure 2 shown.
[0072] 1) The grid map can be divided into four main parts:
[0073] The leftmost picking station T = {T1, T2, T3, ..., T n}, where n represents the number of picking stations;
[0074] The circles on the right side of the picking platform represent the AGV vehicles R = {R1, R2, R3, ..., R m}, m represents the number of AGVs;
[0075] The gray rectangular grid constitutes the shelf area S = {S1, S2, S3, ..., S k}, k represents the number of warehouse areas;
[0076] The remaining white areas represent the AGV’s drivable paths, and the red areas represent the shelf points where the AGV will go.
[0077] 2) Establish a priority strategy based on traffic rules and occupancy tables:
[0078] 21) Traffic rules diagram Figure 3 As shown in the figure, all roads are one-way channels, and the horizontal roads are one-way roads that alternate left and right, and the longitudinal roads are one-way roads that alternate up and down. It is also stipulated that when the AGV encounters a conflict at a node, the waiting decision is used to resolve the node conflict, and the AGV with a higher priority goes first.
[0079] 22) Create an occupancy table such as Figure 4 shown.
[0080] The occupancy table is represented by a simpler data structure, which is used to store the information of the robot occupied by each grid. Before the AGV wants to enter the next node, it will query the occupancy table to see if the node it is about to enter is occupied, and then mark the next node as being occupied by itself. The mark will be cancelled only after it leaves the node and is greater than the safety distance. Other AGVs that want to enter this node must wait until the mark is cancelled before they can enter, otherwise they can only wait in place. Each AGV has its own unique ID number. The occupancy table will record the ID number of each AGV to facilitate recording which node is occupied by which AGV.
[0081] 23) Determine the priority based on the number of conflicts
[0082] The conflicts between a certain AGV and other AGVs in the initial global path planning are defined as the initial conflict number of the AGV primary. Then, the paths of other AGVs are not changed, the AGV is set to a lower priority, and the number of new conflicts between the AGV and other AGVs is defined as the number of new or reduced conflicts new. The total number of conflicts generated by the AGV is defined as all.
[0083] all=primary+new
[0084] The new conflict number new can also be a negative value, indicating a decrease in the number of conflicts. Therefore, when a path conflict occurs, both AGVs need to calculate their total number of conflicts, and the one with fewer conflicts has a higher priority. If the number of conflicts is the same, a random AGV is given a higher priority.
[0085] 3) Create a number for each target point in the grid map, assuming that the path distance between any two target points x and y is d xy , and then use the improved A* algorithm to calculate the shortest walking distance between the two targets. Assuming that the AGV has to pass through n target points, then the AGV has n ways to complete all tasks and obtain the distance matrix D xy , where, x, y∈(1,n), x≠y,.
[0086] <![CDATA[v1]]> <![CDATA[v2]]> <![CDATA[v3]]> … <![CDATA[v n ]]> <![CDATA[v1]]> 0 <![CDATA[d 12 ]]> <![CDATA[d 13 ]]> <![CDATA[d 1n ]]> <![CDATA[v2]]> 0 <![CDATA[d 23 ]]> <![CDATA[d 2n ]]> <![CDATA[v3]]> 0 <![CDATA[d 3n ]]> … 0 <![CDATA[v n ]]> 0
[0087] 31) Initial conditions: the starting point is set to S and the target end point is set to U
[0088] 32) First, initialize two empty auxiliary lists, Open and Close. At the beginning, put the starting point S into the Open table. The Open table stores the candidate node sets to be estimated, and the Close table stores the node sets that have been searched. There cannot be duplicate nodes in the list.
[0089] 33) Remove the starting point S from the Open table to the Close table, then search for all nodes around the starting point S, set the starting point S as the current parent node, and determine whether these nodes are in the Open table. If not, add them to the Open table. If they are obstacle points, ignore them.
[0090] 34) Calculate the f(n) values of all nodes in the Open table, find the node with the smallest f(n) value and put it into the Close table, and delete it from the Open table.
[0091] 35) Search for all nodes adjacent to the node with the smallest f(n) found, and check if they are in the Open table. If not, put them in the Open table and set the point with the smallest f(n) value as the parent node. If the node is in the Open table, then recalculate the f(n) value of these nodes. If the new value is smaller than the previous one, update the original f(n) value and set this node as the parent node.
[0092] 36) The path search is completed by selecting the node with the smallest f(n) value in the Open table as the parent node of the next search node.
[0093] 37) Each searched node is judged once. If it is the target node, the search is stopped and the algorithm ends. If not, repeat the above steps to continue the search.
[0094] Calculate the f(n) value of all nodes in the Open table
[0095] 41)f(n)=g′(n)+h′(n)
[0096] 42)g′(n)=αg(n)
[0097] Among them, g′(n) represents the actual cost from the starting point to the current grid, g(n) represents the initial cost from the starting point to the current grid, α is the turning weight, which is a number not less than 1. It takes a specific value when turning and takes 1 when not turning.
[0098] 43)h′(n)=εh(n)
[0099] h(n)=|x1-x2|+|y1-y2|, which represents the sum of the absolute values of the horizontal distance and the vertical distance between two points.
[0100] ε is the weight of the heuristic function.
[0101] In this paper, α=1.8, ε=2;
[0102] 4) Solve the AGV path according to the improved genetic algorithm. The specific flow chart of the algorithm is as follows: Figure 5 shown.
[0103] The specific steps for calculating the fitness function of individuals in the population include:
[0104] 51)
[0105] n represents the total number of nodes traversed, d i,i+1 represents the optimal path between the i-th node and the i+1-th node traversed by the AGV, v represents the uniform speed of the AGV, and t w Indicates the time the AGV spends waiting during driving.
[0106] 52) Among them,
[0107] The intersection node number uses the node number in the occupancy table. Where n represents the intersection node number, m represents the used intersection node number, C is the set of all intersection nodes, and p is the number of all intersection nodes. m Represents the congestion coefficient of road section m.
[0108] 53) Roulette wheel selection strategy selects individuals
[0109] If the fitness of an individual is f i , the population size is N, then the probability of him being selected is:
[0110]
[0111] 54) Use matching crossover operator to complete the algorithm crossover step
[0112] First, a gene is randomly selected on one of the chromosomes, and then a gene at the same position is found on another paired chromosome to exchange, generating two offspring gene sequences.
[0113] The final simulation results show that the convergence of the genetic algorithm before and after improvement is as follows: Figure 6 , Figure 7 shown.
[0114] Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of the present invention rather than to limit it. Although the present invention has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solution of the present invention can be modified or replaced by equivalents without departing from the purpose and scope of the technical solution, which should be included in the scope of the claims of the present invention.
Claims
1. A multi-AGV multi-objective path planning method based on an improved genetic algorithm, characterized in that: The method comprises the following steps: S1: Use the grid method to build a map model based on the storage environment: It consists of four parts: Picking station T = {T_1, T_2, T_3, ..., T_n}, where n represents the number of picking stations; AGV R = {R_1, R_2, R_3, ..., R_m}, m represents the number of AGVs; Shelf area S = {S_1, S_2, S_3, ..., S_k}, k represents the number of warehouse areas; The AGV’s traversable roads and the shelf points where the AGV will go; S2: Establish a priority strategy based on traffic rules and occupancy tables; S3: A number is established for each target point in the grid map. Assume that the path distance between any two target points x and y is d. xy , and then use the improved A* algorithm to calculate the shortest walking distance between the two targets. Assuming that the AGV has to pass through n target points, then the AGV has n ways to complete all tasks and obtain the distance matrix D xy , where x, y∈(1,n), x≠y; S4: Solve the AGV path based on the improved genetic algorithm; The S2 specifically includes the following steps: S21: All roads are one-way channels, and the horizontal roads are one-way roads that alternate left and right, and the longitudinal roads are one-way roads that alternate up and down; and it is stipulated that when the AGV encounters a conflict at a node, the waiting decision is adopted to resolve the node conflict, and the AGV with the highest priority goes first; S22: Create an occupancy table; The occupancy table is represented by a data structure to store the information of the robot occupying each grid. Before the AGV wants to enter the next node, it will query the occupancy table to see if the node it is about to enter is occupied, and then mark the next node to be occupied by itself. The mark will be cancelled only after leaving the node and exceeding the safety distance. If other AGVs also want to enter this node, they need to wait until the mark is cancelled before entering, otherwise they will wait in place. Each AGV has a unique ID number. The occupancy table will record the ID number of each AGV and record which node is occupied by which AGV. S23: Determine the priority based on the number of conflicts; The conflicts between a certain AGV and other AGVs in the initial global path planning are defined as the initial conflict number of the AGV primary; then, the paths of other AGVs are not changed, the AGV is set to a lower priority, and the number of new conflicts between the AGV and other AGVs is defined as the number of new or reduced conflicts new; the total number of conflicts generated by the AGV is defined as all; all=primary+new The number of new conflicts can also be negative, indicating a decrease in the number of conflicts. When a path conflict occurs, both AGVs need to calculate their total number of conflicts, and the one with fewer conflicts has a higher priority. If the number of conflicts is the same, a random AGV is given a higher priority. In S3, the shortest walking distance between two targets is calculated according to the improved A* algorithm, and the specific steps include: S31: Initial conditions: the starting point is set to S, and the target end point is set to U; S32: First, initialize two empty auxiliary lists, Open and Close. At the beginning, put the starting point S into the Open table. The Open table stores the candidate node sets to be estimated, and the Close table stores the node sets that have been searched. There are no duplicate nodes in the list. S33: Remove the starting point S from the Open table to the Close table, then search for all nodes around the starting point S, set the starting point S as the current parent node, and determine whether these nodes are in the Open table. If not, add them to the Open table. If they are obstacle points, ignore them. S34: Calculate the f(n) values of all nodes in the Open table, find the node with the smallest f(n) value among them and put it into the Close table, and delete it from the Open table; S35: Search all nodes adjacent to the node with the smallest f(n) found, and check whether they are in the Open table. If not, put them in the Open table, and set the point with the smallest f(n) value as the parent node. If the node is in the Open table, then recalculate the f(n) values of these nodes. If the new value is smaller than the previous one, update the original f(n) value and set this node as the parent node. S36: Complete the path search by taking the node with the smallest f(n) value in the Open table as the parent node of the next search node; S37: Each searched node is judged once. If it is the target node, the search is stopped and the algorithm ends. If not, the above steps are repeated to continue the search. In the S34, the f(n) values of all nodes in the Open table are calculated, and the specific steps include: S341: f(n)=g′(n)+h′(n); S342: g′(n)=αg(n); Among them, g′(n) represents the actual cost from the starting point to the current grid, g(n) represents the initial cost from the starting point to the current grid, α is the turning weight, which is a number not less than 1. It takes a specific value when turning and takes 1 when not turning. S343: h′(n)=εh(n); h(n)=|x1-x2|+|y1-y2|, which represents the sum of the absolute values of the horizontal distance and the vertical distance between two points; ε is the weight of the heuristic function; In S4, the AGV path is solved using an improved genetic algorithm, and the specific steps include: S41: Initialize the environment map, shelf information, and AGV information, and set the congestion coefficient to zero; S42: Calculate the A* path information matrix between target nodes; S43: Generate random population; S44: Calculate the initial path length according to the A* path information matrix and update the congestion coefficient; S45: Determine the number of conflicts, determine priorities and resolve conflicts; S46: Obtain the path length and travel time of individuals in the population; S47: Calculate the fitness function of individuals in the population; S48: selection, crossover, mutation; S49: Output the optimal individual; In S47, the fitness function of individuals in the population is calculated, and the specific steps include: S471: n represents the total number of nodes traversed, d i,i+1 represents the optimal path between the i-th node and the i+1-th node traversed by the AGV, v represents the uniform speed of the AGV, and t w Indicates the time the AGV spends waiting during driving; S472: The intersection node number uses the node number in the occupancy table; where n represents the intersection node number, m represents the used intersection node number, C is the set of all intersection nodes, and p m represents the congestion coefficient of road section m; After S47, a roulette wheel selection strategy is used to select individuals, and the specific steps include: If the fitness of an individual is f i , the population size is N, then the probability of being selected is: In S48, a matching crossover operator is used to complete the algorithm crossover step, and the specific steps include: First, a gene is randomly selected from one of the chromosomes, and then a gene at the same position on another paired chromosome is found and exchanged to generate two offspring gene sequences.