VINS-Mono环境配置与测试笔记

标签: 旭 linux SLAM
1.简介

VINS-Mono和VINS-Mobile是香港科技大学沈劭劼团队开源的单目视觉惯导SLAM方案。是基于优化和滑动窗口的VIO,使用IMU预积分构建紧耦合框架。并且具备自动初始化,在线外参标定,重定位,闭环检测,以及全局位姿图优化功能。
本篇笔记是初配置VINS-Mono运行环境时的记录。
2.测试环境配置
2.1.配置目标

电脑 64位 8g内存 100g+1T硬盘
windows10+Ubuntu16.04双系统
Ubuntu 16.04, ROS Kinetic, OpenCV 3.3.1, Eigen 3.3.3,Ceres-Solver
2.2. Win10+Ubuntu16.04双系统

win10下安装Ubuntu16.04双系统

在Ubuntu官网上下载所需的iso镜像安装文件;
    准备一个空U盘(2g以上),用Ultral软件试用版本制作安装盘(文件->打开iso镜像文件;启动->写入硬盘映像);
    右键计算机->管理->磁盘管理,压缩出Ubuntu系统的安装区域(本次在机械硬盘上试用256G卷);
    在安装盘插入的情况下重启计算机,使用开机向导(ASUS默认开机同时esc键进入),选择从U盘进入,开始安装Ubuntu;
    …(一系列不重要的步骤,可按默认选择)…选择自定义安装,开始划分磁盘分区;
    本次分区配置如下:总256G,BIO主分区 32M,\boot主分区Et4 1G(听说更新内核后前引导文件不会自动删除,为省麻烦干脆放大一点),\home逻辑分区Et4 100G,swap交换分区 8G,\逻辑分区Et4 剩余所有内存,安装启动引导器的设备\boot(不知道为什么挂sda上报错);
    安装完成,重启。

2.3. ROS Kinetic安装

ROS不能再详细的安装教程

版本选择

ROS发布日期     ROS版本     对应的Ubuntu版本
2016.3     ROS Kinetic Kame     Ubuntu16.04/Ubuntu15.01
2015.3     ROS Jade Turtle     Ubuntu15.04/Ubuntu LTS14.04
2014.7     ROS Indigo Lgloo     Ubuntu14.04

安装步骤
    添加源:打开控制台Ctrl+Alt+T输入以下命令

$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

1

设置密钥:

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116

1

确保系统软件处于最新版:

$ sudo apt-get update

1

安装全功能版ROS:

$ sudo apt-get install ros-kinetic-desktop-full

1

查看可用的包:

$ apt-cache search ros-kinetic

1

初始化ROS:

$ sudo rosdep init
$ rosdep update

1
    2

初始化环境变量:

$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
 $ source ~/.bashrc

1
    2

安装常用插件:

$ sudo apt-get install python-rosinstall

1

测试ROS,启动ROS环境:

$ roscore

1

显示started core service [/rosout] 则安装成功
2.4. OpenCV 3.3.1

去opencv官网opencv下载地址下载对应版本的opencv安装包;
    安装pip,安装numpy

sudo apt install python-pip
pip install numpy

1
    2

安装依赖项

sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff5-dev libjasper-dev libopenexr-dev libtbb-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libpng-dev libdc1394-22-dev

1

解压opencv安装包,进入安装文件目录

tar -xzvf opencv-3.3.1.tar.gz
cd opencv-3.3.1/
cd ..
mkdir build
cd build
cmake ..
make    # make -j4表示开4个线程来进行编译
make install

1
    2
    3
    4
    5
    6
    7
    8

安装完成

2.5. Eigen安装

未安装Eigen的PC可以输入以下命令进行安装:

sudo apt-get install libeigen3-dev

1

可输入以下命令寻找安装位置:

sudo updatedb
locate eigen3

1
    2

安装完成
2.6. Cere的安装

官网英文安装教程
可去GitHub上下载Ceres:Ceres下载地址
最新版本可从git库克隆:
以下安装步骤参照《SLAM十四讲》进行
安装依赖项:(若为Ubuntu14.04则应为libcxsparse3.1.2)

sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.4 libgflags-dev libgoogle-glog-dev libgtest-dev

1

以下安装参照安装教程进行

安装依赖项:

#CMake
sudo apt-get install cmake
#google-glog + gflags
sudo apt-get install libgoogle-glog-dev
#BLAS&LAPACK
sudo apt-get install libatlas-base-dev
#Eigen3
sudo apt-get install libeigen3-dev
#SuiteSparse和CXSparse(可选)
# - 如果要将Ceres构建为* static *库(默认),您可以在主Ubuntu软件包#storage中使用SuiteSparse软件包:
sudo apt-get install libsuitesparse-dev
# - 但是,如果要将Ceres构建为* shared *库,则必须添加以下PPA:
sudo add-apt-repository ppa:bzindovic / suitesparse-bugfix-1319687
sudo apt-get update
sudo apt-get install libsuitesparse-dev

1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

解压Cere安装包,进入安装目录下:

tar zxf ceres-solver-1.14.0.tar.gz
cd ceres-solver-1.14.0
mkdir build
cmake ..
make
make install

1
    2
    3
    4
    5
    6

3.测试
3.1.先决条件

ROS安装额外的ROS pacakge:

sudo apt-get install ros-kinetic-cv-bridge ros-kinetic-tf ros-kinetic-message-filters ros-kinetic-image-transport

1

3.2.在ROS上构建VINS-Mono

在ROS上构建VINS-Mono,克隆存储库和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

1
    2
    3
    4
    5

3.3.公共数据集上的视觉 - 惯性测距和姿势图重用

测试包文件下载路径:EuRoC MAV Dataset
打开三个终端,分别启动vins_estimator,rviz和播放包文件。以MH_01为例:

source ~/catkin_ws/devel/setup.bash #每个终端运行前都要加上这一句
    roslaunch vins_estimator euroc.launch
    roslaunch vins_estimator vins_rviz.launch
    rosbag play ~/catkin_ws/Dates/MH_01_easy.bag

1
    2
    3
    4

测试成功
vinsmono运行界面
4.后续问题

一天想重新运行一下程序发现以下错误:

$ roslaunch vins_estimator euroc.launch程序“roslaunch”尚未安装。 您可以使用以下命令安装:
sudo apt install python-roslaunch

1
    2

按照提示安装报错:

正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:
 python-roslaunch : 依赖: python-roslib 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

尝试使用roscore同样报错:

$ roscore
程序“roscore”尚未安装。 您可以使用以下命令安装:
sudo apt install python-roslaunch

1
    2
    3

于是动手检查ros安装情况

dpkg -l "ros*"

1

期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T)
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称           版本         体系结构:   描述
+++-==============-============-============-=================================
ii  ros-kinetic-ac 1.11.13-0xen amd64        The actionlib stack provides a st
ii  ros-kinetic-ac 1.12.6-0xeni amd64        actionlib_msgs defines the common
ii  ros-kinetic-ac 0.1.10-0xeni amd64        The actionlib_tutorials package
ii  ros-kinetic-an 1.9.11-0xeni amd64        This package provides a set of si
ii  ros-kinetic-bo 1.8.1-0xenia amd64        A bond allows two processes, A an
...#一堆安装项还在,似乎没什么大问题

1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

尝试重新初始化ROS环境变量

$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc

1
    2

加入后roscore运行正常:

ros_comm version 1.12.14

SUMMARY
========

PARAMETERS
 * /rosdistro: kinetic
 * /rosversion: 1.12.14

NODES

auto-starting new master
process[master]: started with pid [10380]
ROS_MASTER_URI=http://wanghuidan-N501JW:11311/

setting /run_id to 2c90f326-d28a-11e8-a529-acfdce69c639
process[rosout-1]: started with pid [10393]
started core service [/rosout]

1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19

重新尝试运行程序:

$ source ~/catkin_ws/devel/setup.bash
$ roslaunch vins_estimator euroc.launch
程序“roslaunch”尚未安装。 您可以使用以下命令安装:
sudo apt install python-roslaunch

1
    2
    3
    4

继续报开始的错,而且ros命令继续失效。。。
迷茫
兜兜转转两三次以后感觉是程序这边的问题,于是重新catkin_make程序

$ catkin_make
$ source ~/catkin_ws/devel/setup.bash

1
    2

重新按3.3节跑测试
测试成功
---------------------  
作者:ww旭ww  
来源:CSDN  
原文:https://blog.csdn.net/guaijiaodie2064/article/details/83041721  
版权声明:本文为博主原创文章,转载请附上博文链接!

