A system and method for controlling avoiding collisions in a workcell containing multiple robots is provided. The system includes a sequence of instructions residing on a controller for execution thereon to perform an interference check automatic zone method. The interference check automatic zone method includes the steps of: determining a first portion of a common space that is occupied during a movement of a first robot along a first programmed path; determining a second portion of the common space that is occupied during a movement of a second robot along a second programmed path; comparing the first portion and the second portion to determine if an overlap exists therebetween; and moving the first robot and the second robot in response to whether or not the overlap exists.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A system for controlling collision avoidance in a workcell containing multiple robots, comprising: a controller adapted for connection to a source of power; a first sequence of instructions residing on the controller for execution thereon, the first sequence of instructions including an interference check automatic zone method; a first robot in communication with and controlled by the controller for movement in accordance with the first sequence of instructions; a second robot in communication with and controlled by the controller or another controller for movement in accordance with a second sequence of instructions, wherein the first robot and the second robot are configured to selectively occupy at least one common space within the workcell; and wherein the interference check automatic zone method forms for each of the first and second robots a separate voxel model representing a volume of the common space occupied by an associated one of the first and second robots during movement of the first and second robots in accordance with the first and second sequence of instructions respectively, wherein the common space is represented by a voxel model and has both an occupied portion defined by the volume of the common space occupied by the separate voxel models of the first and second robots and an unoccupied portion defined by a volume of the common space not occupied by the separate voxel models of the first and second robots, and wherein voxels of the separate voxel models are voxels in the voxel model of the common space.
2. The system of claim 1 , wherein the sequence of instructions comprises the steps of: determining a first portion of the common space that is occupied during a movement of the first robot along a first programmed path as the separate voxel model for the first robot; determining a second portion of the common space that is occupied during a movement of a second robot along a second programmed path as the separate voxel model for the second robot; comparing the voxels of the first portion to the voxels of the second portion of the common space to determine if an overlap exists between the first portion and the second portion; and one of: moving only one of the first robot along the first programmed path or the second robot along the second programmed path, if there is overlap between the first portion and the second portion of the common space; and moving the first robot along the first programmed path and moving the second robot along the second programmed path, if there is no overlap between the first portion and the second portion of the common space.
3. The system of claim 1 , further comprising a teaching device in electrical communication with the controller and configured to graphically represent the first robot, the second robot, a first portion of the common space, and a second portion of the common space for an operator, wherein the first and second sequence of instructions are generated through the use of the teaching device to jog the first robot and the second robot.
4. The system of claim 1 , wherein the first robot and the second robot are attached to a single robot controller.
5. The system of claim 1 , wherein the first robot is attached to a first robot controller and the second robot is attached to a second robot controller.
6. The system of claim 1 , wherein the workcell includes a plurality of common spaces, the first robot and the second robot configured to selectively occupy each of the common spaces.
7. A method of avoiding collisions in a workcell containing multiple robots, the method comprising the steps of: providing at least one common space within the workcell that is selectively occupied by a first robot and a second robot; determining a first portion of the common space that is occupied during a movement of the first robot along a first programmed path as a first voxel model; determining a second portion of the common space that is occupied during a movement of a second robot along a second programmed path as a second voxel model, wherein the common space is represented by a voxel model and has both an occupied portion defined by the volume of the common space occupied by the first and second voxel models of the first and second robots and an unoccupied portion defined by a volume of the common space not occupied by the first and second voxel models of the first and second robots, and wherein voxels of the first and second voxel models are voxels in the voxel model of the common space; comparing the first portion voxels and the second portion voxels to determine if an overlap exists therebetween; and one of: moving only one of the first robot along the first programmed path or the second robot along the second programmed path, if there is overlap between the first portion and the second portion of the common space; and moving the first robot along the first programmed path and moving the second robot along the second programmed path, if there is no overlap between the first portion and the second portion of the common space.
8. The method of claim 7 , wherein the common space, the first portion, and the second portion are each represented by a voxel model.
9. The method of claim 7 , further comprising the step of determining an unoccupied portion of the common space after at least one of the first robot has moved along the first programmed path and the second robot has moved along the second programmed path.
10. The method of claim 9 , further comprising the step of releasing the unoccupied portion of the common space for a further programmed path.
11. The method of claim 7 , further comprising the step of transferring the coordinates of at least one of the first portion and the second portion to at least one controller, the controller configured to generate a voxel model from the coordinates.
12. The method of claim 7 , wherein a robot controller conducts the steps of determining if the overlap exists between the first portion and the second portion of the common space.
13. The method of claim 7 , wherein the movement of one of the first robot and the second robot if overlap exists is determined by a priority value.
14. The method of claim 7 , wherein one of the first programmed path and the second programmed path is provided by a single motion statement in a sequence of instructions having multiple motion statements.
15. The method of claim 7 , wherein one of the first programmed path and the second programmed path is provided by a plurality of motion statements.
16. The method of claim 7 , wherein at least one of the first portion and the second portion of the common space includes a space occupied by at least one of a tooling attached to at least one of the first robot and the second robot and a dressout attached to at least one of the first robot and the second robot.
17. The method of claim 7 , wherein the step of determining the overlap also includes determining overlap with a third portion of the common space occupied by an obstacle.
18. The method of claim 7 , wherein at least one of the first robot and the second robot having a plurality of programmed paths, the method further comprising the step of analyzing the plurality of programmed paths for the existence of overlap causing a deadlock condition.
19. The method of claim 18 , wherein an operating sequence of the plurality of programmed paths is adjusted to militate against the deadlock condition.
20. A method of avoiding collisions in a workcell containing multiple robots, the method comprising the steps of: providing at least one common space within the workcell that is selectively occupied by a first robot and a second robot, the first robot and the second robot in communication with at least one controller; determining a first portion of the common space that is occupied during a movement of the first robot along a first programmed path; representing the first portion as a first voxel model on the controller; determining a second portion of the common space that is occupied during a movement of a second robot along a second programmed path; representing the second portion as a second voxel model on the controller, wherein the common space is represented by a voxel model and has both an occupied portion defined by the volume of the common space occupied by the first and second voxel models of the first and second robots and an unoccupied portion defined by a volume of the common space not occupied by the first and second voxel models of the first and second robots, and wherein voxels of the first and second voxel models are voxels in the voxel model of the common space; comparing the first voxel model and the second voxel model to determine if an overlap exists therebetween; one of: moving only one of the first robot along the first programmed path or the second robot along the second programmed path, if there is overlap between the first voxel model and the second voxel model of the common space; and moving the first robot along the first programmed path and moving the second robot along the second programmed path, if there is no overlap between the first voxel model and the second voxel model of the common space; determining an unoccupied portion of the common space after at least one of the first robot has moved along the first programmed path and the second robot has moved along the second programmed path; and releasing the unoccupied portion of the common space for a further programmed path.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
May 21, 2008
November 20, 2012
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.