A hand-eye calibration method for line-scan lasers used in large workpiece measurement

By scanning the calibration ball multiple times at multiple scanning angles, the hand-eye calibration values ​​at each angle are calculated, and the problem of large installation error between the laser sensor and the manipulator in the 4-degree of freedom robot system is solved, achieving high-precision hand-eye calibration and measurement accuracy improvement.

CN115077378BActive Publication Date: 2025-05-13SHANGHAI RO INTELLIGENT SYST
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210637094.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-07
Publication Date
2025-05-13
Estimated Expiration
2042-06-07

Smart Images

  • Figure CN115077378B_ABST
    Figure CN115077378B_ABST
Patent Text Reader

Abstract

A hand-eye calibration method for line-scanning lasers used for measuring large workpieces includes the following steps: Step 1, determine all C-axis angle values ​​that need to be calibrated; select n angles:; Step 2, scan the calibration ball 3 times at the angle, and the Y and Z coordinates are different each time; Step 3, calculate the hand-eye calibration value at the angle; Step 4, calculate the hand-eye calibration value at the angle in the same way. The present invention can eliminate the influence of installation errors and ensure the measurement accuracy after the final alignment. The present invention adopts a scheme of hand-eye calibration at different angles. The calibration ball is scanned 3 times at each angle, and the position deviation of the laser coordinate system relative to the coordinate system of the end of the truss robot arm at the angle is calculated, that is, the hand-eye calibration value of the laser. In the subsequent coordinate alignment calculation, the point cloud data at different angles uses different hand-eye calibration values ​​for alignment transformation, which reduces the requirements for mechanical accuracy and greatly saves equipment costs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the field of physics, and in particular to a robot coordinate calibration technology, in particular to a hand-eye calibration method of a line-scanning laser applied to large workpiece measurement. Background Art

[0002] The automated measurement of large blanks and the evaluation of machining allowances are one of the key and difficult technologies for the automation transformation of large machinery plants, and the measuring equipment is one of the key equipment. The more commonly used measurement method is to scan the workpiece by clamping a line scanning laser sensor at the end of a three-axis truss robot arm 1 or a three-coordinate measuring machine to obtain the shape data for post-processing. Due to the large size of the workpiece, multiple scanning angles are sometimes required to cover the required acquisition surface, so it is necessary to add a rotating axis at the end of the manipulator (or three-coordinate measuring machine) to adjust the scanning angle, that is, a 4-degree-of-freedom manipulator system is used. Multiple scanning angles bring about the problem of laser coordinate registration, and large workpieces often require line scanning laser sensors with a large range and depth of field, which means that the measuring arm is relatively long, and the slight parallelism error of the scanning rotation axis will bring about a large measurement error. Therefore, the measurement accuracy can no longer be guaranteed by installation accuracy, and the posture deviation between the laser sensor and the wrist can only be determined by the hand-eye calibration method. However, compared with the 5-DOF and 6-DOF robotic arm systems, the 4-DOF system is a degenerate system without a definite wrist TCP (tool control point), so the hand-eye calibration value between the laser sensor coordinate system and the TCP coordinate system cannot be obtained by conventional methods.

[0003] There is no mature automated calibration solution for the above application scenarios. Traditional line laser calibration methods generally ensure accurate posture through high-precision machining, assembly, or installation adjustment:

[0004] A. Rely on high-precision machining and assembly to ensure laser installation accuracy.

[0005] B. Ensure laser accuracy by installation adjustment: The base is designed to be fine-tuned, and a fixed scanning angle is used on site. By fine-tuning the installation posture of the laser, the laser surface is made perpendicular to the scanning direction.

[0006] C. After installation and adjustment, determine the offset by scanning the calibration block.

[0007] 1. Disadvantages of traditional solutions:

[0008] For large depth of field, wide range line lasers:

[0009] 1) The installation accuracy requirement is high, and the line scanning laser mounting base needs to be fine-tuned. The adjustment result is difficult to detect and measure.

[0010] 2) In the case of a rotating shaft, the parallelism between the rotating shaft axis and the scanning direction has a greater impact on the accuracy. Since the parallelism is difficult to adjust and detect, the accuracy is difficult to guarantee;

[0011] 3) Manual adjustment is inefficient and difficult.

[0012] 4) High mechanical precision requirements and high cost.

[0013] For other 3D cameras:

[0014] 5) More than 5 degrees of freedom are required to use the traditional hand-eye calibration method. Summary of the invention

[0015] The purpose of the present invention is to provide a hand-eye calibration method for line scanning laser used for measuring large workpieces. The hand-eye calibration method for line scanning laser used for measuring large workpieces is to solve the technical problem in the prior art that the installation error between the robot's laser sensor and wrist is large and it is difficult to ensure the installation accuracy.

[0016] A hand-eye calibration method for line-scanning laser applied to large workpiece measurement of the present invention comprises the following steps:

[0017] Step 1: Determine all C-axis angle values ​​that need to be calibrated; select n angles: C1~C n ;

[0018] Step 2: Use the line scan laser sensor to scan the calibration ball three times at an angle C1, and change the Y and Z coordinates of the calibration ball before each scan;

[0019] Step 3, calculate the hand-eye calibration value at angle C1;

[0020] Step 4: Calculate the angles C2 to C in the same way n The calculation method of the hand-eye calibration value is the same as step 2 and step 3.

[0021] Furthermore, step 2 includes:

[0022] Step 2.1, operate the scanning angle adjustment motor to make the C-axis angle value equal to C1;

[0023] Step 2.2, operate the Y and Z axes to make the projection of the calibration ball on the YZ plane fall within the effective scanning surface of the line scan laser sensor and in the upper middle position of the effective scanning trapezoidal area; then maintain the positions of the Y, Z, and C axes, operate the X axis, and use the line scan laser sensor to scan the calibration ball to obtain point cloud data;

[0024] The calibration sphere point cloud is separated through data segmentation, and the coordinates of the sphere center are obtained through sphere fitting; finally, the coordinate values ​​when the scanning surface just passes through the sphere center are obtained:

[0025] The coordinates of the sphere center in the line scanning laser sensor coordinate system {S}: d sA =[x sA ,0,z sA ] T ;

[0026] s—subscript, indicating the sensor coordinate system, the corresponding physical quantity is based on the sensor coordinate system;

[0027] A—subscript, indicating the first scan, the corresponding physical quantity is obtained from the first scan;

[0028] d sA Indicates the coordinates of the sphere center in the line scan laser sensor coordinate system {S} during the first scan.

[0029] x sA Indicates d sA The x component of

[0030] z sA Indicates d sA The z component of

[0031] Coordinates of the three-axis truss robot arm or the wrist of the coordinate measuring machine: d bA =[x bA ,y bA ,z bA ] T ;

[0032] b—subscript, indicating the base coordinate system of the coordinate measuring machine or the robot arm, and the corresponding physical quantity is based on this base coordinate system;

[0033] Step 2.3, operate the Y and Z axes to make the projection of the calibration ball on the YZ plane fall within the effective scanning surface of the line scan laser sensor and in the lower left position of the effective scanning trapezoidal area; then maintain the positions of the Y, Z, and C axes, operate the X axis, and use the line scan laser sensor to scan the calibration ball to obtain point cloud data;

[0034] Similarly, the coordinate values ​​can be obtained:

[0035] The coordinates of the sphere center in the line scanning laser sensor coordinate system {S}: d sB =[x sB , 0, z sB ] T ;

[0036] B-subscript, indicates the second scan, and the corresponding physical quantity is obtained from the second scan;

[0037] Coordinates of the three-axis truss robot arm 1 or the wrist of the coordinate measuring machine: d bB =[x bB ,ybB , z bB ] T ;

[0038] Step 2.4, operate the Y and Z axes to make the projection of the calibration ball on the YZ plane fall within the effective scanning surface of the line scan laser sensor and in the lower right position of the effective scanning trapezoidal area; then maintain the positions of the Y, Z, and C axes, operate the X axis and use the line scan laser sensor to scan the calibration ball to obtain point cloud data;

[0039] Similarly, the coordinate values ​​can be obtained:

[0040] The coordinates of the sphere center in the line scanning laser sensor coordinate system {S}: d sC =[x sC , 0, z sC ] T ;

[0041] Coordinates of the three-axis truss robot arm or the wrist of the coordinate measuring machine: d bC =[x bC ,y bC , z bC ] T .

[0042] The C-subscript indicates the third scan, and the corresponding physical quantity is further obtained from the third scan. Step 3 includes:

[0043] The position of the calibration ball is used as the zero point of the entire measurement space, and the hand-eye calibration value of the line scan laser sensor at angle C1 is calculated. The process is as follows:

[0044] Step 3.1, make a transformation vector diagram:

[0045] {B}——measurement space base coordinate system of the three-axis truss robot arm 1 or the three-coordinate measuring instrument 1;

[0046] {WA}, {WB}, {WC}——are the end coordinate systems of the three-axis truss robot arm 1 or the three-coordinate measuring machine 1 corresponding to the positions described in step 2.2, step 2.3, and step 2.4;

[0047] {SA}, {SB}, {SC}——are the coordinate systems of the line scan laser sensor corresponding to the positions described in steps 2.2, 2.3 and 2.4;

[0048] is the position of {WA} under {B} expressed by rigid body translation transformation,

[0049] E is the identity matrix, d bA =[x bA , Y bA , z bA ]T ;

[0050] is the position of {WB} under {B} expressed by the rigid body translation transformation, E is the identity matrix, d bB =[x bB ,y bB , z bB ] T ;

[0051] is the position of {WC} under {B} expressed by rigid body translation transformation,

[0052] E is the identity matrix, d bC =[x bC ,y bC , z bC ] T ;

[0053] d sA =[x sA , 0, z sA ] T , is the coordinate of the calibration ball under {SA};

[0054] d sB =[x sB , 0, z sB ] T , is the coordinate of the calibration ball under {SB};

[0055] d sC =[x sC , 0, z sC ] T , is the coordinate of the calibration ball under {SC};

[0056] d b =[0,0,0] T , is the coordinate of the calibration ball in the measurement space {B};

[0057] is the hand-eye calibration value to be solved expressed by rigid body transformation, which is also the 6DoF pose of {SA} under {WA} (or {SB} under {WB}, {SC} under {WC}); Q wS is an orthogonal matrix, representing the rotation amount; d wS For R 3 Vector, representing the amount of translation;

[0058] Step 3.2, intuitively obtain the equations according to the transformation vector diagram:

[0059]

[0060] The simplified equation is as follows:

[0061]

[0062] have:

[0063]

[0064] have:

[0065]

[0066] Subtract (2) from (1) and (3) from (1) to obtain:

[0067]

[0068] For convenience of representation, let:

[0069] g1=d sA -d sB

[0070] g2=d sA -d sC

[0071] h1=d bB -d bA

[0072] h2=d bC -d bA

[0073] So we have:

[0074]

[0075] Solving the orthogonal matrix Q by constructing a unit orthogonal basis wS :

[0076] make:

[0077]

[0078]

[0079] make:

[0080]

[0081]

[0082] Order: Q a =[t 1x ,t 1y ,t 1z ], Q b =[t2x ,t 2y ,t 2z ]

[0083] Then we have: Q sw Q a =Q b

[0084] The solution is:

[0085] Substituting into (1), we get

[0086] d wS =-d bA -Q wS d sA

[0087] Get the hand-eye calibration under C1

[0088] Furthermore, the correction method used for shear deformation is also included:

[0089] Step 1: The point cloud is formed by stacking continuous cross-sectional profile data. Each cross-sectional profile is processed separately, and each cross-sectional profile is a circular arc without distortion.

[0090] Step 2: Using the line scan laser sensor coordinate system of the first profile as the reference coordinate system {O}, the cross-sectional profiles are stacked in the y direction with the x-coordinate value of the robot arm (or coordinate measuring machine) 1 corresponding to each cross-sectional profile;

[0091] Step 3: Find the center of each cross-sectional contour by fitting a circle, and fit all the found center points into a straight line segment AB in {O};

[0092] Step 4: Translate the straight line segment AB so that A and O coincide, draw BD perpendicular to the y-axis and intersecting the y-axis at point D; draw a circle D in plane ABD with D as the center and |BD| as the radius, draw a straight line AE tangent to circle D at E, and point E and point B are on the same side of straight line AD; draw a line segment DF through point D perpendicular to plane ABD, and The direction is Take points Y0, Z0, and X0 on the extended lines AD, DE, and DF, respectively, and the distance D is unit length; take the frame {D, X0, Y0, Z0}, abbreviated as {D};

[0093] Step 5: It is easy to know that the original spherical point cloud data is actually the data under {D}, which differs at most by a fixed translation value and a fixed rotation angle in the ZX plane;

[0094] Step 6: Calculate the affine transformation P from the frame {D} to the frame {O}; convert the original spherical point cloud data into {O}: S o=PS D ;

[0095] S D Represents the original spherical point cloud data in the frame {D} coordinate system, which is a 3*m matrix, where m represents the total number of points in the point cloud;

[0096] S o Indicates S D The point cloud data obtained after the P transformation in the frame {O} coordinate system is a 3*m matrix, where m represents the total number of points in the point cloud;

[0097] The affine transformation P is a linear transformation from an R3 vector space to itself, which is a 3*3 matrix. The corresponding transformation of two linearly independent groups of 4 points in the space can determine an affine transformation.

[0098] Step 7: Fit S in {O} o The center of the sphere is obtained by o′ ;

[0099] Step 8: Set the coordinates of the center of the sphere d o′ Transform back to {D}: d o =P -1 d o′ =[x0,y0,z0] T ;

[0100] [x0,0,z0] T is the center position of the circle in the laser sensor coordinate system;

[0101] y0 is the scanning distance from the starting scanning point to the center of the circle.

[0102] Compared with the prior art, the present invention has a positive and obvious effect. The present invention proposes a hand-eye calibration method for a 4-DOF robotic arm line scanning system. The method has low requirements for laser installation accuracy, allows a vertical deviation of 1 to 2 degrees between the laser surface and the scanning direction, and allows a parallel deviation of 1 to 2 degrees between the angle adjustment axis and the scanning direction. Generally, no installation adjustment is required; it has a high final measurement accuracy; the calibration process is completed by software control and is easy to operate; high-precision measurement is achieved through software, reducing the requirements for mechanical accuracy and greatly saving equipment costs. BRIEF DESCRIPTION OF THE DRAWINGS

[0103] Figure 1 It is a front view schematic diagram of the system structure applied to the hand-eye calibration method of line scanning laser applied to large workpiece measurement of the present invention.

[0104] Figure 2 It is a left view schematic diagram of the system structure of the hand-eye calibration method of the line scanning laser applied to the measurement of large workpieces of the present invention.

[0105] Figure 3 The present invention is a schematic diagram of the system principle of a hand-eye calibration method for line scanning laser applied to large workpiece measurement.

[0106] Figure 4 It is a first schematic diagram of the calibration sphere and the line scan laser sensor coordinate system.

[0107] Figure 5 The second schematic diagram is a calibration sphere and a line scan laser sensor coordinate system.

[0108] Figure 6 The third schematic diagram of the calibration sphere and line scan laser sensor coordinate system.

[0109] Figure 7 Transform vector graph.

[0110] Figure 8 Schematic diagram of step 4 of the spherical center correction method. DETAILED DESCRIPTION

[0111] The present invention is further described below in conjunction with the accompanying drawings and embodiments, but the present invention is not limited to the embodiments, and all similar structures and similar variations of the present invention should be included in the protection scope of the present invention. The use of directions such as up, down, front, back, left, and right in the present invention is only for the convenience of description and is not a limitation on the technical solution of the present invention.

