Method and system for automatically preventing deadlock in multi-robot systems
First Claim
1. A method for preventing deadlock of a pair of robots which have a common workspace, each of the robots being controlled by an associated program wherein when the programs are executed concurrently to generate normal program motion each of the robots occupies at least a portion of the common workspace during a portion of execution of the associated program, said method comprising the steps of:
- prior to the normal program motion, determining portions of the common workspace occupied by the robots by initial operation in a lockdown mode or an offline run according to the programs including representing the occupied portions of the common workspace with voxel models;
determining at least one interference region wherein the portions of the common workspace occupied by the robots overlap by comparing the voxel models to determine the at least one interference region;
analyzing the at least one interference region and determining where at least one deadlock condition of the two robots can occur; and
avoiding the at least one deadlock condition during execution of the programs in the normal program motion by automatically determining a mechanism to avoid the at least one deadlock condition and associating the mechanism with at least one of the programs before execution of the programs in the normal program motion.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for controlling avoiding collisions and deadlocks in a workcell containing multiple robots automatically determines the potential deadlock conditions and identifies a way to avoid these conditions. Deadlock conditions are eliminated by determining the deadlock-free motion statements prior to execution of the motions that have potential deadlock conditions. This determination of deadlock-free motion statements can be done offline, outside normal execution, or it can be done during normal production execution. If there is sufficient CPU processing time available, the determination during normal production execution provides the most flexibility to respond to dynamic conditions such as changes in I/O timing or the timing of external events or sequences. For minimal CPU impact the determination is done offline where many permutations of programming sequences can be analyzed and an optimized sequence of execution may be found.
-
Citations
13 Claims
-
1. A method for preventing deadlock of a pair of robots which have a common workspace, each of the robots being controlled by an associated program wherein when the programs are executed concurrently to generate normal program motion each of the robots occupies at least a portion of the common workspace during a portion of execution of the associated program, said method comprising the steps of:
-
prior to the normal program motion, determining portions of the common workspace occupied by the robots by initial operation in a lockdown mode or an offline run according to the programs including representing the occupied portions of the common workspace with voxel models; determining at least one interference region wherein the portions of the common workspace occupied by the robots overlap by comparing the voxel models to determine the at least one interference region; analyzing the at least one interference region and determining where at least one deadlock condition of the two robots can occur; and avoiding the at least one deadlock condition during execution of the programs in the normal program motion by automatically determining a mechanism to avoid the at least one deadlock condition and associating the mechanism with at least one of the programs before execution of the programs in the normal program motion. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer readable media containing instructions executable by a computer to perform a method for preventing deadlock of a pair of robots which have a common workspace, each of the robots being controlled by an associated program wherein when the programs are executed concurrently to generate normal program motion each of the robots occupies at least a portion of the common workspace during a portion of execution of the associated program, the method comprising:
-
prior to the normal program motion, the instructions determining portions of the common workspace occupied by the robots by initial operation in a lockdown mode or an offline run according to the programs wherein the instructions represent the occupied portions of the common workspace with voxel models; the instructions determining at least one interference region wherein the portions of the common workspace overlap by comparing the voxel models to determine the at least one interference region; the instructions analyzing the at least one interference region and determining where at least one deadlock condition of the two robots can occur; and the instructions avoiding the at least one deadlock condition during execution of the programs in the normal program motion by automatically determining a mechanism to avoid the at least one deadlock condition and associating the mechanism with at least one of the programs before execution of the programs in the normal program motion. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method for preventing deadlock of a plurality of robots which have a common workspace, each of the robots being controlled by an associated program wherein when the programs are executed concurrently to generate normal program motion each of the robots occupies at least a portion of the common workspace during a portion of execution of the associated program, said method comprising the steps of:
-
prior to the normal program motion, determining portions of the common workspace occupied by the robots by initial operation in a lockdown mode or an offline run according to the programs including representing the occupied portions of the common workspace with voxel models; determining at least one interference region wherein the portions of the common workspace overlap for at least two of the robots by comparing the voxel models to determine the at least one interference region; analyzing the at least one interference region and determining where at least one deadlock condition of the at least two robots can occur; and avoiding the at least one deadlock condition during execution of the programs in the normal program motion by automatically determining at least one deadlock-free motion statement and associating the statement with at least one of the programs before execution of the programs in the normal program motion.
-
Specification