Abstract
Parallel robots are specially designed to perform high-precision tasks. Nevertheless, manufacturing, assembling and control issues can reduce their capacity to perform adequately. Observing the acquired measurement data with high-precision devices - such as laser-based instruments - it is not surprising that the error data follows patterns or have a structure because, in many cases, the greatest error comes from a mechanical bias introduced by manufacturing issues. Even though we cannot determine with certainty where the error comes from, a pattern in the measured data suggests that it is feasible that it can be modelled and corrected - in a significant proportion - by purely software applications, without the need of disassembling or re-manufacturing any component. This work deals with the problem of finding a mathematical model which adequately fits the error data from the legs of a general Gough-Stewart platform. Hence, we obtain an expression which can be subtracted from the control parameters in order to compensate the inherent mechanical error in the legs. The purpose of this article is two-fold: 1) to present numerical results of the beneficial effects of the error compensation in the legs as well as in the end-effector, and 2) to introduce a numerical methodology to find a model for error compensation and to numerically simulate its effects. Numerical, graphical and statistical evidence of the error improvements, according this methodology, is provided.
Introduction
Parallel robots have become an excellent solution for applications where precise positioning and orientation are needed. Although their workspace is limited as compared to serial robots, parallel robots take advantage of their dynamic stability, high stiffness and high pose accuracy. Therefore, they are suited to very precise applications, such as machine tools, surgery devices and scientific instruments, like radio-astronomy telescopes. Due to their design, there is no one-to-one relationship between controllable variables and degrees-of-freedom (DOF), and each controllable variable affects all DOFs (and vice versa). Therefore, the determination of an end-effector pose requires special algorithms. Besides the complexity of the mechanism's kinematics, the pose error depends mainly on the accuracy of the actuators, the control scheme and the elastic deformations.
One application where high accuracy is needed is in machine tools. In this area, a large number of strategies for error modelling and compensation have been studied and can be considered as consolidated [1], [2]. There are a lot of works dealing with the accuracy of serial manipulators and conventional machine tools. Error modelling, studies of manufacturing and assembly errors on pose accuracy and different calibration approaches are examples of topics in these areas. In contrast, in order that a parallel robot can be applied as a machine tool, calibration strategies should be clearly defined [3]. Conventional machine tools consist on three mutually orthogonal axes and two perpendicular rotating axes. Each DOF moves independently, and each is controlled by a separate driver. Thus, the kinematics and dynamics models are simpler than in a parallel robot. For parallel robots, the pose and twist of the end-effector depend on the simultaneous movement of every driver, and the kinematic function that relates each of the individual joints contributes to the accuracy of the moving platform. The global error of the end-effector is the main concern. This error could be a function of many error sources, and there is no unique method for estimating the actual pose. The most significant error sources can be classified as manufacturing errors, joint run-out, ball screw deviations, transmission errors, elastic and thermal deformations, sensor accuracy, and algorithm and truncation errors. Manufacturing errors are caused by geometrical deviations of machined parts and assembly errors. Joint run-outs are a combination of a joint's gaps and assembly errors and the joint movement. Elastic deformations are produced by external and gravitational loads applied to the links. Thus, they are a function of the posture of the mechanism. They can be compensated only if the elastic deformation of the robot can be characterized [4]. Pose and twist sensors usually have a defined accuracy and, in many cases, the error are small enough so that their contribution to the pose error is minimal. However, for very accurate mechanisms, their contribution is significant and must be taken into consideration. Incidentally, the kinematic model is one of the main elements of the control algorithm. It contributes to the pose accuracy with truncation errors in the kinematic model, control loop and time response.
Usually, error compensation methods can be divided into two areas: 1) hardware and mechanical methods, and 2) Software methods. The first class of approaches uses compensation error procedures through some mechanical means. Software approaches to compensating errors become useful when it is difficult to implement the hardware or mechanical methods. Their main advantage is that they can be implemented without the need for the disassembly or re-manufacture of any component of the robotic system.
As for so-called ‘parallel kinematic machines’ (PKMs), in [5] it is attributed the source of errors to the uncertainties of the theoretical model, such as the coordinates of the base and moving platform joint centres, as well as the link lengths in the initial position. In [6] it was reported the measurement and analysis of geometrical errors through a kinematic model and experimental measurements using conventional metrology tools. He used variation analysis of the kinematic model to describe how errors in the real geometry of the machine components generate parametric errors in the moving platform. In [7] it was emphasized that the kinematic and dynamic behaviour of a parallel mechanism is strongly influenced by joint geometrical errors due to manufacturing tolerances and assembly errors. In [8] it was reported that the spherical joints’ distance located at the leg end - which is the leg length - is fundamental for platform accuracy positioning. This condition is critical in the actual position of the moving platform, and it was also found in the present work. In [9] it was established kinematic modelling and error modelling using the Jacobian matrix method for a TAU robot. In [10] it is described an error compensation method for parallel mechanisms. He identified two types of errors, namely those related to elastic and thermal deformations, and those related to manufacturing deviations and backlash. In [11] it is presented a geometric approach for the computation of local maximum position and orientation errors. They used actuator inaccuracies as input errors. In [12] it is proposed a method for estimating the accuracy of three-DOF planar parallel robots. In [13] it was predicted the pose errors that are caused by joint clearances. In [14] it was proposed a new calibration method. Their method allows for the identification of joint offsets through the evaluation of the leg's parallelism with respect to the ground reference plane. In [15] it was developed a calibration algorithm based on constraining two of the orientation angles. They measured the orientation of the moving platform with two precise inclinometers (biaxial inclinometer) and through the kinematic model they found the actual overall position. These kinds of measurement devices are less frequently used, and while they are more accurate, they are also more expensive. More recently, an approach for modelling quasi-static errors in a five-axis Gantry machine tool was presented in [16]. Quasi-static error is a common classification for geometric, kinematic and external load-induced errors. In sum, the task of characterizing and modelling errors and using them in a software compensation system can be considered to be a transcendental step in enhancing the accuracy of parallel robots.
This paper presents a methodology to compensate for the leg errors of general Gough-Stewart platforms. It includes a mathematical error model which adequately fits the measurement of the displacement errors for the six legs of a parallel platform. It is well known that the effectiveness of error compensation approaches relies heavily on the error model. With this model, the modelled compensation function can be considered in a control scheme in order to compensate the inherent mechanical and displacement errors in the legs. Numerical results of the beneficial effects of the error compensation in the legs as well as in the end-effector pose are reported.
The rest of this paper is structured as follows: the second section is concerned with the Gough-Stewart platform and its problems; the third section describes the measured displacement errors, the process and the instruments employed to obtain them; the fourth section explains the proposed modelling error technique; the fifth section describes the process suggested to compensate the measurement differences; and finally, the last section provides the conclusions of this paper.
The Gough-Stewart platform and its kinematics
With the aim of describing useful applications of parallel mechanisms, the secondary mirror positioner of modern millimetre radio-telescopes can be employed as an illustrative example. These radio-telescopes have a large parabolic mirror (from 30 m to 100 m) that concentrates radiation into a secondary mirror. The secondary mirror must keep the focus length within a tolerance of less than 10 μm, and an orientation tolerance of less than 1 arc-sec. Since a positioner mechanism is intended as a highly precise scientific instrument, the Gough-Stewart platform architecture can be selected as being suitable (see Figure 1). Its kinematic configuration consists of a fixed plate connected by six driving legs to a moving platform.

General Gough-Stewart-based parallel platform: a) actual platform, b) a scheme of the platform
Each leg has an actuated prismatic joint, a spherical joint at the fixed end, and a universal joint at the moving end. The fixed and mobile platforms have the same dimensions. In order to improve the mechanism's stability, the spherical and universal joints were located as close as possible such that they form triangular structures, as shown in Figure 1. Each actuator consists of a servo motor connected to an almost zero-backlash gearbox, and the piston rod is moved through a zero-backlash ball screw, as shown in Figure 2. The ball screw is mounted on high-precision rolling bearings.
In Equation 1,
Where F represents the inverse kinematic function of the general Stewart platform. Notice that the position

A leg for a Gough-Stewart platform: a) actual leg, b) a CAD model and main parts
The desired accuracy of the control system is achieved by having a redundant encoder measurement. The main encoder is a linear encoder that measures the actual leg displacement. For each leg, the difference between the commanded leg length and the actual length has been measured. The difference was measured with a laser interferometer with 0.1 μm nominal accuracy, [17]. The calibration equipment is shown in Figure 3. It consists of a leg, a laser and an interferometer.
The ball screw is the element with the largest displacement error; it has a linear deviation of 9 μm/m.

Data acquisition with calibration equipment RENISHAW ML10
For each leg, six sets of 361 measurement differences were obtained. The length of each leg is variable depending on a ball screw actuator, thus, in order to take the measurements, they are positioned for having the half of the maximum length. Hence, these displacements are relative to this position. A set of these measured errors is presented in Figure 4. As can be observed, they seem quite similar, with small changes in the scale and the y position (error axis). The lengths of the legs are controlled by using the ball screw actuator as mentioned before; as a result, it is logical that a mechanism which has been similarly manufactured should also share the same mechanical bias. Fortunately, the error presents a pattern - by graphical analysis, one can observe that the errors can be seen as a sum of periodic functions. Hence, the purpose of this section is to find a explicit mathematical function which represents the displacement error and can be used to compensate for it.

A set of displacement error measures of the six legs for the Gough-Stewart platform. The units are micrometres.
The Fourier transform constitutes a well-known approach to obtaining the frequency components from a given signal. In our case, given the characteristics of the measured displacement errors, the discrete Fourier transform (DFT) is used (see Equation 2). The DFT transforms a defined function into a finite discrete interval of the frequency domain representation. By using Equation 2, a set of N complex numbers is transformed into another set of N numbers. Only the first half of the vector delivered by Equation 2 is useful, considering that the second half is only a reflection of the first:
In Equation 2, F k represent the amplitude and phase of the different sinusoidal components of the input function. The amplitude of each component in the frequency domain is computed according Equation 3, the phase is computed according to Equation 4, and finally, the matched frequency is obtained with Equation 5:

Compensation for displacement leg errors of the Gough-Stewart platform: brown lines - set of measured data for each leg; blue line - error compensation function; red line - mean of compensated displacement errors; green lines - compensated errors for each set of measures; black lines - plus and minus of the standard deviation for the compensated displacement errors. N.B. The units are micrometres.

Original displacement error of Leg 3, the compensation function and the compensated error
Once the Fourier transform is obtained, the original data can be sampled from Equation 6, which uses the attained parameters:

Histogram of the leg errors of the Gough-Stewart platform, Legs 1–3. Left: original displacement error. Right: compensated error.
In order to use Equations 2, 3, 4 and 6 in our context, it should be noted that: the signal {x n , f n } is the displacement error data, x n is the length of a given leg and f n is the corresponding error at that position. As can be observed, function 6, which is used to rebuild the error function, does not depend on the leg's length x n directly. Therefore, a transformation must be applied following Equation 7. It needs the position of the half of the leg (which is the same as used for measurement differences), but in its nominal value:
Once frequencies, phases and amplitudes are found, the most important among them are selected in order to reduce the model complexity. This is achieved by reducing the number of involved parameters - in this case, we use the most important 100 parameters of amplitudes, frequencies and phases. The resulting model of the sums of the cosines can then be used to correct or compensate the displacement error in the legs. The complete methodology to compute the model using the Fourier transform is presented in Algorithm 1. It is executed for each leg. The input is a pair of vectors

Histogram of the leg errors of the Gough-Stewart platform, Legs 4–6. Left: original displacement error. Right: compensated error.

Histogram of the end-effector position errors for the Gough-Stewart platform. Left: original error. Right: compensated error.
Additionally, graphical evidence of the procedure's results are shown in Figure 5. For each leg, the graphs correspond to six sets of measured displacement errors, the error modelling function and the statistical treatment of the compensated displacement errors. From Leg 4 in Figure 5, we can note that when the displacement errors exhibit random behaviour, it is difficult to compensate for them. In contrast, when the displacement errors present a defined pattern, it is easier to compensate for them, as can be seen for Legs 2, 3 and 5 in Figure 5. A possible explanation of such deterministic patterns is the physical error introduced by the leg screw; hence, it is quite possible to find this kind of deterministic pattern in the errors, and in consequence it is an adequate assumption that this error can be compensated for by a deterministic periodic function, such as the Fourier transform proposed in this work. The relevance of obtaining such an error compensation function is that it can be used in a control scheme.

