CN114326753A - Deadlock detection method for multiple robots in regulation and control area - Google Patents

Deadlock detection method for multiple robots in regulation and control area Download PDF

Info

Publication number
CN114326753A
CN114326753A CN202210217189.4A CN202210217189A CN114326753A CN 114326753 A CN114326753 A CN 114326753A CN 202210217189 A CN202210217189 A CN 202210217189A CN 114326753 A CN114326753 A CN 114326753A
Authority
CN
China
Prior art keywords
robot
control area
path
regulation
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210217189.4A
Other languages
Chinese (zh)
Other versions
CN114326753B (en
Inventor
周玄昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Lanxin Technology Co ltd
Original Assignee
Hangzhou Lanxin Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Lanxin Technology Co ltd filed Critical Hangzhou Lanxin Technology Co ltd
Priority to CN202210217189.4A priority Critical patent/CN114326753B/en
Publication of CN114326753A publication Critical patent/CN114326753A/en
Application granted granted Critical
Publication of CN114326753B publication Critical patent/CN114326753B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention relates to a deadlock detection method for multiple robots in a regulation and control area, which comprises the following steps: the control device receives a path node application request sent by any mobile robot, and judges whether a path node in the path node application request is in a preset regulation and control area or not; when the control device determines that the path node is in the regulation and control area, acquiring a related parameter set; the control device adopts a deadlock detection strategy to carry out deadlock detection on the regulation and control area based on the parameter set, and judges whether each mobile robot in the robot set can leave the regulation and control area; and when the control device determines that each mobile robot in the robot set can move out of the regulation and control area, feeding back whether to agree with a response of the path node application request according to the path node application request. The method can realize the maximization of system resource scheduling and improve the operating efficiency of the system.

Description

Deadlock detection method for multiple robots in regulation and control area
Technical Field
The invention relates to the technical field of robots, in particular to a deadlock detection method for multiple robots in a regulation and control area.
Background
At present, in an application scenario of mobile robots such as warehouses and the like, multiple or dozens of robots often work together, due to the spatial limitation of an operation area, the operation area is similar to a traffic transportation network, and the local area congestion and traffic deadlock can also exist in the operation network of the multiple mobile robots, wherein the traffic deadlock is the most serious traffic management problem of a scheduling system of the multiple mobile robots, once the traffic management problem occurs, manual intervention is often needed to solve the problem, and the transportation efficiency can be seriously influenced. Analysis is conducted on the principle, the deadlock problem is that two or more robots apply for occupying resources (paths or point positions) occupied by other robots, and wait for the release of the resources of the other robots, so that all the mobile robots cannot continue to operate and stop at the current positions.
The following two types of methods are currently used by those skilled in the art to avoid deadlock:
the first method comprises the following steps: the method based on the rules prevents deadlock from occurring, the rules are that an engineer in the industry summarizes corresponding rules according to the characteristics of a deadlock occurrence scene, and one or more robots are refused to apply for paths/nodes before deadlock is about to occur, so that occurrence of deadlock situations is avoided.
Although the method can avoid the occurrence of some common deadlock situations, because the actual multi-mobile robot system scheduling network topology is complex, the number of robots is different, and special mobile task logic is provided, all possible deadlock situations cannot be considered and normal decisions cannot be made only by artificial summary and induction.
In addition, the more and more complex the rules are applied, the higher the possibility that the rules conflict with each other and are mutually put into good standing is, for example, for a certain situation, the rule a and the rule B take effect simultaneously, both the rules may take effect, and influence each other, even the situation that a considers that a can be applied and B considers that B cannot be applied may occur, and the scheduling logic will be confused.
The second method comprises the following steps: the optimization method based on the time window comprehensively considers the time window of each robot for each resource access, and if the condition that a plurality of robots occupy the same resource at the same time is existed, the optimized cost function is set to be maximum, so that the optimization method generates all robot scheduling plans without deadlock.
However, the time window-based optimization method has a large computational complexity, and the method belongs to a static method, and the effectiveness of the method needs to be guaranteed only by running all robots according to a plan, but because a plurality of mobile robot systems have a large randomness, the occurrence of some random events will cause the complete failure of the original scheduling plan.
Disclosure of Invention
Technical problem to be solved
In view of the above drawbacks and deficiencies of the prior art, the present invention provides a deadlock detection method for multiple robots in a control area.
(II) technical scheme
In order to achieve the purpose, the invention adopts the main technical scheme that:
in a first aspect, an embodiment of the present invention provides a deadlock detection method for multiple robots in a regulation and control area, including:
s10, the control device receives a path node application request sent by any mobile robot, and judges whether the path node in the path node application request is in a preset regulation and control area;
s20, when the control device determines that the path node is in the regulation and control area, acquiring a node set of all path nodes of the regulation and control area, acquiring a robot set of all mobile robots in the current time period of the regulation and control area, a path node set of the current position of each robot in the robot set, and a remaining path set of each robot in the robot set;
s30, the control device adopts a deadlock detection strategy to carry out deadlock detection on each mobile robot in the regulation and control area based on the node set, the robot set, the path node set and the residual path set, and judges whether each mobile robot in the robot set can move out of the regulation and control area or not;
s40, when the control device determines that each mobile robot in the robot set can move out of the regulation and control area, feeding back information for agreeing with the path node application request according to the path node application request;
and traversing each mobile robot in the regulation and control area by adopting a depth-first search mode according to the deadlock detection strategy, wherein the deadlock detection strategy is to determine whether all mobile robots can move out of the regulation and control area based on respective residual paths.
Optionally, after S30, the method further includes:
if the control device determines that two or more mobile robots in the robot set cannot move out of the regulation and control area, confirming that the regulation and control area is in a deadlock state;
and feeding back a response of refusing to occupy the path node according to the path node application request.
Optionally, the performing deadlock detection on each mobile robot in the control area by using a deadlock detection strategy in S30 includes:
traversing each mobile robot in the regulation and control area by adopting a depth-first search mode in a simulation running program environment, trying the sequence combination of the movement of each robot to carry out simulation movement, and finally judging whether each robot in the robot set can move out of the regulation and control area completely.
Optionally, the S10 includes: mobile robot raThe path node in the application request isn a
The S20 includes:
the control device acquires the node set based on a topological network in which all mobile robots travel
Figure 742966DEST_PATH_IMAGE001
kThe number of all nodes in the regulation and control area is equal, and a positive integer is taken;
the control device forms a robot set according to all the mobile robots in the regulation and control area in the current time period
Figure 366846DEST_PATH_IMAGE002
(ii) a m is the number of all mobile robots in the regulation and control area, a positive integer is taken, and the robots are integratedRComprising a mobile robot ra
Obtaining a path node set of path nodes where each mobile robot in the robot set is located currently
Figure 26366DEST_PATH_IMAGE003
Obtaining the remnant path set
Figure 811920DEST_PATH_IMAGE004
(ii) a Wherein, corresponding to any robot r1
Figure 157057DEST_PATH_IMAGE005
tFor moving robot r1The number of path nodes of the remaining path of (1) is a positive integer,
Figure 319048DEST_PATH_IMAGE006
indicates the mobile robot r1The path node order of the remaining paths of
Figure 833075DEST_PATH_IMAGE007
For indicating the mobile robot r1Sequentially passing through the nodes of the residual path until the elements are moved out of the regulatory region
Figure 586267DEST_PATH_IMAGE008
Indicates the mobile robot r1The node at present is
Figure 202056DEST_PATH_IMAGE008
n aFor moving robot raA path node in the issued application request;
judging whether the current state of the control area is consistent with any state in the deadlock state set D, if so, determining that the control area is in the deadlock state, and directly feeding back result information of the control area in the deadlock state; otherwise, the process proceeds to S30.
Optionally, the S30 includes:
s301, traversing robot setRIf there is a mobile robot
Figure 184050DEST_PATH_IMAGE009
Figure 834474DEST_PATH_IMAGE010
Belonging to any one of 1 to m, moving the robot
Figure 227409DEST_PATH_IMAGE011
Set of remnant paths of
Figure 845341DEST_PATH_IMAGE012
The second element in (1)
Figure 614714DEST_PATH_IMAGE013
If the mobile robot does not belong to the path node set C where all the robots are currently located, determining the mobile robot
Figure 336289DEST_PATH_IMAGE011
Can move to the next node on its remaining path, go to S302;
s302, executing the mobile robot in the simulation running program environment
Figure 368967DEST_PATH_IMAGE014
And move the robot
Figure 411878DEST_PATH_IMAGE014
Is updated to
Figure 984942DEST_PATH_IMAGE013
Node, moving robot
Figure 829533DEST_PATH_IMAGE014
Set of remnant paths of
Figure 33112DEST_PATH_IMAGE015
The first element in (1)
Figure 94478DEST_PATH_IMAGE016
Deleting;
s303, if the path set remains
Figure 422297DEST_PATH_IMAGE015
The last element is left in the table, the robot is moved
Figure 636241DEST_PATH_IMAGE014
Removing collectionsRThe path nodes are collected into a mobile robot in the set C
Figure 73039DEST_PATH_IMAGE011
Deleting the corresponding current node and collecting the residual pathsLSet of remnant paths in (1)
Figure 621701DEST_PATH_IMAGE017
Deleting the sequence, executing S304, if the path set remains
Figure 536567DEST_PATH_IMAGE012
If the number of the remaining elements is more than 1, re-executing S301;
s304, when traversing to the robot setRIf the mobile robot becomes the empty set, determining that each mobile robot in the robot set can move out of the regulation and control area; otherwise, re-enter S301.
Optionally, the method further comprises:
if all the mobile robots in the step S301 cannot move to the next node on the remaining path, performing step S305;
s305, obtaining the current time state of a control area in a simulation running program environment, judging whether the current time state is consistent with the state when receiving a path node application request, if so, feeding back result information of the control area in a deadlock state, and adding the detected deadlock state to a deadlock state set D;
the state of the current moment refers to the current node positions of all robots in the regulation and control area;
the deadlock state detected this time is added to the deadlock state set D, and the deadlock state is an identifier of the mobile robot, an identifier of a path node occupied by the mobile robot at the current time, and identifiers of all remaining paths of the mobile robot.
Optionally, if the state at the current time in S305 is not consistent with the state when receiving the path node application request, the method further includes:
s306, checking whether the mobile robot which is not traversed exists, and if so, executing S301; otherwise, the last traversed mobile robot executes the movement of the previous step in the simulation running program environment, and executes S301.
Optionally, the method further comprises:
the remnant paths of each robot in the remnant path set include: the set of nodes in the regulation and control area on the path from the current node to the final target node of each robot; wherein the path of each robot from the current node to its final destination node is pre-given.
The control area is determined by the control device based on a topological network in which all mobile robots travel and/or deadlock areas existing in historical time periods.
In a second aspect, an embodiment of the present invention further provides a control apparatus, which includes: the system comprises a memory and a processor, wherein the memory is used for storing a computer program, and the processor is used for executing the computer program stored in the memory and executing the steps of the multi-robot deadlock detection method in the regulation and control area of the first aspect. And a dispatching system is integrated in the control device.
(III) advantageous effects
The method provided by the embodiment of the invention automatically traverses whether the regulation and control area is in the deadlock state, compared with a rule method, deadlock is avoided, whether the state is deadlock is accurately judged, and based on the accurate judgment of whether deadlock is realized, the mobile robot can maximally allow the mobile robot to pass through the application and scheduling system of the node resources, so that the operation efficiency of the system can be maximized.
The method provided by the embodiment of the invention adopts a program to automatically traverse the detection area to detect whether the area is deadlock, the change of the number of mobile robots is completely universal for the change of the network topology structure, and the rule method in the prior art is often required to be customized and developed according to scenes and various conditions, so that the complexity is higher, and the universality is poorer.
The embodiment of the invention adopts a method for automatically traversing the detection area by a program to detect whether the area is deadlock, belongs to a dynamic scheduling method, namely, the method only needs to analyze and process the state of the current system and the robot which wants to apply for movement, and random factors in a robot running system, such as the change of the running time of the robot on a path, the failure and the like, do not influence the judgment of the deadlock result of the invention, while the traditional method based on a time window can cause the failure of the whole scheduling if the situation is met.
Drawings
Fig. 1 is a schematic flowchart of a deadlock detection method for multiple robots in a regulation area according to an embodiment of the present invention;
FIG. 2 is a flowchart illustrating a deadlock detection method for multiple robots in a control area according to another embodiment of the present invention;
fig. 3 is a schematic diagram of a regulatory region according to an embodiment of the present invention.
Detailed Description
For the purpose of better explaining the present invention and to facilitate understanding, the present invention will be described in detail by way of specific embodiments with reference to the accompanying drawings.
The robot/mobile robot in the embodiment of the present invention may be an existing AGV, and the scheduling system connected to all robots is a computer program integrated in the control device/scheduling server, and is used to implement scheduling of all robots in the robot physical operation system.
Example one
As shown in fig. 1, an embodiment of the present invention provides a deadlock detection method for multiple robots in a control area, where an execution main body of the method of this embodiment may be a control device for all mobile robots in the control area, and the following steps are all steps corresponding to deadlock detection in embodiment two; the specific implementation method comprises the following steps:
s10, the control device receives a path node application request sent by any mobile robot, and judges whether the path node in the path node application request is in a preset regulation and control area; if yes, go to step S20, otherwise, go to the existing method.
And S20, when determining that the path node is in the regulation and control area, the control device acquires a node set of all path nodes of the regulation and control area, acquires a robot set of all mobile robots in the current time period of the regulation and control area, a path node set of the current position of each robot in the robot set, and a remaining path set of each robot in the robot set.
And S30, the control device performs deadlock detection on each mobile robot in the regulation and control area by adopting a deadlock detection strategy based on the node set, the robot set, the path node set and the residual path set, and judges whether each mobile robot in the robot set can move out of the regulation and control area.
For example, in a simulation running program environment, a depth-first search mode is adopted to traverse each mobile robot in the regulation and control area, the sequence combination of the movement of each robot is tried to perform simulation movement, and finally whether each robot in the robot set can move out of the regulation and control area completely is judged.
Of course, before step S30, if the control device determines that two or more mobile robots in the robot set cannot move out of the control area, it is determined that the control area is in a deadlock state;
at this time, the response of refusing to occupy the path node is fed back according to the path node application request.
And S40, when the control device determines that each mobile robot in the robot set can move out of the regulation and control area, feeding back a response allowing to occupy the path node according to the path node application request, namely feeding back information granting the path node application request.
And traversing each mobile robot in the regulation and control area by adopting a depth-first search mode according to the deadlock detection strategy, wherein the deadlock detection strategy is to determine whether all mobile robots can move out of the regulation and control area based on respective residual paths.
The method of the embodiment automatically traverses whether the regulation and control area is in the deadlock state, compared with a rule method in the prior art, the deadlock state can be effectively avoided, the judgment on whether the state of the regulation and control area is deadlock is more accurate, and the scheduling system can realize the maximum utilization and passing of the node resources of the mobile robot, so that the operation efficiency of the operation system can be maximally realized.
It should be noted that, in this embodiment, if it is detected that the control area is in a deadlock state, the application of the same robot to the same node in a later time period is rejected unless other robot application nodes in the control area move after passing (that is, the state of the control area changes). The control device in this embodiment may be integrated with a scheduling system, which is an automatically executed program that can issue a prompt message or an alarm when the control area is in a deadlock state.
Generally, the control area may be a part of a topological network, which has an area with less than 10 path nodes, and the traversal process of the scheduling system in the control device is only about ten and several milliseconds, which can maximize the operation efficiency of the scheduling system.
Example two
The method of the embodiment is that when any mobile robot applies to move to a certain path node in a specified regulation and control area, a scheduling system is triggered to realize deadlock detection of the specified regulation and control area. That is, when the scheduling system receives a request for applying for a path node in a control area sent by any mobile robot, the scheduling system traverses possible moving states of all the mobile robots in the control area, for example, a depth-first search mode can be adopted in the traversing process, all the mobile robots traversing to the control area can smoothly leave the control area, the control area is determined not to be deadlocked, and the scheduling system allows the mobile robots to occupy the applied path node to move; otherwise, if the mobile robot cannot leave the regulation and control area until the traversal is finished, the regulation and control area is judged to be in a deadlock state, and the scheduling system refuses an application request that the path node in the regulation and control area is occupied, namely the mobile robot outside the regulation and control area is forbidden to move to the regulation and control area, or the mobile robot in the regulation and control area is forbidden to move to a certain node in the regulation and control area.
It should be noted that the control area may also be defined as a potential deadlock area, which belongs to a predefined area including a plurality of path nodes in the topology network, the topology network is composed of a plurality of travel paths, a plurality of path nodes are distributed on each travel path, and each path node has its own identifier, such as a unique number. The travel path of each mobile robot operating in the topology is predefined. The execution main body of the method of the embodiment may be a control device, specifically, a scheduling system in the control device, and the scheduling system may acquire relevant information of each mobile robot in the regulation and control area after being triggered, so as to detect a deadlock state of the regulation and control area.
Generally, each mobile robot may periodically report the current position (e.g., the current path node) to the scheduling system, and based on this, the scheduling system may obtain information of the mobile robots in the topology structure in real time, such as the number of the mobile robots, the current position, and the remaining path information.
For better illustration, all nodes in the control area are numbered and form a node set
Figure 870596DEST_PATH_IMAGE018
kThe number of all nodes in the regulation and control area is equal, and a positive integer is taken;
without loss of generality, assume that a certain mobile robot r at a certain momentaApplying for moving to a certain path noden aThe scheduling system may use the method of this embodiment to determine if the mobile robot r is allowedaMoving to Path noden aWhether or not deadlock of the control area is caused, at this time,n afor moving robot raThe path node in the request sent out specifically executes the following steps:
s1, the dispatching system receives any mobile robot (for example, the number ra) Including an identification of a path node to be applied (e.g., a node identifier of a path node of (e.g., a node identifier of a node of) a path requestn a);
The dispatching system judges whether the path node applied by the mobile robot is positioned in a regulation area, namely a potential deadlock area, namely the path node based on the path node application requestn aWhether the current time belongs to the set N, if so, entering S2;
otherwise, finishing the calculation and explaining the path noden aThe system does not belong to the potential deadlock area, and the deadlock risk of the potential deadlock area does not need to be considered.
S2, the scheduling system executes the initialization of deadlock traversal search to the control area according to the deadlock detection strategy, for example, obtains the following series of sets, such as deadlock state set D and robot setRPath node set C and residual path setL
For better understanding of the above step S2, the following detailed description is made in conjunction with the sub-steps S201 to S203.
S201, the dispatching system acquires robot sets of all mobile robots in the regulation and control area in the current time period
Figure 697869DEST_PATH_IMAGE019
WhereinRComprising a robot raI.e. by
Figure 953401DEST_PATH_IMAGE020
And m is the number of all mobile robots in the regulation and control area, and a positive integer is taken;
and the dispatching system acquires the path node set of the path node where each mobile robot in the robot set is currently located
Figure 390068DEST_PATH_IMAGE021
Wherein
Figure 313024DEST_PATH_IMAGE022
Indicating robot r1The nodes where the robot is located at present, the rest, and so on, need to be noted that the robot r in the path node set CaThe node is
Figure 308269DEST_PATH_IMAGE023
I.e. the node to which it applies for a move.
Robot set in this embodimentRAll robots in the system are mobile robots currently located in the control area or path nodes currently applied for are located in the control areaMobile robot (i.e. robot r)a) If the path node applied by the mobile robot located outside the regulation and control area does not belong to the regulation and control area, the mobile robot does not belong to the robot setR
S202, acquiring any robot by using scheduling system
Figure 51097DEST_PATH_IMAGE024
And node set in the path to be executedNThe intersected part is defined as the residual path set
Figure 291454DEST_PATH_IMAGE025
Called remnant path set;
here, theLIn
Figure 68917DEST_PATH_IMAGE026
Is a collection of nodes, i.e.
Figure 972413DEST_PATH_IMAGE027
tIs a robot r1The number of path nodes of the remaining path of (1) is a positive integer,
Figure 468117DEST_PATH_IMAGE028
indicates the mobile robot r1The path node order of the remaining paths of
Figure 512165DEST_PATH_IMAGE029
For indicating the mobile robot r1Sequentially passing through the nodes of the residual path until the elements are moved out of the regulatory region
Figure 409714DEST_PATH_IMAGE030
Indicates the mobile robot r1The node at present is
Figure 239040DEST_PATH_IMAGE031
S203, the scheduling system judges whether the current state of the control area is consistent with any state in the deadlock state set D, if yes, the control area is determined to be in the deadlock state, and result information of the control area in the deadlock state is directly fed back; otherwise, the next step S3 is entered.
It can be understood that, in practical application, at least one deadlock state generated in a previous time period is stored in the deadlock state set D; the deadlock state set is an empty set at initialization. The state of the current moment refers to the current node positions of all robots in the regulation and control area.
And S3, the control device performs deadlock detection on each mobile robot in the regulation and control area by adopting a deadlock detection strategy based on the node set, the robot set, the path node set and the residual path set, and judges whether each mobile robot in the robot set can move out of the regulation and control area.
Namely, the dispatching system checks whether each mobile robot in the regulation and control area can move out of the regulation and control area according to the respective remaining path in the driving process. For example, in a simulation running program environment, a depth-first search mode is adopted to traverse each mobile robot in a regulation and control area, the sequence combination of the movement of each robot is tried to perform simulation movement, and finally whether all the robots in a robot set can move out of the regulation and control area is judged; if it is determined that all the mobile robots in the current regulation and control area can smoothly leave the regulation and control area, judging that the regulation and control area is not deadlocked; otherwise, if at least one mobile robot cannot leave the regulation and control area until all traversals are finished, determining that the regulation and control area is deadlocked.
For example, the present embodiment may implement traversal in a depth-first search manner in a recursive manner, and it should be noted that the traversal manner may be implemented in a preset program or a simulation running program environment, and does not actually move each mobile robot in the regulation and control area, and the sub-steps are as follows:
s301, traversing robot setRIf a robot is present
Figure 205728DEST_PATH_IMAGE032
Figure 538620DEST_PATH_IMAGE033
Belonging to any one of 1 to m, moving the robot
Figure 41408DEST_PATH_IMAGE034
Set of remnant paths of
Figure 67133DEST_PATH_IMAGE035
The second element in (1)
Figure 255538DEST_PATH_IMAGE036
Does not belong to the node set C where all the robots are currently located, and the robot is explained
Figure 860962DEST_PATH_IMAGE037
Move to
Figure 215327DEST_PATH_IMAGE038
Determining the mobile robot if the node is not occupied by other robots
Figure 943112DEST_PATH_IMAGE039
Can move to the next node on its remaining path, substep S302 is performed, otherwise substep S305 is performed.
S302, executing the mobile robot in the simulation running program environment
Figure 900703DEST_PATH_IMAGE040
Move (one step at a time, i.e., move from a certain node to its neighboring nodes), and move the mobile robot
Figure 90245DEST_PATH_IMAGE041
Is updated to
Figure 82472DEST_PATH_IMAGE042
Node, moving robot
Figure 935152DEST_PATH_IMAGE041
Set of remnant paths of
Figure 583303DEST_PATH_IMAGE043
The first element in (1)
Figure 310956DEST_PATH_IMAGE044
And (5) deleting.
S303, if the path set remains
Figure 892110DEST_PATH_IMAGE045
The last element (which indicates that the robot has walked to the exit of the control area) is left in the control area, the robot is moved
Figure 443921DEST_PATH_IMAGE046
Removing collectionsRCollecting path nodes into a mobile robot
Figure 110525DEST_PATH_IMAGE047
Deleting the corresponding current node and collecting the residual pathsLSet of remnant paths in
Figure 392602DEST_PATH_IMAGE048
Deleting the sequence, executing S304, if the path set remains
Figure 77530DEST_PATH_IMAGE049
If the number of the remaining elements is more than 1, re-executing S301;
s304, when traversing to the robot setRIf the mobile robots in the robot set are empty, determining that each mobile robot in the robot set can move out of the control area, namely, indicating that all the robots reach the outlets of the control area, indicating that the robots are not deadlocked, exiting deadlock detection by a scheduling system, and returning a result that the robots are not deadlocked; otherwise, re-entering the substep S301;
s305, in the substep S301, all the mobile robots cannot move to the next node on the remaining paths, the state of the current time of the control area in the simulation running program environment is obtained, whether the state of the current time is consistent with the state when the path node application request is received is judged, if yes, result information that the control area is in a deadlock state is fed back, and the deadlock state detected at this time is added to a deadlock state set D;
the state of the current moment refers to the current node positions of all robots in the regulation and control area; the deadlock state detected this time is added to the deadlock state set D, and the deadlock state is an identifier of the mobile robot, an identifier of a path node occupied by the mobile robot at the current time, and identifiers of all paths of the mobile robot.
Alternatively, it can be understood that: judging whether the state of the regulation and control area at the current moment belongs to the initial state of the regulation and control area when receiving the path node application request, if the situation is that all possibilities are traversed, finding no method which can enable all robots to safely reach the regulation and control area outlet, quitting the calculation, and returning the result information of the regulation and control area in the deadlock state; otherwise, go to substep S306;
s306, checking whether the mobile robot which is not traversed exists, and if so, executing S301; otherwise, the last traversed mobile robot executes the movement of the previous step in the simulation running program environment, and executes S301.
That is, any robot that can move is not found in the currently traversed state, and it is necessary to go back one step, that is, go back to a state before the current state, cancel the robot that moves in the last step, and recall substep S301 to attempt to move another robot.
Generally, a path to be executed by a mobile robot in a running system is a sequence containing a series of nodes generated by the robot according to a task start node and a task end node when the robot executes a certain mobile task, and the sequence is not required to be adjusted after being generated.
The control region is a topological structure belonging to a regional network, and is pre-specified or screened according to experience, graph theory and the like.
EXAMPLE III
In this embodiment, a detailed description is given with reference to the control method of a control area shown in fig. 3, and fig. 3 shows a schematic diagram of a deadlock detection method of three mobile robots in the control area.
As shown in fig. 3, the three stations moveThe dispatching system to which the robot belongs has 9 nodes in total, and the robot at the initial moment
Figure 786860DEST_PATH_IMAGE050
Located at node 1, which passes through path nodes 1, 3, 4, 7, 9, to destination node 9,
Figure 222652DEST_PATH_IMAGE051
located at node 8, which passes through path nodes 8, 7, 3, 4, 6, to destination node 6,
Figure 573999DEST_PATH_IMAGE052
located at node 5, which goes through path nodes 5, 4, 7, 3, 2 to destination node 2, and nodes 3, 4, 7 in the network form a ring, which is a typical potential deadlock area. In this embodiment, the method of this embodiment is described by a scheduling system operating evolution process:
first application path node, robot
Figure 129745DEST_PATH_IMAGE050
Applying for path node 3, step S1 determines that 3 belongs to the potential deadlock area, if yes, step S2 is entered, the deadlock traversal search is initialized,
Figure 541135DEST_PATH_IMAGE053
Figure 431599DEST_PATH_IMAGE054
step S3 is entered because there is only one robot in the potential deadlock area at this time
Figure 55479DEST_PATH_IMAGE050
Thus, direct traversal may be used
Figure 996890DEST_PATH_IMAGE050
Move to node 7, i.e.
Figure 61405DEST_PATH_IMAGE050
Dispatching system capable of safely arriving at exit of potential deadlock areaDoes not deadlock, therefore, the scheduling system allows
Figure 189898DEST_PATH_IMAGE050
The occupied path node 3 is applied.
Node of path for second application, robot
Figure 883047DEST_PATH_IMAGE055
Applying for path node 7, step S1 determining that 7 belongs to the potential deadlock area, proceeding to step S2, initializing deadlock traversal search,
Figure 662653DEST_PATH_IMAGE056
Figure 150266DEST_PATH_IMAGE057
Figure 31635DEST_PATH_IMAGE058
then, the process proceeds to step S3, where the traversal procedure is as follows:
a: first of all, select
Figure 13628DEST_PATH_IMAGE050
The next path node is 4, which does not belong to the set C, so a step S302 is performed, at this time,
Figure 398473DEST_PATH_IMAGE059
Figure 322567DEST_PATH_IMAGE060
Figure 691231DEST_PATH_IMAGE061
step S303 is entered and then step S301 is returned to;
b: in order to select again
Figure 709872DEST_PATH_IMAGE050
Its next path node is 7, belonging to set C, and therefore cannot choose to move
Figure 214802DEST_PATH_IMAGE050
Selecting
Figure 309797DEST_PATH_IMAGE055
The next node is 3, which does not belong to the set C, so a step S302 is performed, at which time,
Figure 647981DEST_PATH_IMAGE062
Figure 221045DEST_PATH_IMAGE063
Figure 580482DEST_PATH_IMAGE064
step S303 is entered and then step S301 is returned to;
c: selecting
Figure 95646DEST_PATH_IMAGE050
The next path node is 7, which does not belong to the set C, so a step S302 is performed, at this time,
Figure 173324DEST_PATH_IMAGE065
Figure 550078DEST_PATH_IMAGE066
Figure 514754DEST_PATH_IMAGE067
step S303 is entered because
Figure 951552DEST_PATH_IMAGE068
Of the formula (II) is left with only one element, and is therefore removed in R
Figure 250946DEST_PATH_IMAGE050
Figure 165813DEST_PATH_IMAGE069
Figure 14689DEST_PATH_IMAGE070
Then, returning to step S301;
d: selecting
Figure 356809DEST_PATH_IMAGE055
The next path node is 4, which does not belong to the set C, and can move, so that a step S302 is performed, at this time,
Figure 409078DEST_PATH_IMAGE071
step S303 is entered because
Figure 875438DEST_PATH_IMAGE072
Only one element remains in it, thus
Figure 63974DEST_PATH_IMAGE073
Can be selected fromRIs removed, step S304 is entered, at this timeRAnd if the current set is an empty set, judging that deadlock is not generated.
Thus, the robot
Figure 842574DEST_PATH_IMAGE073
The application path node 7 operation is allowed by the scheduling system.
Third application path node, robot
Figure 365828DEST_PATH_IMAGE074
Applying for the path node 4, judging 4 to belong to a potential deadlock area in step S1, entering step S2, initializing deadlock traversal search,
Figure 888077DEST_PATH_IMAGE075
Figure 665540DEST_PATH_IMAGE076
proceeding to step S3, at S301, it is found that if selected
Figure 100194DEST_PATH_IMAGE050
The node 4 of its next application belongs to the set C, if selected
Figure 861477DEST_PATH_IMAGE073
The node 3 of its next application also belongs to the set C,if selected, the
Figure 921837DEST_PATH_IMAGE074
And the node 7 of the next application also belongs to the set C, so the process goes to S305, and since the state of the control region at the current time is the initial state at the beginning of deadlock detection, the calculation is exited, and the control region returned as a result is the deadlock state. That is to say at this point the robot
Figure 68653DEST_PATH_IMAGE074
The node 4 of the application path is rejected by the scheduling system, otherwise the potential deadlock area is in deadlock. That is, the robot
Figure 189056DEST_PATH_IMAGE074
Must wait outside the deadlock zone
Figure 172056DEST_PATH_IMAGE050
Figure 783909DEST_PATH_IMAGE073
Move first, it is possible to avoid deadlock of the area.
Example four
The present embodiment also provides a control apparatus for a multi-mobile robot, including: a memory and a processor; the processor is configured to execute the computer program stored in the memory to implement the steps of the method for detecting deadlock of multiple robots in a control area according to any of the first embodiment and the second embodiment.
In another aspect, an embodiment of the present invention further provides a computer-readable storage medium, which is used for storing a computer program, and when the computer program is executed by a processor, the computer program implements the steps of the method for detecting deadlock of multiple robots in a regulatory region according to any of the above embodiments.
It should be noted that in the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The use of the terms first, second, third and the like are for convenience only and do not denote any order. These words are to be understood as part of the name of the component.
Furthermore, it should be noted that in the description of the present specification, the description of the term "one embodiment", "some embodiments", "examples", "specific examples" or "some examples", etc., means that a specific feature, structure, material or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, the claims should be construed to include preferred embodiments and all changes and modifications that fall within the scope of the invention.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention should also include such modifications and variations.

Claims (9)

1. A deadlock detection method for multiple robots in a regulation and control area is characterized by comprising the following steps:
s10, the control device receives a path node application request sent by any mobile robot, and judges whether the path node in the path node application request is in a preset regulation and control area;
s20, when the control device determines that the path node is in the regulation and control area, acquiring a node set of all path nodes of the regulation and control area, acquiring a robot set of all mobile robots in the current time period of the regulation and control area, a path node set of the current position of each robot in the robot set, and a remaining path set of each robot in the robot set;
s30, the control device adopts a deadlock detection strategy to carry out deadlock detection on each mobile robot in the regulation and control area in a simulation running program environment based on the node set, the robot set, the path node set and the residual path set, and judges whether each mobile robot in the robot set can move out of the regulation and control area;
s40, when the control device determines that each mobile robot in the robot set can move out of the regulation and control area, feeding back information for agreeing with the path node application request according to the path node application request;
and traversing each mobile robot in the regulation and control area by adopting a depth-first search mode according to the deadlock detection strategy, wherein the deadlock detection strategy is to determine whether all mobile robots can move out of the regulation and control area based on respective residual paths.
2. The deadlock detection method according to claim 1, further comprising, after S30:
if the control device determines that two or more mobile robots in the robot set cannot move out of the regulation and control area, confirming that the regulation and control area is in a deadlock state;
and feeding back a response of refusing to occupy the path node according to the path node application request.
3. The deadlock detection method according to claim 1 or 2, wherein the deadlock detection performed on each mobile robot in the control area by using the deadlock detection strategy in S30 includes:
traversing each mobile robot in the regulation and control area by adopting a depth-first search mode in a simulation running program environment, trying the sequence combination of the movement of each robot to carry out simulation movement, and finally judging whether each robot in the robot set can move out of the regulation and control area completely.
4. The deadlock detection method according to claim 1,
the S10 includes: mobile robot raThe path node in the application request isn a
The S20 includes:
the control device acquires the node set based on a topological network in which all mobile robots travel
Figure 342892DEST_PATH_IMAGE001
kThe number of all nodes in the regulation and control area is equal, and a positive integer is taken;
the control device forms a robot set according to all the mobile robots in the regulation and control area in the current time period
Figure 463295DEST_PATH_IMAGE002
(ii) a m is the number of all mobile robots in the regulation and control area, a positive integer is taken, and the robots are integratedRComprising a mobile robot ra
Obtaining a path node set of path nodes where each mobile robot in the robot set is located currently
Figure 931447DEST_PATH_IMAGE003
Obtaining the remnant path set
Figure 795498DEST_PATH_IMAGE004
(ii) a Wherein, corresponding to any robot r1
Figure 547553DEST_PATH_IMAGE005
tFor moving robot r1The number of path nodes of the remaining path of (1) is a positive integer,
Figure 822546DEST_PATH_IMAGE006
indicates the mobile robot r1The path node order of the remaining paths of
Figure 558421DEST_PATH_IMAGE007
For indicating the mobile robot r1Sequentially passing through the nodes of the residual path until the elements are moved out of the regulatory region
Figure 960583DEST_PATH_IMAGE008
Indicates the mobile robot r1The node at present is
Figure 846106DEST_PATH_IMAGE008
n aFor moving robot raA path node in the issued application request;
judging whether the current state of the control area is consistent with any state in the deadlock state set D, if so, determining that the control area is in the deadlock state, and directly feeding back result information of the control area in the deadlock state; otherwise, the process proceeds to S30.
5. The deadlock detection method according to claim 4, wherein the S30 includes:
s301, traversing robot setRIf there is a mobile robot
Figure 42732DEST_PATH_IMAGE009
Figure 265903DEST_PATH_IMAGE010
Belonging to any one of 1 to m, moving the robot
Figure 455445DEST_PATH_IMAGE011
Set of remnant paths of
Figure 916513DEST_PATH_IMAGE012
The second element in (1)
Figure 815199DEST_PATH_IMAGE013
If the mobile robot does not belong to the path node set C where all the robots are currently located, determining the mobile robot
Figure 10819DEST_PATH_IMAGE011
Can move to the next node on its remaining path, go to S302;
s302, executing the mobile robot in the simulation running program environment
Figure 754785DEST_PATH_IMAGE014
And move the robot
Figure 54048DEST_PATH_IMAGE011
Is updated to
Figure 592476DEST_PATH_IMAGE013
Node, moving robot
Figure 272463DEST_PATH_IMAGE014
Set of remnant paths of
Figure 23381DEST_PATH_IMAGE015
The first element in (1)
Figure 990200DEST_PATH_IMAGE016
Deleting;
s303, if the path set remains
Figure 479957DEST_PATH_IMAGE015
The last element is left in the table, the robot is moved
Figure 633857DEST_PATH_IMAGE017
Removing collectionsRThe path nodes are collected into a mobile robot in the set C
Figure 719625DEST_PATH_IMAGE017
Deleting the corresponding current node and collecting the residual pathsLSet of remnant paths in (1)
Figure 291683DEST_PATH_IMAGE018
Deleting the sequence, executing S304, if the path set remains
Figure 703073DEST_PATH_IMAGE012
If the number of the remaining elements is more than 1, re-executing S301;
s304, when traversing to the robot setRIf the mobile robot becomes the empty set, determining that each mobile robot in the robot set can move out of the regulation and control area; otherwise, re-enter S301.
6. The deadlock detection method according to claim 5, further comprising:
if all the mobile robots in the step S301 cannot move to the next node on the remaining path, performing step S305;
s305, obtaining the current time state of a control area in a simulation running program environment, judging whether the current time state is consistent with the state when receiving a path node application request, if so, feeding back result information of the control area in a deadlock state, and adding the detected deadlock state to a deadlock state set D;
the state of the current moment refers to the current node positions of all robots in the regulation and control area;
the deadlock state detected this time is added to the deadlock state set D, and the deadlock state is an identifier of the mobile robot, an identifier of a path node occupied by the mobile robot at the current time, and identifiers of all remaining paths of the mobile robot.
7. The deadlock detection method according to claim 6, wherein if the state at the current time in S305 is not consistent with the state at the time of receiving the path node application request, the method further comprises:
s306, checking whether the mobile robot which is not traversed exists, and if so, executing S301; otherwise, the last traversed mobile robot executes the movement of the previous step in the simulation running program environment, and executes S301.
8. The method of claim 1, further comprising:
the remnant paths of each robot in the remnant path set include: the set of nodes in the regulation and control area on the path from the current node to the final target node of each robot; wherein the path of each robot from the current node to its final destination node is pre-given;
the control area is determined by the control device based on a topological network in which all mobile robots travel and/or deadlock areas existing in historical time periods.
9. A control apparatus comprising a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program stored in the memory to implement the method for detecting deadlock among multiple robots in a control area according to any one of claims 1 to 8.
CN202210217189.4A 2022-03-07 2022-03-07 Deadlock detection method for multiple robots in regulation and control area Active CN114326753B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210217189.4A CN114326753B (en) 2022-03-07 2022-03-07 Deadlock detection method for multiple robots in regulation and control area

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210217189.4A CN114326753B (en) 2022-03-07 2022-03-07 Deadlock detection method for multiple robots in regulation and control area

Publications (2)

Publication Number Publication Date
CN114326753A true CN114326753A (en) 2022-04-12
CN114326753B CN114326753B (en) 2022-06-24

Family

ID=81030781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210217189.4A Active CN114326753B (en) 2022-03-07 2022-03-07 Deadlock detection method for multiple robots in regulation and control area

Country Status (1)

Country Link
CN (1) CN114326753B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024066072A1 (en) * 2022-09-28 2024-04-04 劢微机器人科技(深圳)有限公司 Agv deadlock problem processing method and apparatus, device, and storage medium

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10177415A (en) * 1996-12-18 1998-06-30 Hitachi Ltd Method for avoiding dead lock of unmanned carrying system
CN102865877A (en) * 2012-10-08 2013-01-09 无锡普智联科高新技术有限公司 Solution for multiple mobile robot path conflict based on dense storage regions
CN106979785A (en) * 2017-03-24 2017-07-25 北京大学深圳研究生院 A kind of complete traverse path planing method of multi-robot system
CN108268038A (en) * 2018-01-19 2018-07-10 广东美的智能机器人有限公司 The dispatching method and system of multiple mobile robot
CN108279675A (en) * 2018-01-19 2018-07-13 广东美的智能机器人有限公司 The method for collision management and system of multiple mobile robot
US20180210459A1 (en) * 2016-10-08 2018-07-26 Zhejiang Guozi Robot Technology Co., Ltd. Traffic management method for mobile robotics system
CN109213155A (en) * 2018-08-21 2019-01-15 北京云迹科技有限公司 Dispatching method, device and the server mutually avoided for multirobot
CN111487983A (en) * 2020-06-11 2020-08-04 上海振华重工(集团)股份有限公司 Multiple AGV scheduling method for closed type automatic logistics park
CN112650226A (en) * 2020-12-11 2021-04-13 京信智能科技(广州)有限公司 Robot scheduling method, device, equipment and medium
CN113899383A (en) * 2021-11-22 2022-01-07 上海西井信息科技有限公司 Multi-vehicle deadlock prevention method, system, equipment and storage medium based on short path

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10177415A (en) * 1996-12-18 1998-06-30 Hitachi Ltd Method for avoiding dead lock of unmanned carrying system
CN102865877A (en) * 2012-10-08 2013-01-09 无锡普智联科高新技术有限公司 Solution for multiple mobile robot path conflict based on dense storage regions
US20180210459A1 (en) * 2016-10-08 2018-07-26 Zhejiang Guozi Robot Technology Co., Ltd. Traffic management method for mobile robotics system
CN106979785A (en) * 2017-03-24 2017-07-25 北京大学深圳研究生院 A kind of complete traverse path planing method of multi-robot system
CN108268038A (en) * 2018-01-19 2018-07-10 广东美的智能机器人有限公司 The dispatching method and system of multiple mobile robot
CN108279675A (en) * 2018-01-19 2018-07-13 广东美的智能机器人有限公司 The method for collision management and system of multiple mobile robot
CN109213155A (en) * 2018-08-21 2019-01-15 北京云迹科技有限公司 Dispatching method, device and the server mutually avoided for multirobot
CN111487983A (en) * 2020-06-11 2020-08-04 上海振华重工(集团)股份有限公司 Multiple AGV scheduling method for closed type automatic logistics park
CN112650226A (en) * 2020-12-11 2021-04-13 京信智能科技(广州)有限公司 Robot scheduling method, device, equipment and medium
CN113899383A (en) * 2021-11-22 2022-01-07 上海西井信息科技有限公司 Multi-vehicle deadlock prevention method, system, equipment and storage medium based on short path

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周亚勤等: "密集仓储环境下多AGV/RGV调度方法研究", 《机械工程学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024066072A1 (en) * 2022-09-28 2024-04-04 劢微机器人科技(深圳)有限公司 Agv deadlock problem processing method and apparatus, device, and storage medium

