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目录下应该存在三个文件夹分别是 build
、 devel
和 src
。
三、运行
构建好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问价你路径和输出的文件路径及文件名。(注:输出需要指定文件名
)
保存之后,返回至 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评估
待续