RAL-2025 | “藏宝图”驱动的具身导航!HAM-Nav:基于手绘地图引导的机器人导航
- 作者:Aaron Hao Tan, Angus Fung, Haitong Wang, Goldie Nejat
- 单位:多伦多大学机械与工业工程系
- 论文标题:Mobile Robot Navigation Using Hand-Drawn Maps: A Vision Language Model Approach
- 出版信息:IEEE ROBOTICS ANDAUTOMATIONLETTERS,VOL.10,NO.7,JULY2025
- 论文链接:https://ieeexplore.ieee.org/abstract/document/11027320/
主要贡献
- 提出了基于手绘地图的移动机器人导航架构 HAM-Nav,该架构利用预训练的视觉语言模型(VLMs)进行导航,能够适应不同的环境、手绘风格和机器人形态,即使在地图存在不准确的情况下也能有效工作。
- 引入了自适应视觉提示方法 Selective Visual Association Prompting(SVAP),通过将机器人视角与动态更新的拓扑地图(叠加在手绘地图上)放在一起,使预训练的 VLMs 能够直接将环境特征与手绘地图中的对应元素关联起来,从而以零样本的方式估计机器人的位置并选择合适的导航动作。
- 开发了一个预测导航计划解析器 Predictive Navigation Plan Parser(PNPP),利用预训练 VLMs 的常识知识来推断缺失的地标信息(如类别和位置),以弥补手绘地图中可能存在的错误。
研究背景
- 移动机器人导航任务通常需要在动态变化的环境中完成,如搜索救援场景中的结构不稳定、建筑施工中的改造或新建以及零售商店的重新配置等。现有的导航方法主要分为基于地图的方法和无地图的方法。基于地图的方法需要在导航前通过人工遥控或自主机器人探索生成精确地图,但地图获取成本高、耗时且需要专业知识;无地图方法则需要在导航过程中同时进行探索和导航,这会影响导航效率。
- 手绘地图作为一种替代方法,可以由人们根据对环境布局的记忆自由绘制,用于机器人导航,无需事先进行资源密集型的地图获取或在导航过程中同时探索。然而,现有的基于手绘地图的机器人导航方法存在局限性,如仅适用于简单环境、需要精确的手绘地图等,无法适应复杂的真实世界环境和多楼层设置,且对人类记忆差异导致的手绘地图不准确问题处理不足。
问题定义
- 手绘地图 Mh\mathcal{M}_hMh 由人基于记忆绘制,包含三个组成部分:空间配置 Sh\mathcal{S}_hSh(表示机器人环境的外边界和结构布局)、地标 Lh\mathcal{L}_hLh(包括地标类别和在地图中的像素位置)以及路径 Ph\mathcal{P}_hPh(包含初始机器人位置和期望机器人位置)。
- 由于人的记忆不完美,手绘地图中可能存在地标位置、距离和比例的误差,也可能遗漏或错误地标记地标。
- 移动机器人配备有 RGB-D 相机,用于捕获周围环境的 RGB 和深度图像。
- 导航问题的目标是:给定手绘地图 Mh\mathcal{M}_hMh 和路径 Ph\mathcal{P}_hPh,机器人需要在未知环境中自主导航,从给定的起始位置到达期望位置,基于实时观测数据生成一系列动作。
HAM-Nav 导航架构
提示工程
提示工程阶段的目标是从手绘地图 Mh\mathcal{M}_hMh 和机器人当前视角的 RGB 图像 IRGBtI_{\text{RGB}}^tIRGBt 中提取导航和环境特征,生成视觉和文本提示,为后续的位置估计和动作选择提供输入。
拓扑地图生成器
- 功能:根据手绘地图 Mh\mathcal{M}_hMh 生成拓扑地图 Mtp\mathcal{M}_{tp}Mtp,用于机器人定位和导航规划。
- 输出:拓扑地图 Mtp=(V,E)\mathcal{M}_{tp} = (V, E)Mtp=(V,E),其中 VVV 是节点集合(包括机器人位置节点 VrV_rVr 和地标节点 VlV_lVl),EEE 是连接这些节点的边。
- 作用:拓扑地图提供了一个简化的环境表示,便于后续模块进行地标检测、视觉提示生成和路径规划。预测的地标 LpredobjL_{\text{pred}}^{\text{obj}}Lpredobj 会反馈到 TMG 中,更新拓扑地图。
空间解释器
- 功能:在每个时间步 ttt,检测机器人视角中的地标,并生成包含地标边界框和类别标签的图像 IbRGB,tI_b^{\text{RGB}, t}IbRGB,t,以及环境的文本描述 SDS_DSD。
- 输出:
- 图像 IbRGB,tI_b^{\text{RGB}, t}IbRGB,t:包含检测到的地标边界框和类别标签。
- 文本描述 SDS_DSD:描述机器人视角中的地标位置和类别。
- 实现:
- 物体地标检测:使用 Grounding DINO 检测物体地标 LobjL_{\text{obj}}Lobj。
- 结构地标检测:通过三阶段方法检测结构地标 LstrL_{\text{str}}Lstr:(1)使用 Grounded-Segment Anything Model 生成可行驶区域的像素级掩码 ItmktI_{\text{tmk}}^tItmkt。(2)使用霍夫变换从掩码中提取边缘 IetI_e^tIet,并按方向和长度分类。(3)使用基于规则的方法识别左转和右转。
- 文本描述生成:将检测到的地标按其在图像中的位置(左、中、右)分类,并生成结构化的文本描述。
经验管理器
- 功能:收集和检索过去的导航经验,为定位引擎和导航规划引擎提供历史上下文导航信息。
- 输出:最相关的导航经验 hth_tht,包括之前的观测 SD′tS_{D'}^tSD′t、估计的机器人位置 p′p'p′ 和执行的动作 a′a'a′。
- 实现:通过计算当前观测与存储经验之间的余弦相似度,检索最相关的经验作为文本提示。
视觉提示生成器
- 功能:生成视觉提示 ISVAMI_{\text{SVAM}}ISVAM,帮助 VLM 理解环境特征与手绘地图之间的关系。
- 输出:视觉提示 ISVAMI_{\text{SVAM}}ISVAM,包含机器人视角 IbRGB,tI_b^{\text{RGB}, t}IbRGB,t 和修剪后的拓扑地图 Mtp′\mathcal{M}_{tp}'Mtp′。
- 实现:使用概率模型修剪拓扑地图中的节点,保留最有可能代表机器人真实位置的节点。
预测导航计划解析器
- 功能:推断手绘地图中遗漏的地标,并生成导航计划的文本描述 NPNPNP。
- 输出:
- 预测地标 LpredobjL_{\text{pred}}^{\text{obj}}Lpredobj:推断出的地标类别和位置。
- 导航计划文本描述 NPNPNP:描述导航路径的文本。
- 实现:
- 地标预测:利用 VLM 根据地标的空间关系和邻近性推断潜在的共现地标。
- 导航计划生成:将拓扑地图分割为局部段,为每个段生成描述性句子,形成全局导航计划。
位置估计
位置估计阶段的目标是根据提示工程阶段生成的视觉和文本提示,估计机器人在手绘地图中的当前位置。
定位引擎
- 功能:使用 VLM 根据视觉提示 σvis(ISVAM)\sigma_{\text{vis}}(I_{\text{SVAM}})σvis(ISVAM) 和文本提示 σtext(SD′,p′,a′,NP)\sigma_{\text{text}}(S_{D'}, p', a', NP)σtext(SD′,p′,a′,NP) 估计机器人当前位置 ptp_tpt。
- 输出:估计的机器人位置 ptp_tpt。
- 实现:
- 使用链式思考提示(Chain of Thought Prompting, CoT)将位置估计任务分解为多个小步骤。
- 使用分数提示(Score-based Prompting, SB)生成位置估计的概率分数。
动作选择
动作选择阶段的目标是根据估计的机器人位置和导航计划,选择合适的离散导航动作。
导航规划引擎
- 功能:使用 VLM 根据视觉提示 σvis(ISVAM)\sigma_{\text{vis}}(I_{\text{SVAM}})σvis(ISVAM) 和文本提示 σtext(SD′,p′,a′,NP,pt)\sigma_{\text{text}}(S_{D'}, p', a', NP, p_t)σtext(SD′,p′,a′,NP,pt) 选择离散导航动作 aaa。
- 输出:离散导航动作 aaa(如“向前移动”、“向右转”等)。
- 实现:
- 使用链式思考提示(CoT)将导航任务分解为多个小步骤。
- 使用分数提示(SB)为每个可能的动作分配概率分数,选择概率最高的动作。
动作执行
动作执行阶段的目标是将离散导航动作转换为机器人可以执行的速度,完成导航任务。
导航控制器
- 功能:将离散动作 aaa 转换为机器人在环境中执行的速度 (v,ω)(v, \omega)(v,ω)。
- 输出:机器人速度 (v,ω)(v, \omega)(v,ω)。
- 实现:
- 使用 RGB-D 图像、地标边界框和可行驶区域掩码进行路径规划。
- 使用全局路径规划器生成导航点,局部规划器将导航点转换为机器人速度。
实验
消融研究
- 在 Gazebo 模拟器中生成了两个 3D 光逼真的环境:一个结构化的室内多楼层工作场所和一个非结构化的室外建筑工地。
- 使用 Clearpath Jackal 轮式机器人和 ANYmal 四足机器人进行实验,分别使用 A* 算法和 RRT 全局规划器以及 TEB 和 NMPC 局部规划器。
- 与 HAM-Nav 的不同变体进行比较,包括去除 Ldict、Lpred_obj、ℳ′tp 和 EM,以及使用不同大小的开源 VLM(Qwen 2.5-VL 模型)。
- 评估指标包括导航时间(NT)、导航距离(D)、成功按路径长度加权(SPL)和成功率(SR)。结果表明,完整的 HAM-Nav 系统性能最佳,具有最低的 NT(634 秒)和 D(28 米),最高的 SR(80%)和 SPL(0.712)。
真实环境用户研究
- 在多伦多大学校园内的两个室内和一个室外真实环境中进行,使用 Jackal 轮式机器人和 ZED Mini 立体相机。
- 与 MapGPT(一种视觉语言导航方法)进行比较,MapGPT 接受自然语言导航指令作为输入。
- 20 名参与者(年龄 22-42 岁,平均年龄 30.2 岁)被招募,分别使用 HAM-Nav 和 MapGPT 进行导航任务。使用系统可用性量表(SUS)和净推荐值(NPS)评估用户体验。
- 结果显示,HAM-Nav 在 SUS(79.5)和 NPS(+10)上得分高于 MapGPT(SUS 为 47.25,NPS 为 -80),表明用户对 HAM-Nav 的偏好更高。在真实世界试验中,HAM-Nav 在 NT(1018 秒)、D(45 米)、SR(77%)和 SPL(0.703)方面均优于 MapGPT。
结论与未来工作
- 结论:
- HAM-Nav 架构利用预训练的视觉语言模型,能够在不同的环境和手绘风格中进行鲁棒的机器人导航,无需手绘地图在度量上精确。
- 通过消融研究和用户研究验证了 HAM-Nav 的性能,证明了其在室内和室外、单楼层和多楼层环境中都能有效导航。
- 未来工作:
- 当前的局限性包括机器人导航时间较长,因为机器人需要等待 VLM 输出,且在运行过程中需要互联网访问以访问 VLM API。
- 未来的工作将集中在本地运行 VLM 以加快推理速度,并将 HAM-Nav 扩展到支持多机器人系统。