Abstract
Technology of hand-eye calibration based on monocular vision is used widely in the field of industrial robots. For the eye-to-hand calibration, an improved nine-point method is proposed, in which a suction cup tool is used instead of a calibration plate to avoid the experimental error caused by the displacement of the calibration plate and end of robotic arm during the calibration process, so that the calibration can be completed quickly while the calibration accuracy is guaranteed, and the error can be controlled within ±0.04 mm. For the eye-in-hand calibration mode, an improved non-contact calibration method is proposed, which obtains the size and range of the initial values through the installation mode of the camera and the robotic arm, establishes the conversion equation from the pixel coordinates to the base coordinates of the robotic arm through these initial values, and then performs the hand-eye matrix solving through the L-BFGS-B (Limited-memory Broyden–Fletcher–Goldfarb–Shanno with Bound constraints) algorithm. After many experimental evidence, this method can control the calibration error within ±0.1 mm, and the calibration consumes time within 5 min, which effectively improves the calibration efficiency and calibration accuracy.
Introduction
Recently, the robot of industry based on monocular vision has been widely used in many fields, and together with monocular vision, industrial robots are able to quickly recognize and accurately grasp targets. However, before use, it is necessary to calibrate between industrial camera and industrial robot to establish the transformation relationship under the frame of axes of the industrial camera to the frame of axes of the industrial robot, and this calibration technique is hand-eye calibration.1,2 Since the hand-eye calibration problem was proposed by Tscai and Shiu et al. in 1989, scholars at home and abroad have conducted a lot of research on it. In the current application field, according to the different calibration methods, hand-eye calibration can be categorized into eye-in-hand and eye-to-hand. 3 And according to the different solution methods, it can be categorized into two-step method and one-step method. Among them, the one-step method usually provides higher accuracy, but the computational process is also more complicated and time-consuming. The two-step method is less accurate in some cases, but it is simpler and less computationally intensive and is better for industrial robots with known kinematic models. 4
The nine-point calibration method is commonly used in industry, 5 which requires shooting nine points, obtaining the pixel coordinates of the centers of the nine points, then controlling the end of the industrial robot to touch the centers of these nine points in turn, and recording the corresponding position of the end of the industrial robot, so as to establish the conversion matrix of the pixel coordinates and the coordinates of the industrial robot, and to complete the hand-eye calibration. However, this calibration method 6 takes a long time, the calibration accuracy is too dependent on the operator’s experience, and during the calibration process, since the end of the industrial robot needs to be controlled to touch the centers of the nine points sequentially, this contact calibration will easily lead to the movement of the calibration plate due to improper operation, which will lead to the introduction of errors.
To solve above problems, the thesis proposes a simple and fast non-contact calibration method that utilizes the mounting constraints of the industrial camera and the industrial robot as well as the shooting height, which can be measured to obtain initial values and a given range of initial values. These initial values include the three Euler angles of the camera system of coordinate relative to frame of axes of the industrial robot and the translations of the X-axis and the Y-axis, the height from the end of the industrial robot to the calibration plate, the height from the optical centers of the camera to the calibration plate, and the conversion matrix from the pixel to the base system of coordinate is established, which is solved to obtain the final value and the conversion matrix by iterating using the L-BFGS-B 7 algorithm. Experiments have proved that this method has the advantages of simple operation steps, short calibration time, high accuracy, and robustness of the algorithm, etc. Through the obtained hand-eye calibration matrix, the industrial robot successfully grasps the target, so this method can be applied in practical operation.
Experimental procedure
The equipment used in this experiment is as follows: Mitsubishi’s RV-4FRL series of six degrees of freedom industrial robots, Hikvision’s 1200w pixel industrial camera, HALCON’s HC-75 specification of the circular asymmetric calibration plate, a white light source, and a host computer, as shown in Figure 1. Setting up the experimental environment.
This experiment adopts the eye-in-hand mode, and the experimental process is shown in Figure 2; first of all, the construction of the experimental environment, the industrial camera is installed in the end of the industrial robot, the light source is installed in the lens of the industrial camera, adjust the focal length of the industrial camera until it can take a clear photo of the calibration plate, and fix the camera aperture and the focal length to remain unchanged. When using the industrial camera, it is necessary to calibrate the industrial camera, the host computer connected to the industrial camera through the network port, shoot 9-16 calibration plate photos,8–10 through the HALCON software to calibrate the camera, and get the camera internal reference and distortion coefficient. Then the hand-eye calibration is carried out, the host computer is connected to the industrial robot and the camera through the network port, the industrial robot is controlled to move and take photos of the calibration plate, one photo corresponds to a set of robotic arm end position, and finally the rotational translation matrix is obtained after the calculation, and the accuracy of this experiment and the time required for the experiment are verified. Experimental procedure.
Hand-eye calibration
Camera calibration model
Before hand eye calibration, the camera needs calibration, and we need to obtain the camera’s internal parameter and distortion coefficient. The camera’s internal parameter is an intrinsic attribute of the camera, which is a parameter needed for subsequent calculations. Obtaining the camera’s aberration coefficient helps us to correct the aberration of the image, which facilitates the subsequent acquisition of more accurate pixel information.
For camera calibration, we first establish four systems of coordinates, It is the pixel coordinate, image coordinate, camera coordinate, and world coordinate, as shown in Figure 3. Camera model.
Assuming that the coordinates of the same point under the pixel system
11
of coordinate are
Aberrations occur during camera imaging. Aberrations are categorized into radial and tangential aberrations. Radial aberrations are caused by the shape of the lens itself, while tangential aberrations are caused by deviations in the mounting position of the lens and the photoreceptor, the CCD/CMOS,
12
during the assembly process of camera production. For radial aberration, it can be expressed by the Taylor series expansion, where x and yare the actual coordinates after aberration, x
1
and x
2
are the corrected coordinates, and r is the distance of the point from the imaging center, as in (2) and (3):
For industrial cameras, the distortion is very small, so the tangential distortion can be ignored, and the radial distortion coefficient k 3 can also be ignored; we only need to calculate the k 1 and k 2 parameters for the subsequent distortion correction.
In this thesis, the Zhang’s calibration method is used for the calibration of the camera: the camera is kept motionless, the checkerboard calibration plate is used for the calibration, and the calibration plate is used to take 16–25 photographs in different positions under the field of view of the camera. The calibration plate takes up one-third of the shooting field of view in a single shot, and the overall calibration plate photo13,14 covers the entire shooting field of view of the camera. By establishing the correspondence of the corner points in the shot of the calibration plate photo, the parameter of camera and the coefficient distortion are calculated.
Eye-in-hand calibration model
Hand-eye calibrations can be divided into eye-in-hand and eye-on-hand calibrations, which differ in the camera’s mounting position relative to the industrial robot. Eye-in-hand means that the camera is installed on the end of the robot of industrial, and the calibration is the matrix of transformation from the camera system of coordinate to the system of coordinate of the end of the industrial robot. Eyes-to-hand means that the camera is stationary, the focal length of its field of view is fixed, the imaging of a clear plane is the working plane of the industrial robot, and this time the calibration is the camera and the industrial robot base system of coordinate conversion matrix.
This experiment is carried out in an eye-in-hand manner, as shown in Figure 4. Eye-in-hand model.
Where the calibration plate pixel system of coordinate to the camera system of coordinate is converted to
For a point on the calibration plate to the base system of coordinate, get the transformation relation, as in (4):
Control of industrial robots to drive the camera to move two times, you can take three pictures, which because the calibration process calibration plate is fixed relative to the base and the camera is fixed relative to the end of the fixed, so the
Conversion relations obtained by the second move, as in (6):
From (5) and (6), we have (7):
After transformation, the correspondence can be obtained as shown in (8):
In this thesis, a simple hand-eye calibration method is proposed; first of all, let the Z-axis of the end of the industrial robot be perpendicular to the horizontal work plane, the industrial camera is installed on the end of the industrial robot, the shooting angle is perpendicular to the work plane, keep the height Z
E
of the end of the industrial robot unchanged, and then the height Z
C
of the optical center of the industrial camera to the work plane is also unchanged. Ideally, of the three Euler angles of the industrial robot end system of coordinate and the camera system of coordinate, only the rotation angle
Then the high-precision calibration plate is placed on the calibration plane, the thickness of the calibration plate needs to be taken into account, try to keep the calibration plane and the horizontal working plane at the same height, and the positional relationship between the calibration plate and the base of the industrial robot stays unchanged during the calibration process.
Finally, the end of the industrial robot is controlled to drive the camera to take photos in several different positions by translating and rotating only around the Z-axis and recording the position of the end of the industrial robot corresponding to each photo, with a minimum of nine photos taken. The approximate initial values and initial value ranges can be obtained in advance by utilizing the constraints of the installation of the industrial camera and the industrial robot, the shooting height, and the height of the end to the calibration plate. These initial values are the three rotation angles of the industrial camera and the industrial robot end, the X-axis and Y-axis offsets of the industrial camera and the end, the height of the end to the calibration plate, and the height of the camera’s optical center to the calibration plate.
The principle of the L-BFGS-B algorithm is as follows. Step 1: Initialization: choose the initial variable vector x as the starting point of the optimization problem and also set the initial step size. Calculate the gradient value of the objective function Step 2: During each iteration, first construct an approximate inverse of the Hessian matrix using the history information, which is estimated by storing the last few iteration points and the gradient difference. Step 3: Direction search: based on the constructed inverse of the approximate Hessian matrix and the gradient information, the search direction Step 4: Step control: the update step Step 5: Update the variables Step 6: Termination criterion: check the termination criterion such as gradient convergence and change in objective function value. If the termination criterion is satisfied, stop the iteration; otherwise return to step 2.
The L-BFGS-B algorithm handles bounded constraint problems by restricting the boundaries of the variables, which can be simple upper and lower boundaries, and the algorithm is corrected accordingly for violations of the constraints to ensure that the variables are within the constraints.
Experimental results and accuracy verification
The camera internal reference M
1
and the rotational translation matrix X that can be obtained by camera calibration and hand-eye calibration, respectively, M
1
are as shown in (9):
Once the rotational translation matrix and initial values are obtained, the pixel coordinates can be converted to the industrial robot base system of coordinate using the previously established coordinate transformation relationship. Ideally, the position in the base system of coordinate obtained at this point is the end position of the industrial robot when the end moves to that point.
The nine-point calibration method is commonly used in industry to calibrate the industrial robot so that the pixel points on the two-dimensional plane correspond to the position of the industrial robot at the time of acquisition. This method depends on the operator’s experience in the operation process; after taking a photo containing nine dots, we need to take the pixel coordinates of the centers of the nine dots and control the end of the industrial robot to touch the centers of these nine dots in order to obtain the corresponding position of the end of the industrial robot, which is an exceptionally time-consuming step, and there are errors in the human eye, operational errors, etc., and the solution is the relationship between pixel dots and the position of the industrial robot, which is an affine transformation between pixel dots and robot position.
The principle of this experiment is to establish and solve the transformation relationship between the coordinates, first from the pixel coordinates to the camera system of coordinate, then from the camera system of coordinate to the industrial robot end system of coordinate, and finally from the industrial robot end system of coordinate to the industrial robot base system of coordinate. This experiment is simple, in the case of known industrial camera internal reference and distortion coefficients, only need to control the end of the industrial robot to drive the camera, at the same height, with different X-axis and Y-axis translation positions and different Z-axis rotational positions, to take at least nine photos, to the same point in these photos to establish the pixel system of coordinate to the base of the industrial robot system of coordinate conversion relationship. The missing Z-axis deep information can be obtained from the end of the robot to the horizontal work plane demonstration, bring in the initial parameters, and solve to get the final required rotational translation matrix.
Actual and calculated coordinates corresponding to pixel coordinates.
Average and maximum error of X-axis and Y-axis.
As shown in Figure 5, the comparison of absolute value of error in X-axis and absolute value of error in Y-axis of the data obtained from the nine-point method and the present experimental method, respectively, where x
1
and y
1
denotes the present experimental method and x
2
and y
2
denotes the nine-point method. The maximum error of the nine-point calibration method in the X-axis is 0.14 mm and the maximum error in the Y-axis is 0.12 mm. After many experiments, the average error of the nine-point calibration method is more than 0.1 mm, which shows that the experimental method has a significant improvement on the calibration accuracy. Nine-point calibration method in the calibration needs to control the end of the industrial robot to touch the center of the circle of nine points in turn and in this process will introduce the human eye error, a little inadvertently touching the calibration board caused by the calibration board to move, and then need to restart the operation. Under normal operation, after many experiments, the nine-point calibration method takes less than 5–10 minutes to collect photos and obtain the position of the end of the industrial robot corresponding to the nine points, whereas the experimental method only requires the control of the robotic arm to simply move to take photos and record the corresponding position, and the time required is less than 5 minutes, which is a significant improvement in terms of time. Comparison of absolute X-axis error and Y-axis.
The nine-point calibration method is an improved non-contact calibration method, which only requires controlling the robotic arm to drive the camera to take photos of the calibration board in a specific pose, without the need to control the end of the robotic arm to touch the calibration board. After multiple experimental verifications, the calibration method proposed in this article can control the calibration error within ±0.1 mm and the calibration time within 5 minutes. Compared with traditional calibration methods, this method is simpler to operate, significantly reduces calibration time, and has higher calibration accuracy.
Conclusion
In this thesis, a simple calibration method is proposed, comparing with the nine-point calibration method commonly used in the industrial field, the method is simple in operation, the required calibration time is short, the accuracy is high, all the parameters in the calibration model can be obtained at the same time, and the disadvantage is that at present it is only adapted to the planar range and more accurate depth information can be obtained using binocular cameras in the future. By building the experimental environment and system, the results of the experiment are analyzed, and the accuracy of the calibration results is verified, the calibration error is within 0.1 mm, the calibration accuracy is significantly improved, the calibration data acquisition time is within 5 min, and the calibration time required is significantly improved, which meets the requirements of the task of industrial robots to carry out the operation on the industrial site, and it has certain research significance.
Statements and declarations
Footnotes
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work was support by Key Projects of Overseas Visiting for Outstanding Young Backbone Talents in Colleges and Universities with no. (gxfxzd2016223) and support by Anhui major science and technology special projects (no. 103016385021) and by Anhui Province Science and Technology Innovation Challenge Project (no. 202407180313).
