Robot apparatus, robot system, robot control method, and storage medium
US-11597079-B2 · Mar 7, 2023 · US
US12233553B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12233553-B2 |
| Application number | US-202117347996-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 15, 2021 |
| Priority date | Jun 15, 2021 |
| Publication date | Feb 25, 2025 |
| Grant date | Feb 25, 2025 |
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.
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium that distributes skill bundles that can guide robot execution. One of the methods includes receiving data for a skill bundle from a skill developer. The data can include a definition of one or more preconditions for a robotic system to execute a skill; one or more effects to an operating environment after the robotic system has executed the skill; and a software module implementing the skill. The software module can define a state machine of subtasks. A skill bundle can be generated from the data received from the skill developer. Data identifying the generated skill bundle can be added to a skill registry. The skill bundle can be provided to the execution robot system for installation on the robot execution system.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method comprising: receiving, from a plurality of skill developers, data for a plurality of respective skill bundles, the data for each skill comprising: a definition of one or more preconditions of a physical operating environment that must hold before a robotic system can execute a skill for the skill bundle, one or more effects to the operating environment after the robotic system has executed the skill, and a software module implementing the skill, wherein the software module defines a state machine of subtasks; generating a respective skill bundle from the data received from each of the plurality of skill developers; adding the data identifying the generated skill bundles to a skill registry; receiving, from a robot execution system, a request for a skill, the request specifying data in the skill registry; providing, to the robot execution system in response to the request, a first skill bundle for the skill for installation on the robot execution system, wherein the first skill bundle is generated by a first skill developer; providing, to the robot execution system, a second skill bundle generated by a different second skill developer; and receiving, by the robot execution system, an input program that references a plurality of skill bundles generated by multiple different skill developers, including the first skill bundle specifying a particular effect and the second skill bundle, wherein the second skill bundle includes a precondition that references the particular effect of the first skill bundle; executing, by the robot execution system on a physical robot, a robotic process including: determining that the one or more preconditions of the first skill bundle hold for an operating environment of the physical robot, and in response, executing the skill of the first skill bundle including executing the state machine of subtasks on the physical robot; determining, by the robot execution system, that an effect of the skill satisfies the precondition of the second skill bundle, and in response, transitioning, by the robot execution system, from executing the skill to executing a second skill of the second skill bundle according to the input program. 2. The method of claim 1 , further comprising: receiving, by a distribution system, a query that requests skills having a particular effect; searching descriptions of effects associated with skills in the skill registry; identifying a first skill bundle that satisfies the query; and providing information identifying the skill bundle in response to receiving the query. 3. The method of claim 1 , further comprising: receiving, by the robot execution system, an input program that references one or more skill bundles; and executing, by the robot execution system, at least one software module implementing a skill included in the one or more skill bundles referenced by the input program. 4. The method of claim 3 , further comprising: determining, by the robot execution system, one or more skill bundles referenced by the input program; identifying, by the robot execution system, a skill bundle among the one or more skill bundles determined to be referenced by the input program that is not downloaded to the robot execution system; and in response to determining that an identified skill bundle is not downloaded to the robot execution system, downloading, by the robot execution system, the identified skill bundle. 5. The method of claim 1 , further comprising: receiving, by the robot execution system, an input program that references a plurality of skill bundles, including the skill bundle specifying a particular effect and a second skill bundle having a precondition that references the particular effect; and executing, by the robot execution system, at least one software module specified by the plurality of skill bundles. 6. The method of claim 5 , further comprising: determining, by the robot execution system, that an effect of the skill satisfies the precondition of the second skill bundle; and in response, transitioning, by the robot execution system, from executing the skill to executing a second skill of the second skill bundle according to the input program. 7. The method of claim 1 , wherein the skill bundle includes a reference to at least one software module capable of completing at least one of the subtasks. 8. The method of claim 1 , wherein the skill bundle is part of a skill bundle chain that includes at least the skill bundle and a second skill bundle. 9. The method of claim 8 , further comprising executing, by the robot execution system, a plurality of skills in the skill bundle chain, wherein at least one effect of the skill bundle satisfies at least one precondition of the second skill bundle, including: executing, by the robot execution system, a first software module included in the skill bundle; and in response to executing, by the robot execution system the first software module, executing, by the robot execution system, a second software module included in the second skill bundle. 10. One or more non-transitory computer-readable storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations comprising: receiving, from a plurality of skill developers, data for a plurality of respective skill bundles, the data for each skill comprising: a definition of one or more preconditions of a physical operating environment that must hold before a robotic system can execute a skill for the skill bundle, one or more effects to the operating environment after the robotic system has executed the skill, and a software module implementing the skill, wherein the software module defines a state machine of subtasks; generating a respective skill bundle from the data received from each of the plurality of skill developers; adding the data identifying the generated skill bundles to a skill registry; receiving, from a robot execution system, a request for a skill, the request specifying data in the skill registry; providing, to the robot execution system in response to the request, a first skill bundle for the skill for installation on the robot execution system, wherein the first skill bundle is generated by a first skill developer; providing, to the robot execution system, a second skill bundle generated by a different second skill developer; and receiving, by the robot execution system, an input program that references a plurality of skill bundles generated by multiple different skill developers, including the first skill bundle specifying a particular effect and the second skill bundle, wherein the second skill bundle includes a precondition that references the particular effect of the first skill bundle; executing, by the robot execution system on a physical robot, a robotic process including: determining that the one or more preconditions of the first skill bundle hold for an operating environment of the physical robot, and in response, executing the skill of the first skill bundle including executing the statement of subtasks on the physical robot; determining, by the robot execution system, that an effect of the skill satisfies the precondition of the second skill bundle, and in response, transitioning, by the robot execution system, from executing the skill to executing a second skill of the second skill bundle according to the input program. 11. The one or more non-transitory computer-readable storage media of claim 10 further comprising: receiving, by a distribution system, a query that requests skills having a particular effect; searching descriptions of effects
Distributed queries · CPC title
characterised by programming, planning systems for manipulators · CPC title
Human to robot skill transfer · CPC title
Task, motion planning of objects in contact, task level programming, not robot level · CPC title
characterised by task planning, object-oriented languages · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.