Multi-agv scheduling method, device and equipment and computer readable storage medium
By determining the system state of the scheduling system based on the different states of multi-AGV collaborative work and adopting corresponding solution methods, the problem of insufficient flexibility in existing multi-AGV scheduling methods is solved, adaptive resource allocation and scheduling are realized, and the efficiency and controllability of multi-AGV collaborative work are improved.
Patent Information
- Application Number
- CN202211412582.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-11
- Publication Date
- 2026-02-27
- Estimated Expiration
- 2042-11-11
AI Technical Summary
Existing multi-AGV scheduling methods cannot adjust scheduling variables in real time according to the dynamic status of collaborative work, resulting in low efficiency of multi-AGV collaborative work and an inability to effectively cope with complex application scenarios.
By determining the system state of the scheduling system based on the different states of multi-AGV collaborative work, and by using different solution methods or combinations thereof, the state variables are determined, thereby achieving adaptive resource allocation and scheduling.
It improves the flexibility and automation of the scheduling system for multi-AGV collaborative work, making it suitable for complex application scenarios, reducing the probability of deadlock loops, and improving the efficiency and controllability of the scheduling system.
Smart Images

Figure CN116109022B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of intelligent industrial robots, and particularly relates to a multi-AGV scheduling method and device, equipment and a computer readable storage medium. BACKGROUND
[0002] With the rapid popularization of AGV (Automated Guided Vehicle), multi-AGV collaborative work is widely applied to scheduling businesses such as intelligent warehouse logistics, and a system that realizes multi-AGV collaborative work can be regarded as a system that efficiently realizes the scheduling business goal of no collision by using a resource allocation mechanism according to the state of the multi-AGV. From the perspective of resource allocation, the scheduling system needs to ensure the exclusivity of each resource to ensure that there is no collision between the multi-AGV, and to reasonably avoid resource conflicts and deadlock loops as much as possible, and to efficiently resolve the deadlock loop when it occurs. Reasonable allocation of resources is the key to realizing multi-AGV collaborative work and efficiently completing the scheduling business.
[0003] In the scheduling method of the existing multi-AGV scheduling system for processing multi-AGV conflicts and avoiding deadlock loops, the time window-based shortest path planning method, the collision-free path planning method, and the deadlock loop detection method based on graph theory are mostly used to realize the collision-free and deadlock loop-free collaborative work of the multi-AGV. However, the above existing methods have high complexity or cannot fully utilize resources, or both shortcomings, and cannot realize the collaborative work of the multi-AGV from the global goal, which reduces the controllability and efficiency of the scheduling system. Moreover, due to human and non-human factors, the dynamic uncertainty of multi-AGV collaborative work makes it almost impossible to avoid multi-AGV deadlock loops, and the above methods cannot be efficiently applied to handle multi-AGV deadlock loops. In addition, some local deadlock resolution methods according to pre-set rules and simple logic cannot consider multi-AGV collaboration and cannot cope with complex application scenarios.
[0004] Therefore, the existing multi-AGV scheduling method cannot adjust the scheduling variables in real time according to the dynamic state of the collaborative work of the multi-AGV to realize efficient scheduling business.
[0005] The above content is only used to assist in understanding the technical solutions of the present application and does not represent the acknowledgement of the above content as prior art. SUMMARY
[0006] The main purpose of the present application is to provide a multi-AGV scheduling method, device, equipment and computer readable storage medium, which aims to solve the technical problem of the inflexibility of the existing multi-AGV scheduling method.
[0007] To achieve the above purpose, the present application provides a multi-AGV scheduling method, which comprises the following steps:
[0008] determining a system state of the scheduling system according to different working states of the multiple automated guided vehicles working cooperatively;
[0009] determining a state variable according to the system state, the state variable being a combination parameter of the automated guided vehicles on a planned path node, the combination parameter including a set of center positions and speeds;
[0010] issuing path resources corresponding to the state variable to the automated guided vehicles, so as to complete scheduling.
[0011] Optionally, the step of determining the system state of the scheduling system according to different working states of the multiple automated guided vehicles working cooperatively includes:
[0012] if there are more than two automated guided vehicles assigned with new tasks and waiting for resource allocation, and the speeds of all the automated guided vehicles are zero, determining that the system state is global initialization;
[0013] if there is only one automated guided vehicle assigned with a new task and waiting for resource allocation, detecting whether there is resource conflict to determine the system state;
[0014] if there is no automated guided vehicle assigned with a new task and waiting for resource allocation, detecting whether there is resource conflict to determine the system state.
[0015] Optionally, the step of detecting whether there is resource conflict to determine the system state if there is only one automated guided vehicle assigned with a new task and waiting for resource allocation includes:
[0016] if there is, controlling all the automated guided vehicles to stop and determining that the system state is global initialization;
[0017] if there is not, determining that the system state is a new task.
[0018] Optionally, the step of detecting whether there is resource conflict to determine the system state if there is no automated guided vehicle assigned with a new task and waiting for resource allocation includes:
[0019] if there is resource conflict, detecting whether there is a deadlock ring to determine the system state;
[0020] if there is not resource conflict, detecting whether there is an estimated resource conflict to determine the system state.
[0021] Optionally, the step of detecting whether there is a deadlock ring to determine the system state if there is resource conflict includes:
[0022] if there is a deadlock ring, determining that the system state is a deadlock ring state;
[0023] if there is no deadlock ring, determining that the system state is a resource conflict.
[0024] Optionally, after the step of determining the system state according to whether there is a resource conflict, the method further comprises:
[0025] if there is an estimated resource conflict, calculating whether there is an estimated deadlock ring;
[0026] if there is, determining that the system state is an estimated deadlock ring;
[0027] if there is no estimated deadlock ring, determining that the system state is an estimated resource conflict.
[0028] Optionally, the step of determining a state variable according to the system state comprises:
[0029] if the system state is global initialization, globally planning a state variable of an authorized automated guided vehicle, the authorized automated guided vehicle being all activated automated guided vehicles in the dispatching system;
[0030] if the system state is a new task, globally planning a state variable of the automated guided vehicle assigned with a new task and waiting for being assigned with a resource;
[0031] if the system state is a deadlock ring, resolving the deadlock ring;
[0032] if the system state is a resource conflict, globally planning a state variable of the authorized automated guided vehicle;
[0033] if the system state is an estimated resource conflict, globally planning a state variable of the authorized automated guided vehicle;
[0034] if the system state is an estimated deadlock ring, obtaining a resource occupation relationship corresponding to the estimated deadlock ring state, and locally resolving the deadlock ring.
[0035] In addition, to achieve the above object, the application further provides a multi-AGV dispatching device, which comprises:
[0036] a determining module, configured to determine a system state of a dispatching system according to different working states of multiple automated guided vehicles working cooperatively;
[0037] the determining module is further configured to determine a state variable according to the system state, the state variable being a combination parameter of an automated guided vehicle on a planned path node, the combination parameter comprising a set of center positions and speeds.
[0038] a scheduling module configured to issue path resources corresponding to the state variable to the AGVs, thereby completing scheduling.
[0039] In addition, to achieve the above object, the present application also provides a multi-AGV scheduling device, which comprises a memory, a processor, and a multi-AGV scheduling program stored in the memory and executable on the processor, wherein the multi-AGV scheduling program is configured to implement the steps of the multi-AGV scheduling method as described above.
[0040] In addition, to achieve the above object, the present application also provides a computer readable storage medium, which stores a multi-AGV scheduling program, wherein the multi-AGV scheduling program, when executed by a processor, implements the steps of the multi-AGV scheduling method as described above.
[0041] In the present application, compared with the existing multi-AGV scheduling system which has too high complexity and / or cannot fully utilize resources and cannot realize the collaborative work of multi-AGV from the global target, reduces the controllability and efficiency of the scheduling system, the present application determines different system states of the scheduling system according to different states of the collaborative work of multi-AGV, thereby adopts different solving methods or their combinations to determine the state variable under different system states, and then issues the corresponding resources, thereby realizing the adaptability and high automation of the multi-AGV collaborative work scheduling method and being flexibly applicable to complex application scenarios. BRIEF DESCRIPTION OF DRAWINGS
[0042] Figure 1 FIG. 1 is a structural schematic diagram of a multi-AGV scheduling device of a hardware running environment involved in the embodiment scheme of the present application;
[0043] Figure 2 FIG. 2 is a flowchart of a first embodiment of the multi-AGV scheduling method of the present application;
[0044] Figure 3 FIG. 3 is a scheduling resource conflict detection model schematic diagram of the first embodiment of the multi-AGV scheduling method of the present application;
[0045] Figure 4 FIG. 4 is a scheduling planning solving method flowchart of the first embodiment of the multi-AGV scheduling method of the present application;
[0046] Figure 5 FIG. 5 is a scheduling planning solving program flowchart of a second embodiment of the multi-AGV scheduling method of the present application;
[0047] Figure 6 FIG. 6 is a deadlock solving flowchart of a third embodiment of the multi-AGV scheduling method of the present application;
[0048] Figure 7This is a schematic diagram of the functional modules of the first embodiment of the multi-AGV scheduling device of this application.
[0049] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0050] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.
[0051] Reference Figure 1 , Figure 1 This is a schematic diagram of the structure of a multi-AGV scheduling device in the hardware operating environment involved in the embodiments of this application.
[0052] like Figure 1 As shown, the multi-AGV scheduling device may include: a processor 1001, such as a central processing unit (CPU), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. The communication bus 1002 is used to enable communication between these components. The user interface 1003 may include a display screen or an input unit such as a keyboard; optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 1005 may be a high-speed random access memory (RAM) or a stable non-volatile memory (NVM), such as a disk drive. The memory 1005 may also optionally be a storage device independent of the aforementioned processor 1001.
[0053] Those skilled in the art will understand that Figure 1 The structure shown does not constitute a limitation on multi-AGV scheduling equipment and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0054] like Figure 1 As shown, the memory 1005, which serves as a storage medium, may include an operating system, a data storage module, a network communication module, a user interface module, and a multi-AGV scheduler.
[0055] exist Figure 1The network interface 1004 is mainly used for data communication with other devices; the user interface 1003 is mainly used for data interaction with the user; the processor 1001 and the memory 1005 in the multi-AGV scheduling device can be arranged in the multi-AGV scheduling device, and the multi-AGV scheduling device calls the multi-AGV scheduling program stored in the memory 1005 through the processor 1001, and executes the multi-AGV scheduling method provided in the embodiment of the application.
[0056] The embodiment of the application provides a multi-AGV scheduling method, which refers to Figure 2 , Figure 2 The flowchart of the first embodiment of the multi-AGV scheduling method of the application is shown in the figure.
[0057] In the embodiment, the multi-AGV scheduling method comprises the following steps:
[0058] Step S10: determining the system state of the scheduling system according to different working states of the multiple automatic guided vehicles in cooperative work;
[0059] Specifically, by observing the actual scene of the cooperative work of the multiple AGVs, it can be found that the multiple AGVs have sufficient time to adjust the state of the AGVs including the speed and the position to avoid resource conflicts in advance or to predict and disentangle the deadlock ring in advance before entering the deadlock ring state. Moreover, due to the interference of human and non-human factors, the dynamic uncertainty of the cooperative work of the multiple AGVs makes it almost impossible to avoid the multiple AGV deadlock ring phenomenon. Therefore, according to the dynamic state of the multiple AGVs in cooperative work, different solving methods or their combinations are adopted in different states, so as to realize the adaptability and high automation of the multi-AGV cooperative work scheduling method and to be flexibly applicable to the warehouse logistics, the four-way shuttle vehicle and the multiple complex scenes.
[0060] In order to realize scheduling according to the dynamic state of the multiple AGVs in cooperative work, in the embodiment, first, a mathematical model corresponding to the AGV state and the resource needs to be established, which specifically includes a graph model related to the AGV state, a motion model related to the AGV state and a scheduling resource allocation model.
[0061] In the first step, the graph model related to the AGV state is established. It is assumed that the cooperative work of the multiple AGVs is in a working space, and each AGV travels along a pre-planned trajectory path line, so that a directed graph G is established for all two-dimensional state spaces under the working space. The vertex set N is a set representing all path nodes, and the edge set E is a set of path trajectories composed of any two path nodes. The graph G=(N,E) is composed of the vertex set N and the edge set E. N×N is a set of path trajectory lines composed of any two path nodes, and the graph G=(N,E) is composed of the vertex set N and the edge set E.
[0062] The second step is to establish a motion model related to the AGV state. The authorized AGV set A is defined as all AGVs activated in the scheduling system. At time t, the state x of AGV k∈A=[1,…,K] is... k (t) is defined as the geometric center position p of AGV k at time t. k (t) and velocity v k The combination of (t), x k (t)=
[0063] {p k (t),v k (t)}, and the derivative of position is velocity, and the derivative of velocity is acceleration, i.e. and u k (t) represents the acceleration of AGV k at time t. The state space occupied by AGV k... It is defined as the contour of AGV k at time t and the set of all corresponding state spaces within the contour.
[0064] Define the AGV state variables for planning This indicates that AGV k has reached a certain path node n of the corresponding planned path. k, At moment i, N k This indicates the sequence number corresponding to the planned path endpoint of AGV k. This represents the path node n planned by AGV k. k,i Location in physical space.
[0065] The third step is to establish a resource allocation model. A resource is defined as any vertex n. i ∈N or any edge e j ∈E, and can be allocated for scheduling AGV movement. The resource set R is the union of the edge set and the vertex set, R = N∪E. From the perspective of resource allocation, the scheduling system must ensure the exclusivity of each resource to ensure no collisions between multiple AGVs running simultaneously in the workspace, that is, a resource can only be occupied by one AGV at a time. At time t, the resource set occupied by AGV k∈A and the resource set requested are O(k) and O(k) respectively. k (t) and R k (t) Resource set O k (t) represents the state space occupied by AGV k at time t. The corresponding path resource set. Requested resource set R k (t) includes not only the resources on the planned path that AGV k needs to request at time t, but also the state space occupied by all resources requested by AGV k′∈A,k′≠k at time t. The occupation state space of AGV k The resource set corresponding to the non-empty intersection, so that AGV k needs to apply for the specified path resource at time t, and the resource applied for by other AGVs in existence profile collision with the resource applied for by AGV k.
[0066] Based on the above-mentioned mathematical model of AGV state and resource correspondence and the grasp of the dynamic state of multiple AGVs, in the embodiment, different working states of multiple automatic guided vehicles working cooperatively are defined as different system states of the scheduling system, including global initialization, new task, resource conflict, deadlock ring, estimated resource conflict and estimated deadlock ring. In order to make the scheduling system self-adaptive solver applicable, according to the definition of the above system states, the system state of the scheduling system at any time is unique, and the scheduling system cannot exist in two or more system states at the same time.
[0067] Step S20: determining state variables according to the system state, the state variables being combination parameters of the automatic guided vehicle on the planned path node, the combination parameters including a set of center positions and velocities;
[0068] In the embodiment, different solving methods or their combinations are used to determine the state variables according to the different system states. The process of AGV operation is essentially a cyclic process of occupying path resources and releasing path resources, and the state parameters are extracted from the real-time state reported by the AGV and the planned AGV state variables are determined and acceleration u k (t), k = [1, …, K], n k,i = [1, …, N k ].
[0069] Step S20: issuing path resources corresponding to the state variables to the automatic guided vehicle, thereby completing scheduling.
[0070] Referring to Figure 3 , Figure 3 is a schematic diagram of the scheduling resource conflict detection model of the first embodiment of the multi-AGV scheduling method of the application. Based on the above-mentioned mathematical model of AGV state and resource correspondence and the planned AGV state variables, the occupation resource set {O k (t)} k∈A and the application resource set {R k (t)} k∈A of each AGV at time t are generated, and the AGV set A W (t) waiting for resource allocation at time t is generated. A scheduling resource conflict detection model is defined, such as Figure 3As shown, this includes defining a path node n of the planned path corresponding to AGV k. k,i The collision region is defined by path node n. k,i Let the circular position state space be of radius h, assuming that the distance between all edges is greater than or equal to 2h; define the path node n of the planned path when AGV k enters or leaves. k,i The time for the collision-free zone are respectively Define an AGV k as reaching a path node n on a pre-planned path. k,i The time is The scheduling planning variable is defined as the combination of the times when all AGVs enter the collision zone corresponding to a certain path node, arrive at the corresponding path node, and leave the collision zone corresponding to that path node. Based on the current state parameters of all AGVs and the planned AGV state variables The predicted scheduling planning variables are expressed as follows: Reference Figure 4 , Figure 4 This is a flowchart illustrating the scheduling planning solution procedure of the second embodiment of the multi-AGV scheduling method of this application. Resources corresponding to the scheduling planning variables are assigned to the AGVs; the AGVs allocated resources occupy the corresponding resources and report their status after releasing the occupied resources on the corresponding path.
[0071] In this embodiment, compared to existing multi-AGV scheduling systems that are overly complex and may not fully utilize resources, and cannot achieve collaborative work among multiple AGVs from a global perspective, thus reducing the controllability and efficiency of the scheduling system, this application explicitly defines the mathematical form of collision-free global scheduling and the mathematical form of resource conflict from the perspective of state control, based on different states of multi-AGV collaborative work. Furthermore, it defines different system states for the global solution method of multi-AGV collaborative work based on state control under different system states, thereby proposing the mathematical forms of different system states for multi-AGV collaborative work and the corresponding adaptive scheduling methods. Thus, different solution methods or combinations thereof are used to determine state variables under different system states, and corresponding resources are allocated accordingly, thereby achieving the adaptability and high automation of the multi-AGV collaborative work scheduling method and its flexible applicability to complex application scenarios.
[0072] Furthermore, based on the above embodiments, referring to Figure 5 , Figure 5 This is a flowchart of the scheduling planning solution procedure for the first embodiment of the multi-AGV scheduling method of this application. A second embodiment of this application is provided, wherein step S10 includes:
[0073] Step S11: If there are more than two automated guided vehicles currently assigned with new tasks and waiting for being assigned with resources, and the speed of all the automated guided vehicles is zero, it is determined that the system state is global initialization.
[0074] Specifically, a global initialization system state is defined, at time t, there are at least two or more AGVs simultaneously assigned with tasks and waiting for being assigned with a set of resources corresponding to scheduling variables and when all the AGVs in the activated AGV set have a speed of 0, that is, at time t, K≥2. When the above global initialization system state condition definition is met, it is determined that the system state is global initialization, SysStatus=0.
[0075] Step S12: If there is only one automated guided vehicle currently assigned with a new task and waiting for being assigned with resources, it is detected whether there is a resource conflict to determine the system state.
[0076] Further, the step S12 further includes:
[0077] Step S14: If there is, the all automated guided vehicles are controlled to stop, and it is determined that the system state is global initialization.
[0078] Step S15: If there is not, it is determined that the system state is a new task.
[0079] Specifically, a new task system state is defined, at time t, there is only one AGV simultaneously assigned with a task and waiting for being assigned with a resource corresponding to a scheduling variable, that is, at time t, K n =1. And there is no resource conflict, when the above new task system state condition definition is met, SysStatus=1.
[0080] According to the scheduling resource conflict detection model, the condition of no resource conflict is defined, k, k'= [1, …, K], Specifically, if there is a possible conflict situation that AGV k and AGV k' may pass through the same path point in space, that is, there is a same path point condition in the planned path AGV k leaves the collision area of the path node must be earlier than or equal to the time when any AGV k' e A, k'≠k enters the non-collision area of the path node or AGV k enters the collision area of the path node must be later than the time when any AGV k' e A, k'≠k leaves the non-collision area of the path node, so as to ensure collision-free scheduling. If AGV k and AGV k' may pass through the same edge in space and have a possible collision, that is, At the same time, not only the above possible conflict condition of the same path node is met, but also the condition that AGV k leaves the collision area of the starting point of the possible collision edge and enters the collision area of the terminal point of the edge must be earlier than or equal to the time when any AGV k' e A, k'≠k leaves the non-collision area of the starting point of the edge or AGV k leaves the collision area of the starting point of the possible collision edge must be later than the time when any AGV k' e A, k'≠k enters the non-collision area of the terminal point of the edge is met at the same time, so as to ensure collision-free scheduling.
[0081] The estimated scheduling planning variable To meet the resource conflict-free condition, otherwise, it indicates that there is a possible resource conflict in the scheduling system at this time, in order to simplify the implementation of the system, all AGVs are controlled to stop, the system state is determined as global initialization, and the state variables of all AGVs are globally planned.
[0082] Step S13: If there is no automatic guided vehicle currently assigned with a new task and waiting for being assigned with a resource, it is detected whether there is a resource conflict, so as to determine the system state.
[0083] Further, the step S13 further includes:
[0084] Step S14: If there is a resource conflict, it is detected whether there is a deadlock ring, so as to determine the system state;
[0085] Further, the step S14 further includes:
[0086] Step S16: If there is a deadlock ring, it is determined that the system state is a deadlock ring state;
[0087] Step S17: If there is no deadlock ring, it is determined that the system state is a resource conflict.
[0088] Specifically, if there is no automatic guided vehicle currently assigned with a new task and waiting for being assigned with a resource, it is detected whether the AGV of the activated task in the scheduling system has a resource conflict. If there is a resource conflict, it is further judged whether the condition that one or more deadlock rings are established is met under the resource conflict of the existing activated task.
[0089] In the embodiment, the definition of a deadlock ring under the cooperative work of multiple AGVs is that at time t, there are at least two or more AGVs waiting for the allocation of resources, and the intersection of the application resource set of each AGV and the resource set occupied by another AGV is not empty. If at time t, there is an AGV m∈A W (t), the occupied resource set O m (t) of AGV m, there is another AGV n∈A W (t) whose application resource set R n (t), m≠n, such that Conversely, it is also true. At time t, the AGV set constituting a deadlock ring and the set of all AGVs blocked by the deadlock ring are defined as the re-scheduling AGV set A RE (t)=[1,…,D], and the other non-deadlock running AGV set
[0090] The definition of the deadlock system state is that at least one or more deadlock rings exist at time t. If a deadlock ring exists, the system state is determined to be a deadlock ring state, SysStatus=3; if no deadlock ring exists, the system state is determined to be a resource conflict, SysStatus=2.
[0091] Step S15: If there is no resource conflict, it is detected whether there is a predicted resource conflict to determine the system state.
[0092] Specifically, if there is no resource conflict, it is further judged whether the scheduling system has a predicted resource conflict. If there is no predicted resource conflict, i.e., the scheduling system does not have any resource conflict in the present and predicted states, an empty optimization result is returned.
[0093] Further, the step S15 further includes:
[0094] Step S18: If there is a predicted resource conflict, it is calculated whether there is a predicted deadlock ring;
[0095] Step S19: If there is, the system state is determined to be a predicted deadlock ring;
[0096] Step S40: If there is no predicted deadlock ring, the system state is determined to be a predicted resource conflict.
[0097] Specifically, if there is a predicted resource conflict, it is calculated whether there is a predicted deadlock ring, and if there is, it is determined that the system state is a predicted deadlock ring, SysStatus = 4. Otherwise, at this time, the resources in the scheduling system only have a predicted resource conflict, and a global planning method can certainly obtain a feasible solution. Therefore, it is determined that the system state is a predicted conflict, SysStatus = 5.
[0098] In the embodiment, in order to realize the adaptability and high automation of the multi-AGV cooperative work scheduling method and be able to be flexibly applied to complex application scenarios. Different states of multi-AGV cooperative work are defined, and a deadlock prediction method for multi-AGV cooperative work based on state prediction is proposed. Based on AGV state prediction, the AGV state variables are updated in real time in the way of allocating resources with a global optimal goal, which not only can avoid resource conflicts in advance but also can realize scheduling business with a global optimal goal, thereby reducing the probability of occurrence of deadlock ring. Moreover, from the aspects of resource controllability and AGV state predictability, more advantages are provided for the scheduling system.
[0099] Further, based on the above embodiment, refer to Figure 6 , Figure 6 is a deadlock resolution flowchart of the third embodiment of the multi-AGV scheduling method of the application. The third embodiment of the application is provided, and the step S20 comprises:
[0100] Step S21: If the system state is global initialization, the state variables of the authorized automatic guided vehicle are authorized by global planning, and the authorized automatic guided vehicle is all activated automatic guided vehicles in the scheduling system.
[0101] Specifically, if the system state is global initialization, the state variables of the authorized automatic guided vehicle are authorized by global planning, and the global planning method obtains a realization process of the global initialization AGV state variable as follows:
[0102] An optimization problem is established: taking the minimum travel time of all AGVs performing tasks as the objective function, solving the state variables of the AGVs, and limiting them to the motion model, the maximum acceleration upper limit value u k (t) = -U max or U max , that is, acceleration in the trajectory direction is constant acceleration or deceleration motion, the maximum speed upper limit value V max , and the resource conflict-free constraint condition. The corresponding mathematical form is as follows:
[0103]
[0104]
[0105]
[0106]
[0107]
[0108]
[0109]
[0110] Where, p k,1 and This indicates that the physical locations of the starting and ending points of the planned path for AGV k are respectively... and The AGV state variables are solved using nonlinear programming methods to solve the above optimization problem.
[0111] Step S22: If the system status is a new task, then the status variables of the automated guided vehicles that have been assigned new tasks and are waiting for resources to be assigned are planned globally.
[0112] Specifically, if the system state is a new task, the state variables of the new task AGV are globally planned and the state variables of the new task AGV are returned. Similar to the specific process of implementing step S21, the mathematical optimization problem corresponding to the global planning of the new task considers that the state variables of the planned new task cannot violate the resource conflict conditions with the existing activated tasks in the system.
[0113] Step S23: If the system state is a deadlock loop, then unblock the deadlock loop;
[0114] Specifically, refer to Figure 6 If the system is in a deadlock loop (SysStatus = 3), then a local deadlock resolution procedure is triggered, and the scheduling variables of the local program are returned. The detailed process of the deadlock resolution procedure is described below:
[0115] Define the available resource set R A (t) represents the set of non-deadlocked vehicles in operation at time t. Occupy resource set and reschedule AGV set A RE (t) The difference between the set of occupied resources and the set of resources R, i.e. At time t, for each rescheduled AGV set, dl i ∈A RE (t), based on their current states, estimate the set of available resources {R} within a certain time T. A (t)} t∈(t,t+T) .
[0116] During initialization, the iteration depth is the nth strategy for solving the deadlock cycle, where n = 0, A RE =A RE (t), For each AGV dl belonging to the rescheduled AGV set i ∈A RE In T RE Internal forecast A RE Available resource set And make the initial set of deadlock cycle strategies to be solved queued. Solution to the initial deadlock cycle strategy
[0117] The first step is to examine the available resource set. Inside, for each AGV dl i ∈A RE The search for the current state corresponds to the unlock time T at the endpoint. RE Set of strategies for resolving deadlock loops This prevents it from being used with any other AGVdl within the rescheduled AGV set. j ∈A RE ,dl j ≠dl i Occupied state space And at the preset unlock time T RE Internal non-deadlock in running AGV assembly The estimated set of application resources The intersection is generated, and the corresponding set of deadlock cycle strategies to be solved at the present time is generated.
[0118] The second step is to solve for the deadlock cycle strategy set S. n If the value is empty, proceed to step seven. Otherwise, proceed to step three.
[0119] The third step involves setting a heuristic function for deadlock resolution strategies based on task priority, distance to the endpoint, and the number of AGVs in the current rescheduled AGV set. This function forms the current set of deadlock loop resolution strategies S. n For each strategy, calculate its deadlock-resolving weights and select the strategy with the smallest deadlock-resolving weight. s The current optimal strategy and the corresponding AGV dl i * =dl s ∈A RE Update n = n + 1.
[0120] The fourth step is to apply the current optimal strategy from the third step. s As the nth element of the solution to the deadlock cycle, s n = s Soln = Sol n-1 ∪ s n .
[0121] Step 5, judge whether there is a solution for the deadlock ring, which is defined as A RE has reached the end point and got the corresponding depth n or when n = N, the sum of the distance of all vehicles to the end point is less than the sum of the distance of all vehicles to the end point when n = 0, N is the set depth parameter. If it is determined that there is a solution for the deadlock ring, return to the scheduling system to solve the deadlock ring according to the strategy in the corresponding (t + (n - 1)T RE , t + nT RE ) time interval. RE RE n∈[1,…,N] If there is no solution, execute Step 6.
[0122] Step 6, remove the current optimal strategy from the current set of deadlock ring solving strategies s , that is, update S n = S n \ s , and update the set of deadlock ring solving strategies queue {S n} = {S n-1} ∪ S n , and update the set of available resources Return to Step 1 to continue searching for a deadlock ring solving strategy for A RE .
[0123] Step 7, judge whether the set of deadlock ring solving strategies queue {S n} is empty, if it is empty, return to the scheduling system to handle the case of no solution for the deadlock ring. If it is not empty, execute Step 8.
[0124] Step 8, according to the deadlock solving strategy heuristic function, search for the optimal solving strategy from the set of deadlock ring solving strategies queue {S n}, and update n to the depth corresponding to the optimal strategy, and return to execute Step 4. s If there is no solution for the deadlock ring, return the state of no solution for the deadlock ring to the scheduling system for further processing.
[0125] If a deadlock solving strategy is obtained, the scheduling system changes to centralized control, and re-schedules each AGV in the set of AGVs to execute the deadlock ring solving strategy in the corresponding (t + (n - 1)T RE , t + nT RE ) time interval. n∈[1,…,N]
[0126]
[0127] Step S24: If the system state is resource conflict, globally plan the state variable of the authorized AGV.
[0128] Specifically, if the system state is resource conflict, SysStatus = 2, the state variable of the AGV activated in the global planning scheduling system is triggered, and a new AGV state variable is returned. Similar to the specific process of step S21, in order to make the program easier to implement, the initial state of all AGVs considered in the global planning corresponding to the mathematical optimization problem under the defined resource conflict is that each AGV takes the nearest next path point at the current time as the starting point, and the initial speed is 0.
[0129] Step S25: If the system state is estimated resource conflict, globally plan the state variable of the authorized AGV.
[0130] Specifically, if the system state is estimated conflict, SysStatus = 5, the state variable of the AGV activated in the global planning scheduling system is triggered, and a new AGV state variable is returned. The specific implementation process is referred to step S21. Herein, no more details are given.
[0131] Step S26: If the system state is estimated deadlock ring, obtain the resource occupation relationship corresponding to the estimated deadlock ring state, and locally resolve the deadlock ring.
[0132] Specifically, if the system state is estimated deadlock ring, SysStatus = 4, the resource occupation relationship corresponding to the estimated deadlock ring state and the local deadlock ring resolution program are triggered respectively, and the locally planned scheduling variable is returned.
[0133] In the embodiment, not only the mathematical form of the multi-AGV deadlock resolution problem is proposed, but also the deadlock prediction method based on state estimation for multi-AGV cooperative work, the method of locally resolving the deadlock ring in advance considering the cooperation of other non-deadlock running AGVs in the whole field, and the global solution method based on state control for multi-AGV cooperative work under different system states are proposed. In a certain range, the method of locally resolving the multi-AGV deadlock considering the cooperation of other non-deadlock running AGVs in the whole field and comprehensively considering the cost of resolving the deadlock is proposed. Thus, the adaptive global optimal resource allocation method is realized to control the state of the AGV in real time, so that the multi-AGV cooperative work without collision is realized, and the efficiency of the scheduling system is improved.
[0134] In addition, the embodiment of the application further proposes a multi-AGV scheduling device, which is described with reference to Figure 6 , Figure 4 is a schematic diagram of the function modules of the first embodiment of the multi-AGV scheduling device of the application. The multi-AGV scheduling device comprises:
[0135] A determining module 10 is configured to determine a system state of the scheduling system according to different working states of the multiple AGVs when the multiple AGVs work cooperatively.
[0136] The determining module 10 is further configured to determine a state variable according to the system state, the state variable being a combination parameter of the AGVs on a planned path node, the combination parameter including a set of center positions and speeds.
[0137] A scheduling module 20 is configured to issue a path resource corresponding to the state variable to the AGVs, so as to complete scheduling.
[0138] In the embodiments, the multiple AGV scheduling programs of the modules in the multiple AGV scheduling device are executed by the server, and the specific embodiments are basically the same as those of the multiple AGV scheduling method, and thus will not be described herein.
[0139] In addition, the embodiments of the present application further provide a computer readable storage medium.
[0140] The multiple AGV scheduling program is stored on the computer readable storage medium, and when the multiple AGV scheduling program is executed by the processor, the steps of the multiple AGV scheduling method are implemented.
[0141] In the embodiments, the multiple AGV scheduling program stored in the computer readable storage medium is executed by the processor, and the specific embodiments are basically the same as those of the multiple AGV scheduling method, and thus will not be described herein.
[0142] It should be noted that in this document, the terms "comprising", "containing" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or system including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such a process, method, article or system. Without more limitations, the element defined by the statement "comprising a multiple AGV scheduling" does not exclude the presence of other identical elements in the process, method, article or system including the element.
[0143] The above-mentioned serial numbers of the embodiments of the present application are only for description, and do not represent the advantages and disadvantages of the embodiments.
[0144] Those skilled in the art can clearly understand the above-mentioned embodiment method can be realized by means of software and the necessary general hardware platform, of course, can also be through hardware, but in many cases the former is a better embodiment. Based on such understanding, the technical solutions of the present application essentially or say the part of the prior art contribution can be embodied in the form of software products, the computer software product is stored in a storage medium (such as ROM / RAM, magnetic disc, optical disc) as described above, including a number of instructions to make a terminal device (may be a mobile phone, computer, server, or network equipment, etc.) executes the method described in various embodiments of the present application.
[0145] The above is only the preferred embodiment of the present application, not therefore limit the patent scope of the present application, any equivalent structure or equivalent process transformation using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A multi-AGV scheduling method, characterized in that, The multi-AGV scheduling method includes the following steps: A mathematical model is established that corresponds to multiple AGV states and resources, specifically including a graph model related to the multiple AGV states, a motion model related to the multiple AGV states, and a scheduling resource allocation model; The graph model is a directed graph. The vertex set N represents the set of all path nodes, and the edge set N represents the set of all paths. This represents the set of path lines formed by any two path nodes; The motion model defines any AGV in the set A of all AGVs activated in the scheduling system. exist state of time For the AGV Geometric center position With speed The combination, namely And the derivative of position is velocity, and the derivative of velocity is acceleration, that is... ,in, yes The AGV mentioned at the time The acceleration; The scheduling resource allocation model defines resources as any vertex. or any edge And can be allocated for scheduling the movement of the AGV, resource set It is the union of the set of edges and the set of vertices, that is... Each resource can only be occupied by one of the AGVs at any given time. At any moment resource set and the application resource set are respectively and The set of occupied resources for The AGV mentioned at the time Occupied state space The corresponding path resource set, the requested resource set include The AGV mentioned at the time The resources required for the planned route also include those in All of the AGVs mentioned in the other article at any given time The state space occupied by the requested resources With the AGV The set of path resources corresponding to the non-empty intersection of the occupied state space; Based on the mathematical model, the different working states of the multi-AGV collaborative work are defined as different system states of the scheduling system. The system states include global initialization, new task, resource conflict, deadlock loop, estimated resource conflict, and estimated deadlock loop. The system state of the scheduling system is determined based on the different working states of the multiple AGVs working together. Based on the system state, state variables are determined. These state variables are the combined parameters of the AGV at the planned path nodes, including a set of center position and speed. The state variables are... , , Indicates the AGV Reach a specific path node on the planned path. At that moment, Indicates the AGV The sequence number corresponding to the planned path endpoint. Indicates the AGV Planned path nodes Location in physical space; Define a scheduling resource conflict detection model, and define the AGV. A path node of the corresponding planned path The collision region, the collision region being defined by path nodes With center at and radius at, The circular position state space; defining the AGV. Entering and leaving a path node of the corresponding planned path The time for the collision-free zone are respectively , Define the AGV Reach a specific path node on the planned path. The time is The scheduling planning variable is defined as the combination of the times when all the AGVs enter the collision area corresponding to a certain path node, arrive at the corresponding path node, and leave the collision area corresponding to that path node. Based on the current state parameters of all the AGVs and the planned state variables Predicting scheduling planning variables If the scheduling planning variable meets the resource conflict-free condition, then the path resource corresponding to the scheduling planning variable is issued to the AGV, thereby completing the scheduling.
2. The multi-AGV scheduling method as described in claim 1, characterized in that, The step of determining the system state of the scheduling system based on the different working states of the multiple AGVs working collaboratively includes: If there are two or more AGVs that have been assigned new tasks and are waiting to be assigned resources, and the speed of all AGVs is zero, then the system state is determined to be global initialization. If there is only one AGV that has been assigned a new task and is waiting to be assigned resources, then check whether there is a resource conflict to determine the system state. If there are no AGVs currently assigned new tasks and waiting for resources, then a resource conflict is detected to determine the system state.
3. The multi-AGV scheduling method as described in claim 2, characterized in that, The step of detecting resource conflicts to determine the system state if there is only one AGV currently assigned a new task and waiting for resources includes: If present, control all AGVs to stop and determine the system state to be global initialization; If it does not exist, the system status is determined to be a newly added task.
4. The multi-AGV scheduling method as described in claim 2, characterized in that, The step of detecting resource conflicts to determine the system state if there are currently no AGVs being assigned new tasks and waiting for resources includes: If resource conflicts exist, the presence of deadlock loops is detected to determine the system state. If no resource conflict exists, then detect whether a predicted resource conflict exists to determine the system state.
5. The multi-AGV scheduling method as described in claim 4, characterized in that, The step of detecting the existence of a deadlock loop to determine the system state if a resource conflict exists is followed by: If a deadlock loop exists, the system state is determined to be a deadlock loop state; If no deadlock loop exists, the system state is determined to be a resource conflict.
6. The multi-AGV scheduling method as described in claim 4, characterized in that, The step of detecting whether a predicted resource conflict exists if no resource conflict exists to determine the system state is followed by: If a predicted resource conflict exists, calculate whether a predicted deadlock loop exists. If it exists, then the system state is determined to be a predicted deadlock loop; If no anticipated deadlock loop exists, the system state is determined to be a anticipated resource conflict.
7. The multi-AGV scheduling method as described in claim 1, characterized in that, The step of determining the state variables based on the system state includes: If the system state is global initialization, then the state variables of the globally planned authorized AGVs are all the AGVs that are activated in the scheduling system. If the system status is a newly added task, then the status variables of the AGVs that have been assigned new tasks and are waiting to be assigned resources are planned globally. If the system state is a deadlock loop, then unblock the deadlock loop; If the system status is a resource conflict, then the state variables of the authorized AGVs are planned globally; If the system state is a predicted resource conflict, then the state variables of the authorized AGVs are planned globally. If the system state is a predicted deadlock loop, then obtain the resource occupancy relationship corresponding to the predicted deadlock loop state, and partially unblock the deadlock loop.
8. A multi-AGV scheduling device, characterized in that, The device includes: The determination module is used to establish a mathematical model corresponding to the states of multiple AGVs and their resources, specifically including a graph model related to the states of the multiple AGVs, a motion model related to the states of the multiple AGVs, and a scheduling resource allocation model; wherein, the graph model is a directed graph. The vertex set N represents the set of all path nodes, and the edge set N represents the set of all paths. This represents the set of path trajectories formed by any two path nodes; the motion model defines the set A of all AGVs activated in the scheduling system, where any AGV... exist state of time For the AGV Geometric center position With speed The combination, namely And the derivative of position is velocity, and the derivative of velocity is acceleration, that is... ,in, yes The AGV mentioned at the time The acceleration; the scheduling resource allocation model defines resources as arbitrary vertices. or any edge And can be allocated for scheduling the movement of the AGV, resource set It is the union of the set of edges and the set of vertices, that is... Each resource can only be occupied by one of the AGVs at any given time. At any moment resource set and the application resource set are respectively and The set of occupied resources for The AGV mentioned at the time Occupied state space The corresponding path resource set, the requested resource set include The AGV mentioned at the time The resources required for the planned route also include those in All of the AGVs mentioned in the other article at any given time The state space occupied by the requested resources With the AGV The set of path resources corresponding to the non-empty intersection of the occupied state space; based on the mathematical model, the different working states of the multi-AGV collaborative work are defined as different system states of the scheduling system, the system states include global initialization, new task, resource conflict, deadlock loop, estimated resource conflict, and estimated deadlock loop; the system state of the scheduling system is determined according to the different working states of the multi-AGV collaborative work. The determining module is further configured to determine state variables based on the system state, wherein the state variables are combined parameters of the AGV at the planned path nodes, and the combined parameters include a set of center position and speed; wherein the state variables are... , , Indicates the AGV Reach a specific path node on the planned path. At that moment, Indicates the AGV The sequence number corresponding to the planned path endpoint. Indicates the AGV Planned path nodes Location in physical space; The scheduling module defines a scheduling resource conflict detection model and defines the AGV. A path node of the corresponding planned path The collision region, the collision region being defined by path nodes With center at and radius at, The circular position state space; defining the AGV. Entering and leaving a path node of the corresponding planned path The time for the collision-free zone are respectively , Define the AGV Reach a specific path node on the planned path. The time is The scheduling planning variable is defined as the combination of the times when all the AGVs enter the collision area corresponding to a certain path node, arrive at the corresponding path node, and leave the collision area corresponding to that path node. Based on the current state parameters of all the AGVs and the planned state variables Predicting scheduling planning variables If the scheduling planning variable meets the resource conflict-free condition, then the path resource corresponding to the scheduling planning variable is issued to the AGV, thereby completing the scheduling.
9. A multi-AGV scheduling device, characterized in that, The device includes: a memory, a processor, and a multi-AGV scheduler stored in the memory and executable on the processor, the multi-AGV scheduler being configured to implement the steps of the multi-AGV scheduling method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a multi-AGV scheduler, which, when executed by a processor, implements the steps of the multi-AGV scheduling method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Multi-AGV intelligent cooperative scheduling method with real-time conflict resolution for complex environment
CN113780633A