dm-vio复现(ROS)
论文信息
引用:von Stumberg L, Cremers D. Dm-vio: Delayed marginalization visual-inertial odometry[J]. IEEE Robotics and Automation Letters, 2022, 7(2): 1408-1415.
数据集网站的信息:Computer Vision Group - Visual SLAM - DM-VIO: Delayed Marginalization Visual-Inertial Odometry (tum.de)
paper:
[2201.04114] DM-VIO:延迟边缘化视觉惯性里程计 (arxiv.org)
code:
lukasvst/dm-vio:论文DM-VIO:延迟边缘化视觉惯性里程计的源代码 (github.com)
lukasvst/dm-vio-ros: ROS wrapper for DM-VIO: Delayed Marginalization Visual-Inertial Odometry (github.com)
lukasvst/dm-vio-python-tools:用于运行和评估DM-VIO的Python工具。 (github.com)
依赖

只装了思维导图左面展示的那些必装的,右面的没装
安装
一切正常的话,bin文件夹下面会多出这么个可执行文件 dmvio_dataset

代码改自DSO,增加了 GTSAM 和 yaml-cpp 两个依赖。如果编译不通过的话,先看看DSO能不能编译成功(https://github.com/JakobEngel/dso)
运行指令很长,有些我看不懂,Github上提示可以用Python工具(https://github.com/lukasvst/dm-vio-python-tools)来启动,我也没试,直接就上ROS了
ROS启动
首先肯定是先装ROS

首先需要给之前装的 dm-vio 建立一个链接
找一个目录,比如主目录里面新建文件夹,比如我建的文件夹叫做dm-vio-ros,里面再建立src文件夹,回到dm-vio-ros里面 catkin_make 一下,进入src里面下载
下载的文件夹和刚才创建的文件夹重名,一会别搞错了
然后将路径添加到 .bashrc文件里
在下载的文件夹里找 CMakeLists.txt 文件,85行之后添加
然后回到之前的 dm-vio-ros 文件夹下
catkin_make 时的一些错误排查
1. cv_bridge

查一下 cv_bridgeConfig.cmake 文件,大概九十几行有两个/usr/include/opencv,改成自己的路径,我是/usr/local/include/opencv
2. libmets-gtsam.so

应该是GTSAM安装时候路径不对
运行
使用的是EuRoC数据集里面的 MH04 和 V1_03
建立EuRoC的相机模型
任意目录下运行
得到一个 camera.txt 文件
这个指令会覆盖掉重名文件
开启终端,运行
报错的话先看看路径对不对