IP Library Granted Patent US 11,865,715
Granted Patent B2
US 11,865,715 · App. 17/443,075 · Granted Jan 9, 2024

Offline optimization to robot behavior

Inventors: Marco da Silva (Waltham, MA); Benjamin Stephens (Somerville, MA); Alfred Anthony Rizzi (Waltham, MA); Yeuhi Abe (Cambridge, MA)
Assignee: Boston Dynamics, Inc.
B25J9/1605B25J9/162B25J9/1633B62D57/032Y10S901/01Y10S901/02Y10S901/28
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,865,715
App. No.
17/443,075
Granted
Jan 9, 2024
Kind
B2
Abstract

A computing system may provide a model of a robot. The model may be configured to determine simulated motions of the robot based on sets of control parameters. The computing system may also operate the model with multiple sets of control parameters to simulate respective motions of the robot. The computing system may further determine respective scores for each respective simulated motion of the robot, wherein the respective scores are based on constraints associated with each limb of the robot and a predetermined goal. The constraints include actuator constraints and joint constraints for limbs of the robot. Additionally, the computing system may select, based on the respective scores, a set of control parameters associated with a particular score. Further, the computing system may modify a behavior of the robot based on the selected set of control parameters to perform a coordinated exertion of forces by actuators of the robot.

Claims (70)

1. A method comprising:

simulating, by a computing device of a limbed robot, a motion of the limbed robot with a set of control parameters using a model, the set of control parameters representing a first exertion of force by an actuator of the limbed robot;

determining, by the computing device, a score for the simulated motion of the limbed robot based on a predetermined goal and one or more constraints, the one or more constraints representing a full physical range of motion of at least one limb of the limbed robot, wherein determining the score comprises:

determining a first sub-score based on a relationship between a first measurable aspect of the simulated motion and the predetermined goal;

determining a second sub-score based on a comparison between a second measurable aspect of the simulated motion and the full physical range of motion of the one or more constraints associated with the at least one limb of the limbed robot; and

calculating the score based on the first sub-score and the second sub-score;

selecting, by the computing device, the set of control parameters based on the score; and

actuating, by the computing device, the actuator to exert the exertion of force that is associated with the selected set of control parameters.

2. The method of claim 1 , wherein the first sub-score decreases in value as the first measurable aspect approaches a desired value that represents the predetermined goal.

3. The method of claim 1 , wherein the second sub-score is a function of one or more measured joint angles for the limbed robot and one or more actuator forces from the simulated motion of the limbed robot.

4. The method of claim 1 , wherein calculating the score based on the first sub-score and the second sub-score comprises generating a linear combination of the first sub-score and the second sub-score.

5. The method of claim 1 , wherein the motion of the limbed robot simulated with the set of control parameters using the model corresponds to a respective motion for a single actuator associated with the limbed robot.

6. The method of claim 1 , wherein the motion of the limbed robot simulated with the set of control parameters using the model corresponds to a respective motion for a limb of the limbed robot.

7. The method of claim 1 , wherein the one or more constraints further represent an operable range of forces for the actuator.

8. The method of claim 1 , wherein actuating the actuator to exert the exertion of force that is associated with the selected set of control parameters comprises:

transitioning from a first mode of operation to a second mode of operation, the first mode of operation comprising a steady-state mode of operation that balances the robot and the second mode of operation comprising a transient mode of operation that causes the robot to:

operate the actuator in a starting state; and

transition the actuator from the starting state to an ending state over a duration of time; and

upon completion of the second mode of operation, transitioning from the second mode of operation to the first mode of operation.

9. The method of claim 1 , wherein the set of control parameters includes a plurality of force values, and wherein actuating the actuator to exert the exertion of force comprises:

exerting a first magnitude of force specified by an initial force value from the plurality of force values of the selected set of control parameters; and

exerting a second magnitude of force specified by a subsequent force value from the plurality of force values of the selected set of control parameters.

10. A method comprising:

simulating, by a computing device of a limbed robot, a motion of the limbed robot with a set of control parameters using a model, the set of control parameters representing a first exertion of force by an actuator of the limbed robot;

determining, by the computing device, a score for the simulated motion of the limbed robot based on constraints associated with at least one limb of the limbed robot and a predetermined goal, wherein determining the score comprises:

determining a first sub-score based on a relationship between a first measurable aspect of the simulated motion and the predetermined goal;

determining a second sub-score based on a relationship between a second measurable aspect of the simulated motion and the constraints associated with the at least one limb of the limbed robot; and

calculating the score based on the first sub-score and the second sub-score;

selecting, by the computing device, the set of control parameters based on the score; and

actuating, by the computing device, the actuator to exert the exertion of force that is associated with the selected set of control parameters,

