1. Introduction
The absolute positioning accuracy is crucial to the working performance of robot arms [
1]. For industrial robot arms, kinematic parameter errors are the main cause of absolute positioning errors, which mainly originate from the errors introduced during the manufacturing, assembly, and transmission processes of the links and joints [
1,
2]. Traditional calibration methods can effectively compensate for kinematic parameter errors and improve the absolute positioning accuracy of industrial robot arms, thus meeting the requirements of most tasks [
1,
2]. However, due to their strong rigidity, long links, and limited degrees of freedom, industrial robot arms are not suitable for some tasks in unstructured spaces that require flexible contact with soft workpieces, like diapers and medical pads [
3]. As a result, redundant robot arms with highly elastic joints, short links, and a large number of joints have emerged [
4,
5,
6].
Most conventional calibration methods fail to account for the influence of the robot arm’s self-weight and external payload on joint angle errors during calibration. For instance, the model presented by Jiang et al. [
7,
8,
9] relies solely on fixed kinematic parameters. Likewise, Li et al. [
10], Chen et al. [
11], and Yang et al. [
12] applied the product of exponentials (POE) theory to formulate a calibration framework; nevertheless, all kinematic parameters in their approach still remained constant.
Apart from the research previously discussed, other research has also been conducted on the compliance properties of robotic joints. A number of publications have introduced calibration methods for non-kinematic parameters using mass distribution information about the links. For instance, Klimchik et al. [
13] and Nubiola et al. [
14,
15,
16] proposed enhanced models incorporating both kinematic and non-kinematic parameters. Gong et al. [
17] formulated non-kinematic parameters in terms of gravitational and center-of-mass variables—which are often impractical to measure directly—thereby eliminating the necessity of identifying these challenging quantities explicitly. Other efforts have targeted non-kinematic parameters resulting from external loads. Chen and Kao [
18], for example, created a comprehensive stiffness model that translates joint space to Cartesian space, using techniques such as the conservative congruence transformation (CCT), to support calibration in the presence of external loads. Dumas et al. [
19] refined the model into a more streamlined form, allowing for simplified stiffness calibration while largely preserving precision. Zhou et al. [
20] broadened the framework to include both geometric inaccuracies and non-kinematic parameters. To enhance identifiability in real-world settings, Mamedov et al. [
21] proposed a group of simplified models derived from parameter scaling and noise impact assessments. Theissen et al. [
22] also presented an innovative calibration technique that integrates external loads with diverse directions and magnitudes. Assuming known gravitational and mass properties for each link, Nubiola and Bonev [
23] suggested another stiffness model. Furthermore, Du et al. [
24] and Chen et al. [
25] established functional mappings relating two categories of non-kinematic parameters to end-effector positioning inaccuracies.
Based on the calibration models above, there are relatively few studies on parameter identification. The main method used is iterative identification without weight variation. That is, the error parameters identified in the previous round are compensated into the calibration model, and then the error parameters for the next round are solved. This process continues until the error parameters identified in a certain round are below the set threshold. Finally, the identification results of each round are accumulated to obtain the final error parameter results [
11,
23,
26]. Some scholars have also proposed identification algorithms based on the Levenberg–Marquardt algorithm, which can adaptively adjust the damping factor in each iteration. This factor is multiplied by the identity matrix and then added to the Jacobian matrix of the least squares method to ensure that the matrix remains positive definite in each iteration [
27].
These elasto-geometrical coupling modeling methods have the following four issues: (1) Calibration models are designed for industrial robot arms with high assembly precision, strong rigidity, and fewer degrees of freedom. The angular parameter errors and non-kinematic parameter values contained in these models are small, and the model dimensions are low. Therefore, the linearization errors introduced during modeling are small, and the models are well-conditioned. Simple iterative algorithms can achieve high-precision identification results. However, when dealing with large linearization errors and high-dimensional models, these methods are prone to divergence and are not suitable for redundant robot arms with lower assembly precision, higher flexibility, and more degrees of freedom. (2) Calibration models treat non-kinematic parameters and the influence of gravity as independent quantities to be identified and rely on simple geometric relationships to establish mappings from these parameters to joint angle errors. As a result, they are only applicable to typical industrial robot arms with two long links and two adjacent parallel joints. When applied to redundant robot arms with consistent link lengths, a large number of joints, and adjacent joints that are perpendicular to each other, the above mappings become highly nonlinear, making it difficult to linearize the calibration model. (3) The calibration models that adopted polynomials to model non-kinematic parameters only considered the pose impact of distal joints on the target joint, ignoring the impact of proximal ones. This strategy was effective on the industrial robot with only six joints but not applicable to the hyper-redundant one. In addition, most of these polynomials were constructed with high order or in a form (e.g., a series of trigonometric functions) that was difficult to map linearly, which probably resulted in ill-conditioned calibration models. (4) The identification algorithms currently used in robotic arm calibration are only suitable for low-dimensional calibration models. When facing high-dimensional ones, due to the large number and variety of error parameters, and the significant differences in linearization errors, the relatively simple and uniform iteration strategies of traditional identification algorithms find it difficult to converge the iterations to high-precision results. In summary, existing calibration methods are no longer sufficient for the calibration needs of elasto-geometrical coupling redundant robot arms. There is an urgent need for improvements in the completeness of parameter errors, the generalization of calibration models, and the convergence of identification algorithms.
To this end, this paper has three contributions: (1) The functional relationship between the joint angle errors and all joint angles is constructed based on Chebyshev polynomials during the modeling phase, thereby characterizing the flexible characteristics of the robot arm’s joints. (2) An elasto-geometrical coupling calibration model is established, which integrates kinematic parameter errors and non-kinematic errors, enhancing the completeness and generalization of the model. (3) With the aim of gradually reducing the impact of linearization errors, specific iteration rules are established for each type of parameter and integrated into a single iterative identification algorithm.
The remainder of this paper is organized as follows.
Section 2 establishes the elasto-geometrical error model. Based on this,
Section 3 establishes the calibration model.
Section 4 proposes the iterative identification algorithm.
Section 5 performs a simulation to validate the convergence of the identification algorithm and the accuracy of the identification results on an elastic robot arm with 12 joints.
Section 6 performs an experiment on a cable-driven robot arm with eight joints to demonstrate the accuracy of this new calibration model and the effectiveness of the identification algorithm.
Section 7 draws conclusions.
2. Bi-Directional Coupling Elasto-Geometrical Error Model
As shown in
Figure 1, the coordinate systems of each joint of a serial redundant robot arm with k degrees of freedom (revolute joints) are established based on the Modified Denavit–Hartenberg (MDH) convention, namely the base coordinate system F
0 of the redundant robot arm and the joint coordinate systems F
i (
i = 1, 2, …,
k).
Let
i−1Ti denote the transformation matrix from the frame F
i−1 to F
i. Based on the MDH convention, the forward kinematic model of the
i-th joint of the redundant robot arm is given by the following:
Let
Rx(
αi) and
Rz(
θi) denote the transformation matrices for rotations about the
X-axis and
Z-axis of the joint coordinate system, respectively. Let
Dx(
ai) and
Dz(
di) denote the transformation matrices for translations along the
X-axis and
Z-axis of the joint coordinate system, respectively.
αi,
ai,
θi, and
di are the nominal MDH parameters for joint
i, where
αi,
ai, and
di are fixed values related to the structure, and
θi is the joint angle command corresponding to the
i-th joint in the
j-th measurement configuration. Then,
i−1Ti in Equation (1) is calculated by
The MDH parameter errors for the i-th joint can be represented as Δui = [δαi, δai, δθi, δdi]T. Let Sθi and Cθi denote sin(θi) and cos(θi), respectively.
The redundant robot arm has a long and flexible arm structure, with a lower load-bearing capacity compared to industrial robot arms. It is not suitable for tasks such as machining that involve large loads and variable force directions. Instead, it is well-suited for tasks like detection, welding, and light-load assembly. Therefore, the primary source of flexibility errors is the additional bending of the elastic joints caused by the self-weight of the arm (including the end-effector), which affects the joint angle
θi. First, the posture of the arm determines the lever arm of the gravitational moment acting on the axis of the target joint
i. Thus, the joint angle error
δθi caused by gravity should be represented as a function of all joint angles {
θ1, …,
θk}. Let
(
i = 1, 2, …,
k) denote the normalized joint angle values and
θi(min) and
θi(max) represent the minimum and maximum values of
θi, respectively, which are determined by the joint angle limits of the robot arm. Then, this yields
Let the set {
iξ(0),
iξ1(1),
iξi(2), …,
iξk(1),
iξk(2)} (where
i = 1, 2, …,
k) represent the polynomial coefficients, defined as the non-kinematic parameters here. Based on this, a combination of second-order Chebyshev polynomials is used to represent
δθi as
It should be noted that the second-order Chebyshev polynomial should originally include 0th-order, 1st-order, and 2nd-order terms. However, in Equation (4), all 0th-order terms are combined into iξ(0) to avoid parameter redundancy.
Then, the total error parameter vector is established as
Then, Jacobian
can be constructed as
Based on the theory of differential transformations [
25], the mapping matrix
Ci from Δ
ui to the pose error of F
i is
Further, by combining Equations (9) and (10), Jacobian
Jk is constructed as
Then,
Chi can be constructed as
And
CCheb can be obtained as
Now, in the
j-th measurement configuration used for calibration, by combining Equations (13) and (14), the Jacobian which maps the parameter vector Δ
U to the pose error vector
Ej of the last joint can be constructed as
4. Identification Algorithm
The calibration process is illustrated in
Figure 2. The modeling procedure is detailed in
Section 3, while the processes of the identification algorithm and the compensation algorithm are shown in the “adaptive iterative identification” and “classified compensation” modules in
Figure 2, respectively.
Step 1: Let the MDH parameters of the robot arm at the j-th measurement configuration obtained from the q-th iteration be denoted as U(q) = [α1(q), a1(q), θ1(q), d1(q), …, αi(q), ai(q), θi(q), di(q), …, αk(q), ak(q), θk(q), dk(q)]T. When q = 0, U(0) represents the nominal MDH parameters of the robot arm, where {θ1(0), θ2(0), …,θk(0)} are the joint angle commands at the j-th measurement configuration. Based on U(0), establish Equation (24). Define the result increment ΔU obtained from Equation (24) for the first time as the first identification result ΔU(1) = [δα1(1), δa1(1), Δθ1(1), δd1(1), …, δαi(1), δai(1), Δθi(1), δdi(1), …, δαk(1), δak(1), Δθk(1), δdk(1)]T, where q = 1. If ||ΔU(1)|| < εU, where εU is a predefined threshold, the iteration stops, and ΔU(1) is considered the final identification result. If ||ΔU(1)|| ≥ εU, proceed to the next step.
Step 2: Multiply the set {δα1(1), …, δαk(1)} in ΔU(1) by the weight w1 and then add them, respectively, to the set {α1(0), …, αk(0)} in U(0) to obtain {α1(1), …, αk(1)}. Multiply the set {Δθ1(1), …, Δθk(1)} by the weight w2 and substitute w2{Δθ1(1), …, Δθk(1)} and {θ1(0), …, θk(0) } into Equations (4) and (5) to obtain {δθ1(1), …, δθk(1)}, then add them, respectively, to {θ1(0), …, θk(0)} to get {θ1(1), …, θk(1)}. Multiply the sets {δa1(1), …, δak(1)} and {δd1(1), …, δdk(1)} by the weight w3 and then add them, respectively, to the sets {a1(0), …, ak(0)} and {d1(0), …, dk(0)} to obtain {d1(1), …, dk(1)}. The weights w1, w2, and w3 need to be manually set, and usually 0 < {w1, w2, w3} ≤ 1. Based on U(1) = [α1(1), a1(1), θ1(1), d1(1), …, αk(1), ak(1), θk(1), dk(1)]T, the calibration model of Equation (24) can be re-established.
Step 3: If the matrix JTJ is positive definite and the number of iterations is less than εI, then ΔU(2) can be directly obtained from Equation (24) and let q = q + 1. Here, εI is a threshold set manually. If the matrix JTJ is negative definite or semi-positive definite or the number of iterations reaches εI, then multiply w1, w2, and w3 by the reduction coefficients to get μ1w1, μ2w2, and μ3w3, respectively (μ1, μ2, and μ3 need to be set manually, and usually 0 < {μ1, μ2, μ3} < 1), and re-execute Step 1 to establish Equation (24) with q unchanged.
Step 4: Repeat Steps 1 to 3 until
w1 <
εw1,
w2 <
εw2, or
w3 <
εw3 still holds while ||Δ
U(q)|| ≥
εU, at which point the iteration stops. Multiply
w1,
w2, and
w3 by the reduction coefficients to get
σ1w1,
σ2w2, and
σ3w3, respectively, then let
q = 1 and execute Steps 1 to 3. Here,
εw1,
εw2,
εw3,
σ1,
σ2, and
σ3 need to be set manually, and usually 0 < {
σ1,
σ2,
σ3} < 1. If ||Δ
U(q)|| <
εU, then the iteration stops. Now, Δ
U can be obtained by
Step 5: In each load condition, the corresponding identification result Δ
U can be obtained. If there are six sets of loads, then a total of six sets of Δ
U will be obtained. Since
iξ(0),
δαi, δai, and
δdi are independent of joint elasticity, they do not change with the load. Therefore, the average values of
iξ(0),
δαi, δai, and
δdi from the six sets of Δ
U are taken as the final identification results. However, {
iξ1(1),
iξ1(2),
iξ2(1),
iξ2(2), …,
iξk(1),
iξk(2)} represent joint elasticity and thus vary with the load. Therefore, their sample set is constructed as shown in
Table 1.
In
Table 1, the subscripts “(
mF2)” and “(
mF3)” represent the identification results of the non-kinematic parameters {
iξ1(1),
iξ1(2), …,
iξk(1),
iξk(2)} under the loads
mF2 and
mF3, respectively. When a tool with a known weight
mt is installed at the end of the robot arm, the sample interval where
mt is located is first determined (here it is assumed that
mt in [
mF2,
mF3]), and in actual implementation, it is determined according to the actual situation). Then, based on
Table 1 and the following formula, linear interpolation can be performed to obtain the identification results of the non-kinematic parameters corresponding to the external load {
iξ1(1)t,
iξ1(2)t, …,
iξk(1)t,
iξk(2)t}.
Step 6: Based on the identification results obtained in Step 5, the compensation of Δ
U is carried out in three sub-steps. First, for
i = 1~
k, take
iξ(0) from Δ
U at any measurement configuration as the zero-position error of the
i-th joint, and then compensate all
iξ(0) synchronously in the control system. Next, add {
δαi,
δai,
δdi} from Δ
U to {
αi,
ai,
di} from
U(0), respectively, to obtain the actual values {
αi,
ai,
di} for the inverse kinematic solution (details are not repeated here). Finally, for
i = 1~
k, subtract
δθ’i from the joint
i rotation angle command obtained from the inverse solution to obtain the final compensated rotation angle commands for all joints. Here,
δθ’i is
The δθi in Equation (27) is obtained by first performing linear interpolation as described in Step 5 to get {iξ1(1)t, iξ1(2)t, …, iξk(1)t, iξk(2)t} and then substituting these values into Equation (4) to perform calculations at the corresponding joint rotation angle commands obtained from the inverse solution.
5. Simulation
The simulation is performed on the MATLAB platform (R2023b, 2.10 GHz CPU). The procedure of the simulation is summarized in
Figure 3.
Step 1: According to the joint numbers adopted by most hyper-redundant robot arms, here, let
k = 12, and assume that the nominal values of the MDH parameters of the redundant robot arm are as shown in
Table 2, where the values are similar to those of our self-developed prototype. The MDH parameter error values and non-kinematic parameter values are as shown in
Table 3, where
iξ1(1)~
iξ12(2) are set based on the elasticity of the material used for the joint drive cables in our prototype. The structural parameters {
δαi,
δai,
iξ(0),
δdi} are set according to the arm assembly error and zero position error, where the values are larger than those usually observed on industrial robots because the cable-driven robot arm is difficult to manufacture and assemble with very high precision. The error data obtained in previous studies [
28,
29,
30] were also used as the basis for the assumed values. The iterative parameters are
w1 = 1;
w2 =
w3 = 0.5;
σ1 =
σ2 =
σ3 = 0.5; and
μ1 =
μ2 =
μ3 = 0.5, where the values are set according to our experience that the initial results of
δαi and
iξ(0) are relatively accurate, while those of
δai,
δdi and
iξ1(1)~
iξ12(2) have large identification errors in most cases. The thresholds are
εU = 0.00001;
εI = 200;
εw1 = 0.01; and
εw2 =
εw3 = 0.005.
Step 2: Use the DETMAX algorithm [
7,
8,
9] to select the measurement configurations {
θ1, …,
θ12}
j (
j = 1, 2, …, 60).
Step 3: Simulate the end-effector pose error vector
E. The elements of the pose error
Ej = [Δ
xj, Δ
yj, Δ
zj, Δ
αj, Δ
βj, Δ
γj]
T required in Equation (21) are obtained as follows
where
0T12a is obtained with the following equation in the case of {
θ1, …,
θ12}
In Equation (29),
(i−1)aTia represents the actual
(i−1)Ti affected by Δ
ui, which is obtained by replacing {
αi,
ai,
θi,
di} in Equation (2) with {
αi +
δαi,
ai +
δai,
θi +
δθi,
di +
δdi}. Here,
δαi,
δai, and
δdi are given in
Table 3, and
δθi is obtained from Equation (4), {
θ1, …,
θ12}
j, and {
iξ(0),
iξ1(1),
iξi(2), …,
iξ12(1),
iξ12(2)} in
Table 3. In Equation (28),
0T12 is obtained from Equation (1) at
i = 12 and the measured configuration {
θ1, …,
θ12}
j. By combining
Ej at the 60 measured configurations according to Equation (23), the complete pose error vector
E can be established.
Step 4: Substitute the obtained E into Equation (24) to establish the calibration model.
Step 5: Obtain Δ
U(1) and Δ
U according to
Section 4.
Step 6: The identification accuracy of the
o-th element in Δ
U(1) and Δ
U (where
o represents the index of the error parameter in the Δ
U vector) is denoted by
δU(o) and is calculated using the following equation
where Δ
Uca(
o) is the identification result corresponding to the assumed value Δ
U(
o), and the identification accuracy
δU(
o) of Δ
U(1) and Δ
U is shown in
Figure 4.
Step 7: Randomly generate 1000 measurement points within the workspace of the robot arm, as shown in
Figure 5.
Then, compensate for the identification results of Δ
U(1) and Δ
U, respectively, and calculate the absolute positioning residual
Ere of the 12th joint of the robot arm after the first calibration iteration of the new method and after the complete calibration iteration of the new method at the
test-th measurement point (where
test = 1, 2, …, 1000), using the following formula.
The method for calculating the residuals after the first step of the new method’s iterative calibration and after the complete iterative calibration of the new method is similar to Equation (31). The differences are that the measurement configurations
j are all replaced by the measurement point
test, and the values of
δαi,
δai,
δdi, and {
iξ(0),
iξ1(1),
iξi(2), …,
iξ12(1),
iξ12(2)} are the corresponding identified values from Δ
U(1) and Δ
U. The statistical results of
Ere for all measurement points are shown in
Figure 6.
Step 8: Obtain the positioning error of the uncalibrated robot arm at measurement point
test using a method similar to Equation (31), which serves as a control group for the two sets of residuals mentioned above. In Equation (31), Δ
xtest, Δ
ytest, and Δ
ztest are the corresponding components of
E obtained in Step 3. The statistical results of the control group are also shown in
Figure 6.
Step 9: Plot the values of ||Δ
U(q)|| obtained from each iteration of the new method, as shown in
Figure 7.
Step 10: After compensating for the identification results from each iteration of the new method, calculate the positioning residual of the robot arm at the 1000 measurement points using Equation (30). The results are shown in
Figure 8.
Figure 4 indicates that the identification accuracies
δU(o) after the new method’s iterative convergence are all improved to be better than 0.025%, while some of those after the initial identification are extremely wrong (1 × 10
3%~9 × 10
3%).
Figure 6 shows that the initial calibration and the iterative calibration using the new method can reduce the median residuals to 28.629 mm and 1.051 × 10
−4 mm, respectively. Among them, the iterative calibration using the new method achieves the smallest residual, improving the calibration accuracy to about 99.975%.
Figure 7 demonstrates that ||Δ
U(q)|| gradually decreases with the increase in the number of iterations and eventually tends towards a stable and small value (smaller than 0.00001).
Figure 8 shows that the positioning residuals gradually decrease with the increase in the number of iterations and finally stabilize. The curves in
Figure 7 and
Figure 8 exhibit several inflection points where the residuals do not decrease but increase before convergence. This occurs when the iteration encounters a situation where
JTJ is not positive definite, leading to a tendency for the iteration to diverge. However, the adaptive weighting strategy of the identification algorithm enables ||Δ
U(q)|| and the positioning residuals to quickly resume their downward trend and ultimately converge. The overall results show that the new method achieves a generalized representation of non-kinematic errors and enhances the completeness of the calibration model, more accurately representing the coupled characteristics of the robot arm’s rigidity and flexibility. Moreover, the new method overcomes the problem of the increased linearization errors caused by the dramatic increase in the dimensions of non-kinematic parameters through an iterative identification algorithm, ensuring the accuracy of parameter identification.