序言
本文记录在TX2开发板下编译跑通Vins-Fusion的过程,总体还是很简单,遇到的问题都很快就解决了。
Vins-Fusion需要依赖的第三方库主要有:OpenCV3、eigen3、ceres。。。。。。
在此就默认大家都安装好了,CSDN上相关资源也很多,在此就一笔带过。
一、创建工作空间,下载源码
新创建一个工作空间,将源码放进工作空间的src目录下。
mkdir -p vin_ws/src
cd vin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/VINS-Fusion.git
cd ..
catkin_make
在编译过程中,遇到报错,描述如下:CMake Error at /opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmake:113 (message):
Project 'cv_bridge' specifies '/usr/include/opencv4' as an include dir,
which is not found. It does neither exist as an absolute directory nor in
'${{prefix}}//usr/include/opencv4'. Check the issue tracker
'https://github.com/ros-perception/vision_opencv/issues' and consider
creating a ticket if the problem has not been reported yet.
Call Stack (most recent call first):
/opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:76 (find_package)
VINS-Fusion/loop_fusion/CMakeLists.txt:9 (find_package)
这个问题是因为ros中的cvbridge文件有错误,单独安装的opencv与ros自带的路径不同,需要重新配置路径,具体步骤操作参考:https://blog.csdn.net/woodgril/article/details/109155073
然后重新编译就通过了。
二、使用数据集测试
打开终端,启动roscore。
然后再打开四个终端,输入下面的指令(具体文件的位置按需修改)
roslaunch vin_ws vins_rviz.launch
rosrun vins_ws vins_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml
rosrun loop_fusion loop_fusion_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml
rosbag play YOUR_DATASET_FOLDER/MH_01_easy.bag