一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于混合现实应用中机器人交互的系统和方法与流程

2021-11-26 20:14:00 来源:中国专利 TAG:

用于混合现实应用中机器人交互的系统和方法
1.本专利申请要求于2019年1月31日提交的法国专利申请的优先权,并分配了申请号fr19/00974,其内容在此引入作为参考。
技术领域
2.本公开涉及机器人控制系统领域,尤其涉及一种允许增强现实和混合现实应用的系统。


背景技术:

3.有人提议提供允许增强现实和混合现实应用的系统。
[0004]“增强现实”对应于物理现实世界环境的直接或间接的实时视图,其元素由叠加在实时视图上的计算机生成的信息(例如视觉和音频信息)“增强”。
[0005]“混合现实”,也被称为混合现实,是将现实世界和虚拟世界融合,以产生新的环境和可视化,其中,物理和数字对象可以共存并实时交互。混合现实的名称来源于这样一个事实,即,世界既不是完全物理的,也不是完全虚拟的,而是两个世界的混合体。
[0006]
然而,在提供混合现实环境中存在技术上的困难,在混合现实环境中,虚拟世界中涉及虚拟元素的事件可以与物理世界中真实对象的动态行为同步。


技术实现要素:

[0007]
本说明书的实施例的目的是至少部分地解决现有技术中的一个或多个困难。
[0008]
根据一个方面,提供了一种用于实现混合现实系统的处理装置,该处理装置包括:一个或多个处理核心;以及存储指令的一个或多个指令存储器,当所述指令由一个或多个处理核心执行时,使得所述一个或多个处理核心:维持一个虚拟世界,所述虚拟世界至少包括与现实世界中的第一机器人相对应的第一虚拟副本;生成影响所述虚拟世界中的所述第一虚拟副本的一个或多个虚拟事件;响应所述一个或多个虚拟事件生成用于控制所述第一机器人的控制信号;以及将所述控制信号传输至所述第一机器人,以修改所述第一机器人的行为,并对所述一个或多个虚拟事件提供现实世界的响应。
[0009]
根据一个实施例,所述指令进一步使得所述一个或多个处理核心在生成所述控制信号之前接收旨在控制所述第一机器人的用户或计算机生成的命令,其中,所述生成控制信号包括根据所述一个或多个虚拟事件修改用户或计算机生成的命令。
[0010]
根据一个实施例,所述指令进一步使得所述一个或多个处理核心将在没有虚拟事件的情况下由用户或计算机生成的命令生成的控制信号限制在第一范围,其中,向所述一个或多个虚拟事件提供现实世界的响应的所述控制信号超过所述第一范围。
[0011]
根据一个实施例,所述指令进一步使得所述一个或多个处理核心生成混合现实视频流,以被转发到显示接口,所述混合现实视频流包括来自在时间和空间上同步,并与由相机捕捉的原始视频流合并的所述虚拟世界的一个或多个虚拟特征。
[0012]
根据一个实施例,所述指令使得所述一个或多个处理核心在所述混合现实视频流
中生成表示由所述现实世界中的所述第一机器人的行为触发的虚拟事件的虚拟特征。
[0013]
根据一个实施例,所述指令进一步使得所述一个或多个处理核心基于由跟踪系统提供的跟踪数据,连续跟踪所述第一机器人与其位置和方向相对应的六自由度坐标。
[0014]
根据一个实施例,所述指令进一步使得所述一个或多个处理核心至少基于所述第一机器人的所述跟踪数据和所述一个或多个真实静态或移动对象或其他机器人的六自由度坐标,生成所述控制信号,以确保所述第一机器人与一个或多个真实的静态或移动对象或其他机器人的非接触式交互。
[0015]
一种混合现实系统,包括:上述处理装置;活动区,包括所述第一机器人和在所述处理装置控制下的一个或多个其他的机器人的;跟踪系统,其被配置为跟踪所述第一机器人和所述一个或多个其他的机器人的相对位置和方向。
[0016]
根据一个实施例,所述第一机器人是无人机或陆基机器人。
[0017]
根据一个实施例,所述混合现实系统还包括一个或多个用户控制接口,用于生成用户命令的。
[0018]
根据另一方面,提供了一种在混合现实系统中控制一个或多个机器人的方法,该方法包括:在由一个或多个指令存储器存储的指令的控制下,由一个或多个处理核心维持一个虚拟世界,所述虚拟世界至少包括与所述现实世界中的第一机器人相对应的第一虚拟副本;生成影响虚拟世界中的所述第一虚拟副本的一个或多个虚拟事件;响应所述一个或多个虚拟事件生成用于控制第一机器人的控制信号;以及将所述控制信号传输至所述第一机器人,以修改所述第一机器人的行为,并为所述一个或多个虚拟事件提供现实世界的响应。
附图说明
[0019]
上述特征和优点以及其他特征和优点将在以下通过举例而非限制的方式给出的具体实施例的描述中参照附图进行详细描述,其中:
[0020]
图1是根据本公开的示例实施例的混合现实系统的透视图;
[0021]
图2根据示例实施例更详细的示意性示出了图1的混合现实系统的计算系统;
[0022]
图3根据示例实施例更详细的示意性示出了图2的处理装置;
[0023]
图4表示根据本公开的示例实施例的现实世界;
[0024]
图5表示对应于图4的现实世界的虚拟世界;
[0025]
图6示出了在生成混合现实视频图像期间的视频图像;
[0026]
图7示意性地示出了根据示例实施例的用于根据命令控制机器人的控制回路;
[0027]
图8示出了根据本公开的示例实施例的具有现实世界效果的虚拟世界特征的示例;
[0028]
图9示出了根据本公开的示例实施例的虚拟围栏功能;以及
[0029]
图10示出了根据本公开的示例实施例的机器人之间的模拟非接触碰撞功能。
具体实施方式
[0030]
在本公开的内容中,术语“耦合”用于指定系统元件之间的连接,该连接可以是直接的,也可以通过一个或多个中间元件,例如缓冲器、通信接口、中间网络等。
[0031]
此外,在整个本说明书中,以下术语将被视为具有以下定义:
[0032]“机器人”—在某种程度上自动操作并在某种程度上受用户控制的任何机器或机械装置。例如,如下文将更详细地描述的那样,机器人在某种程度上是通过基于用户命令的无线控制接口被远程控制的。
[0033]“混合现实应用”—一种在现实世界和虚拟世界之间存在交互的应用。例如,在现实世界发生的事件被跟踪并应用到虚拟世界,而在虚拟世界中发生的事件会导致现实世界的效果。互联网网站www.drone

