Functional Diversification for Software Fault Tolerance in Data Fusion: a real Application on Kalman Filters for Mobile Robot Yaw Estimation
Résumé
In this paper, we propose a software fault tolerant architecture for data fusion mechanisms. Our work is motivated by the difficulty to validate fusion mechanisms, either through formal approaches or testing. The proposed mechanism is based on functional diversification using the well known N-versions Programming approach, to tolerate faults in data fusion models.
The general principle of our approach is to implement three diversified data fusion mechanisms, each with forcibly diversified models and independent inputs. With this diversification and a voting mechanism, our architecture provides the following fault tolerance services: software error detection, software error diagnosis and system recovery.
To demonstrate the efficiency of our approach, we present a real case study consisting in estimating a mobile robot’s yaw angle using odometers and gyroscopes with a Kalman Filter. We present a fault tolerance evaluation that is based on real data acquisition by an intelligent sensor equipped vehicle (Citroen C5), this real data offline replay, and fault injection techniques.
In our opinion, the main original contribution of this paper is to propose software fault tolerance mechanisms in data fusion, which are rarely considered in the literature. Indeed, we believe that these faults can have an important impact on the system’s behavior, are difficult to detect and eliminate through validation, and are prone to appear considering that empirical values (such as gains or belief mass functions) are used in data fusion.