Methods and systems for planning a body position of a robotic device
US-9868210-B1 · Jan 16, 2018 · US
US11465281B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11465281-B2 |
| Application number | US-201916601035-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 14, 2019 |
| Priority date | Oct 14, 2019 |
| Publication date | Oct 11, 2022 |
| Grant date | Oct 11, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving, at data processing hardware, a maneuver for a legged robot and a current state of the legged robot, the maneuver comprising one or more movement events for the legged robot to perform; transforming, by the data processing hardware, the maneuver and the current state of the legged robot into a nonlinear optimization problem, the nonlinear optimization problem configured to optimize an unknown force and an unknown position vector; at a first time instance: linearizing, by the data processing hardware, the nonlinear optimization problem into a first linear optimization problem; and determining, by the data processing hardware, a first solution to the first linear optimization problem using quadratic programming; at a second time instance subsequent to the first time instance: linearizing, by the data processing hardware, the nonlinear optimization problem into a second linear optimization problem based on the first solution at the first time instance; and determining, by the data processing hardware, a second solution to the second linear optimization problem based on the first solution using the quadratic programming; and generating, by the data process hardware, a joint command to control motion of the legged robot during the maneuver based on the second solution. 2. The method of claim 1 , further comprising: determining, by the data processing hardware, an integrated solution based on the second solution and forward dynamics for the legged robot; and determining, by the data processing hardware, that a comparison between the integrated solution and the second solution satisfies an optimization threshold, the optimization threshold indicating a degree of accuracy for a respective solution to generate a joint command. 3. The method of claim 1 , further comprising, at the second time instance: determining, by the data processing hardware, that the second solution fails to satisfy a nonlinear constraint; generating, by the data processing hardware, an iterative constraint for the second linear optimization problem, the iterative constraint comprising a linear constraint based on failure of the second solution to satisfy the nonlinear constraint; and updating, by the data processing hardware, the second solution to the second linear optimization problem using the quadratic programming, the quadratic programming comprising the iterative constraint. 4. The method of claim 1 , wherein the unknown force corresponds to a force at a foot of the legged robot when the legged robot performs the maneuver. 5. The method of claim 1 , wherein the unknown position vector corresponds to a location of a body of the legged robot relative to a foot of the legged robot when the legged robot performs the maneuver. 6. The method of claim 1 , wherein each of the first solution and the second solution comprise contact forces for one or more legs of the legged robot against a surface, touchdown positions for the one or more legs of the legged robot, touchdown times for the one or more legs of the legged robot, or liftoff times for the one or more legs of the legged robot. 7. The method of claim 1 , further comprising instructing, by the data processing hardware, joints of at least one stance leg of the legged robot based on the joint command, the joint command comprising joint torques for the joints of the at least one stance leg. 8. The method of claim 7 , further comprising generating, by the data processing hardware, the joint torques for the joints of the at least one stance leg by determining that contact forces of the second solution that correspond to the at least one stance leg satisfy torque limit constraints for at least one stance leg and friction constraints for the at least one stance leg. 9. The method of claim 1 , wherein the legged robot corresponds to a quadruped robot. 10. The method of claim 1 , wherein receiving the maneuver comprises receiving the maneuver from a user device in communication with the data processing hardware, and wherein the maneuver is defined by a user of the user device at a user interface executing on the user device. 11. A robot comprising: a body; two or more legs coupled to the body; and a control system in communication with the body and the two or more legs, the control system comprising data processing hardware 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 a maneuver for the robot and a current state of the robot, the maneuver comprising one or more movement events for the robot to perform; transforming the maneuver and the current state of the robot into a nonlinear optimization problem, the nonlinear optimization problem configured to optimize an unknown force and an unknown position vector; at a first time instance: linearizing the nonlinear optimization problem into a first linear optimization problem; and determining a first solution to the first linear optimization problem using quadratic programming; at a second time instance subsequent to the first time instance: linearizing the nonlinear optimization problem into a second linear optimization problem based on the first solution at the first time instance; and determining a second solution to the second linear optimization problem based on the first solution using the quadratic programming; and generating a joint command to control motion of the robot during the maneuver based on the second solution. 12. The robot of claim 11 , wherein the operations further comprise: determining an integrated solution based on the second solution and forward dynamics for the robot; and determining that a comparison between the integrated solution and the second solution satisfies an optimization threshold, the optimization threshold indicating a degree of accuracy for a respective solution to generate a joint command. 13. The robot of claim 11 , wherein the operations further comprise, at the second time instance: determining that the second solution fails to satisfy a nonlinear constraint; generating an iterative constraint for the second linear optimization problem, the iterative constraint comprising a linear constraint based on failure of the second solution to satisfy the nonlinear constraint; and updating the second solution to the second linear optimization problem using the quadratic programming, the quadratic programming comprising the iterative constraint. 14. The robot of claim 11 , wherein the unknown force corresponds to a force at a foot of the robot when the robot performs the maneuver. 15. The robot of claim 11 , wherein the unknown position vector corresponds to a location of the body of the robot relative to a foot of the robot when the robot performs the maneuver. 16. The robot of claim 11 , wherein each of the first solution and the second solution comprise contact forces for one or more legs of the robot against a surface, touchdown positions for the one or more legs of the robot, touchdown times for the one or more legs of the robot, or liftoff times for the one or more legs of the robot. 17. The robot of claim 11 , wherein the operations further comprise instructing joints of at least one stance leg of the two or more legs of the robot based on the joint command, the joint command comprising joint torques for the joints of the at least one stance leg. 18. The robot of claim 17 , wher
Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound · CPC title
Mobile manipulator, movable base with manipulator arm mounted on it · CPC title
Manipulator on vehicle, wheels, mobile · CPC title
with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid (B62D57/024 takes precedence) · CPC title
characterised by motion, path, trajectory planning · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.