interactive.com提供了一些混合现实交互式视频游戏的例子。“drone interactive”这一名称可能对应一个或多个注册商标。虽然在下面的描述中,混合现实系统的实施方案是根据互动游戏的应用实例来描述的,但是对于本领域技术人员来说显而易见的是,本文描述的系统可以具有其他的应用,例如,用于机器的维护或建筑;用于探索,包括空间探索;用于制造业,例如在制造链中;用于搜索和救援,或用于培训,包括在上述任何应用的背景下的飞行员或驾驶员培训。
[0034]“虚拟副本”—虚拟世界中的虚拟元素,其与现实世界中的真实元素相对应。例如,一堵墙、一座山、一棵树或其他类型的元素可能存在于现实世界中,并且也是基于其至少一些现实世界的属性,特别是对应于其相对位置和方向的六个自由度(dof)坐标,其3d模型或其在移动元素情况下的动态行为在虚拟世界中被定义。一些虚拟副本可能对应于移动元素,例如机器人,甚至对应于在下面更详细描述的某些特定情况下的用户。虽然静态元素的六个自由度坐标,例如,对于给定的应用来说只存储一次,但移动元素(例如机器人)的六自由度坐标则被跟踪并应用于其在虚拟世界中的虚拟副本,这将在下文中详细描述。最后,每个虚拟副本的行为模仿现实世界中相应的移动元素的行为。
[0035]
图1是根据本公开的一个示例实施例的混合现实系统100的透视图。图1仅示出了该系统的现实世界元素,虚拟世界由下面更详细描述的计算系统120维持。
[0036]
系统100,例如,包括任何形状和尺寸的活动区102。活动区102,例如,定义了混合现实系统可以在其中运行的体积,特别是多个机器人可以在其中运行,并且在其中可以跟踪机器人的6个dof坐标(位置和方向)。虽然在图1的示例中,活动区102限定了一个基本上是圆柱形的体积,但在其他可选的实施例中,也可以有其他的形状。活动区102的大小和形状将取决于各种因素,诸如机器人的数量和大小,机器人执行的活动类型以及来自现实世界的任何约束。
[0037]
一个或多个机器人,例如,存在于活动区102内,并且可以彼此交互,与活动区中的其他移动或静态真实对象以及与虚拟世界中的虚拟元素交互。例如,活动区102定义了游戏区,其中使用了构成混合现实游戏一部分的机器人。在图1的示例中,机器人包括无人机108和模型车辆110形式的陆基机器人,尽管机器人的特定类型将取决于游戏或应用。事实上,机器人可以是能够远程控制的任何类型。机器人的数量可以是从一个到几十个不等。
[0038]
活动区102内的每个机器人,例如,是至少部分可通过无线接口控制的远程控制的机器人。然而,一个或多个机器人也有可能包括有线控制线。
[0039]
在此假设,活动区102内的每个机器人包括电源,例如电池,以及一个或多个致动器、马达等,用于使每个机器人的部件根据用户命令和/或在一个或多个自动控制回路的控制下移动。例如:无人机包括一个或多个可产生向前、向后、横向和/或垂直的平移的螺旋桨;模型车辆形式的陆基机器人包括用于驱动车辆的一个或多个车轮的电机和用于操纵车
辆的某些车轮的一个或多个致动器。当然,用于移动机器人的具体类型的电机或致动器将取决于机器人的类型及其被设计所执行的操作类型。
[0040]
计算系统120,例如,被配置为跟踪现实世界中(在活动区102内)的活动,同时还维持虚拟世界,并且合并现实世界和虚拟世界,以便为一个或多个用户和/或观众提供混合现实体验,这一点现在将被更详细地描述。
[0041]
混合现实系统100,例如,包括跟踪系统112,其能够跟踪机器人的相对位置和方向(六自由度坐标),并且在某些情况下还跟踪活动区102内的其他移动或静态对象。例如,以相对较高的精度跟踪位置信息,例如,精度为1cm或更小,而方向的测量精度为1度或更低。事实上,该系统用于准确同步现实世界和虚拟世界并在它们之间建立互动的整体性能将在一定程度上取决于跟踪数据的准确性。在一些实施例中,机器人具有六个自由度,三个是平移分量,三个是旋转分量,并且跟踪系统112能够跟踪它们中的每一个相对于这六个自由度的位置和方向。
[0042]
在一些实施例中,每个机器人可以包括多个主动或被动标记(未示出),这些标记可以被跟踪系统112检测到。跟踪系统112的发射器,例如发射红外光,以及可以集成在光发射器中的照相机,例如,根据这些标记反射的光检测机器人的六自由度坐标。例如,每个被跟踪的对象(包括机器人)都有一个独特的标记图案,该图案允许它在其他被跟踪的对象中被识别,并确定其方向。此外,跟踪系统112可以包括一个或多个发射器,其以不可见光的波长向活动区102发射光线。有许多不同的跟踪系统是基于这种类型的跟踪技术,一个例子是以“optitrack”(名称“optitrack”可能对应于注册商标)的名称销售的跟踪系统。
[0043]
在进一步的实施例中,光是以光束的形式出现的,并且机器人包括光捕获元件(未示出),该元件在机器人穿过光束时进行检测,通过识别光束,可以估计出机器人的六自由度坐标。这样的系统,例如,是由htc公司以lighthouse的名称销售的(htc和lighthouse可能对应于注册商标)。
[0044]
机器人也有可能包括机载跟踪系统,例如,基于惯性测量单元或任何其他定位装置,允许机器人检测它们的六自由度坐标(位置和方向),并将该信息传递给计算系统120。
[0045]
在进一步的实施例中,可以使用不同类型的跟踪系统,例如,基于uwb(超宽带)模块的系统,或基于可视相机的系统,其中,图像处理被用于执行对象识别和检测机器人的六自由度坐标(位置和方向)。
[0046]
计算系统120,例如,从跟踪系统112接收信息,实时指示活动区102中每个被跟踪对象(包括机器人)的六自由度坐标(位置和方向)。根据跟踪系统的类型,该信息可以通过有线连接和/或无线接口接收。
[0047]
混合现实系统100包括用于捕获活动区的实时(流)视频图像的摄像机,这些图像被处理以创建混合现实视频流,以显示给用户和/或观众。例如,混合现实系统100包括位于活动区102内部或外部的一个或多个固定摄像机114和/或安装在一些或所有机器人上的一个或多个摄像机116。一个或多个固定摄像机114或机器人摄像机116,例如,是平移和倾斜摄像机,或平移变焦(ptz)摄像机。在活动区102外部的相机114的情况下,它可以被布置为捕获整个区域102,提供混合现实场景的全局视图。
[0048]
由摄像机114和/或116捕获的视频流,例如,可以无线传输到计算系统120,尽管对于某些摄像机,例如固定摄像机114,可以使用有线连接。
[0049]
计算系统120,例如,能够与活动区102内的机器人进行无线通信。例如,计算系统120包括,对于每个机器人,机器人控制接口,其具有一根或多根天线122,以允许向机器人无线传输控制信号;和机器人视频接口,其具有一根或多根天线123,以允许无线接收机器人摄像机116的视频流。虽然图1中示出了单根天线122和单根天线123,但是,例如,每个天线的数量等于机器人的数量。
[0050]
计算系统120,例如,是一个中央系统,通过该系统可以控制活动区102中的所有机器人,管理现实世界和虚拟世界之间的所有交互,并且执行所有视频处理,以创建混合现实视频流。或者,计算系统120可以由分布在不同位置的若干单元组成。
[0051]
用户接口例如,允许用户控制一个或多个机器人和/或允许用户或观众通过观看活动区102的混合现实图像沉浸在混合现实游戏或应用中。例如,提供一个或多个控制接口125,包括,例如,操纵杆126、手持游戏控制器128,和/或方向盘130,尽管可以使用任何类型的控制接口。控制接口125,例如,通过有线连接连接到计算机系统120,尽管在替代实施例中可以使用无线连接。此外,为了允许用户和/或观众通过观看活动区102的混合现实图像而沉浸在混合现实游戏或应用中,提供了一个或多个显示接口132,例如虚拟现实(vr)眼镜或视频眼镜136,和/或显示屏138,和/或透视增强现实(ar)眼镜134,尽管可以使用任何类型的显示器。在一些实施例中,向每个用户提供音频流。例如,头戴式眼镜134和136配备有耳机。此外或替代地,扬声器140可以向用户和/或观众提供音频。显示接口132,例如,通过有线连接连接到计算机系统120,尽管在替代的实施例中可以使用无线连接。
[0052]
活动区102,例如,包括,除了机器人之外,一个或多个在虚拟世界中具有虚拟副本的另外的静态或移动对象。例如,在图1中,墙142和气球143分别是在虚拟世界中被复制的静态和移动对象。也可以有任何其他对象,例如,静态或移动的场景特征、装饰物、球、钟摆、门、摆动的门/窗等。这些对象的六自由度坐标(位置和方向)可以被跟踪系统112跟踪。如下文所述,机器人与墙142和/或气球143和/或任何其他对象之间可能存在交互,这可能导致计算系统120在虚拟世界中生成虚拟事件,也可能在现实世界中产生物理反应。当然,任何类型的固定或移动对象都可以出现在活动区102中并复制到虚拟世界中。在一些实施例中,活动区102内的所有真实元素,无论是移动的还是固定的,都具有虚拟副本。这允许计算系统120存储或跟踪这些真实元素的六自由度坐标(位置和方向),从而允许,例如,避免机器人与这些对象的碰撞。
[0053]
在一些实施例中,用户可以与活动区102中的机器人直接交互。例如,图1示出了活动区102中的用户佩戴着透明的增强现实(ar)眼镜134,其允许直接查看的活动区102的混合现实图像。跟踪系统112,例如,能够跟踪ar眼镜134的六自由度坐标(位置和方向),例如,基于固定在ar眼镜134的标记。从而可以生成适当的混合现实图像,并将其提供给ar眼镜134的显示屏。
[0054]
在一些情况下,一个或多个用户可以以不同于使用上述控制接口125之一(游戏控制器、操纵杆等)的方式与一个或多个机器人进行交互。例如,活动区102中的用户可以使用棒144或任何其他实体对象直接与机器人交互。跟踪系统112,例如,跟踪棒144的运动,而计算系统120,例如,作为这些运动的函数控制机器人。例如,一个或多个无人机可以被棒144击退,或者被引导到棒144所指示的区域,尽管可以设想任何类型的交互。
[0055]
图2更详细的示意性地说明了图1的混合现实系统的计算系统120的架构的示例。
[0056]
系统120,例如,包括由一台或多台联网计算机实现的处理装置(处理装置)202。处理装置202,例如,包括指令存储器(指令存储器)204和一个或多个处理核心(一个或多个处理核心)206。处理装置202,例如,还包括存储存储器(存储存储器)208,存储由处理核心206处理的数据,这将在下文中详细描述。
[0057]
处理装置202,例如,从一个或多个控制接口(一个或多个控制接口)125接收用户命令(cmd)。用户命令对应于用户对机器人的期望控制,例如,指示机器人的期望位移和/或其他期望行为。此外,用户命令还可以对应于任何用户在混合现实游戏或应用中的任何期望的触发动作。在一些实施例中,处理装置202生成反馈信号fb,该信号被送回控制接口125。这些反馈信号,例如,使用户接口125响应于混合现实游戏或应用中的事件而振动,或提供其他形式的反馈响应(触觉反馈或其他)。
[0058]
计算系统120,例如,包括机器人摄像机接口(机器人摄像机接口)210,该接口无线的接收来自一个或多个机器人的机器人相机116的原始视频流(原始视频流),并将这些原始视频流传输到处理装置202。此外,计算系统120,例如,包括机器人控制接口(机器人控制接口)212,其从处理装置202接收机器人控制信号(ctrl)并将这些控制信号无线传输到一个或多个机器人。计算系统120,例如,包括固定摄像机接口(固定摄像机接口)214,其通过无线或有线接口接收来自固定摄像机114的原始视频流,并将这些原始视频流传输到处理装置202。虽然在图2中未示出,但处理装置202也可生成控制信号,用于控制固定摄像机114和/或机器人摄像机116的平移、倾斜和/或变焦。
[0059]
处理装置202,例如,修改从固定摄像机114和/或机器人摄像机116接收的原始视频流,以生成混合现实视频流(混合现实视频流),并且在某些情况下(未示出)生成音频流,其被传输到显示接口(显示接口)132。
[0060]
处理装置202,例如,还从跟踪系统(跟踪系统)112接收对应于所有被跟踪对象(机器人和静态/移动对象)的六自由度坐标(位置和方向)的跟踪数据(跟踪数据)。
[0061]
图3更详细的示意性地示出了图2中的处理装置202的功能,并且特别是表示了在处理装置202中通过软件加载到指令存储器204,并由处理核心206执行来实现软件模块的例子。当然,处理装置202可以有多种实现方式,一些功能可以通过硬件实现,也可以通过软件和硬件混合实现。
[0062]
处理装置202,例如,实现混合现实模块(混合现实模块)302,包括显示模块(显示模块)304和真实-虚拟交互引擎(真实-虚拟交互引擎)305。处理装置202,例如,还包括:存储在存储存储器208中的数据库(数据库)306、机器人控制模块(机器人控制模块)310以及在一些情况下的人工智能模块(人工智能模块)309。
[0063]
混合现实模块302从用户接口(用户接口)的控制接口(控制接口)125接收用于控制相应机器人的用户命令(cmd),并且在一些实施例中生成反馈信号fb发送回至这些控制接口125。此外或替代地,一个或多个机器人可由人工智能模块309生成并由混合现实模块302接收的命令(cmd_ai)控制。
[0064]
数据库306,例如,存储以下一项或多项:
[0065]
-机器人数据,至少包括每个机器人的3d模型和动态模型,分别表示机器人的3d形状和动态行为;
[0066]
-真实对象数据,至少包括活动区102中每个静态/移动真实对象的3d模型,以及
静态对象的永久六自由度坐标(位置和方向);
[0067]
-混合现实应用数据,包括,例如,虚拟世界中包含的每个虚拟元素的3d模型、平视显示器(hud)数据、特效(fx)数据、取决于应用的一些特定规则,以及在视频游戏的情况下的游戏数据;
[0068]
-摄像机数据,至少,包括每个摄像机(固定摄像机114和机器人摄像机116)的内在和外在参数,以及对于固定摄像机,它们的永久六自由度坐标(位置和方向)。
[0069]
混合现实模块302构建和维持虚拟世界,该虚拟世界由所有虚拟元素组成,包括机器人的虚拟副本和活动区102中的静态/移动真实对象。特别是,真实-虚拟交互引擎305从跟踪系统112接收跟踪数据(跟踪数据),并使用存储在数据库306中的数据来确保真实元素(机器人和活动区102中的静态/移动真实对象)和它们在虚拟世界中的相应虚拟副本之间的六自由度坐标(位置和方向)同步。
[0070]
引擎305,例如,还基于初始用户命令(cmd)或人工智能生成的命令(cmd_ai)以及与一个或多个机器人相关的真实虚拟交互来生成用于控制一个或多个机器人的修改的命令信号cmd'。例如,这些真实-虚拟交互是根据混合现实应用中发生的事件和/或取决于应用,根据数据库306中的其他特定规则,作为机器人被跟踪的六自由度坐标(位置和方向)、来自数据库306的机器人数据(包括机器人动态模型)的函数生成的。在视频游戏的情况下,这些规则可以在游戏玩法数据中定义。引擎305,例如,还实施了防碰撞程序,以防止机器人本身之间和/或任何机器人与活动区102中的另一个真实对象之间的碰撞,以及在某些情况下任何机器人与虚拟世界中的虚拟元素之间的碰撞。下面将参考图8、图9和图10描述真实-虚拟交互的一些示例。
[0071]
显示模块304,例如,基于来自固定摄像机114和/或机器人摄像机116的原始视频流生成混合现实视频流,并在合并由真实-虚拟交互引擎305生成的虚拟特征(例如,一个或多个虚拟元素的视图、平视显示数据、视觉特效等)之后,将其传送到相应的显示接口132。例如,由真实-虚拟交互引擎305产生的虚拟特征在时间和空间上是同步的,并与原始视频流合并。例如,混合现实应用中一个或多个虚拟元素的视图被呈现在显示界面上,其位置和方向取决于相应的固定或机器人摄像机114/116的视场和六自由度坐标(位置和方向)。
[0072]
机器人控制模块310,例如,接收由真实-虚拟交互引擎305生成的修改的命令信号cmd',并基于这些命令信号生成一个或多个控制信号ctrl,以控制多个机器人中的一个(机器人控制接口),下面将结合图7更详细地描述。
[0073]
现在将参考图4、图5和图6(a)至图6(e)更详细地描述混合现实模块302的操作。
[0074]
图4是活动区400的透视现实世界视图。在图4的示例中,活动区400包括静态墙402和两个机器人,它们是两个无人机404和406。此外,活动区400的背景包括带有印刷图形的背景墙409。无人机404具有,例如,具有视场407的摄像机116。在该示例中,摄像机116刚性附接在无人机上,但是在替代实施例中,摄像机116可以是平移和倾斜的摄像机或ptz摄像机。
[0075]
图5是对应于图4的活动区400的虚拟世界500的透视图,同时也是图4的实例。该虚拟世界包括虚拟副本402'、404'和406,分别对应于真实墙402和真实无人机404和406。虚拟副本402'、404'和406'在虚拟世界中的位置和方向与真实墙402和真实无人机404和406在
现实世界中的位置和方向相同,并且,例如,可以由混合现实模块302根据由跟踪系统112提供的无人机404和406的六自由度坐标以及存储在数据库306中的真实墙402的六自由度坐标来确定。以同样的方式,无人机404的虚拟副本404'具有虚拟摄像机116',其具有与真实无人机404的视场407相对应的虚拟视场407'。在图5的示例中,虚拟世界中没有背景。虚拟世界500还包括一些纯粹的虚拟元素,特别是飞龙408'、在无人机404的虚拟副本404'和龙尾之间的虚拟爆炸410',以及在龙尾和墙402的虚拟复制品402'的边缘之间的虚拟爆炸412'。
[0076]
显示模块304通过将由真实无人机404的摄像机116捕获的现实世界的原始视频流与对应于无人机404的虚拟副本404'的虚拟摄像机116'的视点的虚拟世界的虚拟图像合并而生成混合现实视频流,现在将参考图6(a)至6(e)更详细地描述。
[0077]
图6(a)是从无人机404的摄像机116在与图4和5相同的时间实例中捕获的原始视频流中提取的真实图像。通过对应于视场407,该图像包括无人机406、墙402的一部分和活动区的背景409的一部分。该图像,例如,由混合现实模块302的显示模块304通过图2的机器人摄像机接口210从无人机404的摄像机116接收。
[0078]
图6(b)示出了与图4和图5相同的时间实例中,对应于无人机404的虚拟副本的虚拟摄像机116'的视点的计算机生成的图像。该图像包括龙408'的一部分、爆炸410'的一部分以及墙402和无人机406的虚拟副本402'和406'的一部分。该图像,例如,还包括,在前景中的平视显示器(hud)602'根据混合现实应用指示,例如,玩家的得分和/或其他信息。在本实施例中,图像由以下平面构成:
[0079]
-第一平面:hud602';
[0080]
-第二平面:爆炸410';
[0081]
-第三平面:龙408'的尾部;
[0082]
-第四平面:墙的虚拟副本402';
[0083]
-第五平面:龙408'的翼;
[0084]
-第六平面:无人机的虚拟副本406';
[0085]
-第七平面:龙408'的首;
[0086]
-背景平面:空的,如图6b中的点划线所示。
[0087]
图6(c)示出了由显示模块304从图6(b)的图像生成的图像掩码的示例,其中,图6(a)的真实图像中要在最终图像中保持的区域(背景和虚拟副本的可见部分)用对角线条纹表示,而要被图6(b)的纯虚拟元素的可见部分替换的区域则用白色表示。
[0088]
图6(d)显示了图6(a)的图像在应用了图6(c)的图像遮罩后的情况。将添加虚拟元素的区域的轮廓用虚线表示。
[0089]
图6(e)表示构成混合现实视频流一部分的最终图像,并与图6(d)的图像相对应,图6(b)的虚拟元素已经被合并在该图像上。在该示例中,最终图像包括无人机406、墙402和背景409的原始视频图像与纯虚拟元素408'、410'和602'的合并。这种合并是在考虑到图像的各个平面之间可能出现的遮挡的情况下进行的。
[0090]
在一些实施例中,显示模块304为正在被处理的原始视频流的每个图像生成类似于图6(c)的图像掩码,其被应用于原始视频流的相应图像。真实-虚拟交互引擎305,例如,还向显示模块304提供包括要与真实图像合并的虚拟元素的图像,类似于图6(b)的示例,并
且显示模块304,例如,合并这些图像以生成类似于图6(e)的最终图像。
[0091]
显示模块304,例如,以类似于图6(a)至6(e)的示例的方式处理从机器人/固定摄像机116/114接收的每个原始视频流,以便生成相应的混合现实视频流到每个显示接口。
[0092]
图6被用于说明可用于生成混合现实图像的原理,对于本领域技术人员来说显而易见的是,这些原理的实现可以采用各种形式。
[0093]
图7示意性地示出了用于控制机器人的控制回路700,例如,图1的无人机108,根据一个示例性实施方案,使用图3的真实-虚拟交互引擎(真实-虚拟交互引擎)305和机器人来控制模块310。
[0094]
如图7所示,用户命令(cmd)或人工智能生成的命令(cmd_ai)由真实-虚拟交互引擎305接收,并通过考虑在混合现实应用中发生的事件和/或其他特定规则,例如防碰撞例程,进行处理,以生成修改的命令cmd',该命令被提供给机器人控制模块310。
[0095]
机器人控制模块310,例如,包括传递函数模块701,其将每个修改的命令cmd'转换成期望的机器人状态(期望状态),包括机器人的期望的六自由度坐标(位置和方向)。该模块310还包括减法模块702,该减法模块702基于由跟踪系统112提供的跟踪数据(跟踪数据)连续地计算错误状态值(错误状态值)作为期望机器人状态和由另一传递函数模块703产生的测量机器人状态(测量状态)之间的差错误状态值被提供给控制器(控制器)704,其,例如,使用来自数据库306的机器人动态模型(机器人动态模型),并旨在生成使该错差状态值最小的控制信号ctrl。生成的控制信号ctrl,例如,通过机器人控制接口以无线方式传输给机器人108。
[0096]
现在将通过参考图8至图10的几个示例更详细地描述真实-虚拟交互引擎305对命令信号cmd的修改。这些图例示出了控制无人机802的示例。然而,对于本领域技术人员来说显而易见的是,这些原理可以应用于其他类型的机器人。
[0097]
图8(a)说明了第一个示例,其中,无人机802飞向虚拟的助推区804',例如,该区域仅作为虚拟世界中的虚拟元素存在。推力计806'与无人机802相关联地示出,并以阴影条表示在给定时间内应用于无人机的推力水平。该推力计806'是为了帮助理解真实-虚拟交互引擎305的操作而呈现的,这种虚拟推力计取决于在混合现实应用可以或可以不显示给用户,例如,作为hud的一部分。
[0098]
图8(a)的顶部显示了推力计806'的放大版本。可以看出,这个量具分为四个部分。中心点对应于零推力(0),其左侧的区域对应于施加给无人机802的反向推力,而其右侧的区域对应于施加给无人机802的正向推力。部分808涵盖了从零到用户命令的极限cmd_max的向前推力范围,部分810涵盖了从零到用户命令的极限-cmd_max的反向推力范围。部分812涵盖了从cmd_max到更高水平cmd_max'的向前推力范围,而部分814涵盖从-cmd_max到水平-cmd_max'的反向推力范围。例如,水平cmd_max'和

cmd_max'对应于无人机在推力方面的实际极限。因此,部分812和部分814为真实-虚拟交互引擎305增加了灵活性,使其能够超过正常的用户命令限制,以增加现实世界的效果来响应虚拟事件,这将在下文中详细描述。在一些实施例中,在机器人内应用于产生由命令cmd_max'产生的推力的功率比在机器人内应用于产生由命令cmd_max产生的推力的功率至少大50%。
[0099]
在图8(a)的示例中,推力计806'指示低于水平cmd_max的向前推力,该推力,例如,仅由用户命令cmd对无人机802产生。因此,无人机以中等速度向区域804'移动,如箭头816
所示。
[0100]
图8(b)示出了稍后到达虚拟助推区804'时的无人机802。真实-虚拟交互引擎305检测到无人机802在该区域804'中的存在,并因此将推力增加到cmd_max和cmd_max'之间的提升水平,如推力计806'所指示的。如箭头818所示,无人机802的速度,例如,因此增加到高水平。例如,真实-虚拟交互引擎305根据用户命令cmd确定新的推力,增加一定的百分比,例如100%。
[0101]
图9说明了基于虚拟墙902'的虚拟围栏功能的示例。
[0102]
图9(a)对应于第一时间实例,其中,无人机802正朝着虚拟墙902'移动,例如,以用户命令的最大推力cmd_max,导致相对较高的速度。
[0103]
图9(b)说明了刚刚发生碰撞后的情况。当无人机802到达距墙902'给定距离的点时,真实-虚拟交互引擎305,例如,通过向无人机802施加最大反推力-cmd_max'模拟碰撞,以模拟从墙壁902'的反弹。作为响应,无人机802,例如,快速减速至停止,然后开始倒车,例如,从未经过虚拟墙902'。同时,在虚拟世界中可以生成虚拟爆炸904',以便向用户/观众提供一些虚拟碰撞的视觉反馈。
[0104]
虽然在图9的示例中,墙902'是纯虚拟的,但可以使用相同的方法来避免与活动区102中的真实物体发生碰撞。
[0105]
图10说明了两个无人机之间模拟的非接触式碰撞的示例。
[0106]
图10(a)对应于第一时间实例,其中,无人机802在前进方向上以相对较低的速度移动,而另一个无人机1002以最大推力cmd_max,并因此以相对较高的速度朝无人机802的同一方向移动。
[0107]
图10(b)说明了无人机802和1002之间模拟的非接触碰撞之后的情况。例如,当无人机1002到达距无人机802一定距离时,真实-虚拟交互引擎305通过向无人机1002施加高的反向推力来模拟碰撞,如推力计1004'所表示的,例如,在极限cmd_max和-cmd

max'之间,以模拟碰撞后的反弹。真实-虚拟交互引擎305,例如,还增加了无人机802的推力,例如,增加到最大向前推力cmd_max',以模拟无人机802被从后面强力推动。同时,可以在虚拟世界中生成虚拟爆炸1006',以便向用户/观众提供一些非接触式碰撞的视觉反馈。
[0108]
在一些情况下,真实-虚拟交互引擎305也可以模拟碰撞后对机器人的损坏,例如,通过将任何用户命令cmd减少一定百分比来模拟推力的损失。
[0109]
本文描述的实施例的一个优点是,它们允许实现混合现实系统,其中,虚拟世界中的事件可用于在现实世界中生成响应。这是通过由真实-虚拟交互引擎305生成修改过的机器人命令来实现的,以在现实世界中创建特定机器人行为。例如,这允许在现实世界中相对密切地模拟虚拟事件,从而带来特别逼真的用户体验。
[0110]
这样描述了至少一个说明性的实施例后,本领域技术人员将容易想到各种改变、修改和改进。例如,对于本领域技术人员显而易见的是,本文所述的计算系统的各种功能可以完全以软件或至少部分以硬件来实现。
[0111]
此外,对于本领域技术人员来说显而易见的是,在替代性的实施例中,与各种实施例有关的各种特征可以以任何方式组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献