Hostname: page-component-586b7cd67f-t8hqh Total loading time: 0 Render date: 2024-11-25T05:08:24.020Z Has data issue: false hasContentIssue false

Kinematic calibration of a 5-DOF double-driven parallel mechanism with sub-closed loop on limbs

Published online by Cambridge University Press:  14 October 2024

Xuhao Wang
Affiliation:
College of Aeronautical Engineering, Civil Aviation University of China, Tianjin, China
Shuo Sun
Affiliation:
College of Aeronautical Engineering, Civil Aviation University of China, Tianjin, China
Mengli Wu*
Affiliation:
College of Aeronautical Engineering, Civil Aviation University of China, Tianjin, China
Yiran Cao
Affiliation:
College of Aeronautical Engineering, Civil Aviation University of China, Tianjin, China
Zhiyong Guo
Affiliation:
College of Aeronautical Engineering, Civil Aviation University of China, Tianjin, China
Zefu Liu
Affiliation:
College of Aeronautical Engineering, Civil Aviation University of China, Tianjin, China
*
Corresponding author: Mengli Wu; Email: [email protected]
Rights & Permissions [Opens in a new window]

Abstract

This paper proposes a kinematic calibration method of a novel 5-degree-of-freedom double-driven parallel mechanism with the sub-closed loop on limbs. At first, considering the introduction of a sub-closed loop significantly increased the complexity and difficulty of kinematic error modeling, an equivalent transformation method is proposed for the limb with a sub-closed loop. Then kinematic error model of the parallel mechanism is established based on the closed-loop vector method and parasitic motion analysis, which is verified by virtual prototype technology. Because the full kinematic error model is generally redundant, error parameter identifiability analysis is carried out by QR decomposition of the identification Jacobian matrix, and the redundant parameters are removed. Additionally, the Sequence Forward Floating Search algorithm is utilized to optimize measurement configurations to reduce the influence of measurement noise. Finally, with a laser tracker as the measuring device, numerical simulations and experiments are implemented to verify the proposed kinematic calibration method. The experiment results show that average position and orientation errors are reduced from 2.778 mm and 1.115° to 0.263 mm and 0.176°, respectively, within the prescribed workspace.

Type
Research Article
Copyright
© The Author(s), 2024. Published by Cambridge University Press

1. Introduction

The 5-degree-of-freedom (DOF) parallel kinematic mechanisms have been widely applied in high-precision machining and manufacturing because of their high stiffness and load-bearing capacity [Reference Jiang, Huang, Zhu, Fang, Tian, Xie, Zhang, Zhao, Gu and Kong1]. For traditional parallel mechanisms, the number of DOF is usually the same as the number of limbs with actuated joints; that is, each limb has only one actuated joint [Reference Wang, Duan and Li2, Reference Peng, Cheng, Che, Cui and Jin3]. If the parallel mechanism has more than 3-DOF, multiple limbs will cause complex structures and lead to easy interference between limbs [Reference Liu, Fan and Ding4]. To solve this problem, the hybrid mechanisms [Reference Laryushkin, Antonov, Fomin and Essomba5, Reference Antonov, Fomin, Glazunov, Petelin and Filippov6] are composed of stacking kinematic chains with a parallel or serial structure. As an alternative, several double-driven parallel mechanisms [Reference Wang, Lin, Cao, Wu and Sun7Reference Schreiber and Gosselin11] are proposed to reduce the number of limbs while ensuring the number of DOFs. Among these innovation explorations, a novel 5-DOF double-driven parallel mechanism has been presented in our previous research [Reference Wang, Lin, Cao, Wu and Sun7], which achieves 5-DOF of the moving platform with only three limbs, showing good application foreground. Notably, to increase stiffness and simplify control, actuated revolute joints in this double-driven parallel mechanism are designed as a sub-closed loop, making it challenging to assemble precisely. Such assembly errors naturally degrade accuracy. Hence, developing an error identification and compensation method for this parallel mechanism is essential.

Over the past few decades, accuracy improvement has attracted much attention and has extensively been studied in the academic community. It is well-known that if the mechanism has high repeatability, kinematic calibration is the most efficient and economical approach for accuracy improvement [Reference Kansal and Mukherjee12], which generally includes four steps: error modeling, measurement, identification, and compensation. And, the error modeling and parameter identification issues will be mainly focused on in this paper.

Error modeling aims to build a mapping relationship between the end-effector’s (EE) pose error and component geometric errors. The existing kinematic error modeling methods can be divided into two main categories: matrix-based method and vector-based method [Reference Luo, Chen, Fan, Xiong, Zheng, Zhang and Yang13]. The matrix-based methods are generally based on forward kinematics of the mechanisms and matrix calculus. According to the construction method of the homogeneous transformation matrix, the matrix-based method can be further categorized into the Denavit–Hartenberg model [Reference Zhang, Cheng, Shan and Guo14], the screw theory [Reference Tian, Shen, Lv and Yin15], the product of exponentials method [Reference Luo, Gao, Huang and Zhang16], and so on. Considering that it is challenging to derive analytical forward kinematics of the parallel mechanisms due to their multi-closed loop structure, the matrix-based methods have mainly been utilized for the serial mechanisms or parallel mechanisms with a simple serial chain on each limb till now. In contrast, the vector-based method is mainly based on the geometric constraints of the mechanism [Reference Ni, Zhang and Sun17]. For example, the closed-loop vector method based on inverse kinematics has been widely applied to parallel mechanisms [Reference Tang, Chi, Fang and Zhang18Reference Chen, Kong, Li and Wang20]. However, because this method requires differentiating the closed-loop vector equation or adding first-order linear perturbation, introducing a sub-closed loop on limbs would significantly increase the complexity and difficulty of kinematic error modeling by the closed-loop vector method. To solve this problem, the step-by-step modeling method has been proposed [Reference Guo, Wang, Fan, Chen and Zhao21Reference Song, Zhang, Lian and Sun23]. First, the sub-closed loop’s error transfer equation is separately established using the geometric conditions. Then, this transfer equation of the sub-closed loop is integrated into that of the limb according to the principle of linear superposition. The equivalent transformation method is another alternative solution for the kinematics modeling of parallel mechanisms with the sub-closed loop on limbs [Reference Li, Li, Jiang, Zhang and Wang24]. Because of the unique properties of different parallel mechanisms, to the authors’ knowledge, there is still no one consistent kinematic error modeling method. How to derive the accurate kinematic error model of parallel mechanism with a sub-closed loop remains an open issue.

Besides, due to the characteristics of parallel mechanisms, it is notable that the full kinematic error model generally does not meet the minimality condition; that is, some parameters in the model are redundant [Reference Yin, Tian, Liu, Huang and Chetwynd25]. Therefore, parameter identifiability analysis is becoming essential. The analysis of kinematic parameter identifiability has predominantly relied on numerical methods or experience. Chen et al. [Reference Chen, Zhang and Sun26] applied QR decomposition of identification Jacobian to determine the redundant parameters. Gao et al. [Reference Gao, Sun, Na, Guo and Wu27] utilized singular value decomposition (SVD) for model redundancy analysis. Tian et al. [Reference Tian, Mou, Yang and Yin28] conducted correlation analysis on the column of the identification matrix of a 5-DOF hybrid machine tool to eliminate the unidentifiable parameters. Due to its high numerical stability, the QR decomposition will be utilized in this paper. Currently, the available parameter identification methods include nonlinear and linear identification methods [Reference Wang, Xie, Jiang, He and Chen29]. Among them, linear least squares have been widely utilized for error parameter identification of parallel mechanisms [Reference Ni, Zhang and Sun17, Reference Luo, Gao, Zhang, Chen and Chen19, Reference Guo, Wang, Fan, Chen and Zhao21, Reference Han, Yu, Xu, Wang, Yu and Zhou30]. Additionally, some authors proposed to improve parameter identification accuracy in calibration experiments by optimizing measurement configurations [Reference Huang, F.Xie and Meng31, Reference Ye and Wu32]. The optimal measurement configurations are generally selected by maximizing or minimizing observability indices, which are defined by the singular value of the identification Jacobian matrix [Reference Ye and Wu32].

Having outlined existing approaches and challenges, this paper focuses on the kinematic calibration method of a novel 5-DOF double-driven parallel mechanism with sub-closed loops. The rest of this paper is organized as follows: In Section 2, the parallel mechanism is introduced. Then kinematics error model is derived based on the equivalent transformation and closed-loop vector method. In Section 3, parameter identifiability analysis is carried out by QR decomposition technology. In Section 4, the Sequence Forward Floating Search algorithm is utilized to optimize the measurement configurations. In Section 5, numerical simulations and experiments are conducted to verify the proposed method. Conclusions are drawn in Section 6.

2. Kinematic error model and verification

2.1. System description

As illustrated in Figure 1, the study subject of this paper is a novel 5-DOF double-driven parallel mechanism, which consists of a fixed base, a moving platform, a PUU limb, and two PR(RPRR)S limbs. Herein, P, R, S, and U represent the prismatic, the revolute, the spherical, and the universal joint, respectively. P specifically refers to an actuated prismatic joint. Compared with traditional parallel mechanisms, the PR(RPRR)S limb has two active joints in one limb (which is also called the double-driven limb), reducing the number of limbs of parallel mechanisms; that is, only three limbs are needed to achieve 5-DOF of the moving platform. This double-driven strategy can effectively increase motion flexibility and reduce interference between limbs, showing good application foreground. Additionally, to increase stiffness and simplify control, actuated revolute joints in the double-driven limbs are designed as a sub-closed loop, significantly increasing the complexity and difficulty of kinematic error modeling.

Figure 1. 3D model: (a) the whole parallel mechanism, (b) PUU limb, and (c) PR(RPRR)S limb.

For the convenience of analysis, the schematic diagram of the 5-DOF double-driven parallel mechanism is shown in Figure2. The base frame $\{O_{1}\}$ is established at the intersection point $O_{1}$ of the extension lines of the three guide rails. The positive direction of $y_{1}$ axis points to the PUU limb rail’s direction, that is, $A_{1}$ . The $z_{1}$ axis is perpendicular to the plane where the three guides are located and points to the side of the moving platform, and the $x_{1}$ axis is determined by the right-hand rule. The origin $O_{2}$ of frame $\{O_{2}\}$ of the moving platform is located at the geometric center of the isosceles right triangle $C_{1}C_{2}C_{3}$ . The $y_{2}$ axis points from $O_{2}$ to $C_{1}$ . The $x_{1}$ axis is parallel to $\boldsymbol{C}_{3}\boldsymbol{C}_{2}$ and points to $C_{2}$ , and the $z_{2}$ axis can be determined by the right-hand rule. According to the above frame definition, the 5-DOF of the moving platform can be expressed as three translation motions (along $x_{1}, y_{1}$ , and $z_{1}$ axis) and two rotation motions (around $x_{1}$ and $y_{1}$ axis) [Reference Wang, Lin, Cao, Wu and Sun7]. The main geometric parameters and corresponding notations of this 5-DOF parallel mechanism are shown in Table 1.

Table 1. Geometric parameters of the 5-DOF parallel mechanism.

Figure 2. Schematic diagram of the 5-DOF parallel mechanism.

2.2. Kinematic error modeling of the parallel mechanism

The closed-loop vector method is utilized for the 5-DOF double-driven parallel mechanism under study for kinematic error modeling. Error transfer equations of each limb should be derived by using the geometric relations. Especially, an equivalent transformation method will be proposed for the limb with a sub-closed loop. Then kinematic error model of the whole parallel mechanism can be established by combining the error transfer equations and the differential form of parasitic motion.

2.2.1 Error transfer equation of PUU limb

