PerAct2:机器人双臂操作任务的基准测试和学习

项目主页:http://bimanual.github.io/论文链接:https://arxiv.org/abs/2407.002781 引言人类用双手无缝地操纵他们的环境并与之互动。凭借双手,人类通过增强的可达性实现了更高的效率,并且可以解决更复杂的任务。尽管最近在抓取和操作规划方面取得了进展,双臂操作的研究仍然是一个开发不足的领域,特别是在学习操作策略方面。与需要用单臂抓握或操作的任务不同,双臂操作引入了一层复杂性,因为需要空间和时间的协调以及对手头任务的深刻理解。这种复杂性由于现实世界任务的动态性质而变得更加复杂,在现实世界中,环境的状态和其中的对象是不断变化的,要求双方不断调整和协调。

图1:从基准测试和现实世界的例子中选择 双臂 操作的任务。由于该架构设计,该方法可以容易地转移到其他机器人,因为该策略输出6-D姿态,并且对于底层控制器是不可知的。随着复杂双臂系统的出现,如波士顿动力公司的Atlas,特斯拉的Optimus或Figure AI的Humanoid,研究现实世界任务中双臂操作的实验正在增加。值得注意的是,赵等人的工作提出了从遥操作收集的演示中学习的复杂和细粒度的真实世界任务。虽然现实世界的任务为理解双臂操作的挑战提供了丰富的背景,但它们受到重复性和可变性问题的困扰,使得系统评估很困难。为了推进双臂操作的研究,迫切需要一个专用的和丰富的双臂基准,允许对新方法和模型进行可重复的和系统的评估。为了填补这一空白,我们将机器人学习基准RLBench扩展到双臂操作。此外,我们将现有的两种基于单手学习的方法,即PerAct和RVT,扩展到双臂操作,并与Act进行比较。在进行基准测试时,我们发现运行两个独立的代理是不够的,协调是一个至关重要的方面。因此,我们提出了一种在单个网络中使用语言条件行为克隆代理来学习双臂手动作以及隐式协调的方法。总的来说,我们的贡献可以总结如下:具有13个双臂操作任务和23个独特任务变体的基准。RLBench用作保留其功能和关键属性的基础。一种新的网络体系结构,称为PerAct2,基于PerAct框架来预测双臂操作动作;现实世界的定性实验。我们承认基准中包含的任务的复杂性,并期待研究社区迎接这些挑战。我们还希望我们的方法和评估将极大地提高双臂机器人(包括人形机器人)技能学习的基准和推广。3 方法为了进行基准测试,我们通过添加双臂操作的功能和任务,将RLBench扩展到复杂的双臂操作情况。与其他框架相比,我们选择RLBench有几个关键优势,主要是它能够生成各种各样的训练数据,以及在学习社区中被广泛接受。为了启动基准测试,我们还提出了双臂行为克隆代理。我们的方法称为PerAct2,它扩展了PerAct,后者为单手操作动作学习了一个单一的语言条件策略。

图2示出了系统架构,该系统架构已经被修改以适应两个机械臂之间在响应语言指令时所需的复杂协调。3.1 RLBench2RLBench是一个机器人学习基准套件,具有超过100个任务,以促进机器人学习,在社区中广泛使用。在任务多样性中,其他关键属性包括可重复性和适应不同学习策略的能力。我们将RLBench扩展到双臂操作,同时保留其功能和关键属性。这使我们能够量化我们方法的成功,并将其与其他基线进行比较。与单手操作相比,双臂操作更具挑战性,因为它需要双臂不同类型的协调和配合。因此,我们还提供了任务描述以及基准性能指标,并在附录a中概述了每项任务的主要挑战。对于实施而言,这将使其更加复杂,因为同时控制两个分支时需要同步。3.2任务和挑战我们介绍了13个双臂操作任务,具有不同的耦合,协调,语言指令和操作技巧。

图3说明了这些任务,其范围从像"将盒子推到目标区域"到"将瓶子放入冰箱"的指令。在这些任务中,有八个是抓握操作,三个是非抓握操作,两个两者都有。这些任务也表现出不同类型的耦合和协调。例如,任务"提升托盘"必须同步执行,两臂必须协调。表2根据双双臂分类法对任务进行分类。这里,关键的区别因素是耦合以及两臂之间所需的协调。我们扩展了分类,因为我们还区分了物理耦合,即如果一个臂施加的力可以被另一个臂测量。基准任务在复杂性和两个部门之间所需的协调方面有所不同。其他属性,如对象数量和变化计数,也会影响任务的复杂性。所有这些属性都会影响任务的复杂性,定性和定量基准测试都需要一组丰富多样的任务。图2:系统架构。PerAct2将本体感受、RGB-D相机图像以及任务描述作为输入。通过合并来自多个RGB-D相机的数据来构建体素网格。感知转换器用于学习体素和语言级别的特征。每个机械臂的输出包括一个离散动作,其中包括六维末端执行器姿态、夹持器状态和运动规划器是否应该使用碰撞避免的额外指示。图3:不同任务的概述。例如,可视化的任务(g)包括特定项目的移交。3.3 PerAct2为了解决双臂操作任务的挑战,我们按照先前建立的框架,提出了一种预测双臂操作的方法。我们的模型将3D体素网格、本体感受数据和语言目标作为输入。通过组合来自几个RGB-D相机的感觉数据流来组装体素网格。感知转换器学习每个体素和语言特征。对于每个机械臂,输出是一个离散化的动作,包括一个6-DoF末端执行器姿态、一个夹持器状态和一个用于碰撞感知运动规划的附加标志。我们选择PerAct作为我们的应用程序的基础,因为基于体素的表示使其对视图姿态的变化具有鲁棒性。与因依赖渲染的虚拟图像而遭受遮挡问题的RVT不同,PerAct直接处理原始输入数据,避免了这些问题。此外,与Act不同,ACT依赖于关节角度,可能会因为需要在关节空间进行类似的演示而难以适应,PerAct和RVT是机器人不可知的,可以转移到其他具有不同自由度的机器人。处理双臂控制的问题,一个简单的双臂控制方法是实例化两个独立的PerAct实例作为独立的代理,每个代理控制一个机器人手臂。我们称之为两个独立的代理。这两个代理之间的协调只有在视觉感知的情况下才有可能。另一个缺点是体素表示被存储两次,导致存储器使用增加。另一种方法是采用基于领导者-追随者的架构。这里,来自一个代理的预测输出被传递到第二个网络。因此,第二网络的预测基于第一网络的预测。一旦两个动作预测都被推断出来,它们就被同时执行。虽然这提供了通信的优势,但是这种方法仍然受到大量内存消耗和固定角色的困扰。为了克服体素表示法的缺点和促进没有固定角色的交流,我们提出了一种新的转换模块。为了实现这一点,我们分割了双臂之间的潜在空间,并实施了联合自我关注。因此,我们的方法利用单个感知者IO作为主干来同时预测两个动作。除了共享体素表示,另一个优点是两个代理的本体感受可以共享。3.4 专家演示演示由同时执行的每个机械臂的一组动作元组组成。根据以前的工作,我们假设数据集D = {ζ1,ζ2,.。。,n个专家示范的ζn}个,每个都配有语言目标G = {l1,l2,.。。,ln}。对于双臂操作设置,我们假设每个演示包含两个动作。因此,每个演示ζi是一系列连续动作A = {(a r 1,al 1),(a r 2,al 2),...,(a r t,al t )},其中上标r和l表示右或左机械臂。每个动作a包含6-DoF姿态、手爪打开状态以及运动规划器是否使用碰撞避免来达到中间姿态:a = {apose,aopen,acollide}。此外,我们捕捉O = { o˜ 1,O \u 2,.。。o˜ t }。一次观察由来自任意数量摄像机的RGB-D图像组成。对于我们的模拟实验,我们总共使用了五个摄像机,因此o˜ sim = { ofront,oleft,oright,owrist left,owrist right}。每个演示ζ都是一系列连续的动作A与观察o的配对。3.5 关键帧提取在演示期间,在记录的视觉和本体感受传感器数据中识别显著的关键帧,用于训练。类似于先前的工作[2]和[30],对于长度为m的任何给定演示ζi,我们识别关键帧k1 < k2 <...结我们将启发式扩展到双臂操作的情况,并定义一个关键帧,如果:其中一个机器人的夹持器状态已经改变,或者机器人到达其执行轨迹的末端,即末端执行器的姿态不再改变。关键帧动作k的离散化有助于将我们的BC代理的训练范例概念化为一个分类任务,特别关注于"下一个最佳动作"的识别。3.6 动作推理我们的目标是学习双臂以动作为中心的表示[31],并从每个手臂的体素中检索6-DoF姿势。因此,六自由度姿态被分为平移、旋转和抓取状态。为此,我们利用3d体素网格[32,33]来表示观察和动作空间。优点是与ACT相比,这种表示是视点独立的。从几个RGB-D图像重建体素网格v,并通过来自已知相机外部和内部的三角测量融合。为了实现细粒度的动作表示,我们使用1003个大小为0.01 m的体素来覆盖1.0 m3的工作区。该平移被识别为最靠近夹持器手指中心的体素。对于每个旋转轴,旋转被量化为离散的5°个间隔。夹子aopen的状态(打开或关闭)通过二进制值表示。类似地,"碰撞"参数acollide是二进制的,并且指示运动规划器是否应该避开体素网格。这种二元机制对于实现既需要基于接触的动作(如打开抽屉)又需要非接触的动作(如在没有身体接触的情况下触及把手)的任务至关重要。3.7 训练我们将[2]中的损失函数扩展到双臂操作设置,因此损失函数导致:其中X∑{ trans,rot,open,collide}和Li = EYi [logVi ],其中与PerAct类似,我们也用平移和旋转扰动来增加v和k,以获得鲁棒性,同时保持其他参数(如优化器)不变。4评估我们研究机器人双臂操作的功效。为此,我们将我们的方法与以下基线进行比较。a.) ACT:具有动作分块的变换网络,从摄像机输入输出关节位置。b.) RVT-LF:两个机器人视图转换器(RVT)作为领导者-追随者架构。c.) PerAct-LF:作为领导者-追随者架构的两个感知者行动者网络。d .)行动2:如第3节所述的单个双臂感知行动者网络。领导者-追随者架构由两个网络组成,其中一个网络的输出作为预测提供给另一个网络,然后两个动作都被执行。对于PerAct,我们更新了网络架构并降低了浮点精度1,从而显著减少了训练时间。我们报告任务成功率和培训时间。在模拟实验中,我们使用了两个带有平行抓手的Franka Panda机器人。为了证明我们的方法是机器人不可知的,我们还在现实世界中测试了人形机器人ARMAR-6。对于ACT,我们设置o˜ sim = { ofront,owrist left,owrist right }以最小化网络输入。4.1 仿真表3. 不同方法在不同任务上的表现。表4:100次演示的不同输入图像尺寸的平均任务成功率和平均训练时间的概述。我们在模拟中进行主要实验,以获得可再现性和基准测试。环境类似于[2]。RGB-D传感器位于前部、左肩、右肩和手腕上。所有相机都是无噪音的,分辨率为256 × 256。图像分辨率的提高确保了将来与需要它的其他方法的可比性。我们单独训练所有任务,因为这允许更精确的分析,并且可以区分不同的协调类型。我们还注意到,虽然可以训练多任务代理,但并不是所有的方法都适合这种设置。我们为每个任务使用了100个演示。所有单个任务都是在NVIDIA A40 GPUs上训练的,迭代次数高达100k。对于每种方法,批处理大小都被最大化以适合GPU内存。每第10k个检查点用100集进行评估,最终在单独的测试集上评估最佳检查点。表3列出了单任务座席在每个任务中的任务成功率。基于图像的方法,如ACT和RVT的成功率差异可以用任务的对称性来解释。例如,两个机器人手臂是完全相同的型号,很难区分它们。此外,ACT的其他挑战包括,由于生成的对象或生成的运动规划路径的随机化,演示可能会有很大的变化。这两个方面都具有挑战性,因为ACT预测的是关节角度,而不是6自由度姿态。4.2 故障类型的讨论下面,我们将简要讨论常见故障。在移交任务期间,由于不充分的空间意识或时间误差,机器人可能会与另一个机器人发生碰撞。抓取失败也是常见的,通常是由于抓具未对准,导致不能牢固地抓取物体。对于拿起盘子或托盘的任务,机器人手臂可能会完全错过对象。这可能是由于演示不充分或运动计划中的错误造成的。最后,将物品插入抽屉引入了复杂性,例如对时间依赖性的要求:机器人可能无法打开抽屉。这些失败强调了双臂机器人操作在与场景交互时的挑战,以及对更复杂的运动规划策略的需求。

