# US 10,246,151 B1 · Mechanically-timed footsteps for a robotic device

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

- Number: US 10,246,151 B1
- Document ID: US10246151B1
- Status: Granted
- Kind: B1
- Application number: 15/331,167
- Filed: 2016-10-21
- Granted: 2019-04-02
- Earliest claimed: 2014-12-30
- Assignees: Boston Dynamics, Inc.
- Applicants: Boston Dynamics, Inc.
- Inventors: Benjamin Stephens
- Web page: https://patentgrep.com/patent/US10246151B1

## CPC

- B62D 57/032: with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid (B62D57/024 takes precedence)
- B25J 9/1633: {compliant, force, torque control, e.g. combined with position control}
- B25J 9/1651: {acceleration, rate control}
- G05D 1/0891: {specially adapted for land vehicles}
- G05D 1/49: Control of attitude, i.e. control of roll, pitch or yaw
- Y10S 901/01: Mobile robot
- 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)
- 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})
- G05D: SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

An example implementation for determining mechanically-timed footsteps may involve a robot having a first foot in contact with a ground surface and a second foot not in contact with the ground surface. The robot may determine a position of its center of mass and center of mass velocity, and based on these, determine a capture point for the robot. The robot may also determine a threshold position for the capture point, where the threshold position is based on a target trajectory for the capture point after the second foot contacts the ground surface. The robot may determine that the capture point has reached this threshold position and based on this determination, cause the second foot to contact the ground surface.

## Claims

### Claim 1

A method comprising:
determining, by a robot, a position and a velocity of a center of mass of the robot, wherein the robot comprises a first foot in contact with a surface and a second foot not in contact with the surface;
based on the determined position and the determined velocity of the center of mass, determining a capture point for the robot, wherein the capture point indicates a position on the surface;
determining a target position for a center of pressure of the robot after the second foot contacts the surface;
determining a threshold position for the capture point, wherein the threshold position is based on the target position for the center of pressure;
determining that the capture point has reached the threshold position; and
based on the determination that the capture point has reached the threshold position, causing, by the robot, the second foot to contact the surface.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
determining a footstep pattern for the robot, wherein the footstep pattern comprises a target footstep location for the second foot, and wherein causing the second foot to contact the surface comprises causing the second foot to contact the surface at the target footstep location.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining that the capture point has reached the threshold position comprises determining that the capture point is within a range of 0-100 milliseconds from reaching the threshold position, and wherein causing the second foot to contact the surface comprises causing the second foot to contact the surface within the range of 0-100 milliseconds before the capture point reaches the threshold position.

### Claim 4 (depends on 1)

The method of claim 1, wherein the operation of determining the capture point for the robot is repeated at a frequency within the range of 100-1000 Hz.

### Claim 5 (depends on 1)

The method of claim 1, wherein the threshold position is based on a target trajectory for the capture point after the second foot contacts the surface, and wherein the target trajectory for the capture point is based on the target position for the center of pressure.

### Claim 6 (depends on 5)

The method of claim 5, wherein the first foot comprises a nominal swing period having a beginning and an end, the method further comprising:
determining a target position for the capture point at the end of the nominal swing period of the first foot, wherein the target trajectory for the capture point is further based on the target position for the capture point.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
determining a footstep pattern for the robot, wherein determining the target position for the capture point is based on (i) the determined footstep pattern for the robot and (ii) the nominal swing period of the first foot.

### Claim 8 (depends on 5)

The method of claim 5, further comprising:
determining that a gait disturbance has altered the target trajectory for the capture point; and
based on the altered target trajectory of the capture point, updating the threshold position for the capture point.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
based on the altered target trajectory of the capture point, also adjusting the location of the center of pressure.

### Claim 10 (depends on 5)

The method of claim 5, further comprising:
determining that a gait disturbance has altered the target trajectory for the capture point; and
determining a target footstep location for the second foot that places the capture point on an intermediate target trajectory that is closer to the target trajectory than the altered target trajectory, wherein causing the second foot to contact the surface comprises causing the second foot to contact the surface at the target footstep location.

### Claim 11 (depends on 1)

The method of claim 1, wherein determining that the capture point has reached the threshold position comprises determining a time at which the second foot is to contact the surface.

### Claim 12 (depends on 1)

The method of claim 1, wherein the position on the surface represents where the robot can place the second foot in order to arrest falling motion.

### Claim 13 (depends on 1)

The method of claim 1, wherein the threshold position for the capture point is medial to a predetermined footstep location where the second foot is to contact the surface.

### Claim 14

An article of manufacture including a non-transitory computer-readable medium, having stored thereon program instructions that, upon execution by a processor, cause a robot to perform operations comprising:
determining a position and a velocity of a center of mass of the robot, wherein the robot comprises a first foot in contact with a surface and a second foot not in contact with the surface;
based on the determined position and the determined velocity of the center of mass, determining a capture point for the robot, wherein the capture point indicates a position on the surface;
determining a target position for a center of pressure of the robot after the second foot contacts the surface;
determining a threshold position for the capture point, wherein the threshold position is based on the target position for the center of pressure;
determining that the capture point has reached the threshold position; and
based on the determination that the capture point has reached the threshold position, causing the second foot to contact the surface.

### Claim 15 (depends on 14)

The article of manufacture of claim 14, the operations further comprising:
determining a footstep pattern for the robot, wherein the footstep pattern comprises a target footstep location for the second foot, and wherein causing the second foot to contact the surface comprises causing the second foot to contact the surface at the target footstep location.

### Claim 16 (depends on 14)

The article of manufacture of claim 14, wherein determining that the capture point has reached the threshold position comprises determining that the capture point is within a range of 0-100 milliseconds from reaching the threshold position, and wherein causing the second foot to contact the surface comprises causing the second foot to contact the surface within the range of 0-100 milliseconds before the capture point reaches the threshold position.

### Claim 17 (depends on 14)

The article of manufacture of claim 14, wherein the threshold position is based on a target trajectory for the capture point after the second foot contacts the surface, and wherein the target trajectory for the capture point is based on the target position for the center of pressure.

### Claim 18 (depends on 17)

The article of manufacture of claim 17, wherein the first foot comprises a nominal swing period having a beginning and an end, the operations further comprising:
determining a target position for the capture point at the end of the nominal swing period of the first foot, wherein the target trajectory for the capture point is further based on the target position for the capture point.

### Claim 19 (depends on 17)

The article of manufacture of claim 17, the operations further comprising:
determining a footstep pattern for the robot, wherein determining the target position for the capture point is based on (i) the determined footstep pattern for the robot and (ii) the nominal swing period of the first foot.

### Claim 20

A robot comprising:
a processor;
memory; and
program instructions, stored in the memory, that upon execution by the processor cause the robot to perform operations comprising:
determining a position and a velocity of a center of mass of the robot, wherein the robot comprises a first foot in contact with a surface and a second foot not in contact with the surface;
based on the determined position and the determined velocity of the center of mass, determining a capture point for the robot, wherein the capture point indicates a position on the surface;
determining a target position for a center of pressure of the robot after the second foot contacts the surface;
determining a threshold position for the capture point, wherein the threshold position is based on the target position for the center of pressure;
determining that the capture point has reached the threshold position; and
based on the determination that the capture point has reached the threshold position, causing the second foot to contact the surface.
