一.全局定位--开源定位框架LIO-SAM_based_relocalization实录数据集测试

二十五.SLAM中Mapping和Localization区别和思考_goldqiu的博客-CSDN博客

由这篇博客开始。

基于LIO-SAM的全局定位

lio-sam相关博客:

十一.激光惯导LIO-SLAM框架学习之LIO-SAM框架---框架介绍和运行演示_goldqiu的博客-CSDN博客

十四.激光和惯导LIO-SLAM框架学习之惯导内参标定_goldqiu的博客-CSDN博客

十五.激光和惯导LIO-SLAM框架学习之惯导与雷达外参标定(1)_goldqiu的博客-CSDN博客

十六.激光和惯导LIO-SLAM框架学习之配置自用传感器实时室外跑LIO-SAM框架_goldqiu的博客-CSDN博客

十七.激光和惯导LIO-SLAM框架学习之IMU和IMU预积分_goldqiu的博客-CSDN博客

十九.激光和惯导LIO-SLAM框架学习之项目工程代码介绍---代码框架和一些文件解释_goldqiu的博客-CSDN博客

二十三.激光和惯导LIO-SLAM框架学习之LIO-SAM项目工程代码介绍---基础知识_goldqiu的博客-CSDN博客

测试的框架是LIO-SAM_based_relocalization,哈工大的一个兄弟写的。

大概功能是:导入全局地图(pcd格式),然后播放bag,在全局地图中实现定位。

给出github:

https://github.com/Gaochao-hit/LIO-SAM_based_relocalization.git

配置好了LIO-SAM的环境就可以直接跑LIO-SAM_based_relocalization,作者是在LIO-SAM原框架中加了一个全局定位的源文件。

同样在config文件夹中需要修改yaml文件:更改全局pcd地图的路径

查看源码发现地图文件的名称并没有在yaml文件中,直接在源码中写死了,必须更改为cloudGlobal.pcd,当然你也可以自己修改。

全局地图需要你自己提前先录制,录制方法之前博客有写。

然后开始测试:

修改好地图位置、播放bag后,运行run_relocalize.launch

测试一:

跑官方数据集(同个数据集下录制地图和播放bag):

一.全局定位--开源定位框架LIO-SAM_based_relocalization实录数据集测试_第1张图片

测试二:

跑自录数据集(同个数据集下录制地图和播放bag):

一.全局定位--开源定位框架LIO-SAM_based_relocalization实录数据集测试_第2张图片

拐弯处正常定位。

测试三:

跑自录数据集(不同数据集下录制地图和播放bag):

一.全局定位--开源定位框架LIO-SAM_based_relocalization实录数据集测试_第3张图片

定位失败。

原因主要是没有加全局约束,即GNSS。

测试四:

跑自录数据集(同个数据集下录制地图和播放bag,但进行延迟播包):

同样无法定位。

猜测原因:

  1. 同样是没有全局约束
  2. 框架没有写初始化位姿
  3. 延迟播放包导致位姿初始化时间过短,没有来得及初始化

后续

1.加入全局约束进行测试。

2.自己写一个有初始化位姿的全局定位程序

你可能感兴趣的:(多传感器融合SLAM,导航研究和学习,slam,自动驾驶,人工智能,导航)