在Ubuntu20.04运行VINS-Fusion

2023-05-16

准备工作:

虚拟机
ubuntu:20.04
ROS:Neotic

Ubuntu20.04+ROS Noetic的安装与配置可以参考这篇文章,以下步骤在完成上述安装的基础上进行。

一、 安装ceres solver1.14.0

目前官网最新的版本是2.1.0,但是我安装这个版本时编译较慢,会出现一些莫名的问题,于是选择安装1.14.0。

1.安装相关依赖

sudo apt install libgoogle-glog-dev libatlas-base-dev libeigen3-dev libsuitesparse-dev liblapack-dev libcxsparse3.1.2 libgflags-dev libgtest-dev

2.下载ceres-solver-1.14.0,然后解压

#点击上面的链接,或者直接使用如下命令行都可以安装ceres-solver-1.14.0
wget ceres-solver.org/ceres-solver-1.14.0.tar.gz
#在压缩包在的目录下打开终端,输入如下命令解压
tar zxf ceres-solver-1.14.0.tar.gz

3.在解压后的同级目录下,编译安装

mkdir ceres-bin
cd ceres-bin
cmake ../ceres-solver-1.14.0
make -j2
sudo make install

PS:make速度较慢的问题——考虑是内存不足(我给虚拟机分配的内存只有2G),于是增加swap 分区,即当实际内存不够用的时候,操作系统会从内存中取出一部分暂时不用的数据,放在交换分区中,从而为当前运行的程序腾出足够的内存空间。

  • 创建swap分区
#count的大小就是增加的swap空间块,bs是块大小,所以空间大小是bs*count=8192MB
sudo dd if=/dev/zero of=/swapfile bs=1M count=8192
#把刚才空间格式化成swap格式
sudo mkswap /swapfile
#使用刚才创建的swap空间
sudo swapon /swapfile
#重新make
make
#释放临时加的内存空间
sudo swapoff /swapfile
sudo rm /swapfile

二、下载编译Vins-Fusion

1.创建工作空间vins/src,在src目录下下载Vins-Fusion

git clone https://github.com/HKUST-Aerial-Robotics/VINS-Fusion.git

2.在vins目录下编译

catkin_make

解决编译时的错误:

①ROS noetic版本中自带的OpenCV4和VINS-mono中需要使用的OpenCV3冲突的问题。

修改camera_model文件包:

在camera_model包中的头文件Chessboard.h中添加
#include <opencv2/imgproc/types_c.h>
#include <opencv2/calib3d/calib3d_c.h>
在CameraCalibration.h中添加
#include <opencv2/imgproc/types_c.h>
#include <opencv2/imgproc/imgproc_c.h>

②报错:

error: ‘CV_FONT_HERSHEY_SIMPLEX’ was not declared in this scope

将报错文件上的CV_FONT_HERSHEY_SIMPLEX参数改为cv::FONT_HERSHEY_SIMPLEX

③报错:

error: ‘CV_RGB2GRAY’ was not declared in this scope

在报错头文件里添加

#include <opencv2/imgproc/types_c.h>

④报错:

error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope

将报错文件上的CV_LOAD_IMAGE_GRAYSCALE改为cv::IMREAD_GRAYSCALE

3.下载EuroC数据集的MH_01_easy.bag(常用slam数据集)

官网下载速度较慢,于是通过百度云下载,在上文链接中选择对应的文件即可下载,将下载后的文件保存到设置的共享文件夹F:\Shared中的EuroC文件夹中(共享文件夹路径在虚拟机的设置中进行配置,即windows和虚拟机都能访问的文件夹)
在这里插入图片描述
在终端输入如下命令查看共享文件夹是否挂载成功

cd /mnt/hgfs
ls

在这里插入图片描述
注:若已经设置共享文件夹,但进入mnt/hgfs中找不到文件夹,可以使用下述指令

# 查看设置共享文件夹是否成功
vmware-hgfsclient
# 安装open-vm-tools
sudo apt-get install open-vm-tools
# 挂载共享文件夹
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o nonempty -o allow_other
# 再次查看是否挂载成功
cd /mnt/hgfs
ls

