# US 10,350,754 B2 · Control device for robot

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

- Number: US 10,350,754 B2
- Document ID: US10350754B2
- Status: Granted
- Kind: B2
- Application number: 15/662,724
- Filed: 2017-07-28
- Published: 2018-03-29
- Granted: 2019-07-16
- Earliest claimed: 2016-09-27
- Assignees: Denso Wave Incorporated
- Applicants: Denso Wave Incorporated
- Inventors: Kenji Nagamatsu
- Web page: https://patentgrep.com/patent/US10350754B2

## CPC

- B25J 9/1633: {compliant, force, torque control, e.g. combined with position control}
- B25J 9/161: {Hardware, e.g. neural networks, fuzzy logic, interfaces, processor}
- B25J 9/1641: {compensation for backlash, friction, compliance, elasticity in the joints}
- B25J 9/1679: {characterised by the tasks executed}
- B25J 9/1694: {characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion}
- G05B 5/01: electric
- G05B 2219/39241: Force and vibration control
- G05B 2219/40582: Force sensor in robot fixture, base
- G05B 2219/40597: Measure, calculate angular momentum, gyro of rotating body at end effector
- 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 control device controlling a robot including a driving unit, a moving unit that is slidable along a predetermined track and a predetermined shaft that is slidably supported by the moving unit includes an instruction value calculating unit calculating an instruction value that drives the driving unit such that the moving unit is moved to a target position, an accelerating-speed calculating unit calculating an angular accelerating speed of when the instruction value changes, a gravity-center distance calculating unit calculating a gravity center distance, a correction instruction-value calculating unit calculating a correction instruction value by correcting the instruction value such that a position of the gravity center which is projected on the predetermined track approaches the target position, and a driving control unit controlling the driving unit based on the correction instruction value.

## Claims

### Claim 1

A control device for a robot including a driving unit, a moving unit that is driven by the driving unit and is slidable along a predetermined track in a horizontal surface, and a predetermined shaft that is slidably supported by the moving unit in a vertical direction, the predetermined shaft to which a subject is assembled, comprising:
an instruction value calculating unit calculating an instruction value that drives the driving unit such that the moving unit is moved to a target position that is a latest target position of the moving unit;
an accelerating-speed calculating unit calculating an accelerating speed of when the instruction value calculated by the instruction value calculating unit changes;
a gravity-center distance calculating unit calculating a gravity center distance that is a distance from a support portion of the moving unit supporting the predetermined shaft to a gravity center of a total load that is equivalent to the predetermined shaft and the subject, based on the gravity center and a position of the predetermined shaft in the vertical direction;
a correction instruction-value calculating unit calculating a correction instruction value by correcting the instruction value calculated by the instruction value calculating unit, based on the instruction value, a spring constant of the support portion relative to a twisting of the predetermined shaft, a mass of the total load, the accelerating speed calculated by the accelerating-speed calculating unit and the gravity center distance calculated by the gravity-center distance calculating unit, such that a position of the gravity center which is projected on the predetermined track approaches the target position; and
a driving control unit controlling the driving unit based on the correction instruction value calculated by the correction-instruction valve calculating unit.

### Claim 2 (depends on 1)

The control device for the robot according to claim 1, wherein
when the moving unit is in an accelerating state, the correction instruction-value calculating unit calculates the correction instruction value such that the moving unit is in advance of the target position.

### Claim 3 (depends on 1)

The control device for the robot according to claim 1, wherein
when the moving unit is in a decelerating state, the correction instruction-value calculating unit calculates the correction instruction value such that the moving unit is in delay of the target position.

### Claim 4 (depends on 1)

The control device for the robot according to claim 1, wherein
the correction instruction-value calculating unit calculates the correction instruction value such that the position of the gravity center matches the target position.

### Claim 5 (depends on 1)

The control device for the robot according to claim 1, wherein
the correction instruction-value calculating unit calculates the correction instruction value such that the position of the gravity center matches an intermediate position between the position of the gravity center and the target position.

### Claim 6 (depends on 1)

The control device for the robot according to claim 1, wherein
the correction instruction-value calculating unit changes the correction instruction value that is calculated to an instruction value obtained by filtering the correction instruction value.

