i2Nav-WHU / IC-GVINS

A Robust, Real-time, INS-Centric GNSS-Visual-Inertial Navigation System
GNU General Public License v3.0
483 stars 113 forks source link

请问这种报错该如何处理? #17

Closed JiangWeiHn closed 1 year ago

JiangWeiHn commented 1 year ago

非常感谢你们的工作,我是初学slam的小白。我采用ic-gvins模型,有imu和gnss数据,但gps数据不稳定,在第三帧丢失了,但是 GINS initialization is finished,看着像模型初始化完成了。 如下图所示是我的bag包,gnss的话题为 /rtk/fix 1680518910449_5B51B2A0-45E3-4a1b-B51A-FEEDC0C7CB5A 导致算法模型在计算GVINS::addNewKeyFrameTimeNode时,出现start>end的情况。如下图所示。 96512572-A664-440c-8016-082D7A58C1ED

我想用timelist_的前一帧时间戳来作为start,但此时 end - start: 0.982638 E0403 18:29:12.098510 26569 misc.cc:317] Failed to get right IMU series 371781.357392 to 371782.340030 报了这个错误。 请问该如何处理这个情况,请给个建议,非常感谢!

thlsealight commented 1 year ago

可能这是个几率性的bug,建议你可以跳过这段数据,或者你尝试调试一下。

JiangWeiHn commented 1 year ago

我在 void GVINS::addNewKeyFrameTimeNode()的 while循环部分加入了: if (frametime <timelist_.back()) { break; } 现在不报错了,但是显示扫图的画面还没出来,不知道这样改是否有影响?

thlsealight commented 1 year ago

你可以再调试一下,具体看看每个数据结构的时间顺序。如果没有问题,我将关闭这个issue。