Signal Noise Processing in Six-Axis Force Sensors Using Adaptive Kalman Filtering

In modern industrial robotics, the integration of six-axis force sensors has become essential for enabling precise force and torque measurements in complex tasks such as assembly, polishing, and human-robot interaction. These sensors provide real-time feedback on forces and moments along three translational and three rotational axes, facilitating enhanced control and safety. However, the output signals from six-axis force sensors are often contaminated by mixed noise, including thermal noise from sensitive components, electromagnetic interference from amplification circuits, and design-related artifacts. This noise degrades measurement accuracy, necessitating robust signal processing techniques. In this paper, we address the limitations of conventional Kalman filtering in handling inaccurate noise models by proposing an adaptive Kalman filter based on the Sage-Husa algorithm. We demonstrate through experimental analysis that this approach significantly improves noise reduction and signal smoothness for six-axis force sensor data.

The performance of a six-axis force sensor is critical in applications requiring high precision, such as robotic manipulation and force control. Noise interference can lead to erroneous readings, compromising system reliability. Traditional filtering methods, including median and weighted moving average filters, offer simplicity but fall short in handling random noise bursts and model inaccuracies. The Kalman filter, as an optimal linear estimator, is widely used; however, its efficacy depends on accurate prior knowledge of system and measurement noise covariances. In practice, these parameters are often estimated empirically, leading to suboptimal performance when noise characteristics change dynamically. To overcome this, we employ an adaptive Kalman filter that continuously updates noise statistics, ensuring better adaptability and accuracy for six-axis force sensor signals.

Common Filtering Methods

Various filtering techniques have been applied to sensor signal processing, each with distinct advantages and limitations. Below, we summarize key methods:

Comparison of Common Filtering Methods for Sensor Noise Reduction
Filter Type Principle Advantages Disadvantages
Median Filter Replaces data points with the median value of a sliding window Simple implementation, effective for impulse noise Poor smoothness, limited applicability to Gaussian noise
Weighted Moving Average Filter Computes a weighted average of data in a buffer, emphasizing recent samples High smoothness for stationary signals Sensitive to random noise bursts, unstable performance
Kalman Filter Uses state-space models to recursively estimate system states Optimal for linear systems, high efficiency Dependent on accurate noise models, prone to errors with model inaccuracies

The median filter operates by sorting data within a window and selecting the middle value. For a data sequence $x_1, x_2, \dots, x_n$, the output $y$ is given by:

$$y = \text{median}(x_1, x_2, \dots, x_n)$$

While effective for removing outliers, it struggles with smoothly varying noise. The weighted moving average filter assigns weights $w_i$ to data points, with the output calculated as:

$$y_k = \sum_{i=1}^{N} w_i x_{k-i+1}, \quad \sum_{i=1}^{N} w_i = 1$$

where $N$ is the buffer size. This method prioritizes recent data but amplifies the impact of sudden noise spikes. In contrast, the Kalman filter provides a more systematic approach by combining predictions and measurements. The state-space representation for a six-axis force sensor can be defined as:

$$X_{k+1} = \phi_k X_k + B_k u_k + \omega_k$$
$$Y_{k+1} = C_{k+1} X_{k+1} + \gamma_{k+1}$$

where $X_{k+1}$ is the system state vector (e.g., force components), $\phi_k$ is the state transition matrix, $B_k$ is the input matrix, $u_k$ is the control input, $\omega_k$ is process noise with covariance $Q$, $Y_{k+1}$ is the measurement vector, $C_{k+1}$ is the observation matrix, and $\gamma_{k+1}$ is measurement noise with covariance $R$. The Kalman filter iterates through prediction and update steps:

Prediction:

$$\hat{X}_{k+1|k} = \phi_k \hat{X}_{k|k} + B_k u_k$$
$$P_{k+1|k} = \phi_k P_{k|k} \phi_k^T + Q$$

Update:

$$K_{k+1} = P_{k+1|k} C_{k+1}^T (C_{k+1} P_{k+1|k} C_{k+1}^T + R)^{-1}$$
$$\hat{X}_{k+1|k+1} = \hat{X}_{k+1|k} + K_{k+1} (Y_{k+1} – C_{k+1} \hat{X}_{k+1|k})$$
$$P_{k+1|k+1} = (I – K_{k+1} C_{k+1}) P_{k+1|k}$$

where $\hat{X}$ denotes state estimates, $P$ is the error covariance, and $K$ is the Kalman gain. Despite its optimality, the Kalman filter’s performance degrades if $Q$ and $R$ are inaccurately specified, which is common in dynamic environments for six-axis force sensors.

Adaptive Kalman Filter Based on Sage-Husa

