IP Library › Granted Patent US 11,584,008
Granted Patent B1
US 11,584,008 · App. 17/067,525 · Granted Feb 21, 2023

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 11,584,008
App. No.
17/067,525
Granted
Feb 21, 2023
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 robotic system 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 (53)

1. A system comprising:

a robotic system configured to perform a task under control of a robotic controller programmed to implement a set of control policies; and

a computing system comprising one or more processors, the computing system 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 trials of the robotic system performing a portion of the task in the simulated environment and in the real world environment; and

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

wherein the robotic controller is configured to control the robotic system to perform the task using the set of control policies including the trained control policy.

2. The system of claim 1 , wherein the executable instructions direct the computing system to:

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

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

3. The system of claim 2 , wherein the executable instructions direct the computing system to:

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

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

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

4. The system of claim 1 , wherein the executable instructions direct the computing system to:

run second trials of the robotic system performing an additional portion of the task in the simulated environment and in the real world environment while the trained control policy is used to control the robotic system performing the portion of the task; and

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

5. The system of claim 4 , wherein the executable instructions direct the computing system 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 portion of the task based on the control policy.

6. 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 under control of a robotic controller programmed to implement a set of control policies, the set of control policies including a first control policy for controlling a first portion of the task and a second control policy for controlling 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;

training the first control policy based on evaluations of a level of success at the first portion of the task represented by the first trials; and

using the robotic controller to control the robotic system to perform the task based on the set of control policies, including the trained first control policy.

7. The method of claim 6 , 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.

8. The method of claim 7 , 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.

9. The method of claim 8 , 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.

10. The method of claim 7 , further comprising:

revising 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.

11. The method of claim 6 , further comprising:

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; and

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.

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

13. The method of claim 12 , 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.

14. A non-transitory computer storage medium storing executable code that 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;

training the first control policy based on evaluations of a level of success at the first portion of the task represented by the first trials; and

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

15. The non-transitory computer-readable medium of claim 14 , 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.

16. The non-transitory computer-readable medium of claim 15 , 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.

17. The non-transitory computer-readable medium of claim 16 , 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.

18. The non-transitory computer-readable medium of claim 15 , 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.

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

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; and

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.

Continuity (1)
Continuation 15842737 · Dec 14, 2017
Cited By (7)
US 12,314,060 US 12,379,729 US 12,533,801 US 12,552,021 US 12,576,520 US 12,585,282 US 12,664,505