# Calibration of Collaborative Robots Based on Position Information and Local Product of Exponentials

Authors: Guanbin Gao; Yangtao Gao; Fei Liu; Jing Na
Journal: Journal of Sensors
 (2022)

---

## Abstract

To improve the positioning accuracy of collaborative robots, a novel modeling and calibration method for collaborative robots is proposed based on position information and modified local product of exponentials (LPoE). The kinematic error model is derived from the kinematic model through differential transformation. To solve the problem of the high redundancy and complexity of the error model that is difficult to identify, the errors of the kinematic parameters are all transferred to the initial position and posture matrix of the local coordinate system, which simplifies the error model and improves the speed and accuracy of the identification calculation. However, the simplified error model still requires posture data which are very difficult to acquire in practice. For this reason, the position error is separated from the kinematic model, and an error model based on position data is established. Then, a kinematic calibration method of the collaborative robot based on position data is proposed, which simplifies the measurement process and improves the efficiency of calibration. The effectiveness of the method is verified by simulations and experiments on a six degree-of-freedom collaborative robot.


---

## Body

## 1. Introduction

With the development of robots and the change of manufacturing mode, the working field of robots is expanding to realize natural interaction with humans, e.g., collaborative robots begin to be applied in unstructured environments to cooperate with humans. The collaborative robot is a new type of industrial robots, which can directly interact with people in the designated cooperative area [1]. Compared with traditional industrial robots, collaborative robots have the advantages of high security, universality, sensitivity, easy to use, and man-machine cooperation, which can be applied in the field of industrial production, family services, and rehabilitation medicine [2–4]. Generally, the actual kinematic parameters of the robot are inconsistent with the nominal parameters in its controller for the error of manufacturing and assembly and the stress deformation of joints and linkages, which results in control errors and reduces the positioning accuracy of the robot. Moreover, the collaborative robot is an open-chain mechanism with low stiffness and error accumulation and amplification. Therefore, the accuracy of the collaborative robot is much lower than that of traditional orthogonal instruments, and it cannot be applied to cases with high accuracy requirements, such as measuring, precision assembly, turning, and milling [5, 6].Kinematic calibration is one of the main methods to improve the absolute positioning accuracy of robots, which is the process of identifying the actual kinematic parameters of the robots by using advanced measurement means and model-based parameter identification method, and compensating them to the controller of robots or compensating to improve positioning accuracy [7]. Kinematic calibration has been a research hotspot in the field of robots [8–10], which consists of four steps:kinematic modeling, pose measuring, parameter identification, and compensation [11]. Most kinematic models in the controller of robots are based on Denavit-Hartenberg (D-H) method [12]. However, when two adjacent axes of the robot are parallel, the Jacobian matrix of the D-H model will be singular [13]; that is, the kinematic solution has abrupt changes and discontinuities, which results in coupling problem between some of the kinematic parameters [14]. To solve the singularity, Park et al. [15] proposed a kinematic modeling method, i.e., PoE, which only needs to build the base and tool coordinate systems on the 0th linkage and the end. Nevertheless, the PoE error model contains a finite integral term, which is not an explicit form and is inconvenient to use leading to the identifiability of its kinematic parameters cannot be determined [16]. He et al. [17] modified the PoE model by deriving the differential solution formula of exponential mapping on joint twists and variables and established an error model based on PoE model with explicit expression, which is the main PoE method used in kinematic calibration at present. Jiang et al. [18] used the PoE model to analyze the position space relationship of joints’ axis under different geometric errors and proposed a calibration model including joint errors. Wang et al. [19] proposed a self-kinematic system for an on-orbit space manipulator based on PoE formula, which can measure the position and posture of the manipulator without using external measurement devices.In the kinematic parameter identification of robots, the D-H model only needs the end position data of robots, while the traditional PoE model also needs to obtain the position and posture data of robots. It is difficult to obtain posture data in practice. The operation is cumbersome, time-consuming, and difficult to ensure its accuracy [20]. Therefore, the traditional PoE model is difficult to be applied in the actual kinematic calibration of robots.There are13×n parameters in the traditional PoE-based error model which is very difficult to be identified. In this paper, to simplify the error model and improve the redundancy, the error model is simplified by transferring all the errors of the kinematic parameters to the initial position and posture matrix, to avoid the use of posture data which is difficult to obtain. The position error is separated from the kinematic model, and an error model based on position data is established. Then, a kinematic calibration method of collaborative robot based on position data is proposed, which simplifies the measurement process and improves the efficiency of calibration.


## 2. Kinematic Modeling based on LPoE for the Collaborative Robot

In this section, the transformation of the local coordinate system of the adjacent linkages is derived, based on which the LPoE kinematic model of a typical six degree-of-freedom collaborative robot is established.


### 2.1. Description of the Coordinate System of Adjacent Linkages

Figure1 shows a typical six degree-of-freedom collaborative robot. Unlike general industrial robots, the axes of the second, third, and fourth joints of the collaborative robot are parallel to each other.Figure 1
The six degree-of-freedom collaborative robot.Like the D-H model, the LPoE model uses a local coordinate system to describe the motion relationship of adjacent links [21]. As shown in Figure 2, the relationship between the adjacent linkages i−1 and i can be written as (1).
(1)Ti−1,iqi=Ti−1,i0es∧iqi,where Ti−1,i0∈SE3 is the initial transformation matrix between coordinate systems of i and i−1, s^i∈so3 denotes the twist of joint i, qi denotes the rotation angle of joint i, and es∧iqi is a matrix:
(2)es∧iqi=ew∧iqiviqi01,where ew∧iqi=I+w^isinqi+w^i21−cosqi.Figure 2
The coordinate systems of adjacent joints.Furthermore,s^i can be written in the coordinate system i:
(3)s^i=w^ivi00,where vi=vix,viy,vizT∈ℜ3×1 and w^i∈so3 are the crossproduct matrixes of wi=wix,wiy,wiz∈ℜ3×1. w^i can be written as
(4)w^i=0−wizwiywiz0−wix−wiywix0.To be consistent with existing robot position and posture description methods,Ti−1,i0∈SE3 can be written as the form of position and posture matrix:
(5)Ti−1,i0=Ri−1,i0di−1,i001,7where Ri−1,i0∈SO3 and di−1,i0∈ℜ3×1 denote the initial posture and position , respectively.


### 2.2. Kinematic Modeling for the Robot

Based on the coordinate systems of adjacent joints, the kinematic model of the six degree-of-freedom collaborative robot can be derived as follows:(6)T0,6q1,q2,⋯,q6=T0,1q1T1,2q2⋯T5,6q6=T0,10es∧1q1T1,20es∧2q2⋯T5,60es∧6q6.T6,7 is used to denote the transformation from the flange to the tool of the robot. Then, the position and posture matrix of the tool will be
(7)T0,7q1,q2,⋯,q6=T0,10es∧1q1T1,20es∧2q2⋯T5,60es∧6q6T6,7.Following the method of LPoE, the coordinate systems of the robot were established as shown in Figure3. The nominal value of the twists is s1=s2=s3=s4=s5=s6=001000T. The nominal kinematic parameters can be determined according to the structural size of the robot, as shown in Table 1.Figure 3
The coordinate systems and twists of the robot.Table 1
The kinematic parameters of the robot.
NameH1W1L1W2L2W3H2W4Value [mm]96138418114398989889


## 2.1. Description of the Coordinate System of Adjacent Linkages

Figure1 shows a typical six degree-of-freedom collaborative robot. Unlike general industrial robots, the axes of the second, third, and fourth joints of the collaborative robot are parallel to each other.Figure 1
The six degree-of-freedom collaborative robot.Like the D-H model, the LPoE model uses a local coordinate system to describe the motion relationship of adjacent links [21]. As shown in Figure 2, the relationship between the adjacent linkages i−1 and i can be written as (1).
(1)Ti−1,iqi=Ti−1,i0es∧iqi,where Ti−1,i0∈SE3 is the initial transformation matrix between coordinate systems of i and i−1, s^i∈so3 denotes the twist of joint i, qi denotes the rotation angle of joint i, and es∧iqi is a matrix:
(2)es∧iqi=ew∧iqiviqi01,where ew∧iqi=I+w^isinqi+w^i21−cosqi.Figure 2
The coordinate systems of adjacent joints.Furthermore,s^i can be written in the coordinate system i:
(3)s^i=w^ivi00,where vi=vix,viy,vizT∈ℜ3×1 and w^i∈so3 are the crossproduct matrixes of wi=wix,wiy,wiz∈ℜ3×1. w^i can be written as
(4)w^i=0−wizwiywiz0−wix−wiywix0.To be consistent with existing robot position and posture description methods,Ti−1,i0∈SE3 can be written as the form of position and posture matrix:
(5)Ti−1,i0=Ri−1,i0di−1,i001,7where Ri−1,i0∈SO3 and di−1,i0∈ℜ3×1 denote the initial posture and position , respectively.


## 2.2. Kinematic Modeling for the Robot

Based on the coordinate systems of adjacent joints, the kinematic model of the six degree-of-freedom collaborative robot can be derived as follows:(6)T0,6q1,q2,⋯,q6=T0,1q1T1,2q2⋯T5,6q6=T0,10es∧1q1T1,20es∧2q2⋯T5,60es∧6q6.T6,7 is used to denote the transformation from the flange to the tool of the robot. Then, the position and posture matrix of the tool will be
(7)T0,7q1,q2,⋯,q6=T0,10es∧1q1T1,20es∧2q2⋯T5,60es∧6q6T6,7.Following the method of LPoE, the coordinate systems of the robot were established as shown in Figure3. The nominal value of the twists is s1=s2=s3=s4=s5=s6=001000T. The nominal kinematic parameters can be determined according to the structural size of the robot, as shown in Table 1.Figure 3
The coordinate systems and twists of the robot.Table 1
The kinematic parameters of the robot.
NameH1W1L1W2L2W3H2W4Value [mm]96138418114398989889


## 3. The Error Modeling Based on LPoE for the Collaborative Robot

In this section, the error modeling of the collaborative robot based on LPoE is proposed and simplified. Then, the pose-based and position-based error models are derived, respectively. The identification method and flow chart based on the least square method are presented.


### 3.1. Error Modeling and Simplifying

The kinematic model, i.e., (7) can be written as the function of T0, s, and q:
(8)T=fT0,s,q,where T0=T0,10,T1,20,⋯,T6,70T, s=s1,s2,⋯,s6T, and q=q1,q2,⋯,q6T.By linearization of (8), the error model can be derived:
(9)δTT−1=∂f∂T0δT0+∂f∂sδs+∂f∂qδqT−1,where δTT-1 denotes the error of position and posture of the tool in the base coordinate system, which can be calculated by subtracting the measuring position and posture from the nominal ones. Kinematic parameters can be obtained by identification with the measuring data and the error model. The objective function of the identification model is generally set as the least square solution, i.e.,
(10)Min∑δTT−1−∂f∂T0δT0+∂f∂sδs+∂f∂qδqT−1.There are 13 parameters to be identified in each joint in (10), and there are 6 joints in the collaborative robot. So, many parameters make the parameter identification model highly redundant and complicated. It is very difficult to directly identify the parameters.To solve the problem of high redundancy and complexity of the error model based on LPoE, the simplified error model will be presented. As shown in Figure4, the nominal coordinate system of joint ioixiyizi and the actual coordinate system oiaxiayiazia are not coincident for the error of kinematic parameters, i.e., the nominals Ti−1,i0, si and qi are not equal to the actual Tai−1,i0, sia, and qia. For the local coordinate system of LPoE can be assigned arbitrarily, the following two assumptions are proposed [21]: (1) the kinematic error only exists in the initial position and posture of the local coordinate system T0, and (2) the nominal values of qi and si remain unchanged in the whole parameter identification calculation process.Figure 4
The error of kinematic parameters in coordinate systems.Based on these assumptions, a new local coordinate systemTic0=oicxicyiczic is set at each joint as the intermedia coordinate system in the following identification, as shown in Figure 4. Then, qic and sic will remain unchanged as qi and si in the identification. Therefore, (9) and (10) can be simplified as
(11)δTT−1=∂f∂T0δT0T−1,Min∑δTT−1−∂f∂T0δT0T−1.


### 3.2. Error Modeling Based on Position and Posture