The closed-loop vector of the PUU limb is shown in Figure3. $\boldsymbol{u}_{1}$ is the unit direction vector of the fixed-length rod $B_{1}C_{1}$ . $\boldsymbol{p}$ is the position vector of the origin $O_{2}$ of moving platform frame $\{O_{2}\}$ . $\boldsymbol{w}_{1}$ is the unit direction vector of $\boldsymbol{O}_{1}\boldsymbol{A}_{1}$ , and $\boldsymbol{c}_{1}$ is the position vector of $C_{1}$ in frame $\{O_{2}\}$ . The closed-loop vector equation of PUU limb can be expressed as

Figure 3. Schematic diagram of PUU limb.

(1) \begin{equation} \mathit{g}_{1}\boldsymbol{w}_{1}+\boldsymbol{b}_{1}+l_{1}\boldsymbol{u}_{1}=\boldsymbol{p}+\boldsymbol{R}\boldsymbol{c}_{1} \end{equation}

where $\boldsymbol{w}_{1}=\left[\begin{array}{c@{\quad}c@{\quad}c} \cos \varphi _{1} & \sin \varphi _{1} & 0 \end{array}\right]^{T}, \varphi _{1}=\frac{\pi }{2}, \boldsymbol{b}_{1}=\left[\begin{array}{c@{\quad}c@{\quad}c} 0 & 0 & h \end{array}\right]^{T}, \boldsymbol{c}_{1}=\left[\begin{array}{c@{\quad}c@{\quad}c} 0 & \frac{2}{3}d & 0 \end{array}\right]^{T}$ . $\boldsymbol{R}$ is the orientation matrix of frame $\{O_{2}\}$ with respect to frame $\{O_{1}\}$ .

According to X-Y-Z Euler angle notations, $\boldsymbol{R}$ can be expressed as

(2) \begin{equation} \boldsymbol{R}=\boldsymbol{Rot}\left(x, \alpha \right)\boldsymbol{Rot}\left(y,\beta \right)\boldsymbol{Rot}\left(z,\gamma \right)=\left[\begin{array}{c@{\quad}c@{\quad}c} \textrm{c}\beta \textrm{c}\gamma & -\textrm{c}\beta \textrm{s}\gamma & \textrm{s}\beta \\ \textrm{c}\alpha \textrm{s}\gamma +\textrm{s}\alpha \textrm{s}\beta \textrm{c}\gamma & \textrm{c}\alpha \textrm{c}\gamma -\textrm{s}\alpha \textrm{s}\beta \textrm{s}\gamma & -\textrm{c}\beta \textrm{s}\alpha \\ \textrm{s}\alpha \textrm{s}\gamma -\textrm{c}\alpha \textrm{s}\beta \textrm{c}\gamma & \textrm{s}\alpha \textrm{c}\gamma +\textrm{c}\alpha \textrm{s}\beta \textrm{s}\gamma & \textrm{c}\alpha \textrm{c}\beta \end{array}\right] \end{equation}

where $\textrm{c}\alpha =\cos \alpha, \textrm{s}\alpha =\sin \alpha$ . Then, differentiate Eq. (1), ignore the high-order infinitesimal terms, and yield

(3) \begin{equation} d\mathit{g}_{1}\boldsymbol{w}_{1}+\mathit{g}_{1}d\boldsymbol{w}_{1}+d\boldsymbol{b}_{1}+dl_{1}\boldsymbol{u}_{1}+l_{1}d\boldsymbol{u}_{1}=d\boldsymbol{p}+d\boldsymbol{R}\boldsymbol{c}_{1}+\boldsymbol{R}d\boldsymbol{c}_{1} \end{equation}

where $d\boldsymbol{w}_{1}=d_{e}\boldsymbol{w}_{1}d\varphi _{1}=[\begin{array}{c@{\quad}c@{\quad}c} {-}\sin \varphi _{1} & \cos \varphi _{1} & 0 \end{array}]^{T}d\varphi _{1}$ . To eliminate the unknown differential term d u 1, taking dot products on both sides of Eq. (3) with $\boldsymbol{u}_{1}$ , the error transfer equation of the PUU limb can be obtained as

(4) \begin{equation} {\boldsymbol{u}_{1}}^{\!T}d\boldsymbol{p}+\left(\boldsymbol{R}\boldsymbol{c}_{1}\times \boldsymbol{u}_{1}\right)^{T}\boldsymbol{J}_{{\unicode[Arial]{x03A9}} }d\boldsymbol{\Omega }=d\mathit{l}_{1}-{\boldsymbol{u}_{1}}^{\!T}\boldsymbol{R}d\boldsymbol{c}_{1}+{\boldsymbol{u}_{1}}^{\!T}d\mathit{g}_{1}\boldsymbol{w}_{1}+\mathit{g}_{1}{\boldsymbol{u}_{1}}^{\!T}d_{e}\boldsymbol{w}_{1}d\varphi _{1}+{\boldsymbol{u}_{1}}^{\!T}d\boldsymbol{b}_{1} \end{equation}

where $\boldsymbol{J}_{{\unicode[Arial]{x03A9}} }\boldsymbol{=}\left[\begin{array}{c@{\quad}c@{\quad}c} 1 & 0 & \sin \beta \\ 0 & \cos \alpha & -\sin \alpha \cos \beta \\ 0 & \sin \alpha & \cos \alpha \cos \beta \end{array}\right], d\boldsymbol{\Omega }\boldsymbol{=}[\begin{array}{c@{\quad}c@{\quad}c} d\alpha & d\beta & d\gamma \end{array}]^{T}$ is the X-Y-Z Euler angle error vector. $d\boldsymbol{p}=[\begin{array}{c@{\quad}c@{\quad}c} dx & dy & dz \end{array}]^{T}$ is the position error vector of frame $\{O_{2}\}$ with respect to frame $\{O_{1}\}$ .

2.2.2 Error transfer equation of PR(RPRR)S limbs

Considering that two double-driven PR(RPRR)S limbs have the same structure and are placed symmetrically, the modeling process of only one limb is described here. Notably, for the general closed-loop vector method, a single closed-loop vector equation can only be applied for one vector closed-loop. Therefore, kinematic error modeling of limbs with a sub-closed loop by using the closed-loop vector method is a challenging problem. To solve this problem, that is, establishing the error transfer equation of the PR(RPRR)S limb, an equivalent transformation method is proposed: (1) The PR(RPRR)S limb is equivalently transformed to a PRPS limb; that is, B 2 and $C_{2}$ are directly connected by a virtual P joint, as shown in Figure4(b). Then error transfer equation of the PRPS limb can be calculated. (2) Geometric errors of the sub-closed loop are integrated into that of the limb based on geometric conditions. The detailed derivation process is expressed as follows.

Figure 4. Schematic diagram of double-driven limb: (a) PR(RPRR)S limb and (b) equivalent PRPS limb.

From Figure4(b), the closed-loop vector equation of the equivalent PRPS limb can be obtained as

(5) \begin{equation} g_{2}\boldsymbol{w}_{2}+\boldsymbol{b}_{2}^{}{+}{}L_{22}\boldsymbol{u}_{22}=\boldsymbol{p}+\boldsymbol{Rc}_{2}^{}{}{} \end{equation}

where $\boldsymbol{w}_{2}=\left[\begin{array}{c@{\quad}c@{\quad}c} \cos \varphi _{2} & \sin \varphi _{2} & 0 \end{array}\right]^{T}, \varphi _{2}=\frac{\pi }{4}, \boldsymbol{b}_{2}=\left[\begin{array}{c@{\quad}c@{\quad}c} 0 & 0 & h \end{array}\right]^{T}$ . $\boldsymbol{u}_{22}$ is the unit direction vector of $\boldsymbol{B}_{2}\boldsymbol{C}_{2}, L_{22}$ is the corresponding length. $\boldsymbol{c}_{2}=\left[\begin{array}{c@{\quad}c@{\quad}c} d & -\frac{1}{3}d & 0 \end{array}\right]^{T}$ is represented in frame $\{O_{2}\}$ . Next, differentiate Eq. (5), ignore the high-order infinitesimal terms, and yield

(6) \begin{equation} dg_{2}\boldsymbol{w}_{2}+g_{2}d\boldsymbol{w}_{2}+d\boldsymbol{b}_{2}+dL_{22}\boldsymbol{u}_{22}+L_{22}d\boldsymbol{u}_{22}=d\boldsymbol{p}+d\boldsymbol{R}\boldsymbol{c}_{2}+\boldsymbol{R}d\boldsymbol{c}_{2} \end{equation}

where $d\boldsymbol{w}_{2}=[\begin{array}{c@{\quad}c@{\quad}c} {-}\sin \varphi _{2} & \cos \varphi _{2} & 0 \end{array}]^{T}d\varphi _{2}=d_{e}\boldsymbol{w}_{2}d\varphi _{2}$ . $\boldsymbol{u}_{22}=[\begin{array}{c@{\quad}c@{\quad}c} {-}\sin \varphi _{2}\cos \theta _{22} & \cos \varphi _{2}\cos \theta _{22} & \sin \theta _{22} \end{array}]^{T}$ , $\theta _{22}$ is the rotation angle of the revolute joint at $B_{2}$ . By taking the derivative of $\boldsymbol{u}_{22}$ and ignoring higher-order infinitesimal terms, d u 22 can be represented as $\mathit{d}\boldsymbol{u}_{22}=\left[\begin{array}{c@{\quad}c} -\cos \varphi _{2}\cos \theta _{22} & \sin \varphi _{2}\sin \theta _{22}\\ -\sin \varphi _{2}\cos \theta _{22} & -\cos \varphi _{2}\sin \theta _{22}\\ 0 & \cos \theta _{22} \end{array}\right]\left[\begin{array}{l} d\varphi _{2}\\ d\theta _{22} \end{array}\right]$ . Taking dot products on both sides of Eq. (6) with $\boldsymbol{w}_{2}$ , Eq. (6) is rewritten as

(7) \begin{equation} {\boldsymbol{w}_{2}}^{T}d\boldsymbol{p}+\left(\boldsymbol{R}\boldsymbol{c}_{2}\times \boldsymbol{w}_{2}\right)^{T}\boldsymbol{J}_{{\unicode[Arial]{x03A9}} }d\boldsymbol{\Omega }=dg_{2}-{\boldsymbol{w}_{2}}^{T}\boldsymbol{R}d\boldsymbol{c}_{2}+{\boldsymbol{w}_{2}}^{T}d\boldsymbol{b}_{2}-L_{22}\cos \theta _{22}d\varphi _{2} \end{equation}

Taking dot products on both sides of the Eq. (6) with $\boldsymbol{u}_{22}$ . It is obvious that, ${\boldsymbol{u}_{22}}^{T}\boldsymbol{w}_{2}=0$ , then we obtain

(8) \begin{equation} {\boldsymbol{u}_{22}}^{T}d\boldsymbol{p}+\left(\boldsymbol{R}\boldsymbol{c}_{2}\times \boldsymbol{u}_{22}\right)^{T}\boldsymbol{J}_{{\unicode[Arial]{x03A9}} }d\boldsymbol{\Omega }=g_{2}{\boldsymbol{u}_{22}}^{T}d\boldsymbol{w}_{2}+dL_{22}-{\boldsymbol{u}_{22}}^{T}\boldsymbol{R}d\boldsymbol{c}_{2}+{\boldsymbol{u}_{22}}^{T}d\boldsymbol{b}_{2} \end{equation}

Notably, the above derivation is focused on the equivalent PRPS limb. To consider the effects of the sub-closed loop on PR(RPRR)S limb as shown in Figure4(a), based on the cosine law of triangles $D_{1}E_{1}F_{1}$ and $B_{2}C_{2}D_{1}$ , the variable $L_{22}$ can be derived as

