当前位置: 首页 > news >正文

[论文阅读]4DRadarSLAM: A 4D Imaging Radar SLAM System for Large-scale Environments

 

目录

 

1.摘要和引言:

2. 系统框架:

2.1 前端:

2.2 回环检测:

2.3 后端:

3.实验和分析:

4.结论


1.摘要和引言:

这篇论文介绍了一种名为“4DRadarSLAM”的新型4D成像雷达SLAM系统,旨在提高大规模环境下的定位与地图构建性能。与传统的基于激光雷达的SLAM系统相比,该系统在恶劣天气条件下表现更佳。它包括前端、回环检测和后端三个主要部分:前端通过扫描匹配计算里程计数据,回环检测模块识别回环,后端则构建并优化姿态图。该系统的显著特点是考虑了每个点的概率分布,从而改善性能。论文中还展示了在不同平台和数据集上的实验结果,证明了该系统的准确性、鲁棒性和实时性。此外,为了进一步促进相关研究,研究者将系统代码开源。https://github.com/zhuge2333/4DRadarSLAM

引言部分介绍了同步定位与地图构建(SLAM)的重要性,并指出在恶劣天气条件下,基于激光雷达的SLAM系统可能会受到限制。因此,近年来越来越多的关注转向了稳健的毫米波雷达测距(mmWave Radar)。然而,大多数研究集中在2D或3D雷达上,而关于4D雷达(x, y, z, 多普勒)的研究相对较少。4D雷达是一种相对较新的技术,其收集的点云比3D激光雷达更嘈杂和稀疏,这使得从4D雷达的点云中提取有效的几何特征更具挑战性。因此,直接将3D激光雷达SLAM方法应用于4D雷达SLAM并不可行。论文提出了一个针对4D成像雷达的完整SLAM系统,包括前端、回环检测和后端。

2. 系统框架:

4DRadarSLAM系统分三个主要模块:前端、回环检测和后端。在前端模块中,使用4D雷达点云作为输入,估计里程计数据并生成关键帧。回环检测模块评估每个新的关键帧,以确定是否能形成回环。在后端,构建并使用g2o优化姿态图,从而生成优化后的姿态作为输出。整个系统旨在通过这些模块协同工作,提高SLAM系统在大规模环境中的性能和准确性。 

2.1 前端:

预处理阶段:需要过滤掉动态物体。可以利用雷达的多普勒速度信息来识别这些物体。在这项研究中,作者使用一种在文献[33]中提出的线性最小二乘法来估计雷达的自我速度。通过估计的多普勒速度和自我速度,他们能够确定物体的真实速度。这一过程有助于提高SLAM系统对环境的理解和处理能力,尤其是在动态和复杂的场景中。 

 Scan-to-Scan matching: 输入是上一关键帧(Fk)和新的一帧(Pt)。目标是找到从t到k的转换矩阵(Ttk)。由于4D雷达点云的噪声较大,直接提取几何特征(如边缘和平面)并不容易。我们发现,与 ICP 和 NDT 相比,GICP 算法可以输出更可接受的结果。初始转换矩阵设置为上一次的转换矩阵(Ttk-1)。提出了一种新的算法,称为自适应概率分布-GICP(APDGICP),它在 GICP 算法中考虑了每个点的空间概率分布。根据雷达手册,点的测距不确定性为 σr = 0.00215r,其中 r 和 σr 分别是测量的距离和不确定性。方位角和仰角精度分别为 0.5° 和 1.0°,这导致了球坐标系中方位角和仰角方向的不确定性,近似为 σa ≈ sin(0.5°)r 和 σe ≈ sin(1.0°)r。由此产生的概率分布如下图所示,类似于一个椭球体(橙色),一个轴指向原点,三个半轴长度分别为 σr(距离)、σa(方位角)和 σe(仰角)。

关键帧选择:第一帧被指定为固定关键帧,而后续关键帧的确定取决于是否满足以下两个条件之一:1. 当前帧和上一关键帧之间的平移量超过阈值 δt; 2. 当前帧和上一关键帧之间的旋转量超过阈值 δr。阈值参数根据经验设置如下:δt = 0.5m 或 2m,δr = 15°。第 k 个和第 k+1 个关键帧之间的扫描到扫描匹配结果作为 SE(3) 二元边添加到位姿图中。

