Symmetrical calibration method and device for symmetrical workpiece points
Through symmetric transformation and homogeneous transformation matrix adjustment, combined with three-dimensional camera data, automatic calibration of the robot arm workpiece points is achieved, which solves the problem of low accuracy and low efficiency of manual calibration in the existing technology and improves the calibration accuracy and efficiency.
Patent Information
- Application Number
- CN202510737550.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-04
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2045-06-04
AI Technical Summary
In the existing technology, the point symmetry calibration of the robotic arm relies on manual observation, which has low accuracy and efficiency and cannot meet the calibration requirements of high-precision and complex tasks.
By acquiring the point cloud data in the base coordinate system of the robot arm and performing symmetric transformation processing to generate virtual point cloud data, the homogeneous transformation matrix and the camera intrinsic parameters are combined for adjustment, and the three-dimensional camera is used to obtain the real point cloud data to realize the automatic calibration of the workpiece point.
It realizes the automatic symmetrical setting of workpiece points, improves calibration accuracy and efficiency, and avoids the subjectivity and environmental impact of manual calibration.
Smart Images

Figure CN120245008B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robotic arm workpiece detection, and in particular to a method and device for symmetrical calibration of symmetrical workpiece points. Background Art
[0002] When a robotic arm is performing workpiece defect inspection, point setting is a critical step. For example, for a steering knuckle, over a hundred points typically need to be set so the robotic arm, equipped with a 2D camera, can capture all-around images of the workpiece. Once the point setting for one workpiece is complete, the points of the symmetrical workpiece can be directly determined through symmetry, reducing the workload of repeated setups. Currently, manual point symmetry calibration is used, where an operator uses a 2D camera to capture an image of a symmetrical workpiece and compares it with a pre-captured reference image. If the two images roughly match in symmetry, the points are considered calibrated. However, manual point symmetry calibration for the robotic arm relies on visual observation, resulting in low precision and strong subjectivity. Deviations cannot be quantified, and the system is significantly affected by environmental factors. This method is inefficient and difficult to automate. It is only suitable for simple symmetrical workpieces and cannot meet the calibration requirements of high-precision and complex tasks. Summary of the Invention
[0003] The present application provides a method and device for symmetrical calibration of symmetrical workpiece points to solve the problem in the prior art of using manual methods to perform symmetrical calibration of robot arm points, resulting in low calibration accuracy and low calibration efficiency.
[0004] In the first aspect, the present application provides a symmetrical calibration method for symmetrical workpiece points, comprising: obtaining first point cloud data of a first workpiece in a robotic arm base coordinate system, and performing symmetrical transformation processing on the first point cloud data to generate virtual second point cloud data of a second workpiece, wherein the first workpiece and the second workpiece are symmetrical workpieces to be symmetrically calibrated; converting the 6-dimensional point position of the robotic arm of the first workpiece into a first homogeneous transformation matrix, and obtaining a second homogeneous transformation matrix of the robotic arm end of the second workpiece based on the first homogeneous transformation matrix, the hand-eye matrix of the two-dimensional camera on the robotic arm, and the symmetrical relationship between the first workpiece and the second workpiece; wherein the 6-dimensional point position of the robotic arm of the first workpiece includes the coordinates corresponding to the point cloud data of the first workpiece; determining the second workpiece based on the second homogeneous transformation matrix. An initial 6-dimensional point position of the robotic arm; wherein the initial 6-dimensional point position of the robotic arm includes the coordinates corresponding to the point cloud data of the second workpiece; the first point cloud data is symmetrically processed in combination with the internal parameters of the camera and converted into virtual third point cloud data of the second workpiece, and the second homogeneous transformation matrix is adjusted based on the deviation between the second point cloud data and the third point cloud data to obtain the third homogeneous transformation matrix of the robotic arm end of the second workpiece; the real point cloud data of the second workpiece is acquired through a three-dimensional camera, and the real robotic arm 6-dimensional point position of the second workpiece is determined based on the real point cloud data, the third point cloud data and the third homogeneous transformation matrix, wherein the real robotic arm 6-dimensional point position of the second workpiece includes the coordinates corresponding to the real point cloud data after the point cloud data corresponding to the initial point position is corrected.
[0005] In the second aspect, the present application provides a symmetrical calibration device for symmetrical workpiece points, comprising: a first processing module for acquiring first point cloud data of a first workpiece in a robotic arm base coordinate system, and performing symmetrical transformation processing on the first point cloud data to generate virtual second point cloud data of a second workpiece, wherein the first workpiece and the second workpiece are symmetrical workpieces to be symmetrically calibrated; a second processing module for converting the robotic arm 6-dimensional point position of the first workpiece into a first homogeneous transformation matrix, and based on the first homogeneous transformation matrix, the hand-eye matrix of the two-dimensional camera on the robotic arm, and the symmetrical relationship between the first workpiece and the second workpiece, obtaining a second homogeneous transformation matrix of the robotic arm end of the second workpiece; wherein the robotic arm 6-dimensional point position of the first workpiece includes the coordinates corresponding to the point cloud data of the first workpiece; a third processing module for determining the first workpiece based on the second homogeneous transformation matrix. The initial robotic arm 6-dimensional point position of the second workpiece; wherein the initial robotic arm 6-dimensional point position includes the coordinates corresponding to the point cloud data of the second workpiece; a fourth processing module, used to symmetrically process the first point cloud data in combination with the internal parameters of the camera and convert it into virtual third point cloud data of the second workpiece, and adjust the second homogeneous transformation matrix based on the deviation between the second point cloud data and the third point cloud data to obtain the third homogeneous transformation matrix of the robotic arm end of the second workpiece; a fifth processing module, used to obtain the real point cloud data of the second workpiece through a three-dimensional camera, and determine the real robotic arm 6-dimensional point position of the second workpiece based on the real point cloud data, the third point cloud data and the third homogeneous transformation matrix, wherein the real robotic arm 6-dimensional point position of the second workpiece includes the coordinates corresponding to the real point cloud data after correcting the point cloud data corresponding to the initial point position.
[0006] In a third aspect, the present application provides a device comprising: at least one communication interface; at least one bus connected to the at least one communication interface; at least one processor connected to the at least one bus; and at least one memory connected to the at least one bus, wherein the processor is configured to execute the symmetrical calibration method of symmetrical workpiece points described in the first aspect of the present application.
[0007] In a fourth aspect, the present application further provides a computer storage medium storing computer executable instructions, wherein the computer executable instructions are used to execute the symmetrical calibration method of symmetrical workpiece points described in the first aspect of the present application.
[0008] The above-mentioned technical solution provided by the embodiment of the present application has the following advantages over the prior art: through the method provided by the embodiment of the present application, for the first workpiece and the second workpiece to be calibrated, the first point cloud data of the first workpiece in the robotic arm base coordinate system is first obtained, and the virtual second point cloud data of the second workpiece is determined based on the first point cloud data and the symmetric transformation processing; then, the robotic arm 6-dimensional point position of the first workpiece is converted into a first homogeneous transformation matrix, and based on the first homogeneous transformation matrix, the hand-eye matrix of the two-dimensional camera on the robotic arm, and the symmetric relationship between the first workpiece and the second workpiece, the second homogeneous transformation matrix of the robotic arm end of the second workpiece is obtained, and then the initial robotic arm 6-dimensional point position of the second workpiece can be obtained, and finally, the real point cloud data of the second workpiece is obtained through the three-dimensional camera, and the real robotic arm 6-dimensional point position of the second workpiece is determined based on the real point cloud data, the third point cloud data and the third homogeneous transformation matrix, and the real robotic arm 6-dimensional point position is obtained after calibrating the initial robotic arm 6-dimensional point position. Obtaining the true 6-dimensional position of the second workpiece by the robotic arm means that the position calibration of the second workpiece is achieved. That is, the true 6-dimensional position of the second workpiece by the robotic arm is the current position of the second workpiece, so that the first workpiece and the second workpiece are symmetrically arranged. It can be seen that in this application, the above method realizes the automatic symmetrical setting of the workpiece position, eliminating the need for manual symmetrical calibration, improving the efficiency of workpiece position calibration, and achieving higher accuracy than manual calibration. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
[0010] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0011] One or more embodiments are exemplarily illustrated by pictures in the corresponding drawings. These exemplifications do not constitute limitations on the embodiments. Elements with the same reference numerals in the drawings are represented as similar elements. Unless otherwise stated, the figures in the drawings do not constitute proportional limitations.
[0012] Figure 1 A flow chart of a method for symmetrical calibration of symmetrical workpiece points provided in an embodiment of the present application;
[0013] Figure 2 A schematic diagram of a robotic arm workpiece symmetry calibration system provided in an embodiment of the present application;
[0014] Figure 3 A schematic diagram of the structure of a symmetrical calibration device for symmetrical workpiece points provided in an embodiment of the present application;
[0015] Figure 4 A schematic diagram of the structure of the device provided in the embodiment of the present application. DETAILED DESCRIPTION
[0016] To make the purpose, technical solutions, and advantages of the embodiments of this application more clear, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0017] The disclosure below provides many different embodiments or examples for implementing different configurations of the present invention. To simplify the disclosure of the present invention, the components and configurations of specific examples are described below. Of course, these are merely examples and are not intended to limit the present invention. In addition, the present invention may repeat reference numerals and / or letters in different examples. Such repetition is for the purpose of simplicity and clarity and does not in itself indicate the relationship between the various embodiments and / or configurations discussed.
[0018] In order to solve the problem that the existing technology uses manual method to perform symmetrical calibration of robot arm points, resulting in low calibration accuracy and low calibration efficiency, the present application provides a symmetrical calibration method for symmetrical workpiece points, such as Figure 1 As shown, the method includes:
[0019] Step 101: obtaining first point cloud data of a first workpiece in a robot base coordinate system, and performing symmetric transformation processing on the first point cloud data to generate virtual second point cloud data of a second workpiece, wherein the first workpiece and the second workpiece are symmetrical workpieces to be symmetrically calibrated;
[0020] The calibration method in this application can be processed by terminal devices, processors and other devices in the system. Specifically, the system includes a six-axis robotic arm, a 2D camera installed at the end of the robotic arm, a 3D camera fixed to a bracket, and a left workpiece and a right workpiece placed within the field of view of the 3D camera, and the left and right workpieces are symmetrical. In this regard, the left workpiece and the right workpiece correspond to the first workpiece and the second workpiece mentioned above. If the left workpiece is the first workpiece, the right workpiece is the second workpiece. If the left workpiece is the second workpiece, the right workpiece is the first workpiece, that is, the first workpiece and the second workpiece in this application are symmetrical. It should be noted that the left workpiece and the right workpiece are only an example. In other application scenarios, they can be an upper workpiece and a lower workpiece, or other two workpieces with a symmetrical relationship. Based on this, in this application, the 3D camera can collect point cloud data of the left workpiece, and then filter the collected point cloud data to remove outliers to improve data quality. Then, the known 3D hand-eye matrix (that is, the conversion matrix from the 3D camera coordinate system to the robotic arm base coordinate system) is used to convert the filtered point cloud data from the 3D camera coordinate system to the robotic arm base coordinate system.
[0021] In addition, the first workpiece and the second workpiece in this application have a symmetrical relationship under normal circumstances, such as the first workpiece and the second workpiece are symmetrical on the left and right based on the center plane, but in actual situations, the symmetrical relationship between the two may deviate due to certain reasons, so the two need to be symmetrically calibrated.
[0022] Step 102: Convert the 6-dimensional points of the robotic arm of the first workpiece into a first homogeneous transformation matrix, and obtain a second homogeneous transformation matrix of the robotic arm end of the second workpiece based on the first homogeneous transformation matrix, the hand-eye matrix of the 2D camera on the robotic arm, and the symmetric relationship between the first and second workpieces; wherein the 6-dimensional points of the robotic arm of the first workpiece include the coordinates corresponding to the point cloud data of the first workpiece;
[0023] It should be noted that the 6-dimensional position of the robot arm of the first workpiece is preset, that is, the 6-dimensional position of the robot arm of the first workpiece is known, and the 6-dimensional position of the robot arm of the first workpiece is Convert to homogeneous transformation matrix T end (corresponding to the first homogeneous transformation matrix) is used to represent the position and posture of the end of the manipulator in the base coordinate system. is the translation vector, is the RPY angle (Roll-Pitch-Yaw angle), which needs to be converted into a rotation matrix. The 6-dimensional point position of the robot arm is calculated through the point cloud data of the corresponding workpiece. Since in this scenario, the robot arm carries a 2D camera to shoot around the workpiece, the robot arm and the workpiece can be regarded as a whole. The robot arm should also undergo corresponding transformations for any posture changes of the workpiece. In other words, the transformation of the robot arm can be deduced by simply calculating the transformation of the workpiece, that is, the point position of the corresponding robot arm can be determined by the point cloud of the workpiece. In addition, the hand-eye matrix of the two-dimensional camera and the hand-eye matrix of the three-dimensional camera in this application are also preset, that is, the hand-eye matrix of the two-dimensional camera and the hand-eye matrix of the three-dimensional camera in this application are also known.
[0024] In addition, the symmetrical relationship between the first workpiece and the second workpiece in the present application may mean that the two are symmetrical based on a certain plane, that is, the plane can be determined in advance, but due to certain reasons, the first workpiece and the second workpiece may not be symmetrical based on the plane, so they need to be symmetrically calibrated.
[0025] Based on this, in this application, the 6D point position of the robot arm and the homogeneous transformation matrix can be converted to each other through the corresponding formula, such as the 6D point position is ,in is the translation vector, is the RPY angle. In the specific example, if the order of the RPY angles is rz, ry, rx, then the calculation formula of the rotation matrix R is as follows:
[0026] Among them, R x 、R y 、R z They are the rotation matrices around x, y, and z, respectively, and their specific forms are:
[0027]
[0028] Furthermore, the rotation matrix R and the translation vector Combined into a homogeneous transformation matrix T end (the first homogeneous transformation matrix), which has the form:
[0029]
[0030] After obtaining the homogeneous transformation matrix T end Afterwards, since the hand-eye matrix of the two-dimensional camera on the robot arm is known, the homogeneous transformation matrix T can be obtained based on the symmetric relationship between the first workpiece and the second workpiece. end The homogeneous transformation matrix of the second workpiece robot arm end can be converted, that is, the second homogeneous transformation matrix.
[0031] Step 103: determining an initial 6-dimensional position of the second workpiece by the robotic arm based on the second homogeneous transformation matrix; wherein the initial 6-dimensional position of the robotic arm includes coordinates corresponding to the point cloud data of the second workpiece;
[0032] It can be seen from the above step 102 that the 6-dimensional point position of the robotic arm of the first workpiece can be converted into the first homogeneous transformation matrix. Therefore, after obtaining the second homogeneous transformation matrix of the second workpiece, the second homogeneous transformation matrix can also be converted into the 6-dimensional point position of the robotic arm of the second workpiece. However, the 6-dimensional point position of the robotic arm of the second workpiece is only an initial point position. Because the first workpiece and the second workpiece are not completely symmetrical, the optical center of the camera may not be the center position of the two. Therefore, the initial 6-dimensional point position of the robotic arm of the second workpiece needs to be corrected to obtain a more accurate 6-dimensional point position of the robotic arm of the second workpiece.
[0033] Step 104: symmetrically process the first point cloud data in combination with the camera's intrinsic parameters to convert it into virtual third point cloud data of the second workpiece, and adjust the second homogeneous transformation matrix based on the deviation between the second point cloud data and the third point cloud data to obtain a third homogeneous transformation matrix of the end arm of the second workpiece;
[0034] Since the optical center of the camera is not strictly centered, the virtual second point cloud data of the second workpiece generated directly through symmetric transformation has deviations. The third point cloud data is obtained by symmetrically processing the first point cloud data in combination with the camera's internal parameters, which is equivalent to the correct reference when the camera's optical center is strictly centered. By calculating the deviation between the second point cloud data and the third point cloud data, the posture error caused by the camera installation error (optical center offset) can be quantified, thereby providing a basis for correcting the trajectory of the robotic arm. It can be seen that the correction of the virtual point cloud data of the second workpiece is completed in this step, which is equivalent to correcting the homogeneous transformation matrix obtained from the virtual point cloud data, that is, adjusting the second homogeneous transformation matrix to obtain the third homogeneous transformation matrix.
[0035] Step 105: Acquire the real point cloud data of the second workpiece through a three-dimensional camera, and determine the real robotic arm 6-dimensional point position of the second workpiece based on the real point cloud data, the third point cloud data and the third homogeneous transformation matrix, wherein the real robotic arm 6-dimensional point position of the second workpiece includes the coordinates corresponding to the real point cloud data after correcting the point cloud data corresponding to the initial point position.
[0036] It can be seen from the above step 104 that after the virtual point cloud data of the second workpiece is corrected, the virtual third homogeneous transformation matrix after correction is obtained, and then the virtual point cloud data (third point cloud data) and the virtual third homogeneous transformation matrix are corrected based on the real point cloud data of the second workpiece to obtain the current real and accurate 6-dimensional point position of the robotic arm of the second workpiece that is symmetrical to the first workpiece.
[0037] Through the above steps 101 to 105 of the present application, for the first and second workpieces to be calibrated, first obtain the first point cloud data of the first workpiece in the robot base coordinate system, and determine the virtual second point cloud data of the second workpiece based on the first point cloud data and the symmetric transformation processing; then, convert the robot arm 6-dimensional point position of the first workpiece into a first homogeneous transformation matrix, and based on the first homogeneous transformation matrix, the hand-eye matrix of the two-dimensional camera on the robot arm, and the symmetric relationship between the first and second workpieces, obtain the second homogeneous transformation matrix of the robot arm end of the second workpiece, and then obtain the initial robot arm 6-dimensional point position of the second workpiece. Finally, obtain the real point cloud data of the second workpiece through the three-dimensional camera, and determine the real robot arm 6-dimensional point position of the second workpiece based on the real point cloud data, the third point cloud data, and the third homogeneous transformation matrix. The real robot arm 6-dimensional point position is obtained after calibrating the initial robot arm 6-dimensional point position. Obtaining the real robot arm 6-dimensional point position of the second workpiece means that the point position calibration of the second workpiece is achieved, that is, the real robot arm 6-dimensional point position of the second workpiece is the current position of the second workpiece, so that the first and second workpieces are symmetrically arranged. It can be seen that in this application, the above method is used to achieve automatic symmetrical setting of workpiece points, without the need for manual symmetrical calibration, which improves the efficiency of workpiece point calibration and has higher symmetrical calibration accuracy than manual methods.
[0038] In the present application, the method of obtaining first point cloud data of the first workpiece in the robot base coordinate system and performing a symmetrical transformation on the first point cloud data to generate virtual second point cloud data of the second workpiece involved in step 101 above may further include:
[0039] Step 11: collecting point cloud data of the first workpiece through a three-dimensional camera, and converting the collected point cloud data into first point cloud data in the robot arm base coordinate system in combination with the three-dimensional hand-eye matrix;
[0040] by Figure 2 For example, the method involved in step 11 can be as follows: the point cloud data of the left workpiece (the first workpiece) is collected by a 3D camera, and the collected point cloud data is first filtered to remove outliers to improve the data quality. Then, using the known 3D hand-eye matrix (i.e., the conversion matrix from the 3D camera coordinate system to the robot arm base coordinate system), the filtered point cloud data is converted from the 3D camera coordinate system to the robot arm base coordinate system to obtain the first point cloud data. The conversion process can be expressed by the following formula (1):
[0041]
[0042] Among them, P 3d is the point cloud data in the 3D camera coordinate system, T 3d is the 3D hand-eye matrix, Pbase It is the point cloud data (first point cloud data) in the converted robotic arm base coordinate system.
[0043] Step 12: Obtain the equation of the symmetry plane, and map the first point cloud data to the other side of the symmetry plane based on the equation to generate second point cloud data in the robot arm base coordinate system.
[0044] In this application, in order to facilitate calculation and analysis, a simple reference plane can be arbitrarily selected, such as the yz plane, as the hypothetical symmetry plane. Based on the symmetry plane, after the left workpiece is mirrored about the plane, its mirroring results will be compared and matched with the actual right workpiece, thereby verifying the correctness of the symmetry or calculating the necessary adjustment parameters. Therefore, the selection of a simple reference plane will not affect the final matching accuracy and can simplify the calculation process. In addition, the virtual second point cloud data in this application is used to subsequently generate the initial robotic arm 6-dimensional point position of the initial second workpiece.
[0045] In this regard, Figure 2 For example, the method involved in step 12 can be: calculate the center of mass of the left workpiece by formula (2) and use it as a point on the plane. The calculation formula of the center of mass is:
[0046]
[0047] in, is the coordinate of the i-th point in the point cloud, and n is the total number of points in the point cloud. The calculated center of mass is used as a point on plane c. Also, the x-axis vector is selected as the normal vector to plane c.
[0048] According to the plane equation formula (3):
[0049]
[0050] Among them, (A, B, C) is the normal vector of the plane, Is a point on the plane. The known center of mass Center coordinates Substituting the normal vector (1,0,0) into the equation, we get the equation of the symmetry plane as formula (4):
[0051]
[0052] Using the symmetry plane equation , perform symmetrical transformation on the point cloud data of the left workpiece. For each point in the point cloud of the left workpiece , its symmetric point The calculation formula is:
[0053]
[0054] Through the above transformation, the point cloud data of the left workpiece (left_cloud) is mapped to the other side of the symmetry plane to generate a virtual point cloud of the right workpiece (right_cloud1). The virtual point cloud data of the right workpiece is spatially symmetric with the point cloud of the left workpiece about the symmetry plane. Completely symmetrical.
[0055] In an optional implementation manner of the embodiment of the present application, the method of obtaining the second homogeneous transformation matrix of the end of the robotic arm of the second workpiece based on the first homogeneous transformation matrix, the hand-eye matrix of the two-dimensional camera on the robotic arm, and the symmetric relationship between the first workpiece and the second workpiece involved in step 102 in the embodiment of the present application may further include:
[0056] Step 21: obtaining a first position of the origin of the camera coordinate system of the two-dimensional camera in the base coordinate system of the manipulator based on the first homogeneous transformation matrix and the hand-eye matrix of the two-dimensional camera on the manipulator;
[0057] To this end, we must first determine the first homogeneous transformation matrix, that is, convert the 6-dimensional point position of the robot arm of the first workpiece into the first homogeneous transformation matrix. Figure 2 For example, the robot arm 6D point of the left workpiece (first workpiece) Convert to homogeneous transformation matrix T end , used to represent the position and posture of the end of the robotic arm in the base coordinate system. is the translation vector, is the RPY angle (Roll-Pitch-Yaw angle), which needs to be converted into a rotation matrix. For example, if the order of the RPY angles is rz, ry, rx, then the calculation formula of the rotation matrix R is:
[0058]
[0059] in, 、 、 They are the rotation matrices around x, y, and z, respectively, and their specific forms are:
[0060]
[0061] The rotation matrix R and the translation vector Combined into a homogeneous transformation matrix T end (the first homogeneous transformation matrix), which has the form:
[0062]
[0063] In getting T end Afterwards, the robot matrix T end The hand-eye matrix T of the 2D camera 2dMultiply them to get the position of the camera coordinate system origin in the manipulator base coordinate system (first position), which is calculated as follows:
[0064]
[0065] Step 22: multiply the first position by the unit vectors corresponding to the three axis directions in the camera coordinate system to obtain three positions of the three axis points in the three axis directions in the manipulator base coordinate system;
[0066] In this regard, based on step 21, continue from T camera_origin Extract the translation vector t from camera_origin , which is the position of the camera coordinate system origin in the robot arm base coordinate system:
[0067]
[0068] In order to determine the three axis directions of the camera coordinate system, the manipulator matrix T end The hand-eye matrix T of the 2D camera 2d Multiply them together and then add them to the unit vector 、 、 Multiplying them together, we get the positions of the three axis points of the camera coordinate system in the robot base coordinate system. These three positions can be determined by any point on the X axis, any point on the Y axis, and any point on the Z axis. The calculation formula is:
[0069]
[0070] Step 23: Map the first position and the three positions to the other side of the symmetry plane based on the equation of the symmetry plane to determine the origin position of the second workpiece in the camera coordinate system of the two-dimensional camera and the corresponding positions of the three axis points in the three axis directions in the robot arm base coordinate system;
[0071] By using the plane equation formula (4) and formula (5) to symmetric the origin and the three axis points to one side of the plane, we can get the origin of the virtual right workpiece (second workpiece) camera coordinate system. and axis point 、 、 Furthermore, the origin of the camera coordinate system of the right workpiece (second workpiece) can be mapped to the robot base coordinate system in steps 21 to 22 based on how the origin position of the first workpiece in the camera coordinate system and the three positions in the three axis directions are mapped to the robot base coordinate system. and axis point 、 、 Mapped to the robot base coordinate system.
[0072] Step 24, determining the origin position and three axis point positions in the three axis directions of the second workpiece in the camera coordinate system of the two-dimensional camera based on the corresponding positions, and constructing a fourth homogeneous transformation matrix of the second workpiece in the camera coordinate system;
[0073] In this regard, Figure 2 For example, the origin of the right workpiece camera coordinate system obtained according to the above steps is and three axis points 、 、 , the rotation matrix R of the right workpiece camera coordinate system can be calculated right and the translation vector t right , and then construct the homogeneous transformation matrix T camera_oright (Fourth homogeneous transformation matrix):
[0074]
[0075] Step 25: Multiply the fourth homogeneous transformation matrix by the inverse matrix of the hand-eye matrix to obtain a second homogeneous transformation matrix.
[0076] In this regard, Figure 2 For example, the matrix T of the right workpiece camera coordinate system camera_oright The inverse matrix of the 2D camera hand-eye matrix Multiply them together to get the homogeneous transformation matrix of the right workpiece robot end (Second homogeneous transformation matrix):
[0077]
[0078] It can be seen that through steps 21 to 25 above, the homogeneous transformation matrix (second homogeneous transformation matrix) of the second workpiece manipulator arm end can be obtained. Based on the transformation relationship between the homogeneous transformation matrix and the manipulator arm's 6-dimensional point position, the initial manipulator arm 6-dimensional point position of the second workpiece can be obtained based on the homogeneous transformation matrix of the second workpiece manipulator arm end. Because the optical center of the camera may not be located at the center of the image due to lens installation, the image obtained symmetrically about the optical center is not symmetrical about the image resolution width. Therefore, the point position obtained at this time is only a preliminary right workpiece manipulator arm point position. It is necessary to further combine the image information of the 2D camera and correct the point position through feature point comparison and deviation calculation to obtain a more accurate manipulator arm point position.
[0079] In an optional implementation of the embodiment of the present application, the method involved in step 104 of converting the first point cloud data into virtual third point cloud data of the second workpiece after symmetrical processing in combination with the intrinsic parameters of the camera, and determining the third homogeneous transformation matrix of the end arm of the second workpiece based on the second point cloud data and the third point cloud data, can further include:
[0080] Step 31: obtaining pixel coordinates of a first workpiece based on the first point cloud data and the intrinsic parameters of the two-dimensional camera, and generating a first image and a first depth map of the first workpiece based on the pixel coordinates;
[0081] Step 32, symmetrically processing the first image and the first depth map to obtain a second image and a second depth map of a virtual second workpiece;
[0082] For step 31 and step 32, in this specific example, for each point in the point cloud data of the left workpiece , use the camera's intrinsic parameters to project it onto the image plane and get the corresponding pixel coordinates The projection formula is:
[0083]
[0084] in, is the focal length of the camera, is the optical center of the camera.
[0085] Based on the pixel coordinates, the corresponding left workpiece can be generated, and the generated left workpiece image The symmetrical image and depth map of the right workpiece are processed symmetrically with respect to the width of the image resolution. Specifically, for each pixel in the image , its symmetric point The calculation formula is:
[0086]
[0087] Among them, width refers to the horizontal resolution of the camera;
[0088] Step 33: obtaining third point cloud data of the second workpiece based on the intrinsic parameters of the two-dimensional camera and in combination with the second image and the second depth map;
[0089] In this specific example, the symmetrical image and depth map are converted back into point cloud data in combination with the camera's internal parameters to generate a completely symmetrical right workpiece point cloud 2 (right_cloud2) (i.e., the third point cloud data). The specific process is: for each pixel in the symmetrical image and depth map , use the camera intrinsic parameters and depth value to calculate its three-dimensional coordinates in the camera coordinate system. The calculation formula is:
[0090]
[0091] Combine all 3D coordinates into point cloud data to get right_cloud2. 2d and T end_right1Transfer right_cloud2 from the camera coordinate system to the robot arm base coordinate system.
[0092] Step 34: determining a corresponding first rigid body transformation matrix based on the deviation between the second point cloud data and the third point cloud data;
[0093] In this regard, in a specific example, the rigid body transformation matrix Match1 is calculated by performing nearest point matching and minimizing the error for right_cloud1 (the second point cloud data) and right_cloud2 (the third point cloud data).
[0094] It should be noted that the closest point matching and error minimization of right_cloud1 and right_cloud2 can be calculated using the Iterative Closest Point (ICP) matching algorithm.
[0095] Step 35: multiply the second homogeneous transformation matrix by the first rigid body transformation matrix to obtain a third homogeneous transformation matrix.
[0096] In this regard, T end_right1 Multiply by Match1 on the left to get T end_right2 The specific formula is:
[0097]
[0098] Since the second point cloud data is based on the determination of the initial robotic arm 6-dimensional point position of the second workpiece, and the deviation between the second point cloud data and the third point cloud data is determined through steps 31 to 35, the second homogeneous transformation matrix is adjusted to obtain the third homogeneous transformation matrix. By converting the homogeneous transformation matrix and the robotic arm 6-dimensional point position, the corresponding robotic arm 6-dimensional point position can be obtained based on the third homogeneous transformation matrix, that is, the first adjustment of the initial robotic arm 6-dimensional point position is achieved. Subsequently, the robotic arm 6-dimensional point position will be adjusted for the second time based on the deviation between the virtual point cloud and the real point cloud to obtain the real and accurate robotic arm 6-dimensional point position of the second workpiece.
[0099] In an optional implementation of the embodiment of the present application, the method involved in step 105 of acquiring the real point cloud data of the second workpiece by using a 3D camera and determining the real robotic arm 6-D point position of the second workpiece based on the real point cloud data, the third point cloud data, and the third homogeneous transformation matrix may further include:
[0100] Step 41: photograph the second workpiece with a three-dimensional camera to obtain fourth point cloud data of the second workpiece;
[0101] Step 42: convert the fourth point cloud data into the robot arm base coordinate system to obtain corresponding fifth point cloud data;
[0102] Step 43: determining a corresponding second rigid body transformation matrix based on the fifth point cloud data and the third point cloud data;
[0103] Step 44, multiplying the third homogeneous transformation matrix by the second rigid body transformation matrix to obtain a fifth homogeneous transformation matrix of the second workpiece manipulator end;
[0104] Step 45: convert the fifth homogeneous transformation matrix into the real robot arm position of the second workpiece.
[0105] For the above steps 41 to 45, Figure 2 For example, in a specific example, it can be: use a 3D camera to shoot the real right workpiece to obtain the actual right workpiece point cloud (real_right_cloud). Using the hand-eye matrix of the 3D camera And transform it to the robot base coordinate system through formula (1). Calculate the rigid body transformation matrix Match2 by matching right_cloud2 and real_right_cloud with the nearest point and minimizing the error. end_right2 Multiply by Match2 on the left to get T end_real_right The specific formula is:
[0106]
[0107] Finally, through the relationship between the end of the robot arm and the robot arm position, it is finally converted into the actual position of the right workpiece robot arm.
[0108] In the embodiment of the present application, after determining the actual position of the robot arm of the second workpiece, the result can be verified. Therefore, the method of the embodiment of the present application can further include:
[0109] Step 51, determining sixth point cloud data of the second workpiece in a two-dimensional camera coordinate system based on the real point cloud data, and determining an image point cloud of the second workpiece based on the sixth point cloud data;
[0110] Step 52: determining seventh point cloud data of the second workpiece in the two-dimensional camera coordinate system based on the first point cloud data, and determining an image point cloud of the first workpiece based on the seventh point cloud data;
[0111] Step 53, determining the point cloud overlap between the image point cloud of the second workpiece and the image point cloud of the first workpiece;
[0112] Step 54 : When the overlap exceeds a preset threshold, determine whether the actual robot arm position of the second workpiece meets the preset calibration standard of the symmetrical workpiece position.
[0113] For the above steps 51 to 54, in a specific example, the point cloud real_right_cloud in the robot arm coordinate system of the right workpiece can be multiplied by , and then multiply by , get the right workpiece point cloud in the 2D camera coordinate system:
[0114]
[0115] According to formula (16) combined with the camera intrinsic parameters projected to the pixel coordinate system, the image of the right workpiece is obtained Then, according to formula (17), the image of the right workpiece is symmetrical about the width of the resolution to obtain the symmetrical image of the right workpiece . Convert to image point cloud according to resolution , and set .
[0116] Likewise Convert to image point cloud according to resolution , and set z = 0. Calculate the left workpiece image point according to formula (22): And the right workpiece image point cloud Overlap:
[0117]
[0118] Among them, Overlap is and The number of points N with the same (x, y) coordinates in overlap and the total number of points N total ratio.
[0119] In a specific example, taking the preset threshold value of 0.95 as an example, if the overlap is greater than 0.95, it means that the accuracy of the workpiece point symmetry result obtained by this application has reached the required standard.
[0120] As can be seen from the above description of this application, the symmetrical calibration process of the workpiece point in this application includes two processes:
[0121] 1) Initial Symmetry: First, based on a symmetry plane, the left workpiece point cloud is symmetrically manipulated to generate a virtual right workpiece point cloud (cloud 1). This point cloud will be used for subsequent registration and correction. Simultaneously, based on the position of the 2D camera on the left workpiece in the robot's base coordinate system and the symmetry plane, the corresponding position of the right workpiece 2D camera on cloud 1 is calculated. Finally, using the known coordinate transformation relationship between the 2D camera and the end-arm (i.e., the 2D camera's hand-eye matrix), the pose of the right workpiece end-arm in the robot's base coordinate system is derived, resulting in a preliminary estimate of the right workpiece position (i.e., virtual right workpiece position 1).
[0122] 2) Deskew: Assuming that the right workpiece can be symmetric with the left arm trajectory by symmetric to the left arm trajectory, the image and depth map of the right workpiece obtained by the camera should theoretically be bilaterally symmetrical with those of the left workpiece. Therefore, the image and depth map of the left workpiece are bilaterally symmetric to generate a virtual image and depth map of the right workpiece. Next, a new virtual right workpiece point cloud (denoted as cloud2) is constructed based on this set of image data. Subsequently, the point clouds cloud1 and cloud2 previously generated through planar symmetry are aligned to obtain a transformation matrix between the point clouds. Since the pose changes of the point clouds should be consistent with the pose changes of the end arm, this transformation matrix can be multiplied by the initially estimated right workpiece arm point 1 to obtain the corrected right workpiece arm point position.
[0123] Corresponding to the above Figure 1 , the present application provides a symmetrical calibration device for symmetrical workpiece points, such as Figure 3 As shown, the device includes:
[0124] A first processing module 302 is configured to obtain first point cloud data of a first workpiece in a robot base coordinate system, and perform symmetric transformation processing on the first point cloud data to generate virtual second point cloud data of a second workpiece, wherein the first workpiece and the second workpiece are symmetrical workpieces to be symmetrically calibrated;
[0125] The second processing module 304 is configured to convert the six-dimensional points of the robotic arm of the first workpiece into a first homogeneous transformation matrix, and obtain a second homogeneous transformation matrix of the end of the robotic arm of the second workpiece based on the first homogeneous transformation matrix, the hand-eye matrix of the two-dimensional camera on the robotic arm, and the symmetric relationship between the first and second workpieces; wherein the six-dimensional points of the robotic arm of the first workpiece include the coordinates corresponding to the point cloud data of the first workpiece;
[0126] A third processing module 306 is configured to determine an initial six-dimensional position of the second workpiece by the robotic arm based on the second homogeneous transformation matrix; wherein the initial six-dimensional position of the robotic arm includes coordinates corresponding to the point cloud data of the second workpiece;
[0127] A fourth processing module 308 is configured to symmetrically process the first point cloud data in combination with the camera's intrinsic parameters to convert it into virtual third point cloud data of the second workpiece, and adjust the second homogeneous transformation matrix based on the deviation between the second point cloud data and the third point cloud data to obtain a third homogeneous transformation matrix of the end arm of the second workpiece;
[0128] The fifth processing module 310 is used to obtain the real point cloud data of the second workpiece through a three-dimensional camera, and determine the real robotic arm 6-dimensional point position of the second workpiece based on the real point cloud data, the third point cloud data and the third homogeneous transformation matrix, wherein the real robotic arm 6-dimensional point position of the second workpiece includes the coordinates corresponding to the real point cloud data after the point cloud data corresponding to the initial point position is corrected.
[0129] In an optional implementation manner of an embodiment of the present application, the first processing module in the embodiment of the present application may further include: a first processing unit, used to collect point cloud data of the first workpiece through a three-dimensional camera, and convert the collected point cloud data into first point cloud data in the robotic arm base coordinate system in combination with the three-dimensional hand-eye matrix; a second processing unit, used to obtain the equation of the symmetry plane, and map the first point cloud data to the other side of the symmetry plane based on the equation to generate second point cloud data in the robotic arm base coordinate system.
[0130] In an optional implementation manner of the embodiment of the present application, the second processing module in the embodiment of the present application may further include: a third processing unit, used to obtain the first position of the origin of the camera coordinate system of the two-dimensional camera in the manipulator base coordinate system based on the first homogeneous transformation matrix and the hand-eye matrix of the two-dimensional camera on the manipulator; a fourth processing unit, used to multiply the first position with the unit vectors corresponding to the three axis directions in the camera coordinate system respectively to obtain the three positions of the three axis points in the three axis directions in the manipulator base coordinate system; a fifth processing unit, used to map the first position and the three positions to the other side of the symmetry plane based on the equation of the symmetry plane to determine the origin position of the second workpiece in the camera coordinate system of the two-dimensional camera and the corresponding positions of the three axis points in the three axis directions in the manipulator base coordinate system; a sixth processing unit, used to determine the origin position of the second workpiece in the camera coordinate system of the two-dimensional camera and the three axis points in the three axis directions based on the corresponding positions, and construct a fourth homogeneous transformation matrix of the second workpiece in the camera coordinate system; a seventh processing unit, used to multiply the fourth homogeneous transformation matrix with the inverse matrix of the hand-eye matrix to obtain a second homogeneous transformation matrix.
[0131] In an optional implementation manner of the embodiment of the present application, the fourth processing module in the embodiment of the present application may further include: an eighth processing unit, used to obtain the pixel coordinates of the first workpiece based on the first point cloud data and the internal parameters of the two-dimensional camera, and generate a first image and a first depth map of the first workpiece based on the pixel coordinates; a ninth processing unit, used to symmetrically process the first image and the first depth map to obtain a second image and a second depth map of the virtual second workpiece; a tenth processing unit, used to obtain the third point cloud data of the second workpiece based on the internal parameters of the two-dimensional camera and in combination with the second image and the second depth map; an eleventh processing unit, used to determine the corresponding first rigid body transformation matrix based on the deviation between the second point cloud data and the third point cloud data; a twelfth processing unit, used to multiply the second homogeneous transformation matrix by the first rigid body transformation matrix to obtain a third homogeneous transformation matrix.
[0132] In an optional implementation manner of the embodiment of the present application, the fifth processing module in the embodiment of the present application may further include: a thirteenth processing unit, used to photograph the second workpiece through a three-dimensional camera to obtain the real fourth point cloud data of the second workpiece; a fourteenth processing unit, used to convert the fourth point cloud data to the robotic arm base coordinate system to obtain the corresponding fifth point cloud data; a fifteenth processing unit, used to determine the corresponding second rigid body transformation matrix based on the fifth point cloud data and the third point cloud data; a sixteenth processing unit, used to multiply the third homogeneous transformation matrix with the second rigid body transformation matrix to obtain the real fifth homogeneous transformation matrix of the second workpiece robotic arm end; a seventeenth processing unit, used to convert the fifth homogeneous transformation matrix into the real robotic arm point position of the second workpiece.
[0133] In an optional implementation manner of the embodiment of the present application, the device in the embodiment of the present application may further include: a sixth processing module, used to determine the sixth point cloud data of the second workpiece in the two-dimensional camera coordinate system based on the real point cloud data, and determine the image point cloud of the second workpiece based on the sixth point cloud data; a seventh processing module, used to determine the seventh point cloud data of the second workpiece in the two-dimensional camera coordinate system based on the first point cloud data, and determine the image point cloud of the first workpiece based on the seventh point cloud data; an eighth processing module, used to determine the point cloud overlap between the image point cloud of the second workpiece and the image point cloud of the first workpiece; a ninth processing module, used to determine that the real robotic arm point position of the second workpiece meets the preset calibration standard of the symmetrical workpiece point position when the overlap exceeds a preset threshold.
[0134] like Figure 4 As shown, an embodiment of the present application provides a device including a processor 411, a communication interface 412, a memory 413 and a communication bus 414, wherein the processor 411, the communication interface 412, and the memory 413 communicate with each other through the communication bus 414.
[0135] Memory 413, for storing computer programs;
[0136] In one embodiment of the present application, the processor 411 is used to execute the program stored in the memory 413 to implement the control method for symmetrical calibration of symmetrical workpiece points provided by any of the aforementioned method embodiments. The role it plays is similar and will not be repeated here.
[0137] An embodiment of the present application further provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the steps of the symmetrical calibration method for symmetrical workpiece points provided in any of the aforementioned method embodiments are implemented.
[0138] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of this embodiment.
[0139] Through the description of the above embodiments, those skilled in the art will clearly understand that each embodiment can be implemented using software plus a general hardware platform, or of course, hardware. Based on this understanding, the essence of the above technical solution, or the portion that contributes to the relevant technology, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, or an optical disk, and includes a number of instructions for causing a computer device (such as a personal computer, server, or network device) to execute the methods described in each embodiment or certain portions of the embodiments.
[0140] It should be understood that the terms used herein are for the purpose of describing specific example embodiments only and are not intended to be limiting. Unless the context clearly indicates otherwise, the singular forms "one", "an" and "said" as used herein may also be meant to include plural forms. The terms "comprise", "include", "contain" and "have" are inclusive and therefore specify the presence of stated features, steps, operations, elements and / or parts, but do not exclude the presence or addition of one or more other features, steps, operations, elements, parts, and / or combinations thereof. The method steps, processes, and operations described herein are not to be construed as necessarily requiring them to be performed in the specific order described or illustrated, unless the order of execution is clearly indicated. It should also be understood that additional or alternative steps may be used.
[0141] The foregoing description is intended only to provide specific embodiments of the present invention, which will enable those skilled in the art to understand and implement the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention is not intended to be limited to the embodiments shown herein, but is intended to be accorded the widest scope consistent with the principles and novel features claimed herein.
Claims
1. A symmetrical calibration method for symmetrical workpiece points, characterized in that: include: Acquire first point cloud data of a first workpiece in a robot arm base coordinate system, and perform symmetric transformation processing on the first point cloud data to generate virtual second point cloud data of a second workpiece, wherein the first workpiece and the second workpiece are symmetrical workpieces to be symmetrically calibrated; The six-dimensional position of the first workpiece by the robotic arm is converted into a first homogeneous transformation matrix, and a second homogeneous transformation matrix of the end of the robotic arm of the second workpiece is obtained based on the first homogeneous transformation matrix, the hand-eye matrix of the two-dimensional camera on the robotic arm, and the symmetric relationship between the first workpiece and the second workpiece; wherein the six-dimensional position of the first workpiece by the robotic arm includes the coordinates corresponding to the first point cloud data of the first workpiece; Determining an initial six-dimensional position of the second workpiece by the robotic arm based on the second homogeneous transformation matrix; wherein the initial six-dimensional position of the robotic arm includes coordinates corresponding to the virtual second point cloud data of the second workpiece; symmetrically processing the first point cloud data in combination with an intrinsic parameter of the two-dimensional camera to convert it into virtual third point cloud data of the second workpiece, and adjusting the second homogeneous transformation matrix based on a deviation between the virtual second point cloud data and the virtual third point cloud data to obtain a third homogeneous transformation matrix of the end arm of the second workpiece; The real point cloud data of the second workpiece is obtained through a three-dimensional camera, and the real robotic arm 6-dimensional point position of the second workpiece is determined based on the real point cloud data, the virtual third point cloud data and the third homogeneous transformation matrix, wherein the real robotic arm 6-dimensional point position of the second workpiece includes the coordinates corresponding to the real point cloud data after the virtual second point cloud data corresponding to the initial robotic arm 6-dimensional point position is corrected.
2. The method according to claim 1, characterized in that Acquiring first point cloud data of the first workpiece in the robot arm base coordinate system, and performing symmetric transformation processing on the first point cloud data to generate virtual second point cloud data of the second workpiece includes: Collecting point cloud data of the first workpiece by a three-dimensional camera, and converting the collected point cloud data into the first point cloud data in the robot arm base coordinate system in combination with the hand-eye matrix; An equation of the symmetry plane is obtained, and based on the equation, the first point cloud data is mapped to the other side of the symmetry plane to generate the virtual second point cloud data in the robot arm base coordinate system.
3. The method according to claim 1, characterized in that Based on the first homogeneous transformation matrix, the hand-eye matrix of the two-dimensional camera on the robotic arm, and the symmetric relationship between the first workpiece and the second workpiece, a second homogeneous transformation matrix of the robotic arm end of the second workpiece is obtained, including: Obtaining a first position of an origin of a two-dimensional camera coordinate system of the two-dimensional camera in a base coordinate system of the robotic arm based on the first homogeneous transformation matrix and a hand-eye matrix of the two-dimensional camera on the robotic arm; Multiplying the first position by the unit vectors corresponding to the three axis directions in the two-dimensional camera coordinate system respectively to obtain three positions of the three axis points in the three axis directions in the manipulator base coordinate system; Mapping the first position and the three positions to the other side of the symmetry plane based on an equation of the symmetry plane to determine the origin position of the second workpiece in the two-dimensional camera coordinate system and the corresponding positions of the three axis points in the three axis directions in the robot arm base coordinate system; Determine the origin position and three axis point positions in three axis directions of the second workpiece in a two-dimensional camera coordinate system of the two-dimensional camera based on the corresponding positions, and construct a fourth homogeneous transformation matrix of the second workpiece in the two-dimensional camera coordinate system; The second homogeneous transformation matrix is obtained by multiplying the fourth homogeneous transformation matrix by the inverse matrix of the hand-eye matrix.
4. The method according to claim 1, wherein The first point cloud data is symmetrically processed and converted into virtual third point cloud data of the second workpiece in combination with the intrinsic parameters of the two-dimensional camera, and the second homogeneous transformation matrix is adjusted based on the deviation between the virtual second point cloud data and the virtual third point cloud data to obtain a third homogeneous transformation matrix of the robotic arm end of the second workpiece, including: Obtaining pixel coordinates of the first workpiece based on the first point cloud data and an intrinsic parameter of a two-dimensional camera, and generating a first image and a first depth map of the first workpiece based on the pixel coordinates; Performing symmetrical processing on the first image and the first depth map to obtain a virtual second image and a second depth map of the second workpiece; Obtaining virtual third point cloud data of the second workpiece based on an intrinsic parameter of the two-dimensional camera and in combination with the second image and the second depth map; determining a corresponding first rigid body transformation matrix based on a deviation between the virtual second point cloud data and the virtual third point cloud data; The second homogeneous transformation matrix is multiplied by the first rigid body transformation matrix to obtain the third homogeneous transformation matrix.
5. The method according to claim 4, characterized in that Acquiring real point cloud data of the second workpiece through a three-dimensional camera, and determining the real robotic arm 6-dimensional point position of the second workpiece based on the real point cloud data, the virtual third point cloud data, and the third homogeneous transformation matrix, including: photographing the second workpiece with a three-dimensional camera to obtain fourth point cloud data of the second workpiece; Converting the fourth point cloud data into the robot arm base coordinate system to obtain corresponding fifth point cloud data; Determine a corresponding second rigid body transformation matrix based on the fifth point cloud data and the virtual third point cloud data; Multiplying the third homogeneous transformation matrix by the second rigid body transformation matrix to obtain a true fifth homogeneous transformation matrix of the second workpiece robot arm end; The fifth homogeneous transformation matrix is converted into the real robot arm 6-dimensional point position of the second workpiece.
6. The method according to claim 1, characterized in that The method further comprises: Determining sixth point cloud data of the second workpiece in a two-dimensional camera coordinate system based on the real point cloud data, and determining an image point cloud of the second workpiece based on the sixth point cloud data; Determining seventh point cloud data of the second workpiece in a two-dimensional camera coordinate system based on the first point cloud data, and determining an image point cloud of the first workpiece based on the seventh point cloud data; determining a degree of point cloud overlap between the image point cloud of the second workpiece and the image point cloud of the first workpiece; When the overlap exceeds a preset threshold, it is determined that the real robot arm 6-dimensional point position of the second workpiece meets the calibration standard of the preset symmetrical workpiece point position.
7. A symmetrical calibration device for symmetrical workpiece points, characterized in that: include: a first processing module, configured to obtain first point cloud data of a first workpiece in a robot arm base coordinate system, and perform symmetric transformation processing on the first point cloud data to generate virtual second point cloud data of a second workpiece, wherein the first workpiece and the second workpiece are symmetrical workpieces to be symmetrically calibrated; a second processing module, configured to convert the six-dimensional point positions of the robotic arm of the first workpiece into a first homogeneous transformation matrix, and obtain a second homogeneous transformation matrix of the robotic arm end of the second workpiece based on the first homogeneous transformation matrix, a hand-eye matrix of the two-dimensional camera on the robotic arm, and a symmetric relationship between the first workpiece and the second workpiece; wherein the six-dimensional point positions of the robotic arm of the first workpiece include coordinates corresponding to the first point cloud data of the first workpiece; a third processing module, configured to determine an initial six-dimensional position of the second workpiece by the robotic arm based on the second homogeneous transformation matrix; wherein the initial six-dimensional position of the robotic arm includes coordinates corresponding to the virtual second point cloud data of the second workpiece; a fourth processing module, configured to symmetrically process the first point cloud data in combination with an intrinsic parameter of the two-dimensional camera to convert the first point cloud data into virtual third point cloud data of the second workpiece, and adjust the second homogeneous transformation matrix based on a deviation between the virtual second point cloud data and the virtual third point cloud data to obtain a third homogeneous transformation matrix of the end arm of the second workpiece; The fifth processing module is used to obtain the real point cloud data of the second workpiece through a three-dimensional camera, and determine the real robotic arm 6-dimensional point position of the second workpiece based on the real point cloud data, the virtual third point cloud data and the third homogeneous transformation matrix, wherein the real robotic arm 6-dimensional point position of the second workpiece includes the coordinates corresponding to the real point cloud data after the virtual second point cloud data corresponding to the initial robotic arm 6-dimensional point position is corrected.
8. The device according to claim 7, characterized in that The first processing module includes: a first processing unit, configured to collect point cloud data of a first workpiece through a three-dimensional camera, and convert the collected point cloud data into the first point cloud data in a robot arm base coordinate system in combination with the hand-eye matrix; The second processing unit is used to obtain an equation of the symmetry plane and map the first point cloud data to the other side of the symmetry plane based on the equation to generate the virtual second point cloud data in the robot arm base coordinate system.
9. A device, characterized in that: include: at least one communication interface; at least one bus connected to the at least one communication interface; at least one processor coupled to the at least one bus; At least one memory connected to the at least one bus, wherein the processor is configured to execute the symmetrical calibration method of symmetrical workpiece points according to any one of claims 1 to 6 of the present application.
10. A computer storage medium, characterized in that Computer executable instructions are stored, and the computer executable instructions are used to execute the symmetrical calibration method of symmetrical workpiece points described in any one of claims 1 to 6 of the present application.
Citation Information
Patent Citations
Method of grabbing shape symmetrical workpiece with high precision by using low precision depth camera
CN110014426A
Method for Simultaneous Robot Kinematic and Hand-Eye Calibration
US20240042598A1