Camera calibration methods, devices, electronic equipment, and storage media

By dividing the spatial region in the camera coordinate system and calculating the compensation matrix, the problem that the camera intrinsic parameters are not applicable to points at different depths is solved, thereby improving the accuracy of 3D point cloud images and the accuracy of object recognition.

CN115810052BActive Publication Date: 2025-12-02MECH MIND ROBOTICS TECH LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111083399.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-16
Publication Date
2025-12-02
Estimated Expiration
2041-09-16

AI Technical Summary

Technical Problem

In existing technologies, when multiple location points of a 3D point cloud image are obtained using the same camera intrinsic parameters, it cannot be applied to location points with different depths within the entire spatial region, resulting in different accuracies within and outside the preset interval. How can we determine the accurate location coordinates corresponding to the point cloud points acquired by the camera?

Method used

By acquiring the measured position coordinates of multiple location points in the camera coordinate system, the initial pose of the camera in the robot coordinate system is determined. Based on these coordinates and poses, a compensation matrix is ​​calculated, the spatial region is divided into multiple sets of location points, and the position coordinates of the object surface location points in the camera coordinate system are calibrated using the compensation matrix to obtain accurate position coordinates.

Benefits of technology

It improves the accuracy of 3D point cloud images captured by 3D cameras, ensuring the accuracy of object recognition, especially the accuracy of object grasping position in robot grasping tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115810052B_ABST
    Figure CN115810052B_ABST
Patent Text Reader

Abstract

This invention provides a camera calibration method, apparatus, electronic device, and readable storage medium. The camera calibration method includes: acquiring the measured position coordinates of multiple location points in a camera coordinate system; determining the initial pose of the camera in a robot coordinate system; and then determining a compensation matrix for the camera based on the measured position coordinates of the multiple location points in the camera coordinate system and the initial pose of the camera in the robot coordinate system. This camera calibration method can simultaneously determine the camera's extrinsic parameters and the compensation matrix for the camera's intrinsic parameters. Therefore, the position coordinates of the location points in the camera coordinate system can be compensated based on the compensation matrix to obtain more accurate position coordinates, thereby effectively improving the accuracy of 3D point cloud images captured by a 3D camera.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of industrial camera technology, and in particular to a camera calibration method, apparatus, electronic device, and storage medium. Background Technology

[0002] With the development of robotics, machine vision technology is increasingly needed in various scenarios. For example, machine vision can be used to identify objects. Before identifying an object, a 3D camera can be used to acquire the coordinates of multiple points on the object's surface in the camera coordinate system. Furthermore, a 3D point cloud image of the object can be generated based on these coordinates. The accuracy of the 3D point cloud image directly affects the accuracy of the robot's subsequent object recognition. For instance, for grasping robots, the grasping position needs to be determined based on the 3D point cloud image. In specific applications, such as acquiring the coordinates of multiple points on an object's surface in the camera coordinate system, the camera's intrinsic and extrinsic parameters (in image measurement and machine vision applications, to determine the relationship between the three-dimensional geometric position of a point on a spatial object's surface and its corresponding point in the image, a geometric model of the camera's imaging must be established; these geometric model parameters are the camera parameters) directly affect the accuracy of the coordinates of multiple points in the camera coordinate system.

[0003] In existing technologies, multiple location points in a 3D point cloud image are obtained using the same camera intrinsic parameters. However, after camera calibration (calibration is the process of converting the parameters required between 2D points on a plane in the camera image and 3D points in the real-world scene captured by the camera), the universality of location points at different depths from the object surface differs. That is, the intrinsic parameters are generally not applicable to location points at different depths throughout the entire spatial region. Therefore, if a 3D point cloud image is obtained using the same camera intrinsic parameters, its accuracy will differ within and outside a preset range. Thus, determining the accurate location coordinates of point cloud points acquired by the camera is the technical problem this application aims to solve. Summary of the Invention

[0004] This invention provides a camera calibration method for accurately determining the precise location coordinates of point cloud points acquired by the camera. The camera calibration method includes:

[0005] Obtain the measured position coordinates of multiple location points in the camera coordinate system;

[0006] Determine the initial pose of the camera in the robot coordinate system;

[0007] Based on the measured position coordinates of multiple locations in the camera coordinate system and the initial pose of the camera in the robot coordinate system, the compensation matrix for the camera is determined.

[0008] In specific implementation, obtaining the measured position coordinates of multiple location points in the camera coordinate system further includes:

[0009] Acquire multiple images of the calibration board captured by the camera as the calibration board moves to multiple spatial positions;

[0010] Based on multiple calibration plate images captured by the camera, the measurement coordinates of multiple location points in the camera coordinate system are obtained.

[0011] In specific implementation, determining the initial pose of the camera in the robot coordinate system further includes:

[0012] During the process of the robot moving the calibration plate through the flange, the poses of multiple flanges in the robot coordinate system and the poses of multiple calibration plates in the camera coordinate system are acquired.

[0013] The initial pose of the camera in the robot coordinate system is determined based on the poses of multiple flanges in the robot coordinate system and the poses of multiple calibration plates in the camera coordinate system.

[0014] In specific implementation, determining the compensation matrix for the camera based on the measured position coordinates of multiple location points in the camera coordinate system and the initial pose of the camera in the robot coordinate system further includes:

[0015] In the camera coordinate system, multiple location points are divided into multiple groups of location points according to different spatial regions;

[0016] Based on the measured position coordinates of each set of positions in the camera coordinate system and the initial pose of the camera in the robot coordinate system, the compensation matrix for the camera is determined.

[0017] In specific implementation, the step of dividing multiple location points into multiple groups of location points according to different spatial regions in the camera coordinate system further includes:

[0018] In the camera coordinate system, the space is divided into multiple layers according to different heights, and each layer is further divided into multiple partitions.

[0019] Based on the position coordinates of multiple location points in the camera coordinate system, location points in the same layer and the same partition are grouped into a group of location points.

[0020] In specific implementation, after determining the compensation matrix for the camera, the following further steps are included:

[0021] Obtain the position coordinates of the object surface location points captured by the camera in the camera coordinate system;

[0022] The position coordinates of the object's surface points in the camera coordinate system are calibrated using the compensation matrix to obtain the accurate compensated position coordinates.

[0023] In specific implementation, the step of calibrating the position coordinates of the object surface location points in the camera coordinate system according to the compensation matrix to obtain the compensated accurate position coordinates further includes:

[0024] Based on the position coordinates of the object's surface location points in the camera coordinate system and the camera's intrinsic parameters, determine the layer and zone in which the object's surface location points are located;

[0025] Based on the compensation matrix corresponding to the layer and zone where the object's surface location point is located, the position coordinates of the object's surface location point in the camera coordinate system are compensated to obtain the accurate position coordinates after compensation.

[0026] In specific implementation, determining the layer and zone where the object's surface location point is located based on its position coordinates in the camera coordinate system and the camera's intrinsic parameters further includes:

[0027] The layer in which the object's surface location point is located is determined based on the z-axis coordinate of the object's surface location point in the camera coordinate system;

[0028] Based on the x-axis and y-axis coordinates of the object's surface location in the camera coordinate system and the camera's intrinsic parameters, determine the pixel coordinates corresponding to the object's surface location.

[0029] The partition where the object's surface location point is located is determined based on the pixel coordinates corresponding to the location point on the object's surface.

[0030] In specific implementation, the step of calibrating the position coordinates of the object surface location point in the camera coordinate system based on the compensation matrix corresponding to the layer and partition where the object surface location point is located further includes:

[0031] When a location point on the object's surface is located across layers and / or zones, the weight of each layer and / or zone is determined based on the distance between the object's surface location point and the layer and / or zone it crosses.

[0032] The position coordinates of the object surface location points in the camera coordinate system are compensated according to the compensation matrix of each layer and / or partition, so as to obtain multiple compensated position coordinates of the object surface location points.

[0033] The multiple compensated position coordinates of the object surface location points are weighted and summed according to the weights of each layer and / or partition to obtain the weighted summed compensated position coordinates.

[0034] In specific implementation, determining the compensation matrix for the camera based on the measured position coordinates of each set of position points in the camera coordinate system and the initial pose of the camera in the robot coordinate system further includes:

[0035] Determine the initial theoretical position coordinates of each set of position points in the camera coordinate system based on the initial pose of the camera in the robot coordinate system.

[0036] Fit the measured position coordinates and initial theoretical position coordinates of each set of position points in the camera coordinate system to determine the initial compensation matrix for the camera;

[0037] Acquire the poses of multiple cameras after adjustment in the robot coordinate system and determine the theoretical position coordinates of multiple sets of position points after camera adjustment;

[0038] The initial compensation matrix is ​​adjusted based on the current pose returned by multiple cameras after adjustment in the robot coordinate system, the measured position coordinates of multiple sets of position points in the camera coordinate system, and the current position coordinates after camera adjustment. The adjustment continues until the Euclidean distance between the measured position coordinates and the current theoretical position coordinates of each set of position points in the camera coordinate system is less than a preset threshold and / or the adjustment reaches a preset number of times. The current compensation matrix is ​​then used as the compensation matrix for the camera.

[0039] In specific implementation, determining the current theoretical position coordinates of each set of position points in the camera coordinate system based on the current pose of the camera in the robot coordinate system further includes:

[0040] Obtain the pose of the flange in the robot coordinate system and the pose of the calibration plate in the camera coordinate system corresponding to each set of position points;

[0041] Based on the initial pose of the camera in the robot coordinate system, the pose of the flange in the robot coordinate system, and the pose of the calibration plate in the camera coordinate system, determine the pose of the calibration plate relative to the flange.

[0042] Based on the position coordinates of each set of position points in the calibration plate coordinate system, the pose of the calibration plate relative to the flange, and the pose of the flange in the robot coordinate system, determine the position coordinates of each set of position points in the robot coordinate system.

[0043] Based on the position coordinates of each group of position points in the robot coordinate system and the initial pose of the camera in the robot coordinate system, determine the initial theoretical position coordinates of each group of position points in the camera coordinate system.

[0044] The present invention also provides a camera calibration method apparatus, characterized in that the camera calibration apparatus comprises:

[0045] The coordinate acquisition module acquires the measured position coordinates of multiple location points in the camera coordinate system.

[0046] The extrinsic parameter determination module is used to determine the initial pose of the camera in the robot coordinate system;

[0047] The compensation matrix determination module is used to determine the compensation matrix for the camera based on the measured position coordinates of multiple position points in the camera coordinate system and the initial pose of the camera in the robot coordinate system.

[0048] In specific implementation, the coordinate acquisition module further includes:

[0049] The image acquisition submodule is used to acquire multiple calibration board images captured by the camera when the calibration board moves to multiple spatial positions;

[0050] The coordinate calculation submodule is used to obtain the measured position coordinates of multiple location points in the camera coordinate system based on multiple calibration plate images captured by the camera.

[0051] In specific implementation, the external parameter determination module further includes:

[0052] The flange coordinate acquisition submodule is used to acquire the poses of multiple flanges in the robot coordinate system and the poses of multiple calibration plates in the camera coordinate system during the process of the robot moving the calibration plate through the flange.

[0053] The extrinsic parameter calculation submodule is used to determine the initial pose of the camera in the robot coordinate system based on the poses of multiple flanges in the robot coordinate system and the poses of multiple calibration plates in the camera coordinate system.

[0054] In specific implementation, the compensation matrix determination module further includes:

[0055] The coordinate grouping submodule is used to divide multiple location points into multiple groups of location points according to different spatial regions in the camera coordinate system;

[0056] The compensation matrix retrieval submodule is used to determine the compensation matrix for the camera based on the measured position coordinates of each group of position points in the camera coordinate system and the initial pose of the camera in the robot coordinate system.

[0057] In specific implementation, the coordinate grouping submodule further includes:

[0058] The spatial segmentation submodule is used to divide space into multiple layers based on different heights in the camera coordinate system, and each layer is further divided into multiple partitions.

[0059] The grouping submodule is used to group multiple location points into a group based on their position coordinates in the camera coordinate system.

[0060] In specific implementation, the camera calibration device further includes:

[0061] The position point coordinate acquisition module is used to obtain the position coordinates of the object surface position points acquired by the camera in the camera coordinate system after determining the compensation matrix for the camera.

[0062] The accurate position coordinate acquisition module is used to calibrate the position coordinates of the object's surface points in the camera coordinate system based on the compensation matrix, and obtain the compensated accurate position coordinates.

[0063] In a specific implementation, the accurate position coordinate acquisition module further includes:

[0064] The spatial region determination submodule is used to determine the layer and zone in which the object's surface location point is located based on the position coordinates of the object's surface location point in the camera coordinate system and the camera's intrinsic parameters.

[0065] The accurate position coordinate acquisition submodule is used to compensate the position coordinates of the object's surface position points in the camera coordinate system based on the compensation matrix corresponding to the layer and partition where the object's surface position points are located, so as to obtain the compensated accurate position coordinates.

[0066] In specific implementation, the spatial region determination submodule further includes:

[0067] The layer determination submodule is used to determine the layer in which the object's surface position point is located based on the z-axis coordinate of the object's surface position point in the camera coordinate system.

[0068] The pixel coordinate determination submodule is used to determine the pixel coordinates corresponding to the position points on the object's surface based on the x-axis and y-axis coordinates of the position points on the object's surface in the camera coordinate system and the camera's intrinsic parameters.

[0069] The partition determination submodule is used to determine the partition where the object's surface location point is located based on the pixel coordinates corresponding to the location point on the object's surface.

[0070] In specific implementation, the accurate position coordinate acquisition submodule further includes:

[0071] The weight determination submodule is used to determine the weight of each layer and / or partition across when the object's surface location point is in a cross-layer and / or cross-partition situation, based on the distance between the object's surface location point and the cross-layer and / or partition.

[0072] The compensation submodule is used to compensate the position coordinates of the object surface position points in the camera coordinate system according to the compensation matrix of each layer and / or partition, so as to obtain multiple compensated position coordinates of the object surface position points.

[0073] The weighted summation submodule is used to perform weighted summation on multiple compensated position coordinates of the object surface location points according to the weights of each layer and / or partition, and obtain the weighted summed compensated position coordinates.

[0074] In specific implementation, the compensation matrix retrieval submodule further includes:

[0075] The initial theoretical position coordinate acquisition submodule is used to determine the initial theoretical position coordinates of each set of position points in the camera coordinate system based on the initial pose of the camera in the robot coordinate system.

[0076] The initial compensation matrix acquisition submodule is used to fit the measured position coordinates and initial theoretical position coordinates of each group of position points in the camera coordinate system to determine the initial compensation matrix for the camera.

[0077] The data acquisition submodule is adjusted to acquire the poses of multiple cameras in the robot coordinate system after adjustment and to determine the theoretical position coordinates of multiple sets of position points after camera adjustment.

[0078] The matrix determination submodule is used to adjust the initial compensation matrix based on the current pose returned by multiple cameras after adjustment in the robot coordinate system, the measured position coordinates of multiple sets of position points in the camera coordinate system, and the current position coordinates after camera adjustment. The adjustment continues until the Euclidean distance between the error of the measured position coordinates of each set of position points in the camera coordinate system and the current theoretical position coordinates is less than a preset threshold and / or the adjustment reaches a preset number of times. The current compensation matrix is ​​then used as the compensation matrix for the camera.

[0079] In specific implementation, the initial theoretical position coordinate acquisition submodule further includes:

[0080] The flange and calibration plate pose acquisition submodule is used to acquire the pose of the flange in the robot coordinate system and the pose of the calibration plate in the camera coordinate system corresponding to each set of position points.

[0081] The calibration plate relative to the flange pose acquisition submodule is used to determine the pose of the calibration plate relative to the flange based on the initial pose of the camera in the robot coordinate system, the pose of the flange in the robot coordinate system, and the pose of the calibration plate in the camera coordinate system.

[0082] The position point relative to robot coordinate acquisition submodule is used to determine the position coordinates of each group of position points in the robot coordinate system based on the position coordinates of each group of position points in the calibration plate coordinate system, the pose of the calibration plate relative to the flange, and the pose of the flange in the robot coordinate system.

[0083] The initial theoretical position coordinate determination submodule is used to determine the initial theoretical position coordinates of each group of position points in the camera coordinate system based on the position coordinates of each group of position points in the robot coordinate system and the initial pose of the camera in the robot coordinate system.

[0084] The present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the camera calibration method.

[0085] The present invention also provides a computer-readable storage medium storing a computer program for performing the calibration method of the camera.

[0086] The present invention provides a camera calibration method, apparatus, electronic device, and readable storage medium. The method includes: acquiring the measured position coordinates of multiple location points in a camera coordinate system; determining the initial pose of the camera in a robot coordinate system; and then determining a compensation matrix for the camera based on the measured position coordinates of the multiple location points in the camera coordinate system and the initial pose of the camera in the robot coordinate system. This camera calibration method can simultaneously determine the camera's extrinsic parameters and the compensation matrix for the camera's intrinsic parameters. Therefore, the position coordinates of the location points in the camera coordinate system can be compensated based on the compensation matrix to obtain more accurate position coordinates, thereby effectively improving the accuracy of 3D point cloud images captured by a 3D camera. Attached Figure Description

[0087] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some specific embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. In the drawings:

[0088] Figure 1 This is a flowchart illustrating a camera calibration method according to a specific embodiment of the present invention;

[0089] Figure 2 This is a flowchart illustrating the process of obtaining the position coordinates of multiple location points in the camera coordinate system according to a specific embodiment of the present invention.

[0090] Figure 3 This is a flowchart illustrating the process of determining the initial position coordinates of a camera in a robot coordinate system according to a specific embodiment of the present invention.

[0091] Figure 4 This is a flowchart illustrating the process of determining a compensation matrix for a camera according to a specific embodiment of the present invention.

[0092] Figure 5 This is a flowchart illustrating the grouping of location points according to a specific embodiment of the present invention;

[0093] Figure 6 This is a flowchart illustrating the process of obtaining the compensated accurate position coordinates according to a specific embodiment of the present invention.

[0094] Figure 7This is a schematic diagram illustrating the specific process of determining the layer and zone where a position point on the surface of an object is located, according to a specific embodiment of the present invention.

[0095] Figure 8 This is a flowchart illustrating the process of compensating for cross-layer and / or cross-partition location points according to a specific embodiment of the present invention;

[0096] Figure 9 This is a schematic diagram illustrating the specific process of determining the compensation matrix for a camera according to a specific embodiment of the present invention.

[0097] Figure 10 This is a schematic diagram illustrating the specific process of determining the initial theoretical position coordinates of each set of position points in the camera coordinate system according to a specific embodiment of the present invention.

[0098] Figure 11 This is a schematic diagram of the structure of a camera calibration device according to a specific embodiment of the present invention;

