论文笔记(七):ROS Reality: A Virtual Reality Framework Using Consumer-Grade Hardware for ROS-Enabled Robot

ROS Reality: A Virtual Reality Framework Using Consumer-Grade Hardware for ROS-Enabled Robots

  • 文章概括
  • 摘要
  • 1. 介绍
  • 2. 相关工作
  • 3. ROS Reality
    • A. 作为远程操作界面的VR
    • B. 系统概述
    • C. ROS
    • D. HTC Vive
    • E. Unity
    • F. ROS Reality
      • 1)WebSocket 客户端
      • 2)URDF 解析器
      • 3)Transform Listener
      • 4)RGB照相机可视化
      • 5)Kinect点云可视化
      • 6)手臂控制器
      • 7)IK状态可视化
    • G. 机器人
  • 4. 长距离传输测试
  • 5. VR遥操作任务可行性
    • A. 操作任务
    • B. 讨论
  • 6. 未来研究计划
  • 7. 结论


文章概括

作者:David Whitney,Eric Rosen,Daniel Ullman,Elizabeth Phillips,Stefanie Tellex
来源:2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) Madrid, Spain, October 1-5, 2018
原文:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8593513
代码、数据和视频:https://github.com/h2r/ros_reality
系列文章目录:
上一篇:
论文笔记(六):A VR Teleoperation Suite with Manipulation Assist
下一篇:


摘要

虚拟现实(VR)系统可以让用户直观地与3D环境进行交互,并已广泛用于机器人远程操作任务。虽然比二维的同类产品更有沉浸感,但早期的VR系统价格昂贵,需要专门的硬件。幸运的是,最近出现了大量价格实惠的消费级VR系统。这些系统价格低廉,相对便携,并且可以整合到现有的机器人框架中。我们小组为机器人操作系统(ROS)设计了一个VR远程操作包——ROS Reality,可以很容易地集成到这类框架中。ROS Reality是一个开源的、在任何支持ROS的机器人和任何兼容Unity的VR头盔之间的互联网远程操作接口。我们完成了一项试验研究来测试我们系统的功效,专家级人类用户通过ROS Reality控制一个Baxter机器人完成24个灵巧的操作任务,相比之下,同样的用户通过直接的移动操作控制机器人。本研究深入探讨了在VR中利用当前消费级资源完成机器人远程操作任务的可行性,并暴露了这些VR系统中需要解决的问题。此外,本文还对ROS Reality、其组件和架构进行了描述。我们希望这个系统能够被其他研究小组采用,以便于将VR远程操作机器人轻松地整合到未来的实验中。

1. 介绍

虚拟现实(VR)为机器人提供了一个引人注目的界面,因为它可以在真实的物理世界中实现流畅的互动,并允许用户以直观的方式指定点和变换。VR界面为远程操作、机器人教学和演示学习,以及远程调试和修复机器人上的问题提供了潜力。

VR系统的一个主要好处是可以让非专业用户控制机器人。将机器人操纵器直接映射到VR手部控制器上,创建了一个界面,其中操纵器作为用户手部的延伸。这种人机界面可以让日常用户直观地完成各种灵巧的机器人操作任务,而不需要大量的培训。另一方面,许多任务需要精细的操作,这就需要专家的表现,需要时间来获得这种经验。因此,VR界面也可以作为一种手段,利用人类专家用户的熟练程度,促进机器人学习复杂、精细的操作任务。因此,VR允许非专家控制机器人,也可以利用专家在挑战性领域的经验。

然而,将机器人与VR系统集成是一个挑战。没有标准的接口可以将ROS与标准的虚拟现实范式(如Unity)连接起来,从而可以与消费级硬件(如HTC Vive)一起使用。此外,在这些系统的任务和用例方面也缺乏标准化。

有鉴于此,我们推出ROS Reality。ROS Reality是一个使用消费级VR和AR硬件与ROSenabled机器人进行VR和增强现实(AR)远程操作的界面。它允许用户使用消费级VR和AR硬件通过互联网查看和控制机器人。 ROS Reality已经成为Whitney等人的VR研究和Rosen等人的AR研究的技术基础,利用ROS Reality进行的VR远程操作演示如图一所示。在本工作中,我们主要介绍ROS Reality的VR系统架构和应用。


论文笔记(七):ROS Reality: A Virtual Reality Framework Using Consumer-Grade Hardware for ROS-Enabled Robot_第1张图片

