Double-mechanical-arm synchronous calibration method based on position information
By employing a position-based dual-arm synchronous calibration method, utilizing 3D sensors and a standard ball, calibration can be performed by measuring only position information. This solves the problems of complex and costly attitude measurement in existing technologies, and achieves efficient and low-cost dual-arm system calibration.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HARBIN INSTITUTE OF TECHNOLOGY (SHENZHEN) (INSTITUTE OF SCIENCE AND TECHNOLOGY INNOVATION HARBIN INSTITUTE OF TECHNOLOGY SHENZHEN)
- Filing Date
- 2025-11-24
- Publication Date
- 2026-04-28
AI Technical Summary
Existing calibration methods for dual-arm robotic systems rely on complex and low-precision attitude measurements, which increases measurement costs and limits sensor selection, making them difficult to widely apply in industrial settings.
A location-based dual-arm synchronous calibration method is adopted, which utilizes 3D sensors and a standard ball. Through trajectory planning, data fitting and optimization algorithms, only location information needs to be measured, which reduces measurement costs and expands the range of sensor selection.
This technology enables the calibration of base, hand-eye, and tool-flange parameters of a dual-arm robotic system using only position information, reducing measurement costs, expanding the range of sensors that can be selected, and improving calibration efficiency and accuracy.
Smart Images