[0099] Figure 12 This is a schematic diagram of the coordinate acquisition module according to a specific embodiment of the present invention;

[0100] Figure 13 This is a schematic diagram of the structure of the extrinsic parameter determination module according to a specific embodiment of the present invention;

[0101] Figure 14 This is a schematic diagram of the structure of the compensation matrix determination module according to a specific embodiment of the present invention;

[0102] Figure 15 This is a schematic diagram of the structure of a coordinate grouping submodule according to a specific embodiment of the present invention;

[0103] Figure 16 This is a schematic diagram of the accurate position coordinate acquisition module according to a specific embodiment of the present invention;

[0104] Figure 17 This is a structural schematic diagram of a spatial region determination submodule according to a specific embodiment of the present invention;

[0105] Figure 18 This is a schematic diagram of the accurate position coordinate acquisition submodule according to a specific embodiment of the present invention;

[0106] Figure 19 This is a schematic diagram of the structure of the compensation matrix retrieval submodule according to a specific embodiment of the present invention;

[0107] Figure 20 This is a schematic diagram of the structure of the initial theoretical position coordinate acquisition submodule according to a specific embodiment of the present invention;

[0108] Figure 21 This is a schematic diagram of the structure of a camera calibration system according to a specific embodiment of the present invention;

[0109] Figure 22 This is a schematic diagram illustrating the principle of spatial region segmentation according to a specific embodiment of the present invention. Detailed Implementation

[0110] To make the objectives, technical solutions, and advantages of the specific embodiments of the present invention clearer, the specific embodiments of the present invention will be further described in detail below with reference to the accompanying drawings. Here, the illustrative specific embodiments and their descriptions are used to explain the present invention, but are not intended to limit the present invention.

[0111] Before calibration work begins, a system for camera calibration can be built. This system can include a camera, a robot with a robotic arm, and a calibration target (in applications such as machine vision, image measurement, photogrammetry, and 3D reconstruction, it can be used to correct lens distortion, etc.). The calibration target is connected to a flange at the front end of the robotic arm, and can then move with the robotic arm to change its position, such as... Figure 21 As shown, the robot's robotic arm tip can be fixed to a calibration plate via a flange, while the camera can be fixed at a preset position. Furthermore, the initial position coordinates of the camera in the robot's coordinate system are unknown. Moreover, there are various ways to set the camera position in practice. For example, the camera can be fixed to a bracket external to the robot, or it can be fixed to the robot itself, thus changing position with the robotic arm. This application uses the example of the camera being fixed to a bracket external to the robot for illustration.

[0112] like Figure 1 As shown, this invention provides a camera calibration method for accurately determining the precise position coordinates corresponding to point cloud points acquired by the camera. The camera calibration method includes:

[0113] Step 101: Obtain the measured position coordinates of multiple location points in the camera coordinate system;

[0114] Step 102: Determine the initial pose of the camera in the robot coordinate system;

[0115] Step 103: Determine the compensation matrix for the camera based on the measured position coordinates of multiple location points in the camera coordinate system and the initial pose of the camera in the robot coordinate system.

[0116] The compensation matrix includes compensation for both the camera's intrinsic and extrinsic parameters. Both the camera's intrinsic and extrinsic parameters affect the accuracy of the position coordinates of the points acquired by the camera. This can be understood as the compensation matrix compensating for the errors caused by deviations in the intrinsic and extrinsic parameters.

[0117] In specific implementation, step 101: obtaining the measured position coordinates of multiple location points in the camera coordinate system can have various implementation schemes. For example, as... Figure 2 As shown, step 101: obtaining the measured position coordinates of multiple location points in the camera coordinate system may further include:

[0118] Step 201: Acquire multiple images of the calibration board captured by the camera as the calibration board moves to multiple spatial positions;

[0119] Step 202: Based on the multiple calibration plate images captured by the camera, obtain the measurement position coordinates of multiple location points in the camera coordinate system.

[0120] In practice, the position of the calibration plate can be changed by adjusting the robot arm. During the implementation, the pose of the flange at the front end of the robot arm in the robot coordinate system can be obtained each time the robot arm is adjusted. This pose is a known quantity and can be measured and determined by the sensors on the robot. At the same time, after the robot arm adjusts the pose of the calibration plate each time, the position coordinates of the position point on the calibration plate in the camera coordinate system can be collected by the camera.

[0121] In practice, there are multiple ways to determine the initial pose of the camera in the robot's coordinate system, for example... Figure 3 As shown, the pose of the flange in the robot coordinate system and the pose of the calibration plate in the camera coordinate system can be acquired multiple times. Therefore, according to step 102: determining the initial pose of the camera in the robot coordinate system, this can further include:

[0122] Step 301: During the process of the robot moving the calibration plate through the flange, acquire the poses of multiple flanges in the robot coordinate system and the poses of multiple calibration plates in the camera coordinate system;

[0123] Step 302: Determine the initial pose of the camera in the robot coordinate system based on the poses of multiple flanges in the robot coordinate system and the poses of multiple calibration plates in the camera coordinate system.

[0124] Furthermore, in step 302: based on the poses of multiple flanges in the robot coordinate system and the poses of multiple calibration plates in the camera coordinate system, the initial pose of the camera in the robot coordinate system is determined, which can be calculated according to the following formula:

[0125]

[0126] in, This indicates the initial pose of the camera in the robot coordinate system; This indicates the pose of the flange in the robot coordinate system; This indicates the position of the calibration plate relative to the flange; This represents the measured position coordinates of the location point in the camera coordinate system. It's understandable that, as the calibration plate moves relative to the flange via the flange using the robotic arm, the orientation of the calibration plate remains unchanged. Since the position remains unchanged, the initial pose of the camera in the robot coordinate system can be obtained according to the above formula.

[0127] In specific implementation, step 103: determining the compensation matrix for the camera based on the measured position coordinates of multiple position points in the camera coordinate system and the initial pose of the camera in the robot coordinate system, can have multiple implementation schemes, such as... Figure 4 As shown, it may further include:

[0128] Step 401: Divide multiple location points into multiple groups of location points according to the different spatial regions in the camera coordinate system;

[0129] Step 402: Determine the compensation matrix for the camera based on the measured position coordinates of each group of position points in the camera coordinate system and the initial pose of the camera in the robot coordinate system.

[0130] Dividing the position points according to spatial regions in the camera coordinate system allows for the creation of corresponding compensation matrices for different spatial depths and regions, thereby improving the accuracy of the position point coordinates in the camera coordinate system.

