Abstract

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.

1. 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–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–11].

Luo et al. developed a range-restricted 𝐢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 G2 Hermite interpolation problem [16]. Hussain and Sarfraz used a 𝐢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].

Among those interpolation methods, two of them are very popular and widely implemented in most industrial and manufacturing processes, trilinear and cubic spline interpolation algorithms [21–26].

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–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 ChengWang 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.

2. 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.

2.1. 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: π‘₯,𝑦, and 𝑧, 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 𝐢000,𝐢100,𝐢010,…𝐢111. Let π‘₯𝑑, 𝑦𝑑, and 𝑧𝑑 be the differences between the target of π‘₯, 𝑦, 𝑧 and the smaller coordinate related to the cubic lattice [π‘₯], [𝑦], and [𝑧], the error values at 8 corners of the cubic lattice are 𝑉000,𝑉100,𝑉010,… and so forth …𝑉111, which is π‘₯𝑑[π‘₯]=π‘₯βˆ’,𝑦𝑑[𝑦]=π‘¦βˆ’,𝑧𝑑[𝑧].=π‘§βˆ’(1)

We can first perform the linear interpolation along the 𝑧-axis (pushing the front face of the cube to the back), which is 𝑉00=𝑉000ξ€·1βˆ’π‘§π‘‘ξ€Έ+𝑉100𝑧𝑑,𝑉10=𝑉010ξ€·1βˆ’π‘§π‘‘ξ€Έ+𝑉110𝑧𝑑,𝑉01=𝑉001ξ€·1βˆ’π‘§π‘‘ξ€Έ+𝑉101𝑧𝑑,𝑉11=𝑉011ξ€·1βˆ’π‘§π‘‘ξ€Έ+𝑉111𝑧𝑑.(2)

Then we interpolate these values along 𝑦-axis, as we were pushing the top edge to the bottom, giving: 𝑉0=𝑉00ξ€·1βˆ’π‘¦π‘‘ξ€Έ+𝑉10𝑦𝑑,𝑉1=𝑉01ξ€·1βˆ’π‘¦π‘‘ξ€Έ+𝑉11𝑦𝑑.(3)

Finally, we interpolate these values along π‘₯-axis (walking through a line), and this gives us a predicted error value for the target point: 𝑑𝑝=𝑉0ξ€·1βˆ’π‘₯𝑑+𝑉1π‘₯𝑑.(4)

The above operations can be illustrated by the following sequence: first we perform linear interpolation between 𝐢000 and 𝐢100 to find 𝑉00, 𝐢001 and 𝐢101 to find 𝑉01, 𝐢011 and 𝐢111 to find 𝑉11, 𝐢010 and 𝐢110 to find 𝑉10. Then we do interpolation between 𝐢00 and 𝐢10 to find 𝑉0, 𝐢01 and 𝐢11 to find 𝑉1. Finally, we calculate the error value C via linear interpolation of 𝐢0 and 𝐢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 𝑉π‘₯𝑦𝑧 at the target position [π‘₯,𝑦,𝑧] assumed that the cubic lattice is a unit one:

𝑉π‘₯𝑦𝑧=𝑉000(1βˆ’π‘₯)(1βˆ’π‘¦)(1βˆ’π‘§)+𝑉100π‘₯(1βˆ’π‘¦)(1βˆ’π‘§)+𝑉010(1βˆ’π‘₯)𝑦(1βˆ’π‘§)+𝑉001(1βˆ’π‘₯)(1βˆ’π‘¦)𝑧+𝑉101π‘₯(1βˆ’π‘¦)𝑧+𝑉011(1βˆ’π‘₯)𝑦𝑧+𝑉110π‘₯𝑦(1βˆ’π‘§)+𝑉111π‘₯𝑦𝑧.(5)

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 𝑒𝑝 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, 𝑒π‘₯, 𝑒𝑦, and 𝑒𝑧, are also randomly distributed at any given moment. One can consider the 𝑒π‘₯(π‘₯,𝑦,𝑧,𝛼,𝛽,𝛾) as a fourth-dimensional function value based on the pose [π‘₯,𝑦,𝑧,𝛼,𝛽,𝛾] inside each cell. The same consideration is applied to 𝑒𝑦(π‘₯,𝑦,𝑧,𝛼,𝛽,𝛾) and 𝑒𝑧(π‘₯,𝑦,𝑧,𝛼,𝛽,𝛾). Therefore, the compensation accuracy of bilinear interpolation is limited by these assumptions.

