最近在准备春招,复习了VIORB相关的知识点,并做了总结。
一、初始化
初始化的目的是恢复出陀螺加表零偏、重力g、尺度s。
使用一个单独的线程VINSInitThread() 进行初始化。初始化开始进行的标志是地图中关键帧的数目超过mnLocalWindowSize个(默认20)。
1.1 计算陀螺零偏
使用图优化的方法。
1.2 计算尺度和重力
从所有的关键帧中,从第2个开始,依次选择3个相邻关键帧,记为1、2、3,则:
1.3 计算加速度计零偏
二、重定位时求出最近一帧的PVR、陀螺和加表的零偏。
2.1 计算陀螺零偏
使用图优化的方法。
2.2 计算加表零偏
从20帧图像中依次选取连续的3帧,记为1、2、3,则:
2.3 计算最后两帧的速度
设最后两帧分别为k-1,k,则: