SLAM算法VINS-MONO安装运行介绍

2024-03-15 22:38

本文主要是介绍SLAM算法VINS-MONO安装运行介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

说明:把资料放在这里,主要是因为github经常上不去,速度慢。如果网络申通的话大家还是去官网看资料比较方便,这个贴子本身没什么价值。同时这个贴子会持续更新。

这里是安装在Ubuntu18.04,通常是ROS melodic。

Ubuntu20.04上ROS noetic有些小问题,不过都很容易解决。

关于ceres-solver和VINS-mono在Ubuntu20.04上的特别说明

==>安装ceres-solver-2.0.0后VINS-mono的catkin_make没能编译成功,最后是改用的ceres-solver-1.14.0。

==> 在Ubuntu20.04上ROS-noetic安装VINS-mono,发现Opencv的几个参数不支持,具体可以参考[fix build for ros noetic #385] 这个request。例如把

cv::cvtColor(image, image, CV_GRAY2RGB);

替换成

cv::cvtColor(image, image, cv::COLOR_GRAY2RGB);

VINS MONO 运行介绍

VINS mono的下载地址

https://github.com/HKUST-Aerial-Robotics/VINS-Mono

安装参考网址

ROS Documentation

对VINS一般会选ubuntu18.04+ROS-melodic,

melodic/Installation/Ubuntu - ROS Wiki

按照项目上的安装介绍一步步来,

在安装vins-mono前先要安装ceres-solver,根据官网的指示,先到这里下载ceres包,

http://ceres-solver.org/ceres-solver-2.0.0.tar.gz
http://ceres-solver.org/ceres-solver-1.14.0.tar.gz

然后安装依赖(Start by installing all the dependencies)。

# CMake
sudo apt-get install cmake
# google-glog + gflags
sudo apt-get install libgoogle-glog-dev libgflags-dev
# BLAS & LAPACK
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev
# SuiteSparse and CXSparse (optional)
sudo apt-get install libsuitesparse-dev

编译安装ceres-solver (We are now ready to build, test, and install Ceres),

tar zxf ceres-solver-2.0.0.tar.gz
mkdir ceres-bin
cd ceres-bin
cmake ../ceres-solver-2.0.0
make -j3
make test
# Optionally install Ceres, it can also be exported using CMake which
# allows Ceres to be used without requiring installation, see the documentation
# for the EXPORT_BUILD_DIR option for more information.
make install

下面开始安装使用vins-mono,

(1) Clone the repository and catkin_make:

cd ~/catkin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash

(2) 数据集下载地址

Download EuRoC MAV Dataset. Although it contains stereo cameras, we only use one camera. The system also works with ETH-asl cla dataset. We take EuRoC as the example.

(3) 如何运行

3.1.1 Open three terminals, launch the vins_estimator , rviz and play the bag file respectively. Take MH_01 for example

打开3个终端窗口输入下面的指令,注意每个窗口都要输入source ~/catkin_ws/devel/setup.bash,所以整体上就是,

    roslaunch vins_estimator euroc.launch roslaunch vins_estimator vins_rviz.launchrosbag play YOUR_PATH_TO_DATASET/MH_01_easy.bag 

如果不想重复输入source指令,最简单的办法是打开编辑~/.bashrc文件,把下面这句直接加入到文件的内容的后面,

source ~/catkin_ws/devel/setup.bash

然后分别打开三个终端窗口输入上面三条指令就可以了。通常一路过来不会有太大的障碍,运行时就可以通过RVIZ直接看到效果了。

VINS MONO调试介绍

参考资料:

 利用vscode调试VINS-FUSION - 知乎

如何配置VSCode来调试ROS节点_白夜行的狼-CSDN博客_vscode调试ros

VS Code 调试 VINS-Mono 环境配置_Barry_123的博客-CSDN博客c

通常我也是用VScode来调试Ubuntu下面的程序, 

这篇关于SLAM算法VINS-MONO安装运行介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/813484

相关文章

从零教你安装pytorch并在pycharm中使用

《从零教你安装pytorch并在pycharm中使用》本文详细介绍了如何使用Anaconda包管理工具创建虚拟环境,并安装CUDA加速平台和PyTorch库,同时在PyCharm中配置和使用PyTor... 目录背景介绍安装Anaconda安装CUDA安装pytorch报错解决——fbgemm.dll连接p

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

python安装whl包并解决依赖关系的实现

《python安装whl包并解决依赖关系的实现》本文主要介绍了python安装whl包并解决依赖关系的实现,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录一、什么是whl文件?二、我们为什么需要使用whl文件来安装python库?三、我们应该去哪儿下

MySQL安装时initializing database失败的问题解决

《MySQL安装时initializingdatabase失败的问题解决》本文主要介绍了MySQL安装时initializingdatabase失败的问题解决,文中通过图文介绍的非常详细,对大家的学... 目录问题页面:解决方法:问题页面:解决方法:1.勾选红框中的选项:2.将下图红框中全部改为英

MySQL9.0默认路径安装下重置root密码

《MySQL9.0默认路径安装下重置root密码》本文主要介绍了MySQL9.0默认路径安装下重置root密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录问题描述环境描述解决方法正常模式下修改密码报错原因问题描述mysqlChina编程采用默认安装路径,

golang字符串匹配算法解读

《golang字符串匹配算法解读》文章介绍了字符串匹配算法的原理,特别是Knuth-Morris-Pratt(KMP)算法,该算法通过构建模式串的前缀表来减少匹配时的不必要的字符比较,从而提高效率,在... 目录简介KMP实现代码总结简介字符串匹配算法主要用于在一个较长的文本串中查找一个较短的字符串(称为

通俗易懂的Java常见限流算法具体实现

《通俗易懂的Java常见限流算法具体实现》:本文主要介绍Java常见限流算法具体实现的相关资料,包括漏桶算法、令牌桶算法、Nginx限流和Redis+Lua限流的实现原理和具体步骤,并比较了它们的... 目录一、漏桶算法1.漏桶算法的思想和原理2.具体实现二、令牌桶算法1.令牌桶算法流程:2.具体实现2.1

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及