月球上基于分段的全局定位
大家读完觉得有帮助记得关注和点赞!!!
抽象
全球定位对于在月球表面进行自主作是必要的,因为传统的地球导航基础设施(如 GPS)不可用。随着 NASA 在阿尔忒弥斯计划下朝着持续月球存在的方向发展,自主作将成为机器人探索和基础设施部署等任务的重要组成部分。风化层的挖掘和运输等任务需要精确的姿态估计,但提出的方法,如视觉惯性里程计 (VIO) 在长距离遍历中积累了里程计漂移。精确的姿态估计对于即将到来的任务尤为重要,例如 ISRU Pilot Excavator (IPEx),这些任务依靠自主代理在更长的时间尺度和不同的地形上运行。为了帮助克服长距离遍历中的里程计漂移,我们提出了 LunarLoc,这是一种全局定位方法,它利用实例分割从机载立体图像中零样本提取巨石地标。分段检测用于构建基于图形的地形表示,然后使用图论数据关联将其与上一个会话期间捕获的环境参考地图对齐。此方法可在视觉模糊的设置中实现准确且无漂移的全局定位。LunarLoc 在多会话全局定位实验中实现了亚厘米级的精度,明显优于月球全局定位的最新技术。为了鼓励开发进一步的月球全球定位方法,我们公开发布了我们的数据集,并带有一个回放模块:https://github.com/mit-acl/lunarloc-data。
第一介绍
自主系统将在人类为持续登月做好准备方面发挥至关重要的作用。精确而稳健的全局定位将成为使自主表面作在基于精度的任务中无漂移运行的关键能力。机器人系统准确确定其在共享月球参考系内的位置和方向的能力对于导航、勘探、基础设施部署和科学发现至关重要。与受益于全球导航卫星系统 (GNSS) 的地球系统不同,月球缺乏强大的 GNSS 支持,需要将机载感知和环境理解相结合的全球定位技术,以实现准确的测绘。
图 1:LunarLoc 使用开放集分割通过检测巨石(以绿色显示)来生成地图,然后使用多会话地图执行基于对象的全局定位。
在月球运行环境中,机器人无需依赖 GNSS 即可进行定位的能力尤其具有挑战性,因为恶劣的照明条件会极大地改变环境的外观。传统的定位方法涉及视觉地点识别[1,2]然后是视觉特征提取[3,4]和匹配[5].地点识别方法难以处理视点变化,并且可能无法提供差异足以实现跨地点有意义关联的描述[6].虽然基于特征的方法对于帧到帧跟踪等应用程序有效,但它们可能无法为长期定位提供有意义的视觉提示。当前全局定位方法的这些局限性促使需要一种单独的方法来在月球上进行全局定位。
LunarLoc 使用环境的底层结构作为全局定位的提示。月球环境有大量的岩石,它们的位置在不同的照明条件下不会改变。无论照明条件如何,场景中的分段零样本提取都能提供对岩石的一致检测。LunarLoc 为月球表面的全局定位提供了一个强大的范例,通过在模拟月球环境中运行的 IPEx 漫游车的数字孪生实验证明了这一点。
我们的贡献包括:
- •
使用开放集分割进行基于对象的实时映射,用于月球表面的多会话图论全局定位
- •
在模拟月球环境中对我们的方法进行了实验验证,实现了厘米级精度,明显优于月球全球定位的最新技术
- •
发布我们的数据集和模拟回放环境,以鼓励进一步开发月球全球定位
第二相关作品
图 2:使用 FastSAM 通过开放集分割提取区段位置[7].图像包括从月球模拟器中的 IPEx 数字孪生拍摄的前视图图像(左)和零镜头分割图像(右)。
已经提出了几种方法,用于在没有 GNSS 支持的环境和非结构化环境中进行全局定位。我们回顾了这些方法以及基于地标的定位和行星定位。
II-A 型在没有 GNSS 的环境中进行全球定位
基于图像的定位技术通常用于具有 GNSS 的环境。地点识别方法,例如词袋[8]和 NetVLAD[1]将图像表示作为嵌入存储在数据库中,用于将新图像与以前的观测值相关联。从相同的角度来看,这些方法对于不断变化的环境来说是相当健壮的。 Sarlin 等人。铝[9]基于此概念构建,允许使用基于图像的定位进行在线姿态估计。 将新图像与现有库进行比较以进行初始粗略估计,然后应用关键点匹配以进行更精细的定位。 虽然这些方法在视觉上独特的环境中表现出很高的召回率,但在比较包含相似特征的不同地方时,它们的性能会下降[6].基于学习的方法,例如[10]和[11]对视觉模糊设置中的感知锯齿也很敏感。
II-B 型非结构化和自然环境中的定位
非结构化和自然环境为许多视觉 SLAM 系统带来了挑战,这些系统可能会假设存在以城市为中心的固定装置。为了解决车道标记和建筑物等语义信息缺失的问题,[12]将车轮里程计与视觉跟踪和[13]在本地化过程中包括拓扑图。方法如下[14]和[6]具体使用环境的底层结构作为全局本地化的提示。
II-C 型基于地标和以对象为中心的定位
为了克服感知混叠带来的问题,最近的工作提出了基于地标和以对象为中心的定位,使用地图中对象之间的图论对齐。这些方法是轻量级的,也非常适合多代理场景。Ankenbauer 等人。铝[14]提出以对象为中心的城市和非结构化场景下的全局定位,依托 YOLO[15]从环境中提取对象,该环境将 Extension 限制为没有预先确定对象类的设置。要启用开集作,请使用 SOS-Match[6]采用 SAM 的零镜头分割来提取反映场景中对象的片段。罗马[16]和[17]将语义合并到基于对象的公式中,以进一步消除几何相似场景之间的歧义。
II-D 型行星和月球定位
由于月球和火星上都缺乏 GNSS 覆盖,以前的任务采用了几种不同的策略来执行定位。虽然大多数漫游车使用轮式里程计和惯性测量单位进行相对定位,但这些方法在较长的行程中容易出现里程计漂移。Spirit 和 Opportunity 漫游车通过定期将本地全景图与卫星图像相关联来克服这个问题[18].这种方法依赖于漫游车运行地点的高分辨率图像,并且极易受到照明变化的影响。两者都额外结合了视觉里程计和天体传感,但前者仍然容易漂移,而后者仅提供准确的航向估计[19].对于着陆任务,轨道图像再次用作地形相对导航 (TRN) 中传感器数据的参考[20].这项技术后来被证明可以在毅力号火星车上提供 10 米的位置精度[21].表 LABEL:tab:planetary-localization 中提供了现有和拟议的行星定位方法的比较。在这些方法中,LunarLoc 是唯一提供厘米级精度的方法。
表 I:行星定位方法
方法 | 形态 | 现场 | 精度 [m] |
---|---|---|---|
GPS,[22] | 卫星时间码 | 地球 | 4.9 |
地理配准[18] | 卫星图像 | 火星 | 0.5 |
TRN[20,21] | 本地图像 | 火星 | 10.0 |
MAVeN 系列[23,24] | 航拍图像 | 火星 | 3.0 |
月球Nav[25] | 本地图像 | 月亮 | 5.0 |
影子Nav[26] | 本地图像 | 月亮 | 1.5 |
LunarLoc (提议) | 本地图像 | 月亮 | 0.02 |
第三方法论
III-A 系列Open-Set 基于对象的映射
我们的映射方法包括使用预先训练的基础模型对输入图像执行零镜头实例分割[7].这些片段主要被提取为场景中的巨石,反映了环境的底层几何结构,如图 1 所示。2.
图 3:IPEx 流动站图,其中左前摄像头和左后摄像头用作分割模型的输入,右前和右后摄像头为映射对象的立体深度估计提供图像,从[27]
我们从漫游车的正面和背面同时进行测绘。从左前和左后 IPeX 漫游车相机捕获的图像,如图 2 所示。3 用作分割模型的输入。
我们在 uniform 上应用点提示32×32grid 生成一组实例掩码:
其中每个蒙版m我由其图像帧质心定义𝐜我∈ℝ2和大小s我∈ℝ+:
我们通过投影每个质心来找到掩码大小𝐜我使用立体深度影像从 2D 影像帧转换为 Rover 帧中的 3D 坐标。假设物体近似为球形,我们使用标准差σ我蒙版和深度D我在𝐜我估计物理大小s我的对象:

哪里α是照相机的角度分辨率(例如,每像素弧度)。这会将 2D 像素范围转换为实际空间比例。
我们过滤蒙版以删除 (1) 与图像边界相交或 (2) 超出预定义大小阈值的蒙版s分钟≤s我≤s麦克斯.为了进一步优化该集合,我们计算每个掩码的 2D 空间协方差矩阵,并通过强制执行特征值比率约束来拒绝拉长的形状:
哪里λ麦克斯和λ分钟是掩码像素分布的协方差矩阵的主特征值。具有高各向异性的掩膜通常是阴影或地形边缘,因此被排除在外。过滤后的集表示为:
为每个帧存储的最终投影 3D 质心集为:
哪里N~=|ℳ~|.
FastSAM 的使用[7]允许在 CPU 上实时执行此过程,这对于在月球表面实施 SLAM 系统至关重要。由于分割时间与提示区域成正比,因此还可以通过对水平线位置进行假设并排除图像的某些部分来进一步加快速度。
(一)
(二)
图 4:点云配准的一致性图及其亲和矩阵的说明性示例,来自[28].(a) 具有假定关联的蓝色和红色点云u1,…,u5.(b) 一致性图G,其中 edges 表示关联之间的几何一致性。
III-B 型图论数据关联
数据关联管道的目标是在当前地图之间执行定位M车辆、实时计算的 Agent 和参考图M裁判,由代理在上一个会话期间收集。
我们利用几何数据关联框架[28]来计算M车辆和M裁判.几何一致性是通过关联 segment 之间的成对距离保持来定义的。例如,如果一个,𝐛∈M车辆匹配到一个′,𝐛′∈M裁判,则如果满足以下条件,则该货币对被视为一致:
此过程的一个例子如图 1 所示。4.
我们将候选关联表示为图形中的节点,其中亲和矩阵一个∈{0,1}n×n定义成对一致性:
为了找到最大的相互一致的对应集,我们通过以下优化求解最密集的 clique :
给定生成的几何一致的 segment 对应集S={(一个我,𝐛我)}我=1k哪里一个我∈M车辆和𝐛我∈M裁判,我们使用 Arun 方法估计将当前车辆地图与参考地图对齐的刚性变换[29].这会产生最佳旋转𝐑∈所以(3)和翻译𝐭∈ℝ3最小 化:
从 Vehicle Frame 到参考地图帧的结果变换为:
四评估
IV-A 型模拟器
图 5:Lunar Simulator 包括一个位于中心位置的月球着陆器27米 x27m 地图,从[27]
我们使用 CARLA 模拟器的扩展 Lunar Simulator 评估我们方法的性能[30]为 Lunar Autonomy 挑战赛开发[27].虽然 CARLA 是一个开源平台,但 Lunar Simulator 调整了其功能,通过对月球表面进行高保真、基于物理的模拟来复制月球探索的独特挑战,包括地形、照明条件和反映太空探索环境的其他环境因素。Lunar Simulator 包括一个27米 x27M 地图有 386 块岩石,中间有一个月球着陆器,海拔高度大约不同1m,如图 5 所示。
在月球模拟器中,我们部署了 NASA 的原位资源利用 (ISRU) 引航挖掘机 (IPEx) 漫游车的数字孪生。该代理反映了肯尼迪航天中心的物理 IPEx 机器人,该机器人旨在挖掘和运输月球风化层。该仿真器结合了 IPEx 传感器、执行器和整体动力学的详细模型。传感器位置反映了 IPEx 漫游车的设计,如图 1 所示。3. 相机在漫游车的前后排列成两组立体对,在侧面和挖掘滚筒上作为独立的相机。所有相机都是灰度的,并被模拟为完美的针孔相机。
IV-B 型数据
表 II:导线测量数据
遍历 | 长度 [m] | 持续时间 [分钟] | 对象检测 |
---|---|---|---|
1 | 6.3 | 6 | 1283 |
2 | 6.5 | 6 | 1280 |
3 | 5.6 | 6 | 1261 |
4 | 17.8 | 16 | 3376 |
5 | 9.6 | 9 | 1884 |
6 | 8.9 | 6 | 1060 |
7 | 37.3 | 7 | 6263 |
8 | 15.6 | 12 | 2374 |
9 | 54.5 | 10 | 1695 |
10 | 88.2 | 15 | 2982 |
11 | 36.5 | 7 | 874 |
12 | 35.9 | 7 | 871 |
13 | 197.3 | 26 | 14494 |
14 | 33.3 | 6 | 2911 |
15 | 98.3 | 16 | 6722 |
16 | 8.7 | 2 | 755 |
17 | 47.2 | 8 | 3701 |
为了评估 LunarLoc 的性能,我们从短、中和长遍历中收集了立体图像和姿势,这些遍历跨越模拟器映射的同一常规区域,覆盖的区域约为1000平方米。 所有 17 次遍历都显示在图 1 中。7,表 LABEL:tab:traverse 中提供了每个遍历的详细信息。 采用较长导线的子集以形成较短的导线以进行分析。 每个遍历都以简单的逗号分隔表格的形式提供,该表格由每帧中的 IPEx 位置和巨石检测组成,并作为 .lac 存档文件提供,其中包含更详细的传感器信息和时间同步图像数据,其详细信息在表 III 中概述。
表 III:每个 LAC 存档中记录的指标
传感器组 | 记录的指标(频率) | ||||||
---|---|---|---|---|---|---|---|
漫游者状态 @ 20Hz |
| ||||||
摄像头 @ 高达 10Hz |
|

