YAOTU INSIGHTS

AlphaNIST——针对装配任务的RL框架:仿真中仅在最后任务成功时才给二元奖励,任务过程中让机器自行探索直至完成

AlphaNIST——针对装配任务的RL框架:仿真中仅在最后任务成功时才给二元奖励,任务过程中让机器自行探索直至完成
前言插拔、装配一直是我这一两年不断研究的两个方向对于精细插拔我司七月算是做到了国内第一梯队的效果(可以视频号上搜七月具身july)而装配 也一直在推进中故注意到了本文所要介绍的AlphaNIST如原论文所说NIST 装配任务板Assembly Task Board依然是学习型机器人操作方法中的一个极具挑战性的基准在短时间尺度上它要求对小型、严配零件进行精确且富含接触的控制在长时间尺度上它又要求在延展的动作序列中具备恢复能力与协调能力示教、任务分解以及稠密的进度奖励通过提供“如何装配”的指导推动了相关研究的进展。但究竟需要在多大程度上显式指定装配策略从 AlphaGo到 AlphaGo Zero 的演进表明大规模强化学习无需指定“如何取胜”也能发现超越人类的策略对此AlphaNIST 提出的问题是一个稀疏的二元任务奖励以及由这种任务无关task-agnostic奖励所容纳的任务多样性能否同样让机器人自己发现“如何装配”在仿真中作者从零开始在NIST 装配任务板 的全部 20 个装配任务上训练单一策略在没有示教、进度塑形progress shaping、脚本化技能单元scripted primitives或逐任务调参的前提下达到了 98.2% 的总体训练成功率该框架还可训练策略在单个 episode 内完成十对装配任务对且不规定完成顺序只有当十对全部同时完成时才给予任务成功奖励最终作者宣称学习到的策略能够自主涌现出灵巧且类似规划的行为选择有利于后续装配的抓取方式利用周围几何结构重新定向零件先预处理一件零件、装配另一件再回到第一件继续完成装配而这一切都在没有显式规划器的情况下实现第一部分AlphaNIST: Emergent Assembly Skills from Binary Task Rewards1.1 引言与相关工作1.1.1 引言机器人装配长期以来一直是一个具有挑战性的问题而NIST 装配任务板Assembly Task Boards则是一项被持续使用的基准 [1]据作者所知目前尚无基于学习的方法在任何一块任务板上完成全部任务装配任务板 1号Assembly Task Board 简称 ATB1由 20 个装配配对任务组成(一个零件及其在任务板上的固定配合几何)这些任务与制造场景密切相关包括插销装配、齿轮啮合、电气连接器插拔以及螺母旋合由于以下三个方面的原因求解该任务板具有极高的挑战性主要原因如下解任务的顺序可能未被事先指定而且并非所有任务序列都是高效或有效的例如先完成任务 N 可能会阻碍机器人接近任务N1 所需的零件每个任务都是长时域任务涵盖抓取、搬运以及富接触装配[2]零件初始姿态可能高度多样在抓取前往往需要多次重新定向在搬运过程中零件可能还需要通过手内重定向或借助外在接触进行进一步的重新定向在装配过程中零件在插装或旋合时可能发生滑移、错位或卡滞[2]从而需要稳健的恢复与重新执行解决这些任务需要在复杂接触交互过程中实现高精度控制零件本身尺寸较小直径可小至 4 mm具有高度几何细节例如螺旋螺纹并且在配合表面之间具有极小的间隙可低至零间隙诸如螺母旋合之类的任务涉及在多个配合表面之间的摩擦接触下学习螺旋运动在此过程中螺母可能发生倾斜、乱扣或卡死而不是沿着螺栓前进[2]无需学习的方法通常依赖于规划和强烈的人类先验知识装配顺序规划 [3]定制夹具、适配器和工装[1][4]设计好的运动和力的基本动作模块 [5]以及经过调参的导纳、阻抗或力-运动控制器 [4][5]另一方面基于学习的方法可以放宽上述部分约束但目前仅在有限范围内取得了进展。多数工作假设装配顺序是固定的对零件的初始位姿施加了严格限制例如假定一开始就已经被抓取[6]假定可以获得精确的位姿估计学习的是专门化策略而非多任务策略 [2]只解决了装配板上任务的一个子集[6]和/或仅达到了较低的中等的成功率。例如Success-Guided SamplingSGS[7] 是逐个任务地求解但每个任务都需要单独的策略而且计算效率要低得多作者从强化学习领域具有里程碑意义的 AlphaGo 系列工作中汲取灵感该系列系统曾战胜过最强的人类围棋选手。从 AlphaGo 到 AlphaGo Zero 的演进表明仅从终端任务目标进行学习就可以在没有人类示范的情况下激发在长时间尺度上具备超人水准的决策能力 [8], [9]在本文中作者提出一个问题在机器人领域是否也可以采用类似的方法也就是说仅利用稀疏的二元任务奖励并结合适当的训练策略是否能够让机器人解决一系列具有长时间跨度、富含接触互动的操作任务并且可能借此涌现出人类既无法可行地精确指定、也难以示范的灵巧行为为了使基于稀疏任务奖励的学习更易处理作者采取了一步看似反直觉的做法在几何形状、公差以及装配要求各不相同的异构装配对(例如螺母与其螺栓、齿轮与其齿轮轴、榫头与其孔洞)之间进行联合训练并从广泛覆盖的初始状态分布出发将 MDP的多样性从负担转化为资源受这一洞见的启发来自1NVIDIA、2University of Washington的研究者提出了AlphaNIST其paper地址为其项目地址为其github地址为具体而言这一学习框架在 NIST Assembly Task Board 1图 2上的全部 20 个任务上基于稀疏的二元任务奖励训练单一策略。该策略能够处理异常广泛的初始零件姿态无需先训练专用策略即可直接从点云输入中学习并取得了 98.2% 的整体成功率此外该框架还能训练策略按顺序完成 10 对装配任务且仅在所有配对在无预定顺序约束的情况下全部装配完成后才发放任务奖励。换言之该策略展现出了类似规划的行为1.1.2 相关工作// 待更1.2 AlphaNIST的完整方法论1.2.0 任务定义与 MDP作者将全部 20 个 ATB1 装配任务 [1] 表述为一个使用单一共享策略的多任务强化学习问题。记某个装配任务为其中。每个任务对应一对装配件一个可移动零件、其配合几何结构以及一个完全装配好的构型作者将该问题建模为一个有限时域的 MDP马尔可夫决策过程其中是转移核是在任务标识与初始状态上的联合分布。在每个 episode 开始时。一个共享策略在模拟器状态的部分观测上运行并最大化任务的变化是通过中的表面点云来表示的而不是通过显式的离散任务标识符1.2.1 AlphaNIST 训练框架AlphaNIST 使用标准的 PPO 算法和针对装配完成的二元任务奖励在全部 20 个装配任务上训练单一策略。其训练分布由来自 OmniReset [10] 的多样化缓存重置状态与服从 beta 分布的成功引导采样SGS[7] 组合而成同时通过一个统一的二元任务奖励在所有任务上定义装配是否成功。这三个组成部分各自发挥不同的作用重置库哪些状态是可用的Beta 抽样会从哪些状态中进行抽样二元任务回报什么被视为成功1.2.2 重置覆盖率与经验分配作者将 OmniReset [10] 适配到异构装配场景中通过将装配标识与每个重置状态一起缓存其中M 表示 20 个装配体中所有条目的总数。装配标识符用于选择零件和配合几何资源及其惯性属性而则用来指定机器人、工位以及可动零件的状态因此对一个条目的采样会同时选定装配体及其初始配置。缓存库覆盖了未抓取工作空间、取件、搬运、近配合以及部分装配等多种构型图 4从而支持基于 GPU 的并行初始化这些复位族群界定的是训练分布中的若干区域而不是一条预先规定的序列策略不会接收到任何阶段标识符设为在最近的个从条目初始化的回合中得到的经验成功率。在 Beta 采样下条目以概率被选中在整个库上进行归一化。采样 i∼Cat(q) 会选择一个装配–重置assembly–reset对其满足该核函数偏好中等成功率而则保证每个条目都可被采样每一轮episode的结果都会用于更新其被采样条目的。均匀消融uniformablation将设为库、策略、奖励以及优化器保持不变算法 1 对训练过程进行了总结1.2.3 二值完全装配目标在各种几何结构中装配的目标都是相同的完成装配。对于每个实例使用装配相对坐标其中来参数化零件在配合坐标系中的位置表示其完全装配后的姿态。设为零件当前相对姿态与之间的距离对于单对装配任务二元任务奖励为其中。成功奖励只发放一次且此时该轮试验episode终止。在中间过程中的进展不会获得任务奖励。作者在二元任务奖励的基础上补充了控制成本用于抑制过大的动作幅度、过快的关节运动以及过高的关节力矩。这样的正则化会将学习过程偏向于更平滑、能耗更低的行为从而更适合在真实机器人上的安全部署但并不会提供关于装配进度的额外信息在这里、和分别表示动作、机器人关节速度以及施加的关节力矩。控制惩罚在每一个时间步都会进行评估并且使用在所有任务中固定不变的单一系数 c。这些惩罚项并不衡量装配进度装配进度由二元任务奖励来表示是否完成装配一个回合会在装配成功、到达时间范围 T或当任一机械臂关节超过其硬件规定的速度或力矩上限时结束。在多配对回合中成功奖励在所有当前激活的配对全部装配完成之前始终为零不规定装配配对的顺序也没有中间阶段的部分完成奖励1.2.4 共享策略和机器人控制作者在具有 GPU 并行环境的 Isaac Lab [11] 中实现AlphaNIST。每个 PPO 批次将根据公式 (4) 采样得到的装配–复位对的 rollout 进行组合策略、奖励、控制器以及训练配置在全部 20 个任务之间共享。策略在没有离散任务标识符的情况下只观察机器人状态以及可动部件、配合几何体和机器人表面的点云且作者使用独立的 actor 和 critic SimBa 网络 [27], [28]如图 3 所示进行总结『策略架构。Actor 和 Critic 具有相同的网络结构但参数彼此独立。输入仅采样一次每个网络包含两个连续的残差块。RN运行归一化runningnormalizationLN层归一化layer normalizationSWSwish 激活函数npts输入点的数量』每个网络都将点云嵌入与“图中所示的本体感知信息、和上一时刻动作”进行融合在仿真中使用了一台 7 自由度的 Franka Emika Panda机械臂其惯性参数和传动系统参数均已辨识并配备了一个并联夹爪其中一侧手指由驱动器直接驱动另一侧手指通过机械结构被动联动在 25 Hz 的控制频率下策略输出一个 7 维的相对关节位置目标以及一个 1 维的夹爪控制命令。一个隐式阻抗控制器使用厂家提供的 libfranka 刚度和阻尼配置文件并匹配真实硬件的电枢和关节摩擦特性关节速度上限为关节1–4 的 2.175 rad/s 和关节 5–7 的 2.61 rad/s力矩上限为87 N 和 12 N·m这些约束将动作限制在符合硬件实际能力的范围内防止策略利用不现实的速度或扭矩。类似的、与硬件对齐的仿真已经使装配策略成功迁移到同一款 Franka Panda 平台上 [20], [29]1.2.5 分布式训练与规模扩展作者将同步 PPO 扩展到 1–256K 个环境在多 GPU 运行中每块 GPU 负责 4K 个环境每块 GPU 使用滚动成功率估计从其本地重置库中进行采样。在每次优化器更新之前actor 和 critic 的梯度都会在所有 GPU 之间进行平均每次迭代为每个环境收集 32 个时间步的数据并在包含 4 个小批次的条件下进行 5 个 epoch 的优化。网络结构和 PPO 超参数设置在不同规模下保持不变1.3 实验接下来如原论文所述作者围绕三个问题来组织实验异质性在二元任务奖励的设定下联合训练与分别对每个任务单独训练相比效果如何扩展性并行经验和重置状态采样会影响基于二元任务奖励的学习吗奖励形式当异质性训练规模扩大时二元任务奖励与基于装配进度的稠密塑形奖励相比表现如何且作者还进一步探索了多对装配场景并检查在没有直接监督的情况下学习到的策略会产生哪些行为首先针对异质性问题作者将一种在全部 20 个 ATB1 任务上联合训练的策略与针对每个任务分别单独训练的一种策略进行比较在比较中为每次运行匹配相同的交互预算并在其他设置上保持一致。且每次运行使用 64K 个环境以控制比较成本在这一规模下共享策略在训练中达到了 98.2% 的成功率其次对于并行扩展GPU 数量、环境数量以及 rollout 批大小会同步增加而任务分布、回报reward、策略policy和环境本身保持不变采样消融实验将作者的方法与在同一重置库上采用均匀采样而非 beta 采样进行对比。对于扩展性评估所有检查点都使用随机动作并共享一个冻结的混合重置库在其中进行均匀采样每个任务的成功条件是在没有发生任何安全故障的前提下在 15 秒内完成整个装配最后对于奖励消融实验作者在式 (6) 的基础上额外加入了两个与装配进度相关的稠密奖励项其中用于奖励末端执行器接近零件质心而则用于奖励与目标装配姿态的对齐程度。姿态。这些是在操作和装配强化学习中常见的塑形项 [2]、[10]、[20]。作者设置 c2 c3 0.01与 OmniReset[10] 中使用的系数保持一致。在所有实验中成功率覆盖了所有复位配置1.3.1 装配对异质性促进学习从随机初始化状态开始分别单独训练的策略在 M4 螺母旋拧任务上的成功率不超过 0.3%在 4 mm 插销插入和圆杆插入任务上的成功率也同样不超过 0.3%。主要障碍在于这些小型零件在桌面上很难被可靠地抓取相比之下共享策略在这些相同任务上无需针对特定任务的修改即可成功实现抓取与装配操作该结果表明共享经验可以帮助学习那些单独训练时难以掌握的装配任务。而这种收益强烈依赖于奖励的设计方式在各自的最终检查点上20 个分别训练的稠密奖励策略的平均成功率为78.3%其中在 M4 螺纹任务上最低为 45.0%在中号齿轮任务上最高为 93.6%联合稠密训练在25K 次迭代时的整体成功率为 17.8%在各任务上的完成度都较低图 5一种可能的解释是稠密塑形项在不同几何结构上倾向于鼓励不同的部分解决方案而二元任务奖励则为每个任务提供了统一的“完成装配”目标联合训练在更低的总成本下获得了更高的成功率在 64K个并行环境、共 25K 次迭代的设置下使用稀疏二值任务奖励训练的共享策略在 410 个 GPU·小时内就达到了98.2% 的训练成功率图 6如上图所示联合稀疏训练相比独立策略收敛更快。曲线对比了一种在全部 20 个任务上训练得到的共享策略与 20 个分别在单个任务上独立训练得到的策略的平均表现而分别单独训练的 20 个策略平均成功率仅为 81.4%并且总共消耗了 16.1K 个GPU·小时是前者设备用时的 39.3 倍1.3.2 稀疏二值任务奖励在大规模下的收益在稀疏二值任务奖励设定下随着并行环境经验的增加性能迅速提升图 7使用 beta 采样时评估成功率从1K 环境下的 38.6% 提升到 4K 环境下的 78.9%并在 8K环境下达到 86.9%。而在稠密奖励塑形条件下1K–4K 环境的成功率始终维持在 11.8–12.0%且beta采样相比均匀重置采样具有额外的优势使用256K 个环境时在稀疏二元任务奖励下beta 采样的成功率达到 97.4%而均匀采样为 84.3%在稠密奖励塑形条件下对应结果分别为 77.4% 和 34.3%。虽然在中等规模时稀疏任务目标的优势已经显现但随着并行经验的增加beta 采样还能带来进一步收益1.3.3 短时间尺度上的涌现策略该策略在不同装配任务中展现出多样而灵巧的操作方式图 8包括抓取自适应、外在重定向以及基于接触的装配。当前期抓取不适合执行插入操作时它会先释放再重新抓取零件它会利用周围几何结构来改变物体姿态并“自发”探索出间歇式的轻敲和枢转运动这些行为都在单一策略中涌现而无需示范数据也无需在奖励中显式指定各个操作动作对于圆柱销来说一次成功的拾取操作得到的抓取姿态未必适合插入此时策略会放掉居中抓取的圆柱销再在其一端附近重新抓取从而暴露出足够长度的轴身以完成整个插入过程对于螺母来说策略会在螺母一侧进行反复轻敲以啮合并推进螺纹利用间歇接触来持续推动装配进度1.3.4 长期范围内的涌现策略除了主要的单装配实验之外作者还训练在每个回合中包含多个装配对的策略。仅当所有激活的零件对全部装配完成时多元任务奖励才会发放每对零件在一次训练回合中被分配 15 秒时间回合在成功时终止表 I 展示了在最多包含十对激活零件的训练回合中的成功率。该多对零件的场景揭示了在显著更长决策时域上的协同能力图 9策略在切换到另一对零件之前并不需要先完成当前零件对的装配而且它处理某一装配的方式会根据相邻零件的状态而改变。这些类似规划的行为——采取效用在之后才体现的动作以及根据某一装配的状态去调整另一装配——是在没有显式规划器、策略切换机制或预设装配顺序的前提下自发涌现的1.4 局限性与小结1.4.1 局限性作者最后在论文中最后强调了本工作的局限性首先所有结果均来自仿真。尽管与硬件匹配的速度和扭矩限制对学习到的运动进行了约束但这并不能保证其对感知误差、延迟或接触模型失配具有鲁棒性作者将基于传感器获得的观测在物理电路板上评估迁移性能和重复性并采用随机化的接触和延迟模型其次虽然将“10 对策略”依次应用于若干组零件可能为完成整块电路板提供一条路径但如何将该系统的多对框架扩展到 20 个零件仍是一个极具吸引力的研究目标要在单一终止任务回报的条件下实现这一规模极有可能需要更高效的仿真和学习方法1.4.2 小结当然了AlphaNIST 表明借助二元任务目标、多样化的重置覆盖范围以及大规模强化学习可以使用单一策略学习异构、富含接触的装配任务在仿真中一个策略在没有示范、预设阶段或按任务调参的情况下学会了全部 20 个 ATB1 任务并且在最困难的小零件装配任务上优于分别训练的专用策略。在所有测试的规模下二元任务目标都优于所评估的稠密奖励塑形。学到的策略在没有直接监督的前提下自主发现了抓取自适应、外在重新定向、敲击、螺纹配合以及更长视野的协调等行为在多配对装配中它可以先准备一个零件再完成另一个随后返回来完成第一个而无需中间装配奖励或由规划器预先指定装配顺序更广泛地说这些发现挑战了这样一种假设为了让机器人学习变得可行必须降低任务的复杂度和多样性。相反它们表明在共享目标下获得的多样化经验本身就可以成为可复用灵巧性与协调能力的来源作者将这项工作视为迈向通用装配策略的关键一步这类策略能够自主发现场景中解决复杂物理任务的方法而不是事先由人类明确规定这些策略// 待更