Comparing Robot Grasping Teleoperation across Desktop and Virtual Reality with ROS Reality
标题:比较机器人在台式机和虚拟现实中的远程操作与ROS现实
0. 摘要
远程操作使人类可以远程操作机器人来执行复杂且潜在的危险任务,例如消灭炸弹,修复核反应或维护空间站的外部。现有的远程操作方法通常依赖于计算机监视器来显示传感器数据以及操纵杆或键盘来致动机器人。这些方法使用2D界面来查看3D世界并与之交互,这可能使使用它们难以完成复杂的任务。为了解决这个问题,我们引入了虚拟现实界面,该界面允许用户实时远程遥控物理机器人。我们的界面允许用户使用虚拟现实来控制他们在场景中的视点,增强态势感知(尤其是物体接触),并通过在3D空间中移动手动控制器来直接移动机器人的末端执行器,从而实现细粒度灵巧的控制。我们在有18个用户的杯子堆积操作任务上评估了我们的界面,比较了键盘和鼠标界面,虚拟现实摄像头控制和位置手部跟踪的相对有效性。我们的系统将任务完成时间减少了101秒(减少了66%),同时改善了对系统可用性和工作负载的主观评估。此外,我们还展示了系统在远距离上的有效性,成功地完成了40英里以外的杯子堆叠任务。我们的论文有助于定量评估机器人在桌面和虚拟现实界面之间的遥控操作。
1. 介绍
不管是从核反应堆站导航,消灭炸弹还是从外部维修国际空间站,机器人都有能力位于人类不能或不应该去的地方。 在那些地方进行deft操纵可以挽救生命。 由于即使是最先进的自主机器人也无法执行需要抓握和操纵的任务[13],因此人工遥距操作通常是一种实用的替代方法-无需操作员就可以导入操作员的灵巧性,专业知识和丰富的背景知识 展示。
为了执行操纵任务,操作人员需要对机器人的执行器进行高保真控制,并对其环境进行准确的可视化显示。 最先进的远程操作系统要求操作员既要管理自己的视野,又要分别命令机器人的执行器。 这通常是通过键盘和鼠标接口执行的,就像DARPA Robotics Challenge [13]一样。
最近对虚拟现实(VR)设备重新产生了兴趣并降低了价格,这增加了将VR用作机器人遥操作接口的可能性。 VR承诺提供沉浸式和详尽的用户体验,以及完全自由的视点和表达机器人动作的自然方法。 确实,以前的研究已经发现,沉浸式界面在语音应用中带来了显着的好处[12,8]。 尽管有一些系统可以使用VR进行机器人远程操作[4、3、2],但这些系统并未提供流体相机的控制和手动跟踪运动,并且其性能尚未得到经验评估。
我们提供了一个VR界面,该界面允许未经培训的用户控制机械臂执行细粒度的操作任务。 使用VR摄像机控制,操作员可以通过在场景中移动头部和身体来快速获得态势感知; 观点如下。 操作员还可以通过简单地移动自己的手,直接进行手臂的末端执行器位置控制,这既可以通过位置跟踪实现,也可以通过自动避碰实现。 这两个功能使用户可以有效地执行细粒度的任务。 图1显示了用户使用我们的系统控制Baxter机器人的过程以及用户的视图。 机器人的传感器(在本例中为经过校准的3D点云,其关节传感器和腕式摄像头)用于可视化机器人的环境。 人们可以通过在虚拟空间中拖动机器人的末端执行器来移动它,从而使真正的机器人移动。
2. 相关工作
许多机器人研究社区都选择了机器人操作系统(ROS)作为其选择的软件[14]。 在ROS中,通常通过结合使用内置的可视化软件RViz [10]和ROS交互式操纵(IM)堆栈[1]来完成远程操作。 IM堆栈通过计算机监视器使用指向和点击界面,与我们的界面相比,它既麻烦又缓慢。
2013年,Willow Garage为开发人员生产的虚拟现实耳机Oculus Rift DK1发布了RViz插件[15]。 这导致创建了多个VR远程操作软件包[2,4]。 不幸的是,Rift尚不支持头部或手部的位置跟踪,从而限制了系统的实用性。 为了跟踪手,这些程序包依赖于第三方手跟踪器。 此外,RViz旨在与机器人在同一局域网(LAN)上运行,并且根据我们的经验,如果通过Internet流式传输大量数据(例如点云),则会遇到延迟问题。 我们的系统能够通过解构点云,发送单独的压缩深度和彩色图像以及使用自定义GPU着色器在VR计算机上重构点云来缓解此问题。
与我们类似的系统是Mind Meld [3]。 它是由McCarthy等人设计的,是一个VR电视操作系统,它使用来自PR2机器人的Unity渲染数据。 使用定制的3D打印抓手对手进行跟踪,并使用上一代Oculus DK2耳机查看场景。 Mind Meld并非公开可用,并且与我们的系统不同,该产品并非旨在远距离工作。 此外,我们的工作为对象操纵系统提供了经验评估。
DARPA机器人技术挑战赛(DRC)[13]是DARPA旨在开发人类监督下的机器人以执行危险,复杂任务的目标所激发的挑战。 机器人团队竞争创造了可以驱动,在瓦砾中移动,转动阀门和爬楼梯的机器人。 机器人是半自动的,获胜的团队HUBO表示,在挑战即将结束时,团队“非常关注人类远程操作” [16]。 远程操作界面是RViz和Interactive Manipulation堆栈的变体。 由于虚拟现实能够提供出色的场景理解能力,因此它可能是帮助机器人执行类似DRC任务的有用工具。 由于DRC带宽限制进入者,因此需要特别注意的是,VR接口与键盘和显示器接口相比,从机器人获取的带宽不需要更多。
2.1 贡献
本文的主要贡献是系统ROS Reality,以及一项用户研究,该研究显示了虚拟现实界面与传统界面相比的性能提高。 ROS Reality是第一个将当前可购买的虚拟现实硬件(HTC Vive和Oculus Rift)连接到ROS网络的可公开获得的软件包。 这些VR系统的成本相对较低,并且具有高度精确的跟踪功能。 ROS Reality允许设计人员导入任意机器人URDF,以构建虚拟机器人模型,以及通过Internet发送和接收多个ROS主题。 该系统当前具有用于摄像机,点云和TF主题的可视化工具。 特别是点云被分解为单独的压缩深度和彩色图像,并使用自定义着色器在VR计算机上进行重构,以保持较低的延迟。
此处呈现的用户研究证明,与键盘和显示器接口相比,VR系统的任务完成时间大大减少。 从我们的结果来看,手动跟踪似乎是提高任务速度的关键组成部分,而虚拟现实场景会导致工作量,可用性和易用性方面的大量增长。 评估和讨论可能有助于指导未来的研究,以评估用于远程操作的类似接口。
3. 技术方法
我们的目的是设计一种虚拟现实界面,使操作员可以1)有效感知机器人的环境,以及2)有效控制机器人的执行器执行细粒度的任务。 为了实现我们的第一个目标,我们创建了一个虚拟环境,可以捕获并清晰显示机器人环境的状态。 场景中相机的移动由用户佩戴的虚拟现实耳机的移动控制。 为了实现我们的第二个目标,我们设计了一个位置跟踪系统,该系统将跟踪的控制器的运动映射到所需的末端执行器运动。 该界面允许操作员通过移动自己的手在真实空间中移动机器人的效应器。 我们的系统架构ROS Reality如图2所示。
我们选择HTC Vive作为我们的VR界面,因为它能够跟踪头戴式耳机和手持控制器的姿势(需要注意的是,用户仅限于5平方米的游戏区域)。 Vive为用户提供了在3D虚拟环境中四处走动的能力,从而可以通过多种视角获得强大的态势感知能力。
3.1 场景渲染和头部跟踪
VR可视化系统的核心任务是创建真实,自然的环境可视化-融合传感器数据,关节位置以及可用的对象和机器人模型-实时响应操作员的动作,而不会使延迟消失。 这需要高性能的渲染系统。 我们开发该系统的策略是将传感器数据流式传输到功能强大的本地计算机,该计算机使用Unity构建并显示世界的本地模型。 因此,渲染发生在靠近用户和VR耳机的地方。 Vive的头部跟踪系统捕获的用户移动导致渲染视图在该本地模型中发生更改,并且来自机器人传感器的更新会异步修改该本地模型。
Unity中的虚拟场景由三个主要信息组成:1)机器人的3D模型,通过导入URDF格式的机器人描述获得; 2)通过安装在机器人附近的经过校准的Kinect v2传感器获得的场景3D点云; 和3)机器人腕式摄像机的显示屏(1280×800像素RGB摄像机,缩小为400×600,可以在操作员正前方显示非常有用的高分辨率实时环境图像)。 Unity的高质量渲染产生了一个看起来逼真的虚拟机器人,并且运动时没有察觉的滞后。
3.2 位置手部追踪
我们选择HTC Vive的一个关键原因是它包括两个手动控制器,它们的追踪方式与追踪头戴式耳机的姿势相同。 手动控制器包括一些按钮,我们使用它们来允许操作员指示何时移动手动控制器也应移动机器人的末端执行器,以及夹具何时应打开或关闭。 手动控制器在场景中可视化(与机器人在场景中可视化的方式相同),这使操作员可以通过在空间中虚拟拖动机器人的末端执行器来移动它。 为此,我们使用了百特的内置碰撞检测和逆运动学技术来生成与用户运动相对应的轨迹。2这为操作员提供了对机器人末端执行器的细粒度,全姿势控制。
4. 评估
我们的评估评估了VR摄像机控制和位置手部跟踪作为远程操作界面的有效性。 为此,我们要求新手用户通过四种方式对Baxter机器人进行遥控操作,以执行杯子堆叠任务:直接操纵手臂,并使用三种不同的遥控界面:键盘和显示器,位置手部跟踪和监视以及位置手部跟踪 带有VR摄像机控制。 我们将任务完成时间报告为一项客观指标,并对系统可用性,宜人性和工作量进行主观评估。
为了进一步证明有效性,我们从41英里远的地方完成了一个更大的杯子堆叠任务,使用了来自罗德岛州普罗维登斯市马萨诸塞州坎布里奇市的百特机器人连续堆叠了10个杯子。 该演示的视频可以在这里找到::https://www.youtube.com/watch?v=HlRJZYNNndI
4.1 任务
通过控制Baxter机器人的右臂先将蓝色杯子放入绿色杯子中,然后将蓝色杯子放入机器人中,每个用户的任务是将三个杯子(全部都位于机器人前面的桌子上)组装成一个单独的堆栈。 绿色堆栈放入黄色杯子。 蓝色和绿色杯子平放在桌子上,而黄色杯子则以45度角撑起。 杯子取自YCB对象组[7]中的堆叠杯子组。 该任务如图3所示。在进行远程操作期间,用户可以通过整个房间中的计算机控制机器人,而分隔线则挡住了他们的视线。
设计该任务很困难。 杯子彼此紧密贴合,间距小于2毫米。 蓝色和绿色的杯子没有固定在桌子上,如果碰到,很容易被撞倒。 黄色杯子的角度要求操作员使机器人手臂绕其两个轴旋转,这是一项灵巧的任务,迫使操作员必须同时考虑手臂的方向和位置。
4.2 界面
我们的实验比较了四个接口: