Ubuntu系统安装并运行VINS
一、安装 Ros Kinetic
具体安装注意事项请参考我上一篇博客:
二、安装 Opencv3.3.1
1、下载Opencv包
(CSDN上面有很多,或者直接Google、百度也可以)
2、安装pip和numpy
sudo apt-get install python-pip
pip install numpy
3、安装依赖项
sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff5-dev libjasper-dev libopenexr-dev libtbb-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libpng-dev libdc1394-22-dev
4、解压opencv安装包,然后进行安装
- 解压下载好的opencv安装包
- 进入解压后的opencv文件夹
- 新建build文件夹并进入
cmake ..
make
sudo make install
安装完成
5、查看安装的opencv版本
pkg-config --modversion opencv
输出应当如下:
至此,Opencv3.3.1 安装完毕。
三、安装 eigen3.3.7
!!!注意:网上所说终端命令:
sudo apt-get install libeigen3-dev
默认安装的是最高版本,目前好象是Eigen3.3.9,但是版本太高安装Ceres时会报错,所以最好安装Eigen3.3.3或者Eigen3.3.7。
1、下载 Eigen3.3.7 源码包
2、下载好后运行命令:
sudo tar -xzvf eigen-3.3.7.tar.gz -C /usr/local/include
这条指令将eigen-3.3.7.tar.gz文件解压到了 /usr/local/include 目录下。
3、接下来,终端输入
sudo mv /usr/local/include/eigen-3.3.7 /usr/local/include/eigen3
sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include
第一段代码是更名,第二段代码是因为eigen3 被默认安装到了usr/local/include里了(或者是usr/include里,这两个都是系统默认的路径),在很多程序中include时经常使用#include <Eigen/Dense>而不是使用#include <eigen3/Eigen/Dense>,所以要做下处理,否则一些程序在编译时会因找不到 Eigen/Dense 而报错。上面指令将 /usr/local/include/eigen3 文件夹中的Eigen文件递归地复制到上一层文件夹
4、安装好后,可以打开:
/usr/local/include/eigen3/Eigen/src/Core/util/Macros.h
查看已经安装好的Eigen的版本,如下所示:
我所安装的版本是3 3 7 ,也就是Eigen3.3.7
注意:有的小伙伴可能已经安装好了较高版本的Eigen库,这个时候得卸载以前的Eigen库后再进行安装:
- 首先得到eigen3库的位置
sudo updatedb
locate eigen3
- 删除掉有eigen3库的文件(根据自己的eigen3库所在位置进行删除,下面这些只是我的eigen3库所在的位置)
sudo rm -rf /usr/include/eigen3 /usr/lib/cmake/eigen3 /usr/share/doc/libeigen3-dev /usr/share/pkgconfig/eigen3.pc /var/lib/dpkg/info/libeigen3-dev.list /var/lib/dpkg/info/libeigen3-dev.md5sums
- 运行完后再进行上步操作,得到未删除干净的eigen3库所在位置,删除干净~
四、安装 ceres1.14
1、安装ceres1.14
2、安装依赖项
sudo apt-get install liblapack-dev libcxsparse3.1.4 libgflags-dev libgoogle-glog-dev libgtest-dev
注意,不要运行 sudo apt-get install libsuitesparse-dev
,不然编译会报错,将它安装为动态库。
sudo apt-get install cmake
sudo apt-get install libgoogle-glog-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libeigen3-dev
3、安装
解压Cere安装包,进入安装目录下:
tar zxf ceres-solver-1.14.0.tar.gz
cd ceres-solver-1.14.0
mkdir build
cd build
cmake ..
make
(这里make需要特别久…)
sudo make install
安装完成
五、安装 VINS
1、创建ROS工作空间(到home目录下)
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
2、编译VINS(Opencv、Ceres、eigen库均需要按照上述我提到的版本进行安装,不然会编译VINS时报错,其余依赖也必须安装正确)
cd ~/catkin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono.git
cd ../
catkin_make
这里可能报错:
Could not find a package configuration file provided by “cv_bridge” with any of the following names:
cv_bridgeConfig.cmake
cv_bridge-config.cmake
解决方法参考:
https://blog.csdn.net/qq_41925420/article/details/86467213
到这里如果没报错的话,说明安装成功!!!
接下来就是下载数据集进行验证了~
Github上面有很多的数据集
具体如何运行还请参阅其他博客
(安装Opencv一般很少报错,错误常常出在安装Ceres时的make,这里报错绝大多数原因是eigen库版本安装不正确,或者安装VINS时catkin_make报错,这时的错误大部分也是因为ceres或者eigen版本不正确)
参考
https://www.cnblogs.com/newneul/p/8256803.html
https://blog.csdn.net/wenzhou_zhou/article/details/107012696
https://blog.csdn.net/weixin_44417938/article/details/107294330?fps=1&locationNum=2