Also Published As

Publication number Publication date
CN114326753B (en) 2022-06-24

Similar Documents

Publication Publication Date Title
EP4002049A1 (en) Systems and methods for optimizing route plans in an operating environment
WO2019141218A1 (en) Conflict management method and system for multiple mobile robots
Durfee et al. A Hierarchical Protocol for Coordinating Mulitagent Behaviors.
Lawley Deadlock avoidance for production systems with flexible routing
Standley Finding optimal solutions to cooperative pathfinding problems
WO2019141222A1 (en) Conflict management method and system for multiple mobile robots
Wu et al. Shortest routing of bidirectional automated guided vehicles avoiding deadlock and blocking
Bonakdarpour et al. A framework for automated distributed implementation of component-based models
Kshemkalyani et al. Efficient dispersion of mobile robots on graphs
Bonakdarpour et al. From high-level component-based models to distributed implementations
Kalinovcic et al. Modified Banker's algorithm for scheduling in multi-AGV systems
CN114326753B (en) Deadlock detection method for multiple robots in regulation and control area
Lehmann et al. Deadlock handling for real-time control of AGVs at automated container terminals
Chao Fewer monitors and more efficient controllability for deadlock control in S3 PGR 2 (systems of simple sequential processes with general resource requirements)
Gerostathopoulos et al. Tuning self-adaptation in cyber-physical systems through architectural homeostasis
Zhou et al. An impending deadlock-free scheduling method in the case of unified automated material handling systems in 300 mm wafer fabrications
Anders et al. Decentralized reconfiguration for self-organizing resource-flow systems based on local knowledge
Karpas et al. Automated verification of social law robustness in STRIPS
Xu et al. Dynamic spare point application based coordination strategy for multi-AGV systems in a WIP warehouse environment
Park et al. A distributed, event-driven control architecture for flexibly automated manufacturing systems
Panescu et al. HAPBA–a holonic adaptive plan-based architecture
Chen et al. Deadlock-solving traffic control methods for automated guided vehicle systems
CN115790594A (en) Multi-type robot path planning method, device, equipment and storage medium
Bobanac et al. Routing and scheduling in Multi-AGV systems based on dynamic banker algorithm
He et al. Deadlock Avoidance in Closed Guide-Path Based MultiAGV Systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant