# A Kinematic Calibration Method of a 3T1R 4-Degree-of-Freedom Symmetrical Parallel Manipulator

^{1}

^{2}

^{3}

^{*}

## Abstract

**:**

## 1. Introduction

## 2. Kinematics of a Symmetrical 3T1R Parallel Manipulator

#### 2.1. Structure of the 3T1R Parallel Manipulator

#### 2.2. $Dyad$ kinematics Based on local POE formula

#### 2.3. Branched Chain Kinematics Based on the Local POE Formula

#### 2.4. Kinematics of the Parallel Manipulator Branched Chain i Based on the Local POE Formula

## 3. Establishing the Kinematic Error Model for this 3T1R Parallel Manipulator

#### 3.1. Establishment of the Kinematic Error Model from a Single Branched Chain

#### 3.2. Establishment of the Overall Kinematic Error Model

## 4. Method to Reduce the Number of Sensors Used in Passive Joints

## 5. A Recursive Least Squares Method to Identify the Parameters in the Kinematic Error Model

## 6. Simulation Results

- 1.
- Use the numerical forward kinematics algorithm to obtain the joint displacements and joint angles of 20 different parallel manipulator poses;
- 2.
- Assign errors to kinematic parameters, such as $\delta t$, $\delta s$, and $\delta q$, as shown in Table 1.
- 3.
- Simulate the actual initial pose using ${T}_{i(j-1),ij}^{a}\left(0\right)={T}_{i(j-1),ij}\left(0\right){e}^{\delta {\widehat{t}}_{ij}}$;
- 4.
- The actual joint twist is computed as ${s}_{ij}^{a}={s}_{ij}+\delta {s}_{ij}$;
- 5.
- The actual joint variable is computed as ${q}_{ij}^{a}={q}_{ij}+\delta {q}_{ij}$;
- 6.
- The recursive calibration algorithm is used to identify the kinematic errors of the parallel manipulator.

## 7. Pre-Processing Compensation

## 8. Conclusions

## Author Contributions

## Funding

## Conflicts of Interest

## Abbreviations

3T1R parallel manipulator | The parallel manipulator can achieve three degrees of freedom of translation along the X, Y, and Z axes and one degree of freedom of rotation around the Z axis |

POE formula | The product of exponentials formula |

D-H convention | The Denavit-Hartenberg convention |

## Nomenclature

n | The number of passive joints |

i | Represents the parallel manipulator ${B}_{1}$, ${B}_{3}$ branched chains $(i=1,2)$ |

$\underline{i}$ | Represents the parallel manipulator ${B}_{2}$, ${B}_{4}$ branched chains $(i=1,2)$ |

j | The number of joints on each branched chain $(j=1,2,3,4)$ |

${g}_{i}$ | Forward kinematics of these parallel manipulator branched chains i |

${T}_{i(j-1),ij}\left(0\right)$ | The initial pose of the coordinate system $\left\{ij\right\}$ relative to the coordinate system $\left\{i\right(j-1\left)\right\}$ |

${T}_{i(j-1),ij}^{c}\left(0\right)$ | After calibration, the initial pose of the coordinate system $\left\{ij\right\}$ relative to the coordinate system $\left\{i\right(j-1\left)\right\}$ |

${T}_{i(j-1),ij}^{a}\left(0\right)$ | The actual initial pose of the coordinate system $\left\{ij\right\}$ relative to the coordinate system $\left\{i\right(j-1\left)\right\}$ |

${q}_{ij}$ | Standard representation of joint variable; it represent the joint angle or joint displacement |

${q}_{ij}^{n}$ | Standard representation of the nominal joint variable |

${q}_{ij}^{c}$ | Standard representation of the joint variable after calibration |

$\left\{B\right\}$ | Base coordinate system of the parallel manipulator |

$\left\{i0\right\}$, $\left\{\underline{i0}\right\}$ | Base coordinate system of these parallel manipulator branched chains i and $\underline{i}$ |

$\left\{i1\right\}$, $\left\{\underline{i1}\right\}$ | The translational motion coordinate system of these parallel manipulator branched chains i and $\underline{i}$ |

$\left\{i2\right\}$, $\left\{\underline{i2}\right\}$ | The rotational motion coordinate system where it is connected to the modules of these parallel manipulator branched chains i and $\underline{i}$ |

$\left\{i3\right\}$ | The coordinate system of ${l}_{d}$ link rotates around the D point of these parallel manipulator branched chains i and $\underline{i}$ |

$\left\{i4\right\}$ | The parallel manipulator moving platform rotational motion coordinate system around the ${A}_{i}$ point |

$\left\{P\right\}$ | Midpoint coordinate system of the end effector |

${g}_{c}$ | Forward kinematics after calibration of the parallel manipulator |

${T}^{n}$ | The nominal pose of the end effector |

${T}^{a}$ | The actual pose of the end effector |

${T}_{co}$ | The command pose of the end effector during error compensation |

${T}_{cp}$ | The end pose after compensation |

${\mathrm{Ad}}_{{g}_{i}}$ | The adjoint transformation of ${g}_{i}$, also written as ${\mathrm{Ad}}_{\left({g}_{i}\right)}$, ${g}_{i}\in SE\left(3\right)$ |

$\delta {g}_{i}\xb7{g}_{i}^{-1}$ | The representation of the end error on these parallel manipulator branched chains i in the base coordinate system $\left\{B\right\}$ |

$\delta \widehat{{t}_{ij}}$ | The error of t in coordinate system $\left\{ij\right\}$ |

${J}_{i}$ | Error Jacobian matrix of these parallel manipulator branched chains i |

J | Error Jacobian matrix of the entire parallel manipulator |

## References

- Stewart, D. A platform with six degrees of freedom. Proc. Inst. Mech. Eng.
**1965**, 180, 371–386. [Google Scholar] [CrossRef] - Wu, C.; Yang, G.; Chen, C.; Liu, S.; Zheng, T. Kinematic design of a novel 4-dof parallel manipulator. In Proceedings of the 2017 IEEE International Conference on Robotics and Automation (ICRA), Singapore, 29 May–3 June 2017; pp. 6099–6104. [Google Scholar]
- Wu, J.-F.; Zhang, R.; Wang, R.-H.; Yao, Y.-X. A systematic optimization approach for the calibration of parallel kinematics machine tools by a laser tracker. Int. J. Mach. Tools Manuf.
**2014**, 86, 1–11. [Google Scholar] [CrossRef] - Chanal, H.; Duc, E.; Ray, P.; Hascoet, J.Y. A new approach for the geometrical calibration of parallel kinematics machines tools based on the machining of a dedicated part. Int. J. Mach. Tools Manuf.
**2007**, 47, 1151–1163. [Google Scholar] [CrossRef] - Fu, J.; Gao, F.; Chen, W.; Pan, Y.; Lin, R. Kinematic accuracy research of a novel six-degree-of-freedom parallel robot with three legs. Mech. Mach. Theory
**2016**, 102, 86–102. [Google Scholar] [CrossRef] - Song, Y.; Zhang, J.; Lian, B.; Sun, T. Kinematic calibration of a 5-dof parallel kinematic machine. Precis. Eng.
**2016**, 45, 242–261. [Google Scholar] [CrossRef] - Sun, T.; Zhai, Y.; Song, Y.; Zhang, J. Kinematic calibration of a 3-dof rotational parallel manipulator using laser tracker. Robot. -Comput.-Integr. Manuf.
**2016**, 41, 78–91. [Google Scholar] [CrossRef] - Liu, H.; Gong, M.; O, M.Z.H.A. Error analysis and calibration of a 4-dof parallel mechanism. Robot
**2005**, 27, 6–9. [Google Scholar] - Hartenberg, R.S.; Denavit, J. A kinematic notation for lower pair mechanisms based on matrices. J. Appl. Mech.
**1955**, 77, 215–221. [Google Scholar] - Mooring, B.W. An improved method for identifying the kinematic parameters in a six axes robots. In Computers in Engineering, Proceedings of the International Computers in Engineering Conference and Exhibit; American Soc of Mechanical Engineers (ASME): New York, NY, USA, 1984; Volume 1, pp. 79–84. [Google Scholar]
- Yang, G.; Chen, I.-M.; Lee, W.K.; Yeo, S.H. Self-calibration of three-legged modular reconfigurable parallel robots based on leg-end distance errors. Robotica
**2001**, 19, 187–198. [Google Scholar] [CrossRef] - Chen, G.; Kong, L.; Li, Q.; Wang, H.; Lin, Z. Complete, minimal and continuous error models for the kinematic calibration of parallel manipulators based on poe formula. Mech. Mach. Theory
**2018**, 121, 844–856. [Google Scholar] [CrossRef] - Okamura, K.; Park, F.C. Kinematic calibration using the product of exponentials formula. Robotica
**1996**, 14, 415–421. [Google Scholar] [CrossRef] - He, R.; Zhao, Y.; Yang, S.; Yang, S. Kinematic-parameter identification for serial-robot calibration based on poe formula. IEEE Trans. Robot.
**2010**, 26, 411–423. [Google Scholar] - Wang, H.; Shen, S.; Lu, X. A screw axis identification method for serial robot calibration based on the poe model. Ind. Robot. Int. J.
**2012**, 39, 146–153. [Google Scholar] [CrossRef] [Green Version] - Chen, I.-M.; Yang, G.; Tan, C.T.; Yeo, S.H. Local poe model for robot kinematic calibration. Mech. Mach. Theory
**2001**, 36, 1215–1239. [Google Scholar] [CrossRef] - Nubiola, A.; Bonev, I.A. Absolute robot calibration with a single telescoping ballbar. PRecision Eng.
**2014**, 38, 472–480. [Google Scholar] [CrossRef] - Joubair, A.; Slamani, M.; Bonev, I.A. Kinematic calibration of a five-bar planar parallel robot using all working modes. Robot. -Comput.-Integr. Manuf.
**2013**, 29, 15–25. [Google Scholar] [CrossRef] - Du, G.; Zhang, P. Online robot calibration based on vision measurement. Robot. Comput.-Integr. Manuf.
**2013**, 29, 484–492. [Google Scholar] [CrossRef] - HuangFu, Y.; Hang, L.; Cheng, W.; Yu, L.; Shen, C.; Wang, J.; Qin, W.; Wang, Y. Research on robot calibration based on laser tracker. In Mechanism and Machine Science; Springer: Berlin/Heidelberg, Germany, 2016; pp. 1475–1488. [Google Scholar]
- Elatta, A.Y.; Gen, L.P.; Zhi, F.L.; Daoyuan, Y.; Fei, L. An overview of robot calibration. Inf. Technol. J.
**2004**, 3, 74–78. [Google Scholar] - Wu, L.; Yang, X.; Chen, K.; Ren, H. A minimal poe-based model for robotic kinematic calibration with only position measurements. IEEE Trans. Autom. Sci. Eng.
**2014**, 12, 758–763. [Google Scholar] [CrossRef] - Sareh, P. The least symmetric crystallographic derivative of the developable double corrugation surface: Computational design using underlying conic and cubic curves. Mater. Des.
**2019**, 183, 108128. [Google Scholar] [CrossRef] - Chen, J.; San, H.; Wu, X.; Chen, M.; He, W. Structural design and characteristic analysis for a 4-degree-of-freedom parallel manipulator. Adv. Mech. Eng.
**2019**, 11, 1687814019850995. [Google Scholar] [CrossRef] - Yang, L.; Tian, X.; Li, Z.; Chai, F.; Dong, D. Numerical simulation of calibration algorithm based on inverse kinematics of the parallel mechanism. Optik
**2019**, 182, 555–564. [Google Scholar] [CrossRef] - Huang, K.; Liu, R.G.; Wu, J.S.; Lao, X.R.; Mo, J.H. Parameter calibration method based on screw theory for articulated coordinate measuring arm. In Advanced Materials Research; Trans Tech Publ: Zurich, Switzerland, 2011; Volume 189, pp. 4049–4052. [Google Scholar]
- Gu, L.; Yang, G.; Fang, Z.; Shen, W.; Zheng, T.; Chen, C.; Zhang, C. A two-step self-calibration method with portable measurement devices for industrial robots based on poe formula. In International Conference on Intelligent Robotics and Applications; Springer: Berlin/Heidelberg, Germany, 2019; pp. 715–727. [Google Scholar]

**Figure 2.**$Dyad$ kinematics based on different methods of establishing coordinate systems for the local POE formula. (

**a**) to establish a coordinate system arbitrarily, (

**b**) to establish a coordinate system which leads to reduced number of kinematic parameters.

**Figure 3.**Mechanism schematic of this 3T1R parallel manipulator. (

**a**) the schematic of the 3T1R parallel manipulator; (

**b**) the establishment of the coordinate system.

**Figure 4.**The end effector’s pose error simulation result. (

**a**) Orientation error; (

**b**) position error.

$\mathit{Dyad}$ | $\mathit{\delta}\mathit{t}$ | $\mathit{\delta}\mathit{s}$ | $\mathit{\delta}\mathit{q}$ |
---|---|---|---|

B-11 | ${\left[\begin{array}{cccccc}0.002\hfill & 0.002\hfill & 0.002\hfill & 0.001\hfill & 0.001\hfill & 0.001\hfill \end{array}\right]}^{T}$ | ${\left[\begin{array}{cccccc}0\hfill & 0\hfill & 0\hfill & 0\hfill & 0\hfill & 0\hfill \end{array}\right]}^{T}$ | 0.02 |

11-12 | ${\left[\begin{array}{cccccc}0.002\hfill & 0.002\hfill & 0.002\hfill & 0.001\hfill & 0.001\hfill & 0.001\hfill \end{array}\right]}^{T}$ | ${\left[\begin{array}{cccccc}0\hfill & 0\hfill & 0\hfill & -1+cos0.02\hfill & sin0.02\hfill & 0\hfill \end{array}\right]}^{T}$ | 0.02 |

