IP Library Granted Patent US 11,059,532
Granted Patent B1
US 11,059,532 · App. 16/046,510 · Granted Jul 13, 2021

Control of robotic devices with non-constant body pitch

Inventors: Gina Christine Fay (Waltham, MA); Alex Yu Khripin (Waltham, MA); Eric Whitman (Waltham, MA)
Assignee: Boston Dynamics, Inc.
B62D57/032
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 11,059,532
App. No.
16/046,510
Granted
Jul 13, 2021
Kind
B1
Abstract

An example implementation involves controlling robots with non-constant body pitch and height. The implementation involves obtaining a model of the robot that represents the robot as a first point mass rigidly coupled with a second point mass along a longitudinal axis. The implementation also involves determining a state of a first pair of legs, and determining a height of the first point mass based on the model and the state of the first pair of legs. The implementation further involves determining a first amount of vertical force for at least one leg of the first pair of legs to apply along a vertical axis against a surface while the at least one leg is in contact with the surface. Additionally, the implementation involves causing the at least one leg of the first pair of legs to begin applying the amount of vertical force against the surface.

Claims (57)

1. A robot comprising:

a body having a front portion and a rear portion, the front portion of the body comprising front legs, and the rear portion of the body comprising rear legs;

a timing and force controller in communication with the body, the timing and force controller configured to perform operations comprising:

receiving a state of the front legs and a template footstep sequence, the state of the front legs comprising kinematic information about the front legs, and the template footstep sequence defined by a gait being executed by the robot and comprising footstep force values predetermined for each footstep of the gait being executed by the robot;

receiving a current height for the front portion of the body and a target height for the front portion of the body;

modifying the footstep force values to generate a modified footstep sequence based on the template footstep sequence when the current height for the front portion of the body fails to satisfy the target height for the front portion of the body, the modified footstep force values maintaining a threshold height of the rear portion of the robot; and

communicating the modified footstep sequence; and

a displacement controller in communication with the timing and force controller and the body, the displacement controller configured to perform operations comprising:

receiving the modified footstep sequence from the timing and force controller; and

moving at least one of the front legs or the rear legs of the body based on the modified footstep sequence.

2. The robot of claim 1 , wherein the operations of the timing and force controller further comprise:

receiving a state of the rear legs, the state of the rear legs comprising kinematic information about the rear legs;

receiving a current height for the rear portion of the body and a target height for the rear portion of the body; and

modifying the footstep force values to generate the modified footstep sequence when the current height for the rear portion of the body fails to satisfy the target height for the rear portion of the body, the modified footstep force values maintaining a threshold height of the front portion of the body.

3. The robot of claim 2 , wherein the displacement controller comprises a longitudinal displacement controller, the longitudinal displacement controller configured to perform operations comprising:

determining a longitudinal displacement for the front legs and the rear legs of the body based on the modified footstep sequence; and

moving both the front legs and the rear legs of the body according to the determined longitudinal displacement.

4. The robot of claim 1 , wherein the displacement controller comprises a lateral displacement controller, the lateral displacement controller configured to perform operations comprising:

determining lateral step-out displacement values for at least one of the front legs or the rear legs of the body based on the modified footstep sequence; and

moving the at least one of the front legs or the rear legs of the body according to the determined lateral step-out displacement values.

5. The robot of claim 1 , wherein the operations of the timing and force controller further comprise:

receiving a timing for at least one of the front legs or the rear legs of the body corresponding to the template footstep sequence; and

modifying the timing for the at least one of the front legs or the rear legs of the body based on an elevation of a leg contact surface; and

communicating the modified timing as part of the modified footstep sequence.

6. The robot of claim 1 , wherein modifying the footstep force values to generate the modified footstep sequence when the current height for the front portion of the body fails to satisfy the target height for the front portion of the body further comprises:

when the current height for the front portion of the body is less than the target height for the front portion of the body, modifying the footstep force values by increasing vertical forces for the front legs in the footstep sequence; and

when the current height for the front portion of the body is greater than the target height for the front portion of the body, modifying the footstep force values by decreasing vertical forces for the front legs in the footstep sequence.

7. The robot of claim 1 , wherein the timing and force controller is configured as a vertical force controller.

8. The robot of claim 1 , wherein the template footstep sequence defines footstep locations, each footstep location corresponding to a planar coordinate comprising a lateral displacement and a longitudinal displacement with respect to the body, the longitudinal displacement corresponding to a longitudinal axis defined along the body from the front portion to the rear portion, the lateral displacement corresponding to a lateral axis perpendicular to the longitudinal axis and associated with side to side motion of the body.