### Claim 7 (depends on 1)

The control device for the robot according to claim 1, wherein
the moving unit is slidable along an arc track that is predetermined around a center axis that is predetermined as a center, in a horizontal surface,
the spring constant is expressed as K, the mass of the total load is expressed as M, a target angular position of the moving unit relative to the center axis as a center, which corresponds to the target position, is expressed as θ, an angular accelerating speed of when the target angular position θ changes is expressed to as aω, the gravity center distance is expressed as L, and a correction quantity of the target angular position θ is expressed as Δθ,
the instruction value calculating unit calculates the target angular position θ as the instruction value, and
the correction instruction-value calculating unit calculates the correction instruction value by adding the correction quantity Δθ calculated by using a formula that Δθ=M×aω×L2/K to the target angular position θ.

### Claim 8 (depends on 7)

The control device for the robot according to claim 7, wherein
the robot includes the moving unit including a first moving unit that is slidable relative to a first arc track that is predetermined around a center axis that is predetermined as a center in a horizontal surface and a second moving unit,
the second moving unit is movably supported by the first moving unit, the second moving unit is slidable relative to a second arc track that is predetermined and is included in the arc track around the first moving unit as a center in a horizontal surface, the arc track is equivalent to the predetermined track, and
the instruction value calculating unit, the accelerating-speed calculating unit, the gravity-center distance calculating unit, the correction instruction-value calculating unit and the driving control unit execute processings relative to the first moving unit and the second moving unit.

### Claim 9

A control device for a robot including a driving unit, a moving unit that is driven by the driving unit and is slidable along a predetermined track in a horizontal surface, and a predetermined shaft that is slidably supported by the moving unit in a vertical direction, the predetermined shaft to which a subject is assembled, comprising:
a target position calculating unit calculating a target position that is a latest target position of the moving unit;
an accelerating-speed calculating unit calculating an accelerating speed of when the target position calculated by the target position calculating unit changes;
a gravity-center distance calculating unit calculating a gravity center distance that is a distance from a support portion of the moving unit supporting the predetermined shaft to a gravity center of a total load that is equivalent to the predetermined shaft and the subject, based on the gravity center and a position of the predetermined shaft in the vertical direction;
a correction target-position calculating unit calculating a correction target position that is obtained by correcting the target position, based on the target position calculated by the target position calculating unit, a spring constant relative to a twisting of the predetermined shaft, a mass of the total load, the accelerating speed calculated by the accelerating-speed calculating unit, and the gravity center distance calculated by the gravity-center distance calculating unit, such that a position of the gravity center which is projected on the predetermined track approaches the target position;
a correction instruction-value calculating unit calculating a correction instruction value that drives the driving unit to control the driving unit to move to the correction target position calculated by the correction target-position calculating unit; and
a driving control unit controlling the driving unit based on the correction instruction value calculated by the correction-instruction valve calculating unit.

### Claim 10 (depends on 9)

The control device for the robot according to claim 9, wherein
when the moving unit is in an accelerating state, the correction target-position calculating unit calculates the correction target position such that the moving unit is in advance of the target position.

### Claim 11 (depends on 9)

The control device for the robot according to claim 9, wherein
when the moving unit is in a decelerating state, the correction target-position calculating unit calculates the correction target position such that the moving unit is in delay of the target position.

### Claim 12 (depends on 9)

The control device for the robot according to claim 9, wherein
the correction target-position calculating unit calculates the correction target position such that the position of the gravity center matches the target position.

### Claim 13 (depends on 9)

The control device for the robot according to claim 9, wherein
the correction target-position calculating unit calculates the correction target position such that the position of the gravity center matches an intermediate position between the position of the gravity center and the target position.

### Claim 14 (depends on 9)

The control device for the robot according to claim 9, wherein
the correction target-position calculating unit changes the correction target position to a target position obtained by filtering the correction target position that is calculated.

### Claim 15 (depends on 9)

The control device for the robot according to claim 9, wherein
the correction instruction-value calculating unit changes the correction instruction value to an instruction value obtained by filtering the correction instruction value that is calculated.

