RonaldSun / VI-Stereo-DSO

Direct sparse odometry combined with stereo cameras and IMU
387 stars 124 forks source link

Question of marginalizing IMU bias #33

Closed jiawei-mo closed 3 years ago

jiawei-mo commented 3 years ago

Hi Ronald,

Thank you so much for sharing this wondering project. I have a question of marginalizing IMU bias: When marginalizing a frame, DSO updates HM and bM, and this project updates HM_imu, bM_imu, HM_bias, and bM_bias. bM is calculated at linearized point (i.e., res_toZeroF) and we use bM_top = (bM + HM * getStitchedDeltaF()) during optimization to get the newest error. And you did the same thing for bM_imu, removing the delta terms for marginalization and adding delta terms back during optimization. However, your bM_bias is calculated with delta_bias and it does not get updated during optimization. The marginalized frame won't update its imu bias, which serves as a bias prior for its nearby frames. As the bias of the nearby frames get updated, should bM_bias get updated as well? I was wondering if I miss anything? if not, will it be a problem?

Thanks, Jiawei

jiawei-mo commented 3 years ago

I figured it out. Thanks.