Bosch, FreeScale, InvenSense, ST and maybe others are releasing 9-dof AHRS platforms containing their own fusion software and outputting filtered/sane/fused data (attitude as quaternion and linear acceleration).

I would like to use these for the quality of their respective company fusion algorithm. And would like to merge GNSS position and velocity data to it.

I have found multiple examples of heavy (> 20) states Kalman filters merging raw 9-dof IMU data and GNSS position/velocity.

But I have a hard time finding a computationally lighter version of GPS+AHRS fusion as these new 9-dof AHRS already fuse IMU raw data themselves and this process should'nt be done twice.

Would you maybe have pointers on the algorithm(s) or type of filter to use ? Thank you.

  • $\begingroup$ How much computationally lighter is your requirement? what platform do you wish to use? Which examples have you already referred? $\endgroup$ – nikhil Feb 10 '15 at 8:58
  • $\begingroup$ Lighter as in avoiding recomputing what the other controller has already fused (acc/gyro/mag). Platform is Cortex-M4 with FPU. The microcontroller isn't saturated but the less processing time, the less power consummed. Filter can be derived of Kalman too. Closest I found is "pose_ekf StatePosVelOriAcc" predicting with acceleration and gyro and then correcting with GPS position, GPS velocity and attitude quaternion. Others are PX4 previous attitude_position_EKF or Paul Riseborough InertialNav but they fuse accel, gyro and mag with > 15 states filters. Thank you ! $\endgroup$ – Koen Feb 10 '15 at 10:52
  • $\begingroup$ Another ideal solution would be to find an equivalent of the aforementioned companies solutions allowing the input of position and velocity data to their fusion algorithm. I went through these 4 companies datasheets and they don't. Maybe another does ? $\endgroup$ – Koen Feb 10 '15 at 11:23
  • $\begingroup$ Koen -- I understand its been a while since you posted this question, but this post has references to some off-the-shelf modules that I believe are doing what you are interested in --- robotics.stackexchange.com/questions/7815/…. Perhaps using these modules can be an option. If you have solved your problem, I would like to know how (I would benefit from using the similar approach). Thank you $\endgroup$ – O.K. Dec 4 '15 at 21:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.