A robot hand-eye automatic calibration method
By using automated methods for robot hand-eye calibration, the problems of low efficiency and inconsistent accuracy in traditional methods are solved, and a highly efficient and accurate calibration process is achieved.
Patent Information
- Application Number
- CN202510101152.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-22
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2045-01-22
AI Technical Summary
Traditional robot hand-eye calibration methods are inefficient, inconsistent, and limited in accuracy, mainly due to the influence of human-taught trajectories.
Automated methods are used for robot hand-eye calibration. By planning the robot's photo pose, solving inverse kinematics, and selecting the best photo position, human intervention is reduced or avoided, and the relationship between the camera and the robot's base coordinate system is automatically calculated.
It improves calibration efficiency and consistency, ensures high-precision calibration results, and avoids accuracy problems caused by inconsistent human operation skills.
Smart Images

Figure QLYQS_1
Abstract
Description
Technical Field
[0001] This invention belongs to the field of robot hand-eye calibration technology, and specifically relates to an automatic robot hand-eye calibration method. Background Technology
[0002] Robot hand-eye calibration is a crucial component of robot vision systems. For hand-eye joint calibration where the eye is located outside the hand, the goal is to determine the precise spatial relationship between the robot's base coordinate system and the vision sensor (such as a 3D sensor). This relationship is critical for the accuracy and reliability of the robot when performing complex tasks such as precision assembly, grasping, and placement.
[0003] Traditional hand-eye calibration methods typically rely on manually taught trajectories, where an operator manually guides the robot's end effector and records multiple key points used to calculate the hand-eye translation matrix. However, the manual teaching process has several major problems:
[0004] First, it is inefficient: the manual teaching process requires a lot of time and human resources, especially when multiple robots need to be calibrated or the calibration needs to be adjusted frequently.
[0005] Second, there is a lack of consistency: due to differences in the experience, skill level, and working conditions of operators, the quality of the teaching trajectory may vary greatly, resulting in inconsistent calibration accuracy among different personnel, and even among the same personnel under different working conditions.
[0006] Third, the accuracy is limited: manual operation makes it difficult to guarantee that the same trajectory can be accurately repeated every time, especially in precision tasks, which will significantly affect the accuracy of the calibration results. Summary of the Invention
[0007] This invention proposes an automatic robot hand-eye calibration method to solve the problems in the prior art. By using automation, it reduces or completely avoids human intervention, which can not only significantly improve calibration efficiency, but also ensure the consistency and high precision of the calibration process.
[0008] The technical solution adopted to achieve the above objectives is:
[0009] A method for automatic hand-eye calibration of a robot includes the following steps:
[0010] S100. Connect the calibration board to the robot end effector.
[0011] S200. Determine the distance d between the center of the flange and the center O of the coding area of the calibration plate. Coding area size: length l, width w;
[0012] S300, use d as the Z data of the current tool data for robot calibration, where the tool data is T = {0, 0, d};
[0013] S400, determine the camera field of view area to be calibrated, and set three image acquisition plane areas: TopArea, MidArea, and BotArea.
[0014] S500, Planning Robot Photo Pose Group: Randomly generates 30 photo point poses within each planar area, with the target point generation formula as follows: Where m represents the upper region TopArea, the middle region MidArea, and the lower region BotArea, l m and w m C represents the length and width of a certain region, respectively. l and C w These represent the length and width of the encoded point region, respectively;
[0015] S600. Perform inverse kinematics calculation on the target points generated in step S500 to obtain the robot's photo pose set J. m , m represents the upper region TopArea, the middle region MidArea, and the lower region BotArea;
[0016] S700: Perform optimal shooting position selection to obtain the optimal shooting pose P. mi ;
[0017] S800 sends the best photo-taking pose to the robot in sequence. Each time the robot moves to a photo-taking position with the calibration plate, it triggers the camera to take a picture, capture the image, and record the current position of the robot.
[0018] After the S900 camera completes image acquisition, it calculates the relationship between the camera and the robot's base coordinate system based on the acquired coded point images and the corresponding robot positions.
[0019] Furthermore, in step 100, a flange is provided at the end of the robot, and a calibration plate is installed on the flange at the end of the robot, such that the center O of the coding area of the calibration plate is collinear with the 6-axis rotation axis of the robot.
[0020] Furthermore, in step S400, it is necessary to determine that the three selected planar regions are horizontal to the camera imaging plane.
[0021] Furthermore, in step S600, the target points generated in step S500 are subjected to inverse kinematics solution to first obtain the robot joint angles corresponding to each target point, and then the target points that fail to pass the inverse kinematics solution are removed to obtain the robot's photo pose set J. m .
[0022] Furthermore, in step S700, the change ΔJ between the imaging position and the initial position J0 of each layer group is first calculated.mi ;
[0023] ΔJ mi =(J0-J i ), i = 1 to 30
[0024] Where m represents the upper region TopArea, the middle region MidArea, and the lower region BotArea; ΔJ mi This indicates the change in the robot's joints at a certain image capture location.
[0025] Then for ΔJ mi Using the maximum joint variation as the screening criterion, for ΔJ mi Sort in descending order to get ΔSort_J mk And label the change in each joint corresponding to P after descending order. mi :
[0026] ΔSort_J mk =sort(‖ΔJ) mi ||), i = 1 ~ 30
[0027] Where m represents the upper region TopArea, the middle region MidArea, and the lower region BotArea; ΔJ mi This indicates the change in the robot's joints at a certain image capture location.
[0028] Finally, based on the dataset Δopt_J, which contains the first 24 variables (8 shooting positions per layer),... mk Find the corresponding photo pose P mi , where Δopt_J mk =ΔSort_J mk k = 1 to 8, m represents the upper region TopArea, the middle region MidArea, and the lower region BotArea.
[0029] Furthermore, in step S800, the robot moves carrying the calibration plate, records the current pose P of the robot's end effector, and records the current joint angle J0 of the robot.
[0030] Furthermore, in step S800, when the robot moves carrying the calibration board, the calibration board should be placed in the middle of the middle area, and the encoded points captured by the camera should be clearly imaged.
[0031] The beneficial effects of this invention are as follows: The fully automatic hand-eye calibration method provided by this invention reduces or completely avoids human intervention through automation, which can not only significantly improve calibration efficiency, but also ensure the consistency and high precision of the calibration process, avoiding the problem of low calibration accuracy caused by inconsistent human operation level in the prior art. Detailed Implementation
[0032] In this invention, unless otherwise explicitly specified and limited, the terms "installation," "connection," "linking," and "fixing," etc., should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral part; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; they can refer to the internal communication of two components or the interaction between two components. Those skilled in the art can understand the specific meaning of the above terms in this invention according to the specific circumstances.
[0033] The following detailed explanation, in conjunction with specific embodiments, further illustrates the following:
[0034] A method for automatic hand-eye calibration of a robot includes the following steps:
[0035] S100. Install the calibration plate on the robot's end flange, so that the center O of the coding area of the calibration plate is collinear with the robot's 6-axis rotation axis.
[0036] S200. Determine the distance d between the center of the flange and the center O of the coding area of the calibration plate. Coding area size: length l, width w.
[0037] S300, use d as the Z data of the current tool data for robot calibration, and the tool data is T = {0, 0, d}.
[0038] S400. Determine the camera field of view area to be calibrated, and set three image acquisition plane areas: TopArea, MidArea, and BotArea. Ensure that the selected three plane areas are horizontal to the camera imaging plane.
[0039] S500, Planning Robot Photo Pose Group: Randomly generates 30 photo point poses within each planar area, with the target point generation formula as follows: Where m represents the upper region TopArea, the middle region MidArea, and the lower region BotArea, l m and w m C represents the length and width of a certain region, respectively. l and C w These represent the length and width of the encoded point region, respectively.
[0040] S600. Perform inverse kinematics calculation on the target points generated in step S500 to obtain the robot joint angles corresponding to each target point, and remove the target points that failed the inverse kinematics calculation to obtain the robot's photo pose set J. m , m represents the upper region TopArea, the middle region MidArea, and the lower region BotArea;
[0041] S700, Optimal Photo Position Selection: To ensure more accurate hand-eye joint calculations during robot-camera calibration, it's typically necessary to maintain a large range of motion for each robot joint at each photo position. Therefore, the change in joint ΔJ between each group of photo positions and the initial position J0 is first calculated. mi ;
[0042] ΔJ mi =(J0-J i ), i = 1 to 30
[0043] Where m represents the upper region TopArea, the middle region MidArea, and the lower region BotArea; ΔJ mi This indicates the change in the robot's joints at a certain image capture location.
[0044] Then for ΔJ mi Using the maximum joint variation as the screening criterion, for ΔJ mi Sort in descending order to get ΔSort_J mk And label the change in each joint corresponding to P after descending order. mi :
[0045] ΔSort_J mk =sort(‖ΔJ) mi ||), i = 1 ~ 30
[0046] Where m represents the upper region TopArea, the middle region MidArea, and the lower region BotArea; ΔJ mi This indicates the change in the robot's joints at a certain image capture location.
[0047] Finally, based on the dataset Δopt_J, which contains the first 24 variables (8 shooting positions per layer),... mk Find the corresponding photo pose P mi , where Δopt_J mk =ΔSort_J mk k = 1 to 8, m represents the upper region TopArea, the middle region MidArea, and the lower region BotArea.
[0048] S800: The optimal photo-taking pose is sent to the robot sequentially. Each time the robot, carrying the calibration plate, moves to a photo-taking position, the camera is triggered to take a picture and capture an image, recording the current robot position. The robot moves with the calibration plate until it is positioned in the center of the central area, and the encoded points captured by the camera are clearly imaged. The current robot end-effector pose P and the current robot joint angle J0 are recorded.
[0049] After the S900 camera completes image acquisition, the relationship between the camera and the robot's base coordinate system can be calculated based on the acquired coded point images and the corresponding robot positions.
[0050] After the camera completes image acquisition, it can obtain each photographic pose P and the encoded point image under each photographic pose. Based on the calibration method of eye outside hand, the pose relationship between the calibration board and the robot base coordinate system is finally solved, which is then transformed into the equation AX = XB. The mature and public solution method calibrateHandeye() in OpenCV can be used to solve the relationship between the camera and the robot base coordinate system.
[0051] The fully automated hand-eye calibration method provided by this invention reduces or completely eliminates human intervention through automation, which not only significantly improves calibration efficiency but also ensures the consistency and high precision of the calibration process, avoiding the problem of low calibration accuracy caused by inconsistent human operation skills in the prior art.
[0052] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. However, these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for automatic hand-eye calibration of a robot, characterized in that, Includes the following steps: S100. Connect the calibration board to the robot end effector. S200. Determine the distance d between the center of the flange and the center O of the coding area of the calibration plate. Coding area size: length l, width w; S300, use d as the Z data of the current tool data for robot calibration, where the tool data is T = {0, 0, d}; S400, determine the camera field of view area to be calibrated, and set three image acquisition plane areas: TopArea, MidArea, and BotArea. S500, Planning Robot Photo Pose Group: Randomly generates 30 photo point poses within each planar area, with the target point generation formula as follows: Among them, l m and w m C represents the length and width of a certain region, respectively. l and C w These represent the length and width of the encoded point region, respectively; S600. Perform inverse kinematics calculation on the target points generated in step S500 to obtain the robot's photo pose set J. m ; S700: Perform optimal shooting position selection to obtain the optimal shooting pose P. mi ; First, calculate the change ΔJ of the joint between the photographing position and the initial position J0 for each layer group. mi ; ΔJ mi =(J0-J i ),i=1~30 Then for ΔJ mi Using the maximum joint variation as the screening criterion, for ΔJ mi Sort in descending order to get ΔSort_J mk And label the change in each joint corresponding to P after descending order. mi : ΔSort_J mk =sort(||ΔJ mi ||),i=1~30 Where, ΔJ mi This indicates the change in the robot's joints at a certain image capture location. Finally, based on the dataset Δopt_J, which contains the first 24 selected variables... mk Find the corresponding photo pose P mi , where Δopt_J mk =ΔSort_J mk k = 1 to 8, m represents the upper region TopArea, the middle region MidArea, and the lower region BotArea; S800 sends the best photo-taking pose to the robot in sequence. Each time the robot moves to a photo-taking position with the calibration plate, it triggers the camera to take a picture, capture the image, and record the current position of the robot. After the S900 camera completes image acquisition, it calculates the relationship between the camera and the robot's base coordinate system based on the acquired coded point images and the corresponding robot positions.
2. The automatic hand-eye calibration method for robots according to claim 1, characterized in that, In step S100, a flange is provided at the end of the robot. The calibration plate is installed on the flange at the end of the robot, and the center O of the coding area of the calibration plate is collinear with the 6-axis rotation axis of the robot.
3. The automatic hand-eye calibration method for robots according to claim 1, characterized in that, In step S400, it is necessary to determine that the three selected planar regions are horizontal to the camera imaging plane.
4. The automatic hand-eye calibration method for robots according to claim 1, characterized in that, In step S600, the target points generated in step S500 are solved by inverse kinematics. First, the robot joint angles corresponding to each target point are obtained. Then, the target points that fail to solve the inverse kinematics are removed to obtain the robot's photo pose set J. m .
5. The automatic hand-eye calibration method for robots according to claim 1, characterized in that, In step S800, the robot moves carrying the calibration plate, records the current pose P of the robot's end effector, and records the current joint angle J0 of the robot.
6. The automatic hand-eye calibration method for robots according to claim 5, characterized in that, In step S800, when the robot moves carrying the calibration board, the calibration board should be placed in the middle of the middle area, and the image of the coded points captured by the camera should be clear.
Citation Information
Patent Citations
Full-automatic robot hand-eye calibration method
CN111152223A
Robot control method
KR1020140047333A