VINS笔记0——Ubuntu18下和使用Docker编译配置

文章目录

  • 1.在自己的Ubuntu18下配置
    • 1.安装ceres 1.14
    • 1.2.安装OpenCV3.4.5
    • 1.3.修改相关的CMakeLists.txt文件指定使用的OpenCV版本
    • 1.4.安装ROS相关依赖
    • 1.5.建立catkin_ws编译VINS代码
    • 1.6.编译完成,运行VINS测试
  • 2.使用作者推荐的Docker

1.在自己的Ubuntu18下配置

1.安装ceres 1.14

ceres现在最新的版本是2.0,而VINS使用的是1.14,并且这两个版本并不完全兼容,所以如果直接使用安装的ceres 2.0编译VINS会报错。所以这里需要重新安装ceres 1.14。安装步骤可以参考:VINS和ceres库版本不匹配报错

1.2.安装OpenCV3.4.5

VINS配套使用的好像是3.3.1,但是这里使用3.4.5也可以。但是使用更高版本的,比如4.5.1就会报错,低于3.3.1版本的也会报错,所以最好的方式就是再在电脑上安装一个3.4.5版本的OpenCV。

关于如何安装多版本的OpenCV并且在CMakeLists.txt中调用,参考自己的笔记:
ubuntu下安装多版本的opencv并且切换使用

1.3.修改相关的CMakeLists.txt文件指定使用的OpenCV版本

  • 进入VINS-Mono文件夹下,输入grep -r "OpenCV REQUIRED",查看当前文件夹下的所有文件中内容包含OpenCV REQUIRED这个内容的所有文件
  • 输入以下命令,在所有的CMakeLists.txt文件中替换OpenCV REQUIREDOpenCV 3.4.5 REQUIRED
find ./ -name "CMakeLists.txt" | xargs sed -i "s/OpenCV REQUIRED/OpenCV 3.4.5 REQUIRED/g"

1.4.安装ROS相关依赖

sudo apt-get install ros-melodic-cv-bridge ros-melodic-tf ros-melodic-message-filters ros-melodic-image-transport

1.5.建立catkin_ws编译VINS代码

建立一个catkin workspace工作区域,将VINS代码作为功能包放入其中,然后使用catkin编译。

$ mkdir -p ~/VINS-catkin_ws/src
$ mv VINS-Mono/ ~/VINS-catkin_ws/src
$ cd ~/VINS-catkin_ws
$ catkin_make

1.6.编译完成,运行VINS测试

$ cd ~/VINS-Mono
$ source ~/catkin_ws/devel/setup.zsh   # 注意每开一个终端都要source一下,否则找不到vins包的环境变量
$ roslaunch vins_estimator euroc.launch 
  roslaunch vins_estimator vins_rviz.launch
  rosbag play YOUR_PATH_TO_DATASET/MH_01_easy.bag 

注意:如果上面运行roslaunch vins_estimator vins_rviz.launch的时候报错,大意是无法启动rviz/rviz节点,那么可能是此时ros还没有安装rviz,运行sudo apt-get install ros-melodic-rviz安装rviz后再次执行即可。

2.使用作者推荐的Docker

待记录

你可能感兴趣的:(SLAM,opencv,自动驾驶,c++)