dm-vio復(fù)現(xiàn)(ROS)
論文信息
引用:von Stumberg L, Cremers D. Dm-vio: Delayed marginalization visual-inertial odometry[J]. IEEE Robotics and Automation Letters, 2022, 7(2): 1408-1415.
數(shù)據(jù)集網(wǎng)站的信息: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)
依賴

只裝了思維導(dǎo)圖左面展示的那些必裝的,右面的沒裝
安裝
一切正常的話,bin文件夾下面會多出這么個可執(zhí)行文件 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 一下,進(jìn)入src里面下載
下載的文件夾和剛才創(chuàng)建的文件夾重名,一會別搞錯了
然后將路徑添加到 .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

應(yīng)該是GTSAM安裝時候路徑不對
運行
使用的是EuRoC數(shù)據(jù)集里面的 MH04 和 V1_03
建立EuRoC的相機模型
任意目錄下運行
得到一個 camera.txt 文件
這個指令會覆蓋掉重名文件
開啟終端,運行
報錯的話先看看路徑對不對