This discussion is related to the 6DOF sensorfusion algorithm only and the potential to include an adaptative estimation of external acceleration.

According to Sensorfusion strategy (AN5023), the accelerometer measurement includes gravity, external acceleration and sensor noise. External acceleration and sensor noise are computed as noise variances and input errors in sensorfusion strategy (indirect kalman). External acceleration variance is defined as Qa,k. The accelerometer sensor model is defined in terms of the deviation of the accelerometer measurement magnitude from the 1g sphere with noise variances being proportional in terms of a constant k determined from geometrical arguments to a value of 3 (norm based method?).Lower bounds of the noise estimates are applied for robustness of the model in cases measurements rely solely on gravity value.

In the 9DOF mode, the filter weights the magnetometer & accelerometer depending on external interferences (accelerations / magnetic) but in the 6DOF the filter cannot rely in magnetometer data. If I have well understood the filter working principle (not evident!), smaller weights are given to the accelerometer output with respect to the gyroscope output when there is external acceleration. If the accelerometer output is not near 1g it is determined that there is external acceleration and smaller weights are given to the accelerometer output by increasing the measurement noise variance.

After some reading about indirect kalman filters I bumped onto an interesting approach to handle external acceleration ("Orientation estimation using a quaternion-based indirect kalman filter with adaptative estimation of external acceleration", Young Soo Suh), I wondered if this alternative method could be implemented in sensorfusion by directly estimating external acceleration from the filter residual. The main advantage of the proposed method is that the direction of external acceleration is estimated and used for compensation. For example, suppose there is only external acceleration in the x axis. In the accelerometer norm-based method, smaller weights are given to all 3 axis accelerometer outputs and thus valuable information contained in y and z axis accelerometer output is lost. With an adaptative method, smaller weights are given only to x axis thus y and z outputs are still used in the filter.

This is just another way of the many existing to craft sensor fusion models but I was wondering if, a minor modification of the sensorfusion strategy, could improve the external acceleration stimate.

You've been doing your homework!

You're right in that there are lots of ways to adjust the varying trade-offs that go into inertial sensor fusion. We actually started out with a more complex Kalman filter in the early days, and gradually threw out terms that didn't offer sufficient improvements as a function of memory and power. I suspect the adjustment you mention might not have visible effects on the performance of the filter. But by all means, if you've got time to spare, try it out and let us know the results.

Good luck!

MIke