IP Library Granted Patent US 12,296,484
Granted Patent B2
US 12,296,484 · App. 18/340,968 · Granted May 13, 2025

Skill template distribution for robotic demonstration learning

Inventors: Bala Venkata Sai Ravi Krishna Kolluri (Fremont, CA); Stefan Schaal (Mountain View, CA); Benjamin M. Davis (Oakland, CA); Ralf Oliver Michael Schönherr (San Francisco, CA); Ning Ye (Palo Alto, CA)
Assignee: Intrinsic Innovation LLC
B25J9/163B25J9/0081B25J9/1661B25J9/1697G06N20/00
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 12,296,484
App. No.
18/340,968
Granted
May 13, 2025
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for distributing skill templates for robotic demonstration learning. One of the methods includes receiving from the user device by a skill template distribution system, a selection of an available skill template. The skill template distribution system provides a skill template, wherein the skill template comprises information representing a state machine of one or more tasks, and wherein the skill template specifies which of the one or more tasks are demonstration subtasks requiring local demonstration data. The skill template distribution system trains a machine learning model for the demonstration subtask using a local demonstration data to generate learned parameter values.

Claims (54)

1. A method performed by one or more computers, the method comprising:

receiving, from a user device by a skill template distribution system, characteristics of a robot and a selection of a skills template from a list of available skill templates compatible with the characteristics of the robot;

providing, by the skill template distribution system, to the user device, the selected skill template, wherein the skill template comprises information representing a state machine of one or more tasks, and wherein the skill template specifies which of the one or more tasks require adaptation using training data;

receiving, by the skill template distribution system, training data for a subtask of the skill template;

training a machine learning model for the subtask using the training data to generate learned parameter values; and

providing, to the user device, the learned parameter values for the machine learning model that causes the robot to implement a control policy that executes the subtask adapted using the training data.

2. The method of claim 1 , further comprising:

receiving, from a user device by a skill template distribution system, a request for available skill templates, compatible with the characteristics of the robot, to be trained to cause a robot to perform a skill having a plurality of tasks; and

providing, to the user device in response to the request, information describing one or more available skill templates.

3. The method of claim 2 , wherein the request specifies a particular robot type or model, and wherein providing the information describing the one or more available skill templates comprises providing one or more skill templates that are compatible with the particular robot type or model.

4. The method of claim 1 , further comprising:

receiving, from a skill template developer, a new skill template generated by the skill template developer; and

adding the new skill template to a collection of available skills,

wherein the selection of the available skill templates comprises a selection of the new skill template generated by the skill template developer.

5. The method of claim 4 , wherein the skill template developer is an entity that is unaffiliated with the skill template distribution system or an organization owning the user device.

6. The method of claim 1 , wherein receiving characteristics of the robot includes information about a type or a model of the robot.

7. The method of claim 1 , further comprising:

receiving, from the user device, a request for specific subtasks; and

filtering the available skill templates using the requested specific subtasks,

wherein the specific subtasks are compatible with a portion of the robot.

8. The method of claim 7 , wherein training data for the requested specific subtasks is from robots of a different type or model than the robot associated with the user device.

9. The method of claim 7 , wherein the training data for the requested specific subtasks is from virtual simulations of robots.

10. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving, from a user device by a skill template distribution system, characteristics of a robot and a selection of a skills template from a list of available skill templates compatible with the characteristics of the robot;

providing, by the skill template distribution system, to the user device, the selected skill template, wherein the skill template comprises information representing a state machine of one or more tasks, and wherein the skill template specifies which of the one or more tasks require adaptation using training data;

receiving, by the skill template distribution system, training data for a subtask of the skill template;

training a machine learning model for the subtask using the training data to generate learned parameter values; and

providing, to the user device, the learned parameter values for the machine learning model that causes the robot to implement a control policy that executes the subtask adapted using the training data.

11. The system of claim 10 , further comprising:

receiving, from a user device by a skill template distribution system, a request for available skill templates, compatible with the characteristics of the robot, to be trained to cause a robot to perform a skill having a plurality of tasks; and

providing, to the user device in response to the request, information describing one or more available skill templates.

12. The system of claim 11 , wherein the request specifies a particular robot type or model, and wherein providing the information describing the one or more available skill templates comprises providing one or more skill templates that are compatible with the particular robot type or model.

13. The system of claim 10 , further comprising:

receiving, from a skill template developer, a new skill template generated by the skill template developer; and

adding the new skill template to a collection of available skills,

wherein the selection of the available skill templates comprises a selection of the new skill template generated by the skill template developer.

14. The system of claim 13 , wherein the skill template developer is an entity that is unaffiliated with the skill template distribution system or an organization owning the user device.

15. The system of claim 10 , wherein receiving characteristics of the robot includes information about a type or a model of the robot.

16. The system of claim 10 , further comprising:

receiving, from the user device, a request for specific subtasks; and

filtering the available skill templates using the requested specific subtasks,

wherein the specific subtasks are compatible with a portion of the robot.

17. The system of claim 16 , wherein training data for the requested specific subtasks is from robots of a different type or model than the robot associated with the user device.

18. The system of claim 16 , wherein the training data for the requested specific subtasks is from virtual simulations of robots.

19. One or more non-transitory computer storage media encoded with computer program instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

receiving, from a user device by a skill template distribution system, characteristics of a robot and a selection of a skills template from a list of available skill templates compatible with the characteristics of the robot;

providing, by the skill template distribution system, to the user device, the selected skill template, wherein the skill template comprises information representing a state machine of one or more tasks, and wherein the skill template specifies which of the one or more tasks require adaptation using training data;