According to Chasles theorem [22], for a given homogeneous transformation matrix T∈SE3, there is at least one coordinate twist p^∈se3 such that ep∧=T. Then, one can obtain (12) according to (1).
(12)ep∧i=Ti−1,i0,where p^i∈se3i=1,2,⋯,7. Then, (7) can be rewritten as
(13)T0,7=ep∧1es∧1q1ep∧2es∧2q2⋯ep∧6es∧6q6ep∧7.Letδp^i denote the error of p^i. Then, one can obtain δp^i=e−p∧iδep∧i and δep∧i=ep∧iδp^i. By linearization of (13), one can get
(14)δT0,7=δep∧1es∧1q1ep∧2es∧2q2⋯ep∧6es∧6q6ep∧7+ep∧1es∧1q1δep∧2es∧2q2⋯ep∧6es∧6q6ep∧7+⋯+ep∧1es∧1q1⋯ep∧5es∧5q5δep∧6es∧6q6ep∧7+ep∧1es∧1q1⋯ep∧6es∧6q6δep∧7=ep∧1δp^1es∧1q1ep∧2es∧2q2⋯ep∧6es∧6q6ep∧7+ep∧1es∧1q1ep∧2δp^2es∧2q2⋯ep∧6es∧6q6ep∧7+⋯+ep∧1es∧1q1⋯ep∧5es∧5q5ep∧6δp^6es∧6q6ep∧7+ep∧1es∧1q1⋯ep∧6es∧6q6ep∧7δp^7.Right multiplyingT0,7−1 both sides of (14), one can get (15) in the form of adjoint transformation.
(15)δT0,7T0,7−1=Ade1p^1δp^1+Ade1p^1es∧1q1Adep∧2δp^2+⋯+Adep∧1es∧1q1ep∧2es∧2q2⋯ep∧6es∧6q6Adep∧7δp^7,where δT0,7T0,7−1∈SE3 denotes the total error of kinematic parameters of the robot relative to the base coordinate system. Ad is the adjoint transformation defined as
(16)Ad:SE3↦R6×6,g=RP01↦Adg=RP^R0R,where g is a homogeneous transformation matrix, R is the orthogonal matrix in g, and P^ is the antisymmetric matrix of P. According to the matrix logarithm calculation formula defined in SE (3), δT0,7T0,7−1 can be written as
(17)δT0,7T0,7−1=logT0,7aT0,7−1,where T0,7a denotes the actual position and posture. Components of SE(3) can be expressed by δp^i↦δpi∈R6×1 and logT0,7aT0,7−1↦logT0,7aT0,7−1∨∈R6×1. Then, (15) can be rewritten as
(18)logT0,7aT0,7−1∨=AdT0,10δp1+AdT0,1AdT1,20δp2+⋯+AdT0,6AdT6,70δp7,where T0,7=ep∧1es∧1q1ep∧2es∧2q2⋯ep∧6es∧6q6ep∧7 denotes the transformation from coordinate system 0th to 7th. The initial position and posture transformation of linkage i relatively to i−1 is
(19)Ti−1,ic0=ep∧ieδp∧i=Ti−1,i0eδp∧i.(18) can be written in the form of linear equations:
(20)y=Ax,where
(21)y=logT0,7aT0,7−1∨∈R6×1,x=δp1,δp2,⋯,δp7T∈R67×1,A=AdT0,10,AdT0,1AdT1,20,⋯,AdT0,6AdT6,70∈R6×6×7.T0,7−1 and A can be obtained from the nominal model. T0,7a can be obtained by measuring, usually a laser tracker. x denotes the error of the kinematic parameters to be identified. To improve the accuracy and robustness of the identification, it is usually necessary to measure the position and posture of the tool under different configurations of the robot. If m times of measuring are required, at the i-th time, the position and posture error yi and the corresponding adjoint mapping matrix Ai can be obtained. After finishing acquiring m measuring data, yi and Ai are substituted into (22).
(22)Y=y1⋮ym=A1⋮Amx=Ax,where
(23)Y=y1,y2,⋯,ymT∈R6m×1,x=δp1,δp2,⋯,δp7T∈R6×7×1,A=A1,A2,⋯,Am∈R6m×6×7.Since the model consists of6×m linear equations and variables, when m>7, the linear least squares algorithm can be used for parameter identification, and the least squares solution of x is
(24)x=ATA−1ATY,where ATA−1AT is the pseudoinverse of A.T0 can be initialized with the nominal value, i.e., T0=T0,10,T1,20,⋯,T6,70T. x can be calculated by acquired data and (24). Then, T0 can be updated by (19) till the objective function approaches 0 or T(0) converges to a stable value. Then, the stable T0 is set as the initial position and posture, i.e., T0=T0,10c,T1,20c,⋯,T6,70cT. (7) can be written as (25) after the nominal position and posture matrix is substituted with the above identified one.
(25)T0,7=T0,1c0es∧1q1T1,2c0es∧2q2⋯T5,6c0es∧6q6T6,7c.


