Ubuntu系统安装并运行VINS

Ubuntu系统安装并运行VINS

一、安装 Ros Kinetic

具体安装注意事项请参考我上一篇博客:

Ubuntu16.04安装ros系统(踩坑合集)

二、安装 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 源码包

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

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

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值