复杂地形越野机器人导航新突破!VERTIFORMER:数据高效多任务Transformer助力越野机器人移动导航

  • 作者: Mohammad Nazeri 1 ^{1} 1, Anuj Pokhrel 1 ^{1} 1, Alexandyr Card 1 ^{1} 1, Aniket Datar 1 ^{1} 1, Garrett Warnell 2 , 3 ^{2,3} 2,3, Xuesu Xiao 1 ^{1} 1
  • 单位: 1 ^{1} 1乔治梅森大学计算机科学系, 2 ^{2} 2美国陆军研究实验室, 3 ^{3} 3德克萨斯大学奥斯汀分校计算机科学系
  • 论文标题:VERTIFORMER: A Data-Efficient Multi-Task Transformer for Off-Road Robot Mobility
  • 论文链接:https://arxiv.org/pdf/2502.00543
  • 代码链接:https://github.com/mhnazeri/VertiFormer

主要贡献

  • 提出了数据高效多任务Transformer模型VERTIFORMER,其通过统一的多模态潜在表示、可学习的掩码建模以及非自回归训练,能够在仅使用一小时训练数据的情况下,同时完成多种越野移动任务,例如正向和逆向运动学建模、行为克隆以及地形块重建等。
  • 对不同的Transformer设计进行了全面评估,包括掩码建模(MM)、下一步预测(NTP)、仅编码器以及仅解码器等,以用于越野运动学表示。
  • 在具有垂直挑战性的复杂越野地形上,进行了物理机器人实验,验证了模型在多种越野移动任务上的有效性。

研究背景

  • 自主移动机器人在越野环境中面临着诸多挑战,如不规则地形造成的车辆翻滚风险、车轮打滑导致的牵引力下降以及对机器人底盘或驱动系统的潜在机械损坏等。精确理解车辆与地形之间的运动学交互是应对这些越野移动挑战的关键。
  • 尽管数据驱动的方法在相对平坦的环境中显示出一定的潜力,但对于复杂越野环境中机器人底盘与垂直挑战性地形之间的复杂关系,需要更复杂的学习架构来充分捕捉和表示这些细微的运动学交互。
  • Transformer架构因其在自然语言处理(NLP)和计算机视觉(CV)中展现的强大能力,为理解复杂关系提供了新的机遇。然而,这些领域的Transformer训练范式并不完全适用于机器人移动,尤其是越野机器人移动,因为获取大规模机器人数据集存在困难,且现有的NLP和CV训练范式可能不适用于机器人移动数据的独特特征。

VERTIFORMER

  • VERTIFORMER 是一种数据高效的多任务 Transformer 模型,专门用于复杂越野地形上的机器人运动学表示和导航。
  • 该模型通过统一的多模态潜在表示、可学习的掩码建模和非自回归训练,能够在仅使用一小时训练数据的情况下同时完成多种越野移动任务。

VERTIFORMER训练