4.在vins目录下打开五个终端,分别输入如下指令
单目+IMU:

roscore
source ./devel/setup.bash
roslaunch vins vins_rviz.launch
source ./devel/setup.bash
rosrun vins vins_node ./src/VINS-Fusion/config/euroc/euroc_mono_imu_config.yaml
source ./devel/setup.bash
rosrun loop_fusion loop_fusion_node ./src/VINS-Fusion/config/euroc/euroc_mono_imu_config.yaml
source ./devel/setup.bash
# 以下路径需要根据你保存EuroC的路径进行修改(保留/mnt/hgfs/)
rosbag play /mnt/hgfs/Shared/EuroC/MH_01_easy.bag

双目+IMU:

roscore
source ./devel/setup.bash
roslaunch vins vins_rviz.launch
source ./devel/setup.bash
rosrun vins vins_node ./src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml
source ./devel/setup.bash
rosrun loop_fusion loop_fusion_node ./src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml
source ./devel/setup.bash
rosbag play /mnt/hgfs/Shared/EuroC/MH_01_easy.bag

双目:

roscore
source ./devel/setup.bash
roslaunch vins vins_rviz.launch
source ./devel/setup.bash
rosrun vins vins_node ./src/VINS-Fusion/config/euroc/euroc_stereo_config.yaml
source ./devel/setup.bash
rosrun loop_fusion loop_fusion_node ./src/VINS-Fusion/config/euroc/euroc_stereo_config.yaml
source ./devel/setup.bash
rosbag play /mnt/hgfs/Shared/EuroC/MH_01_easy.bag

注:若出现错误[rviz-3] process has died,则输入如下指令

export LIBGL_ALWAYS_SOFTWARE=1

三、最终效果

单目+IMU:
rqt_graph:
在这里插入图片描述