### Claim 16 (depends on 9)

The control device for the robot according to claim 9, wherein
the spring constant is expressed as K, the mass of the total load is expressed as M, the target position is expressed as P, the accelerating speed of when the target position P changes is expressed as a, the gravity center distance is expressed as L, and a correction quantity of the target position P is expressed as ΔP,
the correction target-position calculating unit calculates the correction target position by adding the correction quantity ΔP calculated by using a formula that ΔP=M×a×L2/K to the target position P.

### Claim 17 (depends on 9)

The control device for the robot according to claim 9, wherein
the robot includes the moving unit including a first moving unit that is driven by a first driving unit of the driving unit and is slidable along a first track that is predetermined in a horizontal surface and a second moving unit that is driven by a second driving unit of the driving unit,
the second moving unit is movably supported by the first moving unit, and is slidable along a second track that is predetermined as the predetermined track in a horizontal surface relative to the first moving unit,
the target position calculating unit calculates the latest target position of the second moving unit that is the target position,
the correction instruction-value calculating unit calculates a first correction instruction value and a second correction instruction value that drive the first driving unit and the second driving unit, respectively, such that the second moving unit is moved to the correction target position calculated by the correction target-position calculating unit, and
the driving control unit controls the first driving unit and the second driving based on the first correction instruction value and the second correction instruction value that are calculated by the correction instruction-value calculating unit, respectively.

### Claim 18 (depends on 17)

The control device for the robot according to claim 17, wherein
the first moving unit is slidable along a first arc track that is predetermined as the first track around a center axis that is predetermined as a center, in a horizontal surface, and
the second moving unit is slidable along a second arc track that is predetermined as the second track around the first moving unit as a center, in a horizontal surface.

### Claim 19 (depends on 9)

The control device for the robot according to claim 9, wherein
when the correction target position that is calculated is out of a movable range of the moving unit, the correction target-position calculating unit changes the correction target position to a position in the movable range that is closest to the correction target position.

### Claim 20

A control device for a robot including a driving unit, a moving unit that is driven by the driving unit and is slidable along a predetermined track in a horizontal surface, and a predetermined shaft that is slidably supported by the moving unit in a vertical direction, the predetermined shaft to which a subject is assembled, comprising:
an instruction value calculating unit calculating an instruction value that drives the driving unit such that the moving unit is moved to a target position that is a latest target position of the moving unit;
an accelerating-speed calculating unit calculating an angular accelerating speed of when the instruction value calculated by the instruction value calculating unit changes;
a gravity-center distance calculating unit calculating a gravity center distance that is a distance from a support portion of the moving unit supporting the predetermined shaft to a gravity center of a total load that is equivalent to the predetermined shaft and the subject, based on the gravity center and a position of the predetermined shaft in the vertical direction;
a correction instruction-value calculating unit calculating a correction instruction value by correcting the instruction value calculated by the instruction value calculating unit, based on the instruction value, a spring constant of the support portion relative to a twisting of the predetermined shaft, a mass of the total load, the angular accelerating speed calculated by the accelerating-speed calculating unit and the gravity center distance calculated by the gravity-center distance calculating unit, such that a position of the gravity center which is projected on the predetermined track approaches the target position; and
a driving control unit controlling the driving unit based on the correction instruction value calculated by the correction-instruction valve calculating unit.

### Claim 21 (depends on 20)

The control device for the robot according to claim 20, wherein
the moving unit is slidable along an arc track that is predetermined around a center axis that is predetermined as a center, in a horizontal surface,
the spring constant is expressed as K, the mass of the total load is expressed as M, a target angular position of the moving unit relative to the center axis as a center, which corresponds to the target position, is expressed as θ, the angular accelerating speed of when the target angular position θ changes is expressed to as aω, the gravity center distance is expressed as L, and a correction quantity of the target angular position θ is expressed as Δθ,
the instruction value calculating unit calculates the target angular position θ as the instruction value, and
the correction instruction-value calculating unit calculates the correction instruction value by adding the correction quantity Δθ calculated by using a formula that Δθ=M×aω×L2/K to the target angular position θ.
