Human-machine collaboration in virtual reality for adaptive production engineering

Human-machine collaboration in virtual reality for adaptive production engineering
0. 摘要

本文概述了在虚拟现实(VR)支持下的生产工程中的人机协作(HRC)开放和自适应仿真方法的主要步骤。这项工作是基于游戏行业的最新软件开发,以及已经上市的强大而可靠的硬件。这可以克服制造机器制造商提供的工业软件的VR限制,它基于开放源代码社区编程方法,并且还带来了显着的优势,例如与最新开发的硬件接口以实现沉浸式VR的真实用户体验。以及共享自适应算法的可能性。 Unity中的实用实施作为可行性测试的功能原型提供。但是,在本文撰写之时,尚未注意到关于实施的受控的人为对象的研究,实际上,这仅仅是为了显示概念的初步证明。未来的工作将正式解决在第一次运行中提出的问题。

1. 介绍

虚拟现实(VR)并不是一个新概念,但是最近为游戏行业引入的某些VR技术具有很大的创新性,并且制造业开始对其进行测试,并最终采用它们。 本文研究了同时考虑新的软件和硬件解决方案的方法的相关性。 使用针对不同用途开发的软件可能具有欺骗性,并导致未解决的问题。 然而,本文的目的不是要立即解决所有问题,而是要解决优点和缺点,以及通过朝着一个有希望的研究方向前进而出现的开放性问题,即使用游戏引擎作为仿真软件来控制 AR / VR硬件和工业机器。

特别关注VR的人机协作(HRC)机会,这为作者找到了具有增强现实(AR)的HRC物理方法的前景广阔的前提。 实际上,当HRC每天都在增加并且行业正在从大规模生产转向个性化生产时,寻找基于大型开发人员社区(例如游戏开发人员)的新软件解决方案可能不仅对工业生产仿真有用,而且对事实也很有用。 还可以适应性地改善机器和人的生产过程本身。 开源和跨生产者开发方法所带来的优势是不言而喻的。 仅举一个例子,机器学习算法在以附加库的形式共享时可以在给定过程的适应中起主要作用(可以通过基于云的解决方案进一步增强)。

本文还提出了一种在Unity中作为协作机器人操纵器的简单实现,该原型允许人类操作员通过HTC Vive虚拟现实跟踪的耳机和手控制器与VR环境进行交互。 讨论了这种方法的优缺点,并将在以后的工作中充分验证。

1.1 虚拟现实

虚拟现实一直是研究的话题。 术语VR本身是1989年由Jaron Lanier首次使用的[1]。 1992年,欧洲共同体委员会(CEC)承认VR是一种可行的技术,将其纳入未来的提案征集中[2]。 此后,数百个研究项目探索了其在不同学科中的潜在用途,但只有在2012年,名为“ Oculus Rift”的Kickstarter项目才可以通过募集资金并开发负担得起的高质量头戴式显示器(HMD)将其推向公众。 )。 HMD的普及已经开始了第二次VR浪潮,该浪潮仍在学术界和行业研究人员以及游戏界中传播[3]。

最新技术已经产生了HMD,例如已经提到的Oculus Rift,现在是其第二版本,HTC Vive,PlayStation VR,开源虚拟现实(OSVR)或Zeiss VR One,以及一系列增强移动性的移动HMD。 手机屏幕进入用于VR的HMD设备,例如Google Cardboard,Samsung GearVR Innovator Edition和Gameface Mark IV。 这意味着沉浸式VR终于可以为所有人所用。 与HMD一起,存在输入/输出(I / O)设备,可用于VR中几乎任何类型的用户交互:从触觉设备到跟踪设备,控制器和深度摄像头。

VR的另一个重要部分,连同上述硬件,是使这种范例得以体验的软件。该主题的主要研究围绕计算机辅助设计(CAD)的使用展开,以在虚拟环境或网络工作区中将真实世界的物品复制为模型[4]。但是,作为计算机模型的真实对象的复制尚不符合VR的条件。决定因素是利用虚拟表示进行仿真的可能性。实际上,VR的综合定义是“计算机生成的三维对象或环境的模拟,具有看似真实,直接或物理的用户交互” [5]。这是各条道路开始相互分离的地方:游戏产业专注于虚拟世界,以便玩家可以通过控制虚拟形象与他们互动,而通用工业和学术研究则专注于仿真软件,用户可以在其中进行仿真。体验VR作为可视化此类仿真结果的一种手段。

1.2 虚拟现实中的人机协作

生产工程中的人机协作(HRC)是一个研究课题,增强现实(AR)和VR提供了接口,分别扩展了操作员可以在其视野中观看的功能数量[6]或将其替换 完全具有虚拟世界。 典型的工业生产应用范围涵盖制造过程仿真[7] [8],它们能够提供用于检查[9]或侧重于培训[10] [11]的实时增强信息,以及在生产过程中的协作工厂计划 产品设计[12]或重新设计[13]。 实际上,在实施之前分析和评估变更时,VR可以用于生产系统的协作(重新)设计。 这样可以防止代价高昂的设计错误[13]。

尽管有些作品已将人为因素视为工业过程的一部分,并调整了VR以将操作员的动作准确地包括在模拟中[10],[14],[15],但操作员经常会遇到这种情况。仅从静态位置进行VR / AR,例如输入传感器所在的位置静止不动或就座。另一种方法是将操作员沉浸在洞穴[16]中,这是一扇虚拟的VR墙,该空间显然受到物理限制。另一方面,游戏行业正在研究在VR / AR环境中体现传感器并使玩家摆脱物理约束的方法,从而提供增强的沉浸感:在虚拟世界中移动并与出现的任何事物进行交互的能力在玩家周围。甚至支持由一个或多个佩戴VR HMD的运营商组成的大型协作团队。因此,游戏成为AR / VR创新受到大力推动的领域,特别是由于大量最终用户或玩家,他们也很容易接受beta版本并成为早期体验者,以便首先体验它。行业中的类似创新需要多年的测试,行业标准的变更,机器的更换以及工厂设计的升级,更不用说昂贵的投资和管理决策了。

1.3 生产工程对虚拟现实的看法

本文旨在探讨可用于生产工程中的游戏行业的最新进展,以克服制造机制造商提供的工业软件的主要局限性,特别着重于基于虚拟现实的VR身临其境的应用程序。 开源社区方法。

本文的其余部分分为四个部分。 在第2节中,介绍了相关工作。 在第3节中介绍了在生产工程中使用游戏引擎的理想步骤。在第4节中介绍并讨论了实际应用。最后,在第5节中,总结和未来的工作。

2. 相关工作

虽然在引言中引用了有关生产工程的VR和HRC的大多数相关工作,以便为本文奠定基础,但它们中的大多数共享来自游戏行业的硬件,但从未共享模拟软件。 只有极少数情况包括混合方法,因此下面将进行介绍。

“机器人当心”是在UnityTM游戏引擎平台[10]中开发的虚拟现实训练系统(VRTS),可模拟通过HMD访问的车间环境,还使用Microsoft KinectTM传感器捕获操作员的动作并将其虚拟化 。 化身用于在虚拟环境中渲染操作员的身体。

UnityTM也已与机器人操作系统(ROS)[17]一起用作通过驱动移动机器人[18]进行沉浸式VR远程操作的中间件,或作为多人无人机本地计划的实时模拟器[19]。 ,[20],因此从游戏的角度着手使用工业机器人进行仿真。

3. 游戏引擎对虚拟现实中人机协作的贡献

3.1 沉浸式VR协作的关键要素

沉浸式VR的优势在于专注力和长期关注。 例如,一项研究揭示了低空间能力的学习者如何受到VR学习的积极影响[21]。 获得沉浸式VR体验的关键要素如下[22]:

虚拟世界。 空间中由规则和关系控制的对象的集合,其中对象是完成工厂场景的工业机器和其他工业设备的CAD模型,使用Unity中的类(称为GameObjects)定义这些规则,并且这些关系是 由可以附加到任何GameObjects的组件和脚本定义。 这些对象共同构成一个虚拟世界。

浸没。 它指的是工业操作员在虚拟空间内参与活动的状态,是指他们的思维与他们所居住的物理空间分离的扩展。Unity之类的游戏引擎为HMD设备提供了全面的支持,从而使 完全沉浸式模式是模拟的默认设置。

反馈。 该元素使操作员能够在VR中观察其活动(输入)的结果(输出)。 HMD设备的标准反馈是视觉/听觉的,但使用触觉设备也可以提供触摸感,这已成为普遍现象[23]。 味道和气味仍然难以探索。

互动性。 与虚拟世界进行交互的能力是基本的。 传感器和设备可以捕获操作员的身体动作,并将其转换为虚拟动作。 导航和直接操纵是沉浸式虚拟现实的两个主要方面。 诸如HTC ViveTM之类的HMD通常与某些控制器捆绑销售,操作员可以将其握在手中。 语音和手势命令也可以通过安装在环境中的麦克风和摄像头捕获。

参加者。 人工操作员是VR体验的重要组成部分。 可以将它们按经验分组,并根据其与虚拟对象进行交互的能力提供不同的VR表示。 VR的一个优点是,它允许通过简单地使用操作员来对其进行培训。 这是通过在每个操作员获得足够的知识来执行更复杂的操作时按不同级别构建虚拟世界来实现的,依次称为“虚拟世界”。 就像玩家在视频游戏中逐级提升一样。

3.2 游戏引擎的对象表示

CAD-VR数据交换是VR社区提出的一个重要问题,因为在大多数情况下,行业用于开发其产品模型的CAD系统不适合为VR仿真生成最佳的对象表示形式。实际上,VR图形引擎利用场景图进行可视化,例如Openscenegraph,OpenSG或OpenGL Performer是分层数据结构,例如三角网格几何,空间变换,照明,材质属性等。场景图渲染器提供了以交互帧速率利用此数据结构的方法。将CAD数据转换为场景图包括对每个部分生成多个多边形表示,并且在此转换过程中,CAD模型的参数信息和预先存在的纹理贴图通常甚至不会导入到VR应用程序中。在虚拟装配仿真中,同一模型通常有两种表示形式:一种是用于可视化,另一种是用于执行装配任务的约束建模算法;另一种是用于执行装配任务的约束建模算法。这些都统一在游戏引擎中的预制对象下,可以使用对象编程轻松地实例化和销毁这些对象。同样,物理建模应用程序也使用双重模型表示:用于可视化的高保真模型和用于交互式物理计算的粗略表示;最重要和最具挑战性的任务是物理模拟的改进[24],这可以通过使用游戏引擎来辅助。

即使CAD模型的转换威胁到速度变慢的过程,也可以通过将游戏引擎用作VR软件来获得优势,因为它们由物理和可视化模拟器组成,这些模拟器经过集成并针对现实的用户体验进行了优化。

3.3 开放社区方法

游戏引擎的一个特殊方面是,它们带有一组工具,这些工具在最终用户社区的帮助下不断开发和改进。 一个用户收集或创建的所有对象都可以在在线库中共享,例如 Unity资产商店。 这使其他用户可以快速重用并最终重新设计现有解决方案,而不必从头开始实施它们。

3.4 远程协作任务

可以通过VR体验增强的另一个有趣的应用程序是远程协作。 众所周知,已经使用3D模型来指导远程机器人组装[25],并且协作机器人监视有望在制造过程中提高可持续性[26],[27]。 VR可以通过将用于远程控制的界面制作为一种远程呈现沉浸式应用程序来实现这一目标,在该应用程序中,可以利用游戏风格的所有优点为操作员提供逼真的体验并完全控制其远程操作。

