转自 CAAI认知系统与信息处理专委会
模拟虚拟环境是开发和评估技能学习算法的主要驱动力之一。然而,现有的环境通常只能模拟刚体。此外,模拟过程通常不提供可能用于规划和控制优化的梯度。加州大学圣地亚哥分校的研究人员和MIT胡渊鸣等在ICLR2021上发表了一篇“PLASTICINELAB: A SOFT-BODY MANIPULATION BENCHMARK WITH DIFFERENTIABLE PHYSICS”的论文。论文介绍了一个可微的物理基准称为PasticineLab,其中包括多种多样的软体操作任务集合。在每个任务中,agent使用操纵器将橡皮泥变形成所需的配置。底层的物理引擎支持使用DiffTaichi系统的可微分弹性和塑性变形,对机器人agent提出了许多未被探索的挑战。在此基准上,评估了几种现有的强化学习(RL)方法和基于梯度的方法。
一.贡献

作者在这项工作中作出了以下贡献:
1. 首次介绍了涉及弹性和塑性软体的技能学习基准。
2. 开发了一个功能齐全的可微物理引擎,它支持弹塑性变形、软体刚体相互作用,并为可微性量身定制了接触模型。
3. 基准测试中广泛的任务覆盖范围使该研究能够对具有代表性的RL和基于梯度的规划算法进行系统的评价和分析。这样的基准能够启发未来将可微物理与模仿学习和RL相结合的研究。
图1. 左图:一个小孩用擀面杖把一块橡皮泥擀成薄薄的馅饼。右图:在plasticinlab中具有挑战性的擀杖场景。agent需要通过前后滚动大头针来压平材料,使橡皮泥变形成目标形状。
二.Plasticinelab学习环境
PlasticineLab是一个具有挑战性的软体操作任务的集合,由可微分物理模拟器提供动力。在PlasticineLab的所有任务都要求使用刚性机械手使一块或多块3D橡皮泥变形。PlasticineLab的底层模拟器允许用户在柔软的物体上执行复杂的操作,包括捏、滚动、切割、成型和雕刻。
1. 任务陈述
PlasticineLab提出了10个任务,重点是软体操作。每个任务包含一个或多个软体和一个运动的机械臂,其最终目标是将软体变形为一个目标形状与机械臂计划运动。遵循标准的强化学习框架,使用马尔科夫决策过程(Markov DecisionProcess, MDP)对agent建模,每个任务的设计由其状态和观察、其动作表示、其目标定义和其奖励功能来定义。
2. 评估
PlasticineLab有10个不同的任务集合(图2)。在这里仅以4个具有代表性的任务来描述。这些任务,以及它们在不同配置中的变体,构成了一个用于测试标记软体操作算法性能的评估套件。每个任务有5个变量(总共50个构型),通过扰动初始和目标形状以及机械手的初始位置产生。
图2. PlasticineLab的任务和参考方案。某些任务需要多阶段规划。
绳索:agent需要将一根模拟成长橡皮条的绳子绕在一个刚性支柱上,并配有两个球形机械手。柱子的位置在不同的结构中有所不同。
写手:agent操纵一支笔(用一个垂直的胶囊表示),在立方体的橡皮泥上雕刻一个目标涂鸦。对于每个配置,通过在橡皮泥表面上随机绘制2D线条来生成涂鸦。三维动作控制笔尖。
筷子:agent使用一双筷子,模拟成两个平行的胶囊,将地上的绳子捡起来,并将其旋转到目标位置。机械手有7个自由度:6个用于移动和旋转筷子,1个用于控制筷子之间的距离。
擀面杖:agent学会了用一根坚硬的擀面杖把披萨面团压平,它被建模为一个橡皮泥盒。用一个3自由度胶囊来模拟擀面杖:1)擀面杖可以垂直向下挤压面团;2)销可沿纵轴旋转,改变方向;3)agent也可以用擀面杖将橡皮泥压平。
三.3维可微分弹塑性模拟
模拟器使用Taichi实现,并在CUDA上运行。连续介质力学使用移动最小二乘物质点法(MLS-MPM)进行离散,这是计算机图形学中B样条物质点法(MPM)的一种更简单、更有效的变体。模拟器同时使用了拉格朗日粒子和欧拉背景网格。材料的位置、速度、质量、密度和变形梯度等属性存储在随材料运动的拉格朗日粒子上,而粒子与刚体的相互作用和碰撞则存储在欧拉网格上。在这里,作者着重于扩展具有(可微)塑性的材料模型,这是橡皮泥的一个定义特征。同时利用Taichi的反向模式自动分化系统来进行大多数梯度评估。
四.实验
1.评价标准
首先为每个任务生成五种配置,从而产生50种不同的强化学习配置。计算标准化的增量IoU分数来衡量状态是否达到目标。使用soft IoU估计一个状态与目标之间的距离。对于每个任务,在五种配置上评估算法,并报告一个代数平均分数。
2.强化学习评估
作者评估现有的RL算法在我们的任务上的性能。使用三种SOTA无模型强化学习算法:SAC、TD3和PPO。图3显示了每个场景中经过测试的强化学习算法的标准化增量IoU分数。大多数RL算法都可以学习合理的移动策略。然而,RL算法很难准确匹配目标形状,导致最终的形状匹配存在小缺陷。作者注意到,在探索过程中,RL通常会释放物体,导致橡皮泥在重力作用下自由下落。这样,再抓就变得很有挑战性,导致训练不稳定,效果不理想。
图3. RL方法获得的最终归一化增量IoU得分。低于0的分数被限制。橙色虚线表示理论上限。
在一些难度较大的任务中,比如需要agent仔细处理3D旋转的筷子,以及需要agent规划复杂轨迹来切割轨迹的Writer,测试的算法很少能在有限的时间内找到合理的解决方案。在装配过程中,所有agent容易陷入局部极小值。他们通常会把球形的橡皮泥移到离目的地更近的地方,但却不能把它举起来。一个精心设计的奖励塑造、更好的网络架构和细粒度的参数调优可能是有益的。
3. 轨迹优化的可微物理评价
在图4中,通过绘制奖励曲线,并比较梯度下降的不同变体,来演示可微分物理的优化效率。测试了Adam和动量梯度下降法(GD)。比较了Adam优化器与Adam-H。对于每个优化器,作者谨慎地选择每个任务0.1或0.01的学习率,以处理不同任务之间的不同奖励尺度。
除此之外,作者另外绘制了强化学习算法的训练曲线,以证明基于梯度的优化的效率。结果表明,基于优化的方法可以在数十次迭代中找到具有挑战性的任务。Adam在大多数任务中都优于GD。这可能是由于Adam的自适应学习率缩放特性,它更适合高维物理过程的复杂损失面。在大多数任务中,Adam-H的表现要比Adam差,这验证了软体模型通常更容易优化。
图4. 奖励及其在每个任务中的差异取决于训练中所花费的episode。
作者列出了标准化的增量IoU得分,以及所有方法的标准差。对模型的充分了解为可微物理提供了一个获得更宝贵结果的机会。用Adam的梯度下降法可以在柱子上找到移动绳子的方法,在绳子的次优解中将小球放在箱子上方,并使用筷子将绳子捡起。即使对于移动,它也往往更好地对准目标形状和更稳定的优化过程来获得更好的性能。
五.结论
作者提出了PlasticineLab,一个可微物理基准的软体操作仿真软件。丰富任务覆盖的PlasticineLab允许系统地研究RL和基于梯度的算法,为未来的工作提供线索。MPM作为一种源于计算物理学界的有原则的模拟方法,在改进后具有收敛性和精度优势。然而,在虚拟环境中,建模错误是不可避免的。仿真梯度信息除了作为规划的强监督信号外,还可以指导系统的辨识。这可能允许机器人研究人员自己“优化”任务,可能同时优化控制器,这样模拟和真实的差距自动最小化。作者相信PlasticineLab可以显著降低未来软体手技能学习研究的障碍,并在机器学习领域做出独特的贡献。
PlasticineLab开源项目链接:
https://github.com/hzaskywalker/PlasticineLab