[0131] In practice, the pose of the calibration plate relative to the robot flange can be determined based on the initial pose of the camera in the robot coordinate system, the measured position coordinates of the position points in the camera coordinate system, and the pose of the flange in the robot coordinate system. Furthermore, based on the position coordinates of each position point on the calibration plate in the calibration plate coordinate system and the pose of the flange in the robot coordinate system, the theoretical position coordinates of multiple position points in the camera coordinate system can be determined. in, This represents a matrix consisting of the theoretical position coordinates of multiple points on the calibration plate in the camera coordinate system, i.e., the theoretical coordinates corresponding to n position points. It can be represented as:

[0132] In practice, dividing multiple location points into multiple groups of location points can lead to various implementation schemes. For example, such as... Figure 22 As shown, multiple location points are divided according to different spatial regions in the camera coordinate system. Specifically, they can be divided into multiple layers based on height, and then each layer is further divided into multiple partitions according to a defined region, resulting in multiple sets of location points. Specifically, as... Figure 5 As shown, step 401, which divides multiple location points into multiple groups of location points according to different spatial regions in the camera coordinate system, may further include:

[0133] Step 501: Divide the space into multiple layers according to different heights in the camera coordinate system, and each layer is further divided into multiple partitions;

[0134] Step 502: Based on the position coordinates of multiple position points in the camera coordinate system, position points in the same layer and the same partition are divided into a group of position points.

[0135] In practice, after obtaining the compensation matrix, the position coordinates of the points in the camera coordinate system can be compensated based on the compensation matrix to obtain accurate position coordinates. For example... Figure 1 As shown, after determining the compensation matrix for the camera based on the position coordinates of multiple points in the camera coordinate system and the initial pose of the camera in the robot coordinate system in step 103, the process can further include:

[0136] Step 104: Obtain the position coordinates of the object surface location points captured by the camera in the camera coordinate system;

[0137] Step 105: Based on the compensation matrix, calibrate the position coordinates of the object surface points in the camera coordinate system to obtain the accurate position coordinates after compensation.

[0138] In practice, after obtaining the compensation matrix, the camera's position coordinates can be compensated using the compensation matrix. This reduces the accuracy requirement for the initial position coordinates of the camera's shooting location, thereby reducing the precision requirement for the camera.

[0139] In specific implementation, step 105, which involves calibrating the position coordinates of the object surface points in the camera coordinate system based on the compensation matrix to obtain the compensated accurate position coordinates, can have various implementation schemes, such as... Figure 6 As shown, it may further include:

[0140] Step 601: Determine the layer and zone where the object's surface location point is located based on the position coordinates of the point in the camera coordinate system and the camera's intrinsic parameters.

[0141] Step 602: Based on the compensation matrix corresponding to the layer and zone where the object's surface position point is located, compensate the position coordinates of the object's surface position point in the camera coordinate system to obtain the accurate position coordinates after compensation.

[0142] In specific implementation, step 601: determining the layer and zone where the object's surface location point is located based on the position coordinates of the object's surface location point in the camera coordinate system and the camera's intrinsic parameters can have multiple implementation schemes. For example, the z-axis, x-axis, and y-axis coordinates of the object's surface location point in the camera coordinate system can be extracted separately to determine the zone and layer of the location point. Specifically, such as... Figure 7 As shown, the layer and zone where a point on the object's surface is located can be determined by following these steps:

[0143] Step 701: Determine the layer in which the object's surface location point is located based on the z-axis coordinate of the object's surface location point in the camera coordinate system;

[0144] Step 702: Determine the pixel coordinates corresponding to the object surface position points based on the x-axis and y-axis coordinates of the object surface position points in the camera coordinate system and the camera's intrinsic parameters;

[0145] Step 703: Determine the partition where the object's surface location point is located based on the pixel coordinates corresponding to the location point on the object's surface.

[0146] In specific implementation, step 602: compensating the position coordinates of the object surface position point in the camera coordinate system according to the compensation matrix corresponding to the layer and partition where the object surface position point is located, to obtain the accurate compensated position coordinates, can have multiple implementation schemes. For example, since the position point may actually be located between different layers or partitions and does not completely belong to any arbitrary layer or partition, in order to improve the compensation accuracy of such cross-layer or cross-partition position points, when compensating the position coordinates of the object surface position point in the camera coordinate system, such as... Figure 8 As shown, it may further include:

[0147] Step 801: When the object surface location point is in a cross-layer and / or cross-zone, determine the weight of each cross-layer and / or zone based on the distance between the object surface location point and the cross-layer and / or zone.

[0148] Step 802: Compensate the position coordinates of the object surface location points in the camera coordinate system according to the compensation matrix of each layer and / or partition, and obtain multiple compensated position coordinates of the object surface location points;

[0149] Step 803: Perform a weighted summation of the multiple compensation position coordinates of the object surface location points according to the weights of each layer and / or partition, and obtain the weighted summation of the compensation position coordinates.

[0150] Specifically, when a location point belongs to different partitions within the same layer, the compensation results are weighted and summed according to the distances between the location point and each partition, resulting in the weighted compensated location coordinates. When a location point belongs to different layers, the compensation results are weighted and summed according to the distances between the location point and each layer, resulting in the weighted compensated location coordinates. When a location point belongs to both different layers and different partitions, the compensation results are weighted and summed based on both the distances between the location point and each layer and each partition, resulting in the weighted compensated location coordinates. Therefore, by weighting and summing the compensation results for location points located in boundary regions, the accuracy of the obtained boundary location coordinates can be improved.

[0151] In specific implementation, step 402 involves determining the compensation matrix for the camera based on the measured position coordinates of each group of position points in the camera coordinate system and the initial pose of the camera in the robot coordinate system, such as... Figure 9 As shown, it may further include:

[0152] 901: Determine the initial theoretical position coordinates of each set of positions in the camera coordinate system based on the initial pose of the camera in the robot coordinate system;

[0153] 902: Fit the measured position coordinates and initial theoretical position coordinates of each group of position points in the camera coordinate system to determine the initial compensation matrix for the camera;

[0154] 903: Obtain the poses of multiple cameras after adjustment in the robot coordinate system and determine the theoretical position coordinates of multiple sets of position points after camera adjustment;

