部署Github经典开源融合算法:VINS-Mono
根据导师要求,先跑一个视觉融合算法并使用开源数据集进行验证。这里经过自己的搜索,选择了Github开源融合算法:VINS-Mono。
VINS-Mono算法的地址如下:https://github.com/HKUST-Aerial-Robotics/VINS-Mono
根据代码要求,首先要安装好ros环境。这里省略。
安装好ros之后,下载代码到本地,首先新建一个ros的工作环境文件。主目录下新建:catkin_ws,下级目录新建src。
之后,在catkin_ws目录下打开终端,输入catkin_make以初始化空间。
将下载好的代码放入src文件中。接下来开始下载该代码需要的环境。
打开终端,输入sudo apt-get install ros-melodic-cv-bridge ros-melodic-tf ros-melodic-message-filters ros-melodic-image-transport (这里假设我们的ros版本是melodic,如果用的其他版本请对应修改成其他版本的名字就行)。
接下来,需要安装ceres需要的依赖包。ceres需要修改软件源:
//第一步,打开sources.list
$ sudo gedit /etc/apt/sources.list
//第二步,将下面的源粘贴到最上方sources.list
$ deb http:
//cz.archive.ubuntu.com/ubuntu trusty main universe
//第三步,更新源
$ sudo apt-get update
//第四步,重新输入依赖项安装命令安装依赖项
$ sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev
安装号ceres的依赖之后,进入ceres文件夹(从网上或者github下载),新建build文件夹,进入build打开终端,输入:
cmake ..
make -j20 (nproc指令可以查询cpu核心数量,-j后面接的数字表示它make时使用的核心数)
等待ceres编译完成后,输入sudo make install将其加入我们的环境中。
完成后,我们开始编译VINS-Mono工程。进入/catkin_ws,开始catkin_make
之后就可以愉快地启动仿真了。数据集选用
https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets 下载的公共数据集,大致效果如下: