IP Library Granted Patent US 12697725
Granted Patent B2
US 12697725 · App. 18/523,971 · Granted Aug 4, 2026

Robot simulator with efficient contact wrench estimation

Inventors: Samarth Manoj Brahmbhatt (Mountain View, CA); German Ros Sanchez (Mountain View, CA)
Assignee: Intel Corporation
B25J9/1671B25J9/163B25J9/1633B25J9/1653B25J9/1664
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 12697725
App. No.
18/523,971
Granted
Aug 4, 2026
Kind
B2
Abstract

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.

Claims (34)

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.