2.2. Cubic Spline Interpolation

The cubic spline method is to estimate a cubic surface 𝑆(π‘₯,𝑦,𝑧) 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 (π‘†ξ…ž(π‘₯,𝑦,𝑧) and π‘†ξ…žξ…ž(π‘₯,𝑦,𝑧)) of the interpolated points are existing, and the function π‘†ξ…žξ…ž(π‘₯,𝑦,𝑧) is a trilinear surface on each cubic cell [43]. To simplify our discussion, consider the one-dimensional situation. Since the function π‘†ξ…žξ…ž(π‘₯) is a linear function at the interval of each cell in the π‘₯-direction, the error function 𝑆(π‘₯) should be a cubic curve. If π‘Ž and 𝑏 are two neighboring points in the π‘₯ direction, we define two values π‘€π‘Ž and 𝑀𝑏 as π‘€π‘Ž=π‘†ξ…žξ…ž(π‘Ž),𝑀𝑏=π‘†ξ…žξ…ž(𝑏).(6)

A linear equation can be derived as follows: π‘†ξ…žξ…ž(π‘₯)=(π‘βˆ’π‘₯)π‘€π‘Ž+(π‘₯βˆ’π‘Ž)𝑀𝑏.π‘βˆ’π‘Ž(7)

After quite a bit of manipulation, this result is in the cubic polynomial [11]: 𝑆(π‘₯)=(π‘βˆ’π‘₯)3π‘€π‘Ž+(π‘₯βˆ’π‘Ž)3𝑀𝑏+6(π‘βˆ’π‘Ž)(π‘βˆ’π‘₯)𝑆(π‘Ž)+(π‘₯βˆ’π‘Ž)𝑆(𝑏)βˆ’ξ€Ίπ‘βˆ’π‘Ž(π‘βˆ’π‘Ž)(π‘βˆ’π‘₯)π‘€π‘Ž+(π‘₯βˆ’π‘Ž)𝑀𝑏6.(8)

By using the tridiagonal matrix, π‘€π‘Ž and 𝑀𝑏 can be derived. By substituting these 2nd-order derivatives back to (8), any point’s error in π‘₯-direction can be interpolated.

An example of a 2D error surfaces in π‘₯ direction, 𝑒π‘₯(π‘₯,𝑦), and in 𝑦-direction, 𝑒𝑦(π‘₯,𝑦), 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.