[0112] The present invention provides a method for hand-eye calibration of line-scan laser for large workpiece measurement, and the system structure of the application is as follows: Figure 1 and Figure 2As shown, it includes a three-axis truss robot arm 1 or a three-coordinate measuring instrument, a scanning angle adjustment motor 2, a divider 3, a line scanning laser sensor mounting bracket 4, a line scanning laser sensor 5, a calibration base 6, a calibration bracket 7, a calibration ball 8, and an x-axis magnetic grating reader 10; the divider 3 is mounted on the end of the three-axis truss robot arm 1 or the three-coordinate measuring instrument; the scanning angle adjustment motor 2 is mounted on the input side flange of the divider 3; the line scanning laser sensor mounting bracket 4 is mounted on the output flange of the divider 3, and the line scanning laser sensor 5 is mounted on the line scanning laser sensor mounting bracket 4; the calibration base 6 is fixed on the foundation; the calibration bracket 7 is fixed on the calibration base 6; the calibration ball 8 is fixed on the end of the calibration bracket 7; the x-axis magnetic grating reader 10 is mounted on the mobile base of the three-axis truss robot arm 1 or the three-coordinate measuring instrument, and shares the x-axis magnetic grating of the three-axis truss robot arm 1 or the three-coordinate measuring instrument. By running the y, z, and c axes of the three-axis truss robot 1 or the three-coordinate measuring machine, the calibration ball 8 can be made to fall within the effective scanning surface 9 of the line scanning laser sensor 5, and then the y, z, and c axes of the three-axis truss robot 1 or the three-coordinate measuring machine are kept stationary, and the x-axis of the three-axis truss robot 1 or the three-coordinate measuring machine is run. The pulse generated by the magnetic grating reader 10 of the x-axis is used to trigger the line scanning laser sensor 5. At the moment of triggering, the line scanning laser sensor 5 records the contour of the object in the effective scanning surface 9. As the x-axis runs, when the effective scanning surface 9 scans the entire calibration ball 8, the line scanning laser sensor 5 records a set of cross-sectional contour data of the calibration ball 8. The depth point cloud data composed of these contour data is used for subsequent hand-eye calibration calculations.

[0113] A method for hand-eye calibration of line-scan laser for large workpiece measurement, the system principle of which is as follows Figure 3 As shown, it is composed of a three-axis truss robot arm 1 or a three-coordinate measuring machine, a line scanning laser sensor 5, a magnetic grating reader 10 of the x-axis, a laser vision host computer 11, a controller 12, and a PLC system 13. The three-axis truss robot arm 1 or the three-coordinate measuring machine is connected to the controller 12 through a control cable, the magnetic grating reader 10 of the x-axis is connected to the line scanning laser sensor 5 through a signal cable, the line scanning laser sensor 5 is connected to the laser vision host computer 11 through a communication cable, and the laser vision host computer 11 and the controller 12 are respectively connected to the PLC system 13 through a communication cable.

[0114] (I) The specific method and principle of hand-eye calibration are as follows:

[0115] Step 1: Determine all C-axis angle values ​​that need to be calibrated.

[0116] Select each scanning angle value according to the specific measurement requirements; assuming that n angles are selected: C1~C n .

[0117] Step 2: Scan the calibration ball three times at angle C1, with different Y and Z coordinates each time.

[0118] 1) Run the scanning angle adjustment motor 2 to make the C-axis angle value equal to C1.

[0119] 2) If Figure 4 The line scan laser sensor coordinate system 15 shown in the figure operates the Y-axis and the Z-axis so that the projection of the calibration sphere 8 on the YZ plane falls within the effective scanning surface 16 of the line scan laser sensor 5 and in the upper-middle position of the effective scanning trapezoidal area; then, the Y, Z, and C axes are kept unchanged, the X-axis is operated, and the calibration sphere 8 is scanned by the line scan laser sensor 5 to obtain point cloud data.

[0120] The 8-point cloud of the calibration sphere is separated by data segmentation, and the coordinates of the center of the sphere are obtained by sphere fitting; finally, the coordinate values ​​of the moment when the scanning surface just passes through the center of the sphere can be obtained:

[0121] The coordinates of the center of the sphere in the line scanning laser sensor 5 coordinate system {S}: d sA =[x sA ,0,z sA ] T .

[0122] s—subscript, indicating the sensor coordinate system, the corresponding physical quantity is based on the sensor coordinate system.

[0123] A—subscript, represents the first scan, and the corresponding physical quantity is obtained by the first scan.

[0124] d sA Indicates the coordinates of the sphere center in the line scan laser sensor coordinate system {S} during the first scan.

[0125] x sA Indicates d sA The x-component of .

[0126] z sA Indicates d sA The z component of .

[0127] Coordinates of the three-axis truss robot arm 1 or the wrist of the coordinate measuring machine: d bA =[x bA ,y bA ,z bA ] T .

[0128] b—subscript, indicating the base coordinate system of the coordinate measuring machine or robotic arm, and the corresponding physical quantity is based on this base coordinate system.

[0129] 3) If Figure 5The line scan laser sensor coordinate system 15 shown in the figure runs the Y-axis and the Z-axis so that the projection of the calibration sphere 8 on the YZ plane falls within the effective scanning surface 16 of the line scan laser sensor 5 and at the lower left position of the effective scanning trapezoidal area; then, the Y, Z, and C axes are kept unchanged, the X-axis is run, and the calibration sphere 8 is scanned by the line scan laser sensor 5 to obtain point cloud data.

[0130] Similarly, the coordinate values ​​can be obtained:

[0131] The coordinates of the sphere center in the line scanning laser sensor coordinate system {S}: d sB =[x sB ,0,z sB ] T ;