统一多模态潜在表示
  • VERTIFORMER 包含 Transformer 编码器(VERTIENCODER)和 Transformer 解码器(VERTIDECODER)。
  • 模型接收的动作 a 0 : T a_{0:T} a0:T、机器人姿态 p 0 : T p_{0:T} p0:T 和地形块 i 0 : T i_{0:T} i0:T 首先分别通过独立的线性映射投影到嵌入空间:
    a ^ t = f a ( a t ) = W a a t + b a , a t ∈ a 0 : T , p ^ t = f p ( p t ) = W p p t + b p , p t ∈ p 0 : T , i ^ t = f i ( i t ) = W i i t + b i , i t ∈ i 0 : T , \begin{align*} \hat{a}_t &= f_a(a_t) = W_a a_t + b_a, \quad a_t \in a_{0:T}, \\ \hat{p}_t &= f_p(p_t) = W_p p_t + b_p, \quad p_t \in p_{0:T}, \\ \hat{i}_t &= f_i(i_t) = W_i i_t + b_i, \quad i_t \in i_{0:T}, \end{align*} a^tp^ti^t=fa(at)=Waat+ba,ata0:T,=fp(pt)=Wppt+bp,ptp0:T,=fi(it)=Wiit+bi,iti0:T,
    其中, W a , W p , W i W_a, W_p, W_i Wa,Wp,Wi 为权重矩阵, b a , b p , b i b_a, b_p, b_i ba,bp,bi 为偏置向量。为了在 VERTIFORMER 内部实现有效的跨模态交互,需要将不同模态的嵌入投影到统一的潜在空间中,以减少统计特性上的潜在差异。因此,进一步应用线性变换 f s f_s fs 将嵌入拼接起来:
    z t = f s ( a ^ t , p ^ t , i ^ t ) = W s ( a ^ t ⋅ p ^ t ⋅ i ^ t ) + b s , t ∈ [ 0 : T ] , z_t = f_s(\hat{a}_t, \hat{p}_t, \hat{i}_t) = W_s (\hat{a}_t \cdot \hat{p}_t \cdot \hat{i}_t) + b_s, \quad t \in [0 : T], zt=fs(a^t,p^t,i^t)=Ws(a^tp^ti^t)+bs,t[0:T],
    其中, W s W_s Ws b s b_s bs 分别为 f s f_s fs 的权重矩阵和偏置向量。最终得到的统一标记 z 0 : T z_{0:T} z0:T 作为输入传递给 VERTIENCODER。
可学习掩码建模

结合统一表示,VERTIFORMER 提出了一种随机可学习的掩码建模技术,以实现多任务学习。在训练过程中,模型首先在所有模态上进行预热,然后以相等的概率应用两种不同的数据掩码方法:

  • 基于动作的未来姿态预测

    • 在 50% 的训练实例中,提供人类演示生成的未来 τ \tau τ 步动作 a T + 1 : T + τ a_{T+1:T+\tau} aT+1:T+τ 作为输入,同时将对应的未来姿态 p T + 1 : T + τ p_{T+1:T+\tau} pT+1:T+τ 替换为可学习的掩码。
    • 这使得模型能够基于提供的未来动作和先前的历史上下文预测未来的姿态,类似于越野移动中的正向运动学建模(FKD)任务。
  • 基于姿态的未来动作预测

    • 在剩余的 50% 的实例中,提供未来姿态 p T + 1 : T + τ p_{T+1:T+\tau} pT+1:T+τ 作为输入,而将对应的未来动作 a T + 1 : T + τ a_{T+1:T+\tau} aT+1:T+τ 使用另一个可学习的掩码进行掩码。
    • 这促使模型基于提供的未来姿态和历史上下文预测未来动作,类似于逆向运动学建模(IKD)任务。
  • 这种交替掩码策略与统一表示相结合,促进了能够解码动作和姿态信息的联合表示的学习。可学习掩码可以被视为一种可学习的门控机制,在训练期间选择性地过滤信息流。

  • 此外,通过扩展掩码策略同时掩码未来的动作 a T + 1 : T + τ a_{T+1:T+\tau} aT+1:T+τ 和姿态 p T + 1 : T + τ p_{T+1:T+\tau} pT+1:T+τ,VERTIFORMER 能够以零样本的方式执行行为克隆(BC)。

  • 在这种配置下,模型仅基于历史上下文预测动作和姿态,有效地模仿演示的行为,而无需从规划器那里获取关于未来动作和姿态的显式信息。

非自回归训练
  • 基于相关研究的工作,VERTIFORMER 使用多个上下文标记来表示未来状态的分布。这些上下文标记用于通知 VERTIDECODER 预测未来的自我状态和环境的演变。
  • 拥有多个上下文标记使得 VERTIFORMER 能够非自回归地预测未来。非自回归方法的动机在于自回归模型中固有的潜在计算瓶颈,因为自回归模型需要多次查询模型,并且容易受到早期步骤中误差传播的影响。
  • 通过学习多上下文表示,非自回归方法旨在提高训练效率和推理速度,这对于实时机器人控制应用来说是一个关键考虑因素。
  • VERTIFORMER 的训练通过最小化模型预测与相应真实值之间的均方误差(MSE)来完成。模型评估是通过计算模型预测与真实值之间在未见数据集上的误差率来进行的。

VERTIFORMER推理

  • 在正向运动学建模(FKD)推理过程中,VERTIENCODER 接收与训练时相同的输入历史。
  • VERTIDECODER 接收来自外部采样式规划器(例如 MPPI)的采样动作,同时掩码对应的姿态,迫使模型仅基于采样动作(和上下文标记)预测未来的姿态,以便规划器可以选择最优轨迹以最小化成本函数。
  • 对于逆向运动学建模(IKD),全局规划器生成期望的未来姿态,通过掩码动作,促使模型预测实现这些全局规划姿态的未来动作。通过掩码动作和姿态,VERTIFORMER 可以执行零样本行为克隆(BC)。

使用一小时数据高效训练VERTIFORMER

实验设置

  • 数据集:使用了一小时的人类遥控驾驶数据,这些数据在一个定制的越野测试平台上采集,包含复杂的地形特征(如岩石、巨石、木板、人工草坪等)。
  • 评估指标:通过计算模型预测与真实值之间的误差率来评估性能,重点关注机器人姿态的三个分量(X、Y、Z)。

实验结果

  • 位置编码:正弦位置编码在预测机器人姿态时表现优于可学习位置编码。

  • 归一化层:在 Transformer 输出层之前应用 RMSNorm 层可以显著提高模型性能和训练稳定性。
  • 统一多模态潜在表示:统一表示能够显著提高模型对时间依赖性和运动学转换的理解能力,与分离表示相比,学习损失显著下降。
  • 预测范围:非自回归模型(VERTIFORMER)在长时预测中表现出更高的准确性和稳定性,避免了自回归模型中常见的误差累积问题。
  • 地形块重建头:加入地形块重建头会降低模型性能,因为越野地形的复杂性使得重建任务非常困难,引入了噪声。
  • 不同训练范式对比:非自回归的 VERTIFORMER 在正向运动学建模(FKD)、逆向运动学建模(IKD)和行为克隆(BC)任务中均优于其他模型,包括仅编码器(MM)、仅解码器(NTP)和端到端(End2End)模型。

实验结论

  • 数据效率:VERTIFORMER 通过独特的训练方法和架构设计,在仅使用一小时数据的情况下,能够同时完成多种越野移动任务。
  • 性能优势:非自回归设计和统一的多模态潜在表示显著提高了模型的准确性和稳定性,尤其是在长时预测和多任务学习方面。
  • 泛化能力:模型在未见的测试环境中表现出良好的泛化能力,能够适应不同的地形和摩擦系数。

真实机器人平台实验

实验设置

  • 机器人平台:使用了一个开源的四轮越野机器人(Verti-4-Wheeler, V4W),该机器人配备了 Microsoft Azure Kinect RGB-D 摄像头用于构建地形图,以及 NVIDIA Jetson Xavier 处理器用于实时计算。
  • 测试环境:实验在一个 4m × 2.5m 的测试平台上进行,该平台包含多种复杂地形,如岩石、巨石、木板、人工草坪和可变形泡沫,模拟了具有不同摩擦系数和变形能力的垂直挑战性地形。
  • 任务:实验验证了 VERTIFORMER 在三种任务上的性能:
    • 正向运动学建模(FKD):与 MPPI 规划器结合,预测机器人未来的姿态。
    • 逆向运动学建模(IKD):与全局规划器结合,生成实现目标姿态的动作。
    • 行为克隆(BC):仅基于历史数据预测未来动作,无需显式的目标姿态或动作。

实验结果

  • 性能指标:通过成功率、平均穿越时间、平均侧倾角和俯仰角来评估模型性能。
  • 实验结果
    • FKD 任务:VERTIFORMER 与 MPPI 规划器结合,成功率达到 100%,平均穿越时间为 9.42 秒,平均侧倾角为 0.169 弧度,平均俯仰角为 0.096 弧度。
    • IKD 任务:VERTIFORMER 与全局规划器结合,成功率达到 80%,平均穿越时间为 17.16 秒,平均侧倾角为 0.136 弧度,平均俯仰角为 0.077 弧度。
    • BC 任务:VERTIFORMER 在行为克隆任务中成功率达到 80%,平均穿越时间为 12.64 秒,平均侧倾角为 0.154 弧度,平均俯仰角为 0.099 弧度。

实验结论

  • 模型优势:VERTIFORMER 在复杂越野地形上表现出色,能够有效处理多种任务,且在数据稀缺条件下具有良好的泛化能力。
  • 性能对比:与现有的先进模型(如 TAL、VERTIENCODER、VERTIDECODER)相比,VERTIFORMER 在成功率、穿越时间和姿态稳定性方面均表现出色。
  • 实际应用:实验结果表明,VERTIFORMER 可以在真实机器人平台上高效运行,为越野机器人导航和运动学建模提供了一种有效的解决方案。

结论与未来工作

  • VERTIFORMER作为一种数据高效多任务Transformer,能够仅使用有限的训练数据(一小时)来学习复杂的车辆-地形运动学交互,并在多种越野移动任务上取得了优异的性能,同时提高了模型的泛化能力和对未知环境的适应性。
  • 未来的研究可以探索如何进一步提高模型在长时预测和复杂地形上的性能,例如改进掩码策略、优化模型架构或结合其他先进的训练技术。
  • 此外,还可以将该模型应用于其他机器人领域,如视觉导航或操作任务,以验证其在不同场景下的适用性和有效性。

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

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

相关文章

SharpMap与TerraLib:C#与C++开源GIS库

大家好,今天为大家介绍的软件是SharpMap:一款专为了C#(.NET)环境设计的开源地图和空间数据处理库;TerraLib:一款由C编写、支持多种数据库的开源的GIS软件库。 下面,我们将从两个开源软件的主要…

音视频学习 - MP3格式

环境 JDK 13 IDEA Build #IC-243.26053.27, built on March 16, 2025 Demo MP3Parser MP3 MP3全称为MPEG Audio Layer 3,它是一种高效的计算机音频编码方案,它以较大的压缩比将音频文件转换成较小的扩展名为.mp3的文件,基本保持源文件的音…

Unity中数据和资源加密(异或加密,AES加密,MD5加密)

在项目开发中,始终会涉及到的一个问题,就是信息安全,在调用接口,或者加载的资源,都会涉及安全问题,因此就出现了各种各样的加密方式。 常见的也是目前用的最广的加密方式,分别是:DE…

部署本地deepseek并在调用的详细步骤以及解决一些可能出现的问题(Windows,Linux, WSL)

打开Ollama官网:https://ollama.com/ 直接下载Ollama并且安装好Ollama、这时候就能看到app里多了个ollama,但是我们不用打开它 打开Windows Powershell: ollama run deepseek-r1:1.5b 7b 8b 14b 32b 70b 根据自己的电脑配置和需求更换不同的…

【KWDB 创作者计划】_嵌入式硬件篇---寄存器与存储器截断与溢出

文章目录 前言一、寄存器与存储器1. 定义与基本概念寄存器(Register)位置功能特点存储器(Memory)位置功能特点2. 关键区别3. 层级关系与协作存储层次结构协作示例4. 为什么需要寄存器性能优化指令支持减少总线竞争5. 其他寄存器类型专用寄存器程序计数器(PC)栈指针(SP)…

小白自学python第二天

学习python的第二天 一、判断语句 1、布尔类型和比较运算符 1、布尔类型 表示现实生活中的逻辑,真(True,用数字1表示)和假(False,用数字0表示) 2、布尔类型变量的定义 变量的名称 布尔类…

linux基础操作1------(文件命令)

一.前言 我们本章开始讲解linux,我们对于linux得有重要的认识,比如项目部署等等,都会用到linux,今天我们就开始linux的学习,我们需要准备的工具有vmware和xshell,而这里我就不教大家虚拟机的安装以及xshel…

编码问题整合

一、windows系统编码 查看编码命令:chcp - 936 GBK - 65001 UTF-8 - 437 英文修改系统编码 1、控制面板修改 需管理员权限-Windows 10/11进入 控制面板 > 区域 > 管理 > 更改系统区域设置勾选 Beta版: 使用Unicode UTF-8提供全球语言支持 → 重启生效修…

如何配置Spark

