VINS-Fusion部署及启动流程

一、安装依赖

1.部署VINS-Fusion的电脑上应该具备Ubuntu16.04以上的系统并安装了ROS

2.如在实机上执行需要安装你所使用的相机及飞控的相关驱动(由于我们使用的是模拟器,因此这部分不用管)

3.安装OpenCV(可以先不安装,用ROS里面自带的也能运行)

4.安装Glog

1- 解压3rd_party文件夹
2- 进入glog文件夹打开终端
3- ./autogen.sh && ./configure && make && sudo make install
4- sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3
    libgflags-dev libgoogle-glog-dev libgtest-dev

5.安装Ceres及dynamic

1- 回到3rd_party文件夹后找到名为“ceresXXXXXX”的文件夹
2- mkdir build
3- cd build
4- cmake ..
5- sudo make -j4
6- sudo make install
7- sudo apt-get install ros-noetic-ddynamic-reconfigure

二、编译功能包

1.之前给大家发的官方框架(23年)里面有仿真飞机的模拟器的相关文件,由于我们需要在模拟器中运行,所以要在官方框架下 放置我所提供的功能包(VINS-Fusion)

2.编译(由于是多线程在编译,因此会有互斥现象出现,多编译几次即可)

1- catkin_make
2- source devel/setup.bash

三、启动

1、需要启动你的飞控获得IMU数据、启动相机获得图像信息,由于我们是在模拟器上执行,因此只需要启动模拟器即可,启动模 拟器的方法查看模拟器处的Readme

2、启动

roslaunch vins fast_drone_250.launch

3、打开Rviz查看可视化效果

roslaunch vins rviz.launch

四、标定及回环检测

1、来到这一步相信你已经打开了VINS-Fusion,假如你有通过键盘控制去移动飞机,相信你会发现它出来的定位飘得乱七八糟, 这是因为你尚未将相机的内参以及相对IMU的外参投喂进去

2、如何进行内参的标定呢?通过相关话题(/airsim_node/drone_1/bottom_center/Scene/camera_info)我们可以获得相机的内参

- 进入VINS-Fusion的功能包
- cd /config
- 把其中的K矩阵中的fx,fy,cx,cy填入 left.yaml 和 right.yaml

另外可以根据给出的相机信息(前视双目相机:位于机体中心向前 260mm 的位置,双目基线 95mm。相机输出 RGB 图像大小均 为 640*480,FOV 为 90°,无畸变。)来确定内参。(作者尚未考证是否正确)

3、进行外参标定

- 在home目录创建 vins_output 文件夹(需要修改fast_drone_250.yaml内的vins_out_path为你实际创建的文件夹的绝对路径)
- 修改 fast-drone-250.yaml 的 body_T_cam0 和 body_T_cam1 的 data 矩阵的第四列为你的无人机上的相机相对于飞控的实际外参,单位为米,顺序为x/y/z,第四项是1,不用改
- 启动VINS-Fusion并控制飞机移动,这个过程中它会对外参进行优化,在移动一段距离后关掉VINS-Fusion
- 把 vins_output/extrinsic_parameter.txt 里的内容替换到 fast-drone-250.yaml的body_T_cam0 和 body_T_cam1
- 复上述操作直到走几圈后VINS的里程计数据偏差收敛到满意值

3、里程计是存在误差的,其实是需要GPS或回环检测来进行误差修正的。简单地说,回环检测就是无人机看到与之前相同的画面 的时候对自身的定位进行校正

五、实机启动

实机上去查看VINS-Fusion的运行效果的话需要额外的安装飞控的驱动以及深度相机的驱动,这里的安装步骤以及教程后续会另写一篇为大家介绍。

首先给机载电脑上电,电池电压不能小于22v,电池使用的是6S电池(电池上有标写),电池电压小于22v就需要充电了。电池的电量可以通过使用验电器来查看,验电器的使用方法如图所示。

上电之后按下“DEL”键进入BIOS界面,按ESC退出后即可进入系统。

机载电脑上有一个名为“WK23”的文件夹,这里面包含了已经安装好的相机驱动文件以及VINS-Fusion的源码,我把所有的启动代码都存放在这个名为“eightflight.sh”的脚本文件下了,大家运行该文件即可在实机看到VINS-Fusion运行效果

source devel/setup.bash 
sh shfiles/eightflight.sh    //包含了需要启动VINS-Fusion的所有必须项,启动后需要快速输入机载电脑密码

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值