在这里插入图片描述

  • 作者: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'}^tSDt、估计的机器人位置 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 扩展到支持多机器人系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/91718.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/91718.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/91718.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue.js 与后端技术结合开发指南

Vue.js 作为现代化的前端框架,可以与多种后端技术完美结合,构建全栈应用。下面我将详细介绍 Vue 可以与哪些后端技术结合开发,并提供可视化示例。Vue 可结合的后端技术概览主流组合方案对比后端技术适合场景优点缺点学习曲线Node.js全栈JavaS…

逻辑回归在银行贷款审批中的应用:参数选择与实践

目录 一、数据背景与预处理 1.数据前五行 2.数据预处理步骤 二、逻辑回归的正则化参数选择 1.交叉验证选择最优C 2.为什么选择召回率作为评估指标? 三、参数选择的核心结论 四、后续优化方向 在银行贷款审批场景中,准确判断贷款人是否符合贷款条…

数据结构前篇 - 深入解析数据结构之复杂度

目录一、数据结构前言1.1 数据结构1.2 算法二、算法效率2.1 复杂度的概念三、时间复杂度3.1 大O的渐进表示法3.2 时间复杂度计算示例3.2.1 示例13.2.2 示例23.2.3 示例33.2.4 示例43.2.5 示例53.2.6 示例63.2.7 示例7四、空间复杂度4.1 空间复杂度计算示例4.1.1 示例14.1.2 示例…

Master Prompt:AI时代的万能协作引擎

1. Master Prompt:为什么它正在重塑AI协作范式大模型落地的最大痛点不是技术本身,而是人机协作的断裂。当企业采购了昂贵的AI系统,却发现输出内容反复偏离预期,团队成员抱怨“AI总听不懂我要什么”,这种场景每天在无数…

《Kubernetes部署篇:基于Kylin V10+ARM架构CPU使用containerd部署K8S 1.33.3容器板集群(一主多从)》

总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:企业级K8s集群运维实战 一、架构图 如下图所示: 二、环境信息 基于x86_64+aarch64架构使用containerd部署K8S 1.33.3集群资源合集(一主多从) 2、部署规划 主机名 K8S版本 系统版本 CPU架构 内核版…

一次性接收大量上传图片,后端优化方式

文章目录1. 分块接收与流式处理2. 异步处理3. 内存映射与临时文件4. 数据库优化5. 缓存策略6. 压缩与格式优化7. 限流与并发控制8. 分布式存储9. 响应优化10. 监控与错误处理11. 数据库连接池优化1. 分块接收与流式处理 使用流式处理避免将所有图片加载到内存中: …

二分查找(基础)

竞赛中心 - 蓝桥云课 #include <iostream> #include<bits/stdc.h> using namespace std; #define int long long int N; struct NO {int A,B; }a[10001]; bool ok(int V) {for (int i 0; i < N; i){if (a[i].A / V ! a[i].B){return false;}}return true; } …

流式编程学习思路

