自适应柔顺性策略:扩散引导控制中学习近似的柔顺

24年10月来自斯坦福大学和 TRI 的论文“Adaptive Compliance Policy: Learning Approximate Compliance for Diffusion Guided Control”。

柔顺性在操作中起着至关重要的作用,因为它可以在不确定的情况下平衡位置和力的并发控制。然而,当今的视觉运动策略往往忽视柔顺性,而只注重位置控制。本文介绍自适应柔顺性策略 (ACP),这种框架,从人类演示中学习针对给定的操作任务在空间和时间上动态调整系统柔顺性,改进以前依赖预选择的柔顺性参数或假设均匀恒定刚度的方法。然而,从人类演示中计算完整的柔顺性参数是一个定义不明确的问题。相反,本文估计一个具有两个有用属性的近似柔顺性曲线:避免大的接触力和鼓励准确跟踪。该方法使机器人能够处理复杂丰富接触的操作任务,与其他视觉运动策略方法相比,性能提高 50% 以上。

机器人系统所需的柔顺性并不是静态属性;相反,它会根据任务目标和系统状态而发生巨大变化。例如,考虑如图 翻转任务,所需的柔顺性:
• 随时间变化。例如,系统在接触前需要较少的柔顺性以优先考虑精确的位置跟踪,而在接触时变得柔顺。
• 随空间变化。例如,在枢转阶段,系统应仅在推动方向(即 K2 方向)上柔顺,同时在其他方向上保持高刚度以跟随弧形运动(例如,K1 方向的低柔顺性)。
• 因任务而异。如果换成不同的任务,例如擦拭图(右)中的花瓶,柔顺性的时间和空间属性都会发生变化,以满足独特的 3D 运动和力要求。

请添加图片描述

这项工作引入自适应柔顺性策略 (ACP),这是一种感觉运动策略,它学习根据人类演示在空间和时间上动态调整系统柔顺性以适应给定的操作任务。

如图各种方法比较。[左图] 显示 a) 典型的视觉运动策略 [6]、b) 典型的基于力柔顺策略 [26] 和 c) 自适应柔顺策略之间的比较。[右图] 自适应柔顺策略推断的虚拟目标(橙色方块)和参考姿势(黄色圆圈)的可视化。虚拟姿势和参考姿势之间的方向差异(橙色箭头)编码柔顺方向。

请添加图片描述

机器人柔顺性建模。柔顺性扩展机器人的动作空间 [21, 32]。考虑一个由位置 x 和力 f 描述的 N 维系统。柔顺性是力和运动之间的弹性行为,通常由弹簧质量阻尼器系统建模:

请添加图片描述

右侧的三个项分别代表惯性力、弹簧力和阻尼力。x_ref 是参考位置,此时弹簧力为零。柔顺行为由惯性矩阵 M、刚度矩阵 K 和阻尼矩阵 N×N K_D 描述,如果柔顺性由控制实现,则可由用户指定。换句话说,它们可以添加到高级策略 [3、2、8] 的动作空间中,而低级柔顺控制器实现“虚拟”刚度/阻尼/惯性。当高级策略无法足够快地表现出柔顺性时,这是有益的。

对柔顺控制器使用导纳控制 [31],它接收力反馈并输出位置目标。这适用于高精度位置控制机器人 (UR5e)。具有力控制接口的机器人也可以使用阻抗控制 [14] 或一些混合力-运动控制方案 [32、37]。

操作建模。模拟一个操作系统如何与机器人交互,将机器人视为一个黑盒子。做出以下假设:
假设 I:接触力占主导地位。与接触力相比,其他类型的力,如惯性力、摩擦力和重力,可以忽略不计。

不要将这与机器人本身的柔顺控制相混淆,后者是快速和动态的。通过避免快速机器人运动和使用轻量级物体来确保假设 I。考虑一个具有 N 个自由度的机器人,与环境进行 n 次接触。将 λ 表示为接触法向力的矢量,在假设 I 下,牛顿第二定律可以写成以下形式:

请添加图片描述

其中 J 是接触雅可比矩阵,它将接触力映射到机器人广义力空间。虽然该方法用于推导,但它不需要计算它。将 v表示为广义速度矢量,雅可比矩阵 J 还可以描述接触施加的速度约束:

请添加图片描述

选择动觉教育而不是遥操作来收集人体演示,以便操作员在直接触觉反馈下轻松演示可变的柔顺行为(如图所示)。一只手臂的设置包括一个机器人操纵器以提供精确的位置反馈,一个 RGB 摄像头以记录视觉信息,以及一个安装在机器人手附近的力矩传感器。

请添加图片描述

在演示过程中,为机器人柔顺控制器指定低刚度、低阻尼和低质量,以便操作员可以自由移动机器人。由于人手提供自然的外部稳定性,因此在演示过程中可以实现低阻尼和低质量。在测试过程中,增加机器人阻尼和虚拟质量以保持导纳控制器的稳定性。有必要将工具中心点 (TCP) 设置在手柄附近,这样机器人就可以在外力作用下以操作员直观的方式旋转。

人类在操作过程中使用不同的刚度。高刚度可在力扰动下提供位置精度。低刚度也是必要的,因为高刚度控制施加的速度约束可能与公式(3)中定义的接触约束相冲突,在此期间可能会产生巨大的内力 [17]。

然而,由于缺乏变化,从单个人类演示中估计柔顺性参数通常是一个病态问题 [4]。先前关于刚度估计的研究 [13] 假设完全了解阻尼和虚拟质量以及力运动信号有足够的变化。这些要求在动觉教育中得不到满足,其中人手改变机器人手的有效阻尼和质量,并且演示可以在一段时间内保持恒定的力或位置。

为了简化问题,还使用预选择的质量和阻尼值。然后,找到具有以下属性的刚度矩阵,而不是估计真实的人体刚度:
它避免在操作中产生巨大的内力。
它有助于准确跟踪所需的运动。

C.1 刚度方向:采用以下简单的策略来选择广义空间中的刚度方向:在力反馈方向上使用低刚度 k_low,在所有其他方向上使用高刚度 k_high。

从刚体力学 [33] 中,接触雅可比矩阵 J 的行代表接触法向力的方向,它在广义力空间中形成一个多面体凸锥。再做两个假设:
假设 II:非零接触力:所有接触都应具有非零接触力。
假设 III:无挤压接触:接触雅可比矩阵 J 的行形成的锥体,包含在其对偶锥体中。

通过在演示中清晰地进行接触,可以满足假设 II。假设 III 意味着机器人上的接触不太严格。如图显示一些示例:

请添加图片描述

在这些假设下提出以下定理:
定理 1. 对于由公式(2)描述的外部接触机器人,只要它在广义空间中不控制其在反馈力 f 方向上的速度,就存在一个满足接触约束(3)的解 v。

以上定理 1 表明,一维低刚度控制足以避免约束违规,因此可以在其他方向上使用高刚度来改善位置跟踪。令 K_0 ∈ RN 为对角矩阵,其对角线上有 [k_low, k_high, …, k_high],S 为一个列构成正交基的矩阵,第一列为 f / |f|。

刚度矩阵可以写成:

请添加图片描述

C.2 刚度大小:高刚度 k_high 应支持这些方向上的精确位置跟踪,可根据经验设定。低刚度值应为零,但是,由于低刚度方向是根据嘈杂的力信号估计,让刚度随力大小连续减小会很有帮助。

下面将策略制定为参考动作和目标刚度的扩散过程。该策略以滚动-范围(receding- horizon)方式运行 [6],其中使用最近的观察结果预测动作轨迹:1)鱼眼 RGB 图像,2)机器人末端执行器姿势,以及 3)力/扭矩数据。

1)输入和编码:为力/扭矩数据实施两种编码策略:i)通过因果卷积进行时间编码 [35],这有助于从力等序贯数据中捕获因果关系。用过去 32 个时间步的力读数,并将它们通过 5 层因果卷积网络,输出 768 维向量;ii )FFT 编码,将 6D 力/扭矩读数的每个维度转换为 2D 频谱图。这些频谱图(6×30×17)被传递到 ResNet-18 模型,该模型的输入通道已修改为 6。在开头添加一个坐标卷积层 [28] 来处理平移不变性。过去两个时间步的图像被随机裁剪为 224×224,然后使用 CLIP 预训练的 ViT-B/16 模型 [10] 进行编码。

图像和力编码都传递到 transformer 编码器层,使用自注意来学习自适应视觉-力的表征。该表征与过去 3 个时间步的机器人末端执行器姿势连接在一起,并作为以下条件馈送到下游的扩散策略头 [6]。

  1. 输出和解码:策略输出将位置目标、刚度矩阵和参考力编码到每只机械臂的 19 维向量中:
  • 参考姿势:遵循 [6] 中的约定的 9D 姿势向量,其中最后六个元素是旋转矩阵的前两行;
  • 虚拟目标姿势:代表低级柔顺性控制器要跟踪的实际目标 9D 姿势;
  • 表示低刚度方向的刚度大小标量值。

虚拟目标姿势的计算方式是,如果机器人在跟踪具有给定刚度的虚拟目标时达到参考姿势,它将施加参考力。它本质上将力目标转变为位置目标。这样做的好处,是可以在不同的机器人之间获得统一的目标表示:没有 FT 传感器的阻抗控制机器人,也可以执行虚拟目标。

在训练期间,首先将整个扳手数据 episode 通过具有一秒窗口大小的移动平均滤波器,然后从刚度矩阵公式(6)中计算刚度,最后计算 3D 机械弹簧后的虚拟目标。扳手的重度过滤有两个好处:1) 它使虚拟目标变得平滑;2) 它为动作标签提供即将进行接触的事后信息,这对于平滑的接触吸引力运动至关重要。

在推理时,按照公式(6)重建完整的刚度矩阵,将力的方向替换为从参考姿势到虚拟目标的方向。最后,刚度矩阵和虚拟目标都被发送到低级柔顺性控制器进行执行。

在两个接触丰富的操作任务中评估方法,这些任务的成功取决于维持合适的接触模式。用带有一个 GoPro RGB 摄像头和一个 ATI mini-45 力矩传感器的 UR5e 机器人。GoPro 摄像头以 60Hz 的频率传输图像,机器人以 500Hz 的频率接收笛卡尔姿势命令并发送姿势反馈,而 ATI 传感器以高达 7000Hz 的频率传输力矩数据。

评估以下四种策略,所有策略都在同一数据集上以相同的 epoch 数进行训练:
• ACP:自适应柔顺性策略,本文方法;
• 无 FFT 的 ACP:与 ACP 相同,但使用时间卷积 [35, 26] 而不是 FFT的力编码。
• 刚性策略:附加力输入的扩散策略 [6, 7],输出目标位置。
• 柔顺策略:与 [刚性策略] 相同,只是低级控制器具有均匀的刚度 k = 500N/m。在视觉运动策略中,依赖低级机器人柔顺性是很常见的 [26, 40, 44, 23]。

两种 ACP 变型都使用 3D 平移空间中的柔顺性,即 N = 3,尽管如果需要,该方法公式也适用于 6D 柔顺性。对于所有策略,使用两帧 RGB 图像和三帧末端执行器姿势。当这些数字较小时,策略对这些数字不敏感。[无 FFT 的 ACP] 使用以 250Hz 采样的 32 帧扳手数据,而其他所有三种策略都使用 7000Hz 的一秒数据。

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

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

相关文章

w264民族婚纱预定系统

🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…

栈/堆/static/虚表

在 C 里&#xff0c;栈空间主要用来存放局部变量、函数调用信息等。下面为你介绍栈空间在 C 里的运用方式。 1. 局部变量的使用 在函数内部定义的变量会被存于栈空间&#xff0c;当函数执行结束&#xff0c;这些变量会自动被销毁。 #include <iostream>void exampleFu…

SpringBoot实现异步调用的方法

在Java中使用Spring Boot实现异步请求和异步调用是一个常见的需求&#xff0c;可以提高应用程序的性能和响应能力。以下是实现这两种异步操作的基本方法&#xff1a; 一、异步请求&#xff08;Asynchronous Request&#xff09; 异步请求允许客户端发送请求后立即返回&#x…

基于 Prompt 的实体关系抽取:原理与优势解析

一、信息抽取的现状与挑战 在当今数字化时代&#xff0c;信息抽取作为自然语言处理&#xff08;NLP&#xff09;领域的核心技术&#xff0c;具有不可替代的重要性。从海量的非结构化文本数据中精准提取出有价值的信息&#xff0c;例如实体&#xff08;如人名、组织名&#xff…

SolidWorks使用显卡教程

操作步骤&#xff1a; 打开注册表编辑器 按下键盘上的 Win R 组合键&#xff0c;输入 regedit 并按回车键&#xff0c;打开注册表编辑器。 导航到显卡信息路径 在注册表中依次展开以下路径&#xff1a; plaintext HKEY_CURRENT_USER\Software\SolidWorks\SOLIDWORKS 2021\Per…

spring-tx笔记

编程式事务与声明式事务的理解 补充&#xff1a;什么是事务&#xff1f; 事务是一个重要概念&#xff0c;尤其在数据库管理系统中。事务是指一组操作。&#xff0c;这些操作要么全部成功执行&#xff0c;要么全部不执行&#xff0c;确保数据的一致性和完整性 编程式事务 编…

使用excel.EasyExcel实现导出有自定义样式模板的excel数据文件,粘贴即用!!!

客户要求导出的excel文件是有好看格式的&#xff0c;当然本文举例模板文件比较简单&#xff0c;内容丰富的模板可以自行设置&#xff0c;话不多说&#xff0c;第一步设置一个"好看"的excel文件模板 上面要注意的地方是{.变量名} &#xff0c;这里的变量名对应的就是…

AutoGluon快速上手

我叫不三不四&#xff0c;很高兴见到大家&#xff0c;欢迎一起学习交流和进步 今天来讲一讲机器学习包 AutoGluon简介&#xff1a; AutoGluon 提供了多种模型来处理不同类型的数据和任务&#xff0c;是由 亚马逊 AWS 团队 开发的一款开源 AutoML 框架&#xff0c;旨在简化机器…

AI风向标《AI与视频制作全攻略:从入门到精通实战课程》

课程信息 AI风向标《AI与视频制作全攻略&#xff1a;从入门到精通实战课程》,夸克网盘和百度网盘课程。 课程介绍 《AI与视频制作全攻略&#xff1a;从入门到精通实战课程》是一套全面融合AI技术与视频制作的实战课程&#xff0c;旨在帮助创作者从基础软件使用到高级视频剪辑…

Docker学习笔记(十)搭建Docker私有仓库

一、环境配置 1、宿主机系统&#xff1a;macOS Sequoia(版本15.2) 2、虚拟机VMware Fusion版本&#xff1a;专业版 13.6.2 (24409261) 3、虚拟机系统&#xff1a;AlmaLinux-9-latest-x86_64-boot.iso 二、安装Harbor开源企业级Docker镜像 Harbor 是一个开源的企业级 Docker…

Linux中基本命令

目录 ls pwd cd touch mkdir rm cp mv cat less head tail find grep ls 其实大部分命令都是可执行的文件&#xff0c;但有一些命令比如Shell内置命令&#xff0c;它没有对应的独立可执行文件&#xff0c;而是由Shell直接解释执行的。 功能&#xff1a;显示当前目…

IDEA导入jar包后提示无法解析jar包中的类,比如无法解析符号 ‘log4j‘

IDEA导入jar包后提示无法解析jar包中的类 问题描述解决方法 问题描述 IDEA导入jar包的Maven坐标后&#xff0c;使用jar中的类比如log4j&#xff0c;仍然提示比如无法解析符号 log4j。 解决方法 在添加了依赖和配置文件后&#xff0c;确保刷新你的IDE项目和任何缓存&#xff…

字节跳动实习生主导开发强化学习算法,助力大语言模型性能突破

目录 禹棋赢的背景与成就 主要成就 DAPO算法的技术细节 算法优势 禹棋赢的研究历程 关键时间节点 字节跳动的“Top Seed人才计划” 计划特点 小编总结 在大模型时代&#xff0c;经验不再是唯一的衡量标准&#xff0c;好奇心、执行力和对新技术的敏锐洞察力成为推动技术…

Mysql表的简单操作

&#x1f3dd;️专栏&#xff1a;Mysql_猫咪-9527的博客-CSDN博客 &#x1f305;主页&#xff1a;猫咪-9527-CSDN博客 “欲穷千里目&#xff0c;更上一层楼。会当凌绝顶&#xff0c;一览众山小。” 目录 3.1 创建表 3.2 查看表结构 3.3 修改表 1. 添加字段 2. 修改字段 …

【一起学Rust | Tauri2.0框架】基于 Rust 与 Tauri 2.0 框架实现全局状态管理

前言 在现代应用程序开发中&#xff0c;状态管理是构建复杂且可维护应用的关键。随着应用程序规模的增长&#xff0c;组件之间共享和同步状态变得越来越具有挑战性。如果处理不当&#xff0c;状态管理可能会导致代码混乱、难以调试&#xff0c;并最终影响应用程序的性能和可扩…

大模型的微调技术(高效微调原理篇)

背景 公司有需求做农业方向的大模型应用以及Agent助手&#xff0c;那么适配农业数据就非常重要。但众所周知&#xff0c;大模型的全量微调对算力资源要求巨大&#xff0c;在现实的限制条件下基本“玩不起”&#xff0c;那么高效微调技术就非常必要。为了更好地对微调技术选型和…

Java 大视界 -- Java 大数据在智能家居设备联动与场景自动化中的应用(140)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…

面试八股 —— Redis篇

重点&#xff1a;缓存 和 分布式锁 缓存&#xff08;穿透&#xff0c;击穿&#xff0c;雪崩&#xff09; 降级可作为系统的保底策略&#xff0c;适用于穿透&#xff0c;击穿&#xff0c;雪崩 1.缓存穿透 2.缓存击穿 3.缓存雪崩 缓存——双写一致性 1.强一致性业务&#xff08…

[网络安全] 滥用Azure内置Contributor角色横向移动至Azure VM

本文来源于团队的超辉老师&#xff0c;其系统分析了Azure RBAC角色模型及其在权限滥用场景下的攻击路径。通过利用AADInternals工具提升用户至Contributor角色&#xff0c;攻击者可在Azure VM中远程执行命令&#xff0c;创建后门账户&#xff0c;实现横向移动。文中详述了攻击步…

OO_Unit1

第一次作业 UML类图 代码复杂度分析 其中Expr中的toString方法认知复杂度比较高&#xff0c;主要源于多层条件嵌套和分散的字符串处理逻辑&#xff0c;重构时可重点关注这两部分的解耦。 代码量分析 1.”通用形式“ 我觉得我的设计的最大特点就是“通用形式”&#xff0c;具…