openvins是黄国权老师组在8月份开源的VIO系统,整体是MSCKF的改进,希望在实际环境中运行一下,看看是什么效果,在此记录一下运行过程,以供参考。
运行环境:
系统:ubuntu16.04LTS + ROS Kinetic
硬件:内存:8G,处理器:Intel® Core™ i7-9750H CPU @ 2.60GHz × 12
环境配置:
代码地址:https://github.com/rpng/open_vins
系统有完整的文档,包括代码的数学推导,系统运行等等,具体见https://docs.openvins.com/ 以及 https://docs.openvins.com/getting-started.html
文档https://docs.openvins.com/gs-installing.html给出了详细的环境配置过程,参照文档完成ROS、opencv以及python-numpy等的安装。
数据集运行:
我手头有EUROC的数据集,因此主要在euroc上进行了一下简单测试。EuROC数据集有rosbag版本和正常的图片数据,本文的测试使用了rosbag。EuROC数据的下载地址为:https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets
![5a62ab5b566dd0486043b44f48d9d7a2.png](https://i-blog.csdnimg.cn/blog_migrate/a0a19325218cd09ab17d12f4d11f759d.jpeg)
下载完成后,修改~/openvins/ovmsckf/launch/pgeneva_eth.launch文件中的pathbag参数为euroc数据rosbag地址,同时要保证path_bag和path_gt的数据集要一致,否则会报时间不一致的错误(openvins的ov_data下保存了euroc的groundtruth数据):
<!--euroc数据集的rosbag地址-->
<param name="path_bag" type="string" value="/home/weihao/Datasets/EUROC/ros_bag/MH_01_easy.bag" />
<param name="path_gt" type="string" value="$(find ov_data)/euroc_mav/MH_01_easy.csv" />
之后在该launch文件的末尾的</launch>标记上增加一行(直接在launch文件中启动rviz显示,否则每次需要新开一个窗口):
<node type="rviz" name="rviz" pkg="rviz" args="-d $(find ov_msckf)/launch/display.rviz" />
完成launch文件的修改之后,新开一个命令窗口,输入:
roslaunch ov_msckf pgeneva_eth.launch
开始运行,运行结果如图:
![1435cc9cb96da44b6de3a8a1dacfea42.png](https://i-blog.csdnimg.cn/blog_migrate/3ffd164fb0a522d5bba0492171bfda09.jpeg)