流式编程学习思路 作为Java初级工程师,想要掌握流式编程并向高级工程师进阶,需要从基础到进阶逐步掌握,结合实战场景深化理解。以下是为你量身定制的学习清单和思路: 一、基础阶段:吃透 Java Stream 核心API 1. 掌握 Stream 的基本概念 什么是 Stream:理解它与集合(Co…

13-14linux三剑客grep,sed,awk

目录 三剑客支持扩展正则写法 grep命令 sed命令 sed指定行查找&#xff1a; sed模糊过滤文件内容 sed之删除&#xff1a; sed之替换&#xff1a; sed追加插入替换&#xff1a; sed后向引用&#xff1a; awk命令 awk按照行查找 awk模糊过滤文件内容 awk取列 awk指…

损失函数和调度器相关类代码回顾理解 |nn.CrossEntropyLoss\CosineAnnealingLR

目录 nn.CrossEntropyLoss CosineAnnealingLR nn.CrossEntropyLoss loss_func nn.CrossEntropyLoss(reduction"sum") 定义nn.CrossEntropyLoss交叉熵损失函数&#xff0c;reduction参数设置为"sum"&#xff0c;表示将所有样本的损失相加。reduction 参…

中国不同类型竹林分布数据

中国竹林分布的主要特点简介&#xff1a;总体分布格局&#xff1a;核心区域&#xff1a; 主要分布在长江流域及以南的广大亚热带和热带地区。北界&#xff1a; 大致以黄河流域为北界&#xff0c;但天然成片竹林在秦岭-淮河一线以南才比较普遍。人工引种或特殊小环境下&#xff…

Sqlserver备份恢复指南-完整备份恢复

博主会用简单清晰的方式&#xff0c;带你系统学习使用T-SQL命令行的方式 给SQL Server 做备份与恢复。我们按照从零开始、逐步深入的路线来讲解&#xff01; 完整备份恢复-差异增量备份恢复-事务日志备份恢复 &#x1f538; SQL Server 备份类型&#xff1a;类型说明完整备份&a…

AI 调酒师上岗!接管酒吧吧台

7月29日&#xff0c;马老师的 HHB 音乐酒吧在阿里巴巴西溪园区正式开业&#xff0c;开业这天迎来了一位神秘嘉宾“AI 调酒师”&#xff01; 这位 AI 调酒师不仅能根据你的MBTI、今日情绪、星座运势、江湖花名等为你特调一杯鸡尾酒&#xff0c;还能为这杯酒配上故事和诗文。 点…

【C++进阶】一文吃透静态绑定、动态绑定与多态底层机制(含虚函数、vptr、thunk、RTTI)

【C进阶】一文吃透静态绑定、动态绑定与多态底层机制&#xff08;含虚函数、vptr、thunk、RTTI&#xff09;作者&#xff1a;你的C教练 日期&#xff1a;2025-08-01目录 静态绑定 vs 动态绑定非虚函数的三大坑多态的四要素虚析构函数为什么必须写&#xff1f;探秘 vptr/vftable…

VUE基础知识2

1.计算属性&#xff1a;使用计算属性来描述依赖响应式状态的复杂逻辑。关键字computed:{}//计算属性&#xff0c;使用的时候和函数方法不一样&#xff0c;不需要加括号。简单来说就是模板方法的复杂逻辑放到了计算属性中去。2.计算属性缓存VS方法&#xff1a;计算属性值会基于其…

在PyCharm中将现有Gitee项目重新上传为全新项目

如果你想将当前本地的Gitee项目重新上传为一个全新的Gitee项目&#xff08;保留本地代码但断开与原仓库的关联&#xff09;&#xff0c;可以按照以下步骤操作&#xff1a; 删除旧的Git远程仓库关联 打开PyCharm&#xff0c;进入你的项目 点击顶部菜单 Git > Manage Remotes …

设计模式1:创建型模式

设计模式1&#xff1a;创建型模式 设计模式2&#xff1a;结构型模式&#xff08;编写中&#xff09; 设计模式3&#xff1a;行为型模式&#xff08;编写中&#xff09; 前言 设计模式是软件开发中经过验证的可复用解决方案&#xff0c;它们源自实践、提炼于经验&#xff0c;并…

React--》规划React组件库编码规范与标准 — Button篇

目前前端组件化已经成为前端开发的核心思想之一&#xff0c;在这篇文章中将深入探讨如何规划一个规范的Button组件&#xff0c;让它不仅能高效支持不同的功能需求还能确保跨项目、跨团队的一致性&#xff0c;抛砖引玉的方式引出后面组件库的其他组件的开发&#xff01; 目录 B…

中科米堆CASAIM金属件自动3d测量外观尺寸三维检测解决方案

金属零部件的外观尺寸检测直接关系到产品的装配精度和使用性能。CASAIM基于激光扫描技术的自动化三维扫描系统&#xff0c;为金属加工行业提供了高效的自动3D测量解决方案&#xff0c;有效解决了传统检测方式效率低、覆盖面有限等问题。激光扫描技术在金属件测量中优势明显。与…

开源数据同步中间件,支持MySQL、Oracle

DBSyncer&#xff08;英[dbsɪŋkɜː(r)]&#xff0c;美[dbsɪŋkɜː(r) 简称dbs&#xff09;是一款开源的数据同步中间件&#xff0c;提供MySQL、Oracle、SqlServer、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等同步场景。支持上传插件自定义同步转换业务&#xff0…