图1:上图:操作员使用ROS Reality VR远程操作Baxter折叠衬衫。下图:从VR头显中看到的场景。从VR头显中看到的场景。请注意,用户可以看到机器人的点云、网状模型、VR控制器和来自机器人的腕部摄像头信号。

在这项工作中,我们详细介绍了我们的消费级VR和AR远程操作界面,ROS Reality。我们讨论了该软件包是如何让ROS网络化机器人,比如Rethink Robotics的Baxter,通过Unity游戏引擎与HTC Vive进行互联网双边通信的。我们还介绍了一项试验性研究的结果,以测试使用ROS Reality远程操作机器人执行24项灵巧操作任务的功效。这项工作的部分内容曾出现在Rosen等人的扩展摘要中。


2. 相关工作

远程操作可以让机器人完成原本难以自主完成的任务,比如在DARPA机器人挑战赛中,还可以让人类在通常会将人类置于危险的环境中进行代理操作。

近年来,机器人远程操作的二维接口,特别是通过互联网,已经很流行。监视器和键盘设置已经被用来控制机器人完成各种经典任务,如运动规划和物品抓取。 此外,事实证明,网络浏览器特别有用,可以让全世界任何有计算机的人远程操作机器人,扩大了操作者的用户群。然而,二维显示器界面并不能反映人类观察和与三维世界互动的自然方式。我们的研究表明,VR界面可以解决这个问题,因为非用力用户在远程操作机器人时,速度更快,效率更高,并且更喜欢使用VR界面而不是2D显示器界面。

虚拟现实界面和龙门系统提供了直观的手段,可以将用户的动作直接映射到他们所控制的机器人的动作上。例如,"达芬奇 "机器人系统是一个沉浸式触觉远程手术系统,它为新手和有经验的用户改善了手术性能。达芬奇机器人及其接口虽然功能强大,但它的任务与手术领域非常具体,而且是静止的。Mallwitz等人开发了一种便携式、易穿戴的外骨骼,使人类用户可以自然地远程操作复杂的人形机器人。该系统的控制非常直观,但同样局限于特定的机器人,而且价格极其昂贵,与基于网络的界面相比,严重限制了潜在的操作者基础。

最近在图形方面的进步使得商业化的VR系统能够被游戏界所接受。像HTC Vive、Oculus Rift和Google Cardboard这样的系统提供了廉价和便携的VR硬件。因此,实验室研究人员最近开始探索这些VR系统用于机器人远程操作。Zhang等人利用HTC Vive对PR2进行远程操作,并进行模仿学习。Lipton等人也使用市面上的VR系统对Baxter进行远程操作。我们之前比较VR和2D远程操作系统的工作也是使用HTC Vive作为VR界面,通过ROS Reality启用。通过让实验室使用相同的VR系统,结果和界面更容易复制。

消费级VR系统的泛滥是最近才出现的,所以对使用这种技术的远程操作界面的功效研究很少。虽然任务的完成很大程度上取决于接口类型和特定的机器人,但我们有兴趣探索在我们的开源软件上使用普通研究机器人可以完成哪些复杂的任务。

我们选择评估的对象和操作任务是受之前机器人任务基准工作的启发。Kasper等人创建了一个程序,生成了一个包含100多个对象模型的opendatabase,用于评估服务机器人的识别、定位和操纵能力。Goldfeder等人发布了一个收集到的物品和稳定的抓取数据集,作为进行机器学习和抓取规划算法基准测试的手段。一个值得注意的基准是YCB对象和模型集,它是一组可访问的项目,选择包括广泛的常见对象尺寸、形状和颜色,以使用公认的协议测试各种机器人操纵技能。YCB数据集使得任何研究实验室都可以在大型对象数据集上对机器人操纵器的一般任务进行评估,既简单又便宜。本文中执行的几个任务都来自YCB数据集。


3. ROS Reality

本节首先对在虚拟现实中与机器人的交互进行了简单的概述,然后对ROS Reality进行了技术描述。


A. 作为远程操作界面的VR

目前最常见的两个虚拟现实系统是Oculus Rift和HTC Vive。我们小组使用HTC Vive进行开发,因为HTC Vive具有优越的房间尺度追踪功能,但以下关于如何使用VR作为远程操作界面的描述适用于这两个系统。

有多种方式将机器人的状态显示给用户,并将用户的输入映射到机器人上。我们把这些不同的方法分为两大类:以自我为中心或以机器人为中心。

在以自我为中心的模型中,人是虚拟世界的中心,与机器人虚拟居住在同一空间。Lipton等人[9]的homunculus工作和Zhang等人都是这种自我中心映射的例子。在这些条件下,人类用户报告说,他们感觉自己 "变成了机器人 "或 “从机器人的眼睛里看到了什么”。

在以机器人为中心的模型中,人和机器人共享一个虚拟空间,但不一定相互叠加。我们用来评估ROS Reality的模型,就属于这种类型。在这个模型下,人类围绕着机器人的虚拟模型行走,并通过虚拟抓取和拖动机器人的手臂来控制它。因此,我们称这个模型为虚拟龙门系统。


B. 系统概述

一个HTC Vive连接到运行Unity游戏引擎的电脑上。Unity基于其URDF与定制的URDF解析器构建了我们机器人的本地副本。Unity通过Rosbridge WebSocket连接到互联网上的ROS网络。机器人的姿势和手腕摄像头通过这个WebSocket连接发送,以及安装在机器人头部的Kinect 2的颜色和深度图像。在Unity中通过自定义着色器将颜色和深度图像构建成点云。当用户按住死人开关时,用户控制器的姿势会被发回给机器人,机器人使用逆运动学求解器将机器人的末端效应器移动到指定的姿势。参考图2,可以直观地看到ROS Reality系统。


论文笔记(七):ROS Reality: A Virtual Reality Framework Using Consumer-Grade Hardware for ROS-Enabled Robot_第2张图片

图2:ROS Reality系统结构详图。

C. ROS

ROS(Robot Operating System)是一套帮助机器人应用编程的工具和库。ROS将执行不同功能的程序进程(称为节点)连接起来。节点通过在本地TCP网络(称为ROS网络)上的通道或主题流数据进行通信。节点创建publisher对象来在网络上发布话题上的数据,或者创建subscriber对象来订阅话题。ROS提供了一个用C++或Python创建节点的API。所有为ROS Reality编写的节点都是用Python编写的。

ROS Reality启动了一个Kinect2 ROS节点、两个RGB摄像头信号(机器人的每个手腕摄像头一个)、一个Rosbridge WebSocket服务器、一个定制的ROS节点,将机器人的完整变换(TF)转换为一个紧凑的字符串,另一个ROS节点监听来自VR系统的目标姿势,查询机器人的逆运动学(IK)求解器,如果找到了IK求解器,则将机器人移动到IK求解器上,如果没有找到,则报告IK失败。


D. HTC Vive

HTC Vive是一款消费级的虚拟现实系统。它有三个跟踪对象:一个头戴式显示器(HMD),和两个魔杖控制器。每个设备通过一组两个红外脉冲激光发射器(即灯塔)进行追踪,可以通过飞行时间计算进行追踪。每一个被跟踪的物体都会进行位置和旋转跟踪,误差大概在1-2mm左右。魔杖控制器是完全无线的,HMD通过USB和HDMI线与电脑连接。每个控制器都有一个触摸板、触发器和两个按钮供用户输入。

HTC Vive支持多个游戏和物理引擎,但最初(也是我们认为支持最好的)开发平台是Unity。Vive通过一个名为SteamVR的软件包连接到Unity。


E. Unity

Unity是一个游戏引擎,用于许多流行的2D、3D和虚拟/增强/混合现实应用程序。它有一个内置的物理引擎,可以处理接触动力学,以及材料模拟(如水、沙子或布)。它支持与大多数常见的VR(和AR)硬件集成,并提供了一种用于编写自定义GPU着色器的着色器语言。

一个开放的Unity环境被称为场景。在这个场景中,是Unity的原子单位GameObject的集合。附在每个GameObject上的是一组组件。有几十种类型的组件,但对于我们的目的来说,最重要的是脚本。脚本是一个小的C#程序,在每个渲染帧中执行。ROS Reality的功能是通过一组这样的Unity脚本来实现的。


F. ROS Reality

ROS Reality是一套程序,允许用户在VR中通过互联网查看和控制一个支持ROS的机器人。ROS Reality由一组C#脚本组成,如下所述。


1)WebSocket 客户端

这个脚本是对默认的Rosbridge客户端roslibjs的C#实现,它支持广告、订阅和发布ROS主题。它支持广告、订阅和发布ROS主题。所有的消息都是以JSON格式发送和接收的,数据是根据Rosbridge规范以base64编码的。


2)URDF 解析器

该脚本解析统一机器人描述格式(URDF)文件,并建立一个由机器人组成的GameObjects层次结构。URDF是一种基于XML的规范,用于表示所有支持ROS的机器人通用的机器人模型。URDFs包括机器人的每个部分的信息,称为链接,以及机器人的链接如何连接,称为关节。URDF解析器为每个环节创建一个GameObject,并根据关节进行连接。目前,我们已经用PR2,和Baxter成功测试了我们的URDF解析器,如图3和图4所示。

虚拟机器人具有物理属性,可以通过Unity的物理引擎进行模拟。这使得机器人可以与其他GameObjects进行交互,对于练习模拟场景中的远程操作交互非常有用。


论文笔记(七):ROS Reality: A Virtual Reality Framework Using Consumer-Grade Hardware for ROS-Enabled Robot_第3张图片

图3:在Unity中可视化的PR2机器人的图像,来自ROS Reality的URDF解析器。

论文笔记(七):ROS Reality: A Virtual Reality Framework Using Consumer-Grade Hardware for ROS-Enabled Robot_第4张图片

图4:在Unity中可视化的Baxter机器人的图像,来自ROS Reality的URDF解析器。


3)Transform Listener

Transform Listener订阅了机器人的Transform(TF)(一个紧凑的表示),并将虚拟机器人移动到与真实机器人相同的姿势。ROS TF主题有每个环节的位置和旋转(用四元数表示),这个脚本读取并应用到模拟机器人的每个环节。

这样做的一个困难是ROS和Unity使用不同的坐标框架。因此,Transform Listener首先通过下面的公式来转换ROS的位置和旋转。

位置:
x u n i t y = − x r o s ( 1 ) x_{unity}=-x_{ros} (1) xunity=xros(1)
y u n i t y = z r o s ( 2 ) y_{unity}=z_{ros} (2) yunity=zros(2)
z u n i t y = − y r o s ( 3 ) z_{unity}=-y_{ros} (3) zunity=yros(3)

旋转:
q x u n i t y = q x r o s ( 4 ) qx_{unity}=qx_{ros} (4) qxunity=qxros(4)
q y u n i t y = − q z r o s ( 5 ) qy_{unity}=-qz_{ros} (5) qyunity=qzros(5)
q z u n i t y = q y r o s ( 6 ) qz_{unity}=qy_{ros} (6) qzunity=qyros(6)
q w u n i t y = q w r o s ( 7 ) qw_{unity}=qw_{ros} (7) qwunity=qwros(7)


4)RGB照相机可视化

为了可视化机器人的摄像头信号,这个脚本订阅了一个指定的摄像头主题。当它接收到相机图像时,它将其从base64转换,并将一个平面GameObject与相机饲料进行纹理处理。该平面GameObject被连接到用户的魔杖控制器上,因此用户在操作过程中可以随时看到它。这个脚本支持JPG或PNG格式的图像,但由于带宽的原因,ROS Reality总是使用JPG。

5)Kinect点云可视化

Kinect点云可视化脚本使用 GPU 着色器从 Kinect 2 的 RGB 摄像头图像和原始深度图中构建点云。该脚本订阅了 Kinect 的 RGB 和深度主题,并将它们作为纹理传递给一个自定义几何着色器。该着色器为RGB和深度图像中的每一对像素创建一个彩色四边形。四边形的颜色就是相关RBG像素的颜色。必须计算位置。深度图像中的每一个像素都是该像素与摄像机平面的距离,以毫米为单位,所以首先我们将毫米转换为米,并计算出四边形相对于摄像机的位置。然后我们将该位置乘以Unity场景中Kinect的变换矩阵,得到四边形的世界空间位置。最后将世界空间位置乘以视图和投影矩阵,并传递给顶点着色器。


6)手臂控制器

这个脚本允许用户向机器人发送目标末端效果器坐标。当按住死人开关(HTC Vive上的侧握按钮)时,控制器的当前位置和方向会从Unity坐标框架转换到ROS坐标框架,并通过主题发布到ROS网络中的一个节点,该节点会查询机器人内置的IK求解器,如果找到解,则移动机器人。此外,这个脚本让用户可以通过魔杖控制器的触发来打开和关闭抓手。这也是通过通过话题向机器人发送消息来实现的。