12-13 | ${\left[\begin{array}{cccccc}0.002\hfill & 0.002\hfill & 0.002\hfill & 0.001\hfill & 0.001\hfill & 0.001\hfill \end{array}\right]}^{T}$ | ${\left[\begin{array}{cccccc}0\hfill & 0\hfill & 0\hfill & 0\hfill & -1+cos0.02\hfill & sin0.02\hfill \end{array}\right]}^{T}$ | 0.02 |

13-14 | ${\left[\begin{array}{cccccc}0\hfill & 0\hfill & 0\hfill & 0\hfill & sin0.02\hfill & -1+cos0.02\hfill \end{array}\right]}^{T}$ | 0.02 | |

14-P | \ | \ | |

B-21 | ${\left[\begin{array}{cccccc}0\hfill & 0\hfill & 0\hfill & 0\hfill & 0\hfill & 0\hfill \end{array}\right]}^{T}$ | 0.02 | |

21-22 | ${\left[\begin{array}{cccccc}0\hfill & 0\hfill & 0\hfill & 1-cos0.02\hfill & sin0.02\hfill & 0\hfill \end{array}\right]}^{T}$ | 0.02 | |

22-23 | ${\left[\begin{array}{cccccc}0\hfill & 0\hfill & 0\hfill & 0\hfill & -1+cos0.02\hfill & sin0.02\hfill \end{array}\right]}^{T}$ | 0.02 | |

23-24 | ${\left[\begin{array}{cccccc}0\hfill & 0\hfill & 0\hfill & 0\hfill & sin0.02\hfill & -1+cos0.02\hfill \end{array}\right]}^{T}$ | 0.02 | |

24-P | \ | \ |

$\mathit{Dyad}$ | Kinematic Errors | ${\mathit{T}}_{\mathit{i}(\mathit{j}-1),\mathit{ij}}^{\mathit{c}}\left(0\right)$ |
---|---|---|

$B-11$ | ${(1.824,2.272,1.183,0.02000,0.00128,0.00100)}^{T}$ | $\left[\begin{array}{cccc}1.00000\hfill & -0.00099\hfill & 0.00129\hfill & 1.794\hfill \\ 0.00102\hfill & 0.99980\hfill & -0.02000\hfill & 32.255\hfill \\ -0.00127\hfill & 0.02000\hfill & 0.99980\hfill & 1.805\hfill \\ 0\hfill & 0\hfill & 0\hfill & 1\hfill \end{array}\right]$ |

$11-12$ | ${(1.794,2.272,1.783,0.02000,0.00128,0.00165)}^{T}$ | $\left[\begin{array}{cccc}1.00000\hfill & -0.00164\hfill & 0.00128\hfill & 1.793\hfill \\ 0.00165\hfill & 0.99999\hfill & -0.00201\hfill & 2.272\hfill \\ -0.00128\hfill & 0.00201\hfill & 1.00000\hfill & 1.784\hfill \\ 0\hfill & 0\hfill & 0\hfill & 1\hfill \end{array}\right]$ |

$12-13$ | ${(2.855,2.868,-1.922,0.00225,0.00207,0.00152)}^{T}$ | $\left[\begin{array}{cccc}1.00000\hfill & -0.00253\hfill & 0.00039\hfill & 1.791\hfill \\ 0.00152\hfill & 0.70869\hfill & 0.70551\hfill & 702.869\hfill \\ -0.00207\hfill & -0.70551\hfill & 0.70870\hfill & 0.344\hfill \\ 0\hfill & 0\hfill & 0\hfill & 1\hfill \end{array}\right]$ |

$13-14$ | ${(-0.647,1.134,3.916,-0.00107,0.00210,0.00163)}^{T}$ | $\left[\begin{array}{cccc}0.50182\hfill & -0.00163\hfill & -0.86497\hfill & 699.353\hfill \\ 0.00174\hfill & 1.00000\hfill & -0.00087\hfill & 2.273\hfill \\ 0.86497\hfill & -0.00107\hfill & 0.50182\hfill & 2.445\hfill \\ 0\hfill & 0\hfill & 0\hfill & 1\hfill \end{array}\right]$ |

