System and method for three-dimensional calibration of a vision system
The multi-layer 3D calibration target simplifies and reduces the cost of 3D vision system calibration by enabling vision-based inspection and monitoring of orientation repeatability and parallelism, addressing the inefficiencies of current methods.
Patent Information
- Application Number
- JP2022193795
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-03-11
- Filing Date
- 2022-12-02
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2041-03-15
AI Technical Summary
Current 3D calibration methods for vision systems are costly, time-consuming, and require precise pre-calibration, with no practical technology to measure work surface orientation repeatability and robot end-effector parallelism, often relying on subjective and inaccurate manual setups.
A multi-layer 3D calibration target is used to eliminate the need for precise pre-calibration, allowing vision-based inspection and monitoring of orientation repeatability and parallelism by analyzing image data from different spatial locations and times, using a vision system tool to calculate displacement differences and verify surface alignment.
The system simplifies calibration and maintenance, ensuring long-term repeatability and parallelism of surfaces in a workspace, reducing costs and eliminating the need for time-consuming pre-calibration procedures while maintaining high production quality.
Smart Images

Figure 0007744893000001 
Figure 0007744893000002 
Figure 0007744893000003
Abstract
Description
[Technical Field]
[0001] Related Applications This application claims the benefit of co-pending U.S. patent application Ser. No. 62 / 991,430, filed March 18, 2020, entitled "System and Method for Three-Dimensional Calibration of Vision Systems," the teachings of which are incorporated herein by reference.
[0002] FIELD OF THE INVENTION The present invention relates to a calibration system and method, and a calibration object (target) for use in machine vision system applications. [Background technology]
[0003] Machine vision systems (also referred to herein as "vision systems") perform vision system processes on objects or surfaces within a scene imaged using one or more cameras. These processes can include inspection, code decoding, alignment, and a variety of other automated tasks. More specifically, vision systems can be used to inspect workpieces present in the imaged scene or to guide a mobile robot end effector between locations. The scene is typically imaged by one or more vision system cameras, which can include an internal or external vision system processor that operates associated vision system processes to produce results. To enable a vision system to perform vision tasks with sufficient accuracy and reliability, it is generally desirable to calibrate the system by establishing spatial relationships between one or more cameras and objects or surfaces within the imaged scene. This process can use a calibration object or calibration target to represent spatial characteristics (e.g., position and orientation) of the object or surface being calibrated. By way of example, the image of the workpiece may be characterized by two-dimensional (2D) image pixel data (e.g., x and y coordinates), three-dimensional (3D) image data (x, y and z coordinates), or hybrid 2.5D image data, in which multiple x and y coordinate planes are substantially parallel and characterized by a variable z-height.
[0004] Calibration objects or targets (often in the form of "plates") are often provided as flat structures with a distinctive pattern (artwork) visible on their surface. This distinctive pattern is typically carefully and precisely designed so that a user can easily identify each visible feature in a camera-acquired image of the target. Some exemplary patterns include a checkerboard tessellated with squares, or a checkerboard with additional codes embedded at periodic intervals within the overall pattern that define the location of the features, dot grids, line grids, honeycomb patterns, tessellated triangles, other polygons, etc. The characteristics of each visible feature are known from the target design, including its position and / or rotation relative to a reference position and / or coordinate system implicitly defined within the design.
[0005] The design of a typical checkerboard pattern, characterized by a tessellated arrangement of intersecting lines, offers certain advantages in terms of accuracy and robustness when performing calibration. More specifically, in two-dimensional (2D) calibration of a stationary object, to determine the accuracy of the vision system, it is usually sufficient to determine the relative positions of the corners of individual checkerboard tiles with the edges of the calibration checkerboard, and if necessary, provide correction factors to the camera's processor, which then take such correction factors into account when measuring the object at runtime.
[0006] By way of further background, calibration of a vision system camera involves mapping the pixels of the camera sensor to a predetermined coordinate system. The target can provide features that define the coordinate system (e.g., a series of checkerboard X-Y axis configurations), such as a 2D code (also called a "barcode") embedded in the feature pattern, or characteristic fiducials that otherwise define the pattern coordinate system. By mapping the features to the camera pixels, the system is calibrated to the target. When multiple cameras are used to acquire images of all or part of a calibration target, all cameras are mapped to a common coordinate system that can be specified by the target's features (e.g., x and y along the face of the target, z (height), and rotation Θ about the z-axis in the x-y plane). Alternatively, a calibration target can be mapped to another (e.g., global) coordinate system. In general, calibration targets can be used in many types of calibration operations. By way of example, typical internal and external camera calibration operations involve acquiring images of a target with one or more cameras and using the acquired images of the target to calibrate relative to the calibration target's own coordinate system, with the target at a specific location within at least a portion of the overall field of view of all cameras. A calibration application in the vision processor estimates the relative positions of one or more cameras from the images of the targets acquired by those cameras. Using fiducials on the targets, the cameras can be directed to the targets in their respective fields of view. This calibration is referred to as "calibrating the cameras to the plate."
[0007] Typically, the pre-setup procedure for applying 3D (e.g., stereo vision) vision system imaging to a scene requires a precise and often time-consuming pre-calibration process, in which the features of the 3D calibration target must be accurately measured in all three dimensions. This process must be performed by an expert and can be costly. Furthermore, to ensure the accuracy and proper function of the vision system, the pre-calibrated parameters must remain constant throughout the lifetime of the underlying 3D calibration equipment. That is, the equipment must be properly maintained and free of perturbations throughout its entire operating life to ensure the stability of the pre-calibration. This level of care and maintenance can also be costly in a factory environment. Accurate vision system setup and health monitoring are key to high-quality production in factories. However, while many setup / monitoring methods require 3D calibration equipment, the above points highlight some of the major disadvantages associated with such equipment. Note that accurate 3D calibration equipment requires micron-level manufacturing precision, which is very expensive.
[0008] Furthermore, no practical technology currently exists to measure the repeatability of work surface orientation in factories. Similarly, the parallelism of a robot's end-effector plane to the assembly surface typically requires manual setup, which involves subjective, often time-consuming, and potentially inaccurate assessments (e.g., based on pressure paper). Summary of the Invention
[0009] The present invention overcomes the shortcomings of the prior art by providing a system and method for calibrating a 3D vision system using a multi-layer (at least two-layer) 3D calibration target that eliminates the requirement for precise pre-calibration of the 3D target for initial setup of a construction system in a workspace (e.g., manufacturing) and subsequent health monitoring of the construction, as well as tedious maintenance requirements. The system and method acquire images of the multi-layer 3D calibration target at different spatial locations and different times and calculate the difference in orientation of the 3D calibration target between the two acquisitions. This technique can be used to perform vision-based inspection and monitoring of the orientation repeatability of a single surface. By applying this technique to an assembly work surface, the system and method can perform vision-based inspection and monitoring of the orientation repeatability of an assembly work surface. This technique can be used in conjunction with a mobile robot end effector to inspect and monitor the orientation repeatability of a vision-based robot end effector (also known as a "vision-guided robot (VGR)"). Similarly, vision-guided adjustment of two surfaces to achieve parallelism can be achieved. The system and method can operate to perform precise VGR setup to achieve parallelism of the robot end effector and assembly work surface (i.e., robot tuning).
[0010] In various embodiments, systems and methods for calibrating a vision system with respect to a 3D workspace are provided. The systems and methods use a multi-layered 3D calibration target having multiple surfaces at multiple mutually different displacements, each surface having a separate calibration pattern thereon. One of the surfaces can be in the form of a "major surface" on which other smaller individual surfaces are disposed. Image data including the 3D calibration target is received, and a vision system tool is applied to the image data. The vision tool is used to analyze the image data and calculate a difference between a displacement at a first spatial location and a displacement at a second spatial location to provide a result. Illustratively, the systems and methods can place the 3D calibration target on a robot end effector, which provides motion feedback to the vision system and can be configured as a VGR system. For example, the 3D calibration target can include a substantially rectangular major surface with four corners and four rectangular plates positioned adjacent to each of the four corners. Also by way of example, the faces of the rectangular plates are positioned at non-orthogonal angles relative to the sides of the major surface. Each individual calibration pattern for each of the plurality of surfaces can include a checkerboard pattern embedded with one or more ID codes, each containing information related to its location within the calibration pattern. A vision tool can be used to analyze the image data and calculate a difference between a displacement at a first spatial location and a displacement at a different, second spatial location to provide a result. The system and method can verify parallelism between the first and second surfaces based on the result, and / or verify repeatability of the spatial orientation of the object surface in the workspace over a desired time interval based on the result. Illustratively, an optical assembly is provided that is part of or attached to a camera assembly that generates the image data. The optical assembly can be telecentric or non-telecentric. If the optical assembly is non-telecentric, the system and method can move a 3D calibration target and apply a closed-loop 2D alignment process before and after moving the 3D calibration target.
[0011] The following description of the invention refers to the accompanying drawings. [Brief explanation of the drawings]
[0012] [Figure 1] FIG. 1 is a diagram of an overall vision system configuration undergoing a calibration process using a calibration target and associated stored calibration target feature relationship data, in accordance with an exemplary embodiment.
[0013] [Figure 2] FIG. 2 is a top view of a two-level 3D calibration target for use in the system of FIG. 1.
[0014] [Figure 3] FIG. 2 is a side view of the two-level 3D calibration target of FIG. 1.
[0015] [Figure 4] 2 is a flow diagram illustrating a procedure for verifying the repeatability of an object surface using the fixed or moving calibration target of FIG. 1 according to an exemplary embodiment.
[0016] [Figure 5] 2 is a flow diagram illustrating a procedure for determining parallelism using the fixed or moving calibration target of FIG. 1 in accordance with an exemplary embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0017] I. System Overview
[0018] FIG. 1 illustrates a vision system configuration 100 comprising one or more cameras 1-N (110, 112) capturing images of at least one side of a calibration target 120 according to an exemplary embodiment. The cameras 110 and 112 are positioned to capture images of part or all of the calibration target 120 within an overall scene. The target 120 is shown within the field of view (FOV) of the cameras 110 and 112. The target 120 is supported by a mobile robotic end effector 122 disposed at the end of a motion device, such as a multi-axis robotic arm 124. The orientation and grip configuration of the end effector can vary widely. In this example, the end effector 122 is shown partially covering the target 120 using a suction cup or other removable fixation mechanism (not shown) that engages the target's surface. The robotic arm 124 is controlled by a suitable controller 128 (described below). Its motion is defined by a suitable coordinate space 130 defining orthogonal x, y, and z axes and associated rotations θx, θy, and θz. The number of cameras 110 and 112 and their orientation relative to the coordinate space (130) of the imaged scene are highly variable in alternative configurations. In various embodiments, the robot end effector 122 and motion device 124 can be replaced with one or more other types of work surfaces and motion devices, including, but not limited to, assembly surfaces supported by other mechanisms such as conveyors and / or lifting devices and / or clamps. In various embodiments, the 3D calibration target 120 can be attached to the work surface at the top (as shown) or bottom (described below) of its major surface 180. Note that the term "major surface" should be interpreted broadly and includes, by way of example, a surface configuration supporting one or more separate, smaller-area surfaces of different heights projected above (or below) the major surface. In yet another embodiment, the separate single-optical cameras can be replaced with one or more other types of cameras, including, but not limited to, laser displacement sensors, stereoscopic cameras, LIDAR-based (or more generally, distance-measuring) cameras, time-of-flight cameras, etc.
[0019] Cameras 110 and 112 include image sensors S that transmit image data to one or more internal or external vision system processors 140, which use functional modules, processes, and / or processors to execute appropriate 2D, 2.5D, and / or 3D vision system processes. By way of non-limiting example, the modules / processes may include a set of exemplary vision system tools 142 that locate and analyze features within an image, such as an edge finder and contrast tool, a blob analyzer, calipers, and a range finder. The vision system tools 142 interact with a calibration module / process 144 that performs calibration and establishes 3D relationships between 3D targets and one or more cameras, expressed in a common coordinate space (e.g., the illustrated coordinate space 130). Note that the illustrated coordinate space 130 of the scene may be defined in terms of Cartesian coordinates along associated orthogonal x, y, and z axes (and rotations as described above). In alternative embodiments, other types of coordinate systems, such as polar coordinates, may be used to characterize the 3D image space. The vision system's processor 140 may also include an ID / code detection and decoding module 140, which uses conventional or custom techniques to identify and decode barcodes and / or various other types and standards of ID, including those embedded in the calibration target 120, among others, as described below.
[0020] The processor 140 can be instantiated with custom circuitry or, as shown, can be provided as hardware and software in a general-purpose computing device 150. This computing device 150 can be a PC, laptop, tablet, smartphone, and / or any other acceptable data processing device. The computing device can include a user interface, such as a keyboard 152, a mouse 154, and / or a display / touchscreen 156. The computing device 150 can reside on a suitable communications network (e.g., WAN, LAN) using wired and / or wireless links. This network can connect to one or more data processing devices, including a robot / end effector controller 160, and an appropriate vision system interface 148 therefor. The controller 160 exchanges information with vision system data during calibration and runtime to provide motion feedback 162 to the vision system related to the position of the end effector (e.g., using robot motion data from steppers, encoders, etc.), enabling the vision system to visually guide the end effector in 3D space.
[0021] II.3D Calibration Target
[0022] The exemplary configuration of calibration target 120 is one of various implementations contemplated herein. With further reference to FIGS. 2 and 3 , target 120 may include a flat surface with associated artwork / calibration pattern (e.g., a checkerboard with a tessellated arrangement of light and dark squares). In the illustrated example, calibration target 120 further includes raised plates 170, 172, 174, and 176 above flat major surface 180. These raised plates 170, 172, 174, and 176 also include calibration patterns. Note that in this example, the calibration patterns on the top surfaces of plates 170-176 and on major surface 180 are not obscured by end effector 122 and can therefore be clearly imaged by the camera. Plates 170-176 may define a perimeter that is a square, rectangle, polygon, or any other suitable shape. Similarly, the plates may be oriented at any suitable angle AP relative to the edge of major surface 180, e.g., parallel or non-parallel thereto. In this example, the applied calibration pattern is a precise black and white checkerboard of equal-sized squares. In alternative embodiments, other predetermined patterns can be provided. The pattern on major surface 180 and raised plates 170-176 is interrupted at predetermined intervals in each orthogonal direction by ID codes, e.g., conventional 2D barcodes 182, containing information about the relative positions and placement of the calibration pattern elements. This placement of ID codes allows vision system processor 140, via ID reader / decoder 146, to determine the location of adjacent calibration features within the camera's FOV. If calibration target 120 occupies multiple (possibly overlapping) FOVs, the use of ID codes allows for alignment of features within adjacent FOVs, thereby facilitating simultaneous operation of multiple cameras.
[0023] The method for applying the calibration pattern to the target surface 180 is highly variable and can be, for example, screen printing or photolithography. Generally, the lines defining the boundaries of the features and their intersections are sharp enough to produce an acceptable level of resolution, depending on the overall scene size, and can be measured in microns, millimeters, or the like. As shown in FIG. 3 , the raised plates 170-176 define a height H between the plate major surface 180 and the plate top surface 310, which can be similar for all plates 170-176 or can vary from plate to plate. Thus, each plate or group of plates can define a distinct, different height. Thus, in the exemplary embodiment, the plate heights H are not equal, thereby defining different displacements at different locations relative to the major surface 180 (e.g., at each of the four corners). In the exemplary embodiment, the height H is highly variable, for example, between 1 and 50 millimeters. Generally, this height information for each raised plate 170-176 is known relatively accurately in advance and can be encoded in the printed barcode 182. In various embodiments, some or all of surface 310 may be parallel or non-parallel to major surface 180. When imaged, the calibration features of each pattern (plate major surface 180 and small raised plate surfaces 310) are spaced at distinct height intervals (e.g., in the z-axis) relative to the camera.
[0024] Target 120 can be assembled together in a variety of ways. In a non-limiting example, smaller area plates 170-176 are adhered to adjacent plate major surface 180 using a suitable adhesive (cyanoacrylate, epoxy, etc.) adjacent each of four adjacent corners on surface 180 at the angle orientation shown (relative to the x-y axes of the major plate). In this example, the parallelism between surface 180 and surface 310 does not need to be precisely controlled, nor does the x-y placement of the smaller plates on the larger plate. Calibration information obtained by the procedures described herein (below) can be stored in data set 190 for processor 140.
[0025] Systems and methods for using a calibration target having two patterned surfaces, each associated with a raised plate, are described in commonly assigned U.S. patent application Ser. No. 15 / 955,510, filed April 17, 2018, entitled "High Precision Calibration System and Method," the teachings of which are incorporated herein by reference for helpful background information. This application describes techniques for calibrating a 3D vision system and orienting features within an adjacent FOV using ID codes embedded within a pattern. While this approach involves the use of pre-calibration, this is not required by the procedures described below, thereby simplifying the calibration process and avoiding the need to store data-specific pre-calibration data associated with the 3D calibration target.
[0026] III. Vision-based single-surface orientation repeatability inspection and monitoring
[0027] Refer to step 400 in FIG. 4. This step 400 operates under a setup that includes an object surface (e.g., an assembly work surface or a robot end-effector surface) and a camera that images the surface. In the case of an end-effector, the camera does not image the surface itself, but rather images a 3D device (i.e., calibration target 120) held by or otherwise attached (e.g., permanently, semi-permanently, or detachably) to the end-effector. Note that standard 2D calibration procedures can be used for the camera. In this step 400, target 120 (FIGS. 1 and 2) is placed on the object surface such that its pattern (also called the active layer) is within the camera's FOV (step 410). Next, in step 412, one or more images of the target and its active layer are acquired. In step 414, a vision system tool (142 in FIG. 1) is applied to the images to determine a first spatial relationship between the 2D patterns on the individual layers within the target. Next, in steps 420-424, a second spatial relationship is determined. In step 420, the 3D device is again presented to the camera after a predetermined time interval, during which the object surface may have been moved (e.g., by a robotic arm or a support tool on the assembly surface) and returned to a position within the camera's FOV, or the 3D device may have been removed and then replaced on the object surface. One or more images of the 3D device are acquired in step 422, and in step 424, a vision system tool (142 in FIG. 1) is applied to the images to determine a second spatial relationship between the 2D calibration patterns on the individual layers.
[0028] Next, in step 430 of procedure 400, the displacement (difference between the first and second relationships) is used in conjunction with the known height difference between the layers at each relationship to calculate the change in surface orientation between the first relationship and the second position / location. This produces results that can be saved as part of the calibration data (step 450 via decision step 440) and used to verify long-term calibration and placement repeatability. To further verify the results and / or repeatability, decision step 440 branches to steps 420, 422, and 424, where the saved first relationships are used with new second relationships between a different set of plates to recalculate the results (step 430). This repetition of steps 420-430 can be performed at intervals of minutes, days, weeks, etc. to verify the repeatability of the object surface orientation.
[0029] The above procedure 400 is intended to be used with each attached or built-in camera optical assembly (O1, ON in FIG. 1 ) in a telecentric configuration. If the optical assembly O1, ON is non-telecentric, special consideration is given to which additional procedures to apply. In the case of a movable object surface (e.g., a robot end effector), after each target placement to establish the first or second spatial relationship, the end effector is directed to move within the surface and return to the initial placement position. This can be achieved with a vision system tool that provides standard 2D closed-loop alignment. Such alignment tools are available, for example, from Cognex Corporation of Natick, Massachusetts. Alternatively, if the object surface (e.g., a clamping assembly surface) is not movable, the target can be positioned within a confined area using mechanical holding techniques.
[0030] IV. Visually guided adjustment of two surfaces to achieve parallelism
[0031] Referring to procedure 500 of FIG. 5 , this configuration employs a setup that defines two separate planes (e.g., a robot end-effector plane and an assembly or work plane) with a camera imaging both planes (step 510). The goal of procedure 500 is to achieve parallelism between these two planes. In an exemplary implementation, the orientation of one plane (e.g., the robot end-effector) is adjustable. Standard 2D calibration methods can be used to first calibrate the camera in the motion system. According to procedure 500, in step 510, a 3D target is placed on a first plane. Next, in step 522, one or more images of the 3D target are acquired by the camera, including regions of interest around the two layers at a first spatial location. In step 530, one or more images of the target are acquired by the camera at a second spatial location. The spatial relationship between the 2D patterns on different layers of the target is obtained using an appropriate vision tool. Next, in step 540, the difference in orientation of the two faces is calculated using the known displacement (the difference between the two relationships based on known height information) in conjunction with the height difference between the layers. Then, in step 550, the orientation of one face (e.g., a robot end effector) is adjusted based on the difference obtained in step 540 to remove this calculated difference in orientation. In the case of a robot, appropriate motion commands can be sent to the controller to account for the difference.
[0032] Steps 530-550 of procedure 500 may be performed in a closed-loop fashion until the process is complete via decision step 560, at which point the procedure terminates (step 570). More specifically, after a first adjustment (step 550), decision step 560 branches to step 530 to acquire another image of the 3D calibration target and recalculate the orientation difference (step 540) using the new displacement obtained in step 550. An adjustment (step 550) is then performed again using this new difference. The process of steps 530-550 is repeated in a loop (via decision step 560) until the calculated orientation difference is sufficiently small. At such time, the process is considered complete via decision step 560 and end step 570. The adjustment information may be saved, if desired.
[0033] Again, the above procedure 500 assumes the use of a camera optical assembly O1, ON that includes a telecentric lens. If the camera uses a non-telecentric lens, procedure 500 also employs special considerations. Following these special procedure steps, the two surfaces should be at the same height (i.e., the same working distance relative to the camera). After placing (and adjusting) the 3D calibration target on the second surface (step 550), the target is moved (e.g., by directing a robot) within the surface to the position where the 3D device was measured on the first surface (step 522). This result can be achieved using a standard 2D closed-loop alignment process.
[0034] The specific calculations used to obtain the results in each of the above steps will be apparent to those skilled in the art. Generally, such calculations employ known principles of three-dimensional geometry applied to a digital computing environment.
[0035] V. Conclusion
[0036] It should be apparent that the above-described system and method effectively eliminate the need for costly and time-consuming pre-calibration procedures that are beyond the end user's control. The system and method effectively address long-term maintenance concerns for the configuration by maintaining performance similar to the pre-calibrated state of the accurate, underlying production configuration. More specifically, the system and method ensures long-term repeatability and parallelism of surfaces within the workspace. The system and method enables metrology / measurements where features are not at the same height and cameras are imprecisely mounted in a fast, simple, and economical manner.
[0037] The foregoing is a detailed description of exemplary embodiments of the present invention. Various modifications and additions may be made without departing from the spirit and scope of the present invention. Features of each of the various embodiments described above may be combined with features of other described embodiments, as appropriate, to provide multiple feature combinations in related new embodiments. Moreover, while several individual embodiments of the apparatus and method of the present invention have been described above, what has been described herein is merely illustrative of the application of the principles of the present invention. For example, as used herein, the terms "process" and / or "processor" should be interpreted broadly to include various electronic hardware and / or software-based functions and components (or functional "modules" or "elements"). Furthermore, illustrated processes or processors may be combined with other processes and / or processors or divided into various sub-processes or processors. Such sub-processes and / or sub-processors may be combined in various ways in accordance with embodiments of the present invention. Similarly, it is expressly contemplated that any functions, processes, and / or processors herein may be implemented using electronic hardware, software consisting of a non-transitory computer-readable medium of program instructions, or a combination of hardware and software. Furthermore, terms used herein to describe various directions and orientations, such as "vertical," "horizontal," "up," "down," "below," "up," "side," "front," "rear," "left," and "right," are used only as relative expressions and not as absolute directions / positions with respect to a fixed coordinate space, such as the direction of gravity. Furthermore, when the words "substantially" or "approximately" are used with respect to a given measurement, value, or characteristic, they refer to an amount that is within normal operating range to achieve the desired result, but includes some variation due to inherent inaccuracies and errors within the tolerances of the system (e.g., 1 to 5 percent). Therefore, this description should be taken by way of example only and is not otherwise meant to limit the scope of the invention.
[0038] The claims are as follows:
Claims
1. 1. A system for calibrating a vision system with respect to a 3D workspace, comprising: a vision system processor that receives the image data and applies vision tools to the image data; a 3D calibration target having a plurality of surfaces at a plurality of mutually different displacements, each of the plurality of surfaces having a distinct calibration pattern thereon, and the image data including views of the plurality of surfaces of the 3D calibration target at a plurality of spatial locations in the 3D workspace; a decision process for analyzing the image data using the vision tool, calculating, for each of first and second spatial locations of the 3D workspace depicted in the image data, a spatial relationship of at least two of the distinct calibration patterns disposed on different sides of the plurality of surfaces; and the determining process determining a difference between the calculated spatial relationship at the first spatial location and the calculated spatial relationship at the second spatial location and providing a result; The system comprising:
2. The system of claim 1 , wherein the 3D calibration target is located on a robot end effector.
3. The system of claim 2 , wherein vision-guided robot (VGR) control signals are transmitted between the vision system processor and a controller for a robot end effector.
4. The system of claim 1 , wherein the plurality of surfaces of the 3D calibration target includes a major surface and a plurality of raised surfaces projecting therefrom.
5. The system of claim 4 , wherein the sides of the plurality of raised surfaces comprise a plurality of rectangular plates disposed at a non-orthogonal angle relative to the sides of the major surface.
6. 10. The system of claim 1, wherein the plurality of surfaces each have a calibration pattern defining a checkerboard pattern, the checkerboard pattern having embedded therein one or more ID codes containing information related to a position within the calibration pattern.
7. 2. The system of claim 1, wherein the decision process uses the vision tool to analyze image data and calculate a difference between the spatial relationship at the first spatial location and a spatial relationship calculated for a different, second spatial location to provide the result.
8. The system described in claim 7, wherein the different surfaces have a first surface and a second surface, and the result is used to determine parallelism between the first surface and the second surface.
9. The system of claim 7 , wherein the results are used to determine a repeatability of the spatial orientation of object surfaces in the 3D workspace over a desired time interval.
10. 10. The system of claim 1, further comprising a camera assembly operatively connected to the vision system processor, the camera assembly having a non-telecentric optical assembly, wherein the 3D calibration target is moved, and wherein a closed-loop 2D alignment process is applied before and after moving the 3D calibration target.
11. 1. A method for calibrating a vision system to a 3D workspace, comprising: providing a 3D calibration target having a plurality of surfaces at a plurality of mutually different displacements, each of the plurality of surfaces having a distinct calibration pattern thereon; receiving image data including views of the plurality of surfaces of the 3D calibration target at a plurality of spatial locations in the 3D workspace and applying a vision tool to the image data; calculating, for each of first and second spatial locations of the 3D workspace depicted in the image data, a spatial relationship of at least two of the distinct calibration patterns located on different sides of the plurality of surfaces; analyzing image data using the vision tool to calculate a difference between the calculated spatial relationship at the first spatial location and the calculated spatial relationship at the second spatial location to provide a result; The method comprising:
12. The method of claim 11 , further comprising placing the 3D calibration target on a robot end effector.
13. 13. The method of claim 12, further comprising transmitting vision-guided robot (VGR) control signals between the vision system processor and a controller for the robot end effector.
14. The method of claim 11 , wherein the plurality of surfaces of the 3D calibration target includes a major surface and a plurality of raised surfaces projecting therefrom.
15. The method of claim 14 , wherein sides of a plurality of raised surfaces define a plurality of rectangular plates disposed at a non-orthogonal angle relative to sides of the major surface.
16. 12. The method of claim 11, wherein the plurality of surfaces each have a calibration pattern defining a checkerboard pattern, the checkerboard pattern having embedded therein one or more ID codes that contain information related to a location within the calibration pattern.
17. 12. The method of claim 11, further comprising: analyzing image data using the vision tool to calculate a difference between the spatial relationship at the first spatial location and a spatial relationship calculated for a different, second spatial location to provide the result.
18. The method described in claim 17, wherein the different surfaces have a first surface and a second surface, and the method further includes verifying parallelism between the first surface and the second surface based on the result.
19. 18. The method of claim 17, further comprising verifying repeatability of spatial orientation of object surfaces in the 3D workspace over a desired time interval based on the results.
20. 12. The method of claim 11, further comprising providing an optical assembly that is non-telecentric for a camera assembly that generates the image data, moving the 3D calibration target, and applying a closed-loop 2D alignment process before and after moving the 3D calibration target.
Citation Information
Patent Citations
Method and device for automatic calibration
JP1996110807A
Image processing apparatus, image processing system, image processing method, and computer program
JP2016120567A