IP Library Granted Patent US 11,070,793
Granted Patent B2
US 11,070,793 · App. 15/221,152 · Granted Jul 20, 2021

Machine vision system calibration

Inventors: Tuotuo Li (Newton, MA); Lifeng Liu (Sudbury, MA); Cyril C. Marrion (Acton, MA)
Assignee: Cognex Corporation
H04N17/002G06T7/73G06T7/80G06T2207/30204G06T2207/30244
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,070,793
App. No.
15/221,152
Granted
Jul 20, 2021
Kind
B2
Abstract

Disclosed herein are systems and methods for machine vision. A machine vision system includes a motion rendering device, a first image sensor, and a second image sensor. The machine visions system includes a processor configured to run a computer program stored in memory that is configured to determine a first transformation that allows mapping between the first coordinate system associated with the motion rendering device and the second coordinate system associated with the first image sensor, and to determine a second transformation that allows mapping between the first coordinate system associated with the motion rendering device and the third coordinate system associated with the second image sensor.

Claims (91)

1. A machine vision system comprising:

one or more interfaces configured to provide communication with a motion rendering device, a first image sensor, and a second image sensor, wherein:

the motion rendering device is configured to provide at least one of a translational movement and an in-plane rotational movement, and is associated with a first coordinate system;

the motion rendering device is configured to directly or indirectly carry a first calibration plate and a second calibration plate, and the first calibration plate and the second calibration plate comprise a first plurality of known features with known physical positions relative to the first calibration plate and a second plurality of known features with known physical positions relative to the second calibration plate, respectively; and

the first image sensor and the second image sensor are configured to capture an image of the first calibration plate and the second calibration plate, respectively, and the first image sensor and the second image sensor are associated with a second coordinate system and a third coordinate system, respectively, wherein each of the first coordinate system, second coordinate system, and third coordinate system are different from each other; and

a processor configured to run a computer program stored in memory that is configured to:

send, via the one or more interfaces to the motion rendering device, first data configured to cause the motion rendering device to move to a requested first pose;

receive, via the one or more interfaces from the motion rendering device, a reported first pose;

receive, via the one or more interfaces from the first image sensor, a first image of the first calibration plate for the reported first pose;

receive, via the one or more interfaces from the second image sensor, a second image of the second calibration plate for the reported first pose;

determine a first plurality of correspondences between the known physical positions of the first plurality of features relative to the first calibration plate and first positions of the first plurality of features detected in the first image;

determine a second plurality of correspondences between the known physical positions of the second plurality of features relative to the second calibration plate and second positions of the second plurality of features detected in the second image;

determine, based on the first plurality of correspondences, a first transformation that allows mapping between the first coordinate system associated with the motion rendering device and the second coordinate system associated with the first image sensor; and

determine, based on the second plurality of correspondences, a second transformation that allows mapping between the first coordinate system associated with the motion rendering device and the third coordinate system associated with the second image sensor,

wherein the first and second transformations allow the machine vision system to establish correspondences between features found in separate images taken by the first and second image sensors and the first coordinate system.

2. The machine vision system of claim 1 , wherein the computer program is operable

to cause the processor to determine a motion correction transform that compensates for a systematic motion error associated with the motion rendering device.

3. The machine vision system of claim 1 , wherein the computer program is operable to cause the processor to re-calibrate the machine vision system after a first period of time, comprising re-determining:

the first plurality of correspondences;

the second plurality of correspondences;

the first transformation; and

the second transformation.

4. The machine vision system of claim 3 , wherein re-calibrating the machine vision

system comprises adjusting one or more pre-calibrated parameters.

5. A machine vision system comprising:

one or more interfaces configured to provide communication with a motion rendering device, a first image sensor, and a second image sensor, wherein:

the motion rendering device is configured to provide at least one of a translational movement and an in-plane rotational movement, and is associated with a first coordinate system;

the motion rendering device is further configured to directly or indirectly carry a first calibration plate and a second calibration plate;

the first image sensor and the second image sensor are configured to capture an image of the first calibration plate and the second calibration plate, respectively;

the first image sensor and the second image sensor are associated with a second coordinate system and a third coordinate system, respectively, wherein each of the first coordinate system, second coordinate system, and third coordinate system are different from each other; and

the first calibration plate and the second calibration plate comprise a first plurality of known features with known physical positions relative to the first calibration plate and a second plurality of known features with known physical positions relative to the second calibration plate, respectively; and

a processor configured to run a computer program stored in memory configured to:

send, via the one or more interfaces to the motion rendering device, first data configured to cause the motion rendering device to move to a requested first pose;

receive, via the one or more interfaces from the motion rendering device, a reported first pose;

receive, via the one or more interfaces from the first image sensor, a first image of the first calibration plate for the reported first pose;

receive, via the one or more interfaces from the second image sensor, a second image of the second calibration plate for the reported first pose;

determine a first plurality of correspondences between the known physical positions of the first plurality of features relative to the first calibration plate and first positions of the first plurality of features detected in the first image;

determine a second plurality of correspondences between the known physical positions of the second plurality of features relative to the second calibration plate and second positions of the second plurality of features detected in the second image;

determine, based on the first plurality of correspondences, a first transform between the first coordinate system and the second coordinate system based, at least in part, on the first plurality of correspondences and the reported first pose; and

determine, based on the second plurality of correspondences, a second transform between the first coordinate system and the third coordinate system based, at least in part, on the second plurality of correspondences and the reported first pose,

