GVINS

GVINS是香港科技大学沈劭劼团队开源的基于因子图优化的GNSS、视觉、惯导紧耦合多传感器组合导航软件 。“GVINS是一个基于非线性优化的系统,它将 GNSS 原始测量与视觉和惯性信息紧密融合,以实现实时和无漂移的状态估计。通过结合 GNSS 伪距和多普勒频移测量,GVINS 能够在复杂环境中提供平滑一致的 6-DoF 全局定位”



一、源码/数据集下载

源码

https://github.com/HKUST-Aerial-Robotics/GVINS

数据集

https://github.com/HKUST-Aerial-Robotics/GVINS-Dataset


二、环境

根据GVINS readme文件,需要环境包括 ROS 、 Eigen、Ceres 、 gnss_comm

其他科自行百度其他教程进行安装,gnss_comm下载解压之后放入gvins的源码目录即可

gnss_comm官网网址:

https://github.com/HKUST-Aerial-Robotics/gnss_comm


2.编译gvins

任意位置创建 gvins-ws 文件夹,
gvins-ws目录下创建 src 文件夹,src文件夹中存放全部的gvins源码文件

gvins-ws 目录下打开终端输入 catkin_make 进行编译

编译完成之后,gvins-ws目录下应该存在三个文件夹分别是 builddevelsrc


三、运行

构建好ROS工作看空间之后,即可进行代码运行,主要包括三个部分,分别是 GVINS运行窗口RVIZ显示窗口以及rosbag数据播包窗口

运行之前需要在配置文件visensor_left_f9p_config.yaml中修改结果输出目录
在这里插入图片描述


1、运行gvins主体

首先配置环境变量,在运行launch文件
提示:需要在ros工作空间目录下打开终端

source ~/catkin_ws/devel/setup.bash
roslaunch gvins visensor_f9p.launch

在这里插入图片描述

2、启动rviz显示窗口

source ~/catkin_ws/devel/setup.bash #(可省略 )
rviz -d src/config/gvins_rviz_config.rviz

注:source 环境变量只可以值操作一次,后面都可以不进行操作

在这里插入图片描述

3、rosbag播放数据

source ~/catkin_ws/devel/setup.bash #(可省略 )
rosbag play YOUDATAPATH/sports_field.bag

注:YOUDATAPATH需要替换成自己的数据路径
在这里插入图片描述


四、Dataset Tools使用

1、编译构建

数据集工具使用需要用到前面的 gnss_comm 源码,使用方法类似
工具下载:

https://github.com/HKUST-Aerial-Robotics/GVINS-Dataset

首先,创建一个工作空间文件夹 DataTools-ws ,在该目录下创建 src 文件夹,src目录下存放 下载的 全部源码和文件和 gnss_comm 文件夹
返回上一次目录 DataTools-ws
编译之前需要在 src/toolkit/ 中的 bag2rinex.cpp 和 bag2rtk_solution.cpp 中指定输入的bag问价你路径和输出的文件路径及文件名。(注:输出需要指定文件名
bag2rinex.cpp
bag2rtk_solution.cpp
保存之后,返回至 DataTools-ws 目录

打开终端输入

catkin_make

即可开始编译

2、使用

DataTools-ws 目录下打开终端

bag文件转rinex文件在终端输入

source devel/setup.bash
rosrun gvins_dataset_toolkit bag2rinex

bag文件转rtk结果文件在终端输入

source devel/setup.bash
rosrun gvins_dataset_toolkit bag2rtk_solution

正确运行结果
结果
在这里插入图片描述


五、EVO评估

待续

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