[0155] 904: Adjust the initial compensation matrix based on the current pose returned by multiple cameras after adjustment in the robot coordinate system, the measured position coordinates of multiple sets of position points in the camera coordinate system, and the current position coordinates after camera adjustment, until the Euclidean distance between the error of the measured position coordinates of each set of position points in the camera coordinate system and the current theoretical position coordinates is less than a preset threshold and / or the adjustment reaches a preset number of times, and use the current compensation matrix as the compensation matrix for the camera.

[0156] Furthermore, in step 902, when fitting the measured position coordinates and initial theoretical position coordinates of each group of position points in the camera coordinate system to determine the initial compensation matrix for the camera, there are multiple implementation schemes. For example, the least squares method can be used for fitting.

[0157] In specific implementation, step 402: Based on the measured position coordinates of each group of position points in the camera coordinate system and the initial pose of the camera in the robot coordinate system, determine the compensation matrix for the camera, which can be calculated according to the following formula:

[0158]

[0159] in, This represents the error in the camera's position coordinates in the robot's coordinate system. Indicates the theoretical position coordinates; M represents the coordinates of the measured position; M represents the compensation matrix.

[0160] In practice, based on the measured position coordinates and theoretical position coordinates corresponding to multiple sets of position points, and the error formula... The camera's pose in the robot's coordinate system was adjusted multiple times. Make Minimizing the (Euclidean distance) yields the compensation matrix M for the camera, where the compensation matrix contains the compensation amount for each location region in each layer; where, It can be captured directly by a camera.

[0161] In specific implementation, step 901: determining the initial theoretical position coordinates of each set of position points in the camera coordinate system based on the initial pose of the camera in the robot coordinate system can have multiple implementation schemes. For example, an intermediate medium can be found between each set of position points and the camera coordinate system to import the position points in the calibration plate into the camera coordinate system, thereby determining the current theoretical position coordinates of each set of position points in the camera coordinate system, i.e., as shown below. Figure 10 As shown, step 901, determining the initial theoretical position coordinates of each set of position points in the camera coordinate system based on the initial pose of the camera in the robot coordinate system, may further include:

[0162] 1001: Obtain the pose of the flange in the robot coordinate system and the pose of the calibration plate in the camera coordinate system corresponding to each set of position points;

[0163] 1002: Determine the pose of the calibration plate relative to the flange based on the initial pose of the camera in the robot coordinate system, the pose of the flange in the robot coordinate system, and the pose of the calibration plate in the camera coordinate system.

[0164] 1003: Determine the position coordinates of each group of position points in the robot coordinate system based on the position coordinates of each group of position points in the calibration plate coordinate system, the pose of the calibration plate relative to the flange, and the pose of the flange in the robot coordinate system.

[0165] 1004: Based on the position coordinates of each group of position points in the robot coordinate system and the initial pose of the camera in the robot coordinate system, determine the initial theoretical position coordinates of each group of position points in the camera coordinate system.

[0166] In specific implementation, step 105, which involves calibrating the position coordinates of the object surface points in the camera coordinate system based on the compensation matrix to obtain the compensated accurate position coordinates, can have multiple implementation schemes. For example, it can be calculated using the following formula:

[0167] M·A=A'

[0168] Where M represents the compensation matrix; A represents the position coordinates of the object's surface point in the camera coordinate system; A' represents the position coordinates of the compensated object's surface point in the camera coordinate system; further, after normalizing A', the accurate position coordinates I can be obtained.

[0169] like Figure 11 As shown, the present invention also provides a camera calibration method apparatus, characterized in that the camera calibration apparatus includes:

[0170] The coordinate acquisition module 1101 acquires the measured position coordinates of multiple location points in the camera coordinate system;

[0171] The extrinsic parameter determination module 1102 is used to determine the initial pose of the camera in the robot coordinate system;

[0172] The compensation matrix determination module 1103 is used to determine the compensation matrix for the camera based on the measured position coordinates of multiple position points in the camera coordinate system and the initial pose of the camera in the robot coordinate system.

[0173] In specific implementation, such as Figure 12 As shown, the coordinate acquisition module 1101 further includes:

[0174] The image acquisition submodule 1201 is used to acquire multiple calibration board images captured by the camera when the calibration board moves to multiple spatial positions;

[0175] The coordinate calculation submodule 1202 is used to obtain the measured position coordinates of multiple location points in the camera coordinate system based on multiple calibration plate images acquired by the camera.

[0176] In specific implementation, such as Figure 13 As shown, the extrinsic parameter determination module 1102 further includes:

[0177] The flange coordinate acquisition submodule 1301 is used to acquire the poses of multiple flanges in the robot coordinate system and the poses of multiple calibration plates in the camera coordinate system during the process of the robot moving the calibration plate through the flange.

[0178] The extrinsic parameter calculation submodule 1301 is used to determine the initial pose of the camera in the robot coordinate system based on the poses of multiple flanges in the robot coordinate system and the poses of multiple calibration plates in the camera coordinate system.

[0179] In specific implementation, such as Figure 14 As shown, the compensation matrix determination module 1103 further includes:

[0180] The coordinate grouping submodule 1401 is used to divide multiple location points into multiple groups of location points according to different spatial regions in the camera coordinate system;

[0181] The compensation matrix retrieval submodule 1402 is used to determine the compensation matrix for the camera based on the measured position coordinates of each group of position points in the camera coordinate system and the initial pose of the camera in the robot coordinate system.

[0182] In specific implementation, such as Figure 15 As shown, the coordinate grouping submodule 1401 further includes:

[0183] The spatial segmentation submodule 1501 is used to divide space into multiple layers according to different heights in the camera coordinate system, and each layer is divided into multiple partitions.

[0184] Grouping submodule 1502 is used to group position points in the same layer and the same partition into a group of position points based on the position coordinates of multiple position points in the camera coordinate system.

[0185] In specific implementation, the camera calibration device further includes:

[0186] The position point coordinate acquisition module 1104 is used to obtain the position coordinates of the object surface position points acquired by the camera in the camera coordinate system after determining the compensation matrix for the camera.

[0187] The accurate position coordinate acquisition module 1105 is used to calibrate the position coordinates of the object surface position points in the camera coordinate system according to the compensation matrix, so as to obtain the compensated accurate position coordinates.

[0188] In specific implementation, such as Figure 16 As shown, the accurate position coordinate acquisition module 1105 further includes:

[0189] The spatial region determination submodule 1601 is used to determine the layer and zone where the object's surface location point is located based on the position coordinates of the object's surface location point in the camera coordinate system and the camera's intrinsic parameters.

[0190] The accurate position coordinate acquisition submodule 1602 is used to compensate the position coordinates of the object surface position point in the camera coordinate system according to the compensation matrix corresponding to the layer and partition where the object surface position point is located, so as to obtain the compensated accurate position coordinates.

[0191] In specific implementation, such as Figure 17 As shown, the spatial region determination submodule 1601 further includes:

[0192] The layer determination submodule 1701 is used to determine the layer in which the object's surface position point is located based on the z-axis coordinate of the object's surface position point in the camera coordinate system.

[0193] The pixel coordinate determination submodule 1702 is used to determine the pixel coordinates corresponding to the position points on the object surface based on the x-axis and y-axis coordinates of the position points on the object surface in the camera coordinate system and the camera's intrinsic parameters.

[0194] The partition determination submodule 1703 is used to determine the partition where the object's surface position point is located based on the pixel coordinates corresponding to the position point on the object's surface.

[0195] In specific implementation, such as Figure 18 As shown, the accurate position coordinate acquisition submodule 1602 further includes:

[0196] The weight determination submodule 1801 is used to determine the weight of each layer and / or partition across when the object surface location point is in a cross-layer and / or cross-partition situation, based on the distance between the object surface location point and the cross-layer and / or partition.

[0197] The compensation submodule 1802 is used to compensate the position coordinates of the object surface position points in the camera coordinate system according to the compensation matrix of each layer and / or partition, so as to obtain multiple compensated position coordinates of the object surface position points.

[0198] The weighted summation submodule 1803 is used to perform weighted summation on multiple compensated position coordinates of the object surface position points according to the weights of each layer and / or partition, so as to obtain the weighted summed compensated position coordinates.

[0199] In specific implementation, such as Figure 19 As shown, the compensation matrix retrieval submodule 1402 further includes:

[0200] The initial theoretical position coordinate acquisition submodule 1901 is used to determine the initial theoretical position coordinates of each set of position points in the camera coordinate system based on the initial pose of the camera in the robot coordinate system.

[0201] The initial compensation matrix acquisition submodule 1902 is used to fit the measured position coordinates and initial theoretical position coordinates of each group of position points in the camera coordinate system to determine the initial compensation matrix for the camera.

[0202] The data acquisition submodule 1903 is adjusted to acquire the poses of multiple cameras in the robot coordinate system after adjustment and to determine the theoretical position coordinates of multiple sets of position points after camera adjustment.

[0203] The matrix determination submodule 1904 is used to adjust the initial compensation matrix based on the current pose returned by multiple cameras after adjustment in the robot coordinate system, the measured position coordinates of multiple sets of position points in the camera coordinate system, and the current position coordinates after camera adjustment, until the Euclidean distance between the error between the measured position coordinates of each set of position points in the camera coordinate system and the current theoretical position coordinates is less than a preset threshold and / or the adjustment reaches a preset number of times, and the current compensation matrix is ​​used as the compensation matrix for the camera.

[0204] In specific implementation, such as Figure 20 As shown, the initial theoretical position coordinate acquisition submodule 1901 further includes:

[0205] Flange and calibration plate pose acquisition submodule 2001 is used to acquire the pose of the flange in the robot coordinate system and the pose of the calibration plate in the camera coordinate system corresponding to each set of position points.

[0206] The calibration plate relative to the flange pose acquisition submodule 2002 is used to determine the pose of the calibration plate relative to the flange based on the initial pose of the camera in the robot coordinate system, the pose of the flange in the robot coordinate system, and the pose of the calibration plate in the camera coordinate system.

[0207] The position point relative to robot coordinate acquisition submodule 2003 is used to determine the position coordinates of each group of position points in the robot coordinate system based on the position coordinates of each group of position points in the calibration plate coordinate system, the pose of the calibration plate relative to the flange, and the pose of the flange in the robot coordinate system.

[0208] The initial theoretical position coordinate determination submodule 2004 is used to determine the initial theoretical position coordinates of each group of position points in the camera coordinate system based on the position coordinates of each group of position points in the robot coordinate system and the initial pose of the camera in the robot coordinate system.

[0209] The present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the camera calibration method.

[0210] The present invention also provides a computer-readable storage medium storing a computer program for performing the calibration method of the camera.

[0211] In summary, the camera calibration method, apparatus, electronic device, and readable storage medium provided by this invention include: acquiring the measured position coordinates of multiple position points in the camera coordinate system; determining the initial pose of the camera in the robot coordinate system; and then determining a compensation matrix for the camera based on the measured position coordinates of the multiple position points in the camera coordinate system and the initial pose of the camera in the robot coordinate system. This camera calibration method can simultaneously determine the camera's extrinsic parameters and the compensation matrix for the camera's intrinsic parameters. Therefore, the position coordinates of the position points in the camera coordinate system can be compensated based on the compensation matrix to obtain more accurate position coordinates, thereby effectively improving the accuracy of 3D point cloud images captured by a 3D camera.

[0212] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0213] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0214] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0215] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0216] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above descriptions are merely specific embodiments of the present invention and are not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A camera calibration method, characterized in that, The calibration method includes: Obtain the measured position coordinates of multiple location points in the camera coordinate system; Determine the initial pose of the camera in the robot coordinate system; Based on the measured position coordinates of multiple points in the camera coordinate system and the initial pose of the camera in the robot coordinate system, determine the compensation matrix for the camera. After determining the compensation matrix for the camera, the following further steps are included: Obtain the position coordinates of the object surface location points captured by the camera in the camera coordinate system; The position coordinates of the object's surface points in the camera coordinate system are calibrated based on the compensation matrix to obtain the accurate compensated position coordinates. The step of calibrating the position coordinates of the object surface points in the camera coordinate system according to the compensation matrix to obtain the compensated accurate position coordinates further includes: Based on the position coordinates of the object's surface location points in the camera coordinate system and the camera's intrinsic parameters, determine the layer and zone in which the object's surface location points are located; Based on the compensation matrix corresponding to the layer and zone where the object's surface location point is located, the position coordinates of the object's surface location point in the camera coordinate system are compensated to obtain the accurate position coordinates after compensation.

