IP Library Granted Patent US 11,447,195
Granted Patent B2
US 11,447,195 · App. 16/570,152 · Granted Sep 20, 2022

Leg swing trajectories

Inventor: Eric Whitman (Waltham, MA)
Assignee: Boston Dynamics, Inc.
B62D57/032B25J9/1666G05B2219/39096G05B2219/45083G05D2201/0217
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,447,195
App. No.
16/570,152
Granted
Sep 20, 2022
Kind
B2
Abstract

A method of planning a swing trajectory for a leg of a robot includes receiving an initial position of a leg of the robot, an initial velocity of the leg, a touchdown location, and a touchdown target time. The method also includes determining a difference between the initial position and the touchdown location and separating the difference between the initial position and the touchdown location into a horizontal motion component and a vertical motion component. The method also includes selecting a horizontal motion policy and a vertical motion policy to satisfy the motion components. Each policy produces a respective trajectory as a function of the initial position, the initial velocity, the touchdown location, and the touchdown target time. The method also includes executing the selected policies to swing the leg of the robot from the initial position to the touchdown location at the touchdown target time.

Claims (68)

1. A method comprising:

receiving, at data processing hardware of a robot, an initial position of a leg of the robot and an initial velocity of the leg of the robot;

receiving, at the data processing hardware, a touchdown location for the leg and a touchdown target time for the leg, the touchdown target time representing an amount of time until the leg of the robot should touchdown at the touchdown location;

determining, by the data processing hardware, a difference between the initial position of the leg and the touchdown location;

separating, by the data processing hardware, the difference between the initial position of the leg and the touchdown location into a horizontal motion component and a vertical motion component;

selecting, by the data processing hardware, a horizontal motion policy from a set of horizontal motion policies to satisfy the horizontal motion component, each horizontal motion policy producing a horizontal trajectory as a function of the initial position of the leg, the initial velocity of the leg, the touchdown location of the leg, and the touchdown target time of the leg;

selecting, by the data processing hardware, a vertical motion policy from a set of vertical motion policies to satisfy the vertical motion component, each vertical motion policy producing a vertical trajectory as a function of the initial position of the leg, the initial velocity of the leg, the touchdown location of the leg, and the touchdown target time of the leg; and

executing, by the data processing hardware, the selected horizontal motion policy and the selected vertical motion policy to swing the leg of the robot from the initial position to the touchdown location at the touchdown target time.

2. The method of claim 1 , further comprising:

determining, by the data processing hardware, a most aggressive vertical motion policy of the set of vertical motion policies, the most aggressive vertical motion policy maximizing vertical acceleration of the leg within a vertical acceleration limit of the leg and maximizing vertical velocity of the leg within a vertical velocity limit of the leg,

wherein selecting the horizontal motion policy from the set of horizontal motion policies comprises evaluating each horizontal motion policy of the set of horizontal motion policies with the most aggressive vertical motion policy.

3. The method of claim 1 , wherein selecting the horizontal motion policy from the set of horizontal motion policies comprises:

assigning each horizontal motion policy of the set of horizontal motion policies a tier from a plurality of tiers, each tier associated with an amount of preference for selecting the respective tier, and each tier comprising a tiebreaking parameter, the tiebreaking parameter associated with each horizontal motion policy of the set of horizontal motion policies; and

selecting the horizontal motion policy from the set of horizontal motion policies based on the assigned tiers and the tiebreaking parameters.

4. The method of claim 3 , wherein the tiebreaking parameter comprises a total undesirability based on a sum of a horizontal undesirability and a vertical undesirability.

5. The method of claim 1 , wherein selecting the vertical motion policy from the set of vertical motion policies occurs after selecting the horizontal motion policy from the set of horizontal motion policies.

6. The method of claim 5 , wherein selecting the vertical motion policy from the set of vertical motion policies comprises selecting the vertical motion policy from the set of vertical motion policies associated with a minimum acceleration and a minimum velocity that satisfies the vertical motion component.

7. The method of claim 1 , further comprising:

receiving, at the data processing hardware, an indication of a trip by the robot; and

in response to receiving the indication of the trip by the robot, selecting, by the data processing hardware, one of:

a horizontal motion policy from a second set of horizontal motion policies, the second set of horizontal motion policies associated with tripping; or

a vertical motion policy from a second set of vertical motion policies, the second set of vertical motion policies associated with tripping.

8. The method of claim 1 , wherein selecting the horizontal motion policy from the set of horizontal motion policies comprises:

evaluating each horizontal motion policy of the set of horizontal motion policies with a first analysis; and

evaluating a sub-set of the set of horizontal motion policies with a second analysis based on the first analysis;

wherein the second analysis is more detailed than the first analysis.

9. The method of claim 1 , further comprising:

receiving, at the data processing hardware, the touchdown target time for each of a plurality of legs of the robot;

determining, at the data processing hardware, a touchdown order of the legs based on the touchdown target time for each of the plurality of legs of the robot; and

