# US 8,812,159 B2 · Robot system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,812,159 B2
- Document ID: US8812159B2
- Status: Granted
- Kind: B2
- Application number: 13/047,818
- Filed: 2011-03-15
- Published: 2011-09-15
- Granted: 2014-08-19
- Earliest claimed: 2010-03-15
- Assignees: Kabushiki Kaisha Yaskawa Denki
- Applicants: Shinichi Maehara; Hirokazu Kariyazaki; Takahiro Maeda
- Inventors: Shinichi Maehara; Hirokazu Kariyazaki; Takahiro Maeda
- Web page: https://patentgrep.com/patent/US8812159B2

## CPC

- B25J 9/1676: {Avoiding collision or forbidden zones}
- G05B 2219/39098: Estimate stop, brake distance in predef time, then verify if in safe distance
- B25J: MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES ({manipulators specially adapted for use in surgery A61B34/70; manipulators used in cleaning hollow articles B08B9/04}; manipulators associated with rolling mills B21B39/20; manipulators associated with forging machines B21J13/10; {manipulators associated with picking-up and placing mechanisms B23P19/007}; means for holding wheels or parts thereof B60B30/00; {vehicles with ground-engaging propulsion means, e.g. walking members B62D57/02, B62D57/032; devices for picking-up and depositing articles or materials between conveyors B65G47/90, B65G47/91; manipulators with gripping or holding means for transferring packages B65H67/065}; cranes B66C; {manipulators used in the protection or supervision of pipe-line installations F17D5/00; walking equipment adapted for nuclear steam-generators F22B37/006}; manipulators specially adapted for, or associated with, nuclear reactors G21C; {apparatus used for handling wafers during manufacture or treatment of semiconductor H10P72/50})
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)

## Abstract

A process includes defining, in a memory, arm-occupied regions including robot arms and a workpiece and tool attached to a robot wrist, a virtual safety protection barrier with which the arms are not allowed to come into contact, and movable ranges of robot axes; estimating the coasting angle of each robot axis for which the axis will coast when the robot is stopped due to an emergency stop while moving to a next target position, from an actually measured amount of coasting and the like; determining a post-coasting predicted position of the robot by adding the estimated coasting angles to the next target position; checking whether or not the arm-occupied regions at the post-coasting predicted position will come into contact with the virtual safety protection barrier, or whether or not the robot axes are within the movable ranges; and performing control to stop the robot immediately upon detection of abnormality.

## Claims

### Claim 1

A robot system comprising:
a robot, the robot having an arm, the arm having an axis; and
a virtual safety protection barrier with which an arm-occupied region is not allowed to come into contact, the arm-occupied region including the arm of the robot,
wherein, when a target position of a tip of the robot is calculated for each calculation period and a movement command for moving the axis of the arm of the robot is generated, it is checked whether or not the arm-occupied region at a target position of the tip of the robot in a subsequent calculation period will come into contact with the virtual safety protection barrier,
wherein, if it is determined that the arm-occupied region will come into contact with the virtual safety protection barrier at the target position of the tip of the robot in the subsequent calculation period, then control is performed to cause the robot to stop moving before the robot begins movement from an initial position of the tip of the robot in the subsequent calculation period toward the target position of the tip of the robot in the subsequent calculation period, and
wherein, if it is determined that the arm-occupied region will not come into contact with the virtual safety protection barrier at the target position of the tip of the robot in the subsequent calculation period, then a coasting angle of the axis of the arm of the robot is estimated from an actual coasting angle measured in advance and from a mechanical delay time, the coasting angle being an angle for which the axis of the arm of the robot will coast when the robot is commanded to stop while at the target position of the tip of the robot in the subsequent calculation period due to an emergency stop during movement of the robot in accordance with a movement command for moving the tip of the robot to the target position in the subsequent calculation period, and a post-coasting predicted position of the axis of the arm of the robot is determined by adding a coasting angle of the axis to the movement command for moving the axis in the subsequent calculation period, the post-coasting predicted position of the axis being a position at which the axis of the arm of the robot is predicted to stop after coasting.

### Claim 2 (depends on 1)

The robot system according to claim 1,
wherein the post-coasting predicted position of the axis of the arm of the robot is determined by adding a coasting angle of the axis to the movement command for moving the axis in the subsequent calculation period, and it is estimated whether or not the arm-occupied region at the post-coasting predicted position of the axis will come into contact with the virtual safety protection barrier, and
wherein, if it is determined that the arm-occupied region will come into contact with the virtual safety protection barrier, then control is performed to cause the robot to stop moving.

### Claim 3 (depends on 1)

The robot system according to claim 1,
wherein the coasting angle of the axis of the arm of the robot, which is an angle for which the axis of the arm of the robot will coast when the robot is stopped due to an emergency stop during the movement of the robot, is estimated from an actual coasting angle measured in advance and from a mechanical delay time,
wherein the post-coasting predicted position of the axis of the arm of the robot is determined by adding the estimated coasting angle of the axis to the movement command for moving the axis in the subsequent calculation period,
wherein it is estimated whether or not the post-coasting predicted position of the axis is within a movable range of the axis, and
wherein, if the post-coasting predicted position of the axis is outside the movable range, then control is performed to cause the robot to stop moving.

### Claim 4 (depends on 1)

The robot system according to claim 1,
wherein the coasting angle of the axis of the arm of the robot, which is an angle for which the axis of the arm of the robot will coast when the robot is stopped due to an emergency stop during the movement of the robot, is estimated from an actual coasting angle measured in advance and from a mechanical delay time,
wherein the post-coasting predicted position of the axis of the arm of the robot is determined by adding the actual coasting angle of the axis to the movement command for moving the axis in the subsequent calculation period,
wherein it is estimated whether or not the arm-occupied region at the post-coasting predicted position of the axis will come into contact with the virtual safety protection barrier, and
wherein, if it is determined that the arm-occupied region will come into contact with the virtual safety protection barrier, then control is performed to cause the robot to stop moving.

### Claim 5

A robot system comprising:
a robot, the robot having a joint axis, the joint axis being movable in a defined movable range,
wherein, when a target position of a tip of the robot is calculated for each calculation period and a movement command for moving the joint axis of the robot is generated, it is estimated whether or not a movement command value for the joint axis in a subsequent calculation period is within the movable range,
wherein, if the movement command value for the joint axis in the subsequent calculation period is outside the movable range, then control is performed to cause the robot to stop moving before the robot begins movement from an initial position of the tip of the robot in the subsequent calculation period toward a target position of the tip of the robot in the subsequent calculation period, and
wherein, if the movement command value for the joint axis in the subsequent calculation period is within the movable range, then a coasting angle of the joint axis of the robot is estimated from an actual coasting angle measured in advance and from a mechanical delay time, the coasting angle being an angle for which the joint axis of the robot will coast when the robot is commanded to stop while at the target position of the tip of the robot in the subsequent calculation period due to an emergency stop during movement of the robot in accordance with a movement command for moving the tip of the robot to the target position in the subsequent calculation period, and a post-coasting predicted position of the joint axis of the robot is determined by adding the coasting angle of the joint axis to the movement command for moving the joint axis in the subsequent calculation period, the post-coasting predicted position of the joint axis being a position at which the joint axis of the robot is predicted to stop after coasting.

### Claim 6 (depends on 5)

The robot system according to claim 5,
wherein the post-coasting predicted position of the joint axis of the robot is determined by adding the coasting angle of the joint axis to the movement command for moving the joint axis in the subsequent calculation period, and it is estimated whether or not the post-coasting predicted position of the joint axis will be within the movable range, and
wherein, if the post-coasting predicted position of the joint axis will be outside the movable range, then control is performed to cause the robot to stop moving.

### Claim 7

A manufacturing method using a robot system, comprising:
providing a robot having a plurality of joint axes, and a safety protection barrier arranged around the robot, the robot performing an operation inside the safety protection barrier;
providing a controller configured to determine whether or not the robot will come into contact with the safety protection barrier during the operation at a target position of the robot in a subsequent calculation period; and
causing the robot to stop moving before the robot begins movement from an initial position of the robot in the subsequent calculation period toward the target position of the robot in the subsequent calculation period if the controller determines that the robot will come into contact with the safety protection barrier.

### Claim 8 (depends on 7)

The manufacturing method using a robot system according to claim 7, wherein the controller is provided with the functions of
estimating a coasting angle of each of the joint axes of the robot from an actual coasting angle measured in advance and from a mechanical delay time if the robot is commanded to stop while at the target position of the robot in the subsequent calculation period, and
determining a post-coasting predicted position of each of the joint axes of the robot by adding the coasting angle of the joint axis among the joint axes to a movement command for moving the joint axis in the subsequent calculation period, the post-coasting predicted position of each of the joint axes of the robot being a position at which the joint axis is predicted to stop after coasting.

