IP Library Granted Patent US 11,986,958
Granted Patent B2
US 11,986,958 · App. 16/880,862 · Granted May 21, 2024

Skill templates 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/161G06F9/4498G06N20/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 11,986,958
App. No.
16/880,862
Granted
May 21, 2024
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for using skill templates for robotic demonstration learning. One of the methods includes receiving a skill template for a task to be performed by a robot, wherein the skill template defines a state machine having a plurality of subtasks and one or more respective transition conditions between one or more of the subtasks. Local demonstration data for a demonstration subtask of the skill template is received, where the local demonstration data is generated from a user demonstrating how to perform the demonstration subtask with the robot. A machine learning model is refined for the demonstration subtask and the skill template is executed on the robot, causing the robot to transition through the state machine defined by the skill template to perform the task.

Claims (39)

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

receiving a skill template for a task to be performed by a robot, wherein the skill template defines a state machine having a plurality of subtasks and one or more respective transition conditions between one or more of the subtasks,

wherein the skill template indicates which of the subtasks are demonstration subtasks to be refined using local demonstration data;

obtaining a base control policy for a demonstration subtask of the skill template;

receiving, for the demonstration subtask of the skill template, local demonstration data generated from a user demonstrating with the robot how to perform the demonstration subtask, wherein the local demonstration data comprises a set of task state representations generated from a plurality of sensor streams while the user demonstrates the demonstration subtask using the robot;

refining the base control policy for the demonstration subtask using the local demonstration data, wherein a refined based control policy for the demonstration subtask is configured to generate, using one or more input sensor streams, a command to be executed by the robot; and

executing the skill template on the robot, thereby causing the robot to transition through the state machine defined by the skill template to perform the task, including performing commands generated by the refined base control policy.

2. The method of claim 1 , wherein receiving local demonstration data comprises receiving local demonstration data for each of a plurality of transition conditions for the demonstration subtask of the skill template.

3. The method of claim 1 , wherein the skill template specifies that fewer than all transition conditions of the demonstration subtask require local demonstration data.

4. The method of claim 1 , wherein the skill template is hardware-agnostic.

5. The method of claim 4 , further comprising adapting the skill template for a plurality of different robot models including generating respective local demonstration data by the plurality of different robot models.

6. The method of claim 1 , wherein the skill template specifies, for each subtask of the plurality of subtasks, which input sensor streams are required to complete the subtask.

7. The method of claim 6 , wherein the base control policy was generated from demonstrations on a plurality of different robot models.

8. The method of claim 1 , wherein a first subtask of the skill template references a different second skill template having a plurality of second subtasks.

9. 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 a skill template for a task to be performed by a robot, wherein the skill template defines a state machine having a plurality of subtasks and one or more respective transition conditions between one or more of the subtasks,

wherein the skill template indicates which of the subtasks are demonstration subtasks to be refined using local demonstration data;

obtaining a base control policy for a demonstration subtask of the skill template;

receiving, for the demonstration subtask of the skill template, local demonstration data generated from a user demonstrating with the robot how to perform the demonstration subtask, wherein the local demonstration data comprises a set of task state representations generated from a plurality of sensor streams while the user demonstrates the demonstration subtask using the robot;

refining the base control policy for the demonstration subtask using the local demonstration data, wherein a refined based control policy for the demonstration subtask is configured to generate, using one or more input sensor streams, a command to be executed by the robot; and

executing the skill template on the robot, thereby causing the robot to transition through the state machine defined by the skill template to perform the task, including performing commands generated by the refined base control policy.

10. The system of claim 9 , wherein receiving local demonstration data comprises receiving local demonstration data for each of a plurality of transition conditions for the demonstration subtask of the skill template.

11. The system of claim 9 , wherein the skill template specifies that fewer than all transition conditions of the demonstration subtask require local demonstration data.

12. The system of claim 9 , wherein the skill template is hardware-agnostic.

13. The system of claim 12 , wherein the operations further comprise adapting the skill template for a plurality of different robot models including generating respective local demonstration data by the plurality of different robot models.

14. The system of claim 9 , wherein the skill template specifies, for each subtask of the plurality of subtasks, which input sensor streams are required to complete the subtask.

15. The system of claim 14 , wherein the base control policy was generated from demonstrations on a plurality of different robot models.

16. The system of claim 9 , wherein a first subtask of the skill template references a different second skill template having a plurality of second subtasks.

17. 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 a skill template for a task to be performed by a robot, wherein the skill template defines a state machine having a plurality of subtasks and one or more respective transition conditions between one or more of the subtasks,

wherein the skill template indicates which of the subtasks are demonstration subtasks to be refined using local demonstration data;

obtaining a base control policy for a demonstration subtask of the skill template;

receiving, for the demonstration subtask of the skill template, local demonstration data generated from a user demonstrating with the robot how to perform the demonstration subtask, wherein the local demonstration data comprises a set of task state representations generated from a plurality of sensor streams while the user demonstrates the demonstration subtask using the robot;

refining the base control policy for the demonstration subtask using the local demonstration data, wherein a refined based control policy for the demonstration subtask is configured to generate, using one or more input sensor streams, a command to be executed by the robot; and

executing the skill template on the robot, thereby causing the robot to transition through the state machine defined by the skill template to perform the task, including performing commands generated by the refined base control policy.

18. The one or more non-transitory computer storage media of claim 17 , wherein receiving local demonstration data comprises receiving local demonstration data for each of a plurality of transition conditions for the demonstration subtask of the skill template.

19. The one or more non-transitory computer storage media of claim 17 , wherein the skill template specifies that fewer than all transition conditions of the demonstration subtask require local demonstration data.

20. The one or more non-transitory computer storage media of claim 17 , wherein the skill template is hardware-agnostic.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2021
From: X DEVELOPMENT LLC
To: INTRINSIC INNOVATION LLC
Reel/Frame 057650/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2020
From: KOLLURI, BALA VENKATA SAI RAVI KRISHNA; SCHAAL, STEFAN; DAVIS, BENJAMIN M.; SCHÖNHERR, RALF OLIVER MICHAEL; YE, NING
To: X DEVELOPMENT LLC
Reel/Frame 053023/0046 →