rviz:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Ubuntu20.04运行VINS-Fusion 的相关文章

  • Ubuntu18.04+ROS melodic 跑通VINS-MONO的一些踩坑记录

    VINS MONO的一些踩坑记录 0 本机环境 笔者的环境为Ubuntu 18 04 43 ros melodic 43 opencv 4 1 1 43 Eigen 3 3 9 43 ceres solver 1 14 跟VINS MONO
  • 【ubuntu】ubuntu20.04安装ros noetic(亲测有效,附操作步骤)

    ubuntu20 04安装ros noetic xff0c 实力踩坑 xff0c 亲测有效 xff01 xff01 xff01 一 安装ROS neotic步骤第一步 xff1a 换源第二步 xff1a 添加ROS软件源第三步 xff1a
  • Chrome安装Proxy SwitchyOmega插件&Ubuntu20.04安装Proxychains

    目录 1 Chrome浏览器1 1 安装Proxy SwitchyOmega插件1 2 安装Proxy SwitchyOmega插件 2 Ubuntu服务器2 1 安装2 2 配置2 3 测试2 4 异常处理 1 Chrome浏览器 1 1
  • ubuntu18.04 安装ros与运行vins-mono

    Ubuntu18 04 安装环境及运行Vins mono xff08 2022年 xff09 AI技术聚合 安装 sudo apt get install ros melodic desktop full 正在解包 ros melodic
  • ubuntu20.04安装ROS【详细】

    Ubuntu20 04安装ROS与Ubuntu18 04大差不差 xff0c 安装过程基本没出现问题 按以下教程操作即可 一 更换源 xff1a 1 备份源文件 sudo cp etc apt sources list etc apt so
  • Ubuntu20.04运行Vins-fusion

    因已安装ROS noetic xff0c eigen xff0c opencv及ceres等库 xff0c 这部分环境配置就不细讲 xff0c 直接下载VINS FUSION的代码库 下载编译 cd span class token ope
  • 解决ubuntu20.04虚拟机无法上网的问题

    64 linux虚拟机无法正常上网 前言 刚建立好的linux虚拟机使用NAT方式可以连接外网 xff0c 系统重启几次 xff0c 系统无法上网 xff0c 这是什么问题导致的呢 xff1f 提示 xff1a 以下是本篇文章正文内容 xf
  • NVIDIA Jetson Xavier NX部署VINS-fusion-GPU

    NVIDIA Jetson Xavier NX部署VINS fusion GPU 一 环境配置 xff08 Ubuntu 18 04 xff09 1 Cuda 10 2的安装 span class token function sudo s
  • 在TUMVI数据集上测试VINS-Fusion算法

    VINS Fusion算法是一个非常优秀的视觉惯性里程计 但原版VINS Fusion并没有提供与TUM数据集相应的配置文件 因此需要自己进行写yaml文件 修改配置文件 tum mono yaml span class token dir
  • VINS-mono 位姿图 重利用测试

    在前一篇博文里介绍了VINS mono pose graph reuse功能的使用 xff0c 这里接着贴出一些延伸的测试 xff0c 并进行一些探讨 延伸测试 一般来说 xff0c 加载地图是进行非GPS定位必要的一步 这里根据新的VIN
  • 从零实现vins-mono+fast-planner+M100无人机实验在现实场景中的应用

    版权声明 本文为博主原创文章 未经博主允许不能随意转载 本文链接 https blog csdn net AnChenliang 1002 article details 109535355 最近由于科研的需要 要将VINS mono与fa
  • vins-fusion代码解读[五] imu在vins里的理解

    SLAM新手 xff0c 欢迎讨论 IMU作用 vins中 xff0c IMU只读取IMU六轴的信息 xff0c 3轴线加速度 xff08 加速度计 xff09 和3轴角速度 xff08 陀螺仪 xff09 通过对陀螺仪的一次积分 xff0
  • VINS-Mono视觉初始化代码详解

    摘要 视觉初始化的过程是至关重要的 xff0c 如果在刚开始不能给出很好的位姿态估计 xff0c 那么也就不能对IMU的参数进行精确的标定 这里就体现了多传感器融合的思想 xff0c 当一个传感器的数据具有不确定性的时候 xff0c 我们需
  • ubuntu20.04安装cmake详细教程

    一 命令行安装 xff08 这种直接安装cmake xff0c 其实安装的版本都太老了 xff0c 这种方式不推荐 xff09 sudo apt install cmake 二 Cmake源码编译安装 1 更新一下g 43 43 已经安装请
  • virtualbox上安装ubuntu20.04清华源镜像

    一 下载Ubuntu镜像文件 这里我选择国内清华源下载ubuntu镜像文件 步骤一 xff1a 清华源下载地址 xff1a Index of ubuntu releases 20 04 清华大学开源软件镜像站 Tsinghua Open S
  • 树莓派4B Ubuntu20.04 ROS2 DSO realsense d455

    在git上下载dso 并编译 opencv version 61 4 2 0 span class token builtin class name cd span lib dso dso span class token function
  • 【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3

    本文主要记录基于Ubuntu20 04环境下 xff0c 对普通的ORB SLAM3和稠密版本的ORB SLAM3进行环境的配置 一 配置ORB SLAM3 lt 普通版本 gt 1 安装ROS开发环境 这里采用鱼香ros的一键安装 xff
  • Docker使用系列——Docker安装(Ubuntu20.04)

    Docker使用系列 Docker安装 xff08 Ubuntu20 04 xff09 卸载安装测试问题 直接按官方安装教程即可 xff1a Install Docker Engine on Ubuntu 卸载 安装过老版本的Docker则
  • 2021-08-06

    在编译OKVIS中 执行make j8时报错的解决方法 1 根据github上OKVIS的安装步骤一步一步执行 由于github经常进不去 我就进了gitee网站查到OKVIS的安装步骤 参考链接 https gitee com bill4
  • CLR 何时尝试加载引用的程序集?

    我想编写一个小型安装程序应用程序来安装网站并创建 IIS 虚拟目录 该应用程序应在 Windows XP Server 2003 IIS 6 以及 Vista 2008 IIS 7 上运行 问题是 对于 IIS 6 我们通过调用 WMI M

随机推荐