(一)X-Z 导线

(二)X-Y 导线

(三)Y-Z 导线
图 6:地面实况遍历来自用于评估 LunarLoc 的 Lunar Simulator。场景 1、2 和 3 是指用于多会话全局定位的遍历。
每个 .lac 存档都是一个 gzip 压缩包。 为便于使用,提供了一个 Python 库来访问同步的照相机和传感器数据。 该库提供对底层表格数据的直接访问,以及模拟 Lunar Simulator 提供的传感器接口的 API。 此模拟 API 允许在模拟器之外播放以前的遍历,而无需依赖模拟器代码。 使用数据加载器开发的定位方法可以在资源密集型模拟器之外快速测试,然后无缝部署在 Lunar Simulator 中,从而加快开发速度。 Traverse 数据和 python 数据加载器实用程序在 GitHub 上提供,网址为 https://github.com/mit-acl/lunarloc-data。
图 7:LunarLoc 数据集中所有可用的遍历都以不同的颜色显示,其中检测到的对象显示为黄点。
为了收集每个遍历的数据,IPEx 在一个公共起始位置初始化,从该位置导航到直接区域中随机选择的路径点,直到达到遍历的最小路径长度。 这种探索策略增加了在导线内部和导线之间重复观测岩石和其他地形特征的频率。 来自左前和右前立体相机的图像采样为5Hz,并用作零镜头分割和对象质心估计管道的输入。 如果在场景中检测到合适的对象,则会记录对象质心的估计位置以及漫游车的地面实况位置和其他状态信息。 此信息将保存为每次遍历的单独文件,从而可以在资源密集型仿真器之外对定位方法进行后处理和性能比较。 通过使用提供的回放实用程序,可以同步多个单独的遍历,超越多会话定位,对在同一环境中运行的多代理系统进行建模。
V实验结果
我们使用来自 Lunar Simulator 的五对遍历来评估 LunarLoc 的性能,如图 1 所示。6 中,包括除最长导线及其较短部分之外的四个导线的所有组合,因为导线 3 是导线 12 的子集。我们在表 LABEL:table:rmse 中报告在每个子图中找到的段数以及数据关联期间返回的内联值关联数。我们实时部署 LunarLoc。在 NVIDIA GeForce RTX 3090 上,FastSAM 的平均检测时间以 25 Hz 实时运行[7]这是 LunarLoc 前端检测模块中最慢的组件。
LunarLoc 使用环境的底层结构(即巨石位置)作为通过图论方法进行全局定位的提示。检测到的片段数量从 36 到 185 个不等,内部关联高达 41%,我们表明岩石检测是此设置中数据关联的可靠线索。
表 IV:在 LunarLoc 数据集 (rmse ↓ [m]) 上跟踪性能。
路径 1 | 路径 2 | 1 分 1 | 2 个分段 | 氮化 铝 | RMSE ↓ [厘米] |
---|---|---|---|---|---|
3 | 5 | 36 | 62 | 15 | 0.08 |
3 | 7 | 36 | 102 | 22 | 0.61 |
5 | 7 | 62 | 102 | 28 | 1.79 |
5 | 12 | 62 | 185 | 18 | 0.32 |
7 | 12 | 102 | 185 | 41 | 0.68 |
为了评估 LunarLoc 的定位性能,我们报告了由翻译组件的均方根误差定义的跟踪性能𝐭车辆地图之间M车辆和参考地图M裁判.表 LABEL:table:rmse 中所示的 LunarLoc 返回的转换具有小于2cm 在所有评估的情况下,其性能明显优于月球定位的最新技术,如表 LABEL:tab:planetary-localization 所示。
六结论
我们提出了 LunarLoc,这是一种全局定位方法,使用零镜头分割提取的场景中对象的图论数据关联。未来的工作包括将此本地化框架集成到多代理设置中,并从不同的视点和不同的照明条件执行更广泛的测试。我们还计划对着陆期间拍摄的岩石位置的航拍图进行全球定位。虽然地点识别方法难以处理感知混叠,并且基于特征的方法可能不够明显,无法在各种照明条件下运行[6],LunarLoc 是一种很有前途的方法,它使用地形的底层结构作为在月球上进行全局定位的提示。