IP Library Patent Application 18774604
Patent Application
App. No. 18/774,604

Dynamic Planning Controller

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 None
App. No.
18/774,604
Abstract

A dynamic planning controller receives a maneuver for a robot and a current state of the robot and transforms the maneuver and the current state of the robot into a nonlinear optimization problem. The nonlinear optimization problem is configured to optimize an unknown force and an unknown position vector. At a first time instance, the controller linearizes the nonlinear optimization problem into a first linear optimization problem and determines a first solution to the first linear optimization problem using quadratic programming. At a second time instance, the controller linearizes the nonlinear optimization problem into a second linear optimization problem based on the first solution at the first time instance and determines a second solution to the second linear optimization problem based on the first solution using the quadratic programming. The controller also generates a joint command to control motion of the robot during the maneuver based on the second solution.

Claims (54)

1 . A method comprising:

instructing, by data processing hardware, display of one or more identifiers corresponding to one or more maneuvers of a robot via a user interface;

obtaining, by the data processing hardware, via the user interface, a first input indicating a first maneuver of the one or more maneuvers;

identifying, by the data processing hardware, a first state of the robot, wherein the first state of the robot and the first maneuver are transformed into a nonlinear optimization problem;

generating, by the data processing hardware, one or more first commands based on the nonlinear optimization problem; and

instructing, by the data processing hardware, movement by the robot according to the one or more first commands based on obtaining the first input indicating the first maneuver.

2 . The method of claim 1 , further comprising:

obtaining, via the user interface, a second input indicating a second maneuver of the one or more maneuvers, wherein the first state of the robot, the first maneuver, and the second maneuver are transformed into the nonlinear optimization problem.

3 . The method of claim 1 , further comprising:

obtaining, via the user interface, a second input indicating a second maneuver of the one or more maneuvers;

identifying a second state of the robot based on instructing movement by the robot;

generating one or more second commands based on the second state of the robot and the second maneuver; and

instructing movement by the robot according to the one or more second commands based on obtaining the second input indicating the second maneuver.

4 . The method of claim 1 , wherein the first input further indicates a timing of the first maneuver.

5 . The method of claim 1 , wherein the first input further indicates a location in an environment of the robot for execution of the first maneuver.

6 . The method of claim 1 , wherein the first maneuver comprises a maneuver for one or more of a leg of the robot or an arm of the robot.

7 . The method of claim 1 , wherein the first state of the robot indicates one or more of a position of the robot, a velocity of the robot, an orientation of the robot, or a pose of the robot.

8 . The method of claim 1 , wherein the one or more first commands indicate one or more of a torque, a position, or a velocity.

9 . The method of claim 1 , wherein the one or more first commands comprise one or more commands for one or more joints of the robot.

10 . The method of claim 1 , further comprising:

obtaining sensor data from a sensor of the robot, wherein identifying the first state of the robot is based on the sensor data.

11 . The method of claim 1 , wherein the first maneuver is stateless, and wherein the nonlinear optimization problem is stateful.

12 . The method of claim 1 , further comprising:

linearizing the nonlinear optimization problem into a linear optimization problem, wherein generating the one or more first commands is further based on the linear optimization problem.

13 . The method of claim 1 , further comprising:

linearizing the nonlinear optimization problem into a linear optimization problem; and

determining a solution to the linear optimization problem, wherein generating the one or more first commands is further based on the solution to the linear optimization problem.

14 . The method of claim 1 , wherein the nonlinear optimization problem indicates one or more of a force or a position vector.

15 . The method of claim 1 , wherein the robot is a quadruped robot.

16 . A robot comprising:

data processing hardware; and

memory hardware in communication with the data processing hardware, the memory hardware storing instructions, wherein execution of the instructions by the data processing hardware causes the data processing hardware to:

instruct display of one or more identifiers corresponding to one or more maneuvers of a robot via a user interface;

obtain, via the user interface, a first input indicating a first maneuver of the one or more maneuvers;

identify a first state of the robot, wherein the first state of the robot and the first maneuver are transformed into a nonlinear optimization problem;

generate one or more first commands based on the nonlinear optimization problem; and

instruct movement by the robot according to the one or more first commands based on obtaining the first input indicating the first maneuver.

17 . The robot of claim 16 , wherein to instruct movement by the robot, execution of the instructions by the data processing hardware further causes the data processing hardware to:

instruct coordinated movement by two or more joints of the robot.

18 . The robot of claim 16 , wherein the first maneuver comprises a modification to a second maneuver of the one or more maneuvers.

19 . The robot of claim 16 , wherein execution of the instructions by the data processing hardware further causes the data processing hardware to:

obtain the nonlinear optimization problem.

20 . The robot of claim 16 , wherein the first input is based on an interaction with an identifier of the one or more identifiers.

21 . A system comprising:

data processing hardware; and

memory hardware in communication with the data processing hardware, the memory hardware storing instructions, wherein execution of the instructions by the data processing hardware causes the data processing hardware to:

instruct display of one or more identifiers corresponding to one or more maneuvers of the system via a user interface;

obtain, via the user interface, a first input indicating a first maneuver of the one or more maneuvers;

identify a first state of the system, wherein the first state of the system and the first maneuver are transformed into a nonlinear optimization problem;

generate one or more first commands based on the nonlinear optimization problem; and

instruct movement by the system according to the one or more first commands based on obtaining the first input indicating the first maneuver.

22 . The system of claim 21 , wherein the system comprises a robot, wherein to instruct movement by the system, execution of the instructions by the data processing hardware further causes the data processing hardware to: generate a joint command for the robot.

23 . The system of claim 21 , wherein execution of the instructions by the data processing hardware further causes the data processing hardware to: identify the one or more maneuvers.

24 . The system of claim 21 , wherein each of the one or more maneuvers comprises two or more respective movement events.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2024
From: WHITMAN, ERIC; KHRIPIN, ALEX
To: BOSTON DYNAMICS, INC.
Reel/Frame 068129/0001 →