vins kidnap安装使用

VINS如果视觉结果和IMU检测的结果不匹配,容易出现跑飞的现象。例如一个人在电梯里面,或者在相机前面遮了一块幕布忘了掀开。结果不匹配,导致优化过程中CERES极有可能求解出一些跳动值不稳定值,导致整个系统不稳定运行,甚至挂掉。
vins kidnap 用来对这种定位绑架的问题提出了开源的方案。

giththub地址:https://github.com/HKUST-Aerial-Robotics/VINS-kidnap

vins kidnap:
This is the cerebro module for VINS-Fusion. The aim of this project is better loop detection and recover from kidnap. The cerebro node connects to the vins_estimator nodes of VINS-Fusion (with ros interface).
从上面介绍来看,vins kidnap主要增加了cerebro 节点来实现更好的闭环检测以及定位绑架的检测和能够从定位绑架中恢复。闭环检测也从检测到一帧变成两帧才进行两个世界坐标系的转移。

两种安装方法:

1.直接源码安装:

安装依赖项

sudo apt-get install libjpeg-dev libtiff5-dev
sudo apt-get install libpng-dev  
sudo apt-get install libopenimageio-dev
sudo apt-get install libopenexr-dev

sudo apt-get install librapidjson-dev
sudo apt-get rm librocksdb-dev

安装这些包:

https://github.com/facebook/rocksdb
https://github.com/Tencent/rapidjson
https://github.com/sweeneychris/TheiaSfM

安装tensorflow和keras

sudo pip install keras
pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.11.0-cp27-none-linux_x86_64.whl

一个个装下来

git clone https://github.com/mpkuse/VINS-Fusion
git clone https://github.com/mpkuse/cerebro
git clone https://github.com/mpkuse/solve_keyframe_pose_graph

2.推荐用docker:

安装docker,NVIDIA驱动,CUDA 9.0 ,docker NVIDIA:
https://blog.csdn.net/huanghaihui_123/article/details/87985403
安装完后:

$(host) export ROS_HOSTNAME=`hostname`
$(host) roscore
# assume that host has the ip address 172.17.0.1 in docker-network aka docker0
$(host) docker run --runtime=nvidia -it \
        --add-host `hostname`:172.17.0.1 \
        --env ROS_MASTER_URI=http://`hostname`:11311/ \
        --env CUDA_VISIBLE_DEVICES=0 \
        --hostname happy_go \
        --name happy_go  \
        mpkuse/kusevisionkit:vins-kidnap bash
$(host) rviz # inside rviz open config cerebro/config/good-viz.rviz. If you open rviz in a new tab you might need to do set ROS_HOSTNAME again.
$(docker) roslaunch cerebro mynteye_vinsfusion.launch
$(host) rosbag play 1.bag

数据测试集下载:
https://hkustconnect-my.sharepoint.com/personal/mpkuse_connect_ust_hk/Documents/Forms/All.aspx?cid=fbe30997-b0b9-4f45-86b4-550269b95624&RootFolder=%2Fpersonal%2Fmpkuse_connect_ust_hk%2FDocuments%2Fmynt_bags&FolderCTID=0x0120000D4702081B54E948BA09913DE7528FC0

git clone --branch pcl-1.8.0 https://github.com/PointCloudLibrary/pcl

在自己机器上测试,效果比较一般:
同一个数据测试集合,会有不同的结果:
在这里插入图片描述
除了第一次初始化稳定,后面每一次均出现定位求解不稳定。虽然后来都有检测出定位绑架。主要原因分析初始化的时候条件不够好。
用同样的数据,在不同时刻播放数据包的时候:
在这里插入图片描述
这段就能比较好的恢复三段独立的信息。

不同颜色代表了不同的坐标参考系,每一次检测到定位绑架后,会进行重新的初始化过程。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值