从Unity到ROS的位置转换可以从公式1,2,3推断,对于旋转是通过下面的四元运算计算的。

( q x , q y , q z , q w ) r o s = ( q x , q z , − q y , q w ) u n i t y ∗ ( 0 , 1 , 0 , 0 ) ( 8 ) (qx,qy,qz,qw)_{ros}=(qx,qz,-qy,qw)_{unity}*(0,1,0,0) (8) qx,qy,qz,qw)ros=(qx,qz,qy,qw)unity(0,1,0,0)(8)


7)IK状态可视化

该脚本订阅机器人的IK求解器的当前状态,如果IK求解器失败,则将用户的魔杖控制器变成红色。这可以让用户知道他们发送给机器人的目标位置是否无法到达。


G. 机器人

我们使用的是Rethink Robotics公司的Baxter。Baxter是一款为工业自动化应用而设计的机器人,同时也是一个有用的研究平台。Baxter有一个固定的底座和显示屏头,有两个7 DoF的手臂和带力感应的抓手,使Baxter能够灵巧地操纵各种物体。我们将Baxter工具箱中自带的橡胶抓手连接在一起,以最大限度地提高终端效应器的摩擦力。

我们还将ROS Reality与Gazebo中的模拟PR2连接起来,并能够实时观看机器人的移动,但还没有建立控制该机器人的基础设施。


4. 长距离传输测试

为了测试ROS Reality在远距离远程操作方面的功效,我们在另一所大学让一名人类操作员控制41英里外的机器人。在这次试验中,我们能够成功地背靠背堆叠12个杯子,以及通过挑选和放置棋子来下一盘简短的国际象棋。用户报告说没有滞后或带宽问题。


5. VR遥操作任务可行性

我们考虑了一个机械手机器人应该具备的技能。我们的目标是回答两个问题:
1)机器人的体能是否能完成某些任务?
2)如果可以,人在VR中远程操作机器人能完成这个任务吗?

由于机器人的物理能力取决于硬件,我们的具体研究使用的是研究Baxter机器人。

为了回答这两个问题,本文的两位作者作为专家远程操作者进行试验。对于问题一,我们在现实生活中实际移动机器人的手臂来完成任务。直接操纵机器人的手臂可以让用户对场景有最好的感知,同时还可以直接得到机器人和环境的触觉反馈。我们在之前的VR研究中使用了直接操作的这种方法,作为任务可行性的一个很好的衡量标准。对于问题二,我们使用我们在第三节中提到的ROS Reality界面进行VR远程操作来完成任务。

Baxter的7个DoF臂在末端效应器上配备了平行的电子抓手,因此Baxter能够有效地抓取、推、拉和旋转物体。然而,Baxter的抓取物体的能力受到其平行电子夹持器的性质以及其手臂施加推拉力的能力的限制。

我们通过选择不同的常见操纵任务,衍生出一组24个任务,这些任务可能与操纵器机器人在不同领域(如家庭个人助理用途、社交辅助应用)相关,同时试图挑选我们认为可能在Baxter上实现的任务。我们选择了两组任务,这样一半的任务可以使用一个操纵器完成,另一半则需要同时使用两个操纵器。此外,我们选择的任务代表了一系列不同的动作(即抓握、推、拉和旋转)。

对于通过方向控制和通过ROS Reality执行的每个任务,我们最多进行5次尝试来完成任务。如果我们能够至少完成一次任务,那么一个给定的任务就被认为是可行的。我们在表一和图5-B中报告了我们对任务的结果。


A. 操作任务

1)积木堆叠 - 将十块3x3cm的木块堆叠成一列。
2)拧开瓶盖 - 拧开瓶盖。
3)Uncap Marker - 从标记上取下盖子。
4)Hinge Board - 打开Melissa和Doug Latches Wooden Activity Board上的所有六个锁扣。
5)搅拌锅–用木勺在金属锅中搅拌。
6)按空格键 - 按键盘上的空格键。
7)移动跳棋棋子 - 在棋盘上挑选并放置跳棋棋子。
8)挤压Purell–从瓶中挤出Purell。
9)插入连接4片 - 将连接4片插入槽中。
10)抛接球 - 将一个杂耍球抛起,用同一只手接住它。
11)用叉子 - 把一块食物拿到塑料叉子上。
12)解开拉链 - 解开松动的拉链。
13)打开薯片 - 打开一塑料袋薯片。
14)搬运盘子 - 将装有食物的盘子从一个地方搬运到另一个地方。
15)打开玻璃瓶 - 使用开瓶器打开玻璃瓶。
16)削土豆 - 用削皮器削掉土豆的皮。
17)揭开马克笔的盖子 - 揭开世博笔的盖子。
18)簸箕 - 用簸箕扫小块。
19)折叠衬衫 - 折叠一件T恤。
20)交接世博笔 - 将一支笔从一个操纵器交到另一个操纵器上。
21)打开盒子 - 打开一个鞋盒。
22)敲击帕拉迪尔 - 跟着帕拉迪尔的节奏敲击。
23)抛球和接球 - 从一个操作者手中抛出一个球,然后用另一个操作者接住。
24)绑鞋带 - 把鞋带打成结。