1.上传spark安装包到某一台机器(自己在finaShell上的机器)。 2.解压。 把第一步上传的安装包解压到/opt/module下(也可以自己决定解压到哪里)。对应的命令是:tar -zxvf 安装包 -C /opt/module 3.重命名。进入/opt/mo…

Redis 完整配置模板

一、基础连接配置(单机模式) 基础参数(适用Spring Boot) spring:redis:host: 127.0.0.1port: 6379password: your_passworddatabase: 0 # 默认DB索引timeout: 2000ms # 全局操作超时时间二、连接池参数(通用核心配…

边界凸台建模与实例

文章目录 边界凸台特征耳机案例瓶子 边界凸台特征 两侧对称拉伸最上面的圆柱 同过两点一基准面画草图,在基准面上画椭圆 隐藏无关的实体和草图,以便椭圆的端点能与线给穿透约束,下面的点与下面的线也给穿透,短轴长给35&#xff08…

河北省大数据应用创新大赛样题

** 河北省大数据应用创新大赛样题 ** 1. 在Linux下安装Java并搭建完全分布式Hadoop集群。在Linux终端执行命令“initnetwork”,或双击桌面上名称为“初始化网络”的图标,初始化实训平台网络。 【数据获取】 使用wget命令获取JDK安装包: “w…

【数据可视化-21】水质安全数据可视化:探索化学物质与水质安全的关联

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

DC-2寻找Flag1、2、3、4、5,wpscan爆破、git提权

一、信息收集 1、主机探测 arp-scan -l 探测同网段2、端口扫描 nmap -sS -sV 192.168.66.136 80/tcp open http Apache httpd 2.4.10 ((Debian)) 7744/tcp open ssh OpenSSH 6.7p1 Debian 5deb8u7 (protocol 2.0)这里是扫描出来两个端口,80和ssh&…

SQLMesh 表格对比指南:深入理解 table_diff 工具的实际应用

在数据集成和转换过程中,确保数据模型的一致性和准确性至关重要。SQLMesh 提供了一个强大的 table_diff 工具,可以帮助用户比较 SQLMesh 模型或数据库表/视图的架构和数据。本文将通过具体示例详细说明如何使用 table_diff 工具进行跨环境比较和直接比较…

重构智能场景:艾博连携手智谱,共拓智能座舱AI应用新范式

2025年4月24日,智能座舱领域创新企业艾博连科技与国产大模型独角兽智谱,在上海国际车展艾博连会客厅签署合作协议。双方宣布将深度整合智谱在AI大模型领域的技术积淀与艾博连在汽车智能座舱场景的落地经验,共同推进下一代"有温度、懂需求…

vscode flutter 插件, vscode运行安卓项目,.gradle 路径配置

Flutter Flutter Widget Snippets Awesome Flutter Snippets i dart-import Dart Data Class Generator Json to Dart Model Dart Getters And Setter GetX Snippets GetX Generator GetX Generator for Flutter flutter-img-syncvscode运行安卓项目,.gradle 路径配…

Parasoft C++Test软件单元测试_对函数打桩的详细介绍

系列文章目录 Parasoft C++Test软件静态分析:操作指南(编码规范、质量度量)、常见问题及处理 Parasoft C++Test软件单元测试:操作指南、实例讲解、常见问题及处理 Parasoft C++Test软件集成测试:操作指南、实例讲解、常见问题及处理 进阶扩展:自动生成静态分析文档、自动…

c# TI BQFS文件格式详解及C#转换

FlashStream文件格式详解及C#转换 一、FlashStream文件格式详细解读 文件概述 FlashStream文件是TI用于配置电池电量计的文本文件格式,主要特点: • 纯文本格式,使用ASCII字符• 每行一条指令 • 分号(;)开头的行为注释 • 主要包含三种指令类型:写命令、比较命令和延时…

k8s中pod报错 FailedCreatePodSandBox

问题现象: 创建容器时出现一下情况 而且删掉控制器的时候pod还会卡住 解决: 将calico的pod重新删掉。其中有1个控制器pod以及3个node pod 删掉后,大概10来秒就重新创建完成了。 然后现在在使用kubectl apply -f 文件.yaml 就可以正常创…