# US 11,027,415 B1 · Generalized coordinate surrogates for integrated estimation and control

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

- Number: US 11,027,415 B1
- Document ID: US11027415B1
- Status: Granted
- Kind: B1
- Application number: 16/055,983
- Filed: 2018-08-06
- Granted: 2021-06-08
- Earliest claimed: 2014-08-25
- Assignees: Boston Dynamics, Inc.
- Applicants: Boston Dynamics, Inc.
- Inventors: Gabriel Nelson; Benjamin Stephens
- Web page: https://patentgrep.com/patent/US11027415B1

## CPC

- B25J 9/1682: {Dual arm manipulator; Coordination of several manipulators}
- B25J 5/00: Manipulators mounted on wheels or on carriages (B25J1/00 takes precedence; program-controlled manipulators B25J9/00)
- B25J 9/1666: {Avoiding collision or forbidden zones}
- B25J 13/089: {Determining the position of the robot with reference to its environment}
- B25J 19/02: Sensing devices
- B62D 57/032: with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid (B62D57/024 takes precedence)
- Y10S 901/01: Mobile robot
- 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})
- B62D: MOTOR VEHICLES; TRAILERS (steering, or guiding on a desired track, of agricultural machines or implements A01B69/00; wheels, castors, axles, increasing wheel adhesion B60B; vehicle tyres, tyre inflation or tyre changing B60C; connections between vehicles of a train or the like B60D; vehicles for use on rail and road, amphibious or convertible vehicles B60F; suspension arrangements B60G; heating, cooling, ventilating or other air treating devices B60H; windows, windscreens, non-fixed roofs, doors or similar devices, protective coverings for vehicles not in use B60J; propulsion plant arrangements, auxiliary drives, transmissions, controls, instrumentation or dashboards B60K; electric equipment or propulsion of electrically-propelled vehicles B60L; power supply for electrically-propelled vehicles B60M; passenger accommodation not otherwise provided for B60N; adaptations for load transportation or to carry special loads or objects B60P; arrangement of signalling or lighting devices, the mounting or supporting thereof or circuits therefor, for vehicles in general B60Q; vehicles, vehicle fittings or vehicle parts not otherwise provided for B60R; servicing, cleaning, repairing, supporting, lifting, or manoeuvring, not otherwise provided for, B60S; brake arrangements, brake control systems or parts thereof B60T; air-cushion vehicles B60V; motor-cycles, accessories therefor B62J, B62K; testing of vehicles G01M)
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

A robotic device includes a control system. The control system receives a first measurement indicative of a first distance between a center of mass of the machine and a first position in which a first leg of the machine last made initial contact with a surface. The control system also receives a second measurement indicative of a second distance between the center of mass of the machine and a second position in which the first leg of the machine was last raised from the surface. The control system further determines a third position in which to place a second leg of the machine based on the received first measurement and the received second measurement. Additionally, the control system provides instructions to move the second leg of the machine to the determined third position.

## Claims

### Claim 1

A machine comprising:
at least two legs comprising a first leg and a second leg;
a sensor; and
a control device configured to perform operations comprising:
receiving, from the sensor, a first measurement indicative of a first distance along a first direction from a center of mass of the machine to a first position of the first leg when the first leg initially contacts a surface during a first stance period, the first stance period commencing when the first leg initially contacts the surface at the first position;
receiving, from the sensor, a second measurement indicative of a second distance along an opposite second direction from the center of mass of the machine to a second position of the first leg-when the first leg initially raises from the surface during the first stance period, the first stance period terminating when the first leg initially raises from the surface;
determining a third distance along the first direction from the center of mass of the machine for placing the second leg in contact with the surface at a third position during a second stance period based on the received first measurement and the received second measurement, the second stance period commencing after the first stance period terminates; and
providing instructions to move the second leg of the machine to the third position during the second stance period.

### Claim 2 (depends on 1)

The machine of claim 1, wherein the operations further comprising:
receiving a bias value indicative of a desired influence on a direction in which the machine is moving, wherein the third distance along the first direction from the center of mass to the third position is also determined based on the received bias value to adjust the direction in which the machine is moving according to the desired influence.

