IP Library › Granted Patent US 10,800,040
Granted Patent B1
US 10,800,040 · App. 15/842,737 · Granted Oct 13, 2020

Simulation-real world feedback loop for learning robotic control policies

Inventors: Brian C. Beckman (Seattle, WA); Leonardo Ruggiero Bachega (Seattle, WA); Brandon William Porter (Yarrow Point, WA); Benjamin Lev Snyder (Seattle, WA); Michael Vogelsong (Seattle, WA); Corrinne Yu (Seattle, WA)
Assignee: Amazon Technologies, Inc.
B25J9/1671B25J9/163B25J9/1605
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 10,800,040
App. No.
15/842,737
Granted
Oct 13, 2020
Kind
B1
Abstract

A machine learning system builds and uses computer models for controlling robotic performance of a task. Such computer models may be first trained using feedback on computer simulations of the robot performing the task, and then refined using feedback on real-world trials of the robot performing the task. Some examples of the computer models can be trained to automatically evaluate robotic task performance and provide the feedback. This feedback can be used by a machine learning system, for example an evolution strategies system or reinforcement learning system, to generate and refine the controller.

Claims (54)

1. A system comprising:

a robotic system that performs a task according to a robotic controller programmed to implement a set of control policies, wherein a first control policy of the set of control policies controls the robotic system to perform a first portion of the task and a second control policy of the set of control policies controls the robotic system to perform a second portion of the task that occurs after the first portion; and

one or more processors programmed with executable instructions to at least:

implement a physics simulation engine that runs a simulated environment that simulates a real world environment of the robotic system performing the task;

run first trials of the robotic system performing the first portion of the task in the simulated environment and in the real world environment;

use machine learning to train the first control policy based on evaluations of a level of success at the first portion of the task represented by the first trials;

run second trials of the robotic system performing the second portion of the task in the simulated environment and in the real world environment, wherein the trained first control policy controls the robotic system to perform the first portion of the task during the second trials; and

use machine learning to train the second control policy based on evaluations of a level of success at the second portion of the task represented by the second trials,

wherein the robotic controller controls the robotic system to complete performance of the task using the set of control policies including the trained first and second policies.

2. The system of claim 1 , wherein the executable instructions program the one or more processors to:

learn a preliminary version of the first control policy based on evaluations of simulations of the first portion of the task run in the simulated environment; and

refine the preliminary version of the first control policy based on evaluations of trials of the first portion of the task run in the real world environment.

3. The system of claim 2 , wherein the executable instructions program the one or more processors to learn a preliminary version of the second control policy based on evaluations of additional simulations run in the simulated environment, wherein the additional simulations simulate the robotic system performing the first portion of the task based on the first control policy.

4. The system of claim 3 , wherein the executable instructions program the one or more processors to refine the preliminary version of the second control policy based on evaluations of additional trials run in the real world environment, and wherein, for the additional trials, the robotic controller operates the robotic system to perform the first portion of the task based on the first control policy.

5. The system of claim 2 , wherein the executable instructions program the one or more processors to determine to:

determine to revise parameters of the simulated environment based on a result of the evaluation of the trials of the first portion of the task run in the real world environment;

run additional simulations of the first portion of the task in the simulated environment having the parameters revised; and

re-learn the preliminary version of the first control policy based on evaluations of the additional simulations.

6. The system of claim 1 , wherein the executable instructions program the one or more processors to determine to train the first control policy before the second control policy based on data representing sequential actions of the task.

7. The system of claim 6 , wherein the data indicates that the first portion of the task involves a first action and the second portion of the task involves a second action, and wherein the first action occurs before the second action in the sequential actions of the task.

8. A computer-implemented method comprising, as performed by at least one computing device configured to execute specific instructions:

generating a simulated environment that corresponds to a real world environment of a robotic system performing a task according to a robotic controller programmed to implement a set of control policies, wherein a first control policy of the set of control policies controls the robotic system to perform a first portion of the task and a second control policy of the set of control policies controls the robotic system to perform a second portion of the task;

running first trials of the robotic system performing the first portion of the task in the simulated environment and in the real world environment;

using machine learning to train the first control policy based on evaluations of a level of success at the first portion of the task represented by the first trials;

running second trials of the robotic system performing the second portion of the task in the simulated environment and in the real world environment, wherein the second trials include performing the first portion of the task based on the trained first control policy;