To address the limitations of fixed noise parameters, we implement an adaptive Kalman filter that estimates and updates $Q$ and $R$ in real-time. The Sage-Husa algorithm incorporates noise statistics into the filtering process, enhancing robustness for six-axis force sensor applications. The adaptive update equations are as follows:

$$\hat{q}_k = (1 – d_k) \hat{q}_{k-1} + d_k (\hat{X}_{k|k} – \phi_k \hat{X}_{k-1|k-1})$$
$$\hat{Q}_k = (1 – d_k) \hat{Q}_{k-1} + d_k (K_k \epsilon_k \epsilon_k^T K_k^T + P_{k|k} – \phi_k P_{k-1|k-1} \phi_k^T)$$
$$\hat{r}_k = (1 – d_k) \hat{r}_{k-1} + d_k (Y_k – C_k \hat{X}_{k|k-1})$$
$$\hat{R}_k = (1 – d_k) \hat{R}_{k-1} + d_k (\epsilon_k \epsilon_k^T – C_k P_{k|k-1} C_k^T)$$

where $\epsilon_k = Y_k – C_k \hat{X}_{k|k-1}$ is the innovation, $d_k$ is a weighting factor defined as $d_k = (1 – b)/(1 – b^{k+1})$ with forgetting factor $b$ (typically 0.95 to 0.99), and $\hat{q}_k$, $\hat{r}_k$ are estimates of noise means. This adaptive mechanism allows the filter to adjust to changing noise conditions, improving the accuracy of six-axis force sensor data processing.

Experimental Setup and Methodology

We conducted experiments using a six-axis force sensor from a commercial provider, with a sampling frequency of 1,000 Hz. The sensor measures forces and moments along all six axes and is decoupled by design, ensuring linearity in its operating range. For evaluation, we focused on the Z-axis force ($F_z$) under two conditions: no load ($F_z = 0$ N) and a constant load ($F_z = 30$ N). Other axes were set to zero to isolate the effect. Data acquisition was performed using a custom MFC-based software interface, which implemented both standard and adaptive Kalman filters. The initial 30 seconds were designated as a warm-up period to stabilize the filter, after which data was recorded for 30 seconds. Noise covariances were initialized empirically: $Q = 0.1021$ and $R = 0.2511$ for the standard Kalman filter, while the adaptive version updated these parameters online.

Experimental Parameters for Six-Axis Force Sensor Testing
Parameter Value
Sampling Frequency 1,000 Hz
Load Conditions F_z = 0 N and F_z = 30 N
Initial Noise Covariance Q 0.1021
Initial Noise Covariance R 0.2511
Forgetting Factor b 0.97

The software interface facilitated real-time data collection, filtering, and storage. To ensure data quality, we applied the Pauta criterion (3σ rule) to remove gross errors before processing. The performance was assessed based on signal smoothness, fitting accuracy, and noise reduction capability.

Results and Analysis

Under the no-load condition ($F_z = 0$ N), the raw data from the six-axis force sensor exhibited significant noise fluctuations. The standard Kalman filter reduced some noise but showed residual variability due to fixed noise parameters. In contrast, the adaptive Kalman filter produced a smoother output with better adherence to the expected zero force. The following table quantifies the performance metrics, including mean squared error (MSE) and smoothness index (SI), defined as the average absolute derivative of the signal:

Performance Comparison of Filtering Methods for F_z = 0 N
Filter Type MSE (N²) Smoothness Index
Raw Data 2.34 0.89
Standard Kalman Filter 0.76 0.45
Adaptive Kalman Filter 0.32 0.21

For the loaded condition ($F_z = 30$ N), the adaptive Kalman filter again outperformed the standard version, with lower MSE and improved smoothness. The filter’s ability to update noise covariances allowed it to handle random noise bursts effectively, as illustrated in the data plots. The quantitative results are summarized below:

Performance Comparison of Filtering Methods for F_z = 30 N
Filter Type MSE (N²) Smoothness Index
Raw Data 3.12 0.94
Standard Kalman Filter 1.02 0.52
Adaptive Kalman Filter 0.41 0.24

The enhanced performance of the adaptive Kalman filter is attributed to its recursive noise estimation, which minimizes model inaccuracies. This is particularly beneficial for six-axis force sensors operating in dynamic industrial environments, where noise characteristics can change rapidly.

Conclusion

In this study, we have demonstrated the superiority of the Sage-Husa adaptive Kalman filter over the standard Kalman filter for noise reduction in six-axis force sensor signals. By dynamically updating noise covariances, the adaptive filter achieves higher smoothness and better fitting to the true force data, even in the presence of random noise bursts. The experimental results confirm that this approach is a robust solution for improving the accuracy and reliability of six-axis force sensors in applications such as robotic manipulation and force control. Future work will explore the extension of this method to multi-axis coupling scenarios and real-time implementation in embedded systems.

Scroll to Top