用Unity实时3D开发平台开发的机器学习可以帮助工程师们安全地设计、开发和测试复杂的自主化设备。在这篇由Algoryx的客座文章里,Daniel Lindmark为我们介绍了相关详情。
工业自动化无处不在。如今的工厂车间里充满了机器人操作隔间,机械手在其中精确地执行着重复作业。而大型仓库现在也依靠预先制定好路线的机器人来取送包裹。在地下矿井里,无真人操作的大型装载机可沿着预先编好的路径行驶。
虽然机器人的应用广泛,但大部分行业目前仍极度依赖人类的操作与劳动。类似建筑、伐木和采矿等行业面临的工作环境通常具有缺乏固定结构,呈现出动态的特点,对人类来说往往也是高风险的作业环境。
Algoryx在重型机械的全系统物理模拟方面有超过十年的经验。公司核心产品AGX Dynamics是一款用于多体和多域动力学数值模拟的SDK。
为帮助行业解决实际问题,Algoryx在理想化模型的基础上更进一步,开发出了遵循基本物理原理、支持建立复杂模型的模拟方法。例如,该模型允许关节、弹力梁、极限、可断裂关节、分段线性模型等等连接处保留一定的间隙或活动空间。
这是现实中的常见现象,如果模型不能达到与现实一样的水平,模拟将无法解决任何实际问题。AGX Dynamics中的可变时间步进器能快速、实时地模拟出非理想化、不连续(或不平顺)的物理事件,比如撞击。该SDK会在每个时间步解算模型的几何和全局状态,形成一种稳定的、时间可无限延长的物理模拟。配上Algoryx的快速直接解算器,AGX Dynamics能以机械精度来解算大型分散系统,无须额外的处理即可模拟大质量比的“刚性”系统。
机器的运动由众多机器部件共同完成,这些组件可以是发动机、变速箱、差速器、液压系统、轮胎和轨道,以及电缆或电线等可变形物体,且机器必然会与环境互动。一艘船必须在水中漂浮,而装载机必须在土地上行驶并装载。所有组件都处在同一框架下,可产生相互统一、紧密关联的模拟。这种结合模型与数值模拟的方法以最新的科学文献作为其理论基础。
AGX Dynamics的性能和准确性广受业内合作伙伴们的信任,它被广泛用于专业培训模拟器或工程工具中。操作员会在培训模拟器中学习安全和高效的机器操控方式,其在高度逼真的模型上训练出来的手眼协调能力可以很好地运用到现实中。
另一方面,工程设计经常涉及机器与环境互动的深入分析,比如对比关节的真实出力与传动系统的能量消耗。忠实还原现实现象、以模拟指导早期设计决策,对客户来说非常有用。AGX Dynamics目前已整合至Unity,Unity用户们现在可以用强大的Unity编辑器来建立设备与环境模型,再用AGX Dynamics进行模拟。
自动化在现场作业的重型车辆要比工厂里动作重复的机器人难得多,况且前者的环境和任务也在一直变化着。相对于经验不足的新手,只有技术高超的操作员可利用车辆与互动对象的动态来提高工作表现。
事实证明,自动化过程最困难的部分在于找准测量对象:弄清怎样将环境动态与车辆操控联系起来,让车辆完成自主决策。人类操作员往往会利用视觉、听觉与车辆受到的阻力等多种感官输入,以直觉做出决定。这种直觉需要经过数千小时的培育,操作员首先在模拟器上体验虚拟却逼真的情形,然后将学到的经验应用到真的机器上。这就要求模拟器有十分精确的物理模拟,才能让这些学习体验能有益于实际操作。
近年来,不断进步的强化学习有望处理传统解决方案无法处理的复杂环境。在强化学习的帮助下,自动化工程师不必先一部分一部分地解决自动化问题,再组装所有部件,
而可以首先编写出要解决的问题、解决问题可能的行动和现象,然后让代理在环境中“想出”解决方案。这听起来很容易,但现实是强化学习模型要想解决任何一项任务都需要经过巨量的探索和训练,而让模型在真实设备上训练既危险又费钱。
那这该怎么解决呢?改用模拟。模拟不存在损坏机器的情况,其运行速度也比实时更快,并且模拟无需额外支出便可并行运行数个实例。但类似于真人培训,强化学习的培训也必须用到精确的物理模拟,这样培训习得的经验才能在真实设备上发挥作用。如果模型不正确,智能代理学会的解决方案将可能无法应用到现实世界中。
开发者可使用Unity引擎和Unity机器学习代理(ML-Agents)轻松建造环境模型,并加入一个或多个智能代理进行训练。你还可以使用Unity SystemGraph来模拟观察环境用的各类图像传感器。
起初,智能代理并不知道该怎样解决任务,你需要根据前一状态为其设置一个行动奖励,让ML-Agent的强化学习算法求出最大化奖励的策略,并最终解决问题。此类训练辅以AGX Dynamics for Unity快速而精确的物理模拟,即能让重型机械的建模和训练成为可能,使智能代理在模拟中就能自主地解决非常复杂的问题。
于默奥大学的Jennifer Andersson便用Algoryx研究了怎样借助强化学习自动化伐木机抓手的原木抓取动作。有经验的人类操作员可以操控伐木机低动力较低的抓手抓取多根原木,同时在不平整的地面上行驶、躲避其他树木。这种技巧可不简单,操作员需要耗费大量的精力和体力、撇开直觉来协调多个作用器。
而在用Unity和ML-Agents搭建、用AGX Dynamics for Unity模拟物理的环境训练过后,智能代理也可以分别控制伐木机前臂的六个关节来抓取单根原木。其训练出的最佳策略有97%的成功率,相当于一名经验丰富的人类操作员。比如,智能代理能利用低动力抓手的摆动来减少整套抓取动作的耗时,这是一种较难学习的技巧。
研究还表明,设有节能奖励的智能代理与普通智能代理相比能极大地节省设备能耗。若想了解更多,请参阅2021年国际智能机器人和系统会议(IROS)上发表的论文(请在此处查看会议录像与PDF)。
在另一个例子中,Algoryx与世界领先的隧道和采矿设备制造商Epiroc合作,实现了大型地下矿井装载机ST-18的自动化装载。该重型车辆能够用铲斗装载18吨碎石,并在各种地下矿井里不停地运行。在地下掘进时,隧道末端的爆破会产生大堆的碎石(泥土),只有清除这些障碍后隧道才能进一步挖掘。
在模拟中,训练好的智能代理可借助图像深度来规划装载位置,并在后续的装载环节中高效地填满铲斗。智能代理通过控制油门、方向盘和铲斗的升降来完成路线规划、装斗、躲避障碍和避免打滑等操作。如若为代理加上耗能惩罚,铲斗的平均容量可达到最大值的75%,整个方案的表现也达到最佳。更多详情请参见发表于《Machines》的相关论文。
AGX Dynamics for Unity让工程师能够安全地设计、开发和测试复杂的自主设备。Algoryx正积极使用Unity平台开发机器学习,以上的两个例子仅是一小部分。携手并进,我们的技术将解决其他高难度的自动化难题,让世界更美好——首先,从模拟世界开始。
你是否也想在自己的工业项目中探索模拟的潜力?那就来这里了解Algoryx在搭建虚拟原型、制作培训模拟器与数字孪生上的作用吧。
或者,你也能在这里直接联系Algoryx来讨论你的机器自主化计划。