1 Introduction

Parallel manipulator has been recognized as an alternative solution for applications where high pay load capacity and positional accuracy are of significant importance. Parallel manipulators have been used for accuracy critical mission, such as nano-positioner and radiotelescope [1, 2]. These applications often have very strict error tolerances. Due to their design properties, parallel manipulators are sensitive to geometric inaccuracies during assembly. This paper aims to present the kinematic calibration that compensates the geometric inaccuracies of a parallel manipulator. Manufacturing tolerances of building a manipulator often cause an inherent problem where the kinematic parameters are not exactly equal to the values in the kinematic model. Kinematic calibration is a process of identifying the actual values of the kinematic parameters in the kinematic model. Thus, by updating these parameters, the inverse kinematic calculation of the required joint angles will result in an accurate end-effector pose. The calibration process generally consists of four basic steps, namely, (i) development of a kinematic model that contains a set of parameters to determine the relationship between the actuated joint angles and the end-effector pose, (ii) measurement and recording of the manipulator poses, (iii) error minimization through searching for the optimum kinematic model parameters of the manipulator from the pose measurements and manipulator actuated joint angles, and (iv) correction for the geometric parameter errors in the manipulator kinematic model.

Masory et al. [3] presented a full formulation of a Stewart platform model using the Denavit-Hatenberg convention consisting of 132 parameters and a simplified model consisting of 42 kinematic parameters. Many researchers refer to these 42 kinematic parameters for kinematic modeling of a Stewart platform. Many calibration methods have been devised with some external measurement devices to detect the pose error of the manipulator. For example, Meng et al. [4] utilized a laser tracker to measure the position and orientation of the end-effector accurately of a Stewart platform. Zhuang et al. [5] obtained full measurement of the end-effector pose using a theodolite. In addition, indirect measurement methods for error measurement have been proposed using coordinate measurement machines (CMM) and visual aids [68]. Other research works involve specially designed measurement devices which are suitable for certain environments, such as inclinometers and double ball bars [9]. Another class of calibration method is the self-calibration methods. The main advantage of self-calibration is the automation of the calibration process. For example, Zhuang [10] presented a self-calibration method based on the data acquired from several redundant sensors installed on the passive joints of a Stewart platform, and it demonstrated how such a manipulator could be calibrated using its own redundant internal sensors.

More recent studies show the trend of using heuristics in the calibration. For example, Wang and Bai have proposed to apply fuzzy rules and neural network approach to calibration data to compensate possible error and outliers in the sensor data for measurement [11, 12]. This paper uses a heuristic approach, namely the Cuckoo search, by finding the optimum pose selection to make calibration robust against noise.

Lee et al. [13] and Kim et al. [14] proposed to attach three digital indicators to the end-effector of a parallel manipulator to measure the error with respect to a fixed external plane. They calibrated a Stewart platform using a constraint operator to determine the error assuming that this fixed external plane is flat. In this paper, a calibration method is proposed using three digital indicators, which are fixed on an external fixed frame, such that the axes of the gauges are perpendicular to this plane. This configuration is suitable when the calibration with respect to an external coordinate frame is required. For example, in machining applications, this single plane can be the worktable where the workpiece is being set up.

2 Kinematic model

2.1 Definition

This study is implemented on a parallel kinematic manipulator (PKM) that is well known as the Gough-Stewart platform. It is referred as Stewart platform throughout this paper. The Stewart platform is a six degrees-of-freedom (DOFs) platform consisting of a fixed base plate and a moving plate (a top plate), which are connected by a series of prismatic actuators and passive joints (see Fig. 1). A spherical joint connects each prismatic actuator to the moving plate. Similarly, a universal joint connects each actuator to the base plate. This arrangement allows the top plate to move based on the lengths of the prismatic actuators or the leg lengths.

Fig. 1
figure 1

Schematic representation of the Stewart platform

There are two coordinate systems, namely, a fixed or base coordinate system {F} and a moving platform coordinate system {P}. The position vector b i denotes the position of the center of the universal joint of leg i in {F} and the position vector P a i is defined in {P} pointing to the location of the center of the spherical joint of leg i. The legs are represented by vectors l i defined in {F}. If F R P and q = [q x q y q z ]T is a rotation matrix and a position vector expressing the pose (orientation and position) of {P} relative to {F}, then l i can be calculated as