wherein the second sub-score is a function of one or more measured joint angles for the limbed robot and one or more actuator forces from the simulated motion of the limbed robot, and

wherein the second sub-score increases in value as the one or more measured joint angles and the one or more actuator forces approach the constraints.

11. A limbed robot comprising:

an actuator;

a processor; and

a memory storing a model of the robot and program logic, the program logic executable by the processor to cause the robot to perform operations comprising:

simulating a motion of the limbed robot with a set of control parameters using the model, the set of control parameters representing a first exertion of force by the actuator of the limbed robot;

determining a score for the simulated motion of the limbed robot based on a predetermined goal and one or more constraints, the one or more constraints representing a full physical range of motion of at least one limb of the limbed robot, wherein determining the score comprises:

determining a first sub-score based on a relationship between a first measurable aspect of the simulated motion and the predetermined goal;

determining a second sub-score based on a comparison between a second measurable aspect of the simulated motion and the full physical range of motion of the one or more constraints associated with the at least one limb of the limbed robot; and

calculating the score based on the first sub-score and the second sub-score;

selecting the set of control parameters based on the score; and

actuating the actuator to exert the exertion of force that is associated with the selected set of control parameters.

12. The limbed robot of claim 11 , wherein the first sub-score decreases in value as the first measurable aspect approaches a desired value that represents the predetermined goal.

13. The limbed robot of claim 11 , wherein the second sub-score is a function of one or more measured joint angles for the limbed robot and one or more actuator forces from the simulated motion of the limbed robot.

14. The limbed robot of claim 11 , wherein calculating the score based on the first sub-score and the second sub-score comprises generating a linear combination of the first sub-score and the second sub-score.

15. The limbed robot of claim 11 , wherein the motion of the limbed robot simulated with the set of control parameters using the model corresponds to a respective motion for a single actuator associated with the limbed robot.

16. The limbed robot of claim 11 , wherein the motion of the limbed robot simulated with the set of control parameters using the model corresponds to a respective motion for a limb of the limbed robot.

17. The limbed robot of claim 11 , wherein the one or more constraints further represent an operable range of forces for the actuator.

18. The limbed robot of claim 11 , wherein actuating the actuator to exert the exertion of force that is associated with the selected set of control parameters comprises:

transitioning from a first mode of operation to a second mode of operation, the first mode of operation comprising a steady-state mode of operation that balances the robot and the second mode of operation comprising a transient mode of operation that causes the robot to:

operate the actuator in a starting state; and

transition the actuator from the starting state to an ending state over a duration of time; and

upon completion of the second mode of operation, transitioning from the second mode of operation to the first mode of operation.

19. The limbed robot of claim 11 , wherein the set of control parameters includes a plurality of force values, and wherein actuating the actuator to exert the exertion of force comprises:

exerting a first magnitude of force specified by an initial force value from the plurality of force values of the selected set of control parameters; and

exerting a second magnitude of force specified by a subsequent force value from the plurality of force values of the selected set of control parameters.

20. A limbed robot comprising:

an actuator;

a processor; and

a memory storing a model of the robot and program logic, the program logic executable by the processor to cause the robot to perform operations comprising:

simulating a motion of the limbed robot with a set of control parameters using the model, the set of control parameters representing a first exertion of force by the actuator of the limbed robot;

determining a score for the simulated motion of the limbed robot based on constraints associated with at least one limb of the limbed robot and a predetermined goal, wherein determining the score comprises:

determining a first sub-score based on a relationship between a first measurable aspect of the simulated motion and the predetermined goal;

determining a second sub-score based on a relationship between a second measurable aspect of the simulated motion and the constraints associated with the at least one limb of the limbed robot; and

calculating the score based on the first sub-score and the second sub-score;

selecting the set of control parameters based on the score; and

actuating the actuator to exert the exertion of force that is associated with the selected set of control parameters,

wherein the second sub-score is a function of one or more measured joint angles for the limbed robot and one or more actuator forces from the simulated motion of the limbed robot, and

wherein the second sub-score increases in value as the one or more measured joint angles and the one or more actuator forces approach the constraints.

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 Jul 20, 2021
From: DA SILVA, MARCO; STEPHENS, BENJAMIN; RIZZI, ALFRED ANTHONY; ABE, YEUHI
To: GOOGLE INC.
Reel/Frame 056919/0987 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2021
From: GOOGLE INC.
To: BOSTON DYNAMICS, INC.
Reel/Frame 056920/0081 →
Continuity (4)
Continuation 16108919 · Aug 22, 2018
Continuation 15230776 · Aug 8, 2016
Continuation 14584558 · Dec 29, 2014
Related Publication 20210347041A1 · Nov 11, 2021