当前位置: 首页 > 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。

相关文章:

[论文阅读]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系统&#xff0…...

Python: vars()详细解释

vars() 是一个内置函数,用于返回一个对象的 __dict__ 属性。它接受一个对象作为参数,如果省略参数,它返回当前局部作用域的字典。 具体而言,vars() 的行为取决于参数的类型: 1. 没有参数: 如果没有提供参…...

2024年1月15日Arxiv最热论文推荐:斯坦福LLM精准微调新框架、GPT不愿承认回答错误、速度快15倍的3D全景分割新突破

本文整理了今日发表在ArXiv上的AI论文中最热门的TOP5。 论文解读、论文热度排序、论文标签、中文标题、推荐理由和论文摘要均由赛博马良平台上的智能体 「AI论文解读达人」提供。 如需查看其他热门论文,欢迎移步赛博马良 ^_^ TOP1 APAR: LLMs Can Do Auto-Paral…...

1.5 面试经典150题 - 轮转数组

轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 注意:本题需要原地操作 class Solution(object):def rotate(self, nums, k):""":type nums: List[int]:type k: int:rtype: None Do not…...

Linux的基础命令学习

pwd - 显示当前工作目录的路径 cd - 切换工作目录,ls - 列出当前目录的文件和子目录 rm - 删除文件或目录 mkdir - 创建新目录 rm - 删除目录 nano/vi - 编辑文本文件,按Enter键进入 之后按i键就可以进入写入模式 之后输入文字以后按Esc键与:q就不保…...

个人数据备份方案分享(源自一次悲惨经历)

文章目录 1 起源2 备份架构2.1 生活照片2.2 生活录音2.3 微信文件2.4 工作文件2.5 笔记、影视音乐、书籍 3 使用工具介绍3.1 小米云服务3.2 中国移动云盘3.3 小米移动硬盘(1T)3.4 FreeFileSync 4 总结 1 起源 本文的灵感源于我个人的一次不幸遭遇&#…...

SpringBoot教程(八) | SpringBoot统一结果封装

SpringBoot教程(八) | SpringBoot统一结果封装 经过了前面几篇文章,SpringBoot中MVC相关的配置其实都已经差不多了,接下来就可以完全进入接口开发阶段了。前面我们写过几个接口,虽然都加了RestController注解,相当于统一了我们的…...

Ubuntu 22.04 安装Fail2Ban

Fail2Ban是一种用来防止暴力破解的工具,一般要和iptables配合使用。其原理是读取系统日志,并通过正则表达式匹配,监控IP在一段时间内的登录尝试、身份验证失败日志等并进行计数。超过阈值则进行IP封禁,过一段时间后再解封。 总的…...

Ubuntu 22.04 编译安装 Qt mysql驱动

参考自 Ubuntu20.04.3 QT5.15.2 MySQL驱动编译 Ubuntu 18.04 编译安装 Qt mysql驱动 下边这篇博客不是主要参考的, 但是似乎解决了我的难题(找不到 libmysqlclient.so) ubuntu18.04.2 LTS 系统关于Qt5.12.3 无法加载mysql驱动,需要重新编译MYSQL数据库驱动的问题以…...

Mindspore 公开课 - CodeGeeX

CodeGeeX: 多语言代码生成模型 CodeGeeX 是一个具有130亿参数的多编程语言代码生成预训练模型。CodeGeeX采用华为MindSpore框架实现,在鹏城实验室“鹏城云脑II”中的192个节点(共1536个国产昇腾910 AI处理器)上训练而成。截至2022年6月22日&…...

说一下mysql的锁

1、全局锁: 影响整个数据库的锁。例如,当执行 FLUSH TABLES WITH READ LOCK; 命令时,会阻止其他用户写入数据库,但可以读取。全局锁简介 全局锁是一种跨所有数据库实例的锁。它可以确保在任何时刻,只有一个事务能够访问共享资源。全局锁通常用于以下场景: 并发性较高的场…...

rime中州韵小狼毫 日期/农历 时间 事件 节气 滤镜

教程目录:rime中州韵小狼毫须鼠管安装配置教程 保姆级教程 100增强功能配置教程 网络上但凡提到 rime中州韵小狼毫须鼠管输入法,总少不了智能时间,日期等炫技,可见这个便捷时间/日期输入功能是多么的受欢迎。作者也不落窠臼&…...

【前端】前后端的网络通信基础操作(原生ajax, axios, fetch)

概述 前后端网络请求工具 原生ajaxfetch apiaxios GET和POST请求 get只能发纯文本 post可以发不同类型的数据,要设置请求头,需要告诉服务器一些额外信息 测试服务器地址 有一些公共的测试 API 可供学习和测试用途。这些 API 允许你发送 HTTP 请求…...

Matter - 配置工厂数据(2)

部分关键名词参数简介 PASE(Passcode-Authenticated Session Establishment): 基于密码认证的会话建立,用于在 Commissioning 的时候 Commissioner 与 Matter Deivce 之间建立安全信道,生成对称加密密钥用于 Commissioning 后续通信消息进行加、解密和完…...

版本控制背景知识

版本控制背景知识 本文是关于 Git 系列文章的导读,我们先介绍一下版本控制的背景知识。 什么是版本控制 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。它将什么时候、什么人更改了文件的什么内容等信息如实记录下来…...

tensorflow报错: DNN library is no found

错误描述 如上图在执行程序的时候,会出现 DNN library is no found 的报错 解决办法 这个错误基本上说明你安装的 cudnn有问题,或者没有安装这个工具。 首先检测一下你是否安装了 cudnn 进入CUDA_HOME下,也就是进入你的cuda的驱动的安装目…...

DA14531-高级应用篇-用户如何开启OTA服务

文章目录 1. OTA相关文件2.OTA宏定义列表3.OTA主要函数接口4.OTA具体实施步骤5.总结1. OTA相关文件 1)app_suotar_task.c和app_suotar_task.h 2)app_suotar.c和app_suotar.h 2.OTA宏定义列表 宏定义注解CFG_PRF_SUOTAR用户开启SOTA功能BLE_SUOTA_RECEIVERSOTA功能服务CFG_S…...

国内镜像源配置方法(包括临时和永久方法)

国内镜像源: 阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/豆瓣 http://pypi.douban.com/simplePython官方 https://pypi.python.org/simple/v2ex http://pypi.v2ex.com/simple/中国科学院 http://pypi.mi…...

数据结构二叉树--堆(数据结构实现和堆排序的一种实现)

堆是一个数据结构 逻辑结构:完全二叉树(要求父节点大于孩子节点或者小于孩子节点) 存储结构:顺序存储 typedef int DataType; typedef struct Heap{DataType*data;int size;int capacity; }Heap;void InitHeap(Heap*pH) {asser…...

【Linux】 nohup命令使用

nohup命令 nohup是Linux和Unix系统中的一个命令,其作用是在终端退出时,让进程在后台继续运行。它的全称为“no hang up”,意为“不挂起”。nohup命令可以让你在退出终端或关闭SSH连接后继续运行命令。 nohup 命令,在默认情况下&…...

多维时序 | Matlab实现GRO-CNN-LSTM-Attention淘金算法优化卷积神经网络-长短期记忆网络结合注意力机制多变量时间序列预测

多维时序 | Matlab实现GRO-CNN-LSTM-Attention淘金算法优化卷积神经网络-长短期记忆网络结合注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现GRO-CNN-LSTM-Attention淘金算法优化卷积神经网络-长短期记忆网络结合注意力机制多变量时间序列预测效果一览基本介绍程序设…...

SQL-DQL-基础查询

🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:重拾MySQL 🍹文章作者技术和水平很有限,如果文中出现错误&am…...

Kubernetes (十三) 存储——持久卷-动静态分配

一. 简介 二. NFS持久化存储步骤(静态分配) 1. 集群外…...

order by之后的injection(sqllabs第四十六关)

order by相关注入知识 这一关的sql语句是利用的order by 根据输入的id不同数据排序不一样可以确定就是order by order by后面无法使用ubion注入(靠找不到) 可以利用后面的参数进行攻击 1)数字 没作用考虑布尔类型 rand和select ***都可以 …...

C++ 树与图的广度优先遍历 || 模版题 :图中点的层次

给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环。 所有边的长度都是 1 ,点的编号为 1∼n 。 请你求出 1 号点到 n 号点的最短距离,如果从 1 号点无法走到 n 号点,输出 −1 。 输入格式 第一行包含两个整数 n 和 m 。 …...

k8s---pod控制器

pod控制器发的概念: 工作负载,workload用于管理pod的中间层,确保pod资源符合预期的状态。 预期状态: 1、副本数 2、容器重启策略 3、镜像拉取策略 pod出故障的出去等等 pod控制器的类型: 1、replicaset&#xf…...

2024.1.11力扣每日一题——构造有效字符串的最少插入数

2024.1.11 题目来源我的题解方法一 暴力模拟方法二 动态规划方法三 直接拼接方法四 计算组数 题目来源 力扣每日一题;题序:2645 我的题解 方法一 暴力模拟 直接模拟,根据题意可知 若是abc则不用插入,若是ab,ac,bc这需要 插入一…...

软件测试|如何使用Selenium处理隐藏元素

简介 我们在使用selenium进行web自动化测试时,有时候会遇到元素被隐藏,从而无法对元素进行操作,导致我们的用例报错的情况。当我们遇到元素被隐藏的情况时,需要先对隐藏的元素进行处理,才能继续进行我们的操作&#x…...

第三次面试总结 - 吉云集团 - 全栈开发

🧸欢迎来到dream_ready的博客,📜相信您对专栏 “本人真实面经” 很感兴趣o (ˉ▽ˉ;) 专栏 —— 本人真实面经,更多真实面试经验,中大厂面试总结等您挖掘 目录 总结(非详细) 面试内…...

buuctf-Misc 题目解答分解118-120

118.[INSHack2017]sanity 打开压缩包就是一个md 文件 typora 打开 发现flag INSA{Youre_sane_Good_for_you} 119.粽子的来历 解压压缩包 ,得到文件夹如下 用010 editor 打开 我是A.doc 这个有些可以 都改成FF 保存 然后再次打开 docx 文件就发现了屈原的诗 其他b…...

美丽说网站模板/搜外网

起因是帮一个申请留学的大学毕业学写研究计划,可能对自己以后有启发,所以记下来。 只是研究计划的草稿,所以草草写完,没做深入调查。 我写的草稿记录如下: 分布式系统相关的联想 最初听说分布式概念并产生兴趣&#xf…...

廉政网站建设/互联网营销师含金量

http://www.lenky.info/archives/category/nix%E6%8A%80%E6%9C%AF/%E8%B7%9F%E8%B8%AA%E8%B0%83%E8%AF%95转载于:https://www.cnblogs.com/zengkefu/p/6372280.html...

做钢结构网站有哪些/免费seo在线优化

我们都知道调用WCF直接在Service References中引用可以远程调用的WCF Url就行了。 但是我们想过没,在Development环境中可以这样做,但是QA、UAT、Production上我们怎么做呢? WCF的通信方式主要有Http和Tcp,这次我们用Http。 好了&…...

暂时没有域名怎么做网站/在线磁力搜索引擎

1. 系统监视和进程控制工具—top和free1) top命令的功能:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。2) 使用top命令列出系统状态时,系统默认每5秒刷新一下屏幕上的显示结果。1. 第一行是…...

建设网站建设安全培训平台/网站建站在线制作

技术高手都有这两个习惯:保持对最新技术趋势的敏感性,并定期更新自己的技能储备。 有没有一种高效的方式来做到呢?我觉得最好的方法,就是直接向 BAT 等一线大厂取经。毕竟,他们在前沿技术领域的持续研究和大规模投入&a…...

云南网站制作一条龙全包/深圳网络营销推广招聘网

题目大意:给出一些圆,求一个可以将所有圆装下的箱子,输出箱子的长,圆摆放的要求是必须至少与另一个圆相接,并且所有圆必须接触地面。 解题思路:一开始吧这道题想的太简单了,直接用DFS将所有排列…...