# US 7,355,364 B2 · Motor and controller inversion: commanding torque to position-controlled robots

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

- Number: US 7,355,364 B2
- Document ID: US7355364B2
- Status: Granted
- Kind: B2
- Application number: 11/541,001
- Filed: 2006-09-29
- Published: 2007-03-29
- Granted: 2008-04-08
- Earliest claimed: 2005-09-29
- Assignees: Honda Motor Co., Ltd.
- Inventors: Hector H. Gonzalez-Banos; Behzad Dariush
- Web page: https://patentgrep.com/patent/US7355364B2

## CPC

- B25J 9/1628: {characterised by the control loop}
- B25J 9/1633: {compliant, force, torque control, e.g. combined with position control}
- G05B 2219/42042: Adaptive robust controller
- 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

Systems and methods are presented that cancel the dynamics of a motor and a joint controller in the presence of communication time delays, measurement noise, and controller parameter uncertainties inherent in a robot system. A cancellation system includes feedback of the measured output Ê of a controller block C. A first summing node (Σ1) subtracts Ê from the desired voltage Ed to determine a voltage error, which is fed into a G(s) block. A second summing node (Σ2) adds the output of the G(s) block to the desired voltage Ed to generate the signal Ē, which is fed into a non-robust controller inversion block C−1. The block C−1 outputs a value μ, which is fed into the block C. The block C outputs the actual voltage E, which is input into a motor block M. Under perfect conditions, the voltage error is zero, in which case the input to block G(s) is zero.

## Claims

### Claim 1

A system for cancelling an effect of a block C, comprising:
a first node configured to output an error value based on a measured output voltage Ê of the block C;
an error-correction block configured to output an error correction value based on the error value;
a second node configured to output a value Ē based on the error correction value;
an inversion block C−1 configured to output a value μ based on the value Ē,
wherein the value μ is input into the block C.

### Claim 2 (depends on 1)

The system of claim 1, wherein the error-correction block comprises:
a first integrator configured to output a first integrated value based on the error value;
a second integrator configured to output a second integrated value based on the first integrated value;
a first amplifier configured to output a first amplified value based on the second integrated value;
a first node configured to output a first node value based on the first integrated value and the first amplified value; and
a second amplifier configured to output a second amplified value based on the first node. value.

### Claim 3 (depends on 2)

The system of claim 2, wherein the first node of the error-correction block is further configured to add the first integrated value and the first amplified value.

### Claim 4 (depends on 2)

The system of claim 2, wherein the first node of the error-correction block comprises a summing node.

### Claim 5 (depends on 2)

The system of claim 2, wherein the error-correction block further comprises:
a third integrator configured to output a third integrated value based on the second integrated value;
a third amplifier configured to output a third amplified value based on the third integrated value; and
a second node configured to output a second node value based on the second amplified value and the first amplified value,
wherein the first node is further configured to output the first node value based on the first integrated value and the second node value.

### Claim 6 (depends on 5)

The system of claim 5, wherein the first node of the error-correction block is further configured to add the first integrated value and the second node value.

### Claim 7 (depends on 5)

The system of claim 5, wherein the first node of the error-correction block comprises a summing node.

### Claim 8 (depends on 1)

The system of claim 1, wherein a transfer function of the error-correction block is equal to
a
n
·
s
n
+
a
n
-
1
·
s
n
-
1
+
…
+
a
2
·
s
2
+
a
1
·
s
+
a
0
s
n
+
1
.

### Claim 9 (depends on 1)

The system of claim 1, wherein the block C comprises a controller.

### Claim 10 (depends on 1)

The system of claim 1, wherein the block C comprises a joint controller for a robot.

### Claim 11 (depends on 1)

The system of claim 1, wherein the block C comprises an independent-joint controller for a robot.

### Claim 12 (depends on 1)

The system of claim 1, wherein the inversion block C−1 is further configured to modify an input signal using a transfer function that is a multiplicative inverse of a transfer function of the block C.

### Claim 13 (depends on 1)

The system of claim 1, wherein the first node of the system comprises a summing node.

### Claim 14 (depends on 1)

The system of claim 1, wherein the first node of the system is further configured to subtract the measured output voltage Ê of the block C from a desired voltage Ed.

### Claim 15 (depends on 1)

The system of claim 1, wherein the second node of the system comprises a summing node.

### Claim 16 (depends on 1)

The system of claim 1, wherein the second node of the system is further configured to add the error-correction output to a desired voltage Ed.

### Claim 17

A system for cancelling an effect of a block M, comprising:
a first node configured to output an error value based on a measured output current Î of the block M;
an error-correction block configured to output an error correction value based on the error value;
a second node configured to output a value Ī based on the error correction value;
an inversion block M−1 configured to output a value μ based on the value Ī, wherein the value μ is input into the block M.

### Claim 18 (depends on 17)

The system of claim 17, wherein the error-correction block comprises:
a first integrator configured to output a first integrated value based on the error value;
a second integrator configured to output a second integrated value based on the first integrated value;
a first amplifier configured to output a first amplified value based on the second integrated value;
a first node configured to output a first node value based on the first integrated value and the first amplified value; and
a second amplifier configured to output a second amplified value based on the first node value.

### Claim 19 (depends on 17)

The system of claim 17, wherein the block M comprises a motor, and wherein the measured output current Î of the block M comprises a current of the motor's armature.

### Claim 20 (depends on 17)

The system of claim 17, wherein the block M comprises a joint actuator for a robot.
