• VINS学习02——VINS系列代码所有依赖库安装(保姆级)


    0.简介

    在学习视觉SLAM过程中,先后用了VINS_mono,VINS_Fusion,Omni_swarm,因为是第一次做视觉相关定位,所以大部分库都是第一次装,中间还从虚拟机换到双系统,意识到记录的重要行性,所以在此记录安装相关依赖库的教程。
    环境: Ubuntu18.04

    1. eigen
    2. ceres
      3.Opencv
    3. cv_bridge
    4. VINS_Mono/Fusion测试

    1.Eigen

    在安装Eigen和ceres之前,首先需要关注的都是版本问题,如果版本不对,需要卸载重装

    1.1 确定需要的Eigen版本

    VINS现在用的ceres是1.14的,那么他对应的Eigen版本是3.2.9,我们直接按照这个装,如果本身安装的版本不对,并且catkin_make报错,那就先卸载Eigen

    1.2 卸载Eigen

    1.2.1 查询eigen目录

    sudo updatedb
    locate eigen3
    
    • 1
    • 2

    找到输出中为/usr文件夹下的结果

    /usr/include/eigen3
    /usr/lib/cmake/eigen3
    
    • 1
    • 2

    1.2.2 删除对应文件夹

    sudo rm -r   /usr/include/eigen3
    sudo rm -r  /usr/lib/cmake/eigen3
    
    • 1
    • 2

    1.3 安装Eigen3.2.10

    我找了一会儿没找到3.2.0,我觉得3.2.10应该也是可以的,试试(如果我已经写出来的话,证明成功你可以继续)

    1.3.1 下载地址

    如截图红色显示
    在这里插入图片描述

    1.3.2 安装命令

    unzip eigen-3.2.10.zip
     cd eigen-3.2.10/
    mkdir build
     cd build/
     cmake ..
     sudo make install
     sudo updatedb
     locate eigen3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    一般显示内容会多出很多类似的结果

    /usr/local/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h
    /usr/local/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h
    /usr/local/include/eigen3/Eigen/src/Core/util/MKL_support.h
    
    • 1
    • 2
    • 3

    默认安装Eigen的目录为 /usr/local/include/eigen3/
    为了方便后续代码寻找,避免报错,我们把Eigen移动到上一级

    sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include 
    
    • 1

    1.3.2检查

    pkg-config --modversion eigen3
    
    • 1

    显示3.2.10,代表安装成功

    2.ceres1.14

    2.1检查电脑上是否有其他版本ceres

     sudo updatedb
     locate ceres
    
    • 1
    • 2
    /usr/lib/libceres.a
    /usr/lib/libceres.so
    /usr/lib/libceres.so.1
    /usr/lib/libceres.so.1.13.0
    /usr/local/include/gtsam/3rdparty/ceres
    /usr/local/include/gtsam/3rdparty/ceres/autodiff.h
    /usr/local/include/gtsam/3rdparty/ceres/eigen.h
    /usr/local/include/gtsam/3rdparty/ceres/example.h
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    明显我电脑上有旧版本的ceres

        sudo rm -r /usr/include/ceres/
    
    • 1

    2.2 下载ceres1.14.0

    放在主目录下

    wget ceres-solver.org/ceres-solver-1.14.0.tar.gz
    
    • 1

    2.3 安装ceres1.14.0

    tar xvf ceres-solver-1.14.0.tar.gz
    cd ceres-solver-1.14.0
    mkdir build
    cd build
    cmake ..
    sudo make
    sudo make install 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    3.Opencv3.4.10

    参考文献

    3.1 opencv 卸载

    其实我的系统上本身有一个opencv4.0.0,但是不是我装的,我现在安装不上后续对应的cv-bridge,再加上vins系列对于oepncv4.0.0好像有些兼容问题,所以决定全都卸载,重新装

    3.1.1 打开opencv的源目录,进行卸载。

    cd opencv-4.0.0/ 
    sudo make uninstall
    cd ..
    sudo rm -r build
    
    • 1
    • 2
    • 3
    • 4

    3.1.2 删除剩余文件

    sudo updatedb locate opencv4检查,删除所有出现的文件夹 尤其是 /usr/ 下的

    3.2 opencv安装

    3.2.1 下载

    我下载的是3.4.10倒数第二个zip
    在这里插入图片描述

    3.2.2 安装

    ①依赖项

    sudo apt-get install build-essential  
    sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev  
    sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev  
    sudo apt-get install qt5-default ccache libv4l-dev libavresample-dev  libgphoto2-dev libopenblas-base libopenblas-dev doxygen  openjdk-8-jdk pylint libvtk6-dev
    sudo apt-get install pkg-config
    
    • 1
    • 2
    • 3
    • 4
    • 5

    ②安装opencv3.4.10

    unzip opencv-3.4.10.zip
    cd opencv-3.4.10/
    mkdir build
    cd build/
    cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
    sudo make -j4
    sudo make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    3.2.3配置环境

    ①将opencv的库添加到路径

    sudo gedit /etc/ld.so.conf.d/opencv.conf
    
    • 1

    在打开的文件中添加/usr/local/lib
    ②更新共享链接库

    sudo ldconfig
    sudo gedit /etc/bash.bashrc  
    
    • 1
    • 2

    在文件末尾添加

    PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
    export PKG_CONFIG_PATH  
    
    • 1
    • 2

    ③配置生效

    source /etc/bash.bashrc
    sudo updatedb
    
    • 1
    • 2

    ④检查

    pkg-config --modversion opencv
    
    • 1

    显示3.4.10即可
    安装后不可以删除源码文件夹opencv-3.4.10

    4.CV-bridge

    注:GDPt_ws为我后续跑vins代码的工作空间,如果你有工作空间,或者已经完成创建,直接使用即可

    mkdir -p GDPt_ws/src
    cd GDPt_ws/src
    git clone https://gitee.com/bingobinlw/cv_bridge
    cd ..
    gedit src/cv_bridge/CMakeLists.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5

    把打开文件第六行的目录换成自己安装opencv的build目录

    catkin_make
    
    • 1

    5.VINS_mono和VINS_Fusion检验

    在5.1和5.2之间二选一

    5.1 VINS_mono测试

    cd GDPt_ws/src 
    gitc clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono
    cd ..
    catkin_make
    
    • 1
    • 2
    • 3
    • 4

    5.2 VINS_Fusion测试

    cd GDPt_ws/src 
    gitc clone https://github.com/HKUST-Aerial-Robotics/VINS-Fusion
    cd ..
    catkin_make
    
    • 1
    • 2
    • 3
    • 4

    分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    以下库的安装是为了应用功能包Omni-swarm,这里只写安装依赖项的教程,后边会再有文章写Omni的后续使用教程

    6. lcm库

    6.1下载地址

    地址,下载lcm-1.4.0.zip

    6.2 安装

    unzip lcm-1.4.0.zip
    cd lcm-1.4.0.zip
    mkdir build
    cd build
    cmake .. 
    sudo make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    7.CUDA+Pytorch

    此项仅有Omni需要
    虚拟机无法用,因为要用显卡,所以必须要安装ubuntu系统

    7.1安装教程

    注:我个人并没有完成显卡驱动+CUDA+Pytorch 这一套的安装,总是有bug
    所以未完待续…

  • 相关阅读:
    【springboot】18、内置 Tomcat 配置和切换
    使用Nginx在 Linux 上托管 ASP.NET Core 6.0应用:GitHub Actions自动部署
    进程优先级
    【ppt技巧】ppt里的图片如何提取出来?
    AIE多吡啶萘酰亚胺荧光树形分子/AIE喹啉腈(QM)染料衍生物QM-OH的研究制备
    从android.graphics.Path中取出Point点,Kotlin
    哈希函数2:用于哈希表的存储和扩容
    Linux下路由表的转发流程
    LVS,Nginx,Haproxy三种负载均衡产品的对比
    linux驱动开发:PWM驱动编写
  • 原文地址:https://blog.csdn.net/weixin_44168457/article/details/128145196