在学习视觉SLAM过程中,先后用了VINS_mono,VINS_Fusion,Omni_swarm,因为是第一次做视觉相关定位,所以大部分库都是第一次装,中间还从虚拟机换到双系统,意识到记录的重要行性,所以在此记录安装相关依赖库的教程。
环境: Ubuntu18.04
在安装Eigen和ceres之前,首先需要关注的都是版本问题,如果版本不对,需要卸载重装
VINS现在用的ceres是1.14的,那么他对应的Eigen版本是3.2.9,我们直接按照这个装,如果本身安装的版本不对,并且catkin_make报错,那就先卸载Eigen
sudo updatedb
locate eigen3
找到输出中为/usr文件夹下的结果
/usr/include/eigen3
/usr/lib/cmake/eigen3
sudo rm -r /usr/include/eigen3
sudo rm -r /usr/lib/cmake/eigen3
我找了一会儿没找到3.2.0,我觉得3.2.10应该也是可以的,试试(如果我已经写出来的话,证明成功你可以继续)
unzip eigen-3.2.10.zip
cd eigen-3.2.10/
mkdir build
cd build/
cmake ..
sudo make install
sudo updatedb
locate eigen3
一般显示内容会多出很多类似的结果
/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
默认安装Eigen的目录为 /usr/local/include/eigen3/
为了方便后续代码寻找,避免报错,我们把Eigen移动到上一级
sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include
pkg-config --modversion eigen3
显示3.2.10
,代表安装成功
sudo updatedb
locate ceres
/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
明显我电脑上有旧版本的ceres
sudo rm -r /usr/include/ceres/
放在主目录下
wget ceres-solver.org/ceres-solver-1.14.0.tar.gz
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
参考文献
其实我的系统上本身有一个opencv4.0.0,但是不是我装的,我现在安装不上后续对应的cv-bridge,再加上vins系列对于oepncv4.0.0好像有些兼容问题,所以决定全都卸载,重新装
cd opencv-4.0.0/
sudo make uninstall
cd ..
sudo rm -r build
用sudo updatedb
,locate opencv4
检查,删除所有出现的文件夹 尤其是 /usr/ 下的
①依赖项
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
②安装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
①将opencv的库添加到路径
sudo gedit /etc/ld.so.conf.d/opencv.conf
在打开的文件中添加/usr/local/lib
②更新共享链接库
sudo ldconfig
sudo gedit /etc/bash.bashrc
在文件末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
③配置生效
source /etc/bash.bashrc
sudo updatedb
④检查
pkg-config --modversion opencv
显示3.4.10
即可
安装后不可以删除源码文件夹opencv-3.4.10
注: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
把打开文件第六行的目录换成自己安装opencv的build目录
catkin_make
在5.1和5.2之间二选一
cd GDPt_ws/src
gitc clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono
cd ..
catkin_make
cd GDPt_ws/src
gitc clone https://github.com/HKUST-Aerial-Robotics/VINS-Fusion
cd ..
catkin_make
分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以下库的安装是为了应用功能包Omni-swarm,这里只写安装依赖项的教程,后边会再有文章写Omni的后续使用教程
地址,下载lcm-1.4.0.zip
unzip lcm-1.4.0.zip
cd lcm-1.4.0.zip
mkdir build
cd build
cmake ..
sudo make install
此项仅有Omni需要
虚拟机无法用,因为要用显卡,所以必须要安装ubuntu系统
注:我个人并没有完成显卡驱动+CUDA+Pytorch 这一套的安装,总是有bug
所以未完待续…