/Segment-VIO-By-Spline-Interpolation

针对传统SLAM的后端优化算法计算量较大的问题,提出一种基于样条函数的分段路径回归算法,在保证路径精度的同时有效的提升了后端图优化算法的运算效率。

Primary LanguageC++

由VINS-MONO (https://github.com/HKUST-Aerial-Robotics/VINS-Mono) 作为基础框架,主要修改了feature_tracker、pose_graph、vins_estimator这三个模块的代码。

修改后的代码实现了位姿图(pose graph)的分段优化:通过剔除部分误差较小的关键帧,在保证轨迹精度的同时有效的提升了后端优化速率。剔除的关键帧数据根据相应的时间信息,通过构建的样条函数(spline)插值计算得到。

其中,构建相机位移信息对应样条函数不仅参考了段落端点的位置信息与速度信息还参考了段中关键帧的相对位移信息,使段落对应的样条函数更加准确。 image

构建相机旋转信息对应的样条函数需要先将对应时刻的旋转矩阵转化为对应的李代数,即在李代数空间构建对应的三次样条函数 image

How to use?

首先下载VINS-MONO (https://github.com/HKUST-Aerial-Robotics/VINS-Mono) 框架,随后将本项目中的feature_tracker、pose_graph、vins_estimator文件替换VINS-MONO对应的文件.替换完成后根据VINS-MONO给出的方法进行安装即可。