IMU的數據頻率一般遠高於視覺,在視覺兩幀k,k+1之間通常會有>10組IMU數據。IMU的數據通過積分,可以獲取當前位姿(p位置,q四元數表達的姿態)、瞬時速度等參數。
在VIO中,如果參考世界坐標系對IMU進行積分,積分項中包含相對於世界坐標系的瞬時旋轉矩陣,這樣有幾個問題:
1. 相對世界坐標系的旋轉矩陣有drift,如果一直以其為基准進行積分,必然造成積分誤差累積;
2. 在進行優化位姿調整時(通常是調整視覺KeyFrame的pose),相對於世界坐標系的pose會變化,因而優化后的瞬時旋轉矩陣和積分時不同,那么積分自然也就存在問題;
3. 一般這個旋轉矩陣不知道。。。
因此,一般的預積分的參考坐標系為k幀的IMU參考系,這樣可以解決以上問題:
1. 相對k幀的IMU進行積分,不會有累積誤差;
2. 即使后面調整了位姿,相對位置不變,因此預積分不存在問題;
3. 這個旋轉矩陣為單位矩陣E,后面每出現一個IMU數據,都可以用任何一種數值積分的方法計算;同時可以將重力加速度提取到積分號外面不參加積分,相當於在重力參考系中積分,計算量也會減少。