Fuzzy Interpolation and Other InterpolationMethods Used in Robot Calibrations

A novel interpolation algorithm, fuzzy interpolation, is presented and compared with other popular interpolation methods widely implemented in industrial robots calibrations and manufacturing applications. Different interpolation algorithms have been developed, reported, and implemented in many industrial robot calibrations and manufacturing processes in recent years. Most of them are based on looking for the optimal interpolation trajectories based on some known values on given points around a workspace. However, it is rare to build an optimal interpolation results based on some random noises, and this is one of the most popular topics in industrial testing and measurement applications. The fuzzy interpolation algorithm (FIA) reported in this paper provides a convenient and simple way to solve this problem and offers more accurate interpolation results based on given position or orientation errors that are randomly distributed in real time. This method can be implemented in many industrial applications, such as manipulators measurements and calibrations, industrial automations, and semiconductor manufacturing processes.


Introduction
A suitable interpolation method is important to fit the target pose errors based on the pose errors of the neighboring grid points around the target.In recent years, many advanced interpolation algorithms have been designed and developed by different researchers [1][2][3][4][5].Jakobsson et al. developed a technique for interpolation with quotients of two radial basis function expansions to approximate functions with poles [6].Duan et al. constructed a bivariate rational interpolation method using both function values and partial derivatives of the function that was interpolated as the interpolation data.They developed a new rational interpolation with a biquadratic denominator to create a space surface using only values of the interpolated function and designed a bivariate rational Hermite interpolation to create a space surface using both function values and the first-order partial derivatives of the function and presented a weighted rational cubic spline interpolation using two kinds of rational cubic splines with quadratic denominator [7][8][9][10][11].
Luo et al. developed a range-restricted C 1 interpolation local scheme to scattered data.C μ -rational spline function classes over triangles and quadrilaterals were investigated [12].Hu and Tan presented an adaptive osculatory rational interpolation for image processing that preserves the contours or edges [13].Zhao and Tan introduced block-based inverse differences to extend the point-based Thiele-type interpolation to the block-based Thiele-like blending rational interpolation.Also, a bivariate analogy and numerical examples were given to show the effectiveness of their method [14].Sarfraz and Hussein developed a smooth curve interpolation scheme for positive, monotonic, and convex data by using piecewise rational cubic functions [15].
Goodman and Meek presented a planar interpolation method using a pair of rational spirals to solve planar and two-point G 2 Hermite interpolation problem [16].Hussain and Sarfraz used a C 1 piecewise rational cubic function to visualize the data arranged over a rectangular grid [17].Bejancu Built a new treatment of univariate semicardinal interpolation for natural cubic splines, and the solution was obtained as a Lagrange series with suitable localization and polynomial reproduction properties [18].Zhu and Wang applied the Noether-type theorem of piecewise algebraic curves on cross-cut partitions and used interpolation along a piecewise algebraic curve [19].Maleknejad and Derili used box spline quasiinterpolants based on local linear functionals of point evaluator and integral type to reproduce the whole spline space [20].
Both linear and cubic spline interpolation methods can achieve satisfactory interpolation results for a common measurement and calibration process [27].Generally, the linear interpolation method is based on the assumption that the error distribution is approximately linear, and the interpolated errors are obtained from three plans that are constructed based on 8 neighboring errors on the grid points around the target cubic cell [28].The cubic spline interpolation technique also assumes that the error of the target pose is located on a cubic curve that is constructed by the pose errors of 8 neighboring grid points around the target [28,29].In essence, both methods approximate a spatial error surface based on the errors of known points and assume that the error of the target point is located on that surface.Consequently, the target pose error is estimated by utilizing the equations of the error surface.However, since the actual pose errors are randomly distributed with the time and locations in the measured machine workspace, and therefore it is impossible to pinpoint a pose on the error surface at any given moment accurately, the result is that the traditional interpolation techniques may not provide an accurate estimation of the pose errors.
The fuzzy error interpolation technique utilizes a fuzzy inference system to estimate machine or manipulator pose errors, which is consistent with the random distributed nature of the pose errors.These pose errors can be considered as a fuzzy set at any given moment of time.The fuzzification process takes into account a range of errors rather than only a crisp error value.Therefore, the fuzzy error interpolation technique has the potential to improve the error estimation and compensation results for the target.
Fuzzy interpolation techniques have been rapidly developed and implemented in many academic and industrial fields in recent years [30][31][32][33][34][35][36][37][38][39][40][41][42].Different strategies of fuzzy interpolation have been developed and applied in real applications.Triantafilis et al. and Dragicevic et al. reported approaches of using fuzzy interpolation methods to estimate the soil layer and geographical distributions for GIS database [43,44].Song et al. described a fuzzy logic methodology for four-dimensional (4D) systems with optimal global performance using enhanced cell state space [45].Li et al. reported a multidimensional fuzzy interpolation neural network to perform the fuzzy interpolations for a multidimensional system [46].Chang et al. reported to use fuzzy interpolation methods to obtain the trajectory data for a multijoint animation robot [47].Bai et al. developed a robot calibration algorithm to calibrate parallel machine tools using fuzzy interpolation techniques [48].A control algorithm combined with Lagrange fuzzy interpolation, which was reported by Cheng Wang and Shanzhen Xu can be used to improve control effect and enhance control precision effectively compared with traditional fuzzy control algorithm [49].Bai et al. developed a mind assistant system using fuzzy interpolation technique to support the judgment of emotion state for elderly living alone [48].A supervisory semiactive, nonlinear control system combined with a fuzzy interpolation algorithm is reported by Kim et al. to improve the controllability of a MISO controller [50].
A comparison between trilinear, cubic spline, and fuzzy interpolation methods used in accurate measurements and compensations for machine or manipulator calibration are discussed in this paper.The simulation results show that the fuzzy interpolation outperform other interpolation methods.
The remainder of the paper is organized into the following four sections.The principles of the two popular traditional interpolation techniques, trilinear and cubic spline, are outlined in Section 2. Section 3 discusses the fuzzy error interpolation method.Results from a simulation study are given in Section 4 to illustrate the effectiveness of the fuzzy error interpolation technique.The conclusion is provided in Section 5.