Figure CN121928534A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of error calibration technology for dual-arm robotic systems, specifically relating to a synchronous calibration method for dual-arm robotic systems based on position information. Background Technology
[0002] With the continuous improvement of automation, robotic arms are being used more and more in various fields, and the market size of robotic arms is constantly expanding. However, as the complexity of tasks increases, single robotic arms have shown their limitations in certain application scenarios, mainly in their difficulty in performing tasks requiring high coordination and complex operations. In contrast, dual-robotic arm systems have shown advantages to varying degrees in terms of task complexity, reliability, flexibility, and fault tolerance. To ensure the coordinated synchronization and precise control of complex operations in dual-robotic arm systems, calibration is particularly important.
[0003] For a dual-arm robotic system, the calibration process mainly includes base coordinate system parameter calibration (the pose relationship between the base coordinate systems of the two robotic arms), hand-eye parameter calibration (the pose relationship from the coordinate system of the measuring sensor to the coordinate system of the end effector of the robotic arm that holds it), and tool-flange parameter calibration (calibrating the pose relationship from the tool coordinate system to the coordinate system of the end effector of the robotic arm that holds the tool).
[0004] Chinese patent CN202211325673.5 discloses a synchronous calibration method for a dual-manipulator system based on geometric algebra and geometric calculus. The method uses a closed-form solution to obtain initial values, and then uses an iterative method to obtain the exact solution. Specifically, this method first uses a closed-form solution to obtain the initial values of the rotating part, then transforms the dual-manipulator system calibration problem into a nonlinear constrained optimization problem, and uses a stochastic gradient descent algorithm to complete the synchronous solution.
[0005] The existing calibration methods for dual-arm robotic systems rely on "full pose" information, requiring external measuring devices to simultaneously output both position and attitude information. However, compared to position measurement, attitude measurement is more complex and cumbersome, and suffers from lower accuracy and poor stability. More importantly, the requirement for attitude measurement increases measurement costs and limits the range of measurement sensors that can be selected. Some high-precision measuring instruments, such as laser scanners and line laser sensors, can only measure position information under a single robotic arm pose. Measurement costs and instrument limitations restrict the application of the aforementioned calibration algorithms in industrial settings.
[0006] Therefore, in view of the shortcomings of existing dual-arm system calibration methods that rely on pose measurement, providing a method for the simultaneous calibration of dual-arm system base, hand-eye, and tool-flange parameters that only require position information has become a problem that the industry needs to solve. Summary of the Invention
[0007] To address the shortcomings of existing technologies, the main objective of this invention is to provide a synchronous calibration method for dual robotic arms based on position information. This method involves the synchronous calibration of base, hand-eye, and tool-flange parameters, requiring only the measurement of position information, thus reducing measurement costs and increasing the range of calibration sensors that can be selected.
[0008] To achieve the aforementioned main objectives, on the one hand, the present invention provides a method for synchronous calibration of dual robotic arms based on position information, which includes:
[0009] A. Establish a dual-arm calibration system; the dual-arm calibration system includes a host computer, two robotic arms, a 3D sensor, and a standard ball. The two robotic arms are the first robotic arm and the second robotic arm, respectively. The 3D sensor is installed on the end flange of the first robotic arm. The standard ball is a high-precision ceramic ball and is installed on the end flange of the second robotic arm.
[0010] B. Measurement configuration planning: When planning the trajectory, first define the measurement space for the two robotic arms; then generate the poses of the two robotic arms in the measurement space according to the position and attitude constraints, with the standard ball within the measurement range of the 3D sensor; then, through computer program and motion simulation analysis, sequentially filter out configurations without inverse kinematics and collision configurations, retaining only feasible measurement poses;
[0011] C. Measure calibration data, which specifically includes the following steps:
[0012] C1. After the host computer controls the two robotic arms to reach the target configuration, manual teaching and fine-tuning are used to project the laser scanning plane of the 3D sensor onto the standard sphere, and the coordinates of the laser stripe point cloud and the pose data of the robotic arms are recorded. Then, the RANSAC algorithm is used to fit the circle in the laser scanning plane to obtain the coordinates of the center of the standard sphere in the 3D sensor coordinate system.
[0013] C2. Repeat step C1 above to collect several sets of data as calibration datasets; the calibration datasets include robotic arm pose data and ball center coordinates.
[0014] D. Input the calibration dataset obtained in step C2 into the following calibration model.
[0015]
[0016] in This represents the homogeneous transformation matrix from the {M} coordinate system to the {N} coordinate system; This represents the hand-eye parameters to be determined; This represents the base parameters to be determined; Represents the parameters of the tool to be determined - flange;
[0017] E. Calculate and calibrate the model to obtain the base, hand-eye, and tool-flange parameters of the desired dual robotic arm system.
[0018] In this invention, the 3D sensor is a sensor with position measurement capabilities, providing the true coordinates (X, Y, Z) of a point on the object's surface in three-dimensional space with each measurement. The 3D sensor of this invention can be, for example, a line laser scanner. The standard sphere has a diameter of 25 mm and a roundness of 0.25 μm.
[0019] In this invention, when planning the measurement trajectory in step B, it is necessary to determine the common workspace of the two robotic arms and select a portion of it as the measurement space.
[0020] To ensure that the 3D sensor obtains standard sphere data, position and attitude constraints are applied to the generated robotic arm measurement configuration. Specifically: ① The measurement space serves as the position constraint for the second robotic arm, ensuring that the end effector of the second robotic arm is within the measurement space; ② The Z-axis of the second robotic arm flange points towards the flange of the first robotic arm, with an inclination angle not exceeding 10°, serving as the attitude constraint for the second robotic arm; ③ The distance between the origin of the second robotic arm calibration sphere and the origin of the 3D sensor is within 100mm ± 5mm, serving as the position constraint for the first robotic arm; ④ The Z-axis of the first robotic arm flange points towards the flange of the second robotic arm, with an inclination angle not exceeding 5°, serving as the attitude constraint for the first robotic arm.
[0021] Generate the poses (matrices) of the two robotic arms, write a Python program to determine if there is an inverse kinematics, and filter out the poses without an inverse kinematics; use motion simulation software to test whether a collision will occur, and filter out the poses that will collide; retain the measured configurations that have an inverse kinematics and will not collide, and use a host computer to control the robotic arms to reach the target configuration.
[0022] In this invention, the RANSAC (Random Sample Consensus) algorithm is used to fit a circle within the laser scanning plane, and the coordinates (x, y) of the center of the fitted circle in the sensor coordinate system are obtained. c ,y c ,z c x) and radius r. c and z c That is, the x and z coordinates of the sphere's center in the sensor coordinate system. S and z S The center of the sphere is at the y-coordinate of the sensor. S The following formula is used to calculate...
[0023]
[0024] In the formula, R represents the radius of the calibration sphere, and y S The sign depends on whether the center of the sphere is located on the positive or negative half of the y-axis of the sensor coordinate system.
[0025] In this invention, step C2 repeats step C1 above, and a total of 100 sets of data are collected.
[0026] In this invention, the coordinates (x, y) of the measured sphere center sensor coordinate system are... s ,y s ,z s The model is calibrated by inputting the pose data of the two robotic arms and solving the parameters of the base, hand-eye, and tool-flange of the dual robotic arm system.
[0027] According to a specific embodiment of the present invention, step E specifically includes the following steps:
[0028] E1. Calculate the closed-form solution of the calibration model;
[0029] E2. Substitute the closed solution as the initial value for iteration into the iterative solution;
[0030] E3. Obtain the base, hand-eye, and tool-flange parameters of the desired dual robotic arm system.
[0031] According to a specific embodiment of the present invention, in step E1, the calibration model is expanded into
[0032]
[0033] in Let represent the attitude transformation matrix from the {M} coordinate system to the {N} coordinate system. This represents the position vector from the {M} coordinate system to the {N} coordinate system.
[0034] According to a specific embodiment of the present invention, the Kronecker product is introduced. And the vectorization operator vec(); given an m×n matrix A and a p×q matrix B, define:
[0035]
[0036] To solve for the hand-eye parameters, base parameters, and tool-flange parameters in the equation of claim 3.
[0037] According to a specific embodiment of the present invention, in step E2, the solution of the unknown parameters in the calibration model is transformed into the following optimization problem.
[0038]
[0039] According to a specific embodiment of the present invention, solving the optimization problem is equivalent to solving the following objective function:
[0040]
[0041] In the formula, m is the number of data sets in step C2.
[0042] According to a specific embodiment of the present invention, a Taylor expansion of f is performed near the initial value, and a first-order approximation is taken.
[0043]
[0044] The present invention has the following beneficial effects:
[0045] Compared to existing synchronous calibration methods for dual-arm robotic systems that rely on pose measurement information, the synchronous calibration method for dual-arm robotic systems proposed in this invention only requires measuring position information, which reduces measurement costs and increases the range of calibration sensors that can be selected.
[0046] To more clearly illustrate the purpose, technical solution, and advantages of the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. Attached Figure Description
[0047] Figure 1 This is a schematic diagram of the dual robotic arm calibration system in Example 1;
[0048] Figure 2 This is a schematic diagram of the measurement space of the dual robotic arm calibration system in Example 1;
[0049] Figure 3 This is a schematic diagram of the laser scanner measuring the center position of a standard sphere in Example 1;
[0050] Figure 4 This is a flowchart illustrating the specific implementation of calibration in Example 1. Detailed Implementation
[0051] Many specific details are set forth in the following description in conjunction with embodiments in order to provide a full understanding of the invention. However, it should be understood that the following embodiments and detailed descriptions are for illustrative purposes only and do not limit the scope of protection of the invention.
[0052] Example 1
[0053] like Figure 1-4 As shown, this embodiment provides a method for synchronous calibration of two robotic arms based on position information, which includes:
[0054] A. Establish a dual-arm calibration system; the dual-arm calibration system includes a host computer, two robotic arms, a 3D sensor (e.g., a line laser scanner 3), and a standard ball 4. The two robotic arms are the first robotic arm 1 and the second robotic arm 2, respectively. The line laser scanner 3 is installed on the end flange of the first robotic arm 1. The standard ball 4 is a high-precision ceramic ball, which is installed on the end flange of the second robotic arm 2.
[0055] B. Measurement configuration planning: When planning the trajectory, first define the measurement space for the two robotic arms; then generate the poses of the two robotic arms within the measurement space according to the position and attitude constraints, within the measurement range of the standard ball 4 and the online laser scanner 3; then, through computer program and motion simulation analysis, sequentially filter out configurations without inverse kinematics and collision configurations, retaining only feasible measurement poses;
[0056] When planning the measurement trajectory, it is necessary to determine the reachable space 701 of the first robotic arm 1 and the reachable space 702 of the second robotic arm 2, and then determine the common workspace 703 of the two robotic arms, using the common workspace 703 as the measurement space. Figure 2 );
[0057] To ensure that the line laser scanner 3 obtains standard sphere data, position and attitude constraints are applied to the generated robotic arm measurement configuration. Specifically: ① The measurement space serves as the position constraint for the second robotic arm 2, ensuring that the end effector of the second robotic arm 2 is within the measurement space; ② The Z-axis of the flange of the second robotic arm 2 points towards the flange of the first robotic arm 1, with an inclination angle not exceeding 10°, serving as the attitude constraint for the second robotic arm 2; ③ The distance between the origin of the calibration sphere coordinates of the second robotic arm 2 and the origin of the line laser scanner 3 is within 100mm ± 5mm, serving as the position constraint for the first robotic arm 1; ④ The Z-axis of the flange of the first robotic arm 1 points towards the flange of the second robotic arm 2, with an inclination angle not exceeding 5°, serving as the attitude constraint for the first robotic arm 1.
[0058] Generate the poses (matrices) of the two robotic arms, write a Python program to determine if there is an inverse kinematics, and filter out the poses without an inverse kinematics; use motion simulation software to test whether a collision will occur, and filter out the poses that will collide; retain the measured configurations that have an inverse kinematics and will not collide, and use a host computer to control the robotic arms to reach the target configuration.
[0059] C. Measure calibration data, which specifically includes the following steps:
[0060] C1. After the host computer controls the two robotic arms to reach the target configuration, it performs fine-tuning through manual teaching so that the laser scanning plane 5 of the line laser scanner 3 is projected onto the standard sphere 4, and records the coordinates of the laser stripe point cloud and the pose data of the robotic arms. Then, the RANSAC algorithm is used to fit the circle in the laser scanning plane 5 to obtain the coordinates of the center of the standard sphere in the coordinate system of the line laser scanner 3.
[0061] The RANSAC (Random Sample Consensus) algorithm is used to fit a circle within the laser scanning plane 5, and the coordinates (x, y) of the center of the fitted circle 6 in the sensor coordinate system are obtained. c ,y c ,z c ) and radius r ( Figure 3 ). Where xc and z c That is, the x and z coordinates of the sphere's center in the sensor coordinate system. S and z S The center of the sphere is at the y-coordinate of the sensor. S The following formula is used to calculate...
[0062]
[0063] In the formula, R represents the radius of the calibration sphere, and y S The sign depends on whether the center of the sphere is located on the positive or negative half of the y-axis of the sensor coordinate system;
[0064] The measured coordinates (x) in the sphere center sensor coordinate system s ,y s ,z s The model is calibrated by inputting the pose data of the two robotic arms and solving the parameters of the base, hand-eye, and tool-flange of the dual robotic arm system.
[0065] C2. Repeat step C1 above to collect 100 sets of data as the calibration dataset; the calibration dataset includes the robot arm pose data and the ball center coordinates.
[0066] D. Input the calibration dataset obtained in step C2 into the following calibration model.
[0067]
[0068] in This represents the homogeneous transformation matrix from the {M} coordinate system to the {N} coordinate system; This represents the hand-eye parameters to be determined; This represents the base parameters to be determined; Represents the parameters of the tool to be determined - flange;
[0069] Before calibrating the base, hand-eye, and tool-flange parameters, a calibration model of the dual-arm system needs to be established. {B1} represents the coordinate system of the base of arm 1, {E1} represents the coordinate system of the end flange of arm 1, {B2} represents the coordinate system of the base of arm 2, {E2} represents the coordinate system of the end flange of arm 2, {S} represents the sensor measurement coordinate system, and {p} represents the calibration object coordinate system.
[0070] E. Calculate and calibrate the model to obtain the base, hand-eye, and tool-flange parameters of the desired dual-arm robotic system. This includes the following steps:
[0071] E1. Calculate the closed-form solution of the calibration model; to derive the solution method based on position information, Equation (1) is expanded into an expression using the attitude matrix and position vector: that is, the calibration model is expanded into
[0072]
[0073] in Let represent the attitude transformation matrix from the {M} coordinate system to the {N} coordinate system. This represents the position vector from the {M} coordinate system to the {N} coordinate system;
[0074] Introducing the Kronecker product And the vectorization operator vec(); given an m×n matrix A and a p×q matrix B, define:
[0075]
[0076] The hand-eye parameters, base parameters, and tool-flange parameters in equation (2) are used to solve for them.
[0077] By using the Kronecker product and vectorization operator, in equation (2) and The following transformation relationship exists:
[0078]
[0079] Let K2 represent K5 represents I3, x2 represents x5 represents Substituting equations (5), (6), and (7) into equation (2), we can rearrange the terms to obtain the following form:
[0080] Kx=b (8)
[0081] in
[0082]
[0083] Formula (8) is solved using the least squares method. The following overdetermined equations are obtained by measuring the m configurations:
[0084]
[0085] in The solution to equation (12) has the following form:
[0086]
[0087] in and It can be obtained from x1 and x4. and It can be obtained from x2 and x5. However, due to and There is a coupling relationship, making it difficult to solve directly from x3. In order to solve The x3 in equation (6) can be transformed as follows:
[0088]
[0089] therefore, The following calculation formula can be obtained:
[0090]
[0091] in
[0092]
[0093] The above solution process yields and The orthogonality condition for the rotation matrix is not met due to unavoidable data noise during the measurement process. Therefore, and An additional orthogonalization process is needed to obtain its closest orthogonal pose matrix. and For any matrix R to be orthogonalized, the following Singular Value Decomposed (SVD) can be performed:
[0094] R = USV T (17)
[0095] Then, the orthogonal identity matrix corresponding to R can be obtained using the following formula.
[0096] Therefore, the identity orthogonal matrix obtained by singular value decomposition and As a parameter of hand and eye and base parameters The attitude part. The above solution process yields... and Closed solution.
[0097] E2. Substitute the closed solution as the initial value for iteration into the iterative solution;
[0098] The solution to the unknown parameters in the calibration model is transformed into the following optimization problem.
[0099]
[0100] Solving the above optimization problem is equivalent to solving the following objective function:
[0101]
[0102] In the formula, m is the number of data groups in step C2. In this embodiment, m is 100.
[0103] Perform a Taylor expansion of f near its initial value
[0104]
[0105] E3. Obtain the base, hand-eye, and tool-flange parameters of the desired dual-arm robotic system. Take a first-order approximation of equation (22).
[0106] f≈f0+δf(23) where
[0107]
[0108] Homogeneous transformation matrix Corresponding pose error matrix Differential operators have the following relationship:
[0109]
[0110] The differential operator Δ is defined as follows:
[0111]
[0112] δ=[δ x δ y δ z ] T , d=[d x d y d z ] T (26)
[0113] In the formula, δ represents the attitude error vector; D represents the position error vector. Substituting equation (25) into (24) yields:
[0114]
[0115] definition M Δ is the description of the differential operator Δ under {M}. M δ and M d represents respectively M The attitude error vector and position error vector of Δ can be expressed in terms of the terms in equation (28):
[0116]
[0117] For ease of derivation, the first three columns of equation (28) are extracted and the following symbols are defined:
[0118] Substituting equations (29), (30), and (31) into (28), we get:
[0119] δf=Jy (33)
[0120] in
[0121] Substituting equation (33) into (23) and setting f = 0, we get
[0122] Jy=-f0 (36)
[0123] Given m sets of measurement configurations, the following overdetermined equations can be obtained.
[0124]
[0125] in y is calculated using the least squares method.
[0126]
[0127] In each iteration, the attitude error vector δ and the position error vector d can be obtained from y, and the corresponding pose error operator Δ can be calculated according to equation (26). Based on the exponential mapping in screw theory, in the i-th iteration... and It can be obtained from the following formula:
[0128]
[0129] The iterative process is as follows:
[0130] Iterative Method for Error Calibration of Dual-Arm Robotic Arm System
[0131]
[0132] The specific model of the line laser scanner is HIKROBOT MV-DP2307-01H 3D laser profile sensor; the standard sphere diameter is 25mm and the roundness is 0.25μm.
[0133] Although the present invention has been described above by way of embodiments, the above embodiments are only used to exemplify possible implementations of the present invention and are not intended to limit the scope of protection of the present invention. Any equivalent substitutions or changes made by those skilled in the art in accordance with the present invention should also be covered by the scope of protection defined by the claims of the present invention.
Claims
1. A method for synchronous calibration of dual robotic arms based on position information, characterized in that, include: A. Establish a dual-robotic arm calibration system; The dual-arm calibration system includes a host computer, two robotic arms, a 3D sensor, and a standard ball. The two robotic arms are a first robotic arm and a second robotic arm, respectively. The 3D sensor is installed on the end flange of the first robotic arm. The standard ball is a high-precision ceramic ball and is installed on the end flange of the second robotic arm. B. Measurement configuration planning: When planning the trajectory, first define the measurement space for the two robotic arms; then generate the poses of the two robotic arms within the measurement space according to the position and attitude constraints, with the standard ball within the measurement range of the 3D sensor; then, through computer program and motion simulation analysis, sequentially filter out configurations without inverse kinematics and collision configurations, retaining only feasible measurement poses; C. Measure calibration data, which specifically includes the following steps: C1. After the host computer controls the two robotic arms to reach the target configuration, it performs manual teaching and fine-tuning to project the laser scanning plane of the 3D sensor onto the standard sphere, and records the coordinates of the laser stripe point cloud and the pose data of the robotic arms; then, it uses the RANSAC algorithm to fit the circle in the laser scanning plane to obtain the center coordinates of the standard sphere in the coordinate system of the 3D sensor. C2. Repeat step C1 above to collect several sets of data as a calibration dataset; the calibration dataset includes the robot arm pose data and the ball center coordinates; D. Input the calibration dataset obtained in step C2 into the following calibration model. in This represents the homogeneous transformation matrix from the {M} coordinate system to the {N} coordinate system; This represents the hand-eye parameters to be determined; This represents the base parameters to be determined; Represents the parameters of the tool to be determined - flange; E. Calculate the calibration model to obtain the base, hand-eye, and tool-flange parameters of the desired dual-arm system.
2. The method for synchronous calibration of dual robotic arms according to claim 1, characterized in that, Step E specifically includes the following steps: E1. Calculate the closed-form solution of the calibration model; E2. Substitute the closed solution as the initial value into the iterative solution; E3. Obtain the base, hand-eye, and tool-flange parameters of the desired dual robotic arm system.
3. The method for synchronous calibration of dual robotic arms according to claim 2, characterized in that, In step E1, the calibration model is expanded into in Let represent the attitude transformation matrix from the {M} coordinate system to the {N} coordinate system. This represents the position vector from the {M} coordinate system to the {N} coordinate system.
4. The method for synchronous calibration of dual robotic arms according to claim 3, characterized in that, Introducing the Kronecker product And the vectorization operator vec(·); given an m×n matrix A and a p×q matrix B, define: To solve for the hand-eye parameters, base parameters, and tool-flange parameters in the equation described in claim 3.
5. The method for synchronous calibration of dual robotic arms according to claim 2, characterized in that, In step E2, solving for the unknown parameters in the calibration model is transformed into the following optimization problem.
6. The method for synchronous calibration of dual robotic arms according to claim 5, characterized in that, Solving the optimization problem is equivalent to solving the following objective function: In the formula, m is the number of data groups in step C2.
7. The method for synchronous calibration of dual robotic arms according to claim 6, characterized in that, Perform a Taylor expansion of f near the initial value and take a first-order approximation.
Citation Information
Patent Citations
Double-mechanical-arm synchronous correction method based on geometric algebraic gradient
CN115972194A