^{1}

^{1}

^{*}

^{2}

This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).

Coupling errors are major threats to the accuracy of 3-axis force sensors. Design of decoupling algorithms is a challenging topic due to the uncertainty of coupling errors. The conventional nonlinear decoupling algorithms by a standard Neural Network (NN) are sometimes unstable due to overfitting. In order to avoid overfitting and minimize the negative effect of random noises and gross errors in calibration data, we propose a novel nonlinear static decoupling algorithm based on the establishment of a coupling error model. Instead of regarding the whole system as a black box in conventional algorithm, the coupling error model is designed by the principle of coupling errors, in which the nonlinear relationships between forces and coupling errors in each dimension are calculated separately. Six separate Support Vector Regressions (SVRs) are employed for their ability to perform adaptive, nonlinear data fitting. The decoupling performance of the proposed algorithm is compared with the conventional method by utilizing obtained data from the static calibration experiment of a 3-axis force sensor. Experimental results show that the proposed decoupling algorithm gives more robust performance with high efficiency and decoupling accuracy, and can thus be potentially applied to the decoupling application of 3-axis force sensors.

Force sensing is crucial for on-line perception and feedback in interactions between intelligent robotic manipulators and environments. Multi-axis force sensors are used to perceive generalized force information and convert input force signals to voltage signals [

The accuracy of multi-axis force sensors has a great impact on force-perception based tasks with high precision requirements. This motivates the need to improve measurement precision. For a multi-axis force sensor, a key issue is that input force in one dimension may affect not only output of this dimension but also those of the other dimensions. Errors caused in this way, called the

The common static decoupling algorithm calculates the pseudo-inverse matrix of calibration data based on the Least Square Method (LSM) [

Support Vector Machine (SVM) is a powerful candidate for decoupling algorithms due to its ability to perform adaptive and nonlinear data fitting. SVM starts from solving problems of classification. With the introduction of Vapnik's

The design of decoupling algorithms of 3-axis force sensors presents several challenges. First, a 3-axis force sensor is usually used in on-line force perception tasks. This requires the sensor to show quick response to variations of input forces. Thus, the decoupling algorithms should have high time efficiency. Second, inevitable noises in calibration data may result in overfitting such that decoupling precision will be reduced. Also, due to improper operations of laboratory technicians or environment disturbances, occasionally there may be gross errors in calibration data. Gross errors are outliers that strongly deviate from the majority of experiment data. Gross errors may result in unexpected decoupling results such that decoupling precision will be reduced. A reliable decoupling algorithm should be designed to minimize the negative effects of noises and gross errors. Third, because the hardware causes of coupling errors such as the mechanical structures and the limitations of machining accuracy are complex and uncertain, it is difficult to model the coupling errors by polynomials. Thus, a decoupling algorithm should have a high generalization ability.

Motivated by the above challenges, this paper proposes a precise and fast decoupling algorithm with high reliability. Instead of referring to the whole sensor system as a black box using one standard NN [

The remainder of the paper is organized as follows. Section 2 introduces a novel model of coupling error and its notations.

We first establish an appropriate coupling error model to capture the relationships between input forces and corresponding coupling errors. In the model, the input forces and output voltages of a 3-axis force sensor in X, Y, Z directions are defined as _{x}_{y}_{z}_{x}_{y}_{z}

For each dimension, output voltages are partitioned into two categories. One category includes the voltages corresponding to input forces in the same dimension, called _{xx}_{yy}_{zz}_{x}_{y}_{z}_{xy}_{xz}_{xy}_{y}_{xz}_{z}_{yx}_{yz}_{zx}_{zy}

Based on the observation of calibration data of multi-axis force sensors in our lab, we make the following assumptions about coupling errors.

The relationship between the prime force and the prime voltage in every dimension is linear;

Relationships between disturbing force and their corresponding coupling error elements in every dimension are nonlinear;

The above relationships are independent and time-invariant.

From the above assumptions and the principle of superposition for stress, we propose a coupling error model as shown in

In _{x}_{y}_{z}

In calibration experiments, only one-dimensional force is applied to a 3-axis force sensor each time, while the output voltages of all directions are recorded simultaneously. Detailed calibration experiment process will be described in Section 3. Consequently, as for calibration data, no coupling error exists in the output voltage corresponding to the direction of the input force and no prime force exists in the output voltages of other directions. In other words, the output voltage equals the prime voltage when the direction of the output voltage is the same as the direction of the input force, and the output voltage equals the corresponding coupling error elements when the direction of the output voltage is different from the direction of the input force. For instance, during calibration experiment of X direction, a set of standard _{x}_{(}_{c}_{)} are applied to the force sensor while _{y}_{(}_{c}_{)} and _{z}_{(}_{c}_{)} remain zero (the subscript _{x}_{(}_{c}_{)} = _{xx}_{(}_{c}_{)}, _{y}_{(}_{c}_{)} = _{yx}_{(}_{c}_{)}, _{z}_{(}_{c}_{)} = _{zx}_{(}_{c}_{)}. Similarly, for calibration data in Y direction, _{x}_{(}_{c}_{)} = _{xy}_{(}_{c}_{)}, _{y}_{(}_{c}_{)} = _{yy}_{(}_{c}_{)}, _{z}_{(}_{c}_{)} = _{zy}_{(}_{c}_{)}; for calibration data in Z direction, _{z}_{(}_{c}_{)} = _{xz}_{(}_{c}_{)}, _{y}_{(}_{c}_{)} = _{yz}_{(}_{c}_{)}, _{z}_{(}_{c}_{)} = _{zz}_{(}_{c}_{)}.Thus, coefficients _{xx}_{yy}_{zz}

Functions respecting nonlinear relationships between disturbing forces and corresponding coupling error elements in every dimension are _{yx}_{zx}_{xy}_{zy}_{xz}_{yz}

Then,

During a decoupling process of an actual force perception task, one can hardly obtain the exact value of prime voltages _{xx}_{yy}_{zz}_{x}_{(}_{t}_{)}, _{y}_{(}_{t}_{)}, _{z}_{(}_{t}_{)} approximately equal the prime voltages _{xx}_{(}_{t}_{)}, _{yy}_{(}_{t}_{)}, _{zz}_{(}_{t}_{)} (the subscript _{x}_{(}_{t}_{)}, _{y}_{(}_{t}_{)}, _{z}_{(}_{t}_{)} as independent variables of _{yx}_{yx}_{(}_{m}_{)} = _{yx}_{x}_{(}_{t}_{)}) is calculated instead of the actual coupling error element _{yx}_{(}_{a}_{)} = _{yx}_{xx}_{(}_{t}_{)})(the subscript _{eyx}_{x}_{(}_{F.S.}_{)} represents the full scale value of output voltages in X direction.

According to the Lagrange mean value theorem, ∃_{xx}_{(}_{t}_{)}, _{x}_{(}_{t}_{)}) such that

As a result, the rate of second-order coupling errors is less than 0.25% and can be neglected in most industrial applications.

We choose

Six

The basic idea for the case of nonlinear regression by _{i}

Typical kernels include the linear
_{i}_{j}_{i}_{j}^{2}/2^{2}). The RBF kernel is most frequently used and it is also the one used in our implementation.

Briefly, the _{i}

To solve the optimization problem of _{i}_{i}

Note that Support Vectors correspond to training data whose Lagrange multipliers _{i}_{i}_{i}

It is shown that

The whole decoupling process consists of two stages. The first stage is for establishment of the coupling error functions. The second stage is in an actual on-line force perception task. During the task, the output voltages of all directions are obtained and the coupling error model is utilized to eliminate coupling errors and calculate measured forces. Our decoupling process is described as follows:

Conduct the static calibration experiment of a 3-axis force sensor and get the calibration data, which contain sets of input forces and output voltages (_{x}_{(}_{c}_{)}, _{y}_{(}_{c}_{)}, _{z}_{(}_{c}_{)} and _{x}_{(}_{c}_{)}, _{y}_{(}_{c}_{)}, _{z}_{(}_{c}_{)}).

Do linear fitting of _{x}_{(}_{c}_{)} and _{x}_{(}_{c}_{)} from calibration data in X direction using LSM, to get the slope _{xx}_{yy}_{zz}_{x}_{y}_{z}

Do nonlinear function approximation for _{x}_{(}_{c}_{)} and _{y}_{(}_{c}_{)} from the calibration data in X direction by _{yx}_{x}_{(}_{c}_{)} and _{z}_{(}_{c}_{)} from the calibration data in X direction by _{zx}

Calculate the corrected coupling functions _{xy}_{zy}_{xz}_{yz}

The above steps establish the entire coupling error model. The following steps are designed for decoupling based on the model using a 3-axis force sensor in an actual force perception task.

Obtain task data, namely, a set of output voltages (_{x}_{(}_{t}_{)}, _{y}_{(}_{t}_{)}, _{z}_{(}_{t}_{)}) of a 3-axis force sensor, during an actual force perception task. Compute each coupling error elements of measured data using the corrected coupling functions.

Subtract the coupling errors from the output voltages to get prime voltages as shown in _{x}_{(}_{m}_{)},_{y}_{(}_{m}_{)},_{z}_{(}_{m}_{)} can also be expressed in

As an example 3-axis force sensor, we consider a 3-axis force sensor designed and fabricated in our lab. The force measurement range in both X direction and Y direction is −100 N to +100 N, and the force measurement range in Z direction is −150 N to 0 N. The corresponding output voltages range in X direction and Y direction is −1.4 V to +1.4 V, and the output voltages range in Z direction is −1.2 V to +1.2 V.

The key component of the 3-axis force sensor is composed of a cross-beam elastic body with strain gauges, Wheatstone bridges, and a sampling circuit [

The common calibration method for medium range multi-axis force sensors [

The force sensor is fixed on a horizontally rotatable indexing plate with scale to ensure the direction of loading forces. The maximum error of the weights is ±5 mg. Loading forces in X direction and Y direction are generated by pulley block and weights while indexing plate is rotated by laboratory technicians to ensure the loading direction. During force loading process in Z direction, a series of standard weights are put directly on the loading plate. All loading forces are transferred from weights to force sensors through the calibration shaft. The experiment platform of static calibration experiment is shown in

The calibration range is from −100 N to +100 N with an increment step of 10 N in X direction and Y direction. The calibration range in Z direction is from −150 N to 0 N with an increment step of 5 N. The whole calibration experiment is carefully repeated six times. Six sets of calibration data are obtained and zero-corrected. No gross errors are tested in the zero-corrected data.

Cross validation is used to estimate the performance of decoupling by a standard MIMO RBF NN. The cross validation is repeated three times while each two sets of the zero-corrected calibration, named as “test data I” and “test data II”, are used for verification and the other four sets are used as training data. Matlab Neural Network Toolbox is used for simulations. The variance is set to 1, the maximum MSE error tolerance is set to 2.4 × 10^{−6}.

The maximum MSE error tolerance is chosen to be small enough to ensure that all training data be selected as centers of the MIMO RBF NN.

In order to test the decoupling accuracy, interference errors _{x}_{x}_{(}_{FS}_{)} denotes the full scale value of loaded force in X direction. The interference error _{x}_{y}_{z}

_{xy}_{xz}

We also use cross validation to test the performance of our proposed decoupling algorithm. Here we take the first round of cross validation for example. To quantify the strong linearity of non-coupling functions, linear fittings are performed on the training data (plotted as blue points) to determine the slopes and strength of the correlations (plotted as black lines) as shown in

The linear correlation coefficients for all three directions are calculated to be more than 0.99, which correspond to assumption 1 (see Section 2). The inverse functions of non-coupling functions are obtained as:

The six corrected coupling functions are approximated by

Here we also employ six separate Single Input Single Output(SISO) RBF NNs to do nonlinear approximations of the corrected coupling error functions to make a comparison with

_{xy}_{yz}

In the same fashion, the other two rounds of cross validation are calculated and interference errors are listed in

Besides decoupling accuracy, another crucial criterion for a successful decoupling algorithm is the processing speed of both model establishment and decoupling an output voltage vector in an actual force perception task, especially the latter for on-line task purposes. To evaluate the processing speed, the elapsed time of the above two stages is recorded and the whole process is repeated 10 times. All calculations are done on a Windows XP Inter(R) Xeon(TM) 2 QUAD CPU, 3.0 GHz processor with 3.00 GB RAM. An overview of the averaged elapsed time is shown in

Summarizing, the calculation results of the decoupling methods demonstrate that our decoupling method based on our coupling error model and

Now we simulate the decoupling algorithm's reaction to gross errors. The gross errors in calibration data are also called

As no gross errors are introduced into the calibration data of other dimensions, the fitting results of functions in Y direction and Z direction will remain the same as shown in _{x}_{()} and corrected-coupling functions _{xy}_{xz}_{x}_{()} is obtained as:

Comparing _{x}_{y}_{z}

In this paper, a robust decoupling algorithm to efficiently reduce coupling errors for 3-axis force sensors is presented. The decoupling algorithm is based on the establishment of a novel coupling error model and

The experimental results show the effectiveness of the decoupling method. All interference errors are reduced to less than 1.6%. Compared with decoupling algorithm using one standard MIMO RBF NN, the proposed decoupling algorithm demonstrates a better tolerance to noises and faster calculation speed (with the decoupling frequency higher than 1,000 Hz). It also shows robustness to gross errors. As a result, compared with existing decoupling methods, the decoupling algorithm based on the proposed coupling error model and

This work was supported in part by the National Natural High Technology Research and Development Program of China (863 Program) (No. 2008AA040202), Natural Science Foundation Project of Jiangsu Province (No. DK2010063), Scientific and Technological Research Project of Changzhou (No. CE20100022).

A coupling error model of 3-axis force sensors.

Graphic description of the

The flow chart of the whole decoupling process.

Diagram of static calibration experiment setup: (1) loading plate, (2) calibration shaft, (3) three-axis force sensor, (4) indexing plate, (5) pulley block, (6) weights, (7) base.

The static calibration experiment setup.

Linear fittings of non-coupling functions.

Approximation of corrected coupling functions by

The fitting result of the _{x}

The fitting results of _{xy}_{xz}

Error analysis of initial data and decoupling by a standard MIMO RBF.

_{x} |
_{y} |
_{z} | |||||
---|---|---|---|---|---|---|---|

| |||||||

initial data | decoupled by RBF | initial data | decoupled by RBF | initial data | decoupled by RBF | ||

the first | test I | 2.54% | 0.42% | 2.36% | 0.17% | ||

cross-validation | test II | 2.37% | 0.61% | 2.55% | 0.23% | ||

the second | test I | 2.31% | 1.02% | 2.59% | 2.32% | 2.98% | 0.71% |

cross-validation | test II | 2.65% | 0.74% | 2.81% | 0.69% | ||

the third | test I | 2.40% | 0.49% | 2.68% | 0.31% | 2.57% | 0.34% |

cross-validation | test II | 2.32% | 0.26% | 2.71% | 0.31% | 2.14% | 0.32% |

Initial parameters used by the LIBSVM train tool.

SVM type | 3( |

Kernel function | 2(RBF) |

^{2} (Standard deviation of kernel function) |
1 |

C (Regularization parameter) | 1000 |

0.0001 | |

Tolerance | 0.001 |

Error analysis of decoupling algorithm by

_{x} |
_{y} |
_{z} | ||
---|---|---|---|---|

the first | test I | 1.69% | 1.33% | 0.82% |

cross-validation | test II | 1.45% | 1.28% | 0.59% |

the second | test I | 1.30% | 1.47% | 0.86% |

cross-validation | test II | 1.56% | 1.24% | 0.76% |

the third | test I | 1.43% | 1.52% | 0.67% |

cross-validation | test II | 1.48% | 1.57% | 0.83% |

Mean elapsed time (in seconds) of the training process and the testing process.

Establishment of the model | 80.5603 | 3.3702 |

Decoupling of an output voltage vector | 0.1404 | 0.00093 |

Error analysis of decoupling by

_{x} |
_{y} |
_{z} | ||
---|---|---|---|---|

the first | test I | 1.41% | 1.51% | 0.71% |

cross-validation | test II | 1.44% | 1.56% | 0.87% |