IP Library Granted Patent US 11,319,005
Granted Patent B2
US 11,319,005 · App. 16/520,695 · Granted May 3, 2022

Achieving a target gait behavior in a legged robot

Inventors: Benjamin Swilling (Waltham, MA); Eric Whitman (Waltham, MA); Stephen Berard (Waltham, MA); Alfred Anthony Rizzi (Waltham, MA); Alex Yu Khripin (Waltham, MA); Gina Christine Fay (Waltham, MA)
Assignee: Boston Dynamics, Inc.
B62D57/032B25J9/0006B25J9/162B25J9/1664Y10S901/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 11,319,005
App. No.
16/520,695
Granted
May 3, 2022
Kind
B2
Abstract

A legged robot may seek to operate according to a target gait. The legged robot may include leg members and leg joints. Possibly based on the target gait and state of the legged robot, an ordered list of gait controllers may be obtained. The gait controllers in the ordered list may define respective gaits of the legged robot, and may include respective validity checks and output parameters for the respective gaits. The ordered list may begin with a target gait controller that defines the target gait. The ordered list may be traversed in order from the target gait controller until a validity check associated with a particular gait controller passes. The legged robot may be instructed to actuate the leg members and/or leg joints according to output parameters of the particular gait controller.

Claims (56)

1. A method comprising:

receiving, at a processor of a legged robot, sensor information from one or more sensors of the legged robot, the legged robot comprising leg members and leg joints;

determining, by the processor, an instantaneous state of the legged robot based on the sensor information, the instantaneous state comprising a velocity of the legged robot and a current gait of the legged robot;

determining, by the processor, a target gait for operating the legged robot on a ground surface;

obtaining, by the processor, an ordered list of gait controllers based on the target gait for operating the legged robot, each gait controller of the ordered list of gait controllers associated with a respective intermediary gait for operating the legged robot to achieve the target gait and comprising one or more output parameters associated with the respective intermediary gait;

assigning, by the processor, a cost to each gait controller of the ordered list of gait controllers based on the instantaneous state of the legged robot;

reordering, by the processor, the ordered list of gait controllers in increasing magnitude of cost;

traversing the reordered list of gait controllers, by the processor, until a validity check associated with a particular gait controller passes;

instructing, by the processor, the leg members and/or the leg joints to actuate based on the one or more output parameters of the particular gait controller, causing the legged robot to achieve the respective intermediary gait associated with the particular gait controller; and

after instructing the leg members and/or the leg joints to actuate based on the one or more output parameters of the particular gait controller:

obtaining, by the processor, a target gait controller associated with the target gait for operating the legged robot, the target gait controller comprising:

a validity check associated with the target gait; and

one or more output parameters associated with the target gait;

determining, by the processor, whether the instantaneous state of the legged robot satisfies the validity check associated with the target gait for the target gait controller; and

when the instantaneous state of the legged robot satisfies the validity check associated with the target gait for the target gait controller, instructing, by the processor, the leg members and/or the leg joints to actuate based on the one or more output parameters associated with the target gait, the actuation of the leg members and/or the leg joints causing the legged robot to achieve the target gait.

2. The method of claim 1 , wherein the one or more output parameters associated with the target gait comprise:

target step locations to achieve the target gait; and

at least one of target joint torques or target joint angles for the leg joints to achieve the target step locations.

3. The method of claim 1 , wherein the one or more output parameters associated with the respective intermediary gait comprise:

target step locations to achieve the respective intermediary gait; and

at least one of target joint torques or target joint angles for the leg joints to achieve the target step locations.

4. The method of claim 1 , wherein the instantaneous state of the legged robot comprises at least one of a position of the legged robot, a velocity of the legged robot, an angle associated with each leg joint, or a torque associated with each leg joint.

5. The method of claim 1 , wherein each gait controller of the reordered list of gait controllers comprises a respective acyclic gait controller defining touchdown timings and positions for the leg members of the legged robot to transition from a current gait to the target gait.

6. The method of claim 1 , wherein the respective intermediary gaits for the gait controllers of the reordered list of gait controllers comprise at least one of a stand-to-slow-walk gait, a slow-walk-to-stand gait, a slow-walk-to-medium-walk gait, a medium-walk-to-slow-walk gait a medium-trot-to-slow-trot gait, or a slow-trot-to-medium-trot gait.

7. The method of claim 1 , wherein determining the target gait for operating the legged robot comprises receiving an input command from an external controller in communication with the processor for the legged robot, the input command comprising an instruction for the legged robot to perform the target gait.