可以对此做出贡献的一项有前途的技术是能够通过VR中的点云捕获和流式传输真实对象表示的能力。 由于流式点云比完整的视频流轻,因此即使连接速度较慢,也有助于保持每秒传输的帧数较高[25]。 可以使用游戏引擎中的脚本对一个点进行建模,以表示进入运营商虚拟世界的对象,从而使虚拟网真逼真并提供足够的反馈以指导运营商的同时响应。

4. 实际应用:虚拟现实中的协作机器人操纵器

为了展示使用游戏引擎作为工业机器和VR环境的仿真软件的可能优势,已将实际应用设计为功能原型。 该应用程序已用于初步的初步研究,并将在我们未来的工作中通过受控的人类对象研究加以改进和验证。

该项目旨在在VR中重现ABB IRB 120机器人操纵器,操作员可以通过佩戴HMD来移动它,以执行简单的协作装配任务。 HMD的选择落在HTC ViveTM虚拟现实跟踪耳机及其手持控制器上,因为它具有很高的跟踪精度和最新的VR显示屏。

仿真中使用的虚拟ABB IRB 120机器人操纵器(参见图1左)通过Unity中作为资产导入的算法进行控制,这是遗传算法和粒子群优化算法的混合,用于逆运动学[28]。 它允许由任意多个关节组成的虚拟手臂以类似于人的自然动作来进行动画处理。 机器人操纵器的末端执行器(EE)与操作员在现实世界中所握持的控制器的空间位置和方向有关。 一旦操作员移动了手臂,便会重新计算EE的位置,并通过算法连同所有其他关节位置一起进行计算,从而使导致新位置的运动显得平滑且尽可能自然。 如果机器人操纵器是人的手臂,即使具有不同数量的自由度(DOF),它的运动看起来也将尽可能接近人的动作。

Unity具有内置的运动学系统,但它专用于并且仅限于模拟人形(即类人角色)。无论如何,Unity可以通过轻松定义要移动的关节的结构(即关节链)来完成一半的工作,如图2所示。 1(右)。关节链构成了机器人操纵器的CAD模型零件的结构,并允许附加的脚本在其上起作用。 Unity还为每个关节提供一些基本设置,当未将动态分配给外部脚本时,这些设置可以用作默认设置。联合限制在Unity中定义,最大速度在脚本级别定义。后一种选择是由于动态质量受到Unity中包含的游戏优化的不利影响,游戏优化使类人动物的仿真更加逼真。因此,建议将外部脚本用于机器人操纵器或由具有多个自由度的多个关节组成的任何机器的运动学和动力学。

如前所述,操作员的手臂运动与机器人机械手运动的关节映射不对应。 相反,操作员通过将控制器握在手中来为机器人操纵器建议所需的EE位置,然后将计算留给运动学算法解决以下问题:

评估与操作员从耳机伸出的手臂相对应的EE相对位置;

调整机器人的空间以适应用户手臂延伸的可及性,以便机器人可以达到的最大距离与操作员手臂的最大范围可比;

通过在用户快速改变姿势的过程中使机器人运动平稳以增加其传播范围,找到一种使机器人运动至操作员的手臂无法轻易到达的位置的方法。

第一个问题是通过每当反向运动(IK)系统无法到达目标位置时以振动的形式将触觉反馈传递给用户来解决的。

为了解决第二个问题,在IK系统提供的解决方案之间计算了有效的轨迹。 这可能给用户一种印象,即机器人进行了不必要的或自动的运动,但是机器人只是改变姿势以避免奇异性,从而规避了关节的限制。

第三个也是最后一个问题是通过允许用户(而不是机器人)重新放置自己的位置来解决的。 因此,选定的交互模式将由命令上的相对位置直接控制:机器人跟随控制器的相对运动,但仅在操作员按下控制器上的触发按钮时才遵循。

