# US 11,717,961 B2 · Robot control method and robot control device

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

- Number: US 11,717,961 B2
- Document ID: US11717961B2
- Status: Granted
- Kind: B2
- Application number: 17/136,344
- Filed: 2020-12-29
- Published: 2021-04-22
- Granted: 2023-08-08
- Earliest claimed: 2018-07-02
- Assignees: Panasonic Intellectual Property Management Co., Ltd.
- Applicants: Panasonic Intellectual Property Management Co., Ltd.
- Inventors: Hiroyuki Nakata; Hiroyoshi Ueda; Atsumi Hashimoto; Ryosuke Yamamoto; Masayoshi Iwatani
- Web page: https://patentgrep.com/patent/US11717961B2

## CPC

- B25J 9/1641: {compensation for backlash, friction, compliance, elasticity in the joints}
- B25J 9/1638: {compensation for arm bending/inertia, pay load weight/inertia}
- B25J 9/1664: {characterised by motion, path, trajectory planning}
- B25J 13/088: {with position, velocity or acceleration sensors}
- G05B 2219/41078: Backlash acceleration compensation when inversing, reversing direction
- G05B 2219/41084: Compensation speed axis with changing, reversing direction, quadrant circle
- 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

In an angular velocity calculation block, an angular velocity component is calculated based on a position command for a joint portion. In a kinetic calculation block, a kinetic torque is calculated based on the position command for the joint portion. In a command velocity component reversal detection block, a reversal timing is calculated based on the angular velocity component. In a reverse torque detection block, a reverse torque is calculated based on the kinetic torque and the reversal timing. In a backlash correction amount calculation block, the correction amount of the joint portion is calculated based on the kinetic torque, the reverse torque, and the reversal timing.

## Claims

### Claim 1

A robot control method for controlling a motion of a robot arm having a plurality of joint portions, the method comprising:
calculating an angular velocity of at least one of the plurality of joint portions which is targeted for correction;
calculating a torque applied to the at least one joint portion targeted for correction, based on position commands for the plurality of joint portions;
calculating a reversal timing at which a direction of rotation of the at least one joint portion targeted for correction is reversed, based on the angular velocity of the at least one joint portion targeted for correction;
calculating a reverse torque applied to the at least one joint portion targeted for correction, based on the torque and the reversal timing;
calculating, based on the reverse torque and the reversal timing, a torsion correction amount and correction time for correcting torsion that occurs, due to the reverse torque, at the at least one joint portion targeted for correction; and
if the reverse torque is smaller than a predetermined threshold value, correcting a corresponding one of the position commands for the at least one joint portion targeted for correction, based on a backlash correction amount for correcting backlash that occurs at the at least one joint portion targeted for correction, and if the reverse torque is larger than the predetermined threshold value, correcting the position command for the at least one joint portion targeted for correction, based on the backlash correction amount, the torsion correction amount, and the correction time.

### Claim 2 (depends on 1)

The robot control method of claim 1, wherein
in the calculating the torsion correction amount and the correction time, the torsion correction amount and the correction time are calculated such that as the reverse torque increases, the torsion correction amount increases and the correction time decreases.

### Claim 3

A robot control method for controlling a motion of a robot arm having a plurality of joint portions,
at least one of the plurality of joint portions which is targeted for correction having a pivot on which the robot arm is pivoted, the method comprising:
calculating an angular velocity of the pivot based on a position command for the pivot;
calculating an acceleration of the pivot based on the angular velocity of the pivot;
calculating a reversal timing at which a direction of rotation of the pivot is reversed, based on the angular velocity of the pivot;
calculating an acceleration at reversal of the pivot based on the acceleration of the pivot and the reversal timing;
calculating a torsion correction amount and correction time for correcting torsion that occurs at the pivot at the reversal of the pivot, based on the acceleration at reversal and the reversal timing; and
if the acceleration at reversal is smaller than a predetermined threshold value, correcting the position command for the pivot, based on a backlash correction amount for correcting backlash that occurs at the pivot, and if the acceleration at reversal is larger than the predetermined threshold value, correcting the position command for the pivot, based on the backlash correction amount, the torsion correction amount, and the correction time.

### Claim 4 (depends on 3)

The robot control method of claim 3, wherein
in the calculating the torsion correction amount and the correction time, the torsion correction amount and the correction time are calculated such that as the acceleration at reversal increases, the torsion correction amount increases and the correction time decreases.

### Claim 5

A robot control device for controlling a motion of a robot arm having a plurality of joint portions, the robot control device comprising:
an angular velocity calculator that calculates an angular velocity of at least one of joint portions which is targeted for correction;
a kinetic calculator that calculates a torque applied to the at least one joint portion targeted for correction, based on position commands for the plurality of joint portions;
a reversal timing calculator that calculates a reversal timing at which a direction of rotation of the at least one joint portion targeted for correction is reversed, based on the angular velocity of the at least one joint portion targeted for correction;
a reverse torque calculator that calculates a reverse torque applied to the at least one joint portion targeted for correction, based on the torque and the reversal timing; and
a correction amount calculator that calculates, based on the reverse torque and the reversal timing, a torsion correction amount and correction time for correcting torsion that occurs, due to the reverse torque, at the at least one joint portion targeted for correction,
the correction amount calculator outputs, if the reverse torque is smaller than a predetermined threshold value, a correction amount for correcting a corresponding one of the position commands for the at least one joint portion targeted for correction, based on a backlash correction amount for correcting backlash that occurs at the at least one joint portion targeted for correction, and outputs, if the reverse torque is larger than the predetermined threshold value, the correction amount for correcting the position command for the at least one joint portion targeted for correction, based on the backlash correction amount, the torsion correction amount, and the correction time.

### Claim 6

A robot control device for controlling a motion of a robot arm having a plurality of joint portions,
at least one of the plurality of joint portions which is targeted for correction having a pivot on which the robot arm is pivoted, the robot control device comprising:
an angular velocity calculator that calculates an angular velocity of the pivot based on a position command for the pivot;
an acceleration calculator that calculates an acceleration of the pivot based on the angular velocity of the pivot;
a reversal timing calculator that calculates a reversal timing at which a direction of rotation of the pivot is reversed, based on the angular velocity of the pivot;
a reversal acceleration calculator that calculates an acceleration at reversal of the pivot based on the acceleration of the pivot and the reversal timing; and
a correction amount calculator that calculates a torsion correction amount and correction time for correcting torsion that occurs at the pivot at the reversal of the pivot, based on the acceleration at reversal and the reversal timing,
the correction amount calculator outputs, if the acceleration at reversal is smaller than a predetermined threshold value, a correction amount for correcting the position command for the pivot, based on a backlash correction amount for correcting backlash that occurs at the pivot, and outputs, if the acceleration at reversal is larger than the predetermined threshold value, the correction amount for correcting the position command for the pivot, based on the backlash correction amount, the torsion correction amount, and the correction time.