[0132] B—subscript, indicating the second scan, the corresponding physical quantity is obtained from the second scan;

[0133] Coordinates of the three-axis truss robot arm 1 or the wrist of the coordinate measuring machine: d bB =[x bB ,y bB ,z bB ] T .

[0134] 4) If Figure 6 The line scan laser sensor coordinate system 15 shown in the figure moves the Y-axis and the Z-axis so that the projection of the calibration sphere 8 on the YZ plane falls within the effective scanning surface 16 of the line scan laser sensor 5 and at the lower right position of the effective scanning trapezoidal area; then, the Y, Z, and C axes are kept unchanged, the X-axis is moved, and the calibration sphere 8 is scanned by the line scan laser sensor 5 to obtain point cloud data.

[0135] Similarly, the coordinate values ​​can be obtained:

[0136] The coordinates of the sphere center in the line scanning laser sensor coordinate system {S}: d sC =[x sC ,0,z sC ] T .

[0137] Coordinates of the three-axis truss robot arm 1 or the wrist of the coordinate measuring machine: d bC =[x bC ,y bC ,z bC ] T .

[0138] C—subscript, indicating the third scan, the corresponding physical quantity is obtained from the third scan

[0139] Step 3: Calculate the hand-eye calibration value at angle C1.

[0140] The position of the calibration ball 8 is used as the zero point of the entire measurement space, and the hand-eye calibration value of the line scan laser sensor 5 at the angle C1 can be calculated. The process is as follows:

[0141] 1) Make a transformation vector diagram of the above process, such as Figure 7 As shown:

[0142] in:

[0143] {B}——Measurement space base coordinate system of the three-axis truss robot arm 1 or the three-coordinate measuring instrument 1.

[0144] {WA}, {WB}, {WC} - are the end coordinate systems of the three-axis truss robot arm 1 or the three-coordinate measuring machine 1 corresponding to the positions described in 2.2), 2.3) and 2.4).

[0145] {SA}, {SB}, {SC} - are the coordinate systems of the line scan laser sensor 5 corresponding to the positions described in 2.2), 2.3) and 2.4).

[0146] is the position of {WA} under {B} expressed by rigid translation transformation, E is the identity matrix, d bA =[x bA ,y bA , z bA ] T .

[0147] is the position of {WB} under {B} expressed by the rigid body translation transformation, E is the identity matrix, d bB =[x bB ,y bB , z bB ] T .

[0148] is the position of {WC} under {B} expressed by rigid body translation transformation, E is the identity matrix, d bC =[x bC , Y bC , z bC ] T .

[0149] d sA =[x sA , 0, z sA ] T , are the coordinates of the calibration ball 8 under {SA}.

[0150] d sB =[x sB , 0, z sB ] T, are the coordinates of the calibration ball 8 under {SB}.

[0151] d sC =[x sC , 0, z sC ] T , are the coordinates of the calibration ball 8 under {SC}.

[0152] d b =[0,0,0] T , are the coordinates of the calibration ball 8 in the measurement space {B}.

[0153] Q is the hand-eye calibration value to be solved expressed by rigid body transformation, which is also the 6DoF pose of {SA} under {WA} (or {SB} under {WB}, {SC} under {WC}). wS is an orthogonal matrix, representing the rotation amount; d wS For R 3 Vector representing the amount of translation.

[0154] 2) According to Figure 7 The system of equations can be obtained intuitively:

[0155]

[0156] The simplified equation is as follows:

[0157]

[0158] have:

[0159]

[0160] have:

[0161]

[0162] Subtract (2) from (1) and (3) from (1) to obtain:

[0163]

[0164] For convenience of representation, let:

[0165] g1=d sA -d sB

[0166] g2=d sA -d sC

[0167] h1=d bB -d bA

[0168] h2=d bC -dbA

[0169] So we have:

[0170]

[0171] The orthogonal matrix Q can be solved by constructing a unit orthogonal basis. wS :

[0172] make:

[0173]

[0174]

[0175] make:

[0176]

[0177]

[0178] Order: Q a =[t 1x ,t 1y ,t 1B ], Q b =[t 2x ,t 2y ,t 2z ]

[0179] Then we have: Q sw Q a =Q b

[0180] The solution is:

[0181] Substituting into (1), we get

[0182] d wS =-d bA -Q wS d sA

[0183] Get the hand-eye calibration under C1

[0184] Step 4: Calculate the angles C2 to C in the same way n The calculation method of the hand-eye calibration value is the same as step 2 and step 3.

[0185] Assume that the final C1~C n The hand-eye calibration values ​​corresponding to the angles are P wS1 ~P wSn .

[0186] (II) Supplementary explanation on the calibration ball 8 in the above hand-eye calibration method:

[0187] 1. Point cloud spherical surface recognition, data segmentation, and sphere center fitting are all common methods in the prior art and will not be described in detail.

[0188] 2. In this application, since a larger installation error is allowed, the point cloud obtained by scanning the calibration sphere has a certain shear distortion. The distortion will not affect the spherical surface recognition and data segmentation, but it will affect the accuracy of the sphere center fitting. The following method can be used to obtain the accurate sphere center.

[0189] 1) The point cloud is composed of continuous cross-sectional profile data stacked together. Each cross-sectional profile can be processed individually, and each cross-sectional profile is a circular arc without distortion.

[0190] 2) The line scan laser sensor coordinate system of the first profile is used as the reference coordinate system {O}, and the cross-sectional profiles are stacked in the y direction using the x-coordinate value of the robot arm (or coordinate measuring machine) 1 corresponding to each cross-sectional profile.

[0191] 3) Find the center of each cross-sectional contour by fitting a circle, and fit all the found center points into a straight line segment AB in {O}.

[0192] 4) Translate the straight line segment AB so that A and O coincide, and draw BD perpendicular to the y axis and intersecting the y axis at point D. D is the center of the circle and |BD| is the radius. Draw a circle D in the plane ABD. Draw a straight line AE tangent to the circle D at E. Point E and point B are on the same side of the straight line AD. Draw a line segment DF perpendicular to the plane ABD through point D, and The direction is Take points Y0, Z0, and X0 on the extended lines AD, DE, and DF, respectively, and the distance D is unit length. Take the frame {D, X0, Y0, Z0}, abbreviated as {D}. Figure 8 shown.

[0193] 5) It is easy to know that the original spherical point cloud data is actually the data under {D}, which differs at most by a fixed translation value and a fixed rotation angle in the ZX plane.

[0194] 6) Calculate the affine transformation P from the frame {D} to the frame {O}. Convert the original spherical point cloud data to {O}: S o =PS D .

[0195] S D Represents the original spherical point cloud data in the frame {D} coordinate system, which is a 3*m matrix, where m is the total number of points in the point cloud.

[0196] S o Indicates S DThe point cloud data obtained after the P transformation in the frame {O} coordinate system is a 3*m matrix, where m is the total number of points in the point cloud.

[0197] The affine transformation P is a linear transformation from an R3 vector space to itself, which is a 3*3 matrix; the corresponding transformations of two linearly independent groups of 4 points in the space can determine an affine transformation.

[0198] 7) Fit S in {O} o The center of the sphere is obtained by o′ .

[0199] 8) Set the coordinates of the center of the sphere d o′ Transform back to {D}: d o =P -1 d o′ =[x0,y0,z0] T .

[0200] [x0,0,z0] T is the center position of the circle in the laser sensor coordinate system.

[0201] y0 is the scanning distance from the start scanning point to the center of the circle (the distance traveled by the x-axis of the robot arm or the 3D coordinate measuring machine).

[0202] (III) Use of hand-eye calibration values

[0203] For C i The point cloud obtained by angle scanning, assuming that one point D jk The collected information is:

[0204] 1) The end coordinate d of the three-axis truss robot arm 1 or the three-coordinate measuring machine 1 bij =[x bj ,y bi ,z bi ] T .

[0205] 2) The acquisition coordinates d of the line scanning laser sensor 5 sk =[x sk ,0,z sk ] T .

[0206] i—C angle group number; j—scan profile number within a certain angle group; k—point number within a certain scan profile.

[0207] Then you can use C i The hand-eye calibration value P corresponding to the angle wSi Calculate D jk The coordinate value d in the measurement space base coordinates ijk :

[0208]

[0209] D jk :C i The kth point on the jth contour in the point cloud.

[0210] d ijk :D jk The coordinate vector of the point in the measurement base coordinate system.

[0211] d bij :D jk The coordinate vector of the end of the robotic arm corresponding to the point in the measurement base coordinate system.

[0212] d sk :D jk The coordinate vector of the point in the laser sensor coordinate system.

[0213] The working principle of the present invention is: by selecting a finite set of scanning angles, the 4-DOF hand-eye calibration problem is reduced to a finite number of 3-DOF hand-eye calibration problems; a homogeneous rigid body transformation equation group is established by obtaining the spherical center coordinates of the calibration sphere (target sphere) by three scans, and the orthogonal transformation is solved by constructing a unit orthogonal basis, and finally the hand-eye calibration values ​​corresponding to each angle are solved.

[0214] The present invention ensures the accuracy of the 4-DOF line-scanning laser measurement system through method innovation, and the method greatly reduces the installation requirements for the line-scanning laser sensor 5. Automatic calibration can also be easily achieved through automated programming of the robotic arm, which has great engineering application value. Specific embodiment:

[0216] In this embodiment, the measuring range of the three-coordinate measuring machine 1 is 12000*2000*2000; the scanning angle adjustment motor 2 is a servo motor, the indexing angle of the indexer 3 is 7.5 degrees, and the accuracy is <0.001 degrees; the measurement depth of field of the line scanning laser sensor 5 is 300~700mm, and the range is 171~400mm; the resolution of the magnetic grating reader 10 of the x-axis is 5u; the calibration ball 8 is a 20mm ceramic matte standard ball with a sphericity of 3u; the laser vision host computer 11 has an Intel i7 core and 8G memory; the PLC system 13 is a Siemens CPU 1200 series.

[0217] In this embodiment, five measurement angles are selected, specifically -22.5°, -15°, 22.5°, 67.5°, and 70°.

[0218] Furthermore, for the hand-eye calibration at -22.5°, the PLC system 13 sends the scanning coordinate data of the hand-eye calibration at -22.5° to the three-coordinate measuring machine controller 12 and the laser vision host computer 11. The PLC system 13 controls the three-coordinate measuring machine controller 12, first rotates the C axis of the three-coordinate measuring machine 1 to -22.5°, then runs the x, y, z coordinates to the first starting scanning position, and then runs the x axis to scan the calibration ball 8. The x-axis magnetic grating reader 10 sends pulses to control the line scanning laser sensor 5 to collect the contour, and the collected data is sent to the laser vision host computer 11 for ball recognition and ball center calculation. The same process is used to scan and calculate the second and third scanning positions of the -22.5° hand-eye calibration. Finally, the laser vision host computer 11 calculates the -22.5° hand-eye calibration value, and the same process is used to perform hand-eye calibration on the remaining angles of -15°, 22.5°, 67.5°, and 70°.

