I have recently implemented an algorithm for the nonlinear fusion of GNSS, barometer, magnetometer, accelerometer and gyroscope data.
The algorithm is based on a space-time finite element where the Hermitian shape functions represent the position coordinates, the local magnetic north vector and a rotation angle. The latter two can be transformed into the orientation quaternion. Each finite element represents a certain timespan and contains the corresponding sensor data. The error of the sensor data interpolation within an element is minimized with the help of a Newton based approach. Due to computational constraints it is not possible to connect an increasing number of finite elements as time progresses. I have therefore used static condensation to get the gain from previous elements so that only one element is considered at any time.
This approach works remarkably well. My problem is that I am not an expert in the field of sensor fusion and thus have only a (very) limited insight. However, I would be surprised if such an approach is not already widely used as it is remarkably simple and efficient. Hence I would be grateful if some experts could give me feedback. I am particularly interested if static condensation can be compared to or is equivalent to the Kalman gain.
I have uploaded the preprint of this approach to arXiv that contains all the details and an example