作者:贺一家,高翔,崔华坤,赵松 改进:krasjet
描述: 这是一个用于深蓝学院教学的代码,她基于 VINS-Mono 框架,但不依赖 ROS, Ceres, G2o。这个代码非常基础,目的在于演示仅基于 Eigen 的后端 LM 算法,滑动窗口算法,鲁棒核函数等等 SLAM 优化中常见的算法。 该代码支持 Ubuntu or Mac OS.
亮点:
-
将仿真数据集(视觉特征,imu数据)接入VINS中,并运行出轨迹结果。 a. 仿真数据集无噪声 b. 仿真数据集有噪声(不同噪声设定时,需要配置vins中imu中noise大小)
-
更优的优化策略 : a. 选用更优的 LM 策略 , 使得 VINS-Mono 在 MH-05 数据集上收敛速度更快或者精度更高 . b. 实现 dog-leg 算法替换 LM 算法 , 并测试替换后的 VINS-Mono 在 MH-05 上算法精度 . 详细的实验报告 , 包括 : 对迭代时间和精度进行评估 , 其中精度评估可以采用 evo 工具 ( https://github.com/MichaelGrupp/evo ) 对轨迹精度进行评估 , 轨迹真值在 zip 中已给出 .
-
更快的 makehessian 矩阵 可以采用任何一种或多种加速方式 ( 如多线程 , 如 sse 指令集等 ) 对信息矩阵的拼接函数加速 , 并给出详细的实验对比报告 .
-
pangolin: https://github.com/stevenlovegrove/Pangolin
-
opencv
-
Eigen
-
Ceres: vins 初始化部分使用了 ceres 做 sfm,所以我们还是需要依赖 ceres.
mkdir vins_course
cd vins_course
git clone https://github.com/Krasjet-Yu/VINS-Course
rm -rf build
mkdir build
cd build
cmake ..
make -j4
cd build
../bin/testCurveFitting
cd build
../bin/run_euroc /home/dataset/EuRoC/MH-05/mav0/ ../config/
you can use this code to generate vio data.
https://github.com/HeYijia/vio_data_simulation
The source code is released under GPLv3 license.
We are still working on improving the code reliability. For any technical issues, please contact Yijia He [email protected] , Xiang Gao https://github.com/gaoxiang12 or Huakun Cuihttps://github.com/StevenCui.
For commercial inquiries, please contact Song Zhao [email protected]
我们使用了港科大沈老师组的 VINS-Mono 作为基础代码,非常感谢该组的工作。