TLA:用于接触-丰富操作的触觉-语言-动作模型

25年3月来自三星中国研发中心、中科院自动化所和北京智源的论文“TLA: Tactile-Language-Action Model for Contact-Rich Manipulation”。

视觉-语言模型已取得显著进展。然而,在语言条件下进行机器人操作以应对接触-密集型任务方面,仍未得到充分探索,尤其是在触觉感知方面。触觉-语言-动作 (TLA) 模型,通过跨模态语言基础有效地处理连续触觉反馈,从而能够在接触-密集型场景中实现稳健的策略生成。此外,构建一个包含 24000 对触觉动作指令数据的综合数据集,该数据集针对指尖销孔装配进行定制,为 TLA 的训练和评估提供必要的资源。结果表明,TLA 在有效动作生成和动作准确性方面显著优于传统的模仿学习方法(例如扩散策略),同时通过在以前未见过的装配间隙和销形上实现超过 85% 的成功率,表现出强大的泛化能力。

触觉感知对于接触-密集的机器人操作任务至关重要 [1]。例如,在精细装配任务中,机器人需要精确感知物体表面的细微变化 [2], [3]。触觉感知使机器人能够对其接触姿态进行细微调整,避免损坏或错位 [4]。这种精确的接触感知在许多复杂任务中都必不可少 [5]。先前的研究表明,整合触觉反馈可以显著增强操作技能的灵活性和鲁棒性 [6], [7],尤其是在处理复杂或不可预见的接触环境时,从而提高机器人的适应性。然而,当前的方法很大程度上依赖于在特定数据集上训练的专用模型 [8], [9],这些模型在泛化方面受到限制,无法与通用模型的能力相媲美 [10], [11]。

近年来,大语言模型在类人推理方面取得了重大突破 [12],其中视觉-语言-动作 (VLA) 模型的开发进展迅速 [13],[14]。通过跨模态语言基础,VLA 模型的表现优于传统的模仿学习方法,尤其是在跨不同机器人平台和任务设置的泛化方面。然而,目前大多数 VLA 模型主要侧重于视觉任务 [15],缺乏关键的触觉模态,这限制了它们在接触-丰富操作任务中的适用性 [16]。尽管最近有研究致力于将语言和触觉结合起来用于感知任务 [17],[18],[19],但这些研究依赖于排除机器人动作或将触觉作为补充模态的数据集 [20],这限制了它们在策略训练中的适用性,仅限于仅依赖感知或拾取放置的抓取任务。基于语言的触觉技能学习,面临的挑战包括:1)缺乏针对接触-密集型操作任务的专门触觉动作指令数据集;2)缺乏合适的触觉-语言-动作模型。

为了应对上述挑战,本文构建一个针对指尖触觉销孔装配场景的触觉动作指令数据集 [21]。其提出一种用于通才机器人策略学习的微调方法,称为触觉-语言-动作 (TLA) 模型,该方法表明跨模态微调能够通过语言落地获取泛化的触觉技能。所提出的 TLA 数据集和模型概览如图所示:

请添加图片描述

建立一个在钉孔装配过程中收集的触觉动作指令数据集。在此任务中,配备 GelStereo 2.0 视觉触觉传感器 [27] 的机器人,尝试基于指尖触觉感知和语言指令将钉子插入相应的孔中。为了高效地收集数据,在 NVIDIA Isaac Gym 中搭建此任务的模拟环境。基于有限元法 (FEM),使用 Flex 物理引擎模拟交互过程中视觉触觉传感器的变形。采用 [28] 中提出的触觉铭刻渲染方法来模拟触觉图像。为了缩小模拟与真实的差距,使用从真实传感器获取的触觉图像进行纹理映射,而不是手动设计的图案。通过这种方式,可以在插入尝试过程中获得高保真度的触觉图像。

钉孔任务的流程如下所述。夹持器首先抓住一个具有形状描述的钉子,并移动到相应孔的顶部,在 x 轴、y 轴和绕 z 轴的旋转上具有随机的 3-DOF 错位(用 rz 表示)。然后,夹持器向下移动尝试插入。如果在向下移动过程中钉子和孔发生碰撞,则认为此次尝试失败,夹持器抬起等待下一次尝试。碰撞期间的触觉图像序列被记录下来,以推断调整钉子姿态的机器人动作 (∆x, ∆y, ∆rz)。如果在夹持器向下移动到预定位置时未发生碰撞,则任务被视为成功。最大尝试次数为 15 次。否则,任务失败。

在模拟中,对这个钉入孔任务采用随机插入策略。对于每次尝试,都会保存触觉图像序列和钉孔姿态误差。然后,根据钉孔姿势误差 (e_x, e_y, e_rz) 创建动作标签 (∆xˆ, ∆yˆ, ∆rˆz)。

为了方便模型训练,收集的交互数据被转换为指令格式。<|im start|> 和 <|im end|> token 标记每轮对话的开始和结束。触觉图像则以 <|vision start|> 和 <|vision end|> 输入,分别表示视觉输入的开始和结束。文本指令定义任务,阐明挂钩类型和姿势要求。机器人在数据收集过程中的动作被保存为真值。如图展示 TLA 数据的示例:

请添加图片描述

触觉-语言-动作模型,如图所示。TLA 基于 Qwen2-VL [29] 构建,该模型包含用于编码视觉输入的视觉transformer (ViT) [30] 和用于理解多模态信息和生成文本的 Qwen2 语言模型 [31]。

请添加图片描述

触觉编码器

如上文所述,视觉触觉传感器的触觉信息以图像的形式呈现。在机器人操作过程中,触觉图像会根据机器人夹持器的接触状态不断变化。因此,触觉编码器需要处理两个时间上对齐的图像序列。

触觉编码器的挑战在于从输入的触觉图像中提取时间变化。为了解决这个问题,将两个触觉图像序列合成为一个图像,将时间信息转换为空间信息,以便于基于视觉触觉的特征提取。具体而言,输入图像集表示为 I = {I_lt, I_rt; t = 0, 1, 2, 3},其中 I_lt 和 I_r^t 分别表示时间戳 t 时左右指尖的触觉图像。这八幅图像排列成 3×3 的网格,最后一个网格用白色图像填充,并调整为 616×616 的尺寸作为模型输入。

用 Qwen2-VL 的 ViT 作为触觉编码器,如上图所示。连接后的触觉图像经触觉编码器处理后,获得触觉特征。此外,还使用多层感知器 (MLP) 层将 2×​​2 范围内的触觉特征进一步压缩为单个 token。因此,对于输入的触觉图像 I,经过块大小为 14 的 ViT 后,可以获得 1936 个触觉 tokens。

使用语言模型进行动作预测

使用 Qwen2 语言模型预测机器人动作,如上图所示。语言模型的输入是触觉 token 和语言 token,它们分别由触觉编码器和 token 化器对原始多模态输入进行编码获得。Qwen2 7B 是 TLA 的骨干模型,并在 TLA 数据集上进行微调。

使用离散标记器对连续数字进行编码会影响模型在数字敏感任务中的表现 [32]。先前的研究 [13] 只是将最少使用的标记覆盖为“特殊标记”,并为每个标记分配 bin ID。与之前的方法不同,我们保留了数字编码方案,以确保在机器人操作任务中有效地利用训练前获得的数字知识。
然而,Qwen2 的 token 化器对数字进行单独编码。由于机器人动作数据中存在大量小数,这些冗余信息增加模型训练的难度。为此,通过按比例缩放所有动作并四舍五入为整数来简化真实动作。具体而言,处理过程计算为 A_gt = A_raw·s,其中 A_gt、A_raw、s 分别为真实动作、原始动作和缩放因子。

训练与推理

先前的研究表明,在训练期间冻结视觉编码器可以使 VLM 获得更好的性能 [29] [33]。因此,在微调期间冻结触觉编码器的参数。此外,使用低秩自适应 (LoRA) [34] 来有效地微调 Qwen2 7B 语言模型。真实动作被用作标签来计算下一个分词预测损失。

在推理过程中,TLA 根据输入的触觉观察和指令文本,依次预测机器人动作的概率分布。生成过程通过波束搜索进行,直至生成最终的 token。最后,Action-De-Tokenizer 将所有生成的概率根据词汇表映射到自然语言文本,并将其转换为机器人可执行的浮点数。

基线方法和TLA比较试验:
• 行为克隆 (BC) [35]:采用 ResNet-50 [36] 作为策略网络。该网络以触觉图像为输入,输出机器人动作,并采用监督学习的方式进行训练。
• 扩散策略 (DP) [37]:[37] 中的扩散策略利用条件去噪扩散过程来学习钉入孔装配策略。
• 单钉 TLA (SP-TLA):在方形钉插入数据集上训练的 TLA 模型。
• 多钉 TLA (MP-TLA):在方形和三角形钉插入数据集上训练的 TLA 模型。

实验设置。

单钉。从 TLA 数据集中选取 8k 的方形桩插入数据,用于比较 TLA 与基线方法的性能。具体而言,训练集和测试集分别拆分为 6k 和 2k。每个训练样本包含 8 张触觉图像,分别对应左右指尖,时长为 4。标签为机器人动作 (∆x, ∆y, ∆rz),分别表示水平方向的移动和绕 z 轴的旋转。TLA 模型在 8 块 Nvidia A6000 GPU 上训练 20 个 epoch。

多钉。选取 16,000 个方形和三角形桩样本进行训练,并进行等分。此外,收集 8,000 个样本进行评估:方形/三角形桩各 4,000 个,圆形/六边形桩各 4,000 个。输入、输出和指标与单桩任务一致。训练使用 8 块 Nvidia A6000 GPU,进行 10 个 epoch。

测试不同模型在两类销孔装配任务中的操作性能。首先,评估不同装配间隙下的模型性能,包括装配间隙分别为2.0 mm、1.6 mm和1.0 mm的方形销孔装配任务。然后,报告不同模型在方形、三角形、圆形和六边形销插入任务中的表现,所有装配间隙均设置为 2.0 mm。每个任务重复 50 次以计算最终结果。

在每个回合开始时,机器人已经用夹持器抓住钉子,并将末端执行器随机设置在靠近目标孔的起始位置。然后,机器人尝试第一次插入并获取触觉图像。随后,TLA 或其他模型根据触觉观察预测机器人的动作,并控制机器人再次插入。机器人持续尝试,直至插入成功或达到最大尝试次数 15。成功率和成功回合的平均步数用于评估所有模型的性能。

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

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

相关文章

【JavaEE】SpringBoot 统一功能处理

目录 一、拦截器1.1 使用1.1 定义拦截器1.2 注册配置拦截器 1.2 拦截器详解1.2.1 拦截路径1.2.2 拦截器执⾏流程 1.3 适配器模式 二、统一数据返回格式2.1 简单用法2.2 问题及解决 三、统一异常处理 一、拦截器 拦截器&#xff1a;拦截器是Spring框架提供的核⼼功能之⼀&#…

【前端实战】使用 BroadcastChannel API 实现跨标签页通信

一、引言 在现代 Web 应用开发中&#xff0c;我们常常会遇到需要在不同浏览器标签页之间进行通信的需求。例如&#xff0c;在一个电商应用中&#xff0c;用户在一个标签页中添加商品到购物车&#xff0c;希望在其他标签页中也能实时显示购物车的更新信息。传统的实现方式可能会…

微信小程序 - [渲染层错误] Uncaught TypeError: Cannot read property ‘D‘ of undefined

问题&#xff1a;[渲染层错误] Uncaught TypeError: Cannot read property D of undefined 解决&#xff1a; 该错误可能还是小程序的渲染模式有关系&#xff0c;查看app.json中是否有如下配置&#xff0c;删除即可&#xff0c;或者降低小程序调试基础库版本。

【MySQL高级】事务,存储引擎,索引(一)

Mysql高级 DQL查询语句 反引号 模糊查询避免%出现在开头,会造成索引失效 order by排序先后 表名列名都需要用${}&#xff0c;他们不能带’’ 去重统计数量 null的运算 分组函数会自动忽略null&#xff0c;不用对null进行处理 截取子串substr&#xff08;字段&#xff0c;下标…

面试篇 - GPT-1(Generative Pre-Training 1)

GPT-1&#xff08;Generative Pre-Training 1&#xff09; ⭐模型结构 Transformer only-decoder&#xff1a;GPT-1模型使用了一个12层的Transformer解码器。具体细节与标准的Transformer相同&#xff0c;但位置编码是可训练的。 注意力机制&#xff1a; 原始Transformer的解…

ubuntu24.04 cmake 报错 libldap-2.5.so.0 解决办法

apt cmake有毛病 换源重新安装 wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add - sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" sudo apt update sudo apt in…

ScholarCopilot:“学术副驾驶“

这里写目录标题 引言&#xff1a;学术写作的痛点与 AI 的曙光ScholarCopilot 的核心武器库&#xff1a;智能生成与精准引用智能文本生成&#xff1a;不止于“下一句”智能引用管理&#xff1a;让引用恰到好处 揭秘背后机制&#xff1a;检索与生成的动态协同快速上手&#xff1a…

vivo X200 Ultra前瞻系列(2):vivo X200 Ultra影像技术沟通会总结

vivo于今日(2025年4月14日)举办的“X系列蓝图影像技术沟通会”中,正式发布了vivo X200 Ultra,展示了其在移动影像领域的多项技术突破。以下是本次沟通会的核心内容总结: 1. 硬件革新:蔡司三焦段镜头与双芯架构 蔡司三大定焦大师镜头: X200 Ultra采用14mm超广角(“鹰眼”…

代码随想录第17天:二叉树

一、二叉搜索树的最近公共祖先&#xff08;Leetcode 235&#xff09; 由于是二叉搜索树&#xff0c;节点的值有严格的顺序关系&#xff1a;左子树的节点值都小于父节点&#xff0c;右子树的节点值都大于父节点。利用这一点&#xff0c;可以在树中更高效地找到最低公共祖先。 c…

C++中string库常用函数超详细解析与深度实践

目录 一、引言 二、基础准备&#xff1a;头文件与命名空间 三、string对象的创建与初始化(基础&#xff09; 3.1 直接初始化 3.2 动态初始化&#xff08;空字符串&#xff09; 3.3 基于字符数组初始化 3.4 重复字符初始化 四、核心函数详解 4.1 字符串长度相关 4.1.1 …

LanDiff:赋能视频创作,语言与扩散模型的融合力量

自从 Wan 2.1 发布以来&#xff0c;AI 视频生成领域似乎进入了一个发展瓶颈期&#xff0c;但这也让人隐隐感到&#xff1a;“DeepSeek 时刻”即将到来&#xff01;就在前几天&#xff0c;浙江大学与月之暗面联合推出了一款全新的文本到视频&#xff08;T2V&#xff09;生成模型…

【本地图床搭建】宝塔+Docker+MinIO+PicGo+cpolar:打造本地化“黑科技”图床方案

写在前面&#xff1a;本博客仅作记录学习之用&#xff0c;部分图片来自网络&#xff0c;如需引用请注明出处&#xff0c;同时如有侵犯您的权益&#xff0c;请联系删除&#xff01; 文章目录 前言宝塔安装DockerMinIO 安装与设置cploar内网穿透PicGo下载与安装typora安装总结互动…

centos-LLM-生物信息-BioGPT-使用1

参考&#xff1a; GitHub - microsoft/BioGPT https://github.com/microsoft/BioGPT BioGPT&#xff1a;用于生物医学文本生成和挖掘的生成式预训练转换器 |生物信息学简报 |牛津学术 — BioGPT: generative pre-trained transformer for biomedical text generation and mini…

高效爬虫:一文掌握 Crawlee 的详细使用(web高效抓取和浏览器自动化库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Crawlee概述1.1 Crawlee介绍1.2 为什么 Crawlee 是网页抓取和爬取的首选?1.3 为什么使用 Crawlee 而不是 Scrapy1.4 Crawlee的安装二、Crawlee的基本使用2.1 BeautifulSoupCrawler的使用方式2.2 ParselCrawler的使…

架构总览怎么写,才算工业级?

📈系统架构文档是整个项目最重要的起点,但很多人第一章就“写穿了”: 不是写得太细,就是没有重点。想要写出高质量、能协作、能传承的架构文档,这一篇会告诉你应该怎么做—— ✅ 架构总览的终极目标 明确边界、定义角色、画清数据流 别讲执行细节,别深入函数调用。 ✅ 架…

优先级队列(堆二叉树)底层的实现:

我们继续来看我们的优先级队列&#xff1a; 优先级队列我们说过&#xff0c;他也是一个容器适配器&#xff0c;要依赖我们的容器来存储数据&#xff1b; 他的第二个参数就是我们的容器&#xff0c;这个容器的默认的缺省值是vector&#xff0c;然后他的第三个参数&#xff0c;我…

GIC驱动程序分析

今天呢&#xff0c;我们就来具体的讲一下GIC的驱动源码啦&#xff0c;这个才是重点来着&#xff0c;我们来看看&#xff1a; GIC中的重要函数和结构体&#xff1a; 沿着中断的处理流程&#xff0c;GIC涉及这4个重要部分&#xff1a; CPU从异常向量表中调用handle_arch_irq&am…

java操作redis库,开箱即用

application.yml spring:application:name: demo#Redis相关配置redis:data:# 地址host: localhost# 端口&#xff0c;默认为6379port: 6379# 数据库索引database: 0# 密码password:# 连接超时时间timeout: 10slettuce:pool:# 连接池中的最小空闲连接min-idle: 0# 连接池中的最…

Cribl 通过Splunk search collector 来收集数据

今天利用Spliunk search collector 来收集数据啦:还是要先cribl 的官方文档: Splunk Search Collector | Cribl Docs Splunk Search Collector Cribl Stream supports collecting search results from Splunk queries. The queries can be both simple and complex, as well a…

What Was the “Game Genie“ Cheat Device, and How Did It Work?

什么是“Game Genie”作弊装置&#xff0c;它是如何工作的&#xff1f; First released in 1991, the Game Genie let players enter special codes that made video games easier or unlocked other functions. Nintendo didnt like it, but many gamers loved it. Heres wha…