2. The calibration method as described in claim 1, characterized in that, The step of obtaining the measured position coordinates of multiple location points in the camera coordinate system further includes: Acquire multiple images of the calibration board captured by the camera as the calibration board moves to multiple spatial positions; Based on multiple calibration plate images captured by the camera, the measurement coordinates of multiple location points in the camera coordinate system are obtained.

3. The calibration method as described in claim 1, characterized in that, Determining the initial pose of the camera in the robot coordinate system further includes: During the process of the robot moving the calibration plate through the flange, the poses of multiple flanges in the robot coordinate system and the poses of multiple calibration plates in the camera coordinate system are acquired. The initial pose of the camera in the robot coordinate system is determined based on the poses of multiple flanges in the robot coordinate system and the poses of multiple calibration plates in the camera coordinate system.

4. The calibration method as described in claim 1, characterized in that, The step of determining the compensation matrix for the camera based on the measured position coordinates of multiple position points in the camera coordinate system and the initial pose of the camera in the robot coordinate system further includes: In the camera coordinate system, multiple location points are divided into multiple groups of location points according to different spatial regions; Based on the measured position coordinates of each set of position points in the camera coordinate system and the initial pose of the camera in the robot coordinate system, the compensation matrix for the camera is determined.

5. The calibration method as described in claim 4, characterized in that, The step of dividing multiple location points into multiple groups of location points according to different spatial regions in the camera coordinate system further includes: In the camera coordinate system, the space is divided into multiple layers according to different heights, and each layer is further divided into multiple partitions. Based on the position coordinates of multiple location points in the camera coordinate system, location points in the same layer and the same partition are divided into a group of location points.

6. The calibration method as described in claim 1, characterized in that, The step of determining the layer and zone in which the object's surface location point is located based on its position coordinates in the camera coordinate system and the camera's intrinsic parameters further includes: The layer in which the object's surface location point is located is determined based on the z-axis coordinate of the object's surface location point in the camera coordinate system; Based on the x-axis and y-axis coordinates of the object's surface location in the camera coordinate system and the camera's intrinsic parameters, determine the pixel coordinates corresponding to the object's surface location. The partition where the object's surface location point is located is determined based on the pixel coordinates corresponding to the location point on the object's surface.

7. The calibration method as described in claim 1, characterized in that, Based on the compensation matrix corresponding to the layer and zone where the object's surface location point is located, the position coordinates of the object's surface location point in the camera coordinate system are compensated to obtain the accurate compensated position coordinates, which further includes: When a location point on the object's surface is located across layers and / or zones, the weight of each layer and / or zone is determined based on the distance between the object's surface location point and the layer and / or zone it crosses. The position coordinates of the object surface location points in the camera coordinate system are compensated according to the compensation matrix of each layer and / or partition, so as to obtain multiple compensated position coordinates of the object surface location points. The multiple compensated position coordinates of the object surface location points are weighted and summed according to the weights of each layer and / or partition to obtain the weighted summed compensated position coordinates.

8. The calibration method as described in claim 4, characterized in that, The step of determining the compensation matrix for the camera based on the measured position coordinates of each set of position points in the camera coordinate system and the initial pose of the camera in the robot coordinate system further includes: Determine the initial theoretical position coordinates of each set of position points in the camera coordinate system based on the initial pose of the camera in the robot coordinate system. Fit the measured position coordinates and initial theoretical position coordinates of each set of position points in the camera coordinate system to determine the initial compensation matrix for the camera; Acquire the poses of multiple cameras after adjustment in the robot coordinate system and determine the theoretical position coordinates of multiple sets of position points after camera adjustment; The initial compensation matrix is ​​adjusted based on the current pose returned by multiple cameras after adjustment in the robot coordinate system, the measured position coordinates of multiple sets of position points in the camera coordinate system, and the current position coordinates after camera adjustment. The adjustment continues until the Euclidean distance between the measured position coordinates and the current theoretical position coordinates of each set of position points in the camera coordinate system is less than a preset threshold and / or the adjustment reaches a preset number of times. The current compensation matrix is ​​then used as the compensation matrix for the camera.

9. The calibration method as described in claim 8, characterized in that, Based on the initial pose of the camera in the robot coordinate system, the initial theoretical position coordinates of each set of positions in the camera coordinate system are determined, further including: Obtain the pose of the flange in the robot coordinate system and the pose of the calibration plate in the camera coordinate system corresponding to each set of position points; Based on the initial pose of the camera in the robot coordinate system, the pose of the flange in the robot coordinate system, and the pose of the calibration plate in the camera coordinate system, determine the pose of the calibration plate relative to the flange. Based on the position coordinates of each set of position points in the calibration plate coordinate system, the pose of the calibration plate relative to the flange, and the pose of the flange in the robot coordinate system, determine the position coordinates of each set of position points in the robot coordinate system. Based on the position coordinates of each group of position points in the robot coordinate system and the initial pose of the camera in the robot coordinate system, determine the initial theoretical position coordinates of each group of position points in the camera coordinate system.

10. A camera calibration method apparatus, characterized in that, The camera calibration device includes: The coordinate acquisition module acquires the measured position coordinates of multiple location points in the camera coordinate system. The extrinsic parameter determination module is used to determine the initial pose of the camera in the robot coordinate system; The compensation matrix determination module is used to determine the compensation matrix for the camera based on the measured position coordinates of multiple position points in the camera coordinate system and the initial pose of the camera in the robot coordinate system. The camera calibration device also includes: The position point coordinate acquisition module is used to obtain the position coordinates of the object surface position points acquired by the camera in the camera coordinate system after determining the compensation matrix for the camera. The accurate position coordinate acquisition module is used to calibrate the position coordinates of the object surface points in the camera coordinate system according to the compensation matrix, and obtain the compensated accurate position coordinates. The accurate position coordinate determination module further includes: The spatial region determination submodule is used to determine the layer and zone in which the object's surface location point is located based on the position coordinates of the object's surface location point in the camera coordinate system and the camera's intrinsic parameters. The accurate position coordinate acquisition submodule is used to compensate the position coordinates of the object's surface position points in the camera coordinate system based on the compensation matrix corresponding to the layer and partition where the object's surface position points are located, so as to obtain the compensated accurate position coordinates.

11. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the calibration method for any one of claims 1 to 9.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that performs the calibration method for any one of the cameras described in claims 1 to 9.

Citation Information

Patent Citations

  • Pose calibration method and device, robot and computer readable storage medium

    CN112967347A

  • High-precision hand-eye calibration method for robot system

    CN119328768A