当前位置: 首页 > article >正文

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

相关文章:

复杂地形越野机器人导航新突破!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美国陆军研究实验室&…...

Jsp技术入门指南【十】IDEA 开发环境下实现 MySQL 数据在 JSP 页面的可视化展示,实现前后端交互

Jsp技术入门指南【十】IDEA 开发环境下实现 MySQL 数据在 JSP 页面的可视化展示,实现前后端交互 前言一、JDBC 核心接口和类:数据库连接的“工具箱”1. 常用的 2 个“关键类”2. 必须掌握的 5 个“核心接口” 二、创建 JDBC 程序的步骤1. 第一步&#xf…...

数据库未正常关闭后,再次启动时只有主进程,数据库日志无输出

瀚高数据库 目录 环境 症状 问题原因 解决方案 环境 系统平台:银河麒麟svs(X86_64) 版本:4.5.8 症状 现象:使用pg_ctl stop停止数据库,未正常关闭;使用pg_ctl stop -m i 强制关闭数据库后&…...

【信息系统项目管理师】高分论文:论成本管理与采购管理(信用管理系统)

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论文1、规划成本管理2、成本估算3、成本预算4、成本控制论文 2019年1月,我作为项目经理参与了 XX基金管理有限公司信用管理系统项目。该项目成 本1000万,建设期为1年。通过该项目,XX基金管理有限公司在信用…...

Oracle Recovery Tools修复ORA-00742、ORA-600 ktbair2: illegal inheritance故障

接到客户反馈,一套运行在虚拟化平台中的Oracle数据库,由于机房断电,导致数据库无法启动,最初启动报错 2025-04-22T16:59:48.92222708:00 Completed: alter database mount exclusive alter database open 2025-04-22T16:59:52.60972608:00 Ping without log force is disabled:…...

基于 Netmiko 的网络设备自动化操作

学习目标 掌握 Netmiko 库的核心功能与使用场景。能够通过 Netmiko 连接多厂商设备并执行命令和配置。实现批量设备管理、配置备份与自动化巡检。掌握异常处理、日志记录与性能优化技巧。理解 Netmiko 在自动化运维体系中的角色。 1. Netmiko 简介 1.1 什么是 Netmiko Netmi…...

玉米产量遥感估产系统的开发实践(持续迭代与更新)

项目地址:项目首页 - maize_yield_estimation:玉米估产的flaskvue项目 - GitCode 开发中,敬请期待。。。 以下是预先写的提纲,准备慢慢补充 一、项目背景与工程目标 业务需求分析 农业遥感估产的行业痛点(数据分散、模型精度不足…...

LeNet5 神经网络的参数解析和图片尺寸解析

1.LeNet-5 神经网络 以下是针对 LeNet-5 神经网络的详细参数解析和图片尺寸变化分析,和原始论文设计,通过分步计算说明各层的张量变换过程。 经典的 LeNet-5架构简化版(原始论文输入为 32x32,MNIST 常用 28x28 需调整&#xff09…...

Axure大屏可视化模板:多领域数据决策的新引擎

在数据驱动决策的时代,Axure大屏可视化模板凭借交互性与可定制性,成为农业、园区管理、智慧城市、企业及医疗领域的创新工具,助力高效数据展示与智能决策。 核心应用场景 1. 农业精细化:实时监控土壤湿度、作物生长曲线&#x…...

大内存生产环境tomcat-jvm配置实践

话不多讲,奉上代码,分享经验,交流提高! 64G物理内存,8核CPU生产环境tomcat-jvm配置如下: JAVA_OPTS-server -XX:MaxMetaspaceSize4G -XX:ReservedCodeCacheSize2G -XX:UseG1GC -Xms48G -Xmx48G -XX:MaxGCPauseMilli…...

APP和小程序需要注册域名吗?(国科云)

在移动互联网时代,APP和小程序已成为企业和个人提供服务、展示产品的重要渠道。那么APP和小程序的兴起是否对域名造成了冲击,APP和小程序是否需要注册域名呢? APP是否需要注册域名? 从技术上讲,没有域名的APP仍然可以…...

代码随想录算法训练营第60期第十七天打卡

今天我们继续进入二叉树的下一个章节,今天的内容我在写今天的博客前大致看了一下部分题目难度不算大,那我们就进入今天的题目。 第一题对应力扣编号为654的题目最大二叉树 这道题目的坑相当多,我第一次题目没有看明白就是我不知道到底是如何…...

小刚说C语言刷题——1565成绩(score)

1.题目描述 牛牛最近学习了 C 入门课程,这门课程的总成绩计算方法是: 总成绩作业成绩 20% 小测成绩 30% 期末考试成绩 50%。 牛牛想知道,这门课程自己最终能得到多少分。 输入 三个非负整数 A、B、C ,分别表示牛牛的作业成…...

SOC估算:开路电压修正的安时积分法

SOC估算:开路电压修正的安时积分法 基本概念 开路电压修正的安时积分法是一种结合了两种SOC估算方法的混合技术: 安时积分法(库仑计数法) - 通过电流积分计算SOC变化 开路电压法 - 通过电池电压与SOC的关系曲线进行校准 方法原…...

Spark-SQL(总结)

了解到Spark SQL是Spark用于结构化数据处理的模块,其前身是Shark。Shark基于Hive开发,但对Hive的依赖制约了Spark的发展。掌握了 Spark - SQL 的特点,如易整合、统一数据访问、兼容 Hive 以及支持标准数据连接,可处理多种数据源的…...

Oracle for Linux安装和配置(11)——Oracle安装和配置

11.3. Oracle安装和配置 Linux上Oracle的安装及配置与Windows上差不多,只是安装软件的准备等有所不同,下面只对不同于Windows的部分进行较为详细的讲解,其他类似部分不再赘述。另外,无论选择使用虚机还是物理机,Oracle安装、配置和使用等方面几乎都是完全一样的。 11.3.…...

【防火墙 pfsense】2配置

(1)接口配置和接口 IP 地址分配 ->配置广域网(WAN)和局域网(LAN)接口,分配设备标识符,如 eth0、eth1 等; ->如将WAN 接口将被分配到 eth0,而 LAN 接口将…...

使用 SSE + WebFlux 推送日志信息到前端

为什么使用 SSE 而不使用 WebSocket, 请看 SEE 对比 Websocket 的优缺点。 特性SSEWebSocket通信方向单向(服务器→客户端)双向(全双工)协议基于 HTTP独立协议(需 ws:// 前缀)兼容性现代浏览器&#xff08…...

Ollama 常见命令速览:本地大模型管理指南

Ollama 常见命令速览:本地大模型管理指南 一、什么是 Ollama? Ollama 是一个轻量级工具,允许用户在本地快速部署和运行大型语言模型(LLM),如 Llama、DeepSeek、CodeLlama 等。其命令行工具设计简洁&#…...

C++开发之设计模式

设计模式存在的意义 设计模式提供了经过验证的解决方案,帮助开发者在不同的项目中重用这些解决方法,减少重复劳动,提高代码的复用性。设计模式通常遵循面向对象的设计原则,如单一职责原则、开放封闭原则等,能够帮助开…...

AWS Glue ETL设计与调度最佳实践

一、引言 在AWS Glue中设计和调度ETL过程时,需结合其无服务器架构和托管服务特性,采用系统化方法和最佳实践,以提高效率、可靠性和可维护性。本文将从调度策略和设计方法两大维度详细论述,并辅以实际案例说明。 二、调度策略的最…...

二叉树的遍历(广度优先搜索)

二叉树的第二种遍历方式,层序遍历,本质是运用队列对二叉树进行搜索。 层序遍历是指将二叉树的每一层按顺序遍历,通过队列实现就是先将根节点push入队,统计此时的队列中的元素数量size,将size元素全部pop出去&#xff0…...

JavaScript 里创建对象

咱们来用有趣的方式探索一下 JavaScript 里创建对象的各种“魔法咒语”! 想象一下,你是一位魔法工匠,想要在你的代码世界里创造各种奇妙的“魔法物品”(也就是对象)。你有好几种不同的配方和工具: 1. 随手捏造(对象字面量 {}) 场景:你想快速做一个独一无二的小玩意儿…...

2025年计算机视觉与智能通信国际会议(ICCVIC 2025)

2025 International Conference on Computer Vision and Intelligent Communication 一、大会信息 会议简称:ICCVIC 2025 大会地点:中国杭州 收录检索:提交Ei Compendex,CPCI,CNKI,Google Scholar等 二、会议简介 2025年计算机视觉与智能通…...

手工收集统计信息

有时想对某些表收集统计信息 CREATE OR REPLACE PROCEDURE GATHER_STATS ASDECLAREV_SQL1 VARCHAR(1000);--表游标CURSOR C1 ISSELECT (SELECT USER) AS TABLE_OWNER,TABLE_NAMEFROM USER_TABLES; --可以在这里加过滤条件--索引游标CURSOR C2 ISSELECT TABLE_OWNER,INDEX_NAM…...

flume整合Kafka和spark-streaming核心编程

flume整合Kafka 需求1:利用flume监控某目录中新生成的文件,将监控到的变更数据发送给kafka,kafka将收到的数据打印到控制台: 1.查看topic 2.编辑flume-Kafka.conf,并启动flume 3.启动Kafka消费者 4.新增测试数据 5.查…...

tokenizer的用法

下面介绍下基于 Hugging Face Transformers 库中 tokenizer(分词器)的主要用法和常用方法,帮助你了解如何在各种场景下处理文本。这里以 AutoTokenizer 为例,但大多数模型对应的 tokenizer 用法大同小异。 ───────────…...

kotlin和MVVM的结合使用总结(二)

MVVM 架构详解 核心组件:ViewModel 和 LiveData 在 Android 中,MVVM 架构主要借助 ViewModel 和 LiveData 来实现。ViewModel 负责处理业务逻辑,而 LiveData 则用于实现数据的响应式更新。 ViewModel 的源码分析 ViewModel 的核心逻辑在 …...

Git 入门知识详解

文章目录 一、Git 是什么1、Git 简介2、Git 的诞生3、集中式 vs 分布式3.1 集中式版本控制系统3.2 分布式版本控制系统 二、GitHub 与 Git 安装1、GitHub2、Git 安装 一、Git 是什么 1、Git 简介 Git 是目前世界上最先进的分布式版本控制系统。版本控制系统能帮助我们更好地管…...

React.memo 和 useMemo

现象 React 中,通常父组件的某个state发生改变,会引起父组件的重新渲染(和其他state的重新计算),从而会导致子组件的重新渲染(和其他非相关属性的重新计算) 问题一:如何避免因为某个…...