2.2 回环检测:

此步骤的目的是确定每个关键帧是否构成了一个回环。首先,通过预过滤步骤基于四个规则识别潜在的环路,包括距离限制、空间接近性、高度差限制和姿态角限制。接着,利用强度扫描上下文模块来进一步筛选潜在的闭环候选。最后,为确保几何一致性,采用里程计检查步骤,以防止后端姿态图优化中的几何不一致问题。通过这些步骤,系统能有效识别并确认回环,从而增强SLAM系统的精度和可靠性。 

2.3 后端:

基于前端里程计、闭环检测和GPS信号(如果可用)构建姿态图。关键帧在姿态图中表示为节点,节点之间的边代表里程计约束。当确定闭环时,将其作为约束(二元边)添加。如果有GPS信号,也可以将其作为单元边加入姿态图中,其协方差直接从GPS数据获得。最后,使用g2o库优化姿态图,得出优化的姿态。

3.实验和分析:

这里包括了对系统的前端和后端性能的定量分析,以及使用五个不同数据集的实验结果。实验显示,在小规模数据集上,APDGICP(自适应概率分布GICP)在前端性能上优于GICP,而在大规模数据集上GICP表现更好。准确的环路闭合显著提高了精度,尤其是在后端优化时。此外,使用GPS数据的后端优化进一步提高了系统的性能。文章还包括了对这些方法在不同数据集上轨迹的可视化比较,以及各个算法步骤的效率分析。

4.结论

在这篇论文中,为4D成像雷达引入了一个完整的SLAM系统,该系统由三个模块组成:前端、回环检测和后端。在前端,估计了雷达自身速度以去除动态物体,并提出了APDGICP算法,该算法考虑了原始GICP中每个点的概率分布,用于扫描到扫描匹配。在回环检测中,引入了几种回环过滤方法,并使用强度扫描上下文来查找回环候选。实现了一个里程计检查模块,以确定最佳回环。在后端,基于前端里程计、检测到的回环和GPS数据构建位姿图。使用自己收集的数据集进行了大量实验,这些数据集涵盖了各种环境和速度,包括结构化和非结构化、小规模和大规模环境、低速和中速。我们提出的系统在笔记本电脑上实现了实时性能,相对误差(RE)为2.05%、0.0052deg/m,绝对轨迹误差(ATE)为2.35m。未来的工作包括:融合4D雷达和IMU以实现更鲁棒的SLAM。

相关文章:

  • Flutter中的Tree
  • 力扣188. 买卖股票的最佳时机 IV
  • cissp 第10章 : 物理安全要求
  • PHP中excel带图片数据导入
  • Centos 磁盘挂载和磁盘扩容(新加硬盘方式)
  • <HarmonyOS第一课>1~10课后习题汇总
  • 使用HttpSession和过滤器实现一个简单的用户登录认证的功能
  • ControlNet构图控制
  • PCL 格网法计算点云的占地面积
  • React16源码: React中创建更新的方式及ReactDOM.render的源码实现
  • 收到的字符串写入xml并且将这个xml写入.zip文件中
  • 【设计模式】工厂模式
  • 【动态规划】C++算法:446等差数列划分 II - 子序列
  • 带前后端H5即时通讯聊天系统源码
  • ES-极客学习第二部分ES 入门
  • C++类中的特殊成员函数
  • ES6 ...操作符
  • java8-模拟hadoop
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Linux CTF 逆向入门
  • overflow: hidden IE7无效
  • React Native移动开发实战-3-实现页面间的数据传递
  • Spring Boot快速入门(一):Hello Spring Boot
  • ------- 计算机网络基础
  • 那些被忽略的 JavaScript 数组方法细节
  • 前端
  • 前端js -- this指向总结。
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 想使用 MongoDB ,你应该了解这8个方面!
  • ​2020 年大前端技术趋势解读
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #1015 : KMP算法
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)树状数组
  • ***测试-HTTP方法
  • . NET自动找可写目录
  • .aanva
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .net core 6 集成和使用 mongodb
  • .Net Core与存储过程(一)
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .Net Memory Profiler的使用举例
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET开发者必备的11款免费工具
  • .NET中两种OCR方式对比
  • .Net转前端开发-启航篇,如何定制博客园主题