$$ \varvec{l}_{i} = {}^{F}\varvec{R}_{P}^{P}\, \varvec{a}_{i} + \varvec{q} - \varvec{b}_{i} $$
(1)

Equation (1) is well known as the inverse kinematic formula. The leg length can be computed by taking the length of this vector. The values of the leg lengths must take into consideration the initial length offsets of the legs \( L_{{O_{i} }} \), and they are calculated using Eq. (2).

$$ \lambda_{i} = \left\| {\varvec{l}_{i} } \right\| - L_{{O_{i} }} = L_{i} - L_{{O_{i} }} $$
(2)

On the other hand, the forward kinematic model is used to calculate the pose given the leg lengths is a difficult problem which is usually solved using numerical methods [15]. The pose can be denoted by a generalized vector X = [q T θ T]T, where θ = [θ x θ y θ z ]T describes a set of Euler angles of the orientation of {P} relative to {F}. A Newton-Raphson scheme is developed in this research to compute a solution of the forward kinematic problem. This is an iterative method stated as follows:

  1. (i)

    Given a set of six leg lengths as L a = [L a1 L a2 L a3 L a4 L a5 L a6]T;

  2. (ii)

    Given an initial estimated pose X g = [q Tg θ Tg ]T, calculate the inverse kinematic solution of this pose, which gives the six leg lengths, L g = [L g1 L g2 L g4 L g4 L g5 L g6]T;

  3. (iii)

    Compute the partial derivative 6 × 6 matrix J of the pose vector, dX, with respect to a small change of each leg displacement, where \( J_{j,i} = \frac{{\text{d}\varvec{X}_{j} }}{{\text{d}\varvec{L}_{gi} }} \), i = 1,2,···,6, j = 1,2,···,6;

  4. (iv)

    Update the current pose, X g = X g + J −1(L a L g);

  5. (v)

    Repeat steps (i)–(iv) until (L a L g) is less than a certain pre-defined numerical threshold, and exit with the last X g as the solution.

An initial estimated pose is needed in step (ii) above. This initial pose can be set as the home position of the end-effector. The algorithm will give a robust solution of the correct pose if the pose is within the range of the manipulator movement and not near to any singularity configuration. In this paper, we have used the singularity configuration detector as described in Ref. [16], by evaluating the absolute value of |J −1| against a certain threshold to identify whether a pose is good for calibration.

2.2 Error model and parameter set

The kinematics formulas are crucial in the control of a PKM to move its end-effector to a desired location. However, this requires the PKM to be built according to the nominal kinematic parameters, such as joint locations and leg offsets. The main purpose of the calibration is to find the actual kinematic parameters that have deviated from their nominal values due to the imperfect assembly and manufacturing tolerances.

Error modeling is important for profiling geometric entities that cause motion error of the end-effector. Error modeling is the process of determining the parameters that affect the motion of the end-effector. Errors considered in the calibration are geometric and they are treated as static values or constants. There are other errors that are associated with the operation of the PKM, and these errors are non-constant values, time varying and depend on other factors, such as errors associated with non-ideal motions of the joints, vibration, load characteristics and the thermal states [1719].

It is generally accepted that 42 kinematic parameters can fully describe a configuration of a nominal Stewart platform [20]. Although more parameters can be defined, the main error in the end-effector is attributed to errors in these 42 kinematic parameters. Thus, these kinematic parameters are of main importance and they are namely, the leg length offset \( L_{{O_{i} }} \) (one parameter), locations of the universal joint, b i (three parameters each), and locations of the spherical joints P a i (three parameters each). Hence, there are seven kinematic parameters per leg. For a more complete error modeling, Wang and Masory [19] have derived 22 kinematic parameters per leg.

Kinematic calibration can solve kinematic parameters with respect to an arbitrarily fixed coordinate system located at the base frame {F} and the moving platform {P}. The absolute locations of the origins of the frame {F} and frame {P} have no effect on the motion error, because the kinematic parameter errors are defined within the Stewart platform closed kinematics loops relative to these origins. Therefore, six parameters that are defined with respect to frame {F} and six parameters with respect to frame {P} can be eliminated or excluded from the calibration. This approach is in agreement with reported studies [21, 22]. In the calibration, the parameters b 1, b 2, P a 1,P a 2 are set to the nominal/reference values and the other 30 parameters define the kinematic configuration of the Stewart platform. The origins of the coordinate frames are placed at the center of the base and the moving platform.

2.3 Digital indicators measurement model for calibration

