VINS makes roll and pitch observable because IMU is added, but if yaw also needs to be observable, the magnetometer needs to be used. But it is highly susceptible to interference from surrounding ferromagnetic materials. This paper first improves the traditional complementary filtering to eliminate the influence of linear acceleration during motion, then uses it fuses the accelerometer and gyroscope data to make more accurate prediction of the magnetometer data, and an Extended Kalman Filtering is used to implement magnetometer calibration. In the convenience experiment, our algorithm reduces the error RMS from 71.12uT to 11.77uT, while the ellipsoid fitting can’t calibrate correctly. In the calibration speed and accuracy experiment, our algorithm can realize the maximum value of the error distance after 5s is 0.42uT, which is better than the 0.98uT of the gyro-only compensation. In the stability experiment, within 10 minutes, the data calibrated by our algorithm drift only 4.12uT, which is better than 11.10uT of the gyro-only compensation. Finally, a convenient, accurate and stable real-time magnetometer calibration algorithm is realized. It has a wide range of functions in consumer electronics, VINS and military.
Read full abstract