IP Library Granted Patent US 10,246,151
Granted Patent B1
US 10,246,151 · App. 15/331,167 · Granted Apr 2, 2019

Mechanically-timed footsteps for a robotic device

Inventor: Benjamin Stephens (Somerville, MA)
Assignee: Boston Dynamics, Inc.
B62D57/032Y10S901/01
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,246,151
App. No.
15/331,167
Granted
Apr 2, 2019
Kind
B1
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 (52)

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.

2. 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.

3. 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.

4. 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.

5. 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.

6. 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.

7. 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.

8. 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.

9. 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.

10. 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.

11. 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.

12. 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.

13. 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.

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.

15. 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.

16. 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.

17. 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.

18. 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.

19. 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.

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.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATIONS NUMBERS 63127573 AND 11/302759 AND THE CITY OF THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 057111 FRAME: 0202. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 27, 2021
From: BOSTON DYNAMICS, INC.
To: BOSTON DYNAMICS, INC.
Reel/Frame 057964/0415 →
CHANGE OF NAME Recorded Oct 5, 2021
From: BOSTON DYNAMICS, INC.
To: BOSTON DYNAMICS, INC.
Reel/Frame 057711/0202 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2017
From: GOOGLE INC.
To: BOSTON DYNAMICS, INC.
Reel/Frame 043546/0004 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2016
From: STEPHENS, BENJAMIN
To: GOOGLE INC.
Reel/Frame 040092/0500 →
Continuity (1)
Continuation 14585542 · Dec 30, 2014
Cited By (3)
US 12,365,407 US 12,466,501 US 12,570,368