Measurement data are taken from the digital indicators during calibration. These digital indicators provide additional redundant sensing which is used to calibrate the Stewart platform. The digital indicators are installed on an external fixed plate with reference to the world coordinate system. There is no specific constraint on the position of the digital indicators; however, they must be installed with the axes of the gauges perpendicular to the plane. The purpose is to measure the distance along the axes of the gauges between the external fixed plate and the end-effector plane of the Stewart platform. Figure 2 shows an illustration of the Stewart platform with the setup. The coordinate frames{T} and {W}, refer to the tool coordinate system and the world coordinate system, respectively. The digital indicator measurement is achieved relative to the world coordinate system. The world coordinate frame {W} is attached on the external fixed plate on which the digital indicators are installed, as the reference for the measurement.

Fig. 2
figure 2

Digital indicators measurement framework

3 Proposed calibration method

A numerical nonlinear gradient descent optimization method is used to solve the real kinematic parameters from the measurement data. The digital indicators are measurement devices to verify the location of the Stewart platform end-effector and determine the error between the desired and the actual locations. The readings of the digital indicators give different values from the expected values (nominal values) if there is a discrepancy or an error in the end-effector location. An error at one pose can be formulated as Y i F i (Q i , η), i = 1,2,···,N, where η denotes the real (unknown and to be found) kinematic parameters. Y i is the measurement vector taken from the readings of the indicators, and Q i is the leg length computed from the inverse kinematics corresponding to the ith pose when measurement is taken. F i is a function that gives the nominal values of the readings of the digital indicators when the end-effector is at the desired location. When there is no error, Y i is equal to F i . In other words, if there is no difference in the nominal kinematic parameters and the real kinematic parameters, there will be no kinematic errors. The calibration is solved by optimization that is formulated as Eq. (3).

$$ \mathop {\hbox{min} }\limits_{\eta } \left\| {\begin{array}{*{20}c} {Y_{1} - F_{1} \left( {Q_{i} ,\eta } \right)} \\ \vdots \\ {Y_{N} - F_{N} \left( {Q_{i} ,\eta } \right)} \\ \end{array} } \right\|, $$
(3)

where N is the number of measurement poses taken. Equation (3) will minimize the error by finding the real kinematic parameters, and it is also known as the least squares formulation (LSF). The LSF procedure determines the real kinematic parameters, which are initially set according to the nominal parameters of the Stewart platform. When the errors in Eq. (3) are minimized, the set of kinematic parameters that best represents the actual kinematic parameters of the Stewart platform is found.

The errors can be defined as errors in the leg lengths (also known as inverse kinematic model (IKM)) or as errors in the end-effector pose (also known as forward kinematic model (FKM)) [5, 23]. The IKM requires full pose measurement (six DOFs, position and orientation), whereas this is not necessary for the FKM. In the proposed method, the FKM is used because full pose information is not available. For each pose, three digital indicator readings give three measured values and the FKM gives the expected values. The differences between these values and the expected values are taken as the errors defined above.

The forward kinematics calculation is performed in each function, F i is used to obtain the expected values of readings of the digital indicators. The function F i in Eq. (3) gives the pose of the end-effector from the leg lengths, Q i and kinematic parameter η. The function F i computes the expected digital indicator readings based on the external plate location, on which the frame {W} is attached, with respect to the base coordinate frame {F}. Using the end-effector location that has been calculated, the expected digital indicator readings are determined by finding the distances between the external plate and the end-effector.

The forward kinematics calculation gives the position and orientation of the frame {P} with respect to the frame {F}.The actual end-effector is a moving plate connected to the actuators of the Stewart platform through the spherical joints. Figure 3 illustrates that the origin of {P} which is above the bottom surface of the moving plate (the end-effector surface) by a distance of d Off. This is due to the physical arrangement of the components. Each of the digital indicators is mounted perpendicular with respect to the frame {W}, which measures the distance along the z-axis in frame {W} from the external plate surface plane to the end-effector surface plane. It is assumed that the end-effector surface is flat. A coordinate vector x lying on this plane satisfies Eq. (4).

$$ \user2{n}_{z} \left( \user2{x} \right) \,+\,d = 0,\,d = - \user2{n}_{z} \left( {\user2{x}_{0} } \right) ,$$
(4)
$$ \user2{x}_{0} = \user2{q}\,{-}\,d_{\rm Off} \user2{n}_{z};\,\user2{q} = \, \left[ {q_{x} q_{y} q_{z} } \right]^{T} . $$
(5)
Fig. 3
figure 3

Determining digital indicator expected values

In Eqs. (4)–(5), q is a position vector of the calculated end-effector location, n z  = [a,b,c]T is the normal unit vector of the surface which is parallel to the z-axis of frame {P}. n z can be obtained from the rotation matrix F R P . Both q and F R P are obtained from the forward kinematics calculation. The placement of the Stewart platform base and the external fixed plate can be made such that the coordinate systems {F} and {W} are parallel and their origins are collinear. Thus, the expected digital indicator readings (W z 1, W z 2, W z 3) are calculated using Eq. (6), where W x i and W y i are the coordinates of the installed digital indicators relative to the frame {W} and a, b, c are the components of the vector n z  = [a,b,c]T.

$$ ^{W} z_{i} = \, \left( { \, {-}d-a^{W} \,x_{i} -b^{W} y_{i} } \right) \, /c,i = 1, 2, 3. $$
(6)

4 Optimum pose selection for the calibration

When the calibration is being performed, measurement data are collected from the various poses or configurations of the PKM. These data, however, can be affected by noise and physical instability. This set of measurement poses can be optimized to yield robust calibration. The quality of a certain set of configurations/poses with respect to the calibration can be approximated based on an observability index that can be obtained from the identification Jacobian matrix, J P . This matrix has components that are calculated using the linearized version of Eq. (3) [21]:

$$ \Delta Y = \varvec{J}_{P} \varDelta \eta $$
(7)

In Eq. (7), ΔY is the difference in the measurement variable (digital indicator readings) when an error Δη is induced in the kinematic parameters. For the IKM calibration, J P can be formulated analytically. However, for the FKM, J P can be computed numerically by assuming a small difference in Δη [5]. Four different formulations (O 1, O 2, O 3, O 4) have been proposed in the literatures for the definition of the observability index from the matrix J P [24, 25]. One of the best indices that relates well to the robustness of calibration to noise is the noise amplification index, O 4 given by Eq. (8), where σ i are singular values of J P ordered from the largest to smallest so that σ i  > = σ n .

$$ O_{ 4} = \sigma_{n}^{ 2} /\sigma_{i} $$
(8)

The goal of pose selection can be stated as: to find a number of measurable and reachable poses for the Stewart platform that give the largest value of the observability index. In this goal definition, “measurable” is a constraint where the end-effector can touch all the digital indicators at a selected pose. In this goal definition, “reachable” is a condition where all the physical constraints of the joints are satisfied. This goal can be achieved by applying a constrained search optimization method. The chosen observability index, O 4, is obtained from the identification Jacobian matrix J P which is a function of J P (X s ), where X s is a collection of poses [x 1,x 2, ···,x N ]T. Thus, the selection of a set of poses for calibration affects J P and the observability index.

The framework for the search method is adopted from Ref. [26], but a heuristic swarm-based method is applied as the optimization procedure, namely the Cuckoo search (CS). The CS is coined recently by Yang and Deb [27] and can be applied for various optimization problems. The steps of the algorithm are as follows:

  1. (i)

    Initial set, x 1,x 2, ···,x N, for N candidate poses needed for selection is formed by random poses in the search domain;

  2. (ii)

    Add Find step: using the CS (CS algorithm, Fig. 4), find additional x N+1, that maximizes O 4(J P (X)) with X includes x 1,x 2, ···,x N , and x N+1;

    Fig. 4
    figure 4

    Cuckoo search with Lévy flights

  3. (iii)

    Remove Find step: find an x _ within the set x 1,x 2, ···,x N+1 that if this x _ is removed from the set, the remaining poses give a higher objective value of O 4(J P (X)) with X including all poses in x 1,x 2,···, x N+1 except x _ .

  4. (iv)

    Repeat steps (ii) and (iii) until x _ = x N+1 which implies that the new added configuration can not improve the current set and exit with the last configuration set as the result.

The objective function for the optimization is defined as