3. 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 𝐏(𝐱,𝐲,𝐳)must be located on the intersection of the three plans that are built based on errors of the 8 neighbouring grid points ππŸβˆ’ππŸ–. 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 mm3. 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 𝑃1, 𝑃2, 𝑃3, 𝑃4, 𝑃5, 𝑃6, 𝑃7, and 𝑃8. For the fuzzy inference system, the interpolation method is divided into three dimensions separately, so the inputs to the fuzzy inference system are 𝑒π‘₯, 𝑒𝑦, and 𝑒𝑧. The outputs are 𝑒𝑒π‘₯, 𝑒𝑒𝑦, 𝑒𝑒𝑧, 𝑒𝑒𝛼, 𝑒𝑒𝛽, and 𝑒𝑒𝛾, 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 𝑃𝑖 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 π‘₯-, 𝑦- and 𝑧-directions for our current study, which is a standard interval for a small-size calibration workspace. Totally, the workspace includes 20 by 20 by 20 cells, which is equivalent to a 400 by 400 by 400 mm3 space. This is a typical workspace of most popular manipulators implemented in semiconductor manufacturing operations [46, 50, 51]. The input membership functions for π‘₯-, 𝑦-, and 𝑧-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]. π‘Š and 𝐸 represent the inputs located at different areas in the π‘₯-direction, 𝑁 and 𝑆 represent those in the 𝑦-direction, and 𝐿 and π‘ˆ represent those in the 𝑧-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 𝑃π‘₯𝑖, 𝑃𝑦𝑖, and 𝑃𝑧𝑖 corresponds to the pose error at the 𝑖th 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𝑒π‘₯isπ‘Š,𝑒𝑦is𝑁and𝑒𝑧isπ‘ˆ,then𝑒𝑒π‘₯is𝑃π‘₯1,𝑒𝑒𝑦is𝑃𝑦1and𝑒𝑒𝑧is𝑃𝑧1,and𝑒𝑒𝛼is𝛼1,𝑒𝑒𝛽is𝛽1and𝑒𝑒𝛾is𝛾1.ξ€·P1ξ€Έ(ii)If𝑒π‘₯isπ‘Š,𝑒𝑦is𝑁and𝑒𝑧is𝐿,then𝑒𝑒π‘₯is𝑃π‘₯3,𝑒𝑒𝑦is𝑃𝑦3and𝑒𝑒𝑧is𝑃𝑧3,and𝑒𝑒𝛼is𝛼3,𝑒𝑒𝛽is𝛽3and𝑒𝑒𝛾is𝛾3.ξ€·P3ξ€Έ(iii)If𝑒π‘₯isπ‘Š,𝑒𝑦is𝑆and𝑒𝑧isπ‘ˆ,then𝑒𝑒π‘₯is𝑃π‘₯5,𝑒𝑒𝑦is𝑃𝑦5and𝑒𝑒𝑧is𝑃𝑧5,and𝑒𝑒𝛼is𝛼5,𝑒𝑒𝛽is𝛽5and𝑒𝑒𝛾is𝛾5.ξ€·P5ξ€Έ(iv)If𝑒π‘₯isπ‘Š,𝑒𝑦is𝑆and𝑒𝑧is𝐿,then𝑒𝑒π‘₯is𝑃π‘₯7,𝑒𝑒𝑦is𝑃𝑦7and𝑒𝑒𝑧is𝑃𝑧7,and𝑒𝑒𝛼is𝛼7,𝑒𝑒𝛽is𝛽7and𝑒𝑒𝛾is𝛾7.ξ€·P7ξ€Έ(v)If𝑒π‘₯is𝐸,𝑒𝑦is𝑁and𝑒𝑧isπ‘ˆ,then𝑒𝑒π‘₯is𝑃π‘₯2,𝑒𝑒𝑦is𝑃𝑦2and𝑒𝑒𝑧is𝑃𝑧2,and𝑒𝑒𝛼is𝛼2,𝑒𝑒𝛽is𝛽2and𝑒𝑒𝛾is𝛾2.ξ€·P2ξ€Έ(vi)If𝑒π‘₯is𝐸,𝑒𝑦is𝑁and𝑒𝑧is𝐿,then𝑒𝑒π‘₯is𝑃π‘₯4,𝑒𝑒𝑦is𝑃𝑦4and𝑒𝑒𝑧is𝑃𝑧4,and𝑒𝑒𝛼is𝛼4,𝑒𝑒𝛽is𝛽4and𝑒𝑒𝛾is𝛾4.ξ€·P4ξ€Έ(vii)If𝑒π‘₯is𝐸,𝑒𝑦is𝑆and𝑒𝑧isπ‘ˆ,then𝑒𝑒π‘₯is𝑃π‘₯6,𝑒𝑒𝑦is𝑃𝑦6and𝑒𝑒𝑧is𝑃𝑧6,and𝑒𝑒𝛼is𝛼6,𝑒𝑒𝛽is𝛽6and𝑒𝑒𝛾is𝛾6.ξ€·P6ξ€Έ(viii)If𝑒π‘₯is𝐸,𝑒𝑦is𝑆and𝑒𝑧is𝐿,then𝑒𝑒π‘₯is𝑃π‘₯8,𝑒𝑒𝑦is𝑃𝑦8and𝑒𝑒𝑧is𝑃𝑧8,and𝑒𝑒𝛼is𝛼8,𝑒𝑒𝛽is𝛽8and𝑒𝑒𝛾is𝛾8.ξ€·P8ξ€Έ(9) The control rules are straightforward, and they are based on the human knowledge. The error on 𝑃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 𝐿, with 𝐸 being a linguistic input variable: 𝐿(𝐸)={π‘π‘Šπ‘ˆ,π‘π‘ŠπΏ,π‘πΈπ‘ˆ,𝑁𝐸𝐿,π‘†π‘Šπ‘ˆ,π‘†π‘ŠπΏ,π‘†πΈπ‘ˆ,𝑆𝐸𝐿}.(10)