8. The method of claim 1 , wherein determining the target gait for operating the legged robot comprises receiving an input command from an external controller in communication with the processor of the legged robot, the input command comprising an instruction to move the legged robot to a target geographical location.

9. A legged robot comprising:

leg members connected by leg joints;

one or more sensors;

a processor in communication with the one or more sensors; and

a non-transitory computer-readable medium in communication with the processor and storing instructions, that when executed by the processor, cause the processor to perform operations comprising:

receiving sensor information from the one or more sensors of the legged robot;

determining an instantaneous state of the legged robot based on the sensor information, the instantaneous state comprising a velocity of the legged robot and a current gait of the legged robot;

determining a target gait for operating the legged robot on a ground surface;

obtaining an ordered list of gait controllers based on the target gait for operating the legged robot, each gait controller of the ordered list of gait controllers associated with a respective intermediary gait for operating the legged robot to achieve the target gait and comprising one or more output parameters associated with the respective intermediary gait;

assigning a cost to each gait controller of the ordered list of gait controllers based on the instantaneous state of the legged robot;

reordering the ordered list of gait controllers in increasing magnitude of cost;

traversing the reordered list of gait controllers until a validity check associated with a particular gait passes;

instructing the leg members and/or the leg joints to actuate based on the one or more output parameters of the particular gait controller, causing the legged robot to achieve the respective intermediary gait associated with the particular gait controller; and

after instructing the leg members and/or the leg joints to actuate based on the one or more output parameters of the particular gait controller:

obtaining a target gait controller associated with the target gait for operating the legged robot and comprising:

a validity check associated with the target gait; and

one or more output parameters associated with the target gait;

determining whether the instantaneous state of the legged robot satisfies the validity check associated with the target gait for the target gait controller; and

when the instantaneous state of the legged robot satisfies the validity check associated with the target gait for the target gait controller, instructing the leg members and/or the leg joints to actuate based on the one or more output parameters associated with the target gait, the actuation of the leg members and/or the leg joints causing the legged robot to achieve the target gait.

10. The legged robot of claim 9 , wherein the one or more output parameters associated with the target gait comprise:

target step locations to achieve the target gait; and

at least one of target joint torques or target joint angles for the leg joints to achieve the target step locations.

11. The legged robot of claim 9 , wherein the one or more output parameters associated with the respective intermediary gait comprise:

target step locations to achieve the respective intermediary gait; and

at least one of target joint torques or target joint angles for the leg joints to achieve the target step locations.

12. The legged robot of claim 9 , wherein the instantaneous state of the legged robot comprises at least one of a position of the legged robot, a velocity of the legged robot, an angle associated with each leg joint, or a torque associated with each leg joint.

13. The legged robot of claim 9 , wherein each gait controller of the reordered list of gait controllers comprises a respective acyclic gait controller defining touchdown timings and positions for the leg members of the legged robot to transition from a current gait to the target gait.

14. The legged robot of claim 9 , wherein the respective intermediary gaits for the gait controllers of the reordered list of gait controllers comprise one of a stand-to-slow-walk gait, a slow-walk-to-stand gait, a slow-walk-to-medium-walk gait, a medium-walk-to-slow-walk gait a medium-trot-to-slow-trot gait, or a slow-trot-to-medium-trot gait.

15. The legged robot of claim 9 , wherein determining the target gait for operating the legged robot comprises receiving an input command from an external controller in communication with the processor for the legged robot, the input command comprising an instruction for the legged robot to perform the target gait.

16. The legged robot of claim 9 , wherein determining the target gait for operating the legged robot comprises receiving an input command from an external controller in communication with the processor of the legged robot, the input command comprising an instruction to move the legged robot to a target geographical location.

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 Jan 3, 2020
From: SWILLING, BENJAMIN; WHITMAN, ERIC; BERARD, STEPHEN; RIZZI, ALFRED ANTHONY; KHRIPIN, ALEX YU; FAY, GINA CHRISTINE
To: GOOGLE INC.
Reel/Frame 051406/0452 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2020
From: GOOGLE INC.
To: BOSTON DYNAMICS, INC.
Reel/Frame 051406/0472 →
Continuity (6)
Continuation 16356757 · Mar 18, 2019
Continuation 16166673 · Oct 22, 2018
Continuation 16006943 · Jun 13, 2018
Continuation 15194493 · Jun 27, 2016
Provisional Application 62253807 · Nov 11, 2015
Related Publication 20190344845A1 · Nov 14, 2019
Cited By (3)
US 12,235,652 US 12,372,982 US 12,468,300