(9) \begin{equation} L_{22}=\sqrt{\left(l_{2}+l_{5}\right)^{2}+{l_{3}}^{2}+\left(l_{2}+l_{5}\right)l_{3}\frac{{l_{4}}^{2}+{l_{5}}^{2}-{g_{4}}^{2}}{l_{4}l_{5}}} \end{equation}

Then, differentiate Eq. (9), and ignore the high-order infinitesimal terms; dL 22can be calculated as

(10) \begin{equation} dL_{22}=\partial \boldsymbol{L}_{22}d\boldsymbol{l}_{22} \end{equation}

where $\partial \boldsymbol{L}_{22}=\left[\begin{array}{c@{\quad}c@{\quad}c@{\quad}c@{\quad}c} \dfrac{\partial L_{22}}{\partial l_{2}} & \dfrac{\partial L_{22}}{\partial l_{3}} & \dfrac{\partial L_{22}}{\partial l_{4}} & \dfrac{\partial L_{22}}{\partial l_{5}} & \dfrac{\partial L_{22}}{\partial g_{4}} \end{array}\right], d\boldsymbol{l}_{22}=\left[\begin{array}{c@{\quad}c@{\quad}c@{\quad}c@{\quad}c} dl_{2} & dl_{3} & dl_{4} & dl_{5} & dg_{4} \end{array}\right]^{T}$ .

By substituting Eqs. (10) to (8), (8) can be rewritten as

(11) \begin{equation} {\boldsymbol{u}_{22}}^{T}d\boldsymbol{p}+\left(\boldsymbol{R}\boldsymbol{c}_{2}\times \boldsymbol{u}_{22}\right)^{T}\boldsymbol{J}_{{\unicode[Arial]{x03A9}} }d\boldsymbol{\Omega }=g_{2}{\boldsymbol{u}_{22}}^{T}\mathit{d}_{\mathit{e}}\boldsymbol{w}_{2}d\varphi _{2}+\partial \boldsymbol{L}_{22}d\boldsymbol{l}_{22}-{\boldsymbol{u}_{22}}^{T}\boldsymbol{R}d\boldsymbol{c}_{2}+{\boldsymbol{u}_{22}}^{T}d\boldsymbol{b}_{2} \end{equation}

Similarly, error transfer equations of the other PR(RPRR)S limb can be formulated as

(12) \begin{equation} {\boldsymbol{w}_{3}}^{T}d\boldsymbol{p}+\left(\boldsymbol{R}\boldsymbol{c}_{3}\times \boldsymbol{w}_{3}\right)^{T}\boldsymbol{J}_{{\unicode[Arial]{x03A9}} }d\boldsymbol{\Omega }=dg_{3}-{\boldsymbol{w}_{3}}^{T}\boldsymbol{R}d\boldsymbol{c}_{3}+{\boldsymbol{w}_{3}}^{T}d\boldsymbol{b}_{3}+L_{33}\cos \theta _{33}d\varphi _{3} \end{equation}
(13) \begin{equation} {\boldsymbol{u}_{33}}^{T}d\boldsymbol{p}+\left(\boldsymbol{R}\boldsymbol{c}_{3}\times \boldsymbol{u}_{33}\right)^{T}\boldsymbol{J}_{{\unicode[Arial]{x03A9}} }d\boldsymbol{\Omega }=g_{3}{\boldsymbol{u}_{33}}^{T}d_{e}\boldsymbol{w}_{3}d\varphi _{3}+\partial \boldsymbol{L}_{33}d\boldsymbol{l}_{33}-{\boldsymbol{u}_{33}}^{T}\boldsymbol{R}d\boldsymbol{c}_{3}+{\boldsymbol{u}_{33}}^{T}d\boldsymbol{b}_{3} \end{equation}

where $\varphi _{3}=\dfrac{3}{4}\pi, \partial \boldsymbol{L}_{33}=\left[\begin{array}{c@{\quad}c@{\quad}c@{\quad}c@{\quad}c} \dfrac{\partial L_{33}}{\partial l_{6}} & \dfrac{\partial L_{33}}{\partial l_{7}} & \dfrac{\partial L_{33}}{\partial l_{8}} & \dfrac{\partial L_{33}}{\partial l_{9}} & \dfrac{\partial L_{33}}{\partial g_{5}} \end{array}\right], d\boldsymbol{l}_{33}=\left[\begin{array}{c@{\quad}c@{\quad}c@{\quad}c@{\quad}c} dl_{6} & dl_{7} & dl_{8} & dl_{9} & dg_{5} \end{array}\right]^{T}$ .

2.2.3 Error modeling of whole parallel mechanism considering a parasitic motion

To derive kinematic error modeling of the whole parallel mechanism, error transfer equations of the three limbs, that is, Eqs. (4)and (7) and Eqs. (11) to (13) should be combined, resulting in a matrix equation as

(14) \begin{equation} \boldsymbol{J}_{1}d\boldsymbol{X}=\boldsymbol{J}_{2}d\boldsymbol{W}_{1} \end{equation}

where $d\boldsymbol{X}=[\begin{array}{c@{\quad}c} d\boldsymbol{p} & d\boldsymbol{\Omega } \end{array}]^{T}, \ \boldsymbol{J}_{1}=\left[\begin{array}{c@{\quad}c} {\boldsymbol{u}_{1}}^{\!T} & (\boldsymbol{R}\boldsymbol{c}_{1}\times \boldsymbol{u}_{1})^{T}\boldsymbol{J}_{{\unicode[Arial]{x03A9}} }\\ {\boldsymbol{w}_{2}}^{T} & (\boldsymbol{R}\boldsymbol{c}_{2}\times \boldsymbol{w}_{2})^{T}\boldsymbol{J}_{{\unicode[Arial]{x03A9}} }\\ {\boldsymbol{u}_{22}}^{T} & (\boldsymbol{R}\boldsymbol{c}_{2}\times \boldsymbol{u}_{22})^{T}\boldsymbol{J}_{{\unicode[Arial]{x03A9}} }\\ {\boldsymbol{w}_{3}}^{T} & (\boldsymbol{R}\boldsymbol{c}_{3}\times \boldsymbol{w}_{3})^{T}\boldsymbol{J}_{{\unicode[Arial]{x03A9}} }\\ {\boldsymbol{u}_{33}}^{T} & (\boldsymbol{R}\boldsymbol{c}_{3}\times \boldsymbol{u}_{33})^{T}\boldsymbol{J}_{{\unicode[Arial]{x03A9}} } \end{array}\right]_{5\times 6}, \ \boldsymbol{J}_{2}=\left[\begin{array}{c} \begin{array}{c@{\quad}c} \boldsymbol{N}_{1} & \boldsymbol{0}_{1\times 26} \end{array}\\ \begin{array}{c@{\quad}c@{\quad}c} \boldsymbol{0}_{1\times 9} & \boldsymbol{N}_{2} & \boldsymbol{0}_{1\times 18} \end{array}\\ \begin{array}{c@{\quad}c@{\quad}c} \boldsymbol{0}_{1\times 10} & \boldsymbol{N}_{3} & \boldsymbol{0}_{1\times 13} \end{array}\\ \begin{array}{c@{\quad}c@{\quad}c} \boldsymbol{0}_{1\times 22} & \boldsymbol{N}_{4} & \boldsymbol{0}_{1\times 5} \end{array}\\ \begin{array}{c@{\quad}c} \boldsymbol{0}_{1\times 23} & \boldsymbol{N}_{5} \end{array} \end{array}\right]_{5\times 35}$ ,

$\boldsymbol{N}_{1}=\left[\begin{array}{c@{\quad}c@{\quad}c@{\quad}c@{\quad}c} {\boldsymbol{u}_{1}}^{\!T}\boldsymbol{w}_{1} & -{\boldsymbol{u}_{1}}^{\!T}\boldsymbol{R} & {\boldsymbol{u}_{1}}^{\!T} & 1 & \mathit{g}_{1}{\boldsymbol{u}_{1}}^{\!T}d_{e}\boldsymbol{w}_{1} \end{array}\right]_{1\times 9}, \ \boldsymbol{N}_{2}=\left[\begin{array}{c@{\quad}c@{\quad}c@{\quad}c} 1 & -{\boldsymbol{w}_{2}}^{T}\boldsymbol{R} & {\boldsymbol{w}_{2}}^{T} & -L_{22}\cos \theta _{22} \end{array}\right]_{1\times 8}$ ,

$\boldsymbol{N}_{3}=\left[\begin{array}{c@{\quad}c@{\quad}c@{\quad}c} -{\boldsymbol{u}_{22}}^{T}\boldsymbol{R} & {\boldsymbol{u}_{22}}^{T} & \mathit{g}_{2}{\boldsymbol{u}_{22}}^{T}d_{e}\boldsymbol{w}_{2} & \partial \boldsymbol{L}_{22} \end{array}\right]_{1\times 12}, \ \boldsymbol{N}_{4}=\left[\begin{array}{c@{\quad}c@{\quad}c@{\quad}c} 1 & -{\boldsymbol{w}_{3}}^{T}\boldsymbol{R} & {\boldsymbol{w}_{3}}^{T} & L_{33}\cos \theta _{33} \end{array}\right]_{1\times 8}$ ,

$\boldsymbol{N}_{5}=\left[\begin{array}{c@{\quad}c@{\quad}c@{\quad}c} -{\boldsymbol{u}_{33}}^{T}\boldsymbol{R} & {\boldsymbol{u}_{33}}^{T} & \mathit{g}_{3}{\boldsymbol{u}_{33}}^{T}d_{e}\boldsymbol{w}_{3} & \partial \boldsymbol{L}_{33} \end{array}\right]_{1\times 12}$ ,

$d\boldsymbol{W}_{1}={[\begin{array}{c@{\quad}c@{\quad}c@{\quad}c@{\quad}c@{\quad}c@{\quad}c@{\quad}c@{\quad}c@{\quad}c@{\quad}c@{\quad}c@{\quad}c@{\quad}c@{\quad}c} d\mathit{g}_{1} & d\boldsymbol{c}_{1} & d\boldsymbol{b}_{1} & dl_{1} & d\varphi _{1} & d\mathit{g}_{2} & d\boldsymbol{c}_{2} & d\boldsymbol{b}_{2} & d\varphi _{2} & d\boldsymbol{l}_{22} & d\mathit{g}_{3} & d\boldsymbol{c}_{3} & d\boldsymbol{b}_{3} & d\varphi _{3} & d\boldsymbol{l}_{33} \end{array}]^{T}}_{35\times 1}$ .

For the convenience of identification and compensation, Eq. (14) should be expressed in standard form; that is, $d\boldsymbol{X}$ should be derived by using the inverse of $\boldsymbol{J}_{1}$ . Notably, the rank of $\boldsymbol{J}_{1}$ is five, which is less than the dimension of $d\boldsymbol{X}$ , that is, six. Therefore, to obtain a unique solution, an additional constraint equation is needed. Here, the parasitic motion of the 5-DOF parallel mechanism will be analyzed and utilized. From Figure 5, the PUU limb has a geometric constraint; that is, $\boldsymbol{O}_{H}\boldsymbol{B}_{1}, \boldsymbol{B}_{1}\boldsymbol{C}_{1}$ , and $\boldsymbol{O}_{2}\boldsymbol{C}_{1}$ are always coplanar, in other words $(\boldsymbol{O}_{2}\boldsymbol{C}_{1}\times \boldsymbol{B}_{1}\boldsymbol{C}_{1})\cdot \boldsymbol{O}_{H}\boldsymbol{B}_{1}=0$ , which can be formulated as

Figure 5. Geometric constraints on PUU limb of the mechanism.