using machine learning to train the second control policy based on evaluations of a level of success at the second portion of the task represented by the second trials; and

using the robotic controller to control the robotic system to complete performance of the task based on the trained first and second policies.

9. The method of claim 8 , further comprising:

learning a preliminary version of the first control policy based on evaluations of simulations of the first portion of the task run in the simulated environment; and

refining the preliminary version of the first control policy based on evaluations of trials of the first portion of the task run in the real world environment.

10. The method of claim 9 , further comprising learning a preliminary version of the second control policy based on evaluations of additional simulations run in the simulated environment, wherein the additional simulations simulate the robotic system performing the first portion of the task based on the first control policy.

11. The method of claim 10 , further comprising refining the preliminary version of the second control policy based on evaluations of additional trials run in the real world environment, wherein, for the additional trials, the robotic controller operates the robotic system to perform the first portion of the task based on the first control policy.

12. The method of claim 9 , further comprising:

determining to revise parameters of the simulated environment based on a result of the evaluation of the trials of the first portion of the task run in the real world environment;

running additional simulations of the first portion of the task in the simulated environment having the parameters revised; and

re-learning the preliminary version of the first control policy based on evaluations of the additional simulations.

13. The method of claim 8 , further comprising determining to train the first control policy before the second control policy based on data representing sequential actions of the task.

14. The method of claim 13 , wherein the data indicates that the first portion of the task involves a first action and the second portion of the task involves a second action, the method further comprising identifying from the data that the first action occurs before the second action in the sequential actions of the task.

15. A non-transitory computer storage medium storing executable code, wherein the executable code configures a computing system to perform a process comprising:

generating a simulated environment that corresponds to a real world environment of a robotic system performing a task according to a robotic controller programmed to implement a first control policy that controls the robotic system to perform a first portion of the task and a second control policy that controls the robotic system to perform a second portion of the task;

running first trials of the robotic system performing the first portion of the task in the simulated environment and in the real world environment;

using machine learning to train the first control policy based on evaluations of a level of success at the first portion of the task represented by the first trials;

running second trials of the robotic system performing the second portion of the task in the simulated environment and in the real world environment, wherein performing the second portion of the task includes performing the first portion of the task based on the trained first control policy;

using machine learning to train the second control policy based on evaluations of a level of success at the second portion of the task represented by the second trials; and

using the robotic controller to control the robotic system to complete performance of the task based on at least the first and second control policies.

16. The non-transitory computer-readable medium of claim 15 , the process further comprising:

learning a preliminary version of the first control policy based on evaluations of simulations of the first portion of the task run in the simulated environment; and

refining the preliminary version of the first control policy based on evaluations of trials of the first portion of the task run in the real world environment.

17. The non-transitory computer-readable medium of claim 16 , the process further comprising learning a preliminary version of the second control policy based on evaluations of additional simulations run in the simulated environment, wherein the additional simulations simulate the robotic system performing the first portion of the task based on the first control policy.

18. The non-transitory computer-readable medium of claim 17 , the process further comprising refining the preliminary version of the second control policy based on evaluations of additional trials run in the real world environment, wherein, for the additional trials, the robotic controller operates the robotic system to perform the first portion of the task based on the first control policy.

19. The non-transitory computer-readable medium of claim 16 , the process further comprising:

determining to revise parameters of the simulated environment based on a result of the evaluation of the trials of the first portion of the task run in the real world environment; and

re-learning the preliminary version of the first control policy based on evaluations of the additional simulations of the first portion of the task run in the simulated environment having the parameters revised.

20. The non-transitory computer-readable medium of claim 15 , the process further comprising determining to train the first control policy before the second control policy based on data representing sequential actions of the task.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2018
From: BECKMAN, BRIAN C.; BACHEGA, LEONARDO RUGGIERO; PORTER, BRANDON WILLIAM; SNYDER, BENJAMIN LEV; VOGELSONG, MICHAEL; YU, CORRINNE
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 045447/0880 →
Cited By (19)
US 12,202,143 US 12,214,507 US 12,226,919 US 12,233,534 US 12,275,146 US 12,314,060 US 12,379,729 US 12,397,419 US 12,400,102 US 12,454,064 US 12,492,837 US 12,552,021 US 12,569,984 US 12,576,520 US 12,583,111 US 12,585,282 US 12,664,505 US 12,667,303 US 12,715,137