wherein the first and second transformations allow the machine vision system to establish correspondences between features found in separate images taken by the first and second image sensors and the first coordinate system.

6. The machine vision system of claim 5 , wherein the computer program is operable to cause the processor to determine a motion correction transform that compensates for a systematic motion error associated with the motion rendering device.

7. The machine vision system of claim 5 , wherein the computer program is operable to cause the processor to re-calibrate the machine vision system after a first period of time, 10 comprising re-determining:

the second plurality of correspondences;

the first transformation; and

the second transformation.

8. The machine vision system of claim 7 , wherein re-calibrating the machine vision system comprises adjusting one or more pre-calibrated parameters.

9. A machine vision system comprising:

one or more interfaces configured to provide communication with a motion rendering device, a first image sensor, and a second image sensor, wherein:

the motion rendering device is configured to provide at least one of a translational movement and an in-plane rotational movement, and is associated with a first coordinate system;

the motion rendering device is further configured to directly or indirectly carry a target object comprising a plurality of known features with unknown physical positions; and

the first image sensor and the second image sensor are configured to capture an image of a first subset and a second subset of the plurality of known features in the target object, respectively, and the first image sensor and the second image sensor are associated with a second coordinate system and a third coordinate system, respectively, wherein each of the first coordinate system, second coordinate system, and third coordinate system are different from each other; and

a processor configured to run a computer program stored in memory configured to:

send, via the one or more interfaces to the motion rendering device, first data configured to cause the motion rendering device to move to a requested first pose;

receive, via the one or more interfaces from the motion rendering device, a reported first pose;

receive, via the one or more interfaces from the first image sensor, a first image of the first subset of the plurality of features for the reported first pose;

receive, via the one or more interfaces from the second image sensor, a second image of the second subset of the plurality of features for the reported first pose image;

detect the first subset of known features on the target object in the first image;

detect the second subset of known features on the target object in the second image;

determine a first transform between the first coordinate system and the second coordinate system based, at least in part, on the detected first subset of the plurality of features and the reported first pose; and

determine a second transform between the first coordinate system and the third coordinate system based, at least in part, on the detected second subset of the plurality of features and the reported first pose,

wherein the first and second transforms allow the machine vision system to establish correspondences between features found in separate images taken by the first and second image sensors and the first coordinate system.

10. The machine vision system of claim 9 , wherein the computer program is operable to cause the processor to determine a motion correction transform that compensates for a systematic motion error associated with the motion rendering device.

11. The machine vision system of claim 9 , wherein the computer program is operable to cause the processor to re-calibrate the machine vision system after a first period of time, comprising re-determining:

the first subset of the plurality of features;

the second subset of the plurality of features;

the first transformation; and the second transformation.

12. The machine vision system of claim 11 , wherein re-calibrating the machine vision

system comprises adjusting one or more pre-calibrated parameters.

13. A machine vision system comprising:

one or more interfaces configured to provide communication with a motion rendering device, a first image sensor, and a second image sensor, wherein:

the motion rendering device is configured to provide at least one of a translational movement and an in-plane rotational movement, and is associated with a first coordinate system;

the motion rendering device is also configured to directly or indirectly carry the first image sensor and the second image sensor; and

the first image sensor and the second image sensor are configured to capture an image of a target object comprising a plurality of known features with unknown physical positions, and the first image sensor and the second image sensor are associated with a second coordinate system and a third coordinate system, respectively, wherein each of the first coordinate system, second coordinate system, and third coordinate system are different from each other; and

a processor configured to run a computer program stored in memory configured to:

send, via the one or more interfaces to the motion rendering device, first data configured to cause the motion rendering device to move to a requested first pose;

receive, via the one or more interfaces from the motion rendering device, a reported first pose;

receive, via the one or more interfaces from the first image sensor, a first image of a first subset of the plurality of known features for the reported first pose;

receive, via the one or more interfaces from the second image sensor, a second image of a second subset of the plurality of known features for the reported first pose;

detect the first subset of known features on the target object in the first image;

detect the second subset of known features on the target object in the second image;

determine a first transform between the first coordinate system and the second coordinate system based, at least in part, on the detected first subset of known features and the reported first pose; and

determine a second transform between the first coordinate system and the third coordinate system based, at least in part, on the detected second subset of known features and the reported first pose,

wherein the first and second transforms allow the machine vision system to establish correspondences between features found in separate images taken by the first and second image sensors and the first coordinate system.

14. The machine vision system of claim 13 , wherein the computer program is operable to cause the processor to determine a motion correction transform that compensates for a systematic motion error associated with the motion rendering device.

15. The machine vision system of claim 13 , wherein the computer program is operable to cause the processor to re-calibrate the machine vision system after a first period of time, comprising re-determining:

the first subset of the plurality of features;

the second subset of the plurality of features;

the first transformation; and

the second transformation.

16. The machine vision system of claim 15 , wherein re-calibrating the machine vision system comprises adjusting one or more pre-calibrated parameters.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2016
From: LI, TUOTUO; LIU, LIFENG; MARRION, CYRIL C.
To: COGNEX CORPORATION
Reel/Frame 040150/0842 →
Continuity (2)
Provisional Application 62199459 · Jul 31, 2015
Related Publication 20170032537A1 · Feb 2, 2017
Cited By (2)
US 12,299,722 US 12,710,269