$$ \left( \begin{gathered} f (\varvec{x} ) = 0, {\text{ if }}\varvec{x}{\text{ is not measurable or not reachable,}} \hfill \\ f (\varvec{x} ) \, = \,O_{ 4} (\varvec{X} ) , {\text{ if }}\varvec{x}{\text{ is a measurable and reachable pose}} .\hfill \\ \end{gathered} \right. \, $$
(9)

This CS algorithm has two parameters. n is the number of population and p a is the fraction of worse nests to be abandoned in every iteration. In this paper, the parameters are set as n = 25 and p a = 25%. The optimality is based on O 4, which is the best index to reflect the calibration quality. The observability indices for randomly and optimally selected poses are presented in Tables 12. It can be seen that the observability indices have a tendency to increase monotonically with poses which are added to the calibration. Furthermore, the optimally selected poses always result in better calibration robustness.

Table 1 Various observability indices (random poses)
Table 2 Various observability indices (optimally selected poses)

5 Applications

A prototype has been built to verify the calibration method presented in this paper. The prototype is shown in Fig. 5. The nominal values of the kinematic parameters of the Stewart platform are described as follows. The passive joints are given in Table 3. They are used as references in the fabrication and assembly to locate the links and connect the Stewart platform components. In addition, the motion ranges of the joints define the workspace of the Stewart platform. The nominal leg offsets are the same for all the legs, i.e., \( L_{{O_{i} }} \) = 305.000 mm, i = 1,2,···,6, and the maximum displacement of the prismatic actuators is 50 mm. The actuated leg geometry is modeled as a cylinder with a diameter of 36.1 mm to avoid collision between them. The tilt angle limits for the universal and spherical joints are 45 ° and 29 ° respectively.

Fig. 5
figure 5

Stewart platform prototype

Table 3 Geometry of the Stewart platform (nominal parameters, all units are in mm)

Simulation is carried out to verify the calibration method before applying the method to the actual Stewart platform calibration with real data. In the simulation, a real model is assumed and used to test the calibration method. Table 4 summarizes the deviations of the real model from the nominal model. The nominal model is used for initialization of the kinematic parameters at the start of the error minimization in the LSF. Table 5 presents the various simulation results with arandom error applied in the measurement data. This error emulates the noise and disturbance in the measurement. The error is modeled as the Gaussian white noise with the corresponding variances (noise level) listed in Table 5.

Table 4 Real model for calibration simulation
Table 5 Error comparison of calibration simulation

The number of poses required to obtain a good calibration result has been investigated. Figure 6 presents the plot of the error in the kinematic parameters after calibration against the number of pose measurements. In this test, random poses are used. It can be concluded that a larger number of poses will lead to better calibration results. In addition, there is a limit where the errors cannot be reduced further with additional number of poses.

Fig. 6
figure 6

Calibration improvement with a larger number of poses

The proposed calibration has potential for automated calibration as long as the selected poses are measurable and reachable. The calibration process has been performed in several trials to improve and obtain the best geometric parameters that can minimize the errors. Some measurement errors due to instability were observed during the calibration process where the data obtained for the same pose differed by around 10-50 µm, depending on the previous state of the Stewart platform. This could be caused by the backlash in the passive joints. To compensate this error, two sets of data were taken for each configuration during measurement and the average is recorded. The CS method was applied to find the optimal poses for calibration. The improvement in calibration using the proposed search method is presented in Table 6. The result showed the calibration using optimally selected poses gave the least error. Table 7 summarizes the calibration result with a set of 110 optimally selected poses.

Table 6 Error reduction comparison between random and optimally selected poses
Table 7 Kinematic parameters after calibration

The resolution of the dial gauges used is 0.01 mm. This experiment indicates that Stewart platform calibration can be done using a relatively low cost sensor. The accuracy obtained cannot exceed the maximum tolerance of the dial gauges. In this example, we have obtained an accuracy of 0.1 mm for positioning in the z-axis. The concept of the calibration is proven by the fact that the absolute positioning errors have been reduced up to 83% from the previous errors without calibration. In addition, the optimum pose selection helps to improve the accuracy on the orientation.

6 Conclusions

The kinematic calibration of a PKM has been proposed, developed and implemented on a prototype Stewart platform. By using the FKM in the calibration, partial pose measurement using three digital indicators has been applied successfully for improving the accuracy of the Stewart platform. A notable difference in the proposed method compared to others is that it includes the external frame in the calibration. While it assumes that the world coordinate and the PKM base coordinate frames are parallel, it is not limited to this assumption. In certain applications, such as machining, this arrangement is beneficial as the actual work is conducted with respect to the world coordinate frame. The approach is readily extendable to other types of PKM. The paper presents a low-cost and feasible PKM calibration technique with an external frame.