receiving, by the skill template distribution system, training data for a subtask of the skill template;

training a machine learning model for the subtask using the training data to generate learned parameter values; and

providing, to the user device, the learned parameter values for the machine learning model that causes the robot to implement a control policy that executes the subtask adapted using the training data.

20. The non-transitory computer storage media of claim 19 , further comprising:

receiving, from a user device by a skill template distribution system, a request for available skill templates, compatible with the characteristics of the robot, to be trained to cause a robot to perform a skill having a plurality of tasks; and

providing, to the user device in response to the request, information describing one or more available skill templates.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2023
From: KOLLURI, BALA VENKATA SAI RAVI KRISHNA; SCHAAL, STEFAN; DAVIS, BENJAMIN M.; SCHONHERR, RALF OLIVER MICHAEL; YE, NING
To: X DEVELOPMENT LLC
Reel/Frame 064054/0667 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2023
From: X DEVELOPMENT LLC
To: INTRINSIC INNOVATION LLC
Reel/Frame 064056/0093 →
Continuity (2)
Continuation 16880860 · May 21, 2020
Related Publication 20230356393A1 · Nov 9, 2023
References Cited (51)
US 9008840B1 · Ponulak et al. · 2015 [cited by applicant]
US 10279476B2 · Jaekel et al. · 2019 [cited by applicant]
US 10369694B2 · Laurent et al. · 2019 [cited by applicant]
US 10545497B1 · Cui et al. · 2020 [cited by applicant]
US 10668619B2 · Ueda et al. · 2020 [cited by applicant]
US 10807235B2 · Tsuda et al. · 2020 [cited by applicant]
US 11052541B1 · Howard et al. · 2021 [cited by applicant]
US 11679497B2 · Krishna et al. · 2023 [cited by applicant]
US 11685047B2 · Krishna et al. · 2023 [cited by applicant]
US 20130151442A1 · Suh et al. · 2013 [cited by applicant]
US 20130245824A1 · Barajas et al. · 2013 [cited by applicant]
US 20170001309A1 · Passot et al. · 2017 [cited by applicant]
US 20170190052A1 · Jaekel · 2017 [cited by examiner]
US 20190202053A1 · Tan et al. · 2019 [cited by applicant]
US 20190228309A1 · Yu et al. · 2019 [cited by applicant]
US 20190262990A1 · Grollman et al. · 2019 [cited by applicant]
US 20200070343A1 · Thomaz et al. · 2020 [cited by applicant]
US 20200210901A1 · Zhang · 2020 [cited by applicant]
US 20210205986A1 · Kalouche · 2021 [cited by applicant]
US 20210216906A1 · Flores et al. · 2021 [cited by applicant]
US 20210229291A1 · Yang et al. · 2021 [cited by applicant]
US 20210240984A1 · Nishio et al. · 2021 [cited by applicant]
US 20210247776A1 · Faye · 2021 [cited by examiner]
US 20210316448A1 · Husain et al. · 2021 [cited by applicant]
US 20210362327A1 · Krishna et al. · 2021 [cited by applicant]
US 20210362330A1 · Krishna et al. · 2021 [cited by applicant]
US 20210362331A1 · Kolluri et al. · 2021 [cited by applicant]
US 20210379758A1 · Chu et al. · 2021 [cited by applicant]
US 20220048186A1 · Sharma et al. · 2022 [cited by applicant]
US 20220187847A1 · Cella et al. · 2022 [cited by applicant]
US 20220234195A1 · Matsunaga et al. · 2022 [cited by applicant]
CN 102696052A · 2012 [cited by applicant]
CN 106457565A · 2017 [cited by applicant]
CN 108406767A · 2018 [cited by applicant]
CN 111144580A · 2020 [cited by applicant]
JP 2009509787 · 2009 [cited by applicant]
JP 2016159407 · 2016 [cited by applicant]
JP 2019079227 · 2019 [cited by applicant]
WO WO2016036593 · 2016 [cited by applicant]
WO WO2020047120 · 2020 [cited by applicant]
Decision to Grant a Patent in Japanese Appln. No. 2022-570258, dated Apr. 15, 2024, 5 pages (with English translation). [cited by applicant]
Archibald et al., “Model for skills-oriented robot programming (SKORP),” Proceedings of SPIE, Mar. 1993, 1964:392-402. [cited by applicant]
Hussein et al., “Deep imitation learning for 3D navigation tasks,” Neural Comput & Applic., Dec. 2017, 29(7):389-404. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2021/032736, dated Aug. 30, 2021, 16 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2021/032741, dated Aug. 31, 2021, 16 pages. [cited by applicant]
Metzen et al., “Towards Learning of Generic Skills for Robotic Manipulation,” Kunstl Intell, Dec. 2013, 28(1):15-20. [cited by applicant]
U.S. Appl. No. 16/880,724, Kolluri et al., Distributed Robotic Demonstration Learning, filed May 21, 2020, 57 pages. [cited by applicant]
Wahrburg et al., “Combined pose-wrench and state machine representation for modeling Robotic Assembly Skills,” 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems, Sep. 2015, pp. 852-857. [cited by applicant]
Office Action in Japanese Appln. No. 2022-570258, dated Jan. 5, 2024, 5 pages (with English translation). [cited by applicant]
Office Action in Chinese Appln. No. 202180044473.X, mailed on Jan. 25, 2025, 20 pages (with English translation). [cited by applicant]
Office Action in European Appln. No. 21730765.1, dated Feb. 13, 2025, 8 pages (with English translation). [cited by applicant]