- 0
- 0
- 0
分享
- 用Unity模拟技术,安全地实施重型车辆自动化
-
2022-02-10
工业自动化无处不在。如今的工厂车间里充满了机器人操作隔间,机械手在其中精确地作业;大型仓库现在也依靠预先制定好路线的机器人来取送包裹;在地下矿井里,无真人操作的大型装载机可沿着预先编好的路径行驶。
虽然机器人的应用广泛,但大部分行业目前仍极度依赖人类的直接操作。类似建筑、伐木和采矿等行业面临的工作环境,通常缺乏固定的路径,难以通过预先设定的方式让机器参与作业,而这些工作环境对人类而言通常都是高风险的。


本文中,作者以在重型机械的全系统物理模拟方面有超过十年经验的 Algoryx 为例,分享了他们用模拟技术安全地实施重型车辆自动化的经验。
精确物理模拟的重要性
Algoryx 公司的核心产品 AGX Dynamics,是一款用于多体和多域动力学数值模拟的 SDK。
为帮助行业解决实际问题,Algoryx 在理想化模型的基础上更进一步,开发出了遵循基本物理原理、支持建立复杂模型的模拟方法。例如,该模型允许关节、弹力梁、极限、可断裂关节、分段线性模型等等,在连接处保留一定的间隙或活动空间。
这是现实中的常见现象,如果模型不能达到与现实一样的水平,模拟将无法解决任何实际问题。
在 AGX Dynamics 中的可变时间步进器,能快速且实时地模拟出非理想化、不连续(或不平顺)的物理事件,比如撞击。该 SDK 会在每个时间节点解算模型的几何和全局状态,形成一种稳定且不限制时长的物理模拟。配上 Algoryx 的快速直接解算器,AGX Dynamics 能以机械精度来解算大型分散系统,无须额外的处理即可模拟大质量比的“刚性”系统。
机器的运动由众多机器部件共同完成,这些组件可以是发动机、变速箱、差速器、液压系统、轮胎和轨道,以及电缆或电线等可变形物体,且机器必然会与环境之间产生互动。正如一艘船必须在水中漂浮,而装载机必须在土地上行驶并装载。所有组件都处在同一框架下,可产生相互统一、紧密关联的模拟。这种结合模型与数值模拟的方法,是以最新的科学文献作为其理论基础的。
AGX Dynamics 的性能和准确性广受业内合作伙伴们的认可,它被广泛用于专业培训模拟器或工程工具中。操作员会在培训模拟器中学习安全和高效的机器操控方式,通过在这种高度逼真的模型上训练出的手眼协调能力,也可以很好地运用到现实中。
另一方面,工程设计经常涉及机器与环境互动的深入分析,比如对比关节的真实出力与传动系统的能量消耗。还原真实情况,用以指导早期设计决策,这对客户来说是非常有用的。AGX Dynamics 目前已整合至 Unity,Unity 用户们现在可以用强大的 Unity 编辑器来构建设备与环境模型,再用 AGX Dynamics 进行模拟。

钢丝绳

电缆和电缆磨损

颗粒物

地面

传动系统、轮胎和运行轨迹

水动力学和风力
可应用至现实的模拟
要实现在现场作业的重型车辆自动化,这比实现工厂里那些执行重复动作的机器人要难得多,况且前者的环境和任务也在一直变化着。相对于经验不足的新手,只有技术娴熟的老员工可以利用车辆与其目标对象之间的互动,来提高工作表现。
事实证明,自动化过程中最困难的部分在于找准测量对象:弄清怎样将环境与车辆操控动态地联系起来,让车辆进行“自主决策”。人类操作员往往会利用视觉、听觉与车辆受到的阻力等多种感官输入,凭直觉做出决定。这种直觉需要经过数千小时的培育,操作员首先在模拟器上体验虚拟却逼真的情形,然后将学到的经验应用到真的机器上。这就要求模拟器有十分精确的物理模拟,才能让这些学习体验能有益于实际操作。