Trilinear and Cubic Spline Methods
The trilinear and cubic spline interpolation methods are designed to construct a surface based on the known errors of neighboring points.The target pose error is then derived by using an error surface equation.The operation principles of the trilinear and spline interpolation methods are discussed in this section.

Trilinear Interpolation.
Trilinear interpolation is a computational process of linearly interpolating points within a 3D box given values at the vertices of the box, and it is the most common application in interpolating within cells of a volumetric dataset [29,30].The whole process can be simplified to perform three consecutive linear interpolations along three coordinate axes: x, y, and z, respectively.
Refer to Figures 1 and 2, and assume that it is a unit cube with the lower-left-base vertex at the origin.The coordinate values at each vertex will be denoted by C 000 , C 100 , C 010 , . . .C 111 .Let x d , y d , and z d be the differences between the target of x, y, z and the smaller coordinate related to the cubic lattice [x], [y], and [z], the error values at 8 corners of the cubic lattice are V 000 , V 100 , V 010 , . . .and so forth . . .V 111 , which is We can first perform the linear interpolation along the zaxis (pushing the front face of the cube to the back), which is Then we interpolate these values along y-axis, as we were pushing the top edge to the bottom, giving: ( Finally, we interpolate these values along x-axis (walking through a line), and this gives us a predicted error value for the target point: The above operations can be illustrated by the following sequence: first we perform linear interpolation between C 000 and C 100 to find V 00 , C 001 and C 101 to find V 01 , C 011 and C 111 to find V 11 , C 010 and C 110 to find V 10 .Then we do interpolation between C 00 and C 10 to find V 0 , C 01 and C 11 to find V 1 .Finally, we calculate the error value C via linear interpolation of C 0 and C 1 .In practice, a trilinear interpolation is identical to three successive linear interpolations, or two bilinear interpolations combined with a linear interpolation.
Combining (1) through (4), we can obtain the following equation to interpolate the error value V xyz at the target position [x, y, z] assumed that the cubic lattice is a unit one: In general, the box will not be of unit size nor will it be aligned at the origin.Simple translation and scaling (possibly of each axis independently) can be used to transform into then out of this simplified situation.
As illustrated in Figures 1 and 2, the trilinear interpolation technique is based on two assumptions.First, the pose error of the target e p must be located on three error surfaces, which is built based on errors of 8 neighboring grid points around a cubic cell.Secondly, the error surface has to be constructed prior to the application of the trilinear interpolation technique.However, these assumptions have their drawbacks.Pose errors on each cell are randomly distributed and the error curving surfaces, e x , e y , and e z , are also randomly distributed at any given moment.One can consider the e x (x, y, z, α, β, γ) as a fourth-dimensional function value based on the pose [x, y, z, α, β, γ] inside each cell.The same consideration is applied to e y (x, y, z, α, β, γ) and e z (x, y, z, α, β, γ).Therefore, the compensation accuracy of bilinear interpolation is limited by these assumptions.

Cubic Spline Interpolation.
The cubic spline method is to estimate a cubic surface S(x, y, z) based on the position errors of the neighboring grid points around the target.This method assumes that both the 1st-and the 2nd-order derivatives (S (x, y, z) and S (x, y, z)) of the interpolated points are existing, and the function S (x, y, z) is a trilinear surface on each cubic cell [43].To simplify our discussion, consider the one-dimensional situation.Since the function S (x) is a linear function at the interval of each cell in the x-direction, the error function S(x) should be a cubic curve.If a and b are two neighboring points in the x direction, we define two values M a and M b as A linear equation can be derived as follows: After quite a bit of manipulation, this result is in the cubic polynomial [11]: By using the tridiagonal matrix, M a and M b can be derived.By substituting these 2nd-order derivatives back to (8), any point's error in x-direction can be interpolated.
An example of a 2D error surfaces in x direction, e x (x, y), and in y-direction, e y (x, y), for a cell is shown in Figure 3.The error surfaces are estimated based on neighboring grid position errors around the target position using the cubic spline technique.
Compared with trilinear interpolation method, the cubic spline method uses a more arbitrary shaped surface to approximate the error.Therefore, it provides more accurate position compensation results for known positions around a target.For unknown interpolated data, such as random noises, the interpolation results may not as good as desired since the interpolated data are randomly distributed noises.

Fuzzy Error Interpolation Method
From the structure of the trilinear interpolation technique, it can be observed that the method assumes that the position error on the target point P(x, y, z) must be located on the intersection of the three plans that are built based on errors of the 8 neighbouring grid points P 1 -P 8 .However in the real world, this assumption may not hold.The compensation accuracy of using this interpolation technique is limited by this assumption.For the cubic spline interpolation method, the assumption is that all interpolated data should be definite or with little degree of uncertainty.However, this assumption cannot be satisfied when the interpolated data are random noises, and therefore the interpolation results may not be as good as desired.
In order to solve this problem and to improve the measurement and compensation accuracy, a dynamic online fuzzy interpolation method is introduced.The traditional fuzzy inference system uses predefined membership functions and control rules to construct lookup tables and then picks up the associated control output from the lookup table as the fuzzy inference system works in an application.This kind of system is often called an offline fuzzy inference system because all inputs and outputs have been defined prior to the application process.This offline fuzzy system may not meet accuracy requirements in certain applications based on the following reasons First, the pose error of the target is estimated based on errors of 8 neighbouring grid points, and these neighbouring errors are randomly distributed.The offline fuzzy output membership functions are defined based on the errors range, say the neighbouring errors' range.However, this range estimation is not as good as the one deduced from the actual errors obtained on 8 grid points.Second, since each cell needs one lookup table for the offline fuzzy system, it needs a large memory space to save a great number of lookup tables, which is both space and time consuming, and therefore not suitable for real-time processing.For example, in our study, the robot workspace is divided into 40 × 40 × 40 small cubic cells, and each cell is 20 × 20 × 20 mm 3 .Assume that one lookup table is for one cubic cell, and this needs about 64000 lookup tables!By using an online dynamic fuzzy inference system, one can estimate the target pose error by combining the output membership functions, which are obtained from real errors on the neighbouring grid points, with the control rules in real-time after this online fuzzy system is implemented.Therefore, we do not need any offline lookup tables at all.This means that one cannot determine the output membership functions until the fuzzy inference system is applied to a real process, and this is based on the real errors on the grid points, not a range.
The definition of this dynamic online fuzzy inference algorithm is shown in Figure 4.Each small cube, which is surrounded by 8 neighboring grid points, is defined as a cubic cell.Furthermore this cubic cell is divided into 8 equal smaller cubic cells, which are also shown in Figure 4(a).
The pose error at each grid point is defined as P 1 ,P 2 ,P 3 ,P 4 ,P 5 ,P 6 ,P 7 , and P 8 .For the fuzzy inference system, the interpolation method is divided into three dimensions separately, so the inputs to the fuzzy inference system are e x , e y , and e z .The outputs are ee x , ee y , ee z , ee α , ee β , and ee γ , which are shown in Figure 4(b).The control rule is shown in Figure 4(c), which is straightforward and based on the human being knowledge.It is worth to note that each P i should be considered as a combination of three position and three orientation error components on each grid point.
The distance between the neighboring grid points of each cell on the workspace is 20 mm in x-, yand z-directions for our current study, which is a standard interval for a smallsize calibration workspace.Totally, the workspace includes 20 by 20 by 20 cells, which is equivalent to a 400 by 400 by 400 mm 3 space.This is a typical workspace of most popular manipulators implemented in semiconductor manufacturing operations [46,50,51].The input membership functions for x-, y-, and z-directions, and the predefined output membership functions are shown in Figure 5.
The predefined output membership functions are used as default ones, and the actual output membership function will be obtained by shifting the default one based on the actual error values on the grid points.For each cell, 8 output membership functions are implemented, and each one is associated with the error at one grid point.In Figure 5(b), only 4 position output membership functions are shown here because of the space limitation.In a real application, total 8 orientation and 8 position membership functions should be utilized.
The Gaussian-bell waveforms are selected as the shape of the membership functions for three inputs.As shown in Figure 5(a), the ranges of inputs are between −10 and 10 mm (20 mm interval on grid points).The reason for this selection is that the Gaussian-bell waveform has a smooth curve and therefore can make measurements more accurate [43,44].W and E represent the inputs located at different areas in the x-direction, N and S represent those in the y-direction, and L and U represent those in the z-direction.Unlike the traditional fuzzy inference system, in which all membership functions should be determined to produce the lookup table prior to the implementation of the fuzzy system, in this study, the output membership functions will not be defined until the implementation of the fuzzy error interpolation to compensate the pose errors.So the output membership functions will be determined during the application of the fuzzy inference system online or dynamically.Figure 5(b) shows an example of the output membership functions, which are related to the simulated random errors at neighboring grid points.Each P xi , P yi , and P zi corresponds to the pose error at the ith grid point, respectively.During the design stage, all output membership functions should be initialized to a gaussian waveform with a mean of 0 and a range that is close to the actual possible output range which can be estimated based on the different manipulators for the different applications.These output membership functions will be determined online based on the errors of the neighboring grid points around the target point in the workspace during the compensation process.
The control rules shown in Figure 4(c) can be interpreted as follows after the output membership functions are determined: (i) If e x is W, e y is N and e z is U, then ee x is P x1 , ee y is P y1 and ee z is P z1 , and ee α is α 1 , ee β is β 1 and ee γ is γ 1 .(P 1 ) (ii) If e x is W, e y is N and e z is L, then ee x is P x3 , ee y is P y3 and ee z is P z3 , and ee α is α 3 , ee β is β 3 and ee γ is γ 3 .(P3 ) (iii) If e x is W, e y is S and e z is U, then ee x is P x5 , ee y is P y5 and ee z is P z5 , and ee α is α 5 , ee β is β 5 and ee γ is γ 5 .(P 5 ) (iv) If e x is W, e y is S and e z is L, then ee x is P x7 , ee y is P y7 and ee z is P z7 , and ee α is α 7 , ee β is β 7 and ee γ is γ 7 .(P7 ) (v) If e x is E, e y is N and e z is U, then ee x is P x2 , ee y is P y2 and ee z is P z2 , and ee α is α 2 , ee β is β 2 and ee γ is γ 2 .(P 2 ) (vi) If e x is E, e y is N and e z is L, then ee x is P x4 , ee y is P y4 and ee z is P z4 , and ee α is α 4 , ee β is β 4 and ee γ is γ 4 .(P4 )   ( The control rules are straightforward, and they are based on the human knowledge.The error on P 1 grid point should carry larger weight if the target position (input) is located inside the NWU area on a cell.Similar consideration should be given for errors on all other grid points.
The input error variables can be expressed as a label set L, with E being a linguistic input variable: L(E) = {NWU, NWL, NEU, NEL, SWU, SWL, SEU, SEL}.(10) Assume that u i is the membership function, U i the universe of discourse, and m the number of contributions, the traditional output of the fuzzy inference system can be represented as where u is the current crisp output of the fuzzy inference system, and ( 11) is obtained by using the center-of-gravity method (COG).In this study, both u i and U i in the output membership functions are randomly distributed variables, and the actual values of these variables depend upon the position errors of 8 neighboring grid points around the target position.These relationships can be expressed as where F xi is the membership function of the input pose in the x-direction, and it is a predetermined membership function as shown in Figure 5(a).Q xi is the real error output membership function, which is a randomly distributed function, and it gives the error output contributions in the x direction.This membership function is determined by the real pose errors at the 8 neighboring grid points in the x-direction: P x1 -P x8 .This membership function determines the degree to which the current pose input belongs to each different real error output based on the 8 control rules defined in (9) in the x direction, and it is equivalent to the universe of discourse or a weighing factor.Substituting ( 12) into (11), one obtains: Here u x represents the final error output of the fuzzy interpolation method in the x direction.In (13), Q xi will not be determined until the fuzzy error interpolation technique is applied in an actual compensation process, which means that this fuzzy inference system is an online process.The final crisp output of the fuzzy error interpolation system is determined by the neighboring pose errors of 8 grid points.Similar calculations can be implemented for the error outputs in the yand z-directions as well as three orientations.
The advantage of using the online fuzzy inference system is that the control output has the real-time control ability, but the drawback is that this type of control has a relative longer response time because of the calculation performed in the fuzzy inference system.This shortcoming becomes of little importance as the availability of high-speed CPUs for the controllers.

Simulation Results
Extensive simulation studies have been performed with a PUMA 560 robot in order to illustrate the effectiveness of the proposed fuzzy error interpolation technique in comparison to the trilinear and cubic spline interpolation methods.The simulated position error is a uniformly distributed random noise U [−0.05, 0.05] mm, and the simulated orientation error is also a uniformly distributed random noise U [−0.001, 0.001] radian degrees.Figure 6(a) shows a comparison of interpolated position errors using three interpolation techniques: trilinear, cubic spline, and fuzzy.It can be found that the fuzzy interpolation method has more accurate compensation result for both position and orientation errors compared with both trilinear and cubic spline methods.The max position error of the fuzzy interpolation method is about 0.026 mm, which is about 41% smaller compared with the error obtained from the trilinear method (0.044 mm) and 25% smaller with respect to the Journal of Robotics error interpolated from the cubic spline method (0.033 mm).For the mean position errors, the fuzzy interpolation method also outperforms the other two methods.Similar comparison results can be obtained from the orientation errors shown in Figure 7.
The numbers in the horizontal axes in Figures 6 and 7 are the number of errors in 20 cubic cells.
The FIA method provided in this paper has better performances compared with other interpolation methods.One possible shortcoming of this method is that it may need high-speed computer and large memory space to process and store predefined data on all grid points.However, this disadvantage can be easily overcome by using high-speed CPUs and huge memory spaces in today's computers.

Conclusions
A comparison of fuzzy error interpolation technique with trilinear and cubic spline interpolation methods used for high accuracy measurement and calibration of robots is discussed and analyzed in this paper.The simulation results show that the measurement and calibration results can be greatly improved when a fuzzy interpolation method is adopted.By using this fuzzy error interpolation algorithm, both position and orientation errors, especially for the random-distributed errors, can be significantly reduced and suppressed, and therefore the measurement and calibration accuracy can be greatly improved.This algorithm can be conveniently implemented in the real manufacturing process to reduce the production cost and operation times.The key technology used in this algorithm is the dynamic and online process in which the output membership functions are determined online based on the real position and orientation errors of the grid points around the target.

Figure 3 :
Figure 3: Error surfaces in xand y-directions on a cell. x

Figure 4 :
Figure 4: Definition of the fuzzy interpolation inference system.

Figure 5 :
Figure 5: Input and output membership functions.

Figure 6
(b) shows a histogram comparison among three interpolation methods.Figures 7(a) and 7(b) show the comparisons of three interpolation techniques for orientation compensation results.