US9671777B1ActiveUtility

Training robots to execute actions in physics-based virtual environment

Assignee: TruPhysics GmbHPriority: Jun 21, 2016Filed: Jun 21, 2016Granted: Jun 6, 2017
Est. expiryJun 21, 2036(~9.9 yrs left)· nominal 20-yr term from priority
B25J 9/1666B25J 9/1671G05B 2219/40121G05B 2219/40131G05B 2219/40091G05B 19/4069
93
PatentIndex Score
130
Cited by
0
References
29
Claims

Abstract

A disclosed system includes a physically plausible virtual runtime environment to simulate a real-life environment for the simulated robot and a test planning and testing component operable to receive task data based used to create a plurality of plausible tests for at least one robot control program. The plurality of plausible tests is designed to execute at least one task associated with the task data. The test planning and testing component is further operable to define test parameters for each of the plurality of plausible tests. The system further includes a robot controller operable to execute the plurality of plausible tests substantially simultaneously on the simulated robot, analyze results of the execution to select an optimized robot control program from the at least one robot control program, and based on the analysis, selectively optimize the test associated with the optimized robot control program.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A system for training a simulated robot to execute tasks in a physics-based simulated environment, the system including:
 a physically plausible virtual runtime environment to simulate a real environment for the simulated robot; 
 a processor configured to:
 receive task data; 
 based on the task data, create a plurality of plausible tests for at least one robot control program, the plurality of plausible tests being designed to execute at least one task associated with the task data; and 
 define test parameters for each of the plurality of plausible tests; and 
 
 a robot controller configured to:
 execute the plurality of plausible tests substantially simultaneously on the simulated robot; 
 analyze test results of the execution to select an optimized robot control program from the at least one robot control program; 
 based on the analysis, selectively optimize a plausible test associated with the optimized robot control program; and 
 a physical robot configured to execute the plausible test upon running the optimized robot control program on the robot controller. 
 
 
     
     
       2. The system of  claim 1 , wherein the physically plausible virtual runtime environment includes:
 a Graphics Processing Unit (GPU)-based collision detection mechanism to compute contacts between at least two 3-dimentional (3D) geometries in real time; 
 a Finite Element Method (FEM)-based mechanism for virtual prototyping of rigid-body physical objects and soft-body physical objects in real time; 
 a mechanical simulation framework for providing plausible mechanical behavior based on Newtonian physics; 
 a Hardware-in-the-loop (HWIL) simulation framework configured to interface between the robot controller and the physically plausible virtual runtime environment; and 
 a software framework for testing and optimizing robot control software based on data computed in the physically plausible virtual runtime environment or provided to the physically plausible virtual runtime environment. 
 
     
     
       3. The system of  claim 2 , wherein the GPU-based collision detection mechanism is to employ General Purpose Graphics Processing Unit (GPGPU) hardware to check Computer-Aided Design (CAD)-constructed 3D geometries for possible contacts. 
     
     
       4. The system of  claim 2 , wherein the GPU-based collision detection mechanism is to employ a hybrid bounding volume hierarchy and a spatial hashing approach to allow for a high degree of parallelized processing. 
     
     
       5. The system of  claim 2 , wherein the GPU-based collision detection mechanism is to employ a hybrid geometry data representation that combines both polygonal surface descriptions and a compressed point cloud data format to enable an operation of both spatial hashing and geometry feature-based intersection computation approaches. 
     
     
       6. The system of  claim 2 , wherein the GPU-based collision detection mechanism is optimized for virtual environments with a high number of possibly intersecting, moving concave triangle meshes and wherein both geometric data representation and scheduling strategies are employed for planning and executing intersection checks. 
     
     
       7. The system of  claim 1 , further comprising a database operable to store data associated with an indexing, searching, and retrieval architecture for robots, tools, workpieces, and working environments, mechanical and material properties of objects, kinematics, mechatronic properties and behavior models of robots, mechatronic properties and behavior models of actuators, sensors, template building blocks for trajectories, motion plans, object recognition, handling and manipulation tasks, and patterns and a framework supporting decision making Artificial Intelligence software. 
     
     
       8. A method for training a robot to execute a task in a physics-based simulated environment, the method comprising:
 determining, by a processor, a physically plausible virtual environment for a simulated robot; 
 receiving, by the processor, task data; 
 based on the task data, creating, by the processor, a plurality of plausible tests for at least one robot control program, the plurality of plausible tests being designed to execute at least one task associated with the task data; 
 defining, by the processor, test parameters for each of the plurality of plausible tests; 
 executing, by a robot controller, the plurality of plausible tests substantially simultaneously on the simulated robot; 
 analyzing, by the robot controller, test results of the execution to select an optimized robot control program from the at least one robot control program; 
 based on the analysis, selectively optimizing, by the robot controller, a plausible test associated with the optimized robot control program; and 
 executing, by a physical robot, the plausible test upon running the optimized robot control program on the robot controller. 
 
     
     
       9. The method of  claim 8 , wherein the plurality of plausible tests includes at least one of the following: tests of the same scenario for different control programs, tests of different scenarios for the same control program, and tests of the same scenario with different test parameters. 
     
     
       10. The method of  claim 8 , further comprising providing a human-machine interface (HMI) operable to receive the task data using at least one of the following: a text, a voice, and a gesture. 
     
     
       11. The method of  claim 8 , wherein the selective optimization of the plausible test includes:
 classifying the test results into categories, wherein the plausible test is associated with at least one category; and 
 optimizing the plausible test based on the at least one category. 
 
     
     
       12. The method of  claim 11 , wherein the categories include at least one of the following: a success, a fail, a partial success, and a near success based on meeting at least one of the following criteria: spatial, temporal, and logical, and wherein the task data includes user defined result criteria. 
     
     
       13. The method of  claim 8 , further comprising:
 determining, based on predetermined criteria, that further optimization is needed to the at least one robot control program associated with at least one of the plurality of plausible tests before the optimized robot control program is selected; and 
 based on the determination, adjusting the at least one robot control program. 
 
     
     
       14. The method of  claim 8 , wherein the optimization includes adjusting the test parameters based on the test results of executing the plurality of plausible tests, wherein the test parameters are adjusted automatically. 
     
     
       15. The method of  claim 8 , wherein the task data is obtained from a historical database or test execution data associated with the test results stored to the historical database. 
     
     
       16. The method of  claim 15 , wherein the storing of the test execution data to the historical database includes storing the optimized robot control program with associated test cases and corresponding simulation results. 
     
     
       17. The method of  claim 16 , wherein the plausible sensory data includes at least one of the following: an electrical emulation of a sensor, an electrical emulation of an actuator, visual data, tactile data, ambient data, and visual feedback of an execution of the optimized robot control program on the simulated robot. 
     
     
       18. The method of  claim 17 , wherein the execution of the optimized robot control program on the simulated robot includes at least one of the following: an actuator movement and an object manipulation. 
     
     
       19. The method of  claim 8 , wherein the optimization includes minimizing execution time or movement distances during task execution. 
     
     
       20. The method of  claim 8 , further comprising varying ambient conditions during the execution of the plurality of plausible tests. 
     
     
       21. The method of  claim 8 , wherein the task data is indicative of at least one part of a robot control program to be tested. 
     
     
       22. The method of  claim 8 , further comprising:
 logging events occurring during the execution of the plurality of plausible tests; 
 defining passing criteria for the plurality of plausible tests; and 
 comparing the test results of the execution to the passing criteria, wherein the selecting of the optimized robot control program is based on whether the passing criteria are satisfied. 
 
     
     
       23. The method of  claim 8 , further comprising automatically selecting the at least one task for the plurality of plausible tests based on a description of the at least one task in the task data. 
     
     
       24. The method of  claim 8 , wherein the task data is associated with at least one of the following: a gripping process and a combination of a plurality of subtasks. 
     
     
       25. The method of  claim 8 , wherein the determining the physically plausible virtual environment of the simulated robot includes:
 recognizing at least one object; and 
 classifying the at least one object based on data received from a digital twin catalog. 
 
     
     
       26. The method of  claim 25 , wherein the classification is based on at least one of the following properties: a viscosity, a mass, a rigidity, a fragility, a shape, a physical behavior, and a kinematical behavior. 
     
     
       27. The method of  claim 25 , further comprising:
 obtaining, based on the classification, further data concerning the at least one object from metadata of a digital twin; and 
 generating the physically plausible virtual environment based on the metadata. 
 
     
     
       28. The method of  claim 8 , further comprising triggering one or more predetermined actions based on the test results of execution of the plurality of plausible tests. 
     
     
       29. A system for training a simulated robot to execute tasks in a physics-based simulated environment, the system including:
 a physically plausible virtual runtime environment to simulate a real environment for the simulated robot; 
 a human-machine interface (HMI) operable to receive task data, the HMI being operable to receive commands using at least one of the following: a text, a voice, and a gesture; 
 a processor configured to:
 create a plurality of plausible tests based on the task data for at least one robot control program, the plurality of plausible tests being designed to execute at least one task associated with the task data, wherein the plurality of plausible tests includes at least one of the following: tests of the same scenario for different control programs, tests of different scenarios for the same control program, and tests of the same scenario with different test parameters; 
 define test parameters for each of the plurality of plausible tests; 
 
 a robot controller configured to:
 execute the plurality of plausible tests substantially simultaneously on the simulated robot; 
 analyze test results of the execution to select an optimized robot control program from the at least one robot control program; and 
 based on the analysis, selectively optimize a plausible test associated with the optimized robot control program, the selective optimization including classifying the results of execution into categories, and modifying results of execution based on the categories including, wherein the categories include at least one of the following: a success, a fail, a partial success, and a near success, wherein the success is based on meeting at least one of the following criteria: spatial, temporal, and logical; and 
 
 a physical robot configured to execute the plausible test upon running the optimized robot control program on the robot controller.

Join the waitlist — get patent alerts

Track US9671777B1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.