$14-P$ | ${(1.794,2.063,2.139,0.000874,0.00237,0.00140)}^{T}$ | $\left[\begin{array}{cccc}1.00000\hfill & -0.00140\hfill & 0.00237\hfill & 151.795\hfill \\ 0.00140\hfill & 1.00000\hfill & -0.00087\hfill & 2.273\hfill \\ -0.00237\hfill & 0.00088\hfill & 1.00000\hfill & 1.782\hfill \\ 0\hfill & 0\hfill & 0\hfill & 1\hfill \end{array}\right]$ |

$B-21$ | ${(1.790,2.153,2.123,0.02000,0.00175,0.00100)}^{T}$ | $\left[\begin{array}{cccc}0.99999\hfill & -0.00099\hfill & 0.00176\hfill & 1001.760\hfill \\ 0.00102\hfill & 0.99980\hfill & -0.02000\hfill & 33.147\hfill \\ -0.00174\hfill & 0.02000\hfill & 0.99980\hfill & 1.007\hfill \\ 0\hfill & 0\hfill & 0\hfill & 1\hfill \end{array}\right]$ |

$21-22$ | ${(1.761,3.155,0.977,0.00165,0.00175,0.00050)}^{T}$ | $\left[\begin{array}{cccc}1.00000\hfill & -0.00050\hfill & 0.00175\hfill & 1.761\hfill \\ 0.00051\hfill & 1.00000\hfill & -0.00165\hfill & 3.155\hfill \\ -0.00174\hfill & 0.00165\hfill & 1.00000\hfill & 0.978\hfill \\ 0\hfill & 0\hfill & 0\hfill & 1\hfill \end{array}\right]$ |

$22-23$ | ${(2.009,2.922,-0.003,0.00273,0.00159,0.00035)}^{T}$ | $\left[\begin{array}{cccc}1.00000\hfill & -0.00137\hfill & 0.00088\hfill & 1.759\hfill \\ 0.00036\hfill & 0.70903\hfill & 0.70518\hfill & 702.924\hfill \\ -0.00159\hfill & -0.70517\hfill & 0.70903\hfill & -0.00154\hfill \\ 0\hfill & 0\hfill & 0\hfill & 1\hfill \end{array}\right]$ |

$23-24$ | ${(-1.726,3.529,2.156,-0.00256,0.00160,-0.00053)}^{T}$ | $\left[\begin{array}{cccc}-0.49861\hfill & 0.00053\hfill & -0.86682\hfill & 698.275\hfill \\ 0.00248\hfill & 1.00000\hfill & -0.00081\hfill & 3.157\hfill \\ 0.86682\hfill & -0.00256\hfill & -0.49861\hfill & 1.034\hfill \\ 0\hfill & 0\hfill & 0\hfill & 1\hfill \end{array}\right]$ |

$24-P$ | ${(1.761,3.598,0.759,0.00082,0.00145,0.00295)}^{T}$ | $\left[\begin{array}{cccc}1.00000\hfill & -0.00295\hfill & 0.00145\hfill & -148.243\hfill \\ 0.00295\hfill & 1.00000\hfill & -0.00081\hfill & 3.157\hfill \\ -0.00145\hfill & 0.00082\hfill & 1.00000\hfill & 0.977\hfill \\ 0\hfill & 0\hfill & 0\hfill & 1\hfill \end{array}\right]$ |

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Zhang, F.; Chen, S.; He, Y.; Ye, G.; Zhang, C.; Yang, G.
A Kinematic Calibration Method of a 3T1R 4-Degree-of-Freedom Symmetrical Parallel Manipulator. *Symmetry* **2020**, *12*, 357.
https://doi.org/10.3390/sym12030357

**AMA Style**

Zhang F, Chen S, He Y, Ye G, Zhang C, Yang G.
A Kinematic Calibration Method of a 3T1R 4-Degree-of-Freedom Symmetrical Parallel Manipulator. *Symmetry*. 2020; 12(3):357.
https://doi.org/10.3390/sym12030357

**Chicago/Turabian Style**

Zhang, Fengxuan, Silu Chen, Yongyi He, Guoyun Ye, Chi Zhang, and Guilin Yang.
2020. "A Kinematic Calibration Method of a 3T1R 4-Degree-of-Freedom Symmetrical Parallel Manipulator" *Symmetry* 12, no. 3: 357.
https://doi.org/10.3390/sym12030357