前言
插拔、装配,一直是我这一两年不断研究的两个方向,对于精细插拔,我司七月算是做到了国内第一梯队的效果(可以视频号上搜:七月具身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 Rewards
1.1 引言与相关工作
1.1.1 引言
机器人装配长期以来一直是一个具有挑战性的问题,而NIST 装配任务板(Assembly Task Boards)则是一项被持续使用的基准 [1];据作者所知,目前尚无基于学习的方法在任何一块任务板上完成全部任务
装配任务板 1号(Assembly Task Board ,简称 ATB1)由 20 个装配配对任务组成(一个零件及其在任务板上的固定配合几何),这些任务与制造场景密切相关,包括插销装配、齿轮啮合、电气连接器插拔以及螺母旋合
由于以下三个方面的原因,求解该任务板具有极高的挑战性,主要原因如下:
- 解任务的顺序可能未被事先指定,而且并非所有任务序列都是高效或有效的(例如,先完成任务 N 可能会阻碍机器人接近任务N+1 所需的零件)
- 每个任务都是长时域任务,涵盖抓取、搬运以及富接触装配[2]
零件初始姿态可能高度多样,在抓取前往往需要多次重新定向;在搬运过程中,零件可能还需要通过手内重定向或借助外在接触进行进一步的重新定向;
在装配过程中,零件在插装或旋合时可能发生滑移、错位或卡滞[2],从而需要稳健的恢复与重新执行
- 解决这些任务需要在复杂接触交互过程中实现高精度控制
零件本身尺寸较小(直径可小至 4 mm),具有高度几何细节(例如螺旋螺纹),并且在配合表面之间具有极小的间隙(可低至零间隙)
诸如螺母旋合之类的任务涉及在多个配合表面之间的摩擦接触下学习螺旋运动,在此过程中,螺母可能发生倾斜、乱扣或卡死,而不是沿着螺栓前进[2]
无需学习的方法通常依赖于规划和强烈的人类先验知识:装配顺序规划 [3];定制夹具、适配器和工装[1],[4];设计好的运动和力的基本动作模块 [5];以及经过调参的导纳、阻抗或力-运动控制器 [4],[5]
另一方面,基于学习的方法可以放宽上述部分约束,但目前仅在有限范围内取得了进展。多数工作假设装配顺序是固定的,对零件的初始位姿施加了严格限制(例如,假定一开始就已经被抓取)[6],假定可以获得精确的位姿估计,学习的是专门化策略而非多任务策略 [2],只解决了装配板上任务的一个子集[6],和/或仅达到了较低的中等的成功率。例如,Success-Guided Sampling(SGS)[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:运行归一化(runningnormalization);LN:层归一化(layer normalization);SW:Swish 激活函数;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 任务,并且在最困难的小零件装配任务上优于分别训练的专用策略。在所有测试的规模下,二元任务目标都优于所评估的稠密奖励塑形。学到的策略在没有直接监督的前提下,自主发现了抓取自适应、外在重新定向、敲击、螺纹配合以及更长视野的协调等行为
在多配对装配中,它可以先准备一个零件,再完成另一个,随后返回来完成第一个,而无需中间装配奖励或由规划器预先指定装配顺序 - 更广泛地说,这些发现挑战了这样一种假设:为了让机器人学习变得可行,必须降低任务的复杂度和多样性。相反,它们表明,在共享目标下获得的多样化经验本身就可以成为可复用灵巧性与协调能力的来源
作者将这项工作视为迈向通用装配策略的关键一步,这类策略能够自主发现场景中解决复杂物理任务的方法,而不是事先由人类明确规定这些策略
// 待更