arXiv-2024 | VLM-GroNav: 基于物理对齐映射视觉语言模型的户外环境机器人导航

  • 作者: Mohamed Elnoor, Kasun Weerakoon, Gershom Seneviratne, Ruiqi Xian, Tianrui Guan, Mohamed Khalid M Jaffar, Vignesh Rajagopal, and Dinesh Manocha
  • 单位:马里兰大学学院公园分校
  • 原文链接:VLM-GroNav: Robot Navigation Using Physically Grounded Vision-Language Models in Outdoor Environments (https://arxiv.org/pdf/2409.20445)
  • 视频演示:https://gamma.umd.edu/researchdirections/crowdmultiagent/vlm-gronav/

主要贡献

  • 物理信息融合:论文提出将视觉语言模型(VLMs)与基于本体感受的感知相结合的导航方法,显著提高了地形可通行性估计的准确性和可靠性。
  • 动态更新:通过上下文学习将VLMs的语义理解与本体感受数据相结合,实现了基于机器人实时物理交互的可通行性估计的动态更新。
  • 全局和局部规划器:利用VLMs进行的高层次全局规划器和实时自适应局部规划器,能够在复杂或未知环境中动态调整路径。
  • 实验验证:在多种真实世界户外环境中进行了广泛的实验验证,显示出比现有方法高达50%的导航成功率提升。

研究背景

研究问题

论文主要解决的问题是如何在户外环境中实现自主机器人的导航,特别是处理不同地形的可通行性条件。

研究难点

该问题的研究难点包括:

  • 自然地形的多变性和复杂性,
  • 地形物理特性(如可变形性和滑动性)的可预测性差,
  • 传统导航方法在复杂环境中的不足,
  • 以及现有数据集在处理多样化地形上的局限性。

相关工作

该问题的研究相关工作有:

  • 依赖视觉传感器的传统导航方法,
  • 触觉和本体感知在机器人操作中的应用,
  • 以及将基础模型、大型语言模型(LLMs)和视觉语言模型(VLMs)集成到机器人导航中的进展。

研究方法

论文提出了VLM-GroNav,一种结合视觉语言模型(VLMs)和本体感知的新型导航方法,用于解决户外环境中的机器人导航问题。

可通行性估计

使用本体感知传感器估计地形可通行性。对于腿式机器人,通过关节施加的力量计算机器人腿部的沉降量,作为地形可变形性的直接测量。对于轮式机器人,通过比较轮式里程计和LiDAR里程计的测量值来评估地形的滑动性。

  • 对于腿式机器人: S sinkage = ∑ i = 1 n f joint , i 2 S_{\text{sinkage}} = \sum_{i=1}^{n} f_{\text{joint}, i}^{2} Ssinkage=i=1nfjoint,i2其中, f joint , i f_ {\text{joint}, i} fjoint,i是第i个关节施加的力量,n是关节总数。可通行性指标 τ \tau τ的计算公式为: τ sinkage = Γ ⋅ S sinkage − S min S max S min \tau_{\text{sinkage}} = \Gamma \cdot \frac{S_{\text{sinkage}} - S_{\text{min}}}{S_{\text{max}}S_{\text{min}}} τsinkage=ΓSmaxSminSsinkageSmin其中, S min ⁡ S_{\min} Smin 对应于最不易变形的地形(如混凝土), S max ⁡ S_{\max} Smax对应于最易变形的地形(如松散沙子)。
  • 对于轮式机器人: τ s l i p = β 1 ( Δ d l i d a r − Δ d o d o m ) + β 2 ( Δ θ l i d a r − Δ θ o d o m ) \tau_{slip} = \beta_{1}(\Delta d_{lidar} - \Delta d_{odom}) + \beta_{2}(\Delta\theta_{lidar} - \Delta\theta_{odom}) τslip=β1(ΔdlidarΔdodom)+β2(ΔθlidarΔθodom)其中, Δ d \Delta d Δd Δ θ \Delta\theta Δθ分别表示从LiDAR里程计和轮式里程计获得的距离和方向变化, β 1 \beta_{1} β1 β 2 \beta_{2} β2是权重因子。

Physically Grounded 推理模块

结合视觉和本体感知数据,连续更新地形可通行性估计和导航策略。利用VLMs处理视觉输入(航空影像和前置摄像头视图),并整合机器人本地传感器的实时反馈。

  • 初始时,自主堆栈查询大型VLMs,根据航空影像和天气数据对地形类型进行分类。
  • 在导航过程中,机器人捕获5m x 5m的前置摄像头和航空影像块,时间移位可通行性指标以匹配视觉输入。
  • 构建示例池 E pool \mathcal{E}_\text{pool} Epool,包括航空影像、前置摄像头视图、对齐的可通行性指标和地形类别。
  • 使用上下文学习来细化地形可通行性和导航成本估计。VLMs使用示例和文本提示来估计地形的可通行性:
    τ estimate = VLM ( T prompt , E pool ) \tau_{\text{estimate}} = \text{VLM}(\mathcal{T}_{\text{prompt}},\mathcal{E}_{\text{pool}}) τestimate=VLM(Tprompt,Epool)

高层全局规划器

使用航空影像和VLMs生成引导机器人从当前位置到目标位置的最优航点集。通过在航空影像上应用视觉标记来增强VLMs识别可航行区域的能力。

  • VLMs被提示带有标记图像和导航目标 T o b j e c t i v e T_{objective} Tobjective,选择最优航点序列以实现目标。
  • 当可通行性估计因新的本体感知反馈而改变时,全局规划器重新查询VLMs以更新航点:
    W new = VLM ⁡ ( T objective , I marked , τ estimate ) \mathcal{W}_{\text{new}} = \operatorname{VLM}(\mathcal{T}_{\text{objective}},\mathcal{I}_{\text{marked}},\tau_{\text{estimate}}) Wnew=VLM(Tobjective,Imarked,τestimate)
  • 更新后的航点 W new W_{\text{new}} Wnew传递给局部规划器。

自适应局部规划器

通过将本体感知反馈与轻量级VLMs(具有低推理时间)集成,实时调整机器人的轨迹。使用CLIP进行零样本地形分类,识别机器人前方左侧、中间和右侧的候选前沿。

  • 将前沿投影到图像帧中,并在机器人RGB相机图像中进行视觉标记,然后传递给CLIP进行零样本地形分类。
  • 每个航点被分配一个地形类型 ℓ i \ell_{i} i
  • 在DWA的目标函数中引入前沿成本项,优先选择朝向更具可通行性的前沿的轨迹。修改后的目标函数 G ( v , ω ) G(v,\omega) G(v,ω)为: G ( v , ω ) = J ( v , ω ) + ρ 4 ⋅ ϕ ( v , ω ) G(v,\omega) = J(v,\omega) + \rho_{4} \cdot \phi(v,\omega) G(v,ω)=J(v,ω)+ρ4ϕ(v,ω)
  • 前沿成本项 ϕ ( v , ω ) \phi(v,\omega) ϕ(v,ω)的计算公式为: ϕ ( v , ω ) = min ⁡ p ∈ P ( d ( η ( v , ω ) , p ) ⋅ τ estimate ( p ) ) \phi(v,\omega) = \min\limits_{p \in P} (d(\eta(v,\omega), p) \cdot \tau_{\text{estimate}}(p)) ϕ(v,ω)=pPmin(d(η(v,ω),p)τestimate(p))
    其中, η ( v , ω ) \eta(v,\omega) η(v,ω)表示由线速度和角速度 v v v ω \omega ω产生的轨迹, d ( η ( v , ω ) , p ) d(\eta(v,\omega), p) d(η(v,ω),p)是轨迹 η ( v , ω ) \eta(v,\omega) η(v,ω)终点和前沿点p之间的欧几里得距离, τ estimate ( p ) \tau_{\text{estimate}}(p) τestimate(p)是由推理模块分配给前沿p的可通行性估计。

实验设计

数据收集

使用Ghost Vision 60腿式机器人和Clearpath Husky轮式机器人进行实际环境实验。

Ghost Vision 60配备前置广角相机、OS1-32 LiDAR、GPS和Intel NUC 11系统;

Clearpath Husky配备Velodyne VLP16 LiDAR、Realsense D435i相机、GPS和笔记本电脑。

实验场景

设计了四个测试场景,包括

  • 干草、泥泞草、混凝土(场景1);
  • 干草、沙子、混凝土(场景2);
  • 混凝土、干草、泥泞草(场景3);
  • 混凝土、雪、泥泞草(场景4)。

参数配置

使用GPT-4o API进行推理和全局规划,CLIP进行基于零样本的地形分类。

结果与分析

成功率

VLM-GroNav在所有场景中均实现了最高成功率,比现有方法提高了50%。

归一化轨迹长度

VLM-GroNav在某些场景中实现了更短的轨迹长度,例如场景3中比GA-Nav和CoNVOI分别短了约0.1和0.09。

IMU能量密度

VLM-GroNav在所有场景中的IMU能量密度均低于其他方法,表明其导航更加稳定,能量使用更高效。

定性分析

VLM-GroNav在不同地形之间的过渡中表现出更好的适应性和稳定性,特别是在处理滑动和可变形地形时。

总结

论文提出的VLM-GroNav方法通过结合视觉语言模型(VLMs)和本体感知。该方法通过动态更新地形可通行性估计,实时调整全局和局部规划,显著提高了户外环境中机器人导航的成功率和稳定性。

未来的工作将包括在没有GPS的环境中进行定位的方法优化,以及进一步提高VLMs处理速度以应对动态和复杂环境。

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

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

相关文章

音频客观测评方法PESQ

一、简介 语音质量感知评估(Perceptual Evaluation of Speech Quality)是一系列的标准,包括一种用于自动评估电话系统用户所体验到的语音质量的测试方法。该标准于2001年被确定为ITU-T P.862建议书[1]。PESQ被电话制造商、网络设备供应商和电…

Gitlab服务管理和仓库项目权限管理

Gitlab服务管理 gitlab-ctl start # 启动所有 gitlab 组件; gitlab-ctl stop # 停止所有 gitlab 组件; gitlab-ctl restart # 重启所有 gitlab 组件; gitlab-ctl status …

浏览器插件开发实战

浏览器插件开发实战 [1] 入门DEMO一、创建项目二、创建manifest.json三、加载插件四、配置 service-worker.js五、以书签管理器插件为例manifest.jsonpopup.htmlpopup.js查看效果 [2] Vue项目改造成插件一、复习Vue项目的结构二、删除、添加个别文件三、重写build [3] 高级开发…

SpringBoot集成JWT和Redis实现鉴权登录功能

目前市面上有许多鉴权框架,鉴权原理大同小异,本文简单介绍下利用JWT和Redis实现鉴权功能,算是抛砖引玉吧。 主要原理就是“令牌主动失效机制”,主要包括以下4个步骤: (1)利用拦截器LoginInterceptor实现所有接口登录拦…

在IDE中使用Git

我们在开发的时候肯定是经常使用IDE进行开发的,所以在IDE中使用Git也是非常常用的,接下来以IDEA为例,其他的VS code ,Pycharm等IDE都是一样的。 在IDEA中配置Git 1.打开IDEA 2.点击setting 3.直接搜索git 如果已经安装了会自…

Python鼠标轨迹算法(游戏防检测)

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序,它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言,原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势: 模拟…

【2025最新版】Stable diffusion汉化版安装教程(附SD安装包),一键激活,永久免费!

如何安装并学习使用Stable Diffusion呢? 其实,安装SD的过程并不复杂,只需按照简单的步骤操作,几分钟内就能完成安装,不论是Windows系统还是Mac系统,都能轻松应对。

Python学习(二)—— 基础语法(上)

目录 一,表达式和常量和变量 1.1 表达式 1.2 变量 1.3 动态类型特性 1.4 输入 二,运算符 2.1 算术运算符 2.2 关系运算符 2.3 逻辑运算符 2.4 赋值运算符 2.5 练习 三,语句 3.1 条件语句 3.2 while循环 3.3 for循环 四&#…

如何用状态图进行设计06

独立的控制线程 扩展状态图也提供了获取无序的输入事件的方法。这意味着一个状态开始时,它可能位于一个或多个控制线程的交叉点。控制行为的每个独立线程都类似一个状态机,独自运行,互不干扰。因此,这些控制线程可能会同时发生状…

嵌入式学习(18)-stm32F407串口接收空闲中断+DMA

一、概述 在一些一次性接收大批量数据的引用场合,如果使用接收中断会频繁的进入接收中断影响代码的运行效率。为了解决这个问题可以使用串口的空闲中断DMA实现。 二、应用 在网上招了一些例程在STM32F407的平台上都没有跑通会出现各种异常,主要原因还…

多线程的知识总结(8):用 thread 类 或全局 async (...) 函数,创建新线程时,谁才是在新线程里第一个被执行的函数

(40)用 thread 类 或全局 async (…) 函数,创建新线程时,谁才是在新线程里第一个被执行的函数? 弄清楚这个问题,有利于推测和理解线程中代码的执行流程。根据 thread 类 和 async (…&#xff0…

UOB大华银行|校招网申综合能力SHL测评题库英语版本真题分析

大华银行有限公司(大华银行)是亚洲银行业的翘楚,大华银行总部位于新加坡,并在中国、印度尼西亚、马来西亚、泰国及越南设立了全资法人银行,在全球拥有约500 间分行及办事处,分布在亚太、欧洲与北美的19 个国…

WebSpoon9.0(KETTLE的WEB版本)编译 + tomcatdocker部署 + 远程调试教程

前言 Kettle简介 Kettle是一款国外开源的ETL工具,纯Java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定 WebSpoon是Kettle的Web版本,由Kettle社区维护,不受Pentaho支持,…

用人话讲计算机:Python篇!(十二)正则运算+re模块

目录 一、正则表达式 (1)什么是正则表达式 (2)它的结构及使用 示例: 1.字符 . (←这里有个小点哦) 2.字符 | 3.字符 [ ] 4.字符^ 5.字符\d (3)补充&#xff…

Service Discovery in Microservices 客户端/服务端服务发现

原文链接 Client Side Service Discovery in Microservices - GeeksforGeeks 原文链接 Server Side Service Discovery in Microservices - GeeksforGeeks 目录 服务发现介绍 Server-Side 服务发现 实例: Client-Side 服务发现 实例: 服务发现介绍…

基于Python深度学习的【猫狗宠物识别】系统设计实现

一、简介 宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【‘阿比西尼亚猫(Abyssinian)’, ‘孟加拉猫(Bengal)’…

不能通过 ip 直接访问 共享盘 解决方法

from base_config.config import OpenSMB, SMB import os, time, calendar, requests, decimal, platform, fs.smbfsinfo_dict SMB.EPDI_dict info_dict[host] (FS03,10.6.12.182) info_dict[direct_tcp] True# smb OpenSMB(info_dict)print(ok)# 根据 ip 查询电脑名 impor…

10篇--图像噪点消除

概念 何为噪点? 噪点:指图像收到的一些干扰因素,通常是由图像采集设备、传输信道等因素造成的,表现为图像中随机的亮度,也可以理解为有那么一些点的像素值与周围的像素值格格不入。 常见的噪声类型 高斯噪声&#…

科研绘图系列:R语言绘制网络图和密度分布图(network density plot)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载图1图2图3图4图5图6图7图8系统信息参考介绍 R语言绘制网络图和密度分布图(network & density plot) 加载R包 library(magrittr) library(dplyr) library(…

数据结构——ST表

ST表的定义 ST表,又名稀疏表,是一种基于倍增思想,用于解决可重复贡献问题的数据结构 倍增思想 这里列举一个去寻找一个区间内的最大值的例子 因为每次会将将区间增大一倍,所以才被称之为倍增思想 ,这种思想十分好用…