selecting, by the data processing hardware, the horizontal motion policy and the vertical motion policy for each leg in a planning order based on the touchdown order.

10. The method of claim 1 , wherein each vertical motion policy of the set of vertical motion policies comprises a maximum velocity, a maximum acceleration, and a swing height.

11. The method of claim 1 , wherein at least one horizontal motion policy of the set of horizontal motion policies comprises a lateral motion policy and a longitudinal motion policy.

12. A robot comprising:

a body;

legs coupled to the body and configured to maneuver the robot about an environment;

data processing hardware in communication with the legs; and

memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed on the data processing hardware cause the data processing hardware to perform operations comprising:

receiving an initial position of a leg of the robot and an initial velocity of the leg of the robot;

receiving a touchdown location for the leg and a touchdown target time for the leg, the touchdown target time representing an amount of time until the leg of the robot should touchdown at the touchdown location;

determining a difference between the initial position of the leg and the touchdown location;

separating the difference between the initial position of the leg and the touchdown location into a horizontal motion component and a vertical motion component;

selecting a horizontal motion policy from a set of horizontal motion policies to satisfy the horizontal motion component, each horizontal motion policy producing a horizontal trajectory as a function of the initial position of the leg, the initial velocity of the leg, the touchdown location of the leg, and the touchdown target time of the leg;

selecting a vertical motion policy from a set of vertical motion policies to satisfy the vertical motion component, each vertical motion policy producing a vertical trajectory as a function of the initial position of the leg, the initial velocity of the leg, the touchdown location of the leg, and the touchdown target time of the leg; and

executing the selected horizontal motion policy and the selected vertical motion policy to swing the leg of the robot from the initial position to the touchdown location at the touchdown target time.

13. The robot of claim 12 , wherein the operations further comprise:

determining a most aggressive vertical motion policy of the set of vertical motion policies, the most aggressive vertical policy maximizing vertical acceleration of the leg within a vertical acceleration limit of the leg and maximizing vertical velocity of the leg within a vertical velocity limit of the leg,

wherein selecting the horizontal motion policy from the set of horizontal motion policies comprises evaluating each horizontal motion policy of the set of horizontal motion policies with the most aggressive vertical motion policy.

14. The robot of claim 12 , wherein selecting the horizontal motion policy from the set of horizontal motion policies comprises:

assigning each horizontal motion policy of the set of horizontal motion policies a tier from a plurality of tiers, each tier associated with an amount of preference for selecting the respective tier, and each tier comprising a tiebreaking parameter, the tiebreaking parameter associated with each horizontal motion policy of the set of horizontal motion policies; and

selecting the horizontal motion policy from the set of horizontal motion policies based on the assigned tiers and the tiebreaking parameters.

15. The robot of claim 14 , wherein the tiebreaking parameter comprises a total undesirability based on a sum of a horizontal undesirability and a vertical undesirability.

16. The robot of claim 12 , wherein selecting the vertical motion policy from the set of vertical motion policies occurs after selecting the horizontal motion policy from the set of horizontal motion policies.

17. The robot of claim 16 , wherein selecting the vertical motion policy from the set of vertical motion policies comprises selecting the vertical motion policy from the set of vertical motion policies associated with a minimum acceleration and a minimum velocity that satisfies the vertical motion component.

18. The robot of claim 12 , wherein the operations further comprise:

receiving an indication of a trip by the robot; and

in response to receiving the indication of the trip by the robot, selecting one of:

a horizontal motion policy from a second set of horizontal motion policies, the second set of horizontal motion policies associated with tripping; or

a vertical motion policy from a second set of vertical motion policies, the second set of vertical motion policies associated with tripping.

19. The robot of claim 12 , wherein selecting the horizontal motion policy from the set of horizontal motion policies comprises:

evaluating each horizontal motion policy of the set of horizontal motion policies with a first analysis; and

evaluating a sub-set of the set of horizontal motion policies with a second analysis based on the first analysis;

wherein the second analysis is more detailed than the first analysis.

20. The robot of claim 12 , wherein the operations further comprise:

receiving the touchdown target time for each of a plurality of legs of the robot;

determining, at the data processing hardware, a touchdown order of the legs based on the touchdown target time for each of the plurality of legs of the robot; and

selecting the horizontal motion policy and the vertical motion policy for each leg in a planning order based on the touchdown order.

21. The robot of claim 12 , wherein each vertical motion policy of the set of vertical motion policies comprises a maximum velocity, a maximum acceleration, and a swing height.

22. The robot of claim 12 , wherein at least one horizontal motion policy of the set of horizontal motion policies comprises a lateral motion policy and a longitudinal motion policy.

Assignments (3)
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 Dec 5, 2019
From: WHITMAN, ERIC
To: BOSTON DYNAMICS, INC.
Reel/Frame 051189/0974 →
Continuity (2)
Provisional Application 62883502 · Aug 6, 2019
Related Publication 20210039731A1 · Feb 11, 2021
Cited By (5)
US 12,235,652 US 12,372,982 US 12,468,300 US 12,637,158 US 12,705,880