源码地址: https://github.com/HKUST-Aerial-Robotics/VINS-Mono
在运行前修改结果保存地址:/home/yhj/catkin_ws/src/VINS-Mono/config/euroc/euroc_config.yaml中修改pose_graph_save_path为想存的地址
1.构建ros工作空间下载vins_mono源码:catkin_ws/src/vins_mono
2.切换到工作空间目录下:cd catkin_ws
3.编译:catkin_make(这一步产生build和devel文件夹)
4.source ~/catkin_ws/devel/setup.bash(配置工作空间,用于刷新环境;这里建议每步运行都先执行刷新工作空间环境;这里配置环境的目的是为了让计算机更方便的找到文件所在的路径来执行)
5.打开新终端,切换到vins_estimator路径下:
source ~/catkin_ws/devel/setup.bash
roslaunch vins_estimator euroc.launch
6.打开新终端,切换到vins_estimator路径下:
source ~/catkin_ws/devel/setup.bash
roslaunch vins_estimator vins_rviz.launch
7.打开新终端:
rosbag play YOUR_PATH_TO_DATASET/MH_01_easy.bag
8.程序运行结束后在roslaunch vins_estimator euroc.launch运行窗口中输入’s’然后回车,将结果保存
9.使用evo进行评估需要修改保存文件的格式为指定格式:在pose_graph.cpp/savePoseGraph中进行修改
(tum文件为.txt,依次为timestamp p.x p.y p.z q.x q.y q.z q.w,注意这里每两个之间有一个空格,且最后不能有多余空格)
源码地址: https://github.com/ethz-asl/okvis
修改代码,增加轨迹保存文件,用于evo测评.
在okvis_apps/src/~.cpp下
1.编译:
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release …
make -j8
遇到的问题:
1.虚拟空间内存不足
提示:error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull
①解决办法:在cmakelist.txt中加入git config --global http.postBuffer 20000000
②清理内存:
sudo su
echo 3 > /proc/sys/vm/drop_caches
2.https://blog.csdn.net/ouyangandy/article/details/76202824
2.运行:(在build目录下)
./okvis_app_synchronous /home/yhj/okvis/config/config_fpga_p2_euroc.yaml /home/yhj/slam_data_set/EuRoc/MH_05/mav0/
Evo测试结果:
evo_traj tum okvis_output.txt vins_mono_output.txt --ref=data.tum -p --plot_mode=xz --align --correct_scale
(这里轨迹对齐,有平移和旋转绘图,在后两个窗口)
evo_ape tum data.tum vins_mono_output.txt -r full -va --plot --plot_mode xyz --save_results vins_test/vins.zipe
-r full表示绘制的是平移和旋转的总APE,-va是选择对齐模式