VINS-Mono环境配置与测试笔记相关推荐

  1. 【转载】VINS-Mono环境配置与测试笔记

    VINS-Mono环境配置与测试笔记 标签: SLAM VINS-mono 本文转载自: VINS-Mono环境配置与测试笔记 error:cv_bridge---opencv和ros连接起来的桥 1 ...

  2. YOLOv4 资源环境配置和测试样例效果

    YOLOv4 资源环境配置和测试样例效果 基本环境:cuda=10.0,cudnn>=7.0, opencv>=2.4 一.下载yolov4 git clone https://githu ...

  3. USRP环境配置及测试

    USRP环境配置及测试 文章目录 **USRP环境配置及测试** **安装Ubuntu18.04(非虚拟机)** **安装UHD** **安装GNU Radio** **USRP B210测试** * ...

  4. MSP432安装与环境配置(ccs) 学习笔记

    MSP432安装与环境配置(ccs) 学习笔记   关闭电脑病毒防护 继续 选择ccs的安装文件路径 选择要安装的类型 选择使用工作区目录存储其首选项和开发文件路径 使用usb接入432 关闭安装ms ...

  5. win10java配置环境变量msi_Windows10+eclipse+hadoop2.7.1环境配置+wordcount-折腾笔记

    刚用Ambari搭建好Hadoop,就开始写Hello World! 一.背景 1.Hadoop版本 经查看为2.7.1 Shell 1 2 3 4 5 6 7 [root@TJ1-000~]# ha ...

  6. 点云目标检测BRNET || 1. 基于MMDetection的BRNet工程环境配置与测试

    1. BRNET 的环境配置 工程链接:https://github.com/cheng052/BRNet 改工程是基于MMDetection3D的框架下实现的,所以在配置环境时,需要先安装MMDet ...

  7. ionic+angularjs开发hybrid App(环境配置+创建测试项目)

    本文使用的系统是win10 因为后期需要使用nodejs 所以先把node装好 https://nodejs.org/download/ 下载JDK并配置Java运行环境 http://www.ora ...

  8. Windows10 + Visual Studio 2017 + CMake +OpenCV编译、开发环境配置及测试

    由于最近需要使用OpenCV,本人需要在自己的PC上使用OpenCV,因此最近一直在研究如何使用Visual Studio编译OpenCV源代码并搭建开发环境,折腾了很长时间,查阅了很多相关资料,终于 ...

  9. C连接MySQL数据库开发之Windows环境配置及测试

    一.开发环境 Win8.1 64位.VS2013.MySQL5.5.3764位 MySQL安装目录为:C:\Program Files\MySQL\MySQL Server 5.5 二.配置工程环境 ...

最新文章

  1. 2021年大数据HBase(四):HBase的相关操作-客户端命令式!【建议收藏】
  2. 面试题6:用两个栈实现队列
  3. 【奇淫巧技】XSS绕过技巧
  4. libSVM应用举例
  5. 解读容器的 2020:寻找云原生的下一站
  6. Visual Studio 2008 每日提示(三十二)
  7. 35岁以上的程序员们,后来都干什么去了?
  8. 帅呆了!微软即将发布 Visual Studio for Mac 预览版
  9. MongoDB高级——聚合
  10. pytorch---模型加载与保存(3)保存和加载 Checkpoint 用于推理/继续训练
  11. 对无焦点窗口模拟按键_键盘不为人知的一面——单按键篇
  12. 2021年危险化学品经营单位安全管理人员考试内容及危险化学品经营单位安全管理人员考试报名
  13. CANOe系列讲解 - CANoe发送UDS诊断帧
  14. iPad商标之争对开发者的影响
  15. 自定义View时,用到Paint Canvas的一些温故,自定义Loading控件(动画五,“六边形”的旋转跳跃)
  16. CentOS8设置网络安装源
  17. kdc服务器密码修改,kdc配置HA · ZHY ZONE
  18. chemdraw如何改中文_教您如何掌握ChemDraw页面设置技巧
  19. 【FND】EBS中Java并发程序开发
  20. 记录centos 7.9 LNMP为网站申请SSL证书详细操作

热门文章

  1. mysql影子拷贝_Mysql命令行导入sql
  2. 太极root权限_太极app下载-太极(免root)最新版本下载安装v5.7.0
  3. 运算放大器 - 运放   OPA541AP
  4. 衡量镜头解像能力性能的指标-MTF曲线
  5. 项目管理-项目经理的5种权力
  6. 38-【什么叫规矩 什么叫体统】内建函数
  7. 中睿天下积极签署《个人信息保护自律公约》,助力数字政府建设
  8. JavaScript基础知识系列:面向对象的编程
  9. 服务器主板稳定妈妈,高稳定服务器主板英特尔S2400SC2
  10. jQuery中checkbox的checked属性