### 3.3. Error Modeling Based on Position

In practice, the posture of the robot is very difficult to obtain, which is time consuming and complicated. One error modeling method based on position is presented in this paper.Right multiplyingP0 both sides of (13), one can get
(26)P1=T0,7P0=ep1es∧1q1ep2es∧2q2⋯ep6es∧6q6ep7P0,where P denotes the position of the tool, P0=0,0,0,1T. Then, the position error model can be obtained by differentiating (26):
(27)δP0=δT0,7P01+T0,7δP00.According to the assumptions above, i.e., the kinematic error only exists in the initial position and posture of the local coordinate systemT0, (27) can be written as
(28)δP0=δT0,7P01=δT0,7T0,7−1T0,7P01=δT0,7T0,7−1P1=−P^I300δT0,7T0,7−1∨.By substituting (18) into (28), one can get
(29)δP=−P^I3AdT0,10δp1+AdT0,1AdT1,20δp2+⋯+AdT0,6AdT6,70δp7.(29) can be simplified as
(30)y=Jx,where y=δP=Pa−Pn∈R3×1, Pn denotes the nominal position, Pa denotes the actual position, x=δp1,δp2,⋯δp7T∈R6×7×1, and J=−P^I3AdT0,10,AdT0,1AdT1,20,⋯AdT0,6AdT6,70∈R6×6×7.The position of the tool can be measuredm times at different configurations. Then, with these measured data, the kinematic parameter identification equations can be obtained as shown in (31).
(31)Y=y1⋮ym=J1⋮Jmx=Jx.One can solve (31) by the iterative least square method with the termination condition of the iteration as ‖x‖<ε, as shown in Figure 5. And the least square solution is
(32)x=JTJ−1JTY.Figure 5
The flow chart of kinematic parameters identification by the iterative least square method.


## 3.1. Error Modeling and Simplifying

The kinematic model, i.e., (7) can be written as the function of T0, s, and q:
(8)T=fT0,s,q,where T0=T0,10,T1,20,⋯,T6,70T, s=s1,s2,⋯,s6T, and q=q1,q2,⋯,q6T.By linearization of (8), the error model can be derived:
(9)δTT−1=∂f∂T0δT0+∂f∂sδs+∂f∂qδqT−1,where δTT-1 denotes the error of position and posture of the tool in the base coordinate system, which can be calculated by subtracting the measuring position and posture from the nominal ones. Kinematic parameters can be obtained by identification with the measuring data and the error model. The objective function of the identification model is generally set as the least square solution, i.e.,
(10)Min∑δTT−1−∂f∂T0δT0+∂f∂sδs+∂f∂qδqT−1.There are 13 parameters to be identified in each joint in (10), and there are 6 joints in the collaborative robot. So, many parameters make the parameter identification model highly redundant and complicated. It is very difficult to directly identify the parameters.To solve the problem of high redundancy and complexity of the error model based on LPoE, the simplified error model will be presented. As shown in Figure4, the nominal coordinate system of joint ioixiyizi and the actual coordinate system oiaxiayiazia are not coincident for the error of kinematic parameters, i.e., the nominals Ti−1,i0, si and qi are not equal to the actual Tai−1,i0, sia, and qia. For the local coordinate system of LPoE can be assigned arbitrarily, the following two assumptions are proposed [21]: (1) the kinematic error only exists in the initial position and posture of the local coordinate system T0, and (2) the nominal values of qi and si remain unchanged in the whole parameter identification calculation process.Figure 4
The error of kinematic parameters in coordinate systems.Based on these assumptions, a new local coordinate systemTic0=oicxicyiczic is set at each joint as the intermedia coordinate system in the following identification, as shown in Figure 4. Then, qic and sic will remain unchanged as qi and si in the identification. Therefore, (9) and (10) can be simplified as
(11)δTT−1=∂f∂T0δT0T−1,Min∑δTT−1−∂f∂T0δT0T−1.


## 3.2. Error Modeling Based on Position and Posture

According to Chasles theorem [22], for a given homogeneous transformation matrix T∈SE3, there is at least one coordinate twist p^∈se3 such that ep∧=T. Then, one can obtain (12) according to (1).
(12)ep∧i=Ti−1,i0,where p^i∈se3i=1,2,⋯,7. Then, (7) can be rewritten as
(13)T0,7=ep∧1es∧1q1ep∧2es∧2q2⋯ep∧6es∧6q6ep∧7.Letδp^i denote the error of p^i. Then, one can obtain δp^i=e−p∧iδep∧i and δep∧i=ep∧iδp^i. By linearization of (13), one can get
(14)δT0,7=δep∧1es∧1q1ep∧2es∧2q2⋯ep∧6es∧6q6ep∧7+ep∧1es∧1q1δep∧2es∧2q2⋯ep∧6es∧6q6ep∧7+⋯+ep∧1es∧1q1⋯ep∧5es∧5q5δep∧6es∧6q6ep∧7+ep∧1es∧1q1⋯ep∧6es∧6q6δep∧7=ep∧1δp^1es∧1q1ep∧2es∧2q2⋯ep∧6es∧6q6ep∧7+ep∧1es∧1q1ep∧2δp^2es∧2q2⋯ep∧6es∧6q6ep∧7+⋯+ep∧1es∧1q1⋯ep∧5es∧5q5ep∧6δp^6es∧6q6ep∧7+ep∧1es∧1q1⋯ep∧6es∧6q6ep∧7δp^7.Right multiplyingT0,7−1 both sides of (14), one can get (15) in the form of adjoint transformation.
(15)δT0,7T0,7−1=Ade1p^1δp^1+Ade1p^1es∧1q1Adep∧2δp^2+⋯+Adep∧1es∧1q1ep∧2es∧2q2⋯ep∧6es∧6q6Adep∧7δp^7,where δT0,7T0,7−1∈SE3 denotes the total error of kinematic parameters of the robot relative to the base coordinate system. Ad is the adjoint transformation defined as
(16)Ad:SE3↦R6×6,g=RP01↦Adg=RP^R0R,where g is a homogeneous transformation matrix, R is the orthogonal matrix in g, and P^ is the antisymmetric matrix of P. According to the matrix logarithm calculation formula defined in SE (3), δT0,7T0,7−1 can be written as
(17)δT0,7T0,7−1=logT0,7aT0,7−1,where T0,7a denotes the actual position and posture. Components of SE(3) can be expressed by δp^i↦δpi∈R6×1 and logT0,7aT0,7−1↦logT0,7aT0,7−1∨∈R6×1. Then, (15) can be rewritten as
(18)logT0,7aT0,7−1∨=AdT0,10δp1+AdT0,1AdT1,20δp2+⋯+AdT0,6AdT6,70δp7,where T0,7=ep∧1es∧1q1ep∧2es∧2q2⋯ep∧6es∧6q6ep∧7 denotes the transformation from coordinate system 0th to 7th. The initial position and posture transformation of linkage i relatively to i−1 is
(19)Ti−1,ic0=ep∧ieδp∧i=Ti−1,i0eδp∧i.(18) can be written in the form of linear equations:
(20)y=Ax,where
(21)y=logT0,7aT0,7−1∨∈R6×1,x=δp1,δp2,⋯,δp7T∈R67×1,A=AdT0,10,AdT0,1AdT1,20,⋯,AdT0,6AdT6,70∈R6×6×7.T0,7−1 and A can be obtained from the nominal model. T0,7a can be obtained by measuring, usually a laser tracker. x denotes the error of the kinematic parameters to be identified. To improve the accuracy and robustness of the identification, it is usually necessary to measure the position and posture of the tool under different configurations of the robot. If m times of measuring are required, at the i-th time, the position and posture error yi and the corresponding adjoint mapping matrix Ai can be obtained. After finishing acquiring m measuring data, yi and Ai are substituted into (22).
(22)Y=y1⋮ym=A1⋮Amx=Ax,where
(23)Y=y1,y2,⋯,ymT∈R6m×1,x=δp1,δp2,⋯,δp7T∈R6×7×1,A=A1,A2,⋯,Am∈R6m×6×7.Since the model consists of6×m linear equations and variables, when m>7, the linear least squares algorithm can be used for parameter identification, and the least squares solution of x is
(24)x=ATA−1ATY,where ATA−1AT is the pseudoinverse of A.T0 can be initialized with the nominal value, i.e., T0=T0,10,T1,20,⋯,T6,70T. x can be calculated by acquired data and (24). Then, T0 can be updated by (19) till the objective function approaches 0 or T(0) converges to a stable value. Then, the stable T0 is set as the initial position and posture, i.e., T0=T0,10c,T1,20c,⋯,T6,70cT. (7) can be written as (25) after the nominal position and posture matrix is substituted with the above identified one.
(25)T0,7=T0,1c0es∧1q1T1,2c0es∧2q2⋯T5,6c0es∧6q6T6,7c.


## 3.3. Error Modeling Based on Position

In practice, the posture of the robot is very difficult to obtain, which is time consuming and complicated. One error modeling method based on position is presented in this paper.Right multiplyingP0 both sides of (13), one can get
(26)P1=T0,7P0=ep1es∧1q1ep2es∧2q2⋯ep6es∧6q6ep7P0,where P denotes the position of the tool, P0=0,0,0,1T. Then, the position error model can be obtained by differentiating (26):
(27)δP0=δT0,7P01+T0,7δP00.According to the assumptions above, i.e., the kinematic error only exists in the initial position and posture of the local coordinate systemT0, (27) can be written as
(28)δP0=δT0,7P01=δT0,7T0,7−1T0,7P01=δT0,7T0,7−1P1=−P^I300δT0,7T0,7−1∨.By substituting (18) into (28), one can get
(29)δP=−P^I3AdT0,10δp1+AdT0,1AdT1,20δp2+⋯+AdT0,6AdT6,70δp7.(29) can be simplified as
(30)y=Jx,where y=δP=Pa−Pn∈R3×1, Pn denotes the nominal position, Pa denotes the actual position, x=δp1,δp2,⋯δp7T∈R6×7×1, and J=−P^I3AdT0,10,AdT0,1AdT1,20,⋯AdT0,6AdT6,70∈R6×6×7.The position of the tool can be measuredm times at different configurations. Then, with these measured data, the kinematic parameter identification equations can be obtained as shown in (31).
(31)Y=y1⋮ym=J1⋮Jmx=Jx.One can solve (31) by the iterative least square method with the termination condition of the iteration as ‖x‖<ε, as shown in Figure 5. And the least square solution is
(32)x=JTJ−1JTY.Figure 5
The flow chart of kinematic parameters identification by the iterative least square method.


## 4. Simulations

