Robot choreographer

US12134181B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12134181-B2
Application numberUS-202318317788-A
CountryUS
Kind codeB2
Filing dateMay 15, 2023
Priority dateOct 14, 2019
Publication dateNov 5, 2024
Grant dateNov 5, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The disclosure provides a method for generating a joint command. The method includes receiving a maneuver script including a plurality of maneuvers for a legged robot to perform where each maneuver is associated with a cost. The method further includes identifying that two or more maneuvers of the plurality of maneuvers of the maneuver script occur at the same time instance. The method also includes determining a combined maneuver for the legged robot to perform at the time instance based on the two or more maneuvers and the costs associated with the two or more maneuvers. The method additionally includes generating a joint command to control motion of the legged robot at the time instance where the joint command commands a set of joints of the legged robot. Here, the set of joints correspond to the combined maneuver.

First claim

Opening claim text (preview).

What is claimed is: 1. A robot comprising: a body; two or more legs coupled to the body, a first leg of the two or more legs comprising a first joint; one or more sensors configured to generate sensor data; data processing hardware; and memory hardware having stored thereon instructions that, when executed by the data processing hardware, cause the data processing hardware to: receive a maneuver script comprising a first maneuver and a second maneuver for the robot to perform, determine that a first maneuver and a second maneuver both command the first joint at a same time, determine a combined maneuver for the robot to perform based on the first maneuver and the second maneuver, determine a current state of the robot based on the sensor data, and generate a joint command to control motion of the robot based on the current state of the robot and the combined maneuver. 2. The robot of claim 1 , wherein the instructions, when executed by the data processing hardware, further cause the data processing hardware to: determine one or more constraints based on the current state of the robot, wherein the generating of the joint command is further based on the one or more constraints. 3. The robot of claim 2 , wherein the one or more constraints comprise at least one of: a range of motion for the robot, one or more structural dimensions of the robot, or an estimate of friction of the robot. 4. The robot of claim 1 , wherein: each of the first maneuver and the second maneuver is associated with a cost, and the determining of the combined maneuver is further based on the costs associated with the first maneuver and the second maneuver. 5. The robot of claim 1 , further comprising: an interface configured to receive the maneuver script from an external user interface and provide the received maneuver script to the data processing hardware. 6. The robot of claim 1 , wherein the instructions, when executed by the data processing hardware, further cause the data processing hardware to: obtain a current clock time; and identify the first maneuver and the second maneuver to be run by the robot at a particular time slice based on the current clock time. 7. The robot of claim 1 , wherein: the maneuver script further comprises a hint maneuver that commands the first joint at the same time as the first maneuver and the second maneuver, and the instructions, when executed by the data processing hardware, further cause the data processing hardware to: determine that the hint maneuver is compatible with the second maneuver, and modify the second maneuver to incorporate the body movement of the hint, the determining of the combined maneuver is further based on the modified second maneuver. 8. The robot of claim 1 , wherein: the maneuver script further comprises a third maneuver that commands the first joint at a different time from the first maneuver and the second maneuver, and the instructions, when executed by the data processing hardware, further cause the data processing hardware to: determine that the third maneuver does not conflict with any other maneuvers, and bypass determining a second combined maneuver for the robot to perform based on the third maneuver in response to determining that the third maneuver does not conflict with any other maneuvers. 9. The robot of claim 1 , wherein: the sensor data comprises environment data indicative of an environment of the robot and pose data indicative of a pose of the robot, and the determining of the current state of the robot is further based on the environment data and the pose data. 10. A method, comprising: receiving, at data processing hardware, a maneuver script comprising a first maneuver and a second maneuver for a robot to perform, the robot comprising the data processing hardware, a body, two or more legs coupled to the body, and one or more sensors configured to generate sensor data, a first leg of the two or more legs comprising a first joint; determining that a first maneuver and a second maneuver both command the first joint at a same time; determining a combined maneuver for the robot to perform based on the first maneuver and the second maneuver; determining a current state of the robot based on the sensor data; and generating a joint command to control motion of the robot based on the current state of the robot and the combined maneuver. 11. The method of claim 10 , further comprising: determining one or more constraints based on the current state of the robot, wherein the generating of the joint command is further based on the one or more constraints. 12. The method of claim 11 , wherein the one or more constraints comprise at least one of: a range of motion for the robot, one or more structural dimensions of the robot, or an estimate of friction of the robot. 13. The method of claim 10 , wherein: each of the first maneuver and the second maneuver is associated with a cost, and the determining of the combined maneuver is further based on the costs associated with the first maneuver and the second maneuver. 14. The method of claim 10 , further comprising: receiving the maneuver script from an external user interface via an interface of the robot; and providing the received maneuver script to the data processing hardware. 15. The method of claim 10 , further comprising: obtaining a current clock time; and identifying the first maneuver and the second maneuver to be run by the robot at a particular time slice based on the current clock time. 16. The method of claim 10 , wherein: the maneuver script further comprises a hint maneuver that commands the first joint at the same time as the first maneuver and the second maneuver, and the method further comprises: determining that the hint maneuver is compatible with the second maneuver; and modifying the second maneuver to incorporate the body movement of the hint, the determining of the combined maneuver is further based on the modified second maneuver. 17. A non-transitory computer-readable medium having stored thereon instructions that, when executed by data processing hardware, cause the data processing hardware to: receive, at data processing hardware, a maneuver script comprising a first maneuver and a second maneuver for a robot to perform, the robot comprising the data processing hardware, a body, two or more legs coupled to the body, and one or more sensors configured to generate sensor data, a first leg of the two or more legs comprising a first joint; determine that a first maneuver and a second maneuver both command the first joint at the same time; determine a combined maneuver for the robot to perform based on the first maneuver and the second maneuver; determine a current state of the robot based on the sensor data; and generate a joint command to control motion of the robot based on the current state of the robot and the combined maneuver. 18. The non-transitory computer-readable medium of claim 17 , wherein the instructions, when executed by data processing hardware, further cause the data processing hardware to: determine one or more constraints based on the current state of the robot, wherein the generating of the joint command is further based on the one or more constraints. 19. The non-transitory computer-readable medium of claim 18 , wherein the one or more constraints comprise at least one of: a range of motion for the robot, one or more structural dimensions of the robot, or an estimate of friction of the robot. 2

Assignees

Inventors

Classifications

  • Following a predefined trajectory, e.g. a line marked on the floor or a flight path · CPC title

  • B25J9/1694Primary

    characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion · CPC title

  • Mobile manipulator, movable base with manipulator arm mounted on it · CPC title

  • with means for defining a desired trajectory (involving a plurality of land vehicles G05D1/0287) · CPC title

  • Dancing, executing a choreography · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12134181B2 cover?
The disclosure provides a method for generating a joint command. The method includes receiving a maneuver script including a plurality of maneuvers for a legged robot to perform where each maneuver is associated with a cost. The method further includes identifying that two or more maneuvers of the plurality of maneuvers of the maneuver script occur at the same time instance. The method also inc…
Who is the assignee on this patent?
Boston Dynamics Inc
What technology area does this patent fall under?
Primary CPC classification B25J9/1694. Mapped technology areas include Operations & Transport.
When was this patent published?
Publication date Tue Nov 05 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).