图4. 展示不同任务的真实世界实验的精选快照。展示全部实验的视频可以在该项目的网站上找到。4.3现实世界为了证明该框架是机器人不可知的,该方法已被集成到人形机器人ARMAR-6。该机器人配备了一个分辨率为1920 × 1080的Azure Kinect RGB-D传感器,因此在实验中只使用了一个摄像头,即oreal = {ofront}。体素大小设置为50 × 50 × 50可以加快训练速度,但会降低精度。[36]中使用的笛卡尔航路点控制器将末端执行器移动到预测目标。对于每个任务,使用动觉教学代替虚拟现实来记录单个演示ζi。总的来说,已经向机器人演示了四种不同的任务。其中三项任务需要双臂同步协调,比如"端碗"或"推椅子"。第四个任务,"收起工具",需要空间协调。虽然在现实世界中量化结果是可能的,但是由于缺乏硬件以及物体姿态和传感器噪声,再现它们是具有挑战性的。图4显示了真实世界实验的任务。网站上有展示实验的视频。5 结论在这项工作中,我们提出了一个专门为双臂机器人操作任务设计的机器人操作基准。我们开源了13个新任务和23个独特的任务变体,每个都需要高度的协调性和适应性。我们将两个现有的方法扩展到双臂操作,并在基准测试中用另一个方法运行它们。此外,我们还介绍了PerAct 2 ------ 一个用于双臂操作的感知者-行动者代理。由于该架构设计,该方法可以容易地转移到其他机器人,例如人形机器人,因为该策略输出6-DoF姿态,并且控制是分离的。我们的调查显示,我们的方法在13个任务中的9个中是最成功的,并且在真实世界环境中有效地执行,同时也具有最快的训练时间。对于平均任务成功率,PerAct-LF和PerAct2都优于基于图像的方法,分别实现了17.5 %和16.8 %的平均任务成功率。局限性和未来工作。 没有一种方法能够达到足够高的成功率,这可以用双臂操作的复杂性来解释。另一个限制因素是,使用离散动作的方法依赖于基于采样的运动规划器来成功执行。我们承认基准中的任务具有挑战性,我们期待机构群体接受这一挑战。未来的工作将集中在通过添加更多的最先进的方法和包括移动操作来扩展基准。

相关推荐
扬道财经1 天前
科技赋能鸟击防控:杭州萧山国际机场引入全天候自主驱鸟机器人系统
科技·机器人
('-')1 天前
《从根上理解MySQL是怎样运行的》第十章学习笔记
笔记·学习·mysql
hd51cc1 天前
MFC学习笔记 对话框
笔记·学习·mfc
Radan小哥1 天前
Docker学习笔记—day0010
笔记·学习·docker
im_AMBER1 天前
Canvas架构手记 05 鼠标事件监听 | 原生事件封装 | ctx 结构化对象
前端·笔记·学习·架构
老神在在0011 天前
Mybatis01
后端·学习·spring·java-ee·mybatis
Eric.Lee20211 天前
物理引擎MuJoCo 项目介绍
人工智能·机器人·仿真·robot·物理引擎·mujoco
Y***89081 天前
Neo4j图数据库学习(二)——SpringBoot整合Neo4j
数据库·学习·neo4j
理人综艺好会1 天前
MySQL学习之go-mysql
学习·mysql·golang
想要成为计算机高手1 天前
π*0.6: 从实践中学习 -- 2025.11.17 -- Physical Intelligence (π) -- 未开源
人工智能·学习·机器人·多模态·具身智能·vla