### Claim 3 (depends on 1)

The machine of claim 1, wherein the operations further comprising:
receiving a bias value that influences a yaw-heading velocity direction of the center of mass of the machine, wherein the third distance along the first direction from the center of mass to the third position is also determined based on the received bias value.

### Claim 4 (depends on 1)

The machine of claim 1, wherein the surface at the second position is at a first height, wherein the surface at the third position is at a second height, and wherein the first height is not equal to the second height.

### Claim 5 (depends on 1)

The machine of claim 1, wherein the operation of determining the third distance comprises:
estimating a velocity of the machine based on a difference between the first measurement and the second measurement;
estimating an acceleration of the machine based on a sum of the first measurement and the second measurement; and
determining the third distance from center of mass for placing the second leg in contact with the surface at the third position during the second stance period based on a linear combination of the estimated velocity and the estimated acceleration.

### Claim 6 (depends on 5)

The machine of claim 5, wherein the operation of determining the third distance from center of mass for placing the second leg in contact with the surface at the third position during the second stance period based on a linear combination of the estimated velocity and the estimated acceleration comprises:
determining a scaled velocity by multiplying the estimated velocity by a first scaling factor;
determining a scaled acceleration by multiplying the estimated acceleration by a second scaling factor; and
determining the third distance from center of mass for placing the second leg in contact with the surface at the third position during the second stance period as a sum of the scaled velocity and the scaled acceleration.

### Claim 7 (depends on 5)

The machine of claim 5, wherein the operation of determining the third distance comprises:
determining a path in which the machine is expected to travel based on the estimated velocity and the estimated acceleration;
determining whether the machine is expected to collide with an object based on the determined path; and
determining the third distance from center of mass for placing the second leg in contact with the surface at the third position during the second stance period to avoid colliding with the object based on the received first measurement and the received second measurement.

### Claim 8 (depends on 5)

The machine of claim 5, wherein the operation of determining the third distance comprises:
providing a velocity value indicative of a desired speed of the machine, wherein the velocity value is different from the estimated velocity of the machine; and
determining the third distance from center of mass for placing the second leg in contact with the surface at the third position during the second stance period based on the received first measurement, the received second measurement, and the provided velocity value.

### Claim 9 (depends on 1)

The machine of claim 1, wherein the first measurement takes place at a first time during the first stance period, wherein the second measurement takes place at a second time during the first stance period, and wherein the second time occurs after the first time.

### Claim 10 (depends on 1)

The machine of claim 1, wherein the operations further comprising:
providing a velocity value indicative of a desired speed of the machine;
determining a third time during the second stance period to move the second leg of the machine to the third position based on the provided velocity value; and
providing instructions to move the second leg of the machine to the third position at the determined third time.

### Claim 11 (depends on 1)

The machine of claim 1, wherein the operations further comprising:
determining a fourth distance along a third direction from the center of mass of the machine for placing the second leg in contact with the surface at the third position during the second stance period based on at least the received first measurement and received second measurement, the third direction perpendicular to the first direction and the second direction; and
determining a two-dimensional position based on (i) the determined third distance of the third position of the second leg from the center of mass along the first direction, and (ii) the determined fourth distance of the third position of the second leg from the center of mass along the third direction; and
providing instructions to move the second leg of the machine to the determined two-dimensional position during the second stance period.

### Claim 12 (depends on 1)

The machine of claim 1, wherein the operations further comprising:
determining a force for the second leg to apply to the surface at the third position; and
providing instructions to move the second leg of the machine to the third position and to apply the determined force to the surface during the second stance period.

### Claim 13 (depends on 1)

The machine of claim 1, wherein the operation of determining the third distance comprises determining damping values indicative of a rate in which the machine suppresses perturbations caused by external forces, and wherein the third distance is also determined based on the damping values.

### Claim 14 (depends on 1)

The machine of claim 1, wherein the operations further comprising:
receiving, from the sensor, an indication of an object in front of the machine; and
providing instructions to stop the machine responsive to receiving the indication of the object in front of the machine.
