Robot simulator with efficient contact wrench estimation
Disclosed herein are devices, methods, and systems for optimizing a robot simulator through calibration and/or training. The system collects real-world data points and simulation data points of a movement of a robot based on a heuristic policy that defines a threshold criterion for the movement of the robot. At least two data points of the simulation data points are time-aligned to corresponding data points of the real-world data points at times where the threshold criterion is satisfied. A transformation parameter is determined that is defined by a function that relates, for each simulation data point of the at least two data points and its corresponding real-world data point of the corresponding data points, a real-world magnitude of the real-world data point to a simulation magnitude of the simulation data point.
1 . A device comprising processing circuitry coupled to storage, the processing circuitry configured to:
collect real-world data points and simulation data points of a movement of a robot based on a heuristic policy that defines a threshold criterion for the movement of the robot;
time-align at least two data points of the simulation data points to corresponding data points of the real-world data points at times where the threshold criterion is satisfied; and
determine a transformation parameter defined by a function that relates, for each simulation data point of the at least two data points and its corresponding real-world data point of the corresponding data points, a real-world magnitude of the real-world data point to a simulation magnitude of the simulation data point;
generate movement instructions for the robot to perform a task, wherein the movement instructions are based on a transformation, according to the transformation parameter, of a simulated data point of the task to a real world data point of the task; and
control the robot to perform the task according to the movement instructions.
2 . The device of claim 1 , wherein the processing circuitry is configured to determine the transformation parameter based only on the real-world magnitude and the simulation magnitude.
3 . The device of claim 1 , the device further comprising a sensor configured to collect measurements representing the real-world data points.
4 . The device of claim 1 , wherein the real-world data point comprises a measured contact wrench vector of an end-effector of the robot and the simulation data point comprises a simulated contact wrench vector for the end-effector of the robot.
5 . The device of claim 4 , wherein the real-world magnitude comprises a magnitude of the measured contact wrench vector and the simulation magnitude comprises a magnitude of the simulated contact wrench vector.
6 . The device of claim 4 , wherein the measured contact wrench vector and simulated contact wrench vector each comprise a six-dimensional vector that comprises a force component in three directions and a torque component around three axes.
7 . The device of claim 4 , wherein the measured contact wrench vector comprises a measured force and measured torque exerted at a point of contact between the robot and an object in an environment of the robot, wherein the simulated contact wrench vector comprises a simulated force and simulated torque exerted at a simulated point of contact in a simulation of the robot and the environment.
8 . The device of claim 1 , wherein the threshold criterion is in terms of at least one dimension of a contact wrench vector.
9 . The device of claim 1 , wherein the threshold criterion comprises a maximum force along a direction of movement of the robot.
10 . A non-transitory, computer-readable medium including instructions that, when executed, cause one or more processors to:
collect real-world data points and simulation data points of a movement of a robot based on a heuristic policy that defines a threshold criterion for the movement of the robot;
time-align at least two data points of the simulation data points to corresponding data points of the real-world data points at times where the threshold criterion is satisfied;
determine a transformation parameter defined by a function that relates, for each simulation data point of the at least two data points and its corresponding real-world data point of the corresponding data points, a real-world magnitude of the real-world data point to a simulation magnitude of the simulation data point;
generate movement instructions for the robot to perform a task, wherein the movement instructions are based on a transformation, according to the transformation parameter, of a simulated data point of the task to a real world data point of the task; and
control the robot to perform the task according to the movement instructions.
11 . The non-transitory, computer-readable medium of claim 10 , wherein the instructions cause the one or more processors to determine the transformation parameter based only on the real-world magnitude and the simulation magnitude.
12 . The non-transitory, computer-readable medium of claim 10 , wherein the real-world data points comprise a series of measured contact wrench vectors collected at different points in time during the movement of the robot.
13 . The non-transitory, computer-readable medium of claim 10 , wherein the simulation data points comprise simulated contact wrench vectors at different points in time during the movement of the robot.
14 . The non-transitory, computer-readable medium of claim 10 , wherein the heuristic policy comprises one or more rules that relate the threshold criterion in terms of a contact wrench vector.
15 . The non-transitory, computer-readable medium of claim 10 , wherein the instructions cause the one or more processors to determine the transformation parameter based on a linear least-squares optimization.
16 . The non-transitory, computer-readable medium of claim 10 , wherein the movement comprises a change in position of an end-effector of the robot until the threshold criterion is satisfied.
17 . The non-transitory, computer-readable medium of claim 10 , wherein the transformation parameter comprises an output of a learning model that represents the function.
18 . An apparatus comprising:
a means for collecting real-world data points and simulation data points of a movement of a robot based on a heuristic policy that defines a threshold criterion for the movement of the robot;
a means for time-aligning at least two data points of the simulation data points to corresponding data points of the real-world data points at times where the threshold criterion is satisfied;
a means for determining a transformation parameter defined by a function that relates, for each simulation data point of the at least two data points and its corresponding real-world data point of the corresponding data points, a real-world magnitude of the real-world data point to a simulation magnitude of the simulation data point;
a means for generating movement instructions for the robot to perform a task, wherein the movement instructions are based on a transformation, according to the transformation parameter, of a simulated data point of the task to a real world data point of the task; and
a means for controlling the robot to perform the task according to the movement instructions.
19 . The apparatus of claim 18 , the apparatus further comprising a means for training a learning model based on instructing the robot to execute a task and evaluating a resulting execution of the task.