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,一经查实,立即删除!

相关文章

scala基础学习_变量

文章目录 scala中的变量常量 val(不可变变量)变量 var变量声明多变量声明匿名变量 _ 声明 变量类型声明变量命名规范 scala中的变量 常量 val(不可变变量) 使用val关键字声明变量是不可变的,一旦赋值后不能被修改 对…

音频客观测评方法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] 高级开发…

TMS320C6713 数字信号处理器(DSP)原理图及代码

TMS320C6713 是德州仪器公司(TI)推出的数字信号处理器(DSP)产品。其主要特点是高性能、低功耗、灵活性强、处理速度快等方面。 TMS320C6713 可以应用于以音视频信号处理、通信信号处理、控制系统、医疗器械等领域。 TMS320C6713 的…

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

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

微信原生小程序---生成海报并分享,保存本地

小程序海报有两种常见的实现方式: 1.canvas 绘制海报 使用 canvas 绘制海报主要有以下几个步骤 1、创建 canvasContext 2、获取网络图片的本地路径 3、绘制图片、文字等到 canvas 4、调用 wx.canvasToTempFilePath 导出图片 但实际使用中,这些操作看似简单,但调试起来…

在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系统,都能轻松应对。

Invalid bound statement (not found) 错误解决

出现这个错误提示:Invalid bound statement (not found): com.xxx.small_reservior.dao.WaterRainMapper.getWaterRainByRegion,通常表示 MyBatis 框架无法找到与给定的 getWaterRainByRegion 方法匹配的 SQL 映射语句。这种问题通常发生在以下几种情况中…

jvm内存优化

JVM内存优化是一个复杂的过程,涉及到多个方面,包括堆内存设置、垃圾收集器选择、GC参数调整等。以下是一些基于搜索结果的JVM内存优化建议: 1. 调整堆和年轻代大小: • 增大堆内存:将堆内存从4GB增加到8GB&#xff0…

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的平台上都没有跑通会出现各种异常,主要原因还…

我的宝贵经验

在技术的浩瀚海洋中,一份优秀的技术文档宛如精准的航海图。它是知识传承的载体,是团队协作的桥梁,更是产品成功的幕后英雄。然而,打造这样一份出色的技术文档并非易事。你是否在为如何清晰阐释复杂技术而苦恼?是否纠结…

高并发场景秒杀抢购超卖Bug实战重现

引言 在电商平台的秒杀活动中,高并发场景下的抢购超卖Bug是一个常见且棘手的问题。一旦处理不当,不仅会引发用户投诉,还会对商家的信誉和利益造成严重损害。本文将详细介绍秒杀抢购超卖Bug的背景历史、业务场景、底层原理以及Java代码实现&a…

redis 架构详解

Redis架构详解可以从以下几个方面进行阐述: 一、部署架构 Redis有多种部署架构,适用于不同的应用场景和需求,主要包括以下几种: 单机模式(Standalone Mode) 特点:部署简单,配置方便…

[python]使用 Pandas 分组和汇总表数据

在数据分析中,数据的分组与汇总是非常常见的操作。下面使用 Python 的 Pandas 库来处理表数据,并生成汇总结果。 导入数据 首先,我们需要导入必要的库并读取 Excel 文件中的数据: import pandas as pd# 读取工资表数据 df pd.…

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

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