### Claim 9 (depends on 7)

The manufacturing method using a robot system according to claim 7,
wherein, when a target position of a tip of the robot is calculated for each calculation period and a movement command for moving each of the joint axes of the robot is generated, the controller estimates whether or not a movement command value for each of the joint axes in a subsequent calculation period is within a movable range of the joint axis.

### Claim 10 (depends on 1)

The robot system according to claim 1,
wherein, if it is determined that the arm-occupied region will not come into contact with the virtual safety protection barrier at the target position of the tip of the robot in the subsequent calculation period based on the determined post-coasting predicted position, then the movement command is output to begin movement from the initial position of the tip of the robot in the subsequent calculation period toward the target position of the tip of the robot in the subsequent calculation period.

### Claim 11 (depends on 5)

The robot system according to claim 5,
wherein, if it is determined that the movement command value for the joint axis in the subsequent calculation period is within the movable range based on the determined post-coasting predicted position, then the movement command is output to begin movement from the initial position of the tip of the robot in the subsequent calculation period toward the target position of the tip of the robot in the subsequent calculation period.

### Claim 12 (depends on 7)

The manufacturing method using a robot system to claim 7,
wherein, if it is determined that the robot will not come into contact with the safety protection barrier at the target position of the robot in the subsequent calculation period, then:
estimating a coasting angle of the axis of the arm of the robot from an actual coasting angle measured in advance and from a mechanical delay time, the coasting angle being an angle for which the axis of the arm of the robot will coast when the robot is commanded to stop while at the target position of the tip of the robot in the subsequent calculation period due to an emergency stop during movement of the robot in accordance with a movement command for moving the robot to the target position in the subsequent calculation period; and
determining a post-coasting predicted position of the axis of the arm of the robot by adding a coasting angle of the axis to the movement command for moving the axis in the subsequent calculation period, the post-coasting predicted position of the axis being a position at which the axis of the arm of the robot is predicted to stop after coasting.

### Claim 13 (depends on 12)

The manufacturing method using a robot system to claim 12, wherein, if it is determined that the robot will not come into contact with the safety protection barrier at the target position of the robot in the subsequent calculation period based on the determined post-coasting predicted position, then the movement command is output to begin movement from the initial position of the robot in the subsequent calculation period toward the target position of the he robot in the subsequent calculation period.

### Claim 14

A robot system comprising:
a robot having an arm, the arm having an axis; and
a virtual safety protection barrier with which an arm-occupied region is not allowed to come into contact, the arm-occupied region including the arm of the robot,
wherein an actual amount of coasting (θDiMAX) obtained when a robot, which holds at least a maximum load, is stopped due to an emergency stop at a maximum speed (ωiMAX) of each axis under the maximum load is measured in advance using an actual robot system and stored,
wherein, when a target position of a tip of the robot is calculated for each calculation period and a movement command for moving the axis of the arm of the robot is generated, it is checked whether or not the arm-occupied region at a target position of the tip of the robot in a subsequent calculation period will come into contact with the virtual safety protection barrier,
wherein, if it is determined that the arm-occupied region will come into contact with the virtual safety protection barrier, then control is performed to cause the robot to stop moving, and
wherein, if it is determined that the arm-occupied region will not come into contact with the virtual safety protection barrier, then:
a speed of each axis is calculated by dividing a difference between a current position and a next target position by a calculation period time;
a variable coasting angle is calculated by multiplying the actual amount of coasting by a value obtained by dividing the speed of each axis by the maximum speed of each axis;
an amount of fixed-delay coasting is calculated by multiplying the speed of each axis by a fixed delay time which is preset as a mechanical delay time;
a coasting angle of each axis of the arm of the robot is estimated by adding the variable amount of coasting to the amount of fixed-delay coasting, the coasting angle being an angle for which the axis of the arm of the robot will coast when the robot is stopped due to an emergency stop during movement of the robot in accordance with a movement command for moving the tip of the robot to the target position in the subsequent calculation period; and
a post-coasting predicted position of each axis of the arm of the robot is determined based on the coasting angle of each axis and an operation command of each axis in a next calculation period time,
wherein it is estimated whether or not the arm-occupied region at the post-coasting predicted position of each axis will come into contact with the virtual safety protection barrier, and, if it is determined that the arm-occupied region will come into contact with the virtual safety protection barrier, control is performed to cause the robot to stop moving.