训练模拟设备,图片源自Oryx Simulations
近年来,不断进步的强化学习有望处理传统解决方案无法处理的复杂环境。在强化学习的帮助下,自动化工程师不必先单独解决自动化的每一个部分,再组装所有部件,而可以首先编写出要解决的问题、解决问题过程中可能会用到的行动和产生的现象,然后让代理在环境中“想出”解决方案。
这听起来很容易,但现实是强化学习模型要想解决任何一项任务都需要经过巨量的探索和训练,而让模型在真实设备上训练既危险又费钱。
那这该怎么解决呢?改用模拟。
模拟中,不会存在损坏机器的情况,其运行速度也比实时更快,并且模拟无需额外支出便可并行运行数个实例。但类似于真人培训,强化学习的培训也必须用到精确的物理模拟,这样培训习得的经验才能在真实设备上发挥作用。如果模型不正确,智能代理学会的解决方案将无法应用到现实世界中。

构成强化学习方案的元素
开发者可使用 Unity 引擎和 Unity 机器学习代理(ML-Agents)轻松构建环境模型,并加入一个或多个智能代理进行训练。你还可以使用 Unity SystemGraph 来模拟观察环境用的各类图像传感器。
Unity 机器学习代理:
起初,智能代理并不知道该怎样解决任务,开发者需要根据先前的状态为其设置一个行动奖励,让 ML-Agent 的强化学习算法求出最大化奖励的策略,并最终解决问题。此类训练辅以 AGX Dynamics for Unity 快速而精确的物理模拟,即能让重型机械的建模和训练成为可能,使智能代理在模拟中就能自主地解决非常复杂的问题。
自动伐木:原木抓取控制
于默奥大学的 Jennifer Andersson 就使用 Algoryx 研究了怎样借助强化学习,来实现伐木机抓手原木抓取动作的自动化。有经验的人类操作员可以操控伐木机上动力较低的抓手抓取多根原木,同时在不平整的地面上行驶、躲避其他树木。这种技巧可不简单,操作员需要耗费大量的精力和体力、撇开直觉来协调多个作用器。
而在用 Unity 和 ML-Agents 搭建、用 AGX Dynamics for Unity 模拟物理的环境训练过后,智能代理也可以分别控制伐木机前臂的六个关节来抓取单根原木。其训练出的最佳策略有 97% 的成功率,相当于一名经验丰富的人类操作员。比如,智能代理能利用低动力抓手的摆动来减少整套抓取动作的耗时,这是一种较难学习的技巧。
研究还表明,设有节能奖励的智能代理与普通智能代理相比能极大地节省设备能耗。

现实与虚拟伐木机对比,截取自IROS 2021
地下矿井中的自主连续装载
在另一个例子中,Algoryx 与世界领先的隧道和采矿设备制造商 Epiroc 合作,实现了大型地下矿井装载机 ST-18 的自动化装载。该重型车辆能够用铲斗装载 18 吨碎石,并在各种地下矿井里不停地运行。在地下掘进时,隧道末端的爆破会产生大堆的碎石(泥土),只有清除这些障碍后隧道才能进一步挖掘。
AGX Dynamics for Unity 让工程师能够安全地设计、开发和测试复杂的自动化设备。Algoryx 正积极使用 Unity 平台开发机器学习,以上的两个例子仅是一小部分。在未来,我们的技术将被用于解决其他更高难度的自动化难题。
让世界更美好——首先,从模拟世界开始。


长按关注
第一时间了解Unity引擎动向,学习最新开发技巧

每一个“在看”,都是我们前进的动力
-
阅读原文
* 文章为作者独立观点,不代表数艺网立场转载须知
- 本内容由数艺网主动采集收录,信息来源为 “Unity官方平台” 公开网络发布内容。第三方如需转载本内容,必须完整标注原作者信息及 “来源:数艺网”,严禁擅自篡改、删减或未标注来源转载。 并附上本页链接: 若您的内容不希望被数艺网收录,或认为此举侵犯了您的合法权益,敬请通过微信 ID:d-arts-cn 联系数艺网。我们将致以诚挚歉意,并第一时间为您办理下架或删除处理。