Assume that 𝑒𝑖 is the membership function, π‘ˆπ‘– the universe of discourse, and π‘š the number of contributions, the traditional output of the fuzzy inference system can be represented as βˆ‘π‘’=π‘šπ‘–=1ξ€·π‘’π‘–Γ—π‘ˆπ‘–ξ€Έβˆ‘π‘šπ‘–=1𝑒𝑖,(11) where 𝑒 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 𝑒𝑖 and π‘ˆπ‘– 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 𝑒π‘₯𝑖=𝐹π‘₯𝑖𝑃π‘₯1,𝑃π‘₯2,𝑃π‘₯3,𝑃π‘₯4,𝑃π‘₯5,𝑃π‘₯6,𝑃π‘₯7,𝑃π‘₯8ξ€Έ,π‘ˆπ‘₯𝑖=𝑄π‘₯𝑖𝑃π‘₯1,𝑃π‘₯2,𝑃π‘₯3,𝑃π‘₯4,𝑃π‘₯5,𝑃π‘₯6,𝑃π‘₯7,𝑃π‘₯8ξ€Έ,(12) where 𝐹π‘₯𝑖 is the membership function of the input pose in the π‘₯-direction, and it is a predetermined membership function as shown in Figure 5(a). 𝑄π‘₯𝑖 is the real error output membership function, which is a randomly distributed function, and it gives the error output contributions in the π‘₯ direction. This membership function is determined by the real pose errors at the 8 neighboring grid points in the π‘₯-direction: 𝑃π‘₯1βˆ’π‘ƒπ‘₯8. 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 π‘₯ direction, and it is equivalent to the universe of discourse or a weighing factor. Substituting (12) into (11), one obtains: 𝑒𝑖=βˆ‘π‘šπ‘–=1𝐹π‘₯𝑖𝑃π‘₯1,𝑃π‘₯2,…𝑃π‘₯8×𝑄π‘₯𝑖𝑃π‘₯1,𝑃π‘₯2,…𝑃π‘₯8ξ€Έβˆ‘π‘šπ‘–=1𝐹π‘₯𝑖𝑃π‘₯1,𝑃π‘₯2,𝑃π‘₯3,𝑃π‘₯4,𝑃π‘₯5,𝑃π‘₯6,𝑃π‘₯7,𝑃π‘₯8ξ€Έ.(13)

Here 𝑒π‘₯ represents the final error output of the fuzzy interpolation method in the π‘₯ direction. In (13), 𝑄π‘₯𝑖 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 𝑦- and 𝑧-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.

4. 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 π‘ˆ [βˆ’0.05, 0.05] mm, and the simulated orientation error is also a uniformly distributed random noise π‘ˆ [βˆ’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. 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.

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 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.

5. 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.