论文笔记(七):ROS Reality: A Virtual Reality Framework Using Consumer-Grade Hardware for ROS-Enabled Robot_第5张图片

图5: VR任务尝试的结果。绿色轮廓表示任务在VR中完成,红色轮廓表示任务在VR中失败。

B. 讨论

总体来说,通过ROS Reality对Baxter机器人的VR控制是成功的。对于单个机械手任务,12个任务中有8个是通过直接操控实现的,这8个任务中有7个是通过VR实现的。对于双操纵器任务,十二个任务中也有八个是通过直接操纵实现的,同样,这八个任务中有七个是通过VR完成的。

两位尝试在VR中进行试验的专家远程操作者报告说,该系统的使用相对容易,有几个值得注意的观察。一般来说,机器人的直接动觉操纵允许最简单,最快完成任务的任务,证明物理上可能的机器人。这并不奇怪,因为指导人类如何身体移动来执行任务,以及直接观察机器人的工作空间,是人们所熟悉的。当任务需要机器人关节的复杂运动时,用户认为VR最有用。在直接操纵过程中,机器人操纵器的阻力迫使操作者使用两只手来移动机器人的肢体。这意味着操作者一次只能有效地移动一个操纵器,并且不得不伸出相当大的力气来移动操纵器到一个复杂的位置。相比之下,在VR中,用户不必不断地参数化机器人的关节角度,而是指定末端效应器的姿势,让机器人计算并导航出正确的轨迹。

我们的试验表明,机器人施加的力是能否首先完成任务的限制因素,机器人无法为某些任务(如抛球和接球、打开芯片)产生足够的力。然而,不需要大量力量的操纵任务基本上都能成功。旋转并没有对任务的完成构成重大障碍。需要灵巧抓取的操纵任务也受到我们评估中使用的机器人上的平行电抓手的限制,但对于具有更高DoF末端效应器的机器人来说,可能会容易得多。最后,机器人内置的碰撞检测系统阻止了两个操纵者完成打开薯片袋的任务,该系统阻止了机器人的手臂靠近到足以抓住薯片袋两侧的薯片袋。


6. 未来研究计划

本文所描述的系统是未来一系列研究的基础。例如,从演示中学习(LfD)是一种流行的方法来教授机器人复杂的操作任务,因为它利用了人类的专业知识、判断和决策。然而,在实验室研究中,从人类参与者那里获得演示是时间和资源密集型的。解决这个问题的方法是开发需要人类越来越少的演示的算法;这很有挑战性,将不可避免地需要人类用户用物理机器人进行至少一次,甚至更多的演示。即使采用这种解决方案,对于大多数任务来说,在某些时候,用户将不得不与机器人互动,以帮助训练它们。然而,使用VR作为大规模收集LfD数据的机制是一个很有前途的选择。从任务专家那里学习复杂的任务对自主系统来说是一个挑战,VR避开了这个问题,使用户能够直接控制系统,同时发挥系统的优势。可以通过互联网访问的用户以众包模式向虚拟机器人提供演示,大规模地完成任务,从而解决目前困扰现有LfD训练方法的参与者和资源限制。VR加上ROS Reality有可能为这一挑战提供一个成本和时间效益的解决方案。

7. 结论

随着硬件平台成本的稳步下降,虚拟现实越来越多地被日常用户使用。这些系统也代表了控制机器人的直观界面。在本文中,我们提供了一个开源的VR远程操作包——ROS Reality,使得任何支持ROS的机器人都可以通过任何兼容Unity的VR头显进行控制。这项工作还确定并测试了使用ROS Reality与消费级VR头显的机器人操作任务。

你可能感兴趣的:(文章)