IP Library Granted Patent US 11,911,915
Granted Patent B2
US 11,911,915 · App. 17/343,312 · Granted Feb 27, 2024

Determining robotic calibration processes

Inventors: Dirk Holz (Mountain View, CA); Timothy Robert Kelch (San Jose, CA)
Assignee: Intrinsic Innovation LLC
B25J9/1692B25J9/163G05B19/4155B25J9/08G05B2219/39019
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,911,915
App. No.
17/343,312
Granted
Feb 27, 2024
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium that automatically calibrates robots and sensors assigned to perform a task in an operating environment. One of the methods includes obtaining a representation of a robotic operating environment. A user selection of a plurality of components to be configured to operate in the robotic operating environment is received. A mapping is obtained between pairs of components to be calibrated and one or more respective calibration processes to perform to calibrate each pair of components. From the mapping, one or more calibration processes to be performed on pairs of components based on the user selection of the plurality of components is computed. Calibration instruction data describing how to perform the one or more calibration processes to be performed on the pairs of components of the user selection is determined and presented.

Claims (58)

1. A computer-implemented method comprising:

obtaining a representation of a robotic operating environment;

receiving a user selection of a plurality of components to be configured to operate in the robotic operating environment, wherein the plurality of components comprise one or more robots and one or more sensors;

obtaining a mapping between different pairs of components to be calibrated and different respective sets of calibration processes to be performed to calibrate each pair of components;

computing, from the mapping, one or more calibration processes to be performed on pairs of components based on the user selection of the plurality of components;

determining calibration instruction data describing how to perform the one or more calibration processes to be performed on the pairs of components of the user selection; and

presenting the calibration instruction data for calibrating the user selection of the plurality of components in the robotic operating environment.

2. The method of claim 1 , wherein the calibration instruction data describing the at least one calibration process to be performed on the at least one component in the operating environment further includes data describing at least one second component in the operating environment, wherein the at least one calibration process calibrates the at least one first component with respect to the at least one second component.

3. The method of claim 1 , further comprising presenting calibration information that reflects the outcome of performing calibration processes in a second operating environment.

4. The method of claim 1 , further comprising causing a calibration engine to perform the processes identified by the calibration instruction data.

5. The method of claim 1 , wherein:

the mapping comprises a set of rules;

at least one rule in the set of rules comprises at least one predicate and at least one result, wherein the result is related to calibration instruction data; and

evaluating, by the system, at least one rule to determine calibration instruction data.

6. The method of claim 1 , wherein the operating environment comprises a virtual representation of a physical workcell.

7. The method of claim 1 , wherein the operating environment comprises a physical workcell.

8. The method of claim 1 , further comprising:

obtaining, by a server, the results of executing at least one calibration process in a second operating environment; and

adjusting, by the server, at least one calibration information data, wherein the adjustment relates to the obtained results.

9. The method of claim 1 , wherein the calibration instruction data includes an indication of accuracy.

10. The method of claim 1 , wherein the calibration instruction data includes an indication of complexity associated with performing at least one calibration process.

11. The method of claim 1 , wherein determining the calibration instruction data comprises:

providing calibration data to a machine learning model that is configured to recommend calibration instruction data;

executing the machine learning model; and

determining calibration instruction data from the results of executing the machine learning model.

12. The method of claim 1 , further comprising:

determining recommendations relating to components in the operating environment, wherein the recommendations relate to improving the accuracy associated with at least one calibration instruction data; and

presenting indications of the recommendations.

13. One or more non-transitory computer-readable storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

obtaining a representation of a robotic operating environment;

receiving a user selection of a plurality of components to be configured to operate in the robotic operating environment, wherein the plurality of components comprise one or more robots and one or more sensors;

obtaining a mapping between different pairs of components to be calibrated and different respective sets of calibration processes to be performed to calibrate each pair of components;

computing, from the mapping, one or more calibration processes to be performed on pairs of components based on the user selection of the plurality of components;

determining calibration instruction data describing how to perform the one or more calibration processes to be performed on the pairs of components of the user selection; and

presenting the calibration instruction data for calibrating the user selection of the plurality of components in the robotic operating environment.

14. The one or more non-transitory computer-readable storage media of claim 13 , wherein the calibration instruction data describing the at least one calibration process to be performed on the at least one component in the operating environment further includes data describing at least one second component in the operating environment, wherein the at least one calibration process calibrates the at least one first component with respect to the at least one second component.

15. The one or more non-transitory computer-readable storage media of claim 13 , wherein the operations further comprise presenting calibration information that reflects the outcome of performing calibration processes in a second operating environment.

16. The one or more non-transitory computer-readable storage media of claim 13 , further comprising causing a calibration engine to perform the processes identified by the calibration instruction data.

17. A system comprising one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to perform operations comprising:

obtaining a representation of a robotic operating environment;

receiving a user selection of a plurality of components to be configured to operate in the robotic operating environment, wherein the plurality of components comprise one or more robots and one or more sensors;

obtaining a mapping between different pairs of components to be calibrated and different respective sets of calibration processes to be performed to calibrate each pair of components;

computing, from the mapping, one or more calibration processes to be performed on pairs of components based on the user selection of the plurality of components;

determining calibration instruction data describing how to perform the one or more calibration processes to be performed on the pairs of components of the user selection; and

presenting the calibration instruction data for calibrating the user selection of the plurality of components in the robotic operating environment.

18. The system of claim 17 , wherein the calibration instruction data describing the at least one calibration process to be performed on the at least one component in the operating environment further includes data describing at least one second component in the operating environment, wherein the at least one calibration process calibrates the at least one first component with respect to the at least one second component.

19. The system of claim 17 , wherein the operations further comprise presenting calibration information that reflects the outcome of performing calibration processes in a second operating environment.

20. The system of claim 17 , further comprising causing a calibration engine to perform the processes identified by the calibration instruction data.

21. A computer-implemented method comprising:

obtaining a representation of a robotic operating environment;

receiving a user selection of a plurality of components to be configured to operate in the robotic operating environment, wherein the plurality of components comprise one or more robots and one or more sensors;

obtaining a mapping between pairs of components to be calibrated and one or more respective calibration processes to perform to calibrate each pair of components;

computing, from the mapping, one or more calibration processes to be performed on pairs of components based on the user selection of the plurality of components;

determining calibration instruction data describing how to perform the one or more calibration processes to be performed on the pairs of components of the user selection, including:

providing calibration data to a machine learning model that is configured to recommend calibration instruction data,

executing the machine learning model, and

determining calibration instruction data from the results of executing the machine learning model; and

presenting the calibration instruction data for calibrating the user selection of the plurality of components in the robotic operating environment.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2021
From: X DEVELOPMENT LLC
To: INTRINSIC INNOVATION LLC
Reel/Frame 057650/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2021
From: HOLZ, DIRK; KELCH, TIMOTHY ROBERT
To: X DEVELOPMENT LLC
Reel/Frame 056596/0860 →