必须在速度和精度之间进行权衡。 重新定位机器人或用户的位置会导致在保持EE的稳定位置方面遇到一些困难,尤其是在执行精确动作时。 放慢机器人运动会减弱操作员细微运动的影响,因此可以提高机器人精度。 相反,对于操作员来说,使用全速机器人可能会很有趣,但是会使控制变得非常难以管理。 也可以通过使用可变执行器(例如控制器上的压力传感器)代替二进制开/关触发按钮来设置不同的速度。 这可以根据操作员的需求来调节速度。

当所有DOF都可用时,直接控制机械臂一直很困难,这是因为没有人对机器人进行关节控制,因为人与机械臂之间在DOF方面没有对应关系。 当腕部(最后三个关节)锁定在指定的方向(例如,指向要抓取的目标的位置)时,该应用程序变得更有用,特别是对于新手。 因此,事实证明,改善控制的一个有效技巧是分配一个触发按钮来锁定/解锁最后三个关节的位置。 这有助于保持EE的方向固定,从而使操作员可以轻松地执行精确的运动,例如插入和抓取。

与机器人操纵器的整个VR交互已分为三个级别:摆姿势,记录和播放。 在摆姿势模式下,操作员可将机器人操纵器自由地引导至某个姿势。 一旦开始记录模式,所有的动作都将保存为轨迹。 当游戏模式处于活动状态时,机器人将循环跟踪其记录的轨迹,而与操作员的运动无关,从而使他们可以帮助完成该过程,但不会对其造成干扰。

5. 总结和未来的工作

实际的应用程序虽然非常简单,并且是非正式的初步研究,但它带来的观察结果对于基于VR的生产工程仿真而言似乎很有希望。 例如,它有助于理解在控制机器人手臂与人手臂时如何管理不同自由度的对应关系。 机器控制的第一个用户视角使其与典型的悬而未决的动作激活方式截然不同。 在操作员体现机器的能力以及“在他们的皮肤上”学习如何执行制造过程的能力上可以看到优势。 因此,即使在AR应用程序中,运营商才能获得完整的物理HRC,HRC仍会在VR中采用不同且丰富得多的形式。

值得考虑对资产(包括脚本)使用开放库的优势。如本文所述,游戏引擎中的每个功能都可以作为资产共享,其中包括CAD模型,材质,纹理,脚本,渲染,声音效果,动画等。如果在生产之间共享了诸如CAD模型之类的功能多年,软件用户,在仿真软件中共享脚本时出现了新的可能性。这不是一个新主意,因为程序员已经通过特定的网站(例如, GitHub,SourceFourge或BitBucket,但新的事实是脚本可以作为即插即用项共享,可以在仿真软件中直接附加到VR环境,并且可以与受脚本影响的对象一起共享脚本。它们将由模拟器共同加载并准备使用。这对应于一个开放的工业应用社区,该社区使用具有自定义行为的共享工具,并在同一仿真软件中运行。

为了使游戏软件与生产工程仿真中所需的软件标准完全兼容,提出的方法注定将面临巨大挑战。 但是,提出的简单应用程序以及所概述的优点,鼓励朝着这个方向进行进一步的研究。

将来将要进行的工作包括本文提出的几个未解决的问题,包括一整套新的可能性。 例如,当工业机器在诸如Unity之类的游戏引擎中被建模为预制件时,它可以作为资产导出,其中既包括CAD零件,也包括在VR中调节机器完整行为的脚本。 自适应生产计划可以利用此类脚本来模拟针对给定制造任务的快速适应性设计。

机器远程控制的基础是确保VR中的动作可以与现实世界中的动作相对应。 例如,移动机器人操纵器可以代替与VR环境进行交互的操作员,并在现实世界中(尤其是在远程位置)以输出形式执行其动作。

将设计和开发更高级的实际案例,以应用和进一步测试本文提出的观察结果和未解决的问题。

posted @ 2021-04-09 16:37  feifanren  阅读(91)  评论(0编辑  收藏  举报