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

相关文章

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手