[0219] The characteristics and protection points of the present invention are:

[0220] (1) The present invention reduces the dimension of the hand-eye calibration of 4-DOF line-scan laser measurement to a finite number of 3-DOF line-scan measurement calibration methods.

[0221] (2) The single fixed-angle line-scan laser hand-eye calibration method of the present invention.

[0222] (3) The present invention uses a correction method for shear deformation in solving the sphere center.

[0223] Compared with the traditional scheme, the hand-eye calibration method of the line scanning laser applied to the measurement of large workpieces of the present invention has the following advantages:

[0224] For large depth of field, wide range line lasers:

[0225] 1) Low installation requirements, basically no installation adjustment is required.

[0226] 2) Can ensure higher measurement accuracy.

[0227] 3) Calibration is convenient and can be automatically calibrated through software control.

[0228] 4) Applicable to 4-DOF systems.

[0229] 5) Low requirements for mechanical precision, greatly reducing equipment costs.

[0230] The present invention proposes a hand-eye calibration method, which can eliminate the influence of installation errors and ensure the measurement accuracy after the final alignment. The present invention adopts a scheme of hand-eye calibration at different angles. First, for the specific application scenario, the fixed scanning angle value to be used is predetermined, and the scanning angle switching is realized by driving the dividing head with a servo motor. The calibration ball is scanned 3 times at each angle, and the posture deviation of the laser coordinate system relative to the end coordinate system of the truss robot arm (or three-coordinate measuring machine) at this angle is calculated, that is, the hand-eye calibration value of the laser. In the subsequent coordinate alignment calculation, the point cloud data at different angles use different hand-eye calibration values ​​for alignment transformation.

[0231] The present invention proposes a hand-eye calibration method for a 4-DOF robotic arm line scanning system. The method has low requirements on the installation accuracy of the laser, allows a vertical deviation of 1 to 2 degrees between the laser surface and the scanning direction, and allows a parallel deviation of 1 to 2 degrees between the angle adjustment axis and the scanning direction. Generally, no installation adjustment is required; the method has high final measurement accuracy; the operation is simple; high-precision measurement can be achieved, the requirements for mechanical accuracy can be reduced, and the equipment cost can be greatly saved.

Claims

1. A hand-eye calibration method for line scanning laser applied to large workpiece measurement, characterized in that: The following steps are involved: Step 1: Determine all C-axis angle values ​​that need to be calibrated; select n angles: C1~C n ; Step 2: Use the line scan laser sensor to scan the calibration ball three times at an angle C1, and change the Y and Z coordinates of the calibration ball before each scan; Step 3, calculate the hand-eye calibration value at angle C1; Step 4: Calculate the angles C2 to C in the same way n The hand-eye calibration value is calculated in the same way as steps 2 and 3. Step 2 includes: Step 2.1, operate the scanning angle adjustment motor to make the C-axis angle value equal to C1; Step 2.2, operate the Y and Z axes to make the projection of the calibration ball on the YZ plane fall within the effective scanning surface of the line scan laser sensor and in the upper middle position of the effective scanning trapezoidal area; then maintain the positions of the Y, Z, and C axes, operate the X axis, and use the line scan laser sensor to scan the calibration ball to obtain point cloud data; The calibration sphere point cloud is separated through data segmentation, and the coordinates of the sphere center are obtained through sphere fitting; finally, the coordinate values ​​when the scanning surface just passes through the sphere center are obtained: The coordinates of the sphere center in the line scanning laser sensor coordinate system {S}: d sA =[x sA ,0,z sA ] T ; s—subscript, indicating the sensor coordinate system, the corresponding physical quantity is based on the sensor coordinate system; A—subscript, indicating the first scan, the corresponding physical quantity is obtained from the first scan; d sA It represents the coordinates of the sphere center in the line scanning laser sensor coordinate system {S} during the first scan; x sA Indicates d sA The x component of z sA Indicates d sA The z component of Coordinates of the three-axis truss robot arm or the wrist of the coordinate measuring machine: d bA =[x bA ,y bA ,z bA ] T ; b—subscript, indicating the base coordinate system of the coordinate measuring machine or the robot arm, and the corresponding physical quantity is based on this base coordinate system; Step 2.3, operate the Y and Z axes to make the projection of the calibration ball on the YZ plane fall within the effective scanning surface of the line scan laser sensor and in the lower left position of the effective scanning trapezoidal area; then maintain the positions of the Y, Z, and C axes, operate the X axis, and use the line scan laser sensor to scan the calibration ball to obtain point cloud data; Similarly, the coordinate values ​​can be obtained: The coordinates of the sphere center in the line scanning laser sensor coordinate system {S}: d sB =[x sB ,0,z sB ] T ; B—subscript, indicating the second scan, the corresponding physical quantity is obtained from the second scan; Coordinates of the three-axis truss robot arm or the wrist of the coordinate measuring machine: d bB =[x bB ,y bB ,z bB ] T ; Step 2.4, operate the Y and Z axes to make the projection of the calibration ball on the YZ plane fall within the effective scanning surface of the line scan laser sensor and in the lower right position of the effective scanning trapezoidal area; then maintain the positions of the Y, Z, and C axes, operate the X axis and use the line scan laser sensor to scan the calibration ball to obtain point cloud data; Similarly, the coordinate values ​​can be obtained: The coordinates of the sphere center in the line scanning laser sensor coordinate system {S}: d sC =[x sC ,0,z sC ] T ; Coordinates of the three-axis truss robot arm or the wrist of the coordinate measuring machine: d bC =[x bC ,y bC ,z bC ] T ; C—subscript, indicating the third scan, the corresponding physical quantity is obtained from the third scan; Also included is the correction method used for shear deformation: Step a: The point cloud is formed by stacking continuous cross-sectional profile data. Each cross-sectional profile is processed separately, and each cross-sectional profile is a circular arc without distortion. Step b: Using the line scan laser sensor coordinate system of the first profile as the reference coordinate system {O}, stacking the cross-sectional profiles in the y direction with the x-coordinate value of the robot arm or the coordinate measuring machine corresponding to each cross-sectional profile; Step c: Find the center of each cross-sectional contour by fitting a circle, and fit all the found center points into a straight line segment AB in {O}; Step d: Translate the straight line segment AB so that A and O coincide, draw BD perpendicular to the y-axis and intersecting the y-axis at point D; draw a circle D in plane ABD with D as the center and |BD| as the radius, draw a straight line AE tangent to circle D at E, and point E and point B are on the same side of straight line AD; draw a line segment DF through point D perpendicular to plane ABD, and The direction is Take points Y0, Z0, and X0 on the extended lines AD, DE, and DF, respectively, and the distance D is unit length; take the frame {D, X0, Y0, Z0}, abbreviated as {D}; Step e: It is easy to know that the original spherical point cloud data is actually the data under {D}, which differs at most by a fixed translation value and a fixed rotation angle in the ZX plane; Step f: Calculate the affine transformation P from the frame {D} to the frame {O}; transform the original spherical point cloud data into {O}: S o =PS D ; S D Represents the original spherical point cloud data in the frame {D} coordinate system, which is a 3*m matrix, where m represents the total number of points in the point cloud; S o Indicates S D The point cloud data obtained after the P transformation in the frame {O} coordinate system is a 3*m matrix, where m represents the total number of points in the point cloud; An affine transformation P is an R 3 The linear transformation of a vector space to itself is a 3*3 matrix; the corresponding transformation of two linearly independent groups of 4 points in the space can determine an affine transformation; Step g: Fit S in {O} o The center of the sphere is obtained by o′ ; Step h: Set the coordinates of the center of the sphere to d o′ Transform back to {D}: d o =P -1 d o′ =[x0,y0,z0] T ; [x0,0,z0] T is the center position of the circle in the laser sensor coordinate system; y0 is the scanning distance from the starting scanning point to the center of the circle.

2. The hand-eye calibration method of line scanning laser applied to large workpiece measurement according to claim 1 is characterized in that: Step 3 includes: The position of the calibration ball is used as the zero point of the entire measurement space, and the hand-eye calibration value of the line scan laser sensor at angle C1 is calculated. The process is as follows: Step 3.1, make a transformation vector diagram: {B}——Measurement space base coordinate system of three-axis truss manipulator or three-coordinate measuring instrument; {WA}, {WB}, {WC}——are the end coordinate systems of the three-axis truss robot arm or the three-coordinate measuring machine in the positions corresponding to the positions described in steps 2.2, 2.3 and 2.4; {SA}, {SB}, {SC}——are the coordinate systems of the line scan laser sensor corresponding to the positions described in steps 2.2, 2.3 and 2.4; is the position of {WA} under {B} expressed by rigid body translation transformation, E is the identity matrix, d bA =[x bA ,y bA ,z bA ] T ; is the position of {WB} under {B} expressed by the rigid body translation transformation, E is the identity matrix, d bB =[x bB ,y bB ,z bB ] T ; is the position of {WC} under {B} expressed by rigid body translation transformation, E is the identity matrix, d bC =[x bC ,y bC ,z bC ] T ; d sA =[x sA ,0,z sA ] T , is the coordinate of the calibration ball under {SA}; d sB =[x sB ,0,z sB ] T , is the coordinate of the calibration ball under {SB}; d sC =[x sC ,0,z sC ] T , is the coordinate of the calibration ball under {SC}; d b =[0,0,0] T , is the coordinate of the calibration ball in the measurement space {B}; is the hand-eye calibration value to be solved expressed by rigid body transformation, which is also the 6DoF pose of {SA} under {WA}, or {SB} under {WB}, or {SC} under {WC}; Q wS is an orthogonal matrix, representing the rotation amount; d wS For R 3 Vector, representing the amount of translation; Step 3.2, intuitively obtain the equations according to the transformation vector diagram: The simplified equation is as follows: have: have: Subtract (2) from (1) and (3) from (1) to obtain: For convenience of representation, let: g1=d sA -d sB g2=d sA -d sC h1=d bB -d bA h2=d bC -d bA So we have: Solving the orthogonal matrix Q by constructing a unit orthogonal basis wS : make: make: Let: Q a = [t 1x , t 1y , t 1z , Q b = [t 2x , t 2y , t 2z ​ Then we have: Q sw Q a =Q b The solution is: Substituting into (1), we get d wS =-d bA -Q wS d sA Get the hand-eye calibration under C1