In the simulation, the twists are set as Figure3, and the kinematic parameters are set as Table 1. To simulate the measuring error and test the stability of the error model, Gaussian noise with an expectation of 0 and a variance of 0.2 is applied to the data of positions calculated by the kinematic model of the robot. The settings when calculated the data of positions are the following: (1) the errors of kinematic parameters are δpi′, δqi′, and δsi′, and (2) the actual initial position and posture is set as follows:
(33)Ti−1,ia0=Ti−1,i0eδp∧i′i=1,2,⋯,7.The actual position is calculated by(34)P0,7a=∏i=16Ti−1,ia0es∧i+δs∧i′qi+δqi′T6,7a0P0.All the joints of the robot are one freedom; so, the setting error should meet:‖wi+δwi’‖=1, wi+δwi’Tvi+δvi’=0,si=vi,wiT, and δsi’=δvi’,δwi’T, as shown in Table 2.Table 2
The setting error of the robot.
Jointδpi′δsi′δqi′0-1(0, 0.001, 0.002, 2, 1.5, 0.5)T(0, 0, 0, 0, sin (0.01),−1+cos (0.01))T01-2(0, 0.002, 0.003, -2, 1.2, 2.4)T(0, 0, 0, 0, -sin (0.015), -1+cos (0.015))T0.032-3(0.001, 0.004, 0.003, 2, -1, 2)T(0, 0, 0, sin (0.023), 0,−1+cos (0.023))T0.013-4(0.001, 0.005, 0.002, 2, 1.5, -1)T(0, 0, 0, -sin (0.004), 0,−1+cos (0.004))T0.024-5(0.002, 0.003, 0, -1, 1.6, 2.3)T(0, 0, 0, 0, sin (0.031), -1+cos (0.031))T0.0155-6(0.003, 0.001, -0.004, 2, 3, 1)T(0, 0, 0, sin (0.013), 0, -1+cos (0.013))T0.026-7(0.005, 0.002, -0.003, 1.6, 2, 3.2)T——100 groups of joint angle data are randomly generated, which are substituted to (34) to obtain the actual position data. The position data are divided into two groups: identification group and verification group. With the identification group of position data, the process of iterative convergence is shown in Figure 6 which shows that after 1st iteration, the objective function is reduced greatly; after 10 iterations, the maximum error is reduced from 29.597 mm to 0.146 mm, and the average error is reduced from 6.831 mm to 0.037 mm. The identified parameters are substituted to the kinematic model of the robot to calculate the position error in the three directions of the coordinate system with the verification group of data, and the results are shown in Figure 7 which shows that the maximum error in x, y, and z directions is reduced from 19.797 mm to 0.094 mm, 26.548 mm to 0.092 mm, and 14.626 mm to 0.095 mm, respectively.Figure 6
The process of iterative convergence.Figure 7
The position error in directions ofx, y, and z before and after calibration in simulations.
(a)
The position error in thex direction(b)
The position error in they direction(c)
The position error in thez direction


## 5. Experiments

To further verify the calibration method based on position information and LPoE model proposed in this paper, a calibration experiment was carried out on a six degree-of-freedom collaborative robot, the repeated positioning accuracy of which is 0.03 mm. The measuring instrument is RADIAN Pro R20 of API, and the measuring radium and accuracy are 20 m and15μm+0.7μm/m, respectively. The measuring software is Spatial Analyzer (SA) of New River Kinematics. The experimental system is shown in Figure 8.Figure 8
The experimental system of calibration for the collaborative robot.100 groups of joint angles are generated in the measurable space of the laser tracker, 70 groups of which are identification sets and the other 30 groups are verification sets. According to Figure5, the kinematic parameters are identified, and the verification results are shown in Figure 9. The results show that after calibration, the maximum error in x, y, and z directions is reduced from 3.171 mm to 0.393 mm, 3.258 mm to 0.678 mm, and 3.297 mm to 0.560 mm, respectively. Therefore, the accuracy of the collaborative robot is increased greatly by the proposed calibration method based on position data and improved LPoE.Figure 9
The position error in directions ofx, y, and z before and after calibration in experiments.
(a)
The position error in thex direction(b)
The position error in they direction(c)
The position error in thez direction


## 6. Conclusions

The kinematic model of the collaborative robot based on the LPoE model was established, and the corresponding error model and calibration method were derived. The calibration method was verified by simulation, which proved the validity of the error model and the calibration method. A six degree-of-freedom collaborative robot was used as the experimental objective, and the API RADIAN Pro R20 laser tracker was used as the measurement equipment to perform kinematic parameter calibration experiments which show that the positioning errors of the six degree-of-freedom collaborative robot decrease from 3.171 mm, 3.258 mm, and 3.297 mm to 0.393 mm, 0.678 mm, and 0.560 mm in the directions ofx, y, and z, respectively, after kinematic parameter calibration. Therefore, the proposed calibration method is effective.However, the residuals are still about 0.6 mm after calibration. The main reason is that kinematic calibration cannot eliminate the influence of nongeometric errors such as the elastic deformation of the joint. In the future, relevant research work will be carried out on nongeometric errors to further improve the positioning accuracy of the robot.



---

*Source: 2815164-2022-03-04.xml*