I am new to robotics, and recently I am involving in a sensor fusion task using visual input (binocular at present), an IMU, and a GPS module. I have searched for related journal papers for a reasonable fusion method. Well, a Kalman-type algorithm definitely seems to be a popular one used in sensor fusion. But, I also read articles used the Madgwick orientation filter to fix the IMU data and feed-forward to visual odometry input (see: https://www.researchgate.net/publication/342732957_Stereo_Visual_Inertial_Pose_Estimation_Based_on_Feedforward-Feedback_Loops). Now I am getting confused: what should I use? or say, when should I use a Kalman and when should I use a Madgwick? Thx.
Or it's true to say when we get a 9 DoF IMU with magnetometer, Madgwick is better for taking magnetic field/gravitational direction into account, and Kalman performs better or easier to implement when using 6 DoF IMU?