A multi-AGV scheduling and collaborative path planning method and device considering power constraints
By designing a scheduling and path planning method that considers power constraints in multi-AGV systems, the problem that AGV power constraints are difficult to effectively deal with in the prior art is solved, and more efficient AGV cooperation and system operation efficiency are achieved.
Patent Information
- Application Number
- CN202210937097.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-05
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2042-08-05
AI Technical Summary
It is difficult to effectively consider the power constraints of AGV in existing multi-AGV systems in scheduling and path planning, resulting in increased scheduling search costs and reduced system operation efficiency.
A multi-AGV scheduling and collaborative path planning method considering power constraints is designed. By obtaining the set of goods to be transported and the set of idle AGVs, setting up virtual AGVs, calling the AGV collaborative path planning algorithm and the multi-AGV scheduling algorithm based on the power demand priority rules, To achieve coordinated and coordinated path planning and scheduling.
It effectively improves the overall collaboration efficiency of multi-AGV systems, reduces the risk of AGV conflict, ensures that AGV transports goods within the effective range of power, and improves the operating efficiency of the system.
Smart Images

Figure CN115167457B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of path planning technology, and in particular to a method and device for multi-AGV scheduling and collaborative path planning considering power constraints. Background Art
[0002] As the motion unit in smart warehousing, the automatic guided vehicle (AGV) is the core component of the logistics and transportation link. With its high efficiency, safety, and high degree of automation, a certain number of AGVs can completely replace the manual handling in the warehousing link through collaboration, effectively improving the low efficiency and high labor cost of the manual handling operation mode in traditional warehouses. Therefore, the multi-AGV system has gradually developed into a hot spot in the current research field of smart warehousing. The AGVs used in existing warehousing environments are mainly driven by electricity. Affected by their own weight, cargo weight, driving speed, etc., the AGV consumes electricity during operation and has a charging requirement, which directly affects the system operation status and efficiency. Therefore, in the study of multi-AGV systems, AGV power constraints are an important factor that cannot be ignored.
[0003] In the past, when there were fewer AGVs in warehousing environments, researchers tended to improve system operation efficiency by optimizing AGV paths. However, with the increase in the number of AGVs in smart warehousing, the optimization of a single function has been difficult to meet the actual needs of multi-AGV systems. Collaborative research on scheduling and planning is needed to improve the overall collaborative efficiency of multi-AGV systems.
[0004] The current research on the coordination of scheduling and path planning of multi-AGV systems can be divided into two categories, namely, offline environment coordination research and online environment coordination research. In offline environments, centralized strategies are often used, and the central control system is used to determine the scheduling plan and path for all AGVs. Each AGV performs tasks according to the plan given by the system and does not have independent adjustment capabilities. However, as the scale of the system increases, not only is the system flexibility poor, but it also causes an exponential increase in the system running time, making it difficult to meet the real-time requirements of the AGV operation process. In online environments, single sub-problem optimization methods are often used for scheduling or path planning. When optimizing scheduling, it is assumed that the path planning has been completed and there will be no conflict during the operation of the AGV. Some heuristic-based assignment rules or traditional intelligent algorithms are used to solve the scheduling problem; when optimizing the path, it is assumed that the scheduling has been completed, and decentralized decision-making optimization paths are often used. Common methods include Dijkstra algorithm, RRT algorithm, A* algorithm and time window. It can be seen that the optimization method of the online environment is difficult to achieve the coordinated optimization of the two. At the same time, there are few existing studies that consider the AGV power constraint in the scheduling link. If the dynamic change characteristics of the AGV power are not considered, the scheduling search cost will increase and the system operation efficiency will be reduced. In summary, it is necessary to design new methods to carry out collaborative research on scheduling and planning in multi-AGV systems based on the power constraints of AGVs. Summary of the invention
[0005] In view of the above analysis, an embodiment of the present invention aims to provide a multi-AGV scheduling and collaborative path planning method and device considering power constraints, so as to solve the problem that if the dynamic change characteristics of AGV power are not considered, the scheduling search cost will be increased and the system operation efficiency will be reduced.
[0006] On the one hand, an embodiment of the present invention provides a multi-AGV scheduling and collaborative path planning method considering power constraints, including: obtaining at the current time t s A set of goods to be transported and a set of idle AGVs in the parking area are collected, and the power of the AGVs in the parking area and the charging area are updated at the same time; multiple virtual AGVs are set based on the number of goods in the set of goods to be transported, so that the multiple virtual AGVs match the goods in the set of goods to be transported; an AGV collaborative path planning algorithm is called to plan paths for the virtual AGVs; and the power consumption data of each of the multiple virtual AGVs is obtained, and a multi-AGV scheduling algorithm based on a power demand priority rule is called to match the multiple virtual AGVs with real AGVs.
[0007] The beneficial effects of the above technical solution are as follows: when studying the coordinated scheduling and planning method of multiple AGVs, taking the AGV power constraint into consideration is more in line with the actual situation of the warehouse environment. The present invention designs a solution strategy of first path planning and then AGV scheduling to achieve coordinated linkage of path planning and scheduling in a multi-AGV system.
[0008] Based on the further improvement of the above method, multiple virtual AGVs are set based on the number of goods in the set of goods to be transported, so that the multiple virtual AGVs match the goods in the set of goods to be transported, including: determining at the current time t s Check whether there is cargo in the cargo set to be transported and whether there is an idle AGV in the idle AGV set, and update the AGV power in the parking area and the charging area. When there is cargo and there is an idle AGV, directly obtain the cargo task[m] to be transported and set the virtual AGV; when there is no cargo but there is an idle AGV, update the current time t s =t s +Δt, and then determine whether the system operation is finished according to the updated current time; when there is cargo but no idle AGV, call the AGV discrimination method based on the power threshold to obtain an AGV with sufficient power from the charging area and add it to the idle AGV set, and then determine whether there is an idle AGV in the idle AGV set, wherein, when there is an idle AGV, obtain the cargo task[m] to be transported and set a virtual AGV, and then turn to the step of calling the AGV collaborative path planning algorithm, otherwise call the duration discrimination method based on the AGV power to obtain the system update duration Δt to update the current time t s =t s +Δt, and then determine whether the system operation is completed based on the updated current time.
[0009] Based on the further improvement of the above method, judging whether the system operation is finished according to the updated current time includes: judging the current time t s Is it greater than or equal to the end time t e , where if the current time t s Greater than or equal to the end time t e , generate the running path set of all AGVs within the system running time; otherwise update the current time t s And update the power value of the AGV being charged in the charging area and return to obtain the current time t s The steps of collecting the goods to be transported at the location and collecting the idle AGVs in the parking area.
[0010] Based on the further improvement of the above method, in obtaining the sThe method also includes: modeling the storage environment to automatically generate a grid map of a multi-AGV system facing the storage environment through the following model:
[0011] 2x i +y p =W,
[0012] Rx j +y q =H,
[0013] Among them, y p >x i ,0<i<W-2,p∪[0,w-1],y q >x j , 0<j<HR, q∪[0,H-1], H represents the length of the grid map; W represents the width of the grid map; R represents the number of horizontal single-row shelves; x i represents the i-th vertical shelf; x j represents the j-th row of shelves; y p represents the pth vertical aisle; y q Indicates the qth horizontal aisle, the storage environment includes a cargo buffer area, a parking area, a shelf, a passage and a charging area, wherein the cargo buffer area in the grid map is an area for caching the arrived cargo, and the AGV delivers the cargo to the designated shelf position after taking the cargo from the cargo buffer area; the parking area in the grid map is a centralized parking area for AGVs, and the AGVs parked in the parking area receive the scheduling task of the system and travel from the parking area to the cargo buffer area; the shelf in the grid map is a double-row multi-layer stacking rack for storing cargo, and when the AGV arrives at the designated shelf position, the lifting system on the shelf delivers the cargo to the designated layer of the shelf; the passage in the grid map includes an operating passage and an exit passage, wherein the operating passage allows the AGV to travel in four directions: up, down, left and right, and the exit passage is arranged on the side of the grid map for the AGV to exit after delivering the cargo; and the charging area in the grid map is an area with a certain AGV cache capacity and for the AGV to automatically charge.
[0014] Based on the further improvement of the above method, the AGV identification method based on the power threshold includes: setting the charging lower limit value E of the AGV l,complete , get the current time t sThe charging AGV set agv_charge_list in the charging area at the location; determine whether there is an AGV in the charging AGV set agv_charge_list, wherein when there is no AGV in the charging AGV set agv_charge_list, end the search; when there is an AGV in the charging AGV set agv_charge_list, continue to determine whether there is an AGV in the charging AGV set agv_charge_list whose battery power has reached the charging lower limit value, wherein when there is an AGV whose battery power has reached the charging lower limit value, place the AGV whose battery power has reached the charging lower limit value in the idle AGV set agv_idle_list, otherwise end the search.
[0015] Based on the further improvement of the above method, the time determination method based on the AGV power includes: setting the system update time Δt, obtaining the current time t s A charging AGV set agv_charge_list in the charging area; sorting the AGVs in the charging AGV set agv_charge_list by power value to obtain the AGV with the largest power value; calculating the remaining charge amount of the AGV with the largest power value from the charging lower limit value by the following formula: R max =E l,complete -E max ; Use the following power-time conversion formula to convert the remaining charge amount into the charging time T R :
[0016] T R =R max / E coff
[0017] Among them, T R Indicates the charging time, R max Indicates the remaining charge capacity, E coff Indicates the charging coefficient; determines the charging time T R Is it greater than the system update time Δt, where the waiting charging time T R When the waiting charging time T is greater than the system update time Δt, all AGVs in the charging area still need to charge for a long time, and the system update time Δt is obtained; R When it is less than the system update time Δt, there will be an AGV that is about to finish charging for the system to call, and the waiting charging time T R As the system update time length Δt.
[0018] Based on the further improvement of the above method, the AGV collaborative path planning algorithm includes: defining and initializing a path node set path_list for storing the virtual AGV agv[n]' that has been searched, a node set open_list to be processed, a node set close_list that has been processed, a global information reservation table set reserve_table, and a central node cnode for expansion, and defining the running time between a single AGV node as t p ; The initial node (x m,0 ,y m,0 ) into the node set to be processed open_list, and the initial node (x m,0 ,y m,0 ) is put into the processed node set close_list, and the initial node (x) in the pending node set open_list is deleted. m,0 ,y m,0 ), set the central node cnode = (x m,0 ,y m,0 );Determine the current time t s Whether there is a reservation table reserve_table[t s ]; When the reservation table reserve_table[t s ], recreate the reservation table reserve_table[t s ], add the virtual AGV agv[n]' at the central node cnode, put the central node cnode into the searched path node set path_list; when the reservation table reserve_table[t s ], determine the reservation table reserve_table[t s ] is occupied by an AGV. If the virtual AGV agv[n]' is located at the initial position, the virtual AGV agv[n]' is made to wait at the initial position for a waiting time of t w , update the start time of the virtual AGV agv[n]' to transport goods: t0 = t0 + t w ; Otherwise update the current time: t s =t s +Δt, jump to determine whether there is a reservation table reserve_table[t s ] step; in the reservation table reserve_table[t s], add the virtual AGV agv[n]' to the central node of the path, and put the central node into the searched path node set path_list; use the following AGV power consumption formula to calculate the power consumption value E of the virtual AGV agv[n]' n And update the accumulated power consumption value E total =E n :
[0019]
[0020] Among them, w m represents the weight of the cargo m, v represents the driving speed of the virtual AGV agv[n]', t s+1 and t s represents the adjacent time of system operation, △ represents the power consumption base; judge whether the central node is a node in the parking area; if it is a node in the parking area, update the state of the virtual AGV agv[n]' to the idle state and output the complete operation path of the virtual AGV agv[n]' and the cumulative power consumption value E total ; When it is not a node in the parking area, the central node cnode is expanded to obtain a neighbor node set neighbors; a static obstacle judgment strategy is adopted to perform node legitimacy judgment on the neighbor node set neighbors[d]; and a dynamic obstacle judgment strategy is adopted to perform node conflict judgment on the central node cnode, wherein the reservation table is a table with the same size and layout as the grid map, and within the system operation time interval, multiple reservation tables are established based on the system operation time interval to provide real-time system global status information, and the reservation table stores multiple nodes ((x, y), avg[n]), wherein (x, y) is the node coordinate, and avg[n] is the occupied AGV at the node coordinate (x, y).
[0021] Based on the further improvement of the above method, a static obstacle judgment strategy is adopted to judge the node legitimacy of the neighbor node set neighbors[d], including: judging whether the neighbor node neighbors[d] is a node of the cargo cache area, parking area, charging area, shelf and exit channel in the grid map; when the neighbor node neighbors[d] is a node of the cargo cache area, parking area, charging area, shelf and exit channel in the grid map, the sequence number d of the neighbor node to be judged is incremented by 1; when the neighbor node neighbors[d] is not a node of the cargo cache area, parking area, charging area, shelf and exit channel in the grid map, the neighbor node neighbors[d] is stored in the node set to be processed open_list; if the neighbor node set ne If all nodes in the neighbor node set neighbors have not been searched, the sequence number d of the neighbor node to be judged is incremented by 1, and the step of judging whether the neighbor node neighbors[d] is a node of the cargo cache area, parking area, charging area, shelf and exit channel in the grid map is re-executed; and if all nodes in the neighbor node set neighbors have been searched, the node with the smallest cost in the node set open_list to be processed is obtained and assigned to the central node cnode, and the central node cnode is deleted from the node set open_list to be processed, and the central node cnode is added to the node set close_list to be processed; the dynamic obstacle judgment strategy is adopted to perform node conflict judgment on the central node cnode, including: updating the current time t s =t s +t p , determine at the current time t s Does the reservation table reserve_table[t s ], where t p is the running time of agv between single nodes; when the reservation table reserve_table[t s ], transfer to the re-creation of the reservation table reserve_table[t s ] step; when the reservation table reserve_table[t s ], determine the reservation table reserve_table[t s] is there an AGV occupied at the central node cnode; when there is an AGV occupied, calculate the remaining capacity h' of the shelf channel where the central node cnode is located. If the remaining capacity h' is greater than zero, the virtual AGV agv[n]' stops and waits, and the waiting time is the unloading time t of the occupied AGV q , update the current time t s =t s +t q , return to the AGV collaborative path planning algorithm to determine the current time t s Whether there is a reservation table reserve_table[t s ] step; if the remaining capacity h' is less than zero, perform path replanning, locate the nearest intersection position (x m,p ,y m,p ), set the searched path node set path_list (x m,p+1 ,y m,p+1 ) is a static obstacle, and deletes the searched path node set path_list (x m,p ,y m,p ) to (x m,d ,y m,d ) between the path nodes, and update the central node cnode to the nearest intersection position (x m,p ,y m,p ), update the power consumption value of the virtual AGV agv[n]', calculate the cumulative power consumption value E of the virtual AGV agv[n]' from the initial position to the central node total , and returns to the step of determining whether the central node is a node in the parking area in the AGV collaborative path planning algorithm.
[0022] Based on the further improvement of the above method, the multi-AGV scheduling algorithm based on the power demand priority rule includes: obtaining the virtual AGV set agv_virtual_list and the corresponding power consumption value, setting the real AGV set agv_reality_list; performing a cyclic search for the virtual AGV in the virtual AGV set agv_virtual_list, setting the subscript n=0; according to the power consumption value E of the virtual AGV set agv_virtual_list[n] total,n , search for an idle area in the parking area and the power consumption is greater than the power consumption value E total,nAGVs, and put the searched AGVs into the real AGV set agv_reality_list; if the virtual AGV set agv_virtual_list has not been searched, the number of the virtual AGV is incremented by 1, and the search for idle AGVs with a power greater than the power consumption value E in the parking area continues. total,n AGV of the step; if the search of the virtual AGV set agv_virtual_list is completed, n is the number of AGVs in the virtual AGV set agv_virtual_list minus 1; the virtual AGV set agv_virtual_list and the real AGV set agv_reality_list are sorted in descending order according to the power and power consumption values, respectively, wherein the subscripts of the virtual AGV set agv_virtual_list and the real AGV set agv_reality_list are n=0 and k=0 respectively; the virtual AGV set agv_virtual_list and the real AGV set agv_reality_list are The V set agv_virtual_list[n] matches the real AGV set agv_reality_list[k]; if the virtual AGV set agv_virtual_list has not been searched completely, the number of the virtual AGV is incremented by 1 and the number of the real AGV is incremented by 1, and the matching step continues; if the virtual AGV set agv_virtual_list has been searched completely, n is the number of AGVs in the virtual AGV set agv_virtual_list minus 1; the virtual AGV at the corresponding position in the reservation table is updated with the matched real AGV.
[0023] On the other hand, an embodiment of the present invention provides a multi-AGV scheduling and collaborative path planning device that takes power constraints into consideration, including: a task acquisition module, used to acquire a set of goods to be transported and a set of idle AGVs in a parking area at a current time ts; a power update module, used to update the power of the AGVs in the parking area and the charging area; a virtual AGV matching module, used to set a plurality of virtual AGVs based on the quantity of goods in the set of goods to be transported, so that the plurality of virtual AGVs match the goods in the set of goods to be transported; an AGV collaborative path planning module, used to call an AGV collaborative path planning algorithm to plan a path for the virtual AGV; and an AGV scheduling module, used to acquire power consumption data of each of the plurality of virtual AGVs, and call a multi-AGV scheduling algorithm based on a power demand priority rule to match the plurality of virtual AGVs with real AGVs.
[0024] Compared with the prior art, the present invention can achieve at least one of the following beneficial effects:
[0025] 1. In the AGV path planning stage, a multi-AGV collaborative path planning method is designed by combining centralized decision-making and decentralized decision-making. In the case of no assigned AGV, a virtual AGV is matched for the goods to be transported, which serves as the executive decision-making body for the goods transportation to complete the goods transportation task.
[0026] 2. Each AGV provides system global information for the decentralized decision-making of AGV by querying the reservation table. Based on the autonomous decision-making of AGV, combined with the dynamic obstacle fast avoidance strategy, the AGV can quickly avoid obstacles and select the optimal path without conflict. A dynamic obstacle handling strategy is designed for node conflicts during system operation. The autonomous decision-making function of AGV effectively reduces the risk of AGV conflicts and realizes the flexibility of system decision-making.
[0027] 3. After the path planning is completed, the system selects the real AGV that meets the power conditions for scheduling tasks based on the feedback of the virtual AGV power consumption value. In the scheduling problem considering the AGV power constraint, the search efficiency of the algorithm is effectively improved, and the real AGV is matched through the designed power demand priority rule. It can ensure that all AGVs can deliver the goods within the effective power range and return to the parking area, avoiding the impact of insufficient power on the AGV during travel, and further improving the overall operation efficiency of the system at the AGV scheduling level.
[0028] In the present invention, the above-mentioned technical solutions can also be combined with each other to achieve more preferred combination solutions. Other features and advantages of the present invention will be described in the subsequent description, and some advantages can become obvious from the description, or can be understood by practicing the present invention. The purpose and other advantages of the present invention can be realized and obtained through the contents particularly pointed out in the description and the drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The drawings are only for the purpose of illustrating particular embodiments and are not to be considered limiting of the present invention. Like reference symbols denote like components throughout the drawings.
[0030] Figure 1 Flow chart of a multi-AGV scheduling and collaborative path planning method considering power constraints according to an embodiment of the present invention;
[0031] Figure 2 It is a flow chart of the multi-AGV scheduling algorithm based on the power demand priority rule; Figure 3 It is a flow chart of a multi-AGV collaborative path planning algorithm in an embodiment of the present invention;
[0032] Figure 4 A 20×20 storage grid map automatically generated according to an embodiment of the present invention;
[0033] Figure 5The specified AGV running direction, including up, down, left and right;
[0034] Figure 6 There are three types of conflicts for AGVs, namely, opposite-direction conflict, pursuit conflict, and node conflict;
[0035] Figure 7 The diagram is a schematic diagram of the operation of three AGVs at different times in an embodiment of the present invention, wherein in the operation diagram at time t=8, when a conflict is detected during the operation of the AGV, the AGV parking waiting strategy is adopted;
[0036] Figure 8 The diagram is a schematic diagram of the operation of three AGVs at different times in an embodiment of the present invention. In the operation diagram at time t=8, after a conflict is detected during the operation of the AGV, a strategy of retreating and replanning the path is adopted;
[0037] Fig. 9 The diagram is a schematic diagram of the operation of three AGVs at different times in an embodiment of the present invention. In the operation diagram at time t=8, the AGV predicts that a pursuit conflict will occur and wait for a long time according to the reservation table, and the AGV adopts the strategy of directly returning to the intersection and replanning the path.
[0038] Fig.10 Schematic diagram of the virtual AGV and the real AGV to be matched;
[0039] Fig.11 This is a schematic diagram of AGVs matched in a random manner;
[0040] Fig.12 This is a schematic diagram of an AGV that uses power priority rule matching;
[0041] Fig.13 Block diagram of a multi-AGV scheduling and collaborative path planning device considering power constraints. DETAILED DESCRIPTION
[0042] The preferred embodiments of the present invention are described in detail below in conjunction with the accompanying drawings, wherein the accompanying drawings constitute a part of this application and are used together with the embodiments of the present invention to illustrate the principles of the present invention, but are not used to limit the scope of the present invention.
[0043] AGV scheduling and path planning are two core functions of the multi-AGV system. In an environment where goods arrive dynamically and AGVs change dynamically, AGV scheduling that takes power constraints into consideration can ensure the complete execution of AGV delivery tasks and improve system operation efficiency; path planning can autonomously plan a conflict-free path for AGVs and autonomously transport goods to designated shelf locations to achieve the purpose of goods storage.
[0044] A specific embodiment of the present invention discloses a multi-AGV scheduling and collaborative path planning method considering power constraints. Figure 1 The multi-AGV scheduling and collaborative path planning method considering power constraints includes: in step S102, obtaining the current time t s The cargo collection to be transported and the idle AGV collection in the parking area are collected, and the power of the AGVs in the parking area and the charging area is updated at the same time; in step S104, multiple virtual AGVs are set based on the number of cargoes in the cargo collection to be transported, so that the multiple virtual AGVs match the cargoes in the cargo collection to be transported; in step S106, the AGV collaborative path planning algorithm is called to plan paths for the virtual AGVs; and in step S108, the power consumption data of each of the multiple virtual AGVs is obtained, and the multi-AGV scheduling algorithm based on the power demand priority rule is called to match the multiple virtual AGVs with the real AGVs.
[0045] Compared with the prior art, the multi-AGV scheduling and collaborative path planning method considering power constraints provided in this embodiment takes AGV power constraints into consideration when studying the multi-AGV scheduling and planning collaborative method, which is more in line with the actual situation of the warehouse environment. The present invention designs a solution strategy of first path planning and then AGV scheduling to achieve coordinated linkage of path planning and scheduling in a multi-AGV system.
[0046] In the following, reference Figure 1 , each step of the multi-AGV scheduling and collaborative path planning method considering power constraints according to an embodiment of the present invention is described in detail.
[0047] First, the warehouse environment is modeled to automatically generate a grid map of a multi-AGV system for the warehouse environment through the following model:
[0048] 2x i +y p =W, (1)
[0049] Rx j +y q =H, (2)
[0050] Among them, y p >x i ,0<i<W-2,p∪[0,w-1],y q >x j , 0<j<HR, q∪[0,H-1], H represents the length of the grid map; W represents the width of the grid map; R represents the number of horizontal single-row shelves; x i represents the i-th vertical shelf; x j represents the j-th row of shelves; y p represents the pth vertical aisle; yq Indicates the qth horizontal aisle.
[0051] refer to Figure 5 The storage environment includes cargo buffer area, parking area, shelves, channels and charging area. The cargo buffer area in the grid map is the area for caching the arrived cargo. After the AGV takes the cargo from the cargo buffer area, it sends it to the designated shelf position. The parking area in the grid map is the centralized parking area for AGV. The AGV parked in the parking area receives the dispatching task of the system and drives from the parking area to the cargo buffer area. The shelves in the grid map are double-row multi-layer stacking racks for storing cargo. When the AGV arrives at the designated shelf position, the lifting system on the shelf sends the cargo to the designated shelf layer. The channels in the grid map include running channels and exit channels. Figure 4 The running channel allows the AGV to travel in four directions: up, down, left and right. The exit channel is set on the side of the grid map to allow the AGV to exit after delivering the goods; and the charging area in the grid map is an area with a certain AGV cache capacity and for the AGV to automatically charge.
[0052] Next, in step S102, obtain the s The collection of goods to be transported and the collection of idle AGVs in the parking area are collected, and the power of AGVs in the parking area and the charging area are updated at the same time.
[0053] The goods described in step S102 include attributes such as the starting position, the target shelf position, the weight, and the arrival time. The weight of the goods designed in the present invention obeys the normal distribution, as shown in the following formula (3); the arrival time of the goods obeys the random uniform distribution, as shown in the following formula (4):
[0054]
[0055] t arrive ~U(t s ,t e )(4) In formula (3), w m represents the weight of cargo m, represents the mean value of cargo weight, δ represents the standard deviation; in formula (4), t arrive represents the arrival time of the goods, t s Indicates the start time of system operation, t e Indicates the end time of system operation.
[0056] In step S104, multiple virtual AGVs are set based on the number of goods in the set of goods to be transported, so that the multiple virtual AGVs match the goods in the set of goods to be transported. Specifically, the multiple virtual AGVs are set based on the number of goods in the set of goods to be transported, so that the multiple virtual AGVs match the goods in the set of goods to be transported, including: determining at the current time t s Check whether there is cargo in the cargo set to be transported and whether there is an idle AGV in the idle AGV set, and update the AGV power in the parking area and charging area. When there is cargo and an idle AGV, directly obtain the cargo task[m] to be transported and set the virtual AGV; when there is no cargo but there is an idle AGV, update the current time t s =t s +Δt, and then judge whether the system operation is finished according to the updated current time; when there are goods but no idle AGVs, call the AGV judgment method based on the power threshold to obtain the AGV with sufficient power from the charging area and add it to the idle AGV set, and then judge whether there is an idle AGV in the idle AGV set, wherein, when there is an idle AGV, obtain the cargo task[m] to be transported and set the virtual AGV, and then turn to the step of calling the AGV collaborative path planning algorithm, otherwise call the duration judgment method based on the AGV power to obtain the system update duration Δt to update the current time t s =t s +Δt, and then determine whether the system operation is completed based on the updated current time.
[0057] Specifically, the AGV identification method based on the power threshold includes: setting the charging lower limit value E of the AGV l,complete , get the current time t s The charging AGV set agv_charge_list in the charging area at the location; determine whether there is an AGV in the charging AGV set agv_charge_list, wherein when there is no AGV in the charging AGV set agv_charge_list, end the search; when there is an AGV in the charging AGV set agv_charge_list, continue to determine whether there is an AGV in the charging AGV set agv_charge_list whose battery power has reached the lower limit of charging, wherein when there is an AGV whose battery power has reached the lower limit of charging, place the AGV whose battery power has reached the lower limit of charging in the idle AGV set agv_idle_list, otherwise end the search.
[0058] Idle AGV refers to an AGV that is not assigned a delivery task in the parking area. The present invention takes into account the charging requirements of AGVs. If the remaining power of an AGV in the parking area is lower than the AGV charging threshold value E set by the system, l,thresholdAGV needs to automatically drive to the charging area and charge automatically. When the system has no scheduling requirements for the AGV in the charging area, the AGV needs to be charged to 100%, and after charging is completed, it automatically returns to the parking area to wait for system scheduling; if the system has scheduling requirements for the AGV in the charging area, the AGV needs to be charged to the set charging lower limit value E l,complete Only then can it be scheduled by the system.
[0059] Specifically, the method for determining the duration of the AGV power includes: setting the system update duration Δt, obtaining the current time t s The charging AGV set agv_charge_list in the charging area; sort the AGVs in the charging AGV set agv_charge_list by power value to obtain the AGV with the largest power value; calculate the remaining charge amount of the AGV with the largest power value from the charging lower limit by the following formula: R max =E l,complete -E max ; Use the following power-time conversion formula (5) to convert the remaining charge capacity into the charging time T R :
[0060] T R =R max / E coff (5)
[0061] Among them, T R Indicates the charging time, R max Indicates the remaining charge capacity, E coff Indicates the charging coefficient; determines the charging time T R Is it greater than the system update time Δt, where the charging time T R When it is greater than the system update time Δt, all AGVs in the charging area still need to charge for a long time, and the system update time Δt is obtained; when the waiting charging time T R When it is less than the system update time Δt, there will be an AGV that is about to finish charging for the system to call, and the output waiting charging time T R As the system update duration Δt.
[0062] Get the goods to be assigned, first sort the goods in task_list in ascending order by arrival time, and assign the goods according to the first-come-first-served principle. If multiple goods arrive at the same time, they are randomly assigned to the virtual AGV.
[0063] In step S106, refer to Figure 3 , calling the AGV collaborative path planning algorithm to plan a path for the virtual AGV. Specifically, the AGV collaborative path planning algorithm includes the following steps:
[0064] Define and initialize the path node set path_list, the node set to be processed open_list, the node set to be processed close_list, the global information reservation table set reserve_table, and the central node cnode for expansion, and define the running time between a single AGV node as t p . The initial node (x m,0 ,y m,0 ) into the node set to be processed open_list, and the initial node (x m,0 ,y m,0 ) is put into the processed node set close_list, and the initial node (x) in the pending node set open_list is deleted. m,0 ,y m,0 ), set the central node cnode = (x m,0 ,y m,0 ).
[0065] Determine the current time t s Whether the reservation table reserve_table[t s ]. When the reservation table reserve_table[t s ], recreate the reservation table reserve_table[t s ], add a virtual AGV agv[n]' at the central node cnode, and put the central node cnode into the searched path node set path_list; when there is a reservation table reserve_table[t s ], judge the reservation table reserve_table[t s ] is occupied by an AGV. If the virtual AGV agv[n]' is at the initial position, the virtual AGV agv[n]' is set to wait at the initial position for a waiting time of t. w , update the start time of the virtual AGV agv[n]' to transport goods: t0 = t0 + t w ; Otherwise update the current time: t s =t s +Δt, jump to determine whether there is a reservation table reserve_table[t s ] steps.
[0066] In the reservation table reserve_table[t s], add a virtual AGV agv[n]' to the central node of ], and put the central node into the searched path node set path_list.
[0067] Use the following AGV power consumption formula (6) to calculate the power consumption value En of the virtual AGV agv[n]' and update the cumulative power consumption value E total =E n :
[0068]
[0069] Among them, w m represents the weight of the cargo m, v represents the speed of the virtual AGV agv[n]', t s+1 and t s Indicates the system operation time, and △ indicates the power consumption base.
[0070] Determine whether the central node is a node in the parking area. If it is a node in the parking area, update the state of the virtual AGV agv[n]' to the idle state and output the complete running path of the virtual AGV agv[n]' and the accumulated power consumption value E total ; When it is not a node in the parking area, expand the central node cnode to obtain the neighbor node set neighbors;
[0071] The static obstacle judgment strategy is adopted to judge the node legitimacy of the neighbor node set neighbors[d], including: judging whether the neighbor node neighbors[d] is a node of the cargo cache area, parking area, charging area, shelf, and exit channel in the grid map; when the neighbor node neighbors[d] is a node of the cargo cache area, parking area, charging area, shelf, and exit channel in the grid map, the sequence number d of the neighbor node to be judged is incremented by 1; when the neighbor node neighbors[d] is not a node of the cargo cache area, parking area, charging area, shelf, and exit channel in the grid map, the neighbor node neighbors[d] is stored in the node set to be processed open_l ist; if all nodes in the neighbor node set neighbors have not been searched, the serial number d of the neighbor node to be judged is incremented by 1, and the step of judging whether the neighbor node neighbors[d] is a node of the cargo cache area, parking area, charging area, shelf and exit channel in the grid map is re-executed; and if all nodes in the neighbor node set neighbors have been searched, the node with the smallest cost in the node set open_list to be processed is obtained, and assigned to the central node cnode, and at the same time, the central node cnode is deleted from the node set open_list to be processed, and the central node cnode is added to the node set close_list that has been processed.
[0072] The node with the minimum cost is obtained mainly by using a two-stage distance calculation. The first stage of the distance is calculated using a heuristic function (Formulas (7) and (8)), which is the cost of the node from the starting point plus the estimated cost of the end point from the target unloading point (expressed as Manhattan distance). The second stage of the distance is calculated from the unloading point to the parking area, using the straight distance from the nearest turning point of the unloading point to the exit channel and the parking area:
[0073] f(d)=g(d)+h(d) (7)
[0074] h(d)=abs(x e -x d )+abs(y e -y d ) (8)
[0075] Among them, f(d) represents the evaluation value of the goods from the initial node s to the target node e through node d, g(d) is the actual cost from the initial node s to node e, h(d) is the estimated cost from node s to the target node e, (x e ,y e ) represents the coordinates of the target node in the grid map, (x d ,y d) represents the coordinates of the currently traversed node d in the grid map.
[0076] Adopt the dynamic obstacle judgment strategy to judge the node conflict of the central node cnode: Update the current time t s =t s +t p , determine at the current time t s Does the reservation table reserve_table[t s ], where t p is the running time of agv between single nodes; when there is no reservation table reserve_table[t s ], switch to the re-creation of the reservation table reserve_table[t s ] steps; when there is a reservation table reserve_table[t s ], judge the reservation table reserve_table[t s ] is occupied by an AGV; if there is an AGV occupying the aisle, calculate the remaining capacity h' of the shelf aisle where the central node cnode is located. If the remaining capacity h' is greater than zero, the virtual AGV agv[n]' stops and waits, and the waiting time is the unloading time t of the occupied AGV q , update the current time t s =t s +t q , return to the current time t in the AGV collaborative path planning algorithm s Whether the reservation table reserve_table[t s ]; if the remaining capacity h' is less than zero, perform path replanning and locate the nearest intersection position (x m,p ,y m,p ), set the searched path node set path_list (x m,p+1 ,y m,p+1 ) is a static obstacle, and deletes the searched path node set path_list (x m,p ,y m,p ) to (x m,d ,y m,d ) between the path nodes, and update the central node cnode to the nearest intersection position (x m,p ,y m,p), update the power consumption value of the virtual AGV agv[n]', and calculate the cumulative power consumption value E of the virtual AGV agv[n]' from the initial position to the central node total , and returns to the step of determining whether the central node is a node in the parking area in the AGV collaborative path planning algorithm. Figure 6 ,The three types of conflicts of AGV are opposite conflicts, pursuit conflicts and node conflicts.
[0077] Specifically, the reservation table is a table with the same size and layout as the grid map. During the system operation time interval, multiple reservation tables are established based on the system operation time interval to provide real-time system global status information. The reservation table stores multiple nodes ((x, y), avg[n]), where (x, y) is the node coordinate, and avg[n] is the occupied AGV at the node coordinate (x, y).
[0078] In step S108, the power consumption data of each of the multiple virtual AGVs is obtained, and a multi-AGV scheduling algorithm based on a power demand priority rule is called to match the multiple virtual AGVs with real AGVs.
[0079] Specifically, refer to Figure 2 The multi-AGV scheduling algorithm based on the power demand priority rule includes: obtaining the virtual AGV set agv_virtual_list and the corresponding power consumption value, setting the real AGV set agv_reality_list; performing a cyclic search for the virtual AGV in the virtual AGV set agv_virtual_list, setting the subscript n=0; according to the power consumption value E of the virtual AGV set agv_virtual_list[n] total,n , search for idle and power-greater-than-power-consumption value E in the parking area total,n AGVs found, and put the searched AGVs into the real AGV set agv_reality_list; if the virtual AGV set agv_virtual_list is not searched completely, the number of the virtual AGV is incremented by 1, and the search continues in the parking area for idle AGVs with a power greater than the power consumption value E total,nAGV steps; if the virtual AGV set agv_virtual_list is searched, n is the number of AGVs in the virtual AGV set agv_virtual_list minus 1; the virtual AGV set agv_virtual_list and the real AGV set agv_reality_list are sorted in descending order according to the power and power consumption values, respectively, wherein the subscripts of the virtual AGV set agv_virtual_list and the real AGV set agv_reality_list are n=0 and k=0 respectively; the virtual AGV set agv_virtual_list[n] is matched with the real AGV set agv_reality_list[k]; if the virtual AGV set agv_virtual_list is not searched, the number of the virtual AGV is incremented by 1 and the number of the real AGV is incremented by 1, and the matching step is continued; if the virtual AGV set agv_virtual_list is searched, n is the number of AGVs in the virtual AGV set agv_virtual_list minus 1; the virtual AGV at the corresponding position in the reservation table is updated with the matched real AGV.
[0080] Finally, judging whether the system operation is finished according to the updated current time includes: judging the current time t s Is it greater than or equal to the end time t e , where if the current time t s Greater than or equal to the end time t e , generate the running path set of all AGVs within the system running time; otherwise, update the current time t s And update the power value of the AGV being charged in the charging area and return to obtain the current time t s The steps of collecting the goods to be transported at the location and collecting the idle AGVs in the parking area.
[0081] Another specific embodiment of the present invention discloses a multi-AGV scheduling and collaborative path planning device considering power constraints. Fig.13The multi-AGV scheduling and collaborative path planning device considering power constraints includes: a task acquisition module 1402, used to obtain a set of goods to be transported and a set of idle AGVs in the parking area at the current time ts; a power update module 1404, used to update the power of AGVs in the parking area and the charging area; a virtual AGV matching module 1406, used to set multiple virtual AGVs based on the number of goods in the set of goods to be transported, so that the multiple virtual AGVs match the goods in the set of goods to be transported; an AGV collaborative path planning module 1408, used to call the AGV collaborative path planning algorithm to plan a path for the virtual AGV; and an AGV scheduling module 1410, used to obtain the power consumption data of each of the multiple virtual AGVs, and call the multi-AGV scheduling algorithm based on the power demand priority rule to match the multiple virtual AGVs with the real AGVs.
[0082] In the following, reference Figures 2 to 12 , a multi-AGV scheduling and collaborative path planning method considering power constraints according to an embodiment of the present invention is described in detail by way of a specific example.
[0083] The present invention also proposes a multi-AGV scheduling and path planning collaborative system considering power constraints. The system includes: a memory, a processor, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, the steps of a multi-AGV scheduling and planning collaborative method considering power constraints are implemented.
[0084] refer to Figure 2 The specific implementation of this method includes the following steps:
[0085] (1) System initialization settings:
[0086] Step 1: Automatically generate a raster map, such as Figure 5 As shown. The grid map is divided into the following areas, including cargo cache area, parking area, charging area, driving channel, exit channel, and shelf. In this embodiment, the length and width of the grid map are set to (20, 20) respectively, the number of row shelves is 3, and the number of cargo cache areas is 3:
[0087] 1. Cargo Cache Area: Multiple areas where cargo can be temporarily cached after it arrives. It has a certain cargo cache capacity. After the AGV picks up the cargo in this area, it will be sent to the designated shelf location.
[0088] 2. Parking area: After the AGV has delivered the goods, it needs to return to the docking area. At the same time, if the AGV power is lower than the charging threshold E l,threshold When the AGV automatically drives to the charging area for charging. l,threshold =20%;
[0089] 3. Charging area: In this area, AGVs are automatically charged. When there is no dispatch demand, the AGV needs to be charged to 100% before it can stop charging and automatically drive to the parking area to wait for task arrangements; when there is a dispatch demand, a charging critical value E is set for the AGV power l,complete AGV can only be charged if it exceeds E l,complete Only when E l,complete =80%;
[0090] 4. Shelves: Double-row, multi-layer stacking racks for storing goods. When the AGV delivers the goods to a designated location, the lifting system on the shelves delivers the goods to the designated layer. In this embodiment, the shelves are set as 3-layer stacking racks with 2 rows and 3 columns.
[0091] 5. Driving channel: The channel for AGV to travel. The channel between shelves is a single channel.
[0092] 6. Exit channel: The only channel for the AGV to exit the driving channel and return to the parking area after delivering the goods.
[0093] Step 2: Set the system operation parameters. Set the system operation start time t s and end time t e , the number of AGVs and the number of goods, the unloading time of AGV is 6. t s As the outer loop of the algorithm, △t is used as the time update interval, and △t = 4 is set. An empty reservation table set reserve_table is set.
[0094] (2) System operation:
[0095] Step 3: Get t s The set of goods task_list whose goods status is "unprocessed" in all goods buffers at the moment. If the number of goods in task_list is empty, it means t s If there is no backlog of goods or new goods to be delivered at this time, set the system update time to △t and jump to step 17; otherwise, it means t s If there are goods to be delivered at any time, jump to step 4 to determine whether there is an AGV that can be called.
[0096] Step 4: Get the AGV set agv_idle_list in the parking area whose status is "empty" and whose initial position is in the parking area. If the number of AGVs in agv_idle_list is not empty, it means that there are available AGVs for cargo dispatching, then set up virtual AGVs for all cargoes in task_list and perform path planning, and jump to step 6; otherwise, if the number of AGVs in agv_idle_list is empty, it means that there are no available AGVs in the parking area at the current moment, and an alternative solution needs to be searched, that is, search for available AGVs in the charging area, and jump to step 5.
[0097] Step 5: Search for t in the charging area s Is there an AGV charging at this moment? If not, it means that the system needs to execute the waiting strategy and update the system time, t s =t s +△t, and jump to step 3; if there is a charging AGV, considering that the charging lower limit value E is defined in the present invention l,complete , so E l,complete Search AGV for the search condition. l,complete If the AGV has a battery level higher than E, it stops charging and automatically enters the parking area to wait for scheduling. It is directly placed in the agv_idle_list and jumps to step 6. l,complete AGV, it means that all AGVs need to continue charging. At this time, get the AGV with the highest power and calculate the power distance E l,complete Charging time T R , judge T R and △t, if T R ≥△t, indicating that all AGVs in the charging area still need a long time to charge, and the system update duration should be used as the basis for system update, that is, output △t. Otherwise, if T R <△t, indicating that there will be an AGV that is about to be charged for the system to call, and the system can be updated after the charging is completed, so △t is updated, that is, △t=T R , output △t, and jump to step seventeen.
[0098] Step 6: Reference Figure 3 , set up a virtual AGV, namely agv[n]', define the path_list for storing the searched path node information set, the open_list for the node to be processed, the close_list for the node to be processed, the reserve_table for the global information reservation table, and the cnode for the expansion center node, and initialize path_list, open_list, close_list, reserve_table and cnode. m,0 ,y m,0) into open_list, and (x m,0 ,y m,0 ) is put into close_list, indicating that (x m,0 ,y m,0 ) has been planned, and (x in open_list is deleted m,0 ,y m,0 ), and set cnode = (x m,0 ,y m,0 ), proceed to step seven.
[0099] Step 7: Search for t in reserve_table s The reservation table for the time s ], if there is no reserve_table[t s ], then it means t s At this moment, there is no AGV in the system to transport goods, so a new reserve_table[t s ], and add agv[n] at cnode, at t s At the moment position cnode is occupied, continue to plan the next node for agv[n] to pass through, that is, jump to step 8; if there is reserve_table[t s ], it means that at t s If there are other AGVs transporting goods in the system at this moment, we continue to determine whether there is an AGV occupying the cnode. If there is no AGV occupying the cnode, it means that agv[n] can pass at the position cnode. Then, in reserve_table[t s ], and update the accumulated power consumption E of agv[n]' total = En, continue to plan the next node for agv[n] to pass through, that is, jump to step 8; if reserve_table[t s ] is occupied by other AGVs at cnode, then a parking waiting strategy is adopted for agv[n], and task[m] waits for delivery on the cargo dispatch platform for a waiting time of t w , and update the delivery time, t s =t s +t w , continue to follow the process of the current step.
[0100] Step 8: For each AGV, each complete path consists of two segments. In the first segment, the AGV is loaded and delivers goods from the cargo dispatching platform to the designated shelf location. In the second segment, the AGV completes the unloading of goods and moves from the cargo target location to the parking area in an empty state. Therefore, it is necessary to determine whether agv[n] has arrived at the parking area in an empty state. If it has arrived at the parking area, it means that the cargo delivery task is completed, and agv[n] is released, that is, its state is updated to idle and its position is the parking area, waiting for the next scheduling task. If agv[n] has not arrived at the parking area, it means that it is necessary to continue planning the next walking node of agv[n], jump to step 8, and plan the forward node of agv[n].
[0101] Step 9: The AGV walking direction defined in the present invention is four directions: up, down, left, and right. Figure 4 As shown, therefore, cnode is expanded to obtain the neighbor node set in four directions of cnode as neighbors = [(x m,u ,y m,u ),(x m,l ,y m,l ),(x m,h ,y m,h ),(x m,r ,y m,r )], set d=0, and jump to step ten.
[0102] Step 10: Perform static obstacle judgment on the extended neighbor nodes. Determine whether neighbors[d] is a cargo cache, parking area, shelf, or exit channel node. If it is one of the above coordinates, abandon the node, set d++, and continue to execute this step; if neighbors[d] is not any of the above coordinates, store neighbors[d] in open_list. If all nodes in neighbors have been searched, obtain the node with the lowest cost in open_list and assign it to cnode. At the same time, delete cnode from open_list, add cnode to close_list, and update agv[n] to run to the arrival time t of cnode. s , that is, t s =t s +t p , and perform dynamic obstacle judgment on agv[n] at cnode, jump to step 11 to ensure that there is no conflict in the driving path.
[0103] Step 11: Continue to use the reservation table to determine the system's global AGV status and location information. s Does the reservation table reserve_table exist at this time? s], if it does not exist, it means agv[n] is passable at cnode, then jump to step 8; if reserve_table[t s ] exists, then judge in reserve_table[t s ] is there any other AGV occupying the cnode? If not, it means agv[n] can move forward. s ], and continue to expand neighbor nodes with cnode as the center point, that is, jump to step 8; if in reserve_table[t s ] If there are other AGVs occupying the cnode of ], the remaining capacity of the current channel is calculated to determine whether to adopt a waiting strategy or a path replanning strategy, that is, jump to step twelve.
[0104] Step 12: Calculate the remaining capacity h' of the channel of cnode. If h'>0, it means that the current channel is passable and will not cause congestion. Then the parking and waiting strategy is adopted. The waiting time is the remaining unloading time t of the AGV that has occupied the node. q , and update the start delivery time of agv[n], t s =t s +t q , and jump to step 7; if h'≤0, it means that the current channel is already in a congested state, and agv[n] cannot select neighbors[d] as the next running node, then the AGV needs to be replanned, that is, jump to step 13;
[0105] The channel remaining capacity calculation formula (9) is as follows:
[0106] R(s ij )=HI(s ij ) (9)
[0107] Among them, H represents the upper limit of the AGV capacity between shelves set by the system, and R(s ij ) represents the remaining AGV capacity between adjacent shelves i and j, I(s ij ) represents the number of AGVs between adjacent shelves i and j.
[0108] Step 13: Locate the nearest intersection point (x m,p ,y m,p ), set (x in path_list m,p+1 ,y m,p+1 ) is a static obstacle, and delete (x m,p ,y m,p ) to (xm,d ,y m,d ) path node, update node, cnode = (x m,p ,y m,p ), update the cumulative power consumption E of agv[n]' total =En, and continue to step 9. Fig. 9 As shown in the figure, each circle point represents an AGV (e.g., 1, 2, and 3) and represents different AGVs (e.g., agv[1], agv[2], and agv[3]). The numbers marked on the shelves correspond to them and indicate the destination of the AGV's cargo delivery. At t=8, when planning the path for the AGV represented by circle 1, a pursuit conflict will occur at circle 2 in the same channel. If the Figure 7 The waiting strategy in Figure 8 The exit-replanning strategy will cause time consumption of the AGV represented by circle 1. Therefore, the present invention proposes a strategy of directly exiting to the intersection for fast path replanning, which can reduce the time consumption caused by AGV exploration and retreat.
[0109] Step 14: Update t s The task_list at the moment, i.e., task_list=task_list-task[m], and the agv_idle_list are updated, i.e., agv_idle_list=agv_idle_list-agv[n]. It is determined whether all the goods in the task_list have been planned. If so, jump to step 15. Otherwise, m++ and continue to step 4.
[0110] Step 15: Get the virtual AGV set agv_virtual_list and the power consumption value corresponding to each virtual AGV, set the real AGV set to agv_reality_list, and initialize agv_reality_list=[]. Search for the virtual AGV in agv_virtual_list, and set the subscript n=0.
[0111] Step 16: According to the power consumption value E of agv_virtual_list[n] total,n , search for an idle vehicle in the parking area with a charge level of E>E total,nAGVs found and put them into agv_reality_list. If the search of agv_virtual_list is completed, agv_virtual_list and agv_reality_list are sorted in descending order according to power and power consumption values, and the AGVs in agv_reality_list are matched to the corresponding AGVs in agv_virtual_list, and the virtual AGVs at the corresponding positions in the reservation table are updated; otherwise, set n++ and continue to execute this step. Fig.10 As shown in Figure 1, the scheduling stage needs to match the virtual AGV with the real AGV, where there are 5 virtual AGVs with different power levels and 10 real AGVs with different power levels. Fig.11 The random method used in the paper is to match the virtual AGV with the real AGV. As can be seen in the figure, when the virtual AGV is randomly matched with the real AGV, there will be a situation where the power of the real AGV cannot meet the transportation task, which will cause search redundancy and increase the difficulty of search. Fig.12 The real AGV is matched based on the power demand priority rule. It can be seen that AGV scheduling can be achieved quickly and effectively through the three steps of power screening-sorting-matching.
[0112] Step 17: Determine whether the system running time has reached the end time set by the system, that is, t s ≥t e If true, the system ends and outputs the set of running paths of all AGVs; otherwise, update the time, t s =t s +△t, at the same time, update the power value of the AGV being charged in the charging area and continue to step three.
[0113] Those skilled in the art will appreciate that all or part of the processes of the above-mentioned embodiments can be implemented by instructing related hardware through a computer program, and the program can be stored in a computer-readable storage medium, wherein the computer-readable storage medium is a disk, an optical disk, a read-only storage memory, or a random access memory, etc.
[0114] The above description is only a preferred specific implementation manner of the present invention, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by any technician familiar with the technical field within the technical scope disclosed by the present invention should be covered within the protection scope of the present invention.
Claims
1. A multi-AGV scheduling and collaborative path planning method considering power constraints, characterized in that: include: Model the warehouse environment to automatically generate a grid map of a multi-AGV system for the warehouse environment through the following model: <h2 style=";text-align:left;direction:ltr">2x<h2 style=";text-align:left;direction:ltr"> i <h2 style=";text-align:left;direction:ltr"> +y<h2 style=";text-align:left;direction:ltr"> p <h2 style=";text-align:left;direction:ltr"> =W, Rx j +y q =H, Among them, y p >x i , 0<i<W-2, p∈[0,W-1], y q >x j , 0<j<HR, q∈[0,H-1], H represents the length of the grid map; W represents the width of the grid map; R represents the number of horizontal single-row shelves; x i represents the i-th vertical shelf; x j represents the j-th row of shelves; y p Indicates p A vertical aisle; q Indicates q A horizontal aisle; Get the current time t s The set of goods to be transported and the set of idle AGVs in the parking area are updated, and the power of the AGVs in the parking area and the charging area are updated; Setting a plurality of virtual AGVs based on the quantity of goods in the set of goods to be transported, so that the plurality of virtual AGVs match the goods in the set of goods to be transported; Calling the AGV collaborative path planning algorithm to plan paths for the multiple virtual AGVs, wherein the AGV collaborative path planning algorithm includes: defining and initializing a path node set path_list for storing the virtual AGV agv[n]'s searched path, a node set open_list for processing, a node set close_list for processing, a global information reservation table set reserve_table, and a central node cnode for expansion, and defining the running time between a single AGV node as t p ; The initial node (x m,0 ,y m,0 ) into the node set to be processed open_list, and the initial node (x m,0 ,y m,0 ) is put into the processed node set close_list, and the initial node (x) in the pending node set open_list is deleted. m,0 ,y m,0 ), set the central node cnode = (x m,0 ,y m,0 );Determine the current time t s Whether there is a reservation table reserve_table[t s ]; When the reservation table reserve_table[t s ], recreate the reservation table reserve_table[t s ], add the virtual AGV agv[n]' at the central node cnode, put the central node cnode into the searched path node set path_list; when the reservation table reserve_table[t s ], determine the reservation table reserve_table[t s ] is occupied by an AGV. If the virtual AGV agv[n]' is located at the initial position, the virtual AGV agv[n]' is made to wait at the initial position for a waiting time of t w , update the start time of the virtual AGV agv[n]' to transport goods: t0 = t0 + t w ; Otherwise update the current time: t s =t s +Δt, jump to determine whether there is a reservation table reserve_table[t s ] step; in the reservation table reserve_table[t s ], add the virtual AGV agv[n]' to the central node of the path, and put the central node into the searched path node set path_list; use the following AGV power consumption formula to calculate the power consumption value E of the virtual AGV agv[n]' n And update the accumulated power consumption value E total =E n : Among them, w m represents the weight of the cargo m, v represents the driving speed of the virtual AGV agv[n]', t s+1 and t s represents the adjacent time of system operation, △ represents the power consumption base; judge whether the central node is a node in the parking area; if it is a node in the parking area, update the state of the virtual AGV agv[n]' to the idle state and output the complete operation path of the virtual AGV agv[n]' and the cumulative power consumption value E total ; When it is not a node in the parking area, the central node cnode is expanded to obtain a neighbor node set neighbors; a static obstacle judgment strategy is adopted to perform node legitimacy judgment on the neighbor node set neighbors[d]; and a dynamic obstacle judgment strategy is adopted to perform node conflict judgment on the central node cnode, wherein the reservation table is a table with the same size and layout as the grid map, and within the system operation time interval, multiple reservation tables are established based on the system operation time interval to provide real-time system global status information, and the reservation table stores multiple nodes ((x, y), agv[n]), wherein (x, y) is the node coordinate, and agv[n] is the occupied AGV at the node coordinate (x, y); and Obtaining power consumption data of each virtual AGV in the plurality of virtual AGVs, calling a multi-AGV scheduling algorithm based on a power demand priority rule to match the plurality of virtual AGVs with real AGVs, The multi-AGV scheduling algorithm based on the power demand priority rule includes: obtaining the virtual AGV set agv_virtual_list and the corresponding power consumption value, setting the real AGV set agv_reality_list; performing a cyclic search for the virtual AGV in the virtual AGV set agv_virtual_list, setting the subscript n=0; and calculating the power consumption value E of the virtual AGV set agv_virtual_list[n] according to the power consumption value E of the virtual AGV set agv_virtual_list[n]. total,n , search for an idle area in the parking area and the power consumption is greater than the power consumption value E total,n AGVs, and put the searched AGVs into the real AGV set agv_reality_list; if the virtual AGV set agv_virtual_list has not been searched, the number of the virtual AGV is incremented by 1, and the search for idle AGVs with a power greater than the power consumption value E in the parking area continues. total,n AGV of the step; if the search of the virtual AGV set agv_virtual_list is completed, n is the number of AGVs in the virtual AGV set agv_virtual_list minus 1; the virtual AGV set agv_virtual_list and the real AGV set agv_reality_list are sorted in descending order according to the power and power consumption values, respectively, wherein the subscripts of the virtual AGV set agv_virtual_list and the real AGV set agv_reality_list are n=0 and k=0 respectively; the virtual AGV set agv_virtual_list and the real AGV set agv_reality_list are The V set agv_virtual_list[n] matches the real AGV set agv_reality_list[k]; if the virtual AGV set agv_virtual_list has not been searched completely, the number of the virtual AGV is incremented by 1 and the number of the real AGV is incremented by 1, and the matching step continues; if the virtual AGV set agv_virtual_list has been searched completely, n is the number of AGVs in the virtual AGV set agv_virtual_list minus 1; the virtual AGV at the corresponding position in the reservation table is updated with the matched real AGV.
2. The multi-AGV scheduling and collaborative path planning method considering power constraints according to claim 1 is characterized in that: The storage environment includes a cargo buffer area, a parking area, a shelf, a passage and a charging area, wherein the cargo buffer area in the grid map is an area for caching the arrived cargo, and the AGV delivers the cargo to the designated shelf position after taking the cargo from the cargo buffer area; the parking area in the grid map is a centralized parking area for AGVs, and the AGVs parked in the parking area receive the scheduling tasks of the system and travel from the parking area to the cargo buffer area; the shelves in the grid map are double-row and multi-layer stacking racks for storing cargo, and when the AGV arrives at the designated shelf position, the lifting system on the shelf delivers the cargo to the designated layer of the shelf; the passage in the grid map includes an operating passage and an exit passage, wherein the operating passage allows the AGV to travel in four directions: up, down, left and right, and the exit passage is arranged on the side of the grid map for the AGV to exit after delivering the cargo; and the charging area in the grid map is an area with a certain AGV cache capacity and for the AGV to automatically charge.
3. The multi-AGV scheduling and collaborative path planning method considering power constraints according to claim 1 is characterized in that: The method of setting a plurality of virtual AGVs based on the quantity of goods in the set of goods to be transported so that the plurality of virtual AGVs match the goods in the set of goods to be transported comprises: Determine at the current time t s Check whether there are goods in the set of goods to be transported and whether there are idle AGVs in the set of idle AGVs, and update the power of AGVs in the parking area and charging area at the same time, where: When there are goods and an idle AGV, directly obtain the goods task[m] to be transported and set up a virtual AGV; When there is no cargo but there is an idle AGV, update the current time t s =t s +Δt, and then determine whether the system operation is finished according to the updated current time; When there are goods but no idle AGVs, the AGV discrimination method based on the power threshold is called to obtain AGVs with sufficient power from the charging area and add them to the idle AGV set, and then determine whether there are idle AGVs in the idle AGV set. When there are idle AGVs, the task [m] of the goods to be transported is obtained and a virtual AGV is set, and then the step of calling the AGV collaborative path planning algorithm is turned to. Otherwise, the duration discrimination method based on the AGV power is called to obtain the system update duration Δt to update the current time t s =t s +Δt, and then determine whether the system operation is completed based on the updated current time.
4. The multi-AGV scheduling and collaborative path planning method considering power constraints according to claim 3 is characterized in that: Judging whether the system operation is finished according to the updated current time includes: judging the current time t s Is it greater than or equal to the end time t e ,in, If the current time t s Greater than or equal to the end time t e , generate the set of running paths of all AGVs within the system running time; Otherwise update the current time t s , and update the power value of the AGV being charged in the charging area and return to obtain the power value at the current time t s The steps of collecting the goods to be transported at the location and collecting the idle AGVs in the parking area.
5. The multi-AGV scheduling and collaborative path planning method considering power constraints according to claim 4 is characterized in that: The AGV identification method based on the power threshold includes: Set the lower charging limit E of the AGV l,complete , get the current time t s The charging AGV collection agv_charge_list in the charging area; Determine whether there is an AGV in the charging AGV set agv_charge_list, where: When there is no AGV in the charging AGV set agv_charge_list, the search ends; When there is an AGV in the charging AGV set agv_charge_list, continue to determine whether there is an AGV whose battery power has reached the charging lower limit in the charging AGV set agv_charge_list, wherein when there is an AGV whose battery power has reached the charging lower limit, place the AGV whose battery power has reached the charging lower limit in the idle AGV set agv_idle_list, otherwise terminate the search.
6. The multi-AGV scheduling and collaborative path planning method considering power constraints according to claim 5 is characterized in that: The time determination method based on the AGV power includes: Set the system update duration Δt and get the current time t s The charging AGV collection in the charging area agv_charge_list; Sort the AGVs in the charging AGV set agv_charge_list by power value, and obtain the AGV with the largest power value; The remaining charge amount of the AGV with the largest charge value from the lower charge limit is calculated by the following formula: R max =E l,complete -E max ; The remaining charge amount is converted into the charging time T using the following power-time conversion formula: R : T R =R max / E coff Among them, T R Indicates the charging time, R max Indicates the remaining charge capacity, E coff Indicates the charging factor; Determine the charging time T R Is it greater than the system update time Δt, where: When the charging time is T R When it is greater than the system update time Δt, all AGVs in the charging area still need to charge for a long time, and the system update time Δt is obtained; When the charging time is T R When it is less than the system update time Δt, there will be an AGV that is about to finish charging for the system to call, and the waiting charging time T R As the system update time length Δt.
7. The multi-AGV scheduling and collaborative path planning method considering power constraints according to claim 3 is characterized in that: Adopting a static obstacle judgment strategy to judge the node legitimacy of the neighbor node set neighbors[d] includes: Determine whether the neighbor node neighbors[d] is a node of a cargo cache area, a parking area, a charging area, a shelf, and an exit channel in the grid map, When the neighbor node neighbors[d] is a node of a cargo cache area, a parking area, a charging area, a shelf, and an exit channel in the grid map, the sequence number d of the neighbor node to be judged is incremented by 1; When the neighbor node neighbors[d] is not a node of the cargo cache area, parking area, charging area, shelf, and exit channel in the grid map, the neighbor node neighbors[d] is stored in the node set to be processed open_list; If all nodes in the neighbor node set neighbors have not been searched, the sequence number d of the neighbor node to be determined is incremented by 1, and the step of determining whether the neighbor node neighbors[d] is a node of the cargo buffer area, parking area, charging area, shelf, and exit channel in the grid map is re-executed; and If all nodes in the neighbor node set neighbors have been searched, the node with the smallest cost in the node set open_list to be processed is obtained and assigned to the central node cnode, and the central node cnode is deleted from the node set open_list to be processed, and the central node cnode is added to the node set close_list to be processed; Adopting a dynamic obstacle judgment strategy to perform node conflict judgment on the central node cnode includes: Update current time t s =t s +t p , determine at the current time t s Does the reservation table reserve_table[t s ], where t p is the running time of agv between single nodes; When the reservation table reserve_table[t s ], transfer to the re-creation of the reservation table reserve_table[t s ] steps; When the reservation table reserve_table[t s ], determine the reservation table reserve_table[t s ] whether there is agv occupancy at the central node cnode; When there is an AGV occupied, the remaining capacity h' of the shelf channel where the central node cnode is located is calculated. If the remaining capacity h' is greater than zero, the virtual AGV agv[n]' stops and waits for a waiting time equal to the unloading time t of the occupied AGV. q , update the current time t s =t s +t q , return to the AGV collaborative path planning algorithm to determine the current time t s Whether there is a reservation table reserve_table[t s ] steps; If the remaining capacity h' is less than zero, the path is replanned, and the nearest intersection position (x m,p ,y m,p ), set the searched path node set path_list (x m,p+1 ,y m,p+1 ) is a static obstacle, and deletes the searched path node set path_list (x m,p ,y m,p ) to (x m,d ,y m,d ) between the path nodes, and update the central node cnode to the nearest intersection position (x m,p ,y m,p ), update the power consumption value of the virtual AGV agv[n]', calculate the cumulative power consumption value E of the virtual AGV agv[n]' from the initial position to the central node total , and returns to the step of determining whether the central node is a node in the parking area in the AGV collaborative path planning algorithm.
8. A multi-AGV scheduling and collaborative path planning device considering power constraints, used to implement the multi-AGV scheduling and collaborative path planning method considering power constraints as described in any one of claims 1 to 7, characterized in that: include: The task acquisition module is used to obtain the task at the current time t s The collection of goods to be transported and the collection of idle AGVs in the parking area; A power updating module, used to update the power of the AGVs in the parking area and the charging area; A virtual AGV matching module, used for setting a plurality of virtual AGVs based on the quantity of goods in the set of goods to be transported, so that the plurality of virtual AGVs match the goods in the set of goods to be transported; An AGV collaborative path planning module, configured to call an AGV collaborative path planning algorithm to plan a path for the virtual AGV; and The AGV scheduling module is used to obtain the power consumption data of each of the multiple virtual AGVs, and call a multi-AGV scheduling algorithm based on a power demand priority rule to match the multiple virtual AGVs with real AGVs.
Citation Information
Patent Citations
Warehouse management system with multi-guide-vehicle dispatching and distribution function
CN104809606A
Dispatching and route-planning method for multiple AGVs used for material transportation in factory
CN107727099A