Histogram of the end-effector orientation errors for the Gough-Stewart platform. Left: original error. Right: compensated error.
Range and absolute value of the errors for the original data and for the compensated error. *|Error| = Error absolute value. N.B. The units are micrometres.
The Figure 6 shows the original displacement error, the compensation function and the resulting error when subtracting the compensation function defined in Equation 6 from the original error. Notice that the error compensation function and the measured error are quite similar. The following section completes the procedure for the error compensation for the end-effector.
Using the methodology just described, we compute the compensation function according to Equation 6. The results of compensating for the displacement leg errors are described in Table 1.
In order to show the advantages of the methodology just presented in this article, we perform the following experiments:
Generate random configurations of the end-effector by using the inverse kinematics and finding the corresponding leg lengths.
If the leg lengths are within the range of the measures, then we use the error data and linear interpolation to sum the corresponding error for each leg.
Solve the direct kinematics for the new lengths in order to determine the end-effector coordinates and angles, and store the values for the comparison presented below.
Use the compensation function in Equation 6 to compensate for the displacement error, solve the inverse kinematics with the compensated lengths, and store the values for the comparison presented below.
Following the steps given above, we can analyse the resulting error in the legs by observing the histograms presented in Figure 7 and 8. The left side shows the frequencies of the errors before compensation, and the right side after compensation. As can be seen, very similar compensation is achieved in the legs as achieved in the end-effector.
The range of the error is somewhat lower in the compensated error than in the original.
The compensated error is closer to 0 than the original.
The compensated highest frequencies in the compensated histogram error are higher than the highest frequencies in the original error histogram. This is important if we consider that the compensated error has the highest frequencies around 0. Hence, most of the measures are adequately compensated for.
As can be observed, the methodology just presented not only diminishes the error but in addition it changes the pattern. We can infer this behaviour by looking at Figure 6, where we can observe that the original error data has a pattern and the resulting compensated function seems to be a kind of random function.
Finally, we can analyse how the displacement leg errors and their corrections affect each of the parameters of the configuration in the end-effector. The improvement in position, according to our experiments, is reported in Table 2. Notice that these measures can represent a sample of the workspace. In this vein, it must be remarked upon that not all of the randomly generated points can be solved with the desired precision, as it is very possible that many points cannot be physically realized. We consider that the direct kinematics are successfully solved if we get an error norm that is less than 1 × 10−4 using the solver presented in [18].
We tackle the direct kinematics problem for general Gough-Stewart platforms using a hybrid optimizer. This is based on probabilistic learning (estimation of distribution algorithms) by taking advantage of the adequate generation of starting points for the Dogleg method, without a priori knowledge.
Notice that the error norm guarantees that the numerical error for each leg is less than or equal to 1 × 10−4; thus, we avoid numerical error biases for the results. Nevertheless, the results could be biased by the random points used, due to the configurations that can be used to physically constrain the possible positions of the legs. As can be seen in Table 2, the range of the error is nonetheless reduced significantly and the error average is reduced as well. The explanation for this is the bias that we considered above. Hence, by considering specific paths or work areas, we can find the bias in the positions of the end-effector and compute a more precise compensation. In addition, notice that the histograms of the end-effector positions in Figure 7 and 8 can be centred around zero by simply applying an arithmetic difference to the compensation. As mentioned, in this case the histogram is not exactly around zero because only certain positions can be physically achieved. If we had known a priori which these points were (for example, if we had known an a priori path of the end-effector), then a more precise model could have been computed. Hence, in practice, if we know a priori the path or work area of the end-effector, more precise compensation can be calculated for such a path within the same range of error but actually centred around zero. The same behaviour can be observed in Figure 10, where Angle 3 is zero because it has no practical usage in radio-telescope applications.
Measures of the accuracy improvement in the end-effector pose: x,y, z in micrometres, and Angle 1 and Angle 2 in radians.
Measures of the accuracy improvement in the end-effector pose: x,y, z in micrometres, and Angle 1 and Angle 2 in radians.
It is worth noting that the error range in the end-effector pose is reduced to the same scale as the reduction that we performed in the legs.
This work presents a methodology to compensate the displacement leg errors of general Gough-Stewart platforms. The methodology can be applied to any parallel mechanism taking into account the following considerations:
The error data must present a pattern. This methodology is intended for deterministic errors which follow a pattern, as can be seen in Figure 4; the error does not seem to be generated from underlying stochastic phenomena but rather from a deterministic issue. Moreover, the errors are quite similar for the six legs; hence, the hypothesis that the bias is due to a mechanical, manufacturing or assembly issue is quite plausible. These reasons are important because: 1) If the error comes from stochastic phenomena, it must therefore be modelled as a random variable with some underlying distribution, and the compensation effectiveness must be tested according to statistical evidence. 2) If the error comes from deterministic phenomena (or else in a greatest proportion), then our a deterministic function must be represented accurately, not only according to the data we get from physical experiments, but also within the whole continuous range of application. Thus, the interpolation used in this work makes sense. These two assumptions have been adopted in this work based on the analysis of the empirical evidence plotted and discussed throughout the paper.
The direct and inverse kinematics must be solved with sufficient accuracy (an least an order of magnitude lower than the physical error) in order to avoid an erroneous interpretation of the numerical results.
The number of parameters must be chosen according to the desired error reduction and the simplicity of the model. Notice that there is a compromise between the number of parameters and the error compensation. If the error data present only low frequencies, few parameters are needed.
According to our results, the range of each leg's error is reduced by between 80 and 90 %. A similar reduction is achieved in the end-effector. The numerical, graphical and statistical measures and plots show that the proposal reduces the error considerably.
Finally, in the future we will contemplate using different functions which are not directly derived from the Fourier transform. Notice that the Fourier transform imposes the frequencies used for representing the function, and as such perhaps a simpler model could be used if the basis functions were different to those used in the Fourier transform.
In addition, the methodology could be applied to other mechanisms, wherever it is possible to obtain measured differences between nominal and actual values of the link/joint parameters. Finally, a stochastic version of the method must be proposed.
Footnotes
6.
Eusebio Hernandez would like to thank SIP IPN for its financial support, under projects SIP 20121377 and 20144318. The authors are also grateful to CONACYT-Mexico for supporting part of this project through grant CB-2011-01-169132.