9. The robot of claim 1 , wherein the kinematic information about the front legs comprises at least one of information about movement of the front legs, a pose of the front legs, forces acting on the front legs, joint angles of the front legs, or kinematic information corresponding to the body with respect to the front legs.

10. The robot of claim 9 , wherein the kinematic information corresponding to the body comprises at least one of position, velocity, acceleration, angular position, angular velocity, or angular acceleration.

11. A method comprising:

receiving, at data processing hardware, a state of front legs of a robot and a template footstep sequence for the robot, the robot comprising a body having a front portion and a rear portion, the front portion of the body comprising the front legs, the rear portion of the body comprising rear legs, the state of the front legs comprising kinematic information about the front legs, and the template footstep sequence defined by a gait being executed by the robot and comprising footstep force values predetermined for each footstep of the gait being executed by the robot;

receiving, at the data processing hardware, a current height for the front portion of the body and a target height for the front portion of the body;

modifying, by the data processing hardware, the footstep force values to generate a modified footstep sequence based on the template footstep sequence when the current height for the front portion of the body fails to satisfy the target height for the front portion of the body, the modified footstep force values maintaining a threshold height of the rear portion of the robot; and

instructing, by the data processing hardware, movement of at least one of the front legs or the rear legs of the robot based on the modified footstep sequence.

12. The method of claim 11 , further comprising:

receiving, at the data processing hardware, a state of the rear legs, the state of the rear legs comprising kinematic information about the rear legs;

receiving, at the data processing hardware, a current height for the rear portion of the body and a target height for the rear portion of the body; and

modifying, by the data processing hardware, the footstep force values to generate the modified footstep sequence when the current height for the rear portion of the body fails to satisfy the target height for the rear portion of the body, the modified footstep force values maintaining a threshold height of the front portion of the robot.

13. The method of claim 12 , further comprising:

determining, by the data processing hardware, a longitudinal displacement for the front legs and the rear legs based on the modified footstep sequence; and

instructing, by the data processing hardware, movement of both the front legs and the rear legs of the robot according to the determined longitudinal displacement.

14. The method of claim 11 , further comprising:

determining, by the data processing hardware, lateral step-out displacement values for at least one of the front legs or the rear legs based on the modified footstep sequence; and

instructing, by the data processing hardware, movement of the at least one of the front legs or the rear legs of the robot according to the determined lateral step-out displacement values.

15. The method of claim 11 , further comprising:

receiving, at the data processing hardware, a timing for at least one of the front legs or the rear legs corresponding to the template footstep sequence; and

modifying, by the data processing hardware, the timing for the at least one of the front legs or the rear legs based on an elevation of a leg contact surface; and

associating, by the data processing hardware, the modified timing with the modified footstep sequence.

16. The method of claim 11 , wherein modifying the footstep force values to generate the modified footstep sequence when the current height for the front portion of the body fails to satisfy the target height for the front portion of the body further comprises:

when the current height for the front portion of the body is less than the target height for the front portion of the body, modifying the footstep force values by increasing vertical forces for the front legs in the footstep sequence; and

when the current height for the front portion of the body is greater than the target height for the front portion of the body, modifying the footstep force values by decreasing vertical forces for the front legs in the footstep sequence.

17. The method of claim 11 , wherein the data processing hardware is associated with a timing and force controller configured to generate the modified footstep sequence and a displacement controller configured to move at least one of the front legs or the rear legs of the robot based on the modified footstep sequence.

18. The method of claim 11 , wherein the template footstep sequence defines footstep locations, each footstep location corresponding to a planar coordinate comprising a lateral displacement and a longitudinal displacement with respect to the body of the robot, the longitudinal displacement corresponding to a longitudinal axis along the body of the robot from the front portion to the rear portion, the lateral displacement corresponding to a lateral axis perpendicular to the longitudinal axis and associated with side to side motion of the robot.

19. The method of claim 11 , wherein the kinematic information about the front legs comprises at least one of information about movement of the front legs, a pose of the front legs, forces acting on the front legs, joint angles of the front legs, or kinematic information corresponding to the body of the robot with respect to the front legs.

20. The method of claim 19 , wherein the kinematic information corresponding to the body comprises at least one of position, velocity, acceleration, angular position, angular velocity, or angular acceleration.

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 Feb 1, 2019
From: FAY, GINA CHRISTINE; KHRIPIN, ALEX YU; WHITMAN, ERIC
To: GOOGLE INC.
Reel/Frame 048220/0654 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2019
From: GOOGLE INC.
To: BOSTON DYNAMICS, INC.
Reel/Frame 048220/0943 →
Continuity (1)
Continuation 15193273 · Jun 27, 2016
Cited By (6)
US 12,235,652 US 12,372,982 US 12,468,300 US 12,552,476 US 12,637,158 US 12,705,880