当前位置: 首页 > news >正文

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.launch
    rosbag 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下面的程序, 

相关文章:

  • Protobuf,gmock,gtest在windows10上的编译与安装
  • CMD闪退的问题及报错“点的大小应介于5和72之间”
  • 常用git 指令
  • 常用的anaconda(conda)命令
  • pcl_viewer的使用与viewer窗口编程
  • OpenVINO+Yolov5+Windows10的CPU部署
  • PCD(点云数据)文件格式
  • Labelme在windows下的编译与vscode开发执行
  • Tools_vcpkg包管理工具在VS2019项目开发中的使用
  • Windows通过winscp登陆Ubuntu18.04
  • Ubuntu18.04安装RTL8125/RTL8168等网卡驱动程序
  • Ubuntu如何卸载cuda driver
  • Ubuntu20.04安装Cuda driver + toolkit + cudnn
  • ROS安装时:找不到有效的OpenPGP数据
  • ROS报错:-- Could NOT find PY_em (missing: PY_EM)
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • [译]前端离线指南(上)
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 2017届校招提前批面试回顾
  • Android单元测试 - 几个重要问题
  • export和import的用法总结
  • Java到底能干嘛?
  • JAVA多线程机制解析-volatilesynchronized
  • JS字符串转数字方法总结
  • Next.js之基础概念(二)
  • Sass 快速入门教程
  • v-if和v-for连用出现的问题
  • 复习Javascript专题(四):js中的深浅拷贝
  • 回顾2016
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 配置 PM2 实现代码自动发布
  • 前端js -- this指向总结。
  • 数据科学 第 3 章 11 字符串处理
  • 微信公众号开发小记——5.python微信红包
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • C# - 为值类型重定义相等性
  • const的用法,特别是用在函数前面与后面的区别
  • 说说我为什么看好Spring Cloud Alibaba
  • ​卜东波研究员:高观点下的少儿计算思维
  • #1014 : Trie树
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • $.ajax()参数及用法
  • ${factoryList }后面有空格不影响
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • *** 2003
  • .java 9 找不到符号_java找不到符号
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .NET处理HTTP请求
  • @Autowired 与@Resource的区别
  • [ Linux Audio 篇 ] 音频开发入门基础知识