(15) \begin{equation} -\frac{2}{3}g_{1}\left[\mathit{x}\sin \alpha \cos \gamma +\left(z-h\right)\cos \beta \sin \gamma +\mathit{x}\mathit{\cos }\mathit{\alpha }\sin \beta \sin \gamma \right]=0 \end{equation}

From Eq. (15), there is a mapping relationship between γ and other parameters. In other words, this 5-DOF parallel mechanism has a parasitic motion, which can be described as a small constrained motion in the remaining direction of motion in addition to the motion in the specified direction [Reference Sun and Huo33]. By using Eq. (15), γ can be obtained as

(16) \begin{equation} \gamma =\arctan \left(\frac{-x\sin \alpha }{\left(z-h\right)\cos \beta +\mathit{x}\sin \beta \cos \alpha }\right) \end{equation}

Therefore, the independent parameters of frame $\{O_{2}\}$ can be set as $\boldsymbol{X}'=[\begin{array}{c@{\quad}c@{\quad}c@{\quad}c@{\quad}c} x & y & z & \alpha & \beta \end{array}]^{T}$ , and then the differential relation between $\gamma$ and parameters $\boldsymbol{X}'$ can be formulated as

(17) \begin{equation} d\gamma =\Delta _{\gamma }d\boldsymbol{X}' \end{equation}

where $\Delta _{\gamma }=\left[\begin{array}{c@{\quad}c@{\quad}c@{\quad}c@{\quad}c} \dfrac{\partial \gamma }{\partial x} & \dfrac{\partial \gamma }{\partial y} & \dfrac{\partial \gamma }{\partial z} & \dfrac{\partial \gamma }{\partial \alpha } & \dfrac{\partial \gamma }{\partial \beta } \end{array}\right], \ d\boldsymbol{X}'=\left[\begin{array}{c@{\quad}c@{\quad}c@{\quad}c@{\quad}c} dx & dy & dz & d\alpha & d\beta \end{array}\right]^{T}$ .

The relationship between $d\boldsymbol{X}$ and $d\boldsymbol{X}'$ can be expressed as

(18) \begin{equation} d\boldsymbol{X}=\boldsymbol{J}_{p}d\boldsymbol{X}' \end{equation}

where $\boldsymbol{J}_{p}=\left[\begin{array}{l} \boldsymbol{E}_{5\times 5}\\ \Delta _{\gamma } \end{array}\right]_{6\times 5}, \ \boldsymbol{E}_{5\times 5}$ is the identity matrix. By combining Eqs. (14) and (18), the following equation can be derived:

(19) \begin{equation} \boldsymbol{J}_{1}\boldsymbol{J}_{p}d\boldsymbol{X}'=\boldsymbol{J}_{2}d\boldsymbol{W}_{1} \end{equation}

Thus, the error model of this parallel mechanism is formulated as

(20) \begin{equation} d\boldsymbol{X}=\boldsymbol{J}d\boldsymbol{W}_{1} \end{equation}

where $\boldsymbol{J}\boldsymbol{=}\boldsymbol{J}_{p}(\boldsymbol{J}_{1}\boldsymbol{J}_{p})^{-1}\boldsymbol{J}_{2}, \ \boldsymbol{J}_{1}\boldsymbol{J}_{p}$ is always invertible within the prescribed workspace.

2.3. Base and tool frame error modeling

As shown in Figure6, an external measurement device, that is, laser tracker, is applied in this paper to measure the moving platform pose. A measurement tool needs to be added to the moving platform for this measurement strategy. The machining and assembly errors of the measurement tool will also affect the calibration effect. In addition, the measured pose needs to be converted to the base frame $\{O_{1}\}$ from the measurement frame $\{O_{m}\}$ using a transformation matrix, that is, ${}^{O1}{\boldsymbol{T}}{_{Om}^{}}$ , which is generally unknown and may introduce errors. Therefore, it is necessary to further extend the kinematic error model, that is, Eq. (20), by considering the tool frame and base frame errors.

Figure 6. Measurement of pose error of the moving platform.

First, for tool frame error modeling, a tool frame is built as shown in Figure 6, of which the orientation is the same as frame $\{O_{2}\}$ . Then position vector of $O_{3}$ in frame $\{O_{1}\}$ can be expressed as

(21) \begin{equation}{\boldsymbol{p}}_{O3}={\boldsymbol{p}}+{\boldsymbol{Rt}}\end{equation}

where t is the position vector of tool frame $\{O_{3}\}$ with respect to frame $\{O_{2}\}$ and $\boldsymbol{R}$ is the rotation matrix of frame $\{O_{2}\}$ with respect to frame $\{O_{1}\}$ . Take differentiation on both sides of Eq. (21), resulting in

(22) \begin{equation} d\boldsymbol{p}_{O3}=d\boldsymbol{p}+d\boldsymbol{Rt}+\boldsymbol{R}d\boldsymbol{t} \end{equation}

where $d\boldsymbol{t}$ is the position error vector of frame $\{O_{3}\}$ described in frame $\{O_{2}\}$ .

According to Eq. (20) and the matrix differential theory, $d\boldsymbol{Rt}=-[(\boldsymbol{Rt})\times ]\boldsymbol{J}_{{\unicode[Arial]{x03A9}} }d\boldsymbol{\Omega }$ . Then, by substituting $d\boldsymbol{Rt}$ to Eq. (22), we can obtain

(23) \begin{equation} d\boldsymbol{p}_{O3}=\boldsymbol{J}_{pO3}d\boldsymbol{W}_{2} \end{equation}

where $\boldsymbol{J}_{pO3}=\left[\begin{array}{c@{\quad}c} \boldsymbol{J}_{a}-[(\boldsymbol{Rt})\times ]\boldsymbol{J}_{{\unicode[Arial]{x03A9}} }\boldsymbol{J}_{b} & \boldsymbol{R} \end{array}\right], \ \boldsymbol{J}_{a}$ represents the first three rows of $\boldsymbol{J}$ , while $\boldsymbol{J}_{b}$ is the last three rows. And, $[(\boldsymbol{Rt})\times ]$ is the skew-symmetric matrix of vector $\boldsymbol{Rt}$ . $d\boldsymbol{W}_{2}=[\begin{array}{c@{\quad}c} d\boldsymbol{W}_{1}^{T} & d\boldsymbol{t}^{T} \end{array}]^{T}$ .

As shown in Figure6, the measured pose of the tool frame is described in the measurement frame $\{O_{m}\}$ . For the sake of clarity, the transformation matrix between frame $\{O_{1}\}$ and frame $\{O_{m}\}$ is denoted as ${}^{O1}{\boldsymbol{T}}{_{Om}^{}}$ , which can be expressed specifically as

(24) \begin{equation} {}^{O1}{\boldsymbol{T}}{_{Om}^{}}=\left[\begin{array}{c@{\quad}c} {}^{O1}{\boldsymbol{R}}{_{Om}^{}} & {}^{O1}{\boldsymbol{p}}{_{Om}^{}}\\[5pt] \boldsymbol{0}_{1\times 3} & 1 \end{array}\right] \end{equation}

where ${}^{O1}{\boldsymbol{R}}{_{Om}^{}}$ and ${}^{O1}{\boldsymbol{p}}{_{Om}^{}}$ denote, respectively, the rotation matrix and position vector of frame $\{O_{m}\}$ with respect to frame $\{O_{1}\}$ .

To construct the kinematic error model, kinematic errors of base frame $\{O_{1}\}$ are introduced as $[d\boldsymbol{p}_{0},d\boldsymbol{\Omega }_{0}]^{T}=[dx_{0}\ dy_{0}\ dz_{0}\ d\alpha _{0}\ d\beta _{0}\ d\gamma _{0}]^{T}$ , where $d\boldsymbol{p}_{0}$ and $d\boldsymbol{\Omega }_{0}$ are, respectively, the position error vector and orientation error vector. For the convenience of analysis [Reference Ma, Bazzoli, Sammons, Landers and Bristow34], we define frame $\{O_{1}'\}$ to denote the actual base frame and define frame $\{O_{3}'\}$ to denote the actual tool frame, which are different from the nominal frames, that is, frame $\{O_{1}\}$ and $\{O_{3}\}$ . The defined frames are shown in Figure7.

Figure 7. Schematic diagram of defined frames $\{O_{1}'\}$ and $\{O_{3}'\}$ .

Then, considering kinematic errors of the base frame, in different frames, we can obtain

(25) \begin{equation} {}^{O1^{\prime}}{\boldsymbol{p}}{_{O3^{\prime}}^{}}={}^{O1^{\prime}}{\boldsymbol{R}}{_{Om}^{}}{}^{Om}{\boldsymbol{p}}{_{O3^{\prime}}^{}}+{}^{O1^{\prime}}{\boldsymbol{p}}{_{Om}^{}} \end{equation}
(26) \begin{equation} {}^{O1}{\boldsymbol{p}}{_{O3^{\prime}}^{}}=\left[d\boldsymbol{\Omega }_{0}\times \right]{}^{O1^{\prime}}{\boldsymbol{p}}{_{O3^{\prime}}^{}}+{}^{O1^{\prime}}{\boldsymbol{p}}{_{O3^{\prime}}^{}}+d\boldsymbol{p}_{0} \end{equation}

where ${}^{O1^{\prime}}{\boldsymbol{p}}{_{O3^{\prime}}^{}}$ denotes the position vector of point $O_{3}'$ described in the actual base frame $\{O_{1}'\}$ , while ${}^{O1}{\boldsymbol{p}}{_{O3^{\prime}}^{}}$ is the position vector of point $O_{3}'$ with respect to the nominal base frame $\{O_{1}\}$ . ${}^{O1^{\prime}}{\boldsymbol{R}}{_{Om}^{}}$ is the orientation matrix of frame $\{O_{m}\}$ with respect to frame $\{O_{1}'\}$ .

According to Eqs. (25) and (26), $d{\boldsymbol{p}}_{O3}$ and $d{\boldsymbol{p}}_{mO3}$ can be expressed as

(27) \begin{equation} d\boldsymbol{p}_{O3}={}^{O1}{\boldsymbol{p}}{_{O3^{\prime}}^{}}-{}^{O1}{\boldsymbol{p}}{_{O3}^{}}=d\boldsymbol{p}_{0}-\left[{}^{O1^{\prime}}{\boldsymbol{p}}{_{O3^{\prime}}^{}}\times \right]d\boldsymbol{\Omega }_{0}+{}^{O1^{\prime}}{\boldsymbol{p}}{_{O3^{\prime}}^{}}-{}^{O1}{\boldsymbol{p}}{_{O3}^{}} \end{equation}
(28) \begin{equation} d\boldsymbol{p}_{mO3}={}^{O1^{\prime}}{\boldsymbol{p}}{_{O3^{\prime}}^{}}-{}^{O1}{\boldsymbol{p}}{_{O3}^{}}=d\boldsymbol{p}_{O3}-d\boldsymbol{p}_{0}+\left[{}^{O1^{\prime}}{\boldsymbol{p}}{_{O3^{\prime}}^{}}\times \right]d\boldsymbol{\Omega }_{0} \end{equation}

where $d\boldsymbol{p}_{mO3}, d\boldsymbol{p}_{O3}$ are position error vectors of the tool frame, expressed in frames $\{O_{1}'\}$ and $\{O_{1}\}$ , respectively.

The orientation error vector of the tool frame is

(29) \begin{equation} d\boldsymbol{\Omega }_{mO3}=d\boldsymbol{\Omega }-d\boldsymbol{\Omega }_{0}\boldsymbol{=}\boldsymbol{J}_{b}d\boldsymbol{W}_{2}-d\boldsymbol{\Omega }_{0} \end{equation}

By combining Eqs. (23), (28), and (29), the kinematic error model of the parallel mechanism considering base and tool frame errors can be obtained as

(30) \begin{equation} d\boldsymbol{X}_{mO3}=\boldsymbol{J}_{mO3}d\boldsymbol{W} \end{equation}

where $d\boldsymbol{X}_{mO3}=\left[\begin{array}{l} d\boldsymbol{p}_{mO3}\\ d\boldsymbol{\Omega }_{mO3} \end{array}\right], \ \boldsymbol{J}_{mO3}=\left[\begin{array}{c@{\quad}c@{\quad}c} \boldsymbol{J}_{pO3} & -\boldsymbol{E}_{3\times 3} & \left[{}^{O1^{\prime}}{\boldsymbol{p}}{_{O3^{\prime}}^{}}\times \right]\\ \boldsymbol{J}_{b} & \boldsymbol{0}_{3\times 6} & -\boldsymbol{E}_{3\times 3} \end{array}\right], \ d\boldsymbol{W}=[\begin{array}{c@{\quad}c@{\quad}c} d\boldsymbol{W}_{2} & d\boldsymbol{p}_{0} & d\boldsymbol{\Omega }_{0} \end{array}]^{T}$ .

2.4. Simulation verification of the kinematic error model

To verify the above kinematic error model, a virtual prototype with geometric errors is established in SolidWorks software, and the moving platform pose error by simulation would be compared with that calculated by the MATLAB program [Reference Sun, Zhai, Song and Zhang35]. It is notable that the numerical error inherent in SolidWorks computational solvers is set as 10−8 mm.

Without loss of generality, 20 typical configurations are selected to do this verification. The positions are selected as shown in Figure8. For each position, three typical orientations of the moving platform would be simulated, namely, Pose 1 ( $\alpha =0^{\circ }, \beta =0^{\circ }$ ), Pose 2 ( $\alpha =5^{\circ }, \beta =-5^{\circ }$ ), and Pose 3 ( $\alpha =-5^{\circ }, \beta =5^{\circ }$ ). The process is flowcharted in Figure9. It is worth pointing out that the error values of vector $d\boldsymbol{W}$ are all in the range of $[\begin{array}{c@{\quad}c} {-}0.2 & 0.2 \end{array}](\textrm{mm})$ or $[\begin{array}{c@{\quad}c} {-}0.02 & 0.02 \end{array}](^{\circ})$ .

Figure 8. Selected sample positions in the prescribed workspace.

Figure 9. Flow chart of kinematic error model validation.

The results are shown in Figs.10, 11, and 12. It is worth pointing out that the D-value represents the deviation between the simulated value and the calculated value. The position error and orientation error are expressed by the module of the position error vector and the module of the attitude error vector, that is, $| d\boldsymbol{p}| =\sqrt{dx^{2}+dy^{2}+dz^{2}}, | d\boldsymbol{\Omega }| =\sqrt{d\alpha ^{2}+d\beta ^{2}+d\gamma ^{2}}$ .

Figure 10. Verification results of Pose 1 $\alpha =0^{\circ }, \beta =0^{\circ }$ : (a) position error and (b) orientation error.

Figure 11. Verification results of Pose 2 $\alpha =5^{\circ }, \beta =-5^{\circ }$ : (a) position error and (b) orientation error.

Figure 12. Verification results of Pose 3 $\alpha =-5^{\circ }, \beta =5^{\circ }$ : (a) position error and (b) orientation error.

The calculated pose errors match with the simulation pose errors well; that is, the maximum deviations are around 0.002 mm and 0.002°, respectively. The maximum position error deviations of Pose 1, Pose 2, and Pose 3 are 0.19%, 0.25%, and 0.26%, respectively. The maximum orientation error deviations of Pose 1, Pose 2, and Pose 3 are 0.24%, 0.52%, and 0.55%, respectively. Considering that the nonlinear terms are neglected in kinematic error modeling, the results prove that the kinematic error model has enough accuracy.

3. Parameter identification and model redundancy analysis

3.1. Parameter identification method

To identify the kinematic errors of the mechanism, n sets of measurement configurations are selected in the workspace. From Eq. (30), 6 × n scalar equations can be obtained as

(31) \begin{equation} d\boldsymbol{Q}_{n}=\boldsymbol{H}_{n}d\boldsymbol{W} \end{equation}

where $d\boldsymbol{Q}_{n}=\left[\begin{array}{l} d{\boldsymbol{X}_{mO3}}^{(1)}\\ d{\boldsymbol{X}_{mO3}}^{(2)}\\ \ldots \\ d{\boldsymbol{X}_{mO3}}^{(n)} \end{array}\right], \ \boldsymbol{H}_{n}=\left[\begin{array}{l} {\boldsymbol{J}_{mO3}}^{(1)}\\ {\boldsymbol{J}_{mO3}}^{(2)}\\ \ldots \\ {\boldsymbol{J}_{mO3}}^{(n)} \end{array}\right], \ d{\boldsymbol{X}_{mO3}}^{(i)}$ represents the error vector of $i-th$ measurement configuration and ${\boldsymbol{J}_{mO3}}^{(i)}$ is the corresponding identification Jacobian matrix $(i=1,2,3\ldots n)$ .

When $6\times n\gt k$ , where k is the dimension of $d\boldsymbol{W}$ , by applying the least-square technique, the kinematic error vector $d\boldsymbol{W}$ can be calculated as

(32) \begin{equation} d\boldsymbol{W}=\boldsymbol{H}^+_n d\boldsymbol{Q}_n = (\boldsymbol{H}_n^T \boldsymbol{H}_n)^{-1} \boldsymbol{H}_n^T d\boldsymbol{Q}_n \end{equation}

where $\boldsymbol{H}_{\mathit{n}}^{+}=(\boldsymbol{H}_{n}^{T}\boldsymbol{H}_{\mathit{n}})^{-1}\boldsymbol{H}_{n}^{T}$ is the pseudo-inverse of $\boldsymbol{H}_{\mathit{n}}$ . For the 5-DOF double-driven parallel mechanism under study, the dimension of $d\boldsymbol{W}$ , that is, the number of kinematic errors to be identified, is 44. Therefore, at least n = 8 groups of measurement configurations are required. In addition, due to the multi-closed loop structure of the parallel mechanism, the kinematic error model is more complicated. Some kinematic errors may not affect the accuracy of the mechanism, and some ones may have a multilinear correlation with other errors. In other words, some kinematic parameter errors are redundant. Therefore, to derive the minimal model that is more suitable for practical industrial application, the parameter identifiability analysis should be completed first.

3.2. Identifiability analysis

This section focused on parameter identifiability analysis to ensure the stability and accuracy of parameter identification. And the QR decomposition technique is applied. According to QR decomposition, the identification Jacobian $\boldsymbol{H}_{n}$ can be rewritten as

(33) \begin{equation} \left(\boldsymbol{H}_{n}\right)_{m\times k}=\boldsymbol{Q}_{m\times m}\left[\begin{array}{c} \boldsymbol{R}_{k\times k}\\ \boldsymbol{0}_{\left(m-k\right)\times k} \end{array}\right] \end{equation}

where $\boldsymbol{Q}_{m\times m}$ is am × m orthogonal matrix, $\boldsymbol{R}_{k\times k}$ is an upper triangular matrix, and $\boldsymbol{0}_{(m-k)\times k}$ is a null matrix. m = 6 × n .n is the total number of measurement configurations. k is the number of parameter errors to be identified. According to the properties of the orthogonal matrix and upper triangular matrix, the parameters corresponding to the zero diagonal elements of matrix $\boldsymbol{R}_{k\times k}$ can be considered as unidentifiable. Among them, the parameters corresponding to the all-zero columns of the matrix $\boldsymbol{R}_{k\times k}$ are independent of the pose error. The parameters corresponding to the columns with zero diagonal elements and nonzero other elements are linearly related to the previous identifiable parameters. Moreover, for several linearly related parameters to be identified, the top priority is determined as identifiable parameters. Therefore, changing the order of the parameters to be identified can result in different final identifiable parameter vector [Reference Wang, Sun, Zhang, Wu, Zhao, Zhang and Meng36].

According to the QR decomposition method, a sufficient number of measurement configurations, that is, $6n\gt k$ , are randomly determined. By analyzing the identification Jacobian matrix, the rank of the identification matrix is $r=35$ , and the total number of parameters to be identified is $k=44$ , so there are nine redundant parameters. Among them, there are no all-zero columns in $\boldsymbol{R}_{k\times k}$ , and the number of columns whose diagonal is zero while other elements are nonzero are the 6th, 15th, 20th, 21st, 28th, 33rd, 34th, 37th, and 40th columns, respectively, indicating that the parameters corresponding to these columns are linearly correlated with the remaining parameters.

After reasonably adjusting the sequence of parameters to be identified, the 6th, 15th, 18th, 19th, 28th, 31st, 32nd, 37th, and 40th parameters in $d\boldsymbol{W}$ are treated as redundant parameters, namely, $db_{1y}, \ db_{2y}, \ dl_{2}, \ dl_{3}, \ db_{3y}, \ dl_{6}, \ dl_{7}, \ dt_{y}$ , and $dy_{0}$ . Therefore, the final parameter error vector to be identified is

(34) \begin{equation} \begin{array}{c} d\boldsymbol{W}'=\left[dg_{1}\ dc_{1x}\ dc_{1y}\ dc_{1z}\ db_{1x}\ db_{1z}\ dl_{1}\ d\varphi_{1}\ dg_{2}\ dc_{2x}\ dc_{2y}\ dc_{2z}\ db_{2x}\ db_{2z}\ d\varphi_{2}\ dl_{4}\ dl_{5}\ dg_{4}\ dg_{3}\right.\\ \left.dc_{3x}\ dc_{3y}\ dc_{3z}\ db_{3x}\ db_{3z}\ d\varphi _{3}\ dl_{8}\ dl_{9}\ dg_{5}\ dt_{x}\ dt_{z}\ dx_{0}\ dz_{0}\ d\alpha _{0}\ d\beta _{0}\ d\gamma _{0}\right]^{T} \end{array} \end{equation}

Then, by removing corresponding columns, the Jacobian matrix $\boldsymbol{H}_{n}$ are represented as $\boldsymbol{H}_{n}'$ . Eq. (31) and Eq. (32) can be rewritten as

(35) \begin{equation} d\boldsymbol{Q}_{n}=\boldsymbol{H}_{n}'d\boldsymbol{W}' \end{equation}
(36) \begin{equation} d\boldsymbol{W}'=\left(\left(\boldsymbol{H}_{n}'\right)^{T}\boldsymbol{H}_{n}'\right)^{-1}\left(\boldsymbol{H}_{n}'\right)^{T}d\boldsymbol{Q}_{n} \end{equation}

4. Measurement configuration optimization

As shown in existing studies [Reference Huang, F.Xie and Meng31, Reference Ye and Wu32], the robustness of parameter identification regarding the measurement noise is sensitive to the measurement configurations. Therefore, the optimization of measurement configuration is an effective means to improve the accuracy of identification results [Reference Chen and Zhan37]. And, the two key points of measurement configuration optimization are the observation index and search algorithm.

The observation indices are generally established according to the singular value of the identification Jacobian matrix, and optimal measurement configurations are obtained by screening discrete measurement configurations in the workspace. In this paper, the reciprocal of the traditional index $O_{2}$ [Reference Fu, Liu, Cai, Tao, Yang and Huang38], denoted as $O_{T}$ , is selected as the observation index, which can be expressed as

(37) \begin{equation} O_{T}=\frac{1}{O_{2}}=\frac{\sigma _{s}}{\sigma _{1}} \end{equation}

where $\sigma _{i}$ is the nonzero singular value of the identification Jacobian matrix $\boldsymbol{H}_{n}'$ and $0\leq \sigma _{1}\leq \sigma _{2}\leq \cdot \cdot \cdot \leq \sigma _{s} (i=1,2,\ldots, s)$ . The smaller the observed $O_{T}$ value is, the less sensitive the robot configurations selected for parameter identification are to the measurement noise, and the more accurate the identified kinematic parameters will be.

Measurement configuration optimization is a combinatorial optimization problem, and researchers have proposed many heuristic or random search algorithms. Among these algorithms, the Floating Search algorithm is the best in the balance of efficiency and effectiveness [Reference Zhu, Luo and Ding39]. Especially, the Sequential Forward Floating Search algorithm includes “add” and “delete” operations based on certain conditions, which will terminate when the number of optimal solutions meets the requirements [Reference Deng, Gao, Ma, Zhao and Lu40]. For clarity, the optimization process is described in Figure13. n is the number of needed configurations for measurement. $\boldsymbol{Q}_{\textrm{all}}$ is the set contains all discrete configurations, and N is the total number of discrete configurations, here N = 304920. $\mathbf{X}$ is a single configuration in $\boldsymbol{Q}_{\textrm{all}}$ . $\mathbf{X}^{+}$ and $\mathbf{X}^{-}$ are selected configurations to be added and deleted, respectively, belonging to $\boldsymbol{Q}_{\textrm{all}}$ .

Figure 13. Flow chart of Floating Search algorithm [Reference Zhu, Luo and Ding39].

Figure 14. Variation curve of the observed values during the optimization.

As an example, select $n=30$ measurement configurations for the calibration of the 5-DOF double-driven parallel mechanism under study. The variation curves of $O_{T}(\boldsymbol{Q}_{k-1})$ and $O_{T}(\boldsymbol{Q}_{k}\backslash \{\mathbf{X}^{-}\})$ during the optimization process are shown in Figure 13, where $O_{T}(\boldsymbol{Q}_{k-1})$ and $O_{T}(\boldsymbol{Q}_{k}\backslash \{\mathbf{X}^{-}\})$ are the observation indices of configuration sets $\boldsymbol{Q}_{k-1}$ and $\boldsymbol{Q}_{k}\backslash \{\mathbf{X}^{-}\}$ , respectively. And $\boldsymbol{Q}_{k}$ is the set that contains k configurations, and $\boldsymbol{Q}_{k}\backslash \{\mathbf{X}^{-}\}$ is the configuration set obtained by deleting $\mathbf{X}^{-}$ from $\boldsymbol{Q}_{k}$ . With the increase in search cycles, the observed values of $O_{T}(\boldsymbol{Q}_{k}\backslash \{\mathbf{X}^{-}\})$ and $O_{T}(\boldsymbol{Q}_{k-1})$ first increased and then decreased and gradually tended to be stable at about 30 cycles. Finally, the total number of optimal measurement configurations reached $n=30$ after nearly 40 cycles.

The optimized results of measurement configurations are displayed in Figure15. Among these results, Figure15(a) shows the selected positions in the prescribed workspace, while Figure15(b) shows the selected orientations. From Figure15, the results show that the optimal measurement configurations are randomly distributed in the mechanism’ prescribed workspace.

Figure 15. Selected measurement configurations in the prescribed workspace: (a) selected position and (b) selected orientation.

5. Kinematic calibration simulation and experiment

5.1. Numerical simulation based on virtual prototype

With a concept similar to simulation verification of the kinematic error model, numerical simulations are implemented to verify the effectiveness of the proposed kinematic calibration method, especially parameter identification in a virtual environment. Here, the SolidWorks software is utilized to establish the virtual prototype with geometric errors. Figure16 shows a flow chart of the procedure of simulation. For clarity, the detailed procedure of the kinematic calibration simulation is as follows.

Figure 16. Flow chart of the kinematic calibration simulation.

  1. 1. Randomly select geometric errors $d\boldsymbol{W}$ , where the errors are all within the range of $[\begin{array}{c@{\quad}c} {-}0.2 & 0.2 \end{array}](\textrm{mm})$ or $[\begin{array}{c@{\quad}c} {-}0.02 & 0.02 \end{array}](^{\circ})$ . Then, the virtual prototype with geometric errors is established in SolidWorks software.

  2. 2. The 30 optimal measurement configurations selected in Section 4 are used for simulation, which are also treated as target configurations, that is, $\boldsymbol{Q}_{n}$ . Then, drive the parallel mechanism to measure the pose vector of frame $\{O_{3}\}$ in each measurement configuration, which is treated as the measured configurations, that is, $\boldsymbol{Q}_{n}^{m}$ .

  3. 3. By comparing $\boldsymbol{Q}_{n}$ with $\boldsymbol{Q}_{n}^{m}$ , the measured pose error vector of frame $\{O_{3}\}$ is calculated as $d\boldsymbol{Q}_{n}=\boldsymbol{Q}_{n}^{m}-\boldsymbol{Q}_{n}$ , which is also treated as the pose error vector of frame $\{O_{3}\}$ before calibration.

  4. 4. By substituting $d\boldsymbol{Q}_{n}$ into Eq. (36), identified kinematic error vector $d\boldsymbol{W}'$ can be obtained.

  5. 5. To compensate the kinematic errors, the target configurations are adjusted as $\boldsymbol{Q}_{n}^{a}\boldsymbol{=}\boldsymbol{Q}_{n}-d\boldsymbol{Q}_{n}'$ , where $d\boldsymbol{Q}_{n}'$ is calculated according to Eq. (35), that is, $d\boldsymbol{Q}'_{n}=\boldsymbol{H}_{n}'d\boldsymbol{W}'$ , and $\boldsymbol{Q}_{n}^{a}$ is the adjusted configurations. Then, drive the parallel mechanism to measure the pose vector of frame $\{O_{3}\}$ in each adjusted target configuration, which is treated as the measured configurations after calibration, that is, $\boldsymbol{Q}_{n}^{ma}$ .

  6. 6. By comparing $\boldsymbol{Q}_{n}$ and $\boldsymbol{Q}_{n}^{ma}$ , the measured pose error vector of frame $\{O_{3}\}$ after calibration is calculated as $d\boldsymbol{Q}_{n}^{a}$ .

Pose errors of frame $\{O_{3}\}$ before and after calibration are shown in Figure17. From Figure17, the parallel mechanism’s accuracy has been dramatically enhanced after kinematic calibration. The average position error has been reduced from 0.515 mm to 0.004 mm, and the average orientation error has been reduced from 0.249° to 0.001°, which validates the effectiveness of the proposed kinematic calibration method.

Figure 17. Kinematic calibration simulation results: (a) position error and (b) orientation error.

To further analyze the robustness of the proposed kinematic calibration method to measurement errors, noise errors following a normal distribution with $N(0,20^{2})(\mu m)$ or $N(0,0.02^{2})(^{\circ })$ are added to measured configurations, that is, $\boldsymbol{Q}_{n}^{m}$ , in the simulation above, that is, Step (2). Then the corresponding pose errors after calibration are shown in Figure18. After introducing measurement noise, the average position error after kinematic calibration is 0.015 mm, and the average orientation error is 0.019°. Measurement noise can affect the results. However, the average pose errors after calibration are all within limits of acceptability, which also confirms the effectiveness of redundant parameter reduction and measurement configurations optimization in Section 4.

Figure 18. Kinematic calibration simulation results with measurement noise: (a) position error and (b) orientation error.

5.2. Experiment verification

To further verify the effectiveness of the proposed kinematic calibration method in practical application, a calibration experiment is conducted in this section. The prototype is built by our team, and the measurement device is an API OT2 laser tracker with the observed error of 15 μm + 0.5 μm/m. Notably, the full pose of the tool (position and orientation) should be measured in the experiment, while the laser tracker with one sphere reflector generally only offers the position, that is, the center of a sphere reflector. Therefore, a specific measurement tool has been designed, as shown in Figure19 (a).

Figure 19. Measurement tool for kinematic calibration: (a) 3D model and (b) tool frame.

The tool can be bolted to the moving platform of the parallel mechanism, and it contains three reflector holders, the centers of which make an equilateral triangle. For simplicity, a tool frame is defined as shown in Figure19 (b), and the original point of frame $\{O_{3}\}$ is located on the center point of the equilateral triangle.

Considering that the manufacturing errors of measurement tools are relatively small, the nominal transformation matrix from frame $\{O_{2}\}$ to frame $\{O_{3}\}$ , that is, ${}^{O2}{\boldsymbol{T}}{_{O3}^{}}$ , is treated as known. Figure20 shows the experimental site for kinematic calibration. When an external measurement device, that is, laser tracker, is applied, all the measured poses of frame $\{O_{3}\}$ are with respect to the measurement frame $\{O_{m}\}$ . The measured pose of frame $\{O_{3}\}$ with respect to frame $\{O_{m}\}$ is described as

Figure 20. Experimental site and equipment for kinematic calibration experiment.

(38) \begin{equation} {}^{Om}{\boldsymbol{T}}{_{O3}^{}}=\left[\begin{array}{c@{\quad}c} {}^{Om}{\boldsymbol{R}}{_{O3}^{}} & {}^{Om}{\boldsymbol{p}}{_{O3}^{}}\\ \boldsymbol{0}_{1\times 3} & 1 \end{array}\right]=\left[\begin{array}{c@{\quad}c@{\quad}c@{\quad}c} \boldsymbol{r}_{x} & \boldsymbol{r}_{y} & \boldsymbol{r}_{z} & {}^{Om}{\boldsymbol{p}}{_{O3}^{}}\\ & \boldsymbol{0}_{1\times 3} & & 1 \end{array}\right] \end{equation}

where ${}^{Om}{\boldsymbol{p}}{_{O3}^{}}=({}^{Om}{\boldsymbol{M}}{_{1}^{}}+{}^{Om}{\boldsymbol{M}}{_{2}^{}}+{}^{Om}{\boldsymbol{M}}{_{3}^{}})/3$ denotes the position vector of frame $\{O_{3}\}, {}^{Om}{\boldsymbol{M}}{_{i}^{}}$ is the measured position vector of the center of reflector, and ${}^{Om}{\boldsymbol{R}}{_{O3}^{}}$ represents the orientation matrix of frame $\left\{O_{3}\right\}, \boldsymbol{r}_{y}=\left({}^{Om}{\boldsymbol{M}}{_{1}^{}}-\frac{1}{2}\left({}^{Om}{\boldsymbol{M}}{_{2}^{}}+{}^{Om}{\boldsymbol{M}}{_{3}^{}}\right)\right)/\left\| {}^{Om}{\boldsymbol{M}}{_{1}^{}}-\frac{1}{2}\left({}^{Om}{\boldsymbol{M}}{_{2}^{}}+{}^{Om}{\boldsymbol{M}}{_{3}^{}}\right)\right\|, \boldsymbol{r}_{z}=\boldsymbol{r}_{x}\times \boldsymbol{r}_{y},\ \boldsymbol{r}_{x}=$ $({}^{Om}{\boldsymbol{M}}{_{2}^{}}-{}^{Om}{\boldsymbol{M}}{_{3}^{}})/\| {}^{Om}{\boldsymbol{M}}{_{2}^{}}-{}^{Om}{\boldsymbol{M}}{_{3}^{}}\|$ . All position and orientation vectors are described in frame  $\{O_{m}\}$ .

Because the kinematic error model of this parallel mechanism is established in the base frame $\{O_{1}\}$ , the measured pose needs to be converted to the base frame $\{O_{1}\}$ from the measurement frame $\{O_{m}\}$ . In other words, the transformation matrix from frame $\{O_{1}\}$ to frame $\{O_{m}\}$ , that is, ${}^{O1}{\boldsymbol{T}}{_{Om}^{}}$ , must be derived. In this paper, the SVD method [Reference Li, Jiang, Luo, Yang, Guo and Hu41] is utilized to calculate the transformation matrix ${}^{O1}{\boldsymbol{T}}{_{Om}^{}}$ . Construct the following objective function:

(39) \begin{equation} F=\sum _{i=1}^{n}\left\| \left({}^{O1}{\boldsymbol{R}}{_{Om}^{}} {}^{Om}{\boldsymbol{p}}{_{O3}^{}}^{(i)}+{}^{O1}{\boldsymbol{p}}{_{Om}^{}}\right)-{}^{O1}{\boldsymbol{p}}{_{O3}^{}}^{(i)}\right\| _{2}^{2} \end{equation}

where ${}^{Om}{\boldsymbol{p}}{_{O3}^{}}^{(i)}$ is the i-th measured position vector in the measurement frame $\{O_{m}\}, {}^{O1}{\boldsymbol{p}}{_{O3}^{}}^{(i)}$ is the i-th nominal position vector in the base frame $\{O_{1}\}$ , and n is the number of measurement configurations. Centralize all vectors ${}^{Om}{\boldsymbol{p}}{_{O3}^{}}^{(i)}$ and ${}^{O1}{\boldsymbol{p}}{_{O3}^{}}^{(i)}$ , resulting in

(40) \begin{equation} \left\{\begin{array}{l} {}^{Om}{\boldsymbol{p}}{_{O3}^{}}^{(i)\prime}={}^{Om}{\boldsymbol{p}}{_{O3}^{}}^{(i)}-\overline{{}^{Om}{\boldsymbol{p}}{_{O3}^{}}}\\ {}^{O1}{\boldsymbol{p}}{_{O3}^{}}^{(i)\prime}={}^{O1}{\boldsymbol{p}}{_{O3}^{}}^{(i)}-\overline{{}^{O1}{\boldsymbol{p}}{_{O3}^{}}} \end{array}\right. \end{equation}

where $\overline{{}^{Om}{\boldsymbol{p}}{_{O3}^{}}}=\frac{1}{n}\sum _{i=1}^{n}{}^{Om}{\boldsymbol{p}}{_{O3}^{}}^{(i)}, \overline{{}^{O1}{\boldsymbol{p}}{_{O3}^{}}}=\frac{1}{n}\sum _{i=1}^{n}{}^{O1}{\boldsymbol{p}}{_{O3}^{}}^{(i)}$ , and they satisfy the following relationship:

(41) \begin{equation} {}^{O1}{\boldsymbol{R}}{_{Om}^{}}\overline{{}^{Om}{\boldsymbol{p}}{_{O3}^{}}}+{}^{O1}{\boldsymbol{p}}{_{Om}^{}}=\overline{{}^{O1}{\boldsymbol{p}}{_{O3}^{}}} \end{equation}

Substituting Eqs. (40) and (41) into Eq. (39) yields

(42) \begin{equation} F=\sum _{i=1}^{n}\left(\left({}^{Om}{\boldsymbol{p}}{_{O3}^{}}^{(i)\prime}\right)^{T}{}^{Om}{\boldsymbol{p}}{_{O3}^{}}^{(i)\prime}-2\left({}^{O1}{\boldsymbol{p}}{_{O3}^{}}^{(i)\prime}\right)^{T}{}^{O1}{\boldsymbol{R}}{_{Om}^{}}{}^{Om}{\boldsymbol{p}}{_{O3}^{}}^{(i)\prime}+\left({}^{O1}{\boldsymbol{p}}{_{O3}^{}}^{(i)\prime}\right)^{T}{}^{O1}{\boldsymbol{p}}{_{O3}^{}}^{(i)\prime}\right) \end{equation}

To solve ${}^{O1}{\boldsymbol{R}}{_{Om}^{}}$ and ${}^{O1}{\boldsymbol{p}}{_{Om}^{}}$ , it is necessary to minimize the value of the objective function F. Considering that $({}^{Om}{\boldsymbol{p}}{_{O3}^{}}^{(i)\prime})^{T}{}^{Om}{\boldsymbol{p}}{_{O3}^{}}^{(i)\prime}$ and $({}^{O1}{\boldsymbol{p}}{_{O3}^{}}^{(i)\prime})^{T}{}^{O1}{\boldsymbol{p}}{_{O3}^{}}^{(i)\prime}$ are constant for each measurement, to minimize the value of $F$ is equivalent to maximize function $F'$ , which is expressed as

(43) \begin{equation} F'=\sum _{i=1}^{n}\left(\left({}^{O1}{\boldsymbol{p}}{_{O3}^{}}^{(i)\prime}\right)^{T}{}^{O1}{\boldsymbol{R}}{_{Om}^{}}{}^{Om}{\boldsymbol{p}}{_{O3}^{}}^{(i)\prime}\right)=\textrm{trace}\left({}^{O1}{\boldsymbol{R}}{_{Om}^{}}\boldsymbol{z}\right) \end{equation}

where $\boldsymbol{z}\boldsymbol{=}\sum _{i=1}^{n}({}^{O1}{\boldsymbol{p}}{_{O3}^{}}^{(i)\prime}({}^{Om}{\boldsymbol{p}}{_{O3}^{}}^{(i)\prime})^{T}), \textrm{trace}({}^{O1}{\boldsymbol{R}}{_{Om}^{}}\boldsymbol{z})$ represents the trace of the matrix ${}^{O1}{\boldsymbol{R}}{_{Om}^{}}\boldsymbol{z}$ .

According to SVD, $\boldsymbol{z}$ can be expressed as $\boldsymbol{z}\boldsymbol{=}\boldsymbol{u}{\unicode[Arial]{x03A3}} \boldsymbol{V}^{T}$ . To maximize $F'$ , we can obtain

(44) \begin{equation} {}^{O1}{\boldsymbol{R}}{_{Om}^{}}=\boldsymbol{V}\boldsymbol{u}^{T} \end{equation}

By substituting Eq. (44) into Eq. (41), ${}^{O1}{\boldsymbol{p}}{_{Om}^{}}$ can be calculated. Then ${}^{O1}{\boldsymbol{T}}{_{Om}^{}}$ is obtained according to Eq. (24). It is worth pointing out that the derived transformation matrix ${}^{O1}{\boldsymbol{T}}{_{Om}^{}}$ is not the accurate transformation matrix between the nominal base frame $\{O_{1}\}$ and measurement frame $\{O_{m}\}$ . Therefore, for clarity, the estimated transformation matrix is denoted by ${}^{O1^{\prime}}{\boldsymbol{T}}{_{Om}^{}}$ . According to matrix transformation, the measured poses of frame $\{O_{3}\}$ with respect to frame $\{O_{1}\}$ , that is, ${}^{O1^{\prime}}{\boldsymbol{T}}{_{O3m}^{}}$ , can be obtained as

(45) \begin{equation} {}^{O1^{\prime}}{\boldsymbol{T}}{_{O3m}^{}}={}^{O1^{\prime}}{\boldsymbol{T}}{_{Om}^{}}{}^{Om}{\boldsymbol{T}}{_{O3}^{}} \end{equation}

where ${}^{O1^{\prime}}{\boldsymbol{T}}{_{O3m}^{}}=\left[\begin{array}{c@{\quad}c} {}^{O1^{\prime}}{\boldsymbol{R}}{_{O3m}^{}} & {}^{O1^{\prime}}{\boldsymbol{p}}{_{O3m}^{}}\\ \boldsymbol{0}_{1\times 3} & 1 \end{array}\right], {}^{O1^{\prime}}{\boldsymbol{R}}{_{O3m}^{}}$ and ${}^{O1^{\prime}}{\boldsymbol{p}}{_{O3m}^{}}$ denote the measured rotation matrix and position vector of frame $\{O_{3}\}$ with respect to the estimated base frame $\{O_{1}'\}$ , respectively.

In the experiment, 30 optimal measurement configurations selected in Section 4 are used for parameter identification, that is, identification configurations. To further validate the effectiveness of the kinematic calibration method, 20 additional verification configurations are randomly selected in the prescribed workspace. The parallel mechanism is commanded to undergo the measurement configurations successively, and the measurement at each configuration is repeated three times, and the mean value is retained. The position and orientation errors before and after kinematic calibration are shown in Figure21.

Figure 21. Comparison of errors before and after calibration: (a) position error and (b) orientation error.

From Figure21, the proposed kinematic calibration can improve the absolute accuracy of the 5-DOF double-driven parallel mechanism. For both the identification configurations and verification configurations, the average position error decreases from 2.778 mm to 0.263 mm, and the average orientation error decreases from 1.115° to 0.176°. Meanwhile, we found that gravity has a significant impact on the positioning accuracy of parallel mechanisms in our related research. In future research, we will study the kinematic calibration considering the gravity factor. In addition, although there are flexible deformations and some neglected geometric errors, the accuracy after kinematic calibration is still within an acceptable range. In other words, the proposed kinematic calibration method for the 5-DOF double-driven parallel mechanism with the sub-closed loop on limbs is validated.

6. Conclusions

In this paper, a kinematic calibration method of a 5-DOF double-driven parallel mechanism with the sub-closed loop on limbs (i.e., the PUU-2PR(RPRR)S parallel mechanism) using a laser tracker is proposed. The main conclusions are drawn as follows:

  1. 1. A kinematic error modeling approach for the 5-DOF double-driven parallel mechanism with the sub-closed loop on limbs is proposed. At first, to solve the modeling complexity introduced by the sub-closed loop, the PR (RPRR) S limb with a sub-closed loop is transformed into an equivalent PRPS limb. Then, by combining the closed-loop vector method with the parasite motion analysis, the kinematic error model of the whole mechanism is established. By employing virtual prototype technology, numerical simulation is implemented. The results of the simulation verified that the deviation of the kinematic error model is within 0.6%.

  2. 2. Error parameter identifiability analysis is conducted based on the QR decomposition of the identification Jacobian matrix. To improve the robustness of kinematic calibration, the Sequence Forward Floating Search algorithm is used for measurement configuration optimization.

  3. 3. Numerical simulations and prototypical experiments are carried out to verify the proposed kinematic calibration method. The experiment results show that after kinematic calibration, the average position error is reduced from 2.778 mm to 0.263 mm, and the average orientation error is reduced from 1.115° to 0.176°, which decreased by 90.53% and 84.22%, respectively. To further improve absolute accuracy of this parallel mechanism, the non-kinematic calibration considering deformations from external load or gravity will be investigated in our further work.

Author contributions

Xuhao Wang was in charge of the whole analysis and trial. Shuo Sun and Mengli Wu wrote the manuscript. Yiran Cao, Zhiyiong Guo, and Zefu Liu helped with the experimental design and data analyses. All authors read and approved the final manuscript.

Financial support

This work was supported by the Natural Science Foundation of Tianjin (no. 23JCQNJC00140) and Fundamental Research Funds for the Central Universities (grant no. 3122024051).

Competing interests

The authors declared no potential conflicts of interest for the research, authorship, and/or publication of this article.

References

Jiang, B., Huang, G., Zhu, S., Fang, H., Tian, X., Xie, A., Zhang, L., Zhao, P., Gu, J. and Kong, L., “Type synthesis and trajectory planning of 5-DOF redundantly actuated parallel robots with large output rotational angles for large workpieces,” Robotica 42(1), 242264 (2024).CrossRefGoogle Scholar
Wang, C., Duan, H. and Li, L., “Design, simulation, control of a hybrid pouring robot: Enhancing automation level in the foundry industry,” Robotica 42(4), 10181038 (2024).Google Scholar
Peng, S., Cheng, Z., Che, L., Cui, S. and Jin, Z., “Configuration design and dimensional synthesis of an asymmetry 2R1T parallel mechanism,” Robotica 41(2), 713734 (2023).CrossRefGoogle Scholar
Liu, J., Fan, X. and Ding, H., “Investigation of a novel 2R1T parallel mechanism and construction of its variants,” Robotica 39(10), 18341848 (2021).CrossRefGoogle Scholar
Laryushkin, P., Antonov, A., Fomin, A. and Essomba, T., “Velocity and singularity analysis of a 5-DOF (3T2R) parallel-serial (hybrid) manipulator,” Machines 10(4), 276 (2022).CrossRefGoogle Scholar
Antonov, A., Fomin, A., Glazunov, V., Petelin, D. and Filippov, G., “Type synthesis of 5-DOF hybrid (parallel-serial) manipulators designed from open kinematic chains,” Robotics 12(4), 98 (2023).CrossRefGoogle Scholar
Wang, X., Lin, Y., Cao, Y., Wu, M. and Sun, S., “Design and multi-objective optimization of a novel 5-DOF parallel mechanism with two double-driven chains,” Robotica 41(9), 28292849 (2023).CrossRefGoogle Scholar
Liu, J., Yang, D. and Li, T., “Drive layout configuration strategy and scale optimization design of multi-drive mode parallel mechanism,” J. Mech. Rob. 16, 100209 (2024).Google Scholar
Wang, L., Fang, Y., Zhang, D. and Yang, Y., “Kinematics and optimization of a novel 4-DOF two-limb gripper mechanism,” Robotica 41(12), 36493671 (2023).CrossRefGoogle Scholar
Laryushkin, P., Fomin, A., Glazunov, V., Brem, I. and Fomina, O., “Redundantly actuated 5-DOF delta-type parallel robot with linear drives,” Mech. Mach. Sci. 148, 820827 (2023).CrossRefGoogle Scholar
Schreiber, L. T. and Gosselin, C., “Exploiting the kinematic redundancy of a (6 + 3) degrees-of-freedom parallel mechanism,” J. Mech. Rob. 11(2), 021005 (2019).CrossRefGoogle Scholar
Kansal, S. and Mukherjee, S., “Vision-based kinematic analysis of the Delta robot for object catching,” Robotica 40(6), 20102030 (2022).CrossRefGoogle Scholar
Luo, J., Chen, S., Fan, X., Xiong, C., Zheng, T., Zhang, C. and Yang, G., “Kinematic calibration of a 4PPa-2PaR parallel mechanism with subchains on limbs,” IEEE Trans. Instrum. Meas. 71, 111 (2022).Google Scholar
Zhang, H., Cheng, G., Shan, X. and Guo, F., “Kinematic accuracy research of 2 (3HUS+ S) parallel manipulator for simulation of hip joint motion,” Robotica 36(9), 13861401 (2018).CrossRefGoogle Scholar
Tian, W., Shen, Z., Lv, D. and Yin, F., “A systematic approach for accuracy design of lower-mobility parallel mechanism,” Robotica 38(12), 21732188 (2020).CrossRefGoogle Scholar
Luo, R., Gao, W., Huang, Q. and Zhang, Y., “An improved minimal error model for the robotic kinematic calibration based on the POE formula,” Robotica 40(5), 16071626 (2022).CrossRefGoogle Scholar
Ni, Y., Zhang, B. and Sun, Y., “Accuracy analysis and design of A3 parallel spindle head,” Chin. J. Mech. Eng. 29(2), 111 (2016).CrossRefGoogle Scholar
Tang, T., Chi, C., Fang, H. and Zhang, J., “Geometric error propagation model-based accuracy synthesis and its application to a 1T2R parallel manipulator,” J. Mech. Des. 144(7), 073304 (2022).CrossRefGoogle Scholar
Luo, Y., Gao, J., Zhang, L., Chen, D. and Chen, X., “Kinematic calibration of a symmetric parallel kinematic machine using sensitivity-based iterative planning,” Precis. Eng. 77, 164178 (2022).CrossRefGoogle Scholar
Chen, G., Kong, L., Li, Q. and Wang, H., “A simple two-step geometric approach for the kinematic calibration of the 3-PRS parallel manipulator,” Robotica 37(5), 837850 (2019).CrossRefGoogle Scholar
Guo, J., Wang, D., Fan, R., Chen, W. and Zhao, G., “Kinematic calibration and error compensation of a hexaglide parallel manipulator,” P. I. Mech. Eng. B-J. Eng. 233(1), 215225 (2019).Google Scholar
Shen, H., Meng, Q., Li, J., Deng, J. and Wu, G., “Kinematic sensitivity, parameter identification and calibration of a non-fully symmetric parallel Delta robot,” Mech. Mach. Theory 161, 104311 (2021).CrossRefGoogle Scholar
Song, Y., Zhang, J., Lian, B. and Sun, T., “Kinematic calibration of a 5-DoF parallel kinematic machine,” Precis. Eng. 45, 242261 (2016).CrossRefGoogle Scholar
Li, T., Li, F., Jiang, Y., Zhang, J. and Wang, H., “Kinematic calibration of a 3-P (Pa) S parallel-type spindle head considering the thermal error,” Mechatronics 43, 8698 (2017).CrossRefGoogle Scholar
Yin, F., Tian, W., Liu, H., Huang, T. and Chetwynd, D., “A screw theory based approach to determining the identifiable parameters for calibration of parallel manipulators,” Mech. Mach. Theory 145, 103665 (2020).CrossRefGoogle Scholar
Chen, X., Zhang, Q. and Sun, Y., “Non-kinematic calibration of industrial robots using a rigid-flexible coupling error model and a full pose measurement method,” Rob. Comput. Integr. Manuf. 57, 4658 (2019).CrossRefGoogle Scholar
Gao, G., Sun, G., Na, J., Guo, Y. and Wu, X., “Structural parameter identification for 6 DOF industrial robots,” Mech. Syst. Sig. Process. 113, 145155 (2018).CrossRefGoogle Scholar
Tian, W., Mou, M., Yang, J. and Yin, F., “Kinematic calibration of a 5-DOF hybrid kinematic machine tool by considering the ill-posed identification problem using regularisation method,” Rob. Comput. Integr. Manuf. 60, 4962 (2019).CrossRefGoogle Scholar
Wang, X., Xie, L., Jiang, M., He, K. and Chen, Y., “Kinematic calibration and feedforward control of a heavy-load manipulator using parameters optimization by an ant colony algorithm,” Robotica 42(3), 728756 (2024).CrossRefGoogle Scholar
Han, C., Yu, Y., Xu, Z., Wang, X., Yu, P. and Zhou, X., “Complete kinematic calibration of a 6-RRRPRR parallel kinematic machine based on the optimal measurement configurations,” P. I. Mech. Eng. C-J. Mec. 234(1), 121136 (2020).Google Scholar
Huang, C., F.Xie, X. L. and Meng, Q., “Measurement configuration optimization and kinematic calibration of a parallel robot,” J. Mech. Rob. 14(3), 031017 (2022).CrossRefGoogle Scholar
Ye, H. and Wu, J., “Residual index for measurement configuration optimization in robot kinematic calibration,,” Sci. China Technol. Sci. 66(7), 18991915 (2023).CrossRefGoogle Scholar
Sun, T. and Huo, X., “Type synthesis of 1T2R parallel mechanisms with parasitic motions,” Mech. Mach. Theory 128, 412428 (2018).CrossRefGoogle Scholar
Ma, L., Bazzoli, P., Sammons, P. M., Landers, R. G. and Bristow, D. A., “Modeling and calibration of high-order joint-dependent kinematic errors for industrial robots,” Rob. Comput. Integr. Manuf. 50, 153167 (2018).CrossRefGoogle Scholar
Sun, T., Zhai, Y., Song, Y. and Zhang, J., “Kinematic calibration of a 3-DoF rotational parallel manipulator using laser tracker, Rob,” Comput. Integr. Manuf. 41, 7891 (2016).CrossRefGoogle Scholar
Wang, X., Sun, S., Zhang, P., Wu, M., Zhao, C., Zhang, D. and Meng, X., “Model-based kinematic and non-kinematic calibration of a 7R 6-DOF robot with non-spherical wrist,” Mech. Mach. Theory 178, 105086 (2022).CrossRefGoogle Scholar
Chen, X. and Zhan, Q., “The kinematic calibration of a drilling robot with optimal measurement configurations based on an improved multi-objective PSO algorithm,” Int. J. Precis. Eng. Manuf. 22(9), 15371549 (2021).CrossRefGoogle Scholar
Fu, L., Liu, Z., Cai, C., Tao, M., Yang, M. and Huang, H., “Joint space-based optimal measurement configuration determination method for Stewart platform kinematics calibration,” Measurement 211, 112646 (2023).CrossRefGoogle Scholar
Zhu, L., Luo, H. and Ding, H., “Optimal design of measurement point layout for workpiece localization,” ASME J. Manuf. Sci. Eng. 131(1), 011006 (2008).CrossRefGoogle Scholar
Deng, K., Gao, D., Ma, S., Zhao, C. and Lu, Y., “Elasto-geometrical error and gravity model calibration of an industrial robot using the same optimized configuration set, Rob,” Comput. Integr. Manuf. 83, 102558 (2023).CrossRefGoogle Scholar
Li, X., Jiang, W., Luo, Z., Yang, L., Guo, B. and Hu, X., “Calibration of a manipulator with a regularized parameter identification method,” IEEE Access 10, 9053590547 (2022).CrossRefGoogle Scholar
Figure 0

Figure 1. 3D model: (a) the whole parallel mechanism, (b) PUU limb, and (c) PR(RPRR)S limb.

Figure 1

Table 1. Geometric parameters of the 5-DOF parallel mechanism.

Figure 2

Figure 2. Schematic diagram of the 5-DOF parallel mechanism.

Figure 3

Figure 3. Schematic diagram of PUU limb.

Figure 4

Figure 4. Schematic diagram of double-driven limb: (a) PR(RPRR)S limb and (b) equivalent PRPS limb.

Figure 5

Figure 5. Geometric constraints on PUU limb of the mechanism.

Figure 6

Figure 6. Measurement of pose error of the moving platform.

Figure 7

Figure 7. Schematic diagram of defined frames $\{O_{1}'\}$ and $\{O_{3}'\}$.

Figure 8

Figure 8. Selected sample positions in the prescribed workspace.

Figure 9

Figure 9. Flow chart of kinematic error model validation.

Figure 10

Figure 10. Verification results of Pose 1 $\alpha =0^{\circ }, \beta =0^{\circ }$: (a) position error and (b) orientation error.

Figure 11

Figure 11. Verification results of Pose 2 $\alpha =5^{\circ }, \beta =-5^{\circ }$: (a) position error and (b) orientation error.

Figure 12

Figure 12. Verification results of Pose 3 $\alpha =-5^{\circ }, \beta =5^{\circ }$: (a) position error and (b) orientation error.

Figure 13

Figure 13. Flow chart of Floating Search algorithm [39].

Figure 14

Figure 14. Variation curve of the observed values during the optimization.

Figure 15

Figure 15. Selected measurement configurations in the prescribed workspace: (a) selected position and (b) selected orientation.

Figure 16

Figure 16. Flow chart of the kinematic calibration simulation.

Figure 17

Figure 17. Kinematic calibration simulation results: (a) position error and (b) orientation error.

Figure 18

Figure 18. Kinematic calibration simulation results with measurement noise: (a) position error and (b) orientation error.

Figure 19

Figure 19. Measurement tool for kinematic calibration: (a) 3D model and (b) tool frame.

Figure 20

Figure 20. Experimental site and equipment for kinematic calibration experiment.

Figure 21

Figure 21. Comparison of errors before and after calibration: (a) position error and (b) orientation error.