首页 > 摄影电影 专利正文
用于电磁跟踪的传感器融合的制作方法

时间:2022-02-18 阅读: 作者:专利查询

用于电磁跟踪的传感器融合的制作方法
用于电磁跟踪的传感器融合
1.本技术主张于2019年4月15日提交的美国临时专利申请no.62/834,081的优先权益,该申请在此通过引用并入。
技术领域
2.本公开一般地涉及确定对象的位置或取向的系统和方法,更具体地,涉及具有其他传感器输入的融合电磁跟踪技术。


背景技术:

3.现代计算和显示技术促进了用于所谓“虚拟现实”或“增强现实”体验的系统的开发,其中,数字再现的图像或其一部分以看起来真实或被感知为真实的方式呈现给用户。虚拟现实或“vr”场景通常涉及呈现数字或虚拟图像信息,而无需对其他实际的真实世界视觉输入透明;增强现实或“ar”场景通常涉及呈现数字或虚拟图像信息作为对用户周围实际世界的可视化的增强。


技术实现要素:

4.头戴式增强现实(ar)设备可以跟踪穿戴者头部(或其他身体部位)的姿势,从而能够在穿戴者环境中提供对象的三维虚拟表示。电磁(em)跟踪系统的实施例可用于跟踪头部姿势或身体姿势。例如,手持用户输入设备可以包括em发射器,而头戴式增强现实设备可以包括em传感器。在一些实施方式中,em发射器生成可以被em传感器感测到的em场。可以分析来自传感器的em信息以确定传感器的位置和/或取向,从而穿戴者在ar设备参考系中的头部姿势。该姿势可以是包括ar设备的参考系中的三个空间坐标和三个角坐标的六自由度(6dof)姿势。ar设备的参考系可以是全局(或世界)坐标系,代表穿戴者真实世界环境中的固定对象。
5.ar设备可以包括其他提供姿势信息的传感器,例如,加速度计、陀螺仪、磁力计、光学传感器、或相机等。例如,加速度计数据可以被积分两次以提供估计位置。然而,传感器信号中的误差会导致估计位置相对于实际位置发生漂移。此外,从传感器推断出的位置或取向可以在与传感器相关联的参考系中,而不是在ar设备的参考系中(例如,世界坐标系)。
6.此处描述了用于融合来自电磁跟踪系统和另一种传感器模式(例如,加速度计、陀螺仪、磁力计)的输出以减少姿势误差或将姿势转换为ar设备的参考系的技术的示例。可以使用卡尔曼滤波器或其他类型的数据融合技术来融合输出。
7.传感器融合技术不限于ar或vr应用,在其他实施方式中,可以应用于使用不同模式(例如,加速度计和em跟踪设备)的传感器确定任何对象的姿势。例如,传感器融合技术可用于跟踪手术室中的医疗设备和仪器。
8.本说明书中描述的主题的一个或多个实施方式的细节在附图和下面的描述中进行阐述。根据描述、附图、和权利要求,其他特征、方面、和优点将变得显而易见。本发明内容和以下具体实施方式均不旨在定义或限制本发明主题的范围。
附图说明
9.图1示出了具有由人观看的某些虚拟现实对象和某些物理对象的增强现实场景的图示。
10.图2a-图2d示意性地示出了可穿戴系统的示例。
11.图3示意性地示出了云计算资产与本地处理资产之间的协调。
12.图4示意性地示出了电磁(em)跟踪系统的示例系统图。
13.图5是描述em跟踪系统的实施例的示例功能的流程图。
14.图6示意性地示出了与ar系统结合的em跟踪系统的示例。
15.图7是描述ar设备情景中em跟踪系统的示例的功能的流程图。
16.图8示意性地示出了ar系统的实施例的组件的示例。
17.图9a和图9b示意性地示出了耦合到头戴式显示器的em感测线圈的示例。
18.图9c和图9d示意性地示出了具有多个em传感器的示例头戴式装置。
19.图9e和图9f示意性地示出了具有多个em发射器的示例控制器。
20.图10和图11是示出通过头戴式ar系统中的em跟踪系统进行姿势跟踪的示例的流程图。
21.图12是示意性地示出了惯性导航系统(ins)的示例的框图,该惯性导航系统可以接受来自在手持用户输入设备上的imu的输入,并在与ar系统相关联的世界参考系中提供设备的姿势(例如,位置或取向)。
22.图13a-图13c是示意性地示出了可与增强现实显示系统一起使用的传感器融合系统的示例的框图。
23.图14是示出了用于计算可穿戴系统的手持用户输入设备的姿势的方法的示例的流程图。
24.贯穿附图,可以重复使用参考标号来指示所参考元素之间的对应关系。提供附图是为了说明本文描述的示例实施例,并非旨在限制本公开的范围。
具体实施方式
25.ar、vr、和定位系统的概述
26.在图1中,描绘了增强现实场景(4),其中ar技术的用户看到以人、树木、背景中的建筑物、和混凝土平台(1120)为特征的真实世界公园状设置(6)。除了这些项目之外,ar技术的用户还感知到他“看到”了一个站在真实世界平台(1120)上的机器人雕像(1110),以及一个从旁边飞过的卡通化身角色(2),看起来是人形大黄蜂,即使这些元素(2、1110)在真实世界中并不存在。事实证明,人类视觉感知系统是非常复杂的,并且开发一种促进虚拟图像元素在其他虚拟或真实世界影像元素当中舒适、自然感知、丰富地呈现的vr或ar技术具有挑战性。
27.例如,头戴式ar显示器(或头盔显示器,或智能眼镜)通常至少与用户的头部松散耦合,因此也会在用户头部的移动时而移动。如果由显示系统检测到用户的头部运动,则可以更新正显示的数据以将头部姿势的变化考虑在内。
28.例如,如果穿戴头戴式显示器的用户观看在显示器上的三维(3d)对象的虚拟表示并在3d对象出现的区域周围走动,则可以针对每个视点重新渲染该3d对象,让用户感觉他
或她正在绕着一个占据真实空间的对象走动。如果头戴式显示器用于在虚拟空间(例如,丰富的虚拟世界)内呈现多个对象,则可以使用头部姿势的测量(例如,用户头部的位置和取向)来重新渲染场景以匹配用户动态变化的头部位置和取向,并提供增强的虚拟空间沉浸感。
29.在ar系统中,头部姿势的检测或计算可以促进显示系统渲染虚拟对象,使它们看起来以使用户感知的方式占据真实世界中的空间。此外,检测真实对象,例如手持设备(也可以称为“图腾”)、触觉设备、或其他真实物理对象,相对于用户的头部或ar系统的位置和/或取向还可以促进显示系统向用户呈现显示信息,以使用户能够有效地与ar系统的某些方面进行交互。当用户的头部在真实世界中四处移动时,虚拟对象可以根据头部姿势被重新渲染,使得虚拟对象看起来相对于真实世界保持稳定。至少对于ar应用,虚拟对象在空间上相对于物理对象的放置(例如,呈现为空间上接近二维或三维物理对象)是一个有意义的问题。例如,头部运动可能会使虚拟对象在周围环境视图中的放置显著复杂化。无论视图被捕获为周围环境的图像然后投影或显示给终端用户,还是终端用户直接感知周围环境的视图,都是如此。例如,头部运动可能会导致终端用户的视野发生变化,这可能需要更新各种虚拟对象在终端用户视野中的被显示的位置。此外,头部运动可能发生在各种范围和速度内。头部运动速度不仅可以在不同的头部运动之间变化,而且可以在单个头部运动的范围内或跨该范围变化。例如,头部运动速度最初可以从起点增加(例如,线性或非线性地),并且可以随着到达终点而减小,从而获得在头部运动的起点和终点之间某处的最大速度。快速头部运动甚至可能超出特定显示或投影技术向终端用户渲染呈现为均匀和/或平滑运动的图像的能力。
30.头部跟踪的准确性和延迟(例如,用户移动他的或她的头部和图像被更新并显示给用户之间经过的时间)一直是vr和ar系统的挑战。特别是对于用虚拟元素填充用户的大部分视野的显示系统来说,头部跟踪准确性高,且从第一次检测到头部运动到更新由显示器传送到用户视觉系统的光,整个系统延迟非常低是有利的。如果延迟很高,系统会在用户的前庭和视觉感官系统之间造成不匹配,并生成可能导致晕动症或模拟器眩晕症的用户感知场景。如果系统延迟很高,则虚拟对象的视在位置在快速头部运动期间会看起来不稳定。
31.除了头戴式显示系统,其他显示系统也可以受益于准确和低延迟的头部姿势检测。这些包括头部跟踪显示系统,其中显示器不是穿戴在用户身上,而是例如安装在墙壁或其他表面上。头部跟踪显示器就像一个场景的窗口,当用户相对于“窗口”移动他的头部时,场景被重新渲染以匹配用户不断变化的视点。其他系统包括头戴式投影系统,其中头戴式显示器将光投射到真实世界上。
32.此外,为了提供逼真的增强现实体验,可将ar系统设计为与用户交互。例如,多个用户可以用虚拟球和/或其他虚拟对象玩球类游戏。一个用户可以“接住”虚拟球,然后将球扔回给另一用户。在一些实施例中,可以向第一用户提供图腾(例如,与ar系统通信耦合的真实球棒)以击打虚拟球。在一些实施例中,可以向ar用户呈现虚拟用户界面以允许用户选择许多选项之一。用户可以使用图腾、触觉设备、可穿戴组件或简单地触摸虚拟屏幕来与系统进行交互。
33.通过检测用户的头部姿势和取向以及检测真实对象在空间中的物理位置,使ar系统能够以有效和愉快的方式显示虚拟内容。然而,尽管这些能力是ar系统的关键所在,但却
很难实现。换言之,ar系统可以识别真实对象(例如,用户的头部、图腾、触觉设备、可穿戴组件、用户的手部等)的物理位置,并将真实对象的物理坐标与对应于显示给用户的一个或多个虚拟对象的虚拟坐标相关联。这通常需要高度准确的传感器和传感器识别系统,以快速跟踪一个或多个对象的位置和取向。当前的方法不能以令人满意的速度或精度标准执行定位。
34.因此,在ar和vr设备的情景中需要更好的定位系统。
35.示例的ar和vr系统和组件
36.参考图2a-图2d,示出了一些常见组件选项。在图2a-图2d的讨论之后的详细说明的部分中,展示了各种系统、子系统、和组件,用于实现为人类vr和/或ar提供高质量、舒适感知的显示系统的目标。
37.如图2a所示,ar系统用户(60)被描绘为穿戴头戴式组件(58),其特征在于框架(64)结构被耦合到位于用户眼前的显示系统(62)。扬声器(66)以所描绘的配置被耦合到框架(64)并邻近用户的耳道定位(在一个实施例中,未示出的另一扬声器邻近用户的另一耳道被定位以提供立体/可塑形的声音控制)。显示器(62)诸如经由有线引线或无线连接被可操作地耦合(68)到本地处理和数据模块(70),该本地处理和数据模块(70)可以以各种配置被安装,诸如固定地附接到框架(64),如图2b的实施例所示固定地附接到头盔或帽子(80),嵌入头戴装置中,如图2c的实施例所示以背包式配置可拆卸地附接到用户(60)的躯干(82),或如图2d的实施例中所示的以束带耦合式配置可拆卸地附接到用户(60)的髋部(84)。
38.本地处理和数据模块(70)可以包括节能处理器或控制器,以及数字存储器,诸如闪存,这两者都可以用于协助处理、缓存和存储数据,该数据包括:a)从被可操作地耦合到框架(64)的传感器捕获的数据,这些传感器诸如包括图像捕获设备(诸如相机)、麦克风、惯性测量单元(其可以包括加速度计和陀螺仪或磁力计)、加速度计、罗盘、陀螺仪、磁力计、或gps单元、无线电设备;和/或b)使用远程处理模块(72)和/或远程数据存储库(74)获取和/或处理的数据,这些数据可能在上述处理或检索之后传送到显示器(62)。本地处理和数据模块(70)可诸如经由有线或无线通信链路被可操作地耦合(76、78)到远程处理模块(72)和远程数据存储库(74),使得这些远程模块(72、74)可操作地彼此耦合并且可作为资源用于本地处理和数据模块(70)。
39.在一个实施例中,远程处理模块(72)可以包括一个或多个相对强大的处理器或控制器,其被配置为分析和处理数据和/或图像信息。在一个实施例中,远程数据存储库(74)可以包括相对大规模的数字数据存储设施,其可以通过互联网或“云”资源配置中的其他网络配置获得。在一个实施例中,在本地处理和数据模块中存储所有数据并且执行所有计算,从而允许从任何远程模块完全自主地使用。
40.现在参考图3,该示意图示出了云计算资产(46)和本地处理资产之间的协调,本地处理资产例如可以驻留在被耦合到用户头部(120)的头戴式组件(58)中和被耦合到用户的腰带(308;因此组件70也可以被称为“腰包”70)的本地处理和数据模块(70)中,如图3所示。在一个实施例中,诸如一个或多个服务器系统(110)之类的云(46)资产诸如经由有线或无线联网(无线对于移动性而言是优选的,有线对于某些可能需要的高带宽或高数据量传输而言是优选的)被可操作地直接耦合(115)到(40、42)本地计算资产中的一者或两者,诸如
如上所述被耦合到用户的头部(120)和腰带(308)的处理器和存储器配置。用户本地的这些计算资产也可以经由有线和/或无线连接配置(44),诸如以下参考图8讨论的有线耦合(68),被可操作地彼此耦合。在一个实施例中,为了保持安装在用户头部(120)上的低惯性和小尺寸子系统,用户和云(46)之间的主要传输可以经由安装在腰带(308)上的子系统和云之间的链路,其中头戴式(120)子系统主要使用无线连接,诸如当前在个人计算外围连接应用中采用的超宽带(“uwb”)连接,将数据连接到基于腰带(308)的子系统。
41.通过高效的本地和远程处理协调,以及用于用户的适当显示设备(诸如,图2a所示的用户接口或用户显示系统(62)或其变体),与用户当前的实际或虚拟位置相关的一个世界的各方面可以被转移或“传递”给用户并以有效的方式被更新。换言之,部分驻留在用户ar系统中且部分驻留在云资源中的存储位置上的世界地图会不断更新。地图(也被称为“联结型世界模型”)是一个大型数据库,包括光栅图像、3d和2d点、参数信息和有关真实世界的其他信息。随着越来越多的ar用户不断捕捉有关其真实环境的信息(例如,通过相机、传感器、imu等),地图变得越来越准确和完整。
42.通过上述其中有一个可驻留在云计算资源上并从那里分发的世界模型的配置,这样的世界以相对低的带宽形式“可传递”给一个或多个用户,这比尝试传递接近实时视频数据等更可取。站在雕像(例如,如图1所示)附近的人的增强体验可以由基于云的世界模型通知,该模型的一个子集可以向下传递给用户和用户的本地显示设备以完成视图。坐在远程显示设备(可以像放在办公桌上的个人计算机一样简单)前的人可以有效地从云下载同一部分信息并在他们的显示器上渲染该信息。事实上,实际出现在雕像附近公园的一个人可能会带着一个处于远程的朋友在那个公园散步,朋友通过虚拟和增强现实加入。系统将需要知道街道在哪里,树木在哪里,雕像在哪里—但是有了云上的信息,加入的朋友可以从云下载场景的各个方面,然后相对于实际在公园中的人作为本地增强现实开始散步。
43.可以从环境中捕获三维(3d)点,并且可以确定捕获这些图像或点的相机的姿势(例如,相对于世界的矢量和/或原点位置信息),以便这些点或图像可以被“标记”或与该姿势信息相关联。然后可以利用由第二相机捕获的点来确定第二相机的姿势。换言之,可以基于与来自第一相机的标记图像的比较对第二相机进行定向和/或定位。然后可以利用这些知识来提取纹理、制图和创建真实世界的虚拟副本(因为然后周围有两个相机被注册)。
44.因此,在基本级别,在一个实施例中,可以利用穿戴式系统来捕获3d点和产生这些点的2d图像,并且可以将这些点和图像发送到云存储和处理资源。它们也可以在本地缓存,包含嵌入的姿势信息(例如,缓存标记的图像);因此,云可能已经准备好(例如,在可用缓存中)标记的2d图像(例如,用3d姿势标记)以及3d点。如果用户正在观察动态的东西,他还可以将附加信息向上发送到运动相关的云(例如,如果看另一人的脸,用户可以获取脸部的纹理图并以优化的频率将其向上推送,即使周围的世界在其他方面基本上是静态的)。有关对象识别器和联结型世界模型的更多信息,请参见题为“system and method for augmented and virtual reality(用于增强和虚拟现实的系统和方法)”的公开号为2014/0306866的美国专利,此专利的全部内容在此通过引用并入,另外请参见以下涉及诸如由位于佛罗里达州普兰泰申市的magic leap,inc.开发的增强和虚拟现实系统的附加公开:公开号为2015/0178939的美国专利;公开号为2015/0205126的美国专利;公开号为2014/0267420的美国专利;公开号为2015/0302652的美国专利;公开号为2013/0117377的美国专利;和公开
号为2013/0128230的美国专利,上述每个专利的全部内容在此通过引用并入。
45.gps和其他定位信息可以用作这种处理的输入。用户头部、图腾、手势、触觉设备等的高精度定位可以有利于向用户显示适当的虚拟内容。
46.头戴式设备(58)可以包括可定位在设备的穿戴者眼前的显示器。显示器可以包括光场显示器。显示器可以被配置为在多个深度平面处向穿戴者呈现图像。显示器可以包括具有衍射元件的平面波导。美国专利公开no.2015/0016777中描述了可与本文公开的任何实施例一起使用的显示器、头戴式设备和其他ar组件的示例。美国专利公开no.2015/0016777的全部内容在此通过引用并入。
47.电磁定位示例
48.实现高精度定位的一种方法可能涉及使用与em传感器耦合的电磁(em)场,这些em传感器被策略性地放置在用户的ar头戴装置、腰包和/或其他辅助设备(例如,图腾、触觉设备、游戏仪器等)上。em跟踪系统通常包括至少一个em场发射器(有时通常称为发送器或发射器)和至少一个em场传感器(有时通常称为接收器或传感器)。em发射器生成在ar头戴装置的穿戴者的环境中具有已知空间(和/或时间)分布的em场。em场传感器在传感器的多个位置处测量生成的em场。基于这些测量结果和对所生成的em场的分布的了解,可以确定场传感器相对于发射器的姿势(例如,位置和/或取向)。因此,可以确定传感器所附接到的对象的姿势。
49.em跟踪是用于多个领域中的对象定位和跟踪的有前途的方法,其中包括ar、vr、医学、体育、制造和游戏中的应用。与使用光学成像技术的一些其他方法相比,em定位的一个可能优势是em跟踪可以在存在遮挡的情况下(例如,从成像系统的视图,其中第一对象位于第二对象的前面并且至少部分地挡住了第二对象)定位对象。em跟踪还可以提供良好的动态响应时间,并且可能不需要执行复杂图像处理和有时使用相机方法实现的计算机视觉技术。基于相机的跟踪系统可能需要专门的算法和硬件来处理其高计算工作量,并且还可能缺乏针对快速运动动态和遮挡的鲁棒性。在ar和vr应用中,处理器(例如,本地处理和数据模块70)执行许多计算密集型任务(例如,如参考图1描述的向用户渲染虚拟内容),以及实时地执行这些任务中的许多。因此,降低由处理器执行任务的计算复杂度在ar和vr应用中是有利的,并且使用em跟踪系统也有利于从处理器卸载任务。
50.现在参考图4,示出了em跟踪系统(例如,由诸如johnson&johnson corporation的biosense部门、位于佛蒙特州科尔切斯特市的polhemus,inc.之类的组织开发的,由位于加利福尼亚州的洛斯盖多斯市的sixense entertainment,inc.以及其他跟踪公司制造的跟踪系统)的示例系统图。在一个或多个实施例中,em跟踪系统包括em发射器402(有时可称为em场发射器或简称为发射器),其被配置为发射已知的磁场。如图4所示,em发射器可以被耦合到电源(例如,电流、电池等)以向发射器402供电。
51.在一个或多个实施例中,em发射器402包括产生磁场的若干线圈(例如,至少三个相互垂直放置以在x、y和z方向上产生场的线圈)。该磁场用于建立坐标空间(例如,x-y-z笛卡尔坐标空间)。这允许系统建图传感器相对于已知磁场的位置(例如(x,y,z)位置),并帮助确定传感器的位置和/或取向。在一个或多个实施例中,em传感器404a、404b等可以被附接到一个或多个真实对象。em传感器404(有时可称为em场传感器或简称为传感器)可以包括较小的线圈,在线圈中,可通过发射的em场感应电流。通常,“传感器”组件(404)可以包括
小线圈或环,诸如一组三个不同取向(例如,相对于彼此正交取向)的线圈,这些线圈在诸如立方体或其他容器之类的小结构内耦合在一起,它们被定位/取向为捕获来自由发射器(402)发射的磁场的传入磁通量,并且通过比较经由这些线圈感应的电流,以及知道线圈相对于彼此的相对定位和取向,可以计算传感器相对于发射器的相对位置和取向。
52.可以测量与可操作地耦合到em跟踪传感器的线圈和惯性测量单元(“imu”)组件的行为有关的一个或多个参数,以检测传感器(及其附接到的对象)相对于与em发射器耦合的坐标系的位置和/或取向。在一个或多个实施例中,可以相对于em发射器使用多个传感器来检测每个传感器在坐标空间内的位置和取向。em跟踪系统可以提供三个方向(例如,x、y和z方向)上的位置,并且进一步提供两个或三个取向角(例如,偏航、俯仰和翻滚)上的位置。例如,em跟踪系统可以确定包括三个空间坐标(例如,x、y和z)和三个取向角(例如,偏航、俯仰和翻滚)的六自由度(6dof)姿势。在一个或多个实施例中,imu的测量值可以与线圈的测量值进行比较以确定传感器的位置和取向。在一个或多个实施例中,em数据和imu数据以及各种其他数据源(诸如,相机、深度传感器和其他传感器)可以被组合以确定位置和取向。该信息可以被传送(例如,无线通信、蓝牙等)到控制器406。在一个或多个实施例中,可以在传统系统中以相对高的刷新率报告姿势(或位置和取向)。通常,em发射器被耦合到相对稳定且较大的对象上,诸如桌子、手术台、墙壁、或天花板上,并且一个或多个传感器被耦合到较小的对象上,诸如医疗设备、手持游戏组件等上。或者,如下面参考图6所描述的,可以采用em跟踪系统的各种特征来产生一种配置,其中可以跟踪相对于更稳定的全局坐标系在空间中移动的两个对象之间的位置和/或取向的变化或差量;换言之,图6示出了一种配置,其中可使用em跟踪系统的变体来跟踪头戴式组件和手持式组件之间的位置和取向差量,而相对于全局坐标系(比如用户本地的房间环境)的头部姿势以其他方式被确定,诸如通过即时定位与建图(“slam”)技术,使用可以被耦合到系统的头戴式组件的面向外部的捕获相机。
53.控制器406可以控制em场发生器402,并且还可以捕获来自各种em传感器404数据。应当理解,系统的各个组件可以通过任何机电或无线/蓝牙装置彼此耦合。控制器406还可以包括有关已知磁场的数据以及与磁场相关的坐标空间。该信息然后用于检测传感器相对于与已知em场相对应的坐标空间的位置和取向。
54.em跟踪系统的一个优点是它们以最小延迟和高分辨率产生高度准确的跟踪结果。此外,em跟踪系统不一定依赖于光学跟踪器,可以轻松跟踪不在用户视线范围内的传感器/对象。
55.应当理解,em场的强度作为距线圈发送器(例如,em发射器402)的距离r的三次函数下降。因此,可以基于距em发射器的距离使用算法。控制器406可以配置有这样的算法来确定距em发射器不同距离处的传感器/对象的位置和取向(例如,6dof姿势)。考虑到随着传感器远离em发射器,em场的强度迅速下降,可以在更近的距离处实现最佳效果(就准确性、效率和低延迟而言)。在典型的em跟踪系统中,em发射器由电流(例如,插入式电源)供电,并且传感器位于距em发射器20英尺半径范围内。在包括ar应用在内的许多应用中,传感器和发射器间的半径越短,越理想。
56.现在参考图5,简要描述了描述典型em跟踪系统的功能的示例流程图。在502处,发射已知的em场。在一个或多个实施例中,磁发射器可以生成磁场,每个线圈可以在一个方向(例如,x、y或z)上生成电场。磁场可以以任意波形生成。在一个或多个实施例中,沿着每个
轴的磁场分量可以以与沿着其他方向的其他磁场分量稍微不同的频率振荡。在504处,可以确定对应于em场的坐标空间。例如,图4的控制器406可以基于em场自动确定发射器周围的坐标空间。在506处,可以检测传感器(其可被附接到已知对象)处的线圈的行为。例如,可以计算在线圈处感应的电流。在一些实施例中,可以跟踪和测量线圈的旋转或任何其他可量化的行为。在508处,可以使用该行为检测一个或多个传感器和/或已知对象的位置或取向。例如,控制器406可以查阅将传感器处线圈的行为与各种位置或取向相关联的映射表。基于这些计算,可以确定坐标空间中的位置以及传感器的取向。图5的流程图中的框的顺序旨在是说明性的而非限制性的。例如,在一些实施例中,可以在执行框504之前执行框506。
57.在ar系统的情景中,可能需要修改em跟踪系统的一个或多个组件,以促进对移动组件的准确跟踪。如上所述,在许多ar应用中可能需要跟踪用户的头部姿势和取向。准确确定用户的头部姿势和取向使ar系统能够向用户显示正确的虚拟内容。例如,虚拟场景可能包括隐藏在真实建筑物后面的怪物。取决于用户头部相对于建筑物的姿势和取向,可能需要修改虚拟怪物的视图,以便提供逼真的ar体验。或者,图腾、触觉设备或与虚拟内容交互的一些其他装置的位置和/或取向对于使ar用户能够与ar系统交互可能很重要。例如,在许多游戏应用中,ar系统可以检测真实对象相对于虚拟内容的位置和取向。或者,在显示虚拟界面时,图腾、用户的手部、触觉设备或任何其他被配置为与ar系统交互的真实对象的位置可能相对于显示的虚拟界面是已知的,以便系统理解命令等。包括光学跟踪和其他方法在内的传统定位方法通常受到高延迟和低分辨率问题的困扰,这使得在许多增强现实应用中渲染虚拟内容具有挑战性。
58.在一个或多个实施例中,关于图4和图5讨论的em跟踪系统适用于ar系统以检测一个或多个对象相对于发射的em场的位置和取向。典型的em系统往往具有大而笨重的em发射器(例如,图4中的402),这对于头戴式ar设备来说是有问题的。然而,较小的em发射器(例如,在毫米范围内)可被用于在ar系统情景中发射已知的em场。
59.现在参考图6,em跟踪系统600可以如图所示与ar系统结合,其中em发射器602作为手持控制器606的一部分结合。控制器606可以相对于ar头戴装置(或腰包70)能够独立移动。例如,用户可以将控制器606握在他或她的手中,或者可以将控制器戴在用户的手部或手臂上(例如,作为戒指或手镯或作为用户穿戴的手套的一部分)。在一个或多个实施例中,手持控制器可以是在游戏场景中使用的图腾(例如,多自由度控制器)或在ar环境中提供丰富的用户体验或允许用户与ar系统交互。在一些实施例中,手持控制器可以是触觉设备。在一些实施例中,em发射器可以简单地作为腰包70的一部分结合。控制器606可以包括电池610或为该em发射器602供电的其他电源。应当理解,em发射器602还可以包括或者被耦合到imu 650组件,imu 650组件被配置为帮助确定em发射器602相对于其他组件的定位和/或取向。这在发射器602和传感器(604)都可移动的情况下可以尤其有利。在一些实施例中,imu 650可以包括加速度计和陀螺仪。将em发射器602放置在手持控制器中而不是腰包中(如图6的实施例所示)有助于确保em发射器不争用腰包处的资源,而是在控制器606处使用其自己的电池源。在一些实施例中,em发射器602可以被设置在ar头戴装置58上,并且传感器604上可以被设置在控制器606或腰包70上。
60.在一个或多个实施例中,em传感器604可以与诸如一个或多个imu或附加的磁通量捕获线圈608之类的其他感测设备一起被放置在用户头戴装置上的一个或多个位置处。例
如,如图6所示,传感器(604、608)可以被放置在头戴装置(58)的一侧或两侧上。由于这些传感器设计得相当小(因此在某些情况下可能不那么敏感),拥有多个传感器可以提高效率和精度。在一个或多个实施例中,一个或多个传感器也可以被放置在腰包70或用户身体的任何其他部分上或控制器606中。传感器(604、608)可以无线地或通过蓝牙与确定传感器(及其附接到的ar头戴装置)的姿势和取向的计算装置通信。在一些实施例中,该计算装置可以驻留在腰包70处。在一些实施例中,该计算装置可以驻留在头戴装置本身,甚至控制器606处。在一个或多个实施例中,该计算装置又可以包括建图数据库(例如,联结型世界模型、坐标空间等)来检测姿势,确定真实对象和虚拟对象的坐标,甚至可以连接到云资源和联结型世界模型。
61.如上所述,传统的em发射器对于ar设备来说可能过于笨重。因此,与传统系统相比,em发射器可以被设计为紧凑,使用更小的线圈。然而,考虑到em场的强度作为距发射器距离的三次函数减小,在与诸如图4详细描述的传统系统相比时,em传感器604和em发射器602之间的较短半径(例如,大约3到3.5英尺)可以降低功耗。
62.在一个或多个实施例中,此方面可用于延长为控制器606和em发射器602供电的电池610的寿命。在一些实施例中,此方面可用于减小在em发射器602处生成磁场的线圈的尺寸。然而,为了获得相同强度的磁场,可能需要增加功率。这允许使用可以紧凑地安装在控制器606处的紧凑型em发射器单元602。
63.在将em跟踪系统600用于ar设备时,可以进行若干其他改变。虽然这个姿势报告率相当不错,但ar系统可能需要更有效的姿势报告率。为此,可以在传感器中(附加地或替代地)使用基于imu的姿势跟踪。有利地,imu可以保持尽可能稳定以提高姿势检测过程的效率。imu可以被设计成使其保持稳定高达50-100毫秒。应当理解,一些实施例可以利用外部姿势估计器模块(例如,imu可以随时间漂移),该模块可以使得姿势更新能够以10到20hz的速率被报告。通过以合理的速率保持imu稳定,姿势更新的速率可以被显著降低到10到20hz(与常规系统中的更高频率相比)。
64.如果em跟踪系统600可以以例如10%的占空比运行(例如,仅每100毫秒ping一次真实数据(ground truth)),这将是另一种节省ar系统处的功率的方式。这将意味着em跟踪系统每100毫秒中有10毫秒的唤醒以生成姿势估计。这直接转化为功耗节省,进而可能影响ar设备的尺寸、电池寿命和成本。
65.在一个或多个实施例中,可以通过提供两个手持控制器(未示出)而不是仅仅一个来策略性地利用占空比的这种减少。例如,用户可能正在玩需要两个图腾的游戏等。或者,在多用户游戏中,两个用户可能有自己的图腾/手持控制器来玩游戏。在使用两个控制器(例如,每只手一个对称的控制器)而不是一个控制器时,控制器可以以偏移占空比运行。例如,相同的概念也可以应用于由玩多人游戏的两个不同用户使用的控制器。
66.现在参考图7,描述了在ar设备的情景中描述em跟踪系统600的示例流程图。在702处,包含em发射器的便携式(例如,手持)控制器发射磁场。在704处,em传感器(例如,放置在头戴装置、腰包等处)检测磁场。在706处,基于传感器处的线圈/imu的行为确定头戴装置/腰带的姿势(例如,位置或取向)。姿势可以包括6dof姿势或具有少于全部六个自由度(例如,一个或多个空间坐标或一个或多个取向角)。在708处,将姿势信息传送到计算装置(例如,在腰包或头戴装置处)。在710处,可选地,咨询建图数据库(例如,联结型世界模型)以将
真实世界坐标(例如,针对头戴装置/腰带的姿势确定的)与虚拟世界坐标相关联。在712处,虚拟内容可以通过ar头戴装置传送给用户并且显示给用户(例如,经由这里描述的光场显示器)。应当理解,上述流程图仅用于说明目的,不应被理解为限制。
67.有利地,使用类似于图6中所概述的em跟踪系统使能低延迟姿势跟踪(例如,头部位置或取向、图腾、腰包和其他控制器的位置和取向)。与光学跟踪技术相比,这允许ar系统以更高的准确度和极低的延迟来投影虚拟内容(至少部分地基于所确定的姿势)。
68.参考图8,示出了以许多感测组件为特征的增强现实系统配置。头戴式可穿戴组件(58)被示出为被可操作地耦合(68)到本地处理和数据模块(70),诸如腰包,这里使用物理多芯引线,其还具有控制和快速释放模块(86)特征。控制和快速释放模块(86)可以包括用于操作相关系统的按钮,例如开/关按钮和增大/减小音量控制。模块(86)的相反端可以被连接到在本地处理和数据模块(70)和显示器(62)之间延伸的电引线,如图8所示。
69.本地处理和数据模块(70)被可操作地耦合(100)到手持式组件/控制器(606),这里通过诸如低功率蓝牙之类的无线连接;组件(606)也可以被直接可操作地耦合(94)到头戴式可穿戴组件(58),诸如通过诸如低功率蓝牙之类的无线连接。通常在传递imu数据以协调各种组件的姿势检测的情况下,需要高频连接,诸如在数百或数千个周期/秒或更高的范围内;每秒数十个周期可能足以用于em定位感测,诸如通过传感器(604)和发射器(602)配对。还示出了全局(也称为世界)坐标系(10),表示用户周围真实世界中的固定对象,诸如墙壁(8)。
70.云资源(46)还可以被分别可操作地耦合(42、40、88、90)到本地处理和数据模块(70)、头戴式可穿戴组件(58)、可以被耦合到墙壁(8)或相对于全局坐标系(10)固定的其他项目的资源。被耦合到墙壁(8)或具有相对于全局坐标系(10)的已知位置和/或取向的资源可以包括无线收发器(114)、em发射器(602)、和/或接收器(604)、诸如红外led信标之类的被配置为发射或反射给定类型的辐射的信标或反射器(112)、蜂窝网络收发器(110)、radar发射器或检测器(108)、lidar发射器或检测器(106)、gps收发器(118)、具有已知可检测图案(122)的招贴或标记物、以及相机(124)。
71.如图所示,除了被配置为辅助相机(124)检测器的发光发射器(130)(诸如,用于红外相机(124)的红外发射器(130))之外,头戴式可穿戴组件(58)还具有类似的组件;头戴式可穿戴组件(58)上还有一个或多个应变仪(116)特征,该应变仪(116)可以被固定地耦合到头戴式可穿戴组件(58)的框架或机械平台上并被配置为确定这种平台在诸如em接收器传感器(604)或显示元件(62)之类的组件之间的偏斜,其中了解平台是否已经发生弯曲(诸如在平台的纤薄部分,诸如图8所示的眼镜状平台上的位于鼻子上方的部分)可能是有价值的。
72.头戴式可穿戴组件(58)还包括处理器(128)和一个或多个imu(102)特征。每个组件优选地被可操作地耦合到处理器(128),该处理器可以包括硬件控制器、硬件微处理器、专用集成电路(asic)等。组件(606)和本地处理和数据模块(70)被示出为包括类似的组件特征。如图8所示,这种具有这么多感测和连接装置的系统很可能很重、很耗电、很大,而且相对昂贵。然而,为了说明的目的,可以利用这样的系统来提供非常高水平的连接性、系统组件集成、和位置/取向跟踪。例如,通过这样的配置,可以使用wifi、gps或蜂窝信号三角测量定位各种主要移动组件(58、70、606)的全局坐标系位置;信标、em跟踪(如本文所述)、
radar、和lidar系统可以提供更进一步的位置和/或取向信息和反馈。还可以利用标记和相机来提供有关相对和绝对位置和取向的进一步信息。例如,可以使用各种相机组件(124),诸如被示出为耦合到头戴式可穿戴组件(58)的相机组件,来捕获可用于即时定位与建图协议或“slam”的数据,以确定组件(58)的位置以及它相对于其他组件的取向。
73.在一些实施例中,作为lidar(106)类型的深度传感器的补充或替代,该系统包括通用深度相机或深度传感器,例如,其可以是立体三角测量类型的深度传感器(诸如无源立体深度传感器、纹理投影立体深度传感器、或结构光立体深度传感器)或时间或飞行式深度传感器(诸如lidar深度传感器或调制发射深度传感器);此外,该系统可以包括一个额外的面向前的“世界”相机(124,它可以是灰度相机,具有能够达到720p范围分辨率的传感器)以及一个相对高分辨率的“图片相机”(它可以是一个全彩色相机,例如能够具有2百万像素或更高分辨率的传感器)。
74.ar系统中的示例电磁感应组件
75.参考图9a,em感测线圈组件(604,例如,被耦合到外壳的3个单独线圈)被示出为被耦合到头戴式组件(58);这种配置为整个组件增加了额外的几何形状,这可能是不希望的。参考图9b,不是如在图9a的配置中那样将线圈放置在盒子或单个外壳604中,而是可以将各个线圈集成到头戴式组件(58)的各种结构中,如图9b所示。图9b针对x轴线圈(148)、y轴线圈(150)、和z轴线圈(152)示出了头戴式显示器58上的位置的示例。因此,感测线圈可以在头戴式显示器(58)上或头戴式显示器(58)周围进行空间分布,以通过em跟踪系统提供显示器(58)的定位和/或取向的期望空间分辨率或精度。
76.再次参考图9b,示出了用于ar设备58的分布式传感器线圈配置。ar设备58可以具有单个em传感器设备(604),诸如包含三个正交感测线圈的外壳,每个方向x、y、z一个线圈,它们可以被耦合到可穿戴组件(58)以进行6自由度(6dof)跟踪,如本文所述。另外如上所述,这样的设备可以被分解,其中三个子部分(例如,线圈)被附接到可穿戴组件(58)的不同位置处,如图9b所示。为了提供进一步的设计备选方案,每个单独的传感器线圈可以用一组类似取向的线圈代替,使得任何给定正交方向的总磁通量由该组捕获,而不是由每个正交方向的单个线圈捕获。换言之,不是每个正交方向一个线圈,而是可以使用一组较小的线圈并且它们的信号通过聚合形成该正交方向的信号。在特定系统组件(例如,头戴式组件(58)具有两个或更多个em线圈传感器组特征的一些实施例中,系统可以被配置为选择性地利用彼此最接近的传感器和发射器配对(例如,在1cm、2cm、3cm、4cm、5cm或10cm内)以改进或优化系统的性能。在一些实施例中,一个或多个em发射器和一个或多个em传感器可以以不同的方式布置。例如,一个或多个em发射器可以被设置在头戴式组件(58)中或头戴式组件(58)上,并且头戴式组件(58)em传感器可以被设置在控制器(606)或腰包(70)中或控制器(606)或腰包(70)上。作为另一示例,一个或多个em传感器可以被设置在头戴式组件(58)中或头戴式组件(58)上,并且一个或多个em发射器可以被设置在控制器(606)或腰包(70)中或控制器(606)或腰包(70)上。作为又一示例,一个或多个em发射器可被设置在腰带(70)中或腰带(70)上,并且一个或多个em传感器可被设置在控制器(606)或头戴式组件(58)中或控制器(606)或头戴式组件(58)上。
77.就便携式系统的功率而言,em跟踪更新可能相对“昂贵”,并且可能无法进行极高频率的更新。在“传感器融合”配置中,可以将来自另一传感器(诸如,imu)的更频繁更新的
定位信息与来自诸如光学传感器的另一个传感器(例如相机或深度相机)的频率可能相对高或可能相对不高的数据组合;融合所有这些输入的网络对em系统的要求较低,并提供更快的更新。如本文所述,在一些实施例中,传感器融合技术可以包括将imu(或其他传感器)数据与em跟踪数据融合或组合,以提供手持式组件或头戴式组件的姿势的稳健估计。
78.图9c和图9d示出了具有一个以上em传感器604c、604d的示例头戴装置。图9e和图9f示出具有一个以上em发射器602e、602f的示例手持控制器。取决于实施方式,em传感器和/或em发射器的数量可能改变,诸如以提高由em跟踪系统生成的姿势检测的准确性。例如,具有两个em传感器604c的头戴装置(例如,图9c)可以与具有一个em发射器、两个em发射器602e(例如,图9e)、三个em发射器602f(例如,图9f)或更多的em发射器的控制器一起使用。类似地,具有三个(或任何其他数量)em传感器604d(例如,图9d)的头戴装置可以与具有一个em发射器、两个em发射器602e(例如,图9e)、三个em发射器602f(例如,图9f)或更多em发射器的控制器一起使用。
79.在头戴装置的不同侧具有多个em传感器的实施例(例如,图9c)可以减少金属变形的影响。例如,在一些实施方式中,来自em传感器604c的输入可以基于相对于具有em发射器602的控制器的接近度或位置进行加权。例如,在具有em发射器602的控制器在用户的右侧的情况下,则与具有与控制器的直接通信通道较少的其他em传感器(例如,头戴装置左侧或中间的em传感器604)相比,头戴装置右侧的em传感器604可以具有更高的加权输入。
80.使用多个em传感器可以进一步提供可用于定量监测由em发射器和em传感器之间的em信号干扰引起的失真的数据。例如,通过头戴装置上已知位置的两个em传感器和控制器上的一个em发射器,em传感器和em发射器之间的两个解析位置矢量可用于形成三角形。em传感器之间的这种“感测”位移可以与例如头戴装置模型中的“已知”em传感器位置进行比较。该失真的定量估计然后可用于向用户、软件应用等提供反馈,诸如“预期失真”(例如,在干净的环境中在头戴装置和控制器之间测量的失真效果)和“环境失真”(例如,在减去预期失真后,剩余的失真量)的指示。可以在具有其他数量的发射器和传感器的配置中确定类似的加权和失真计算。
81.用户头部姿势或手部姿势的em跟踪示例
82.参考图10,在一个实施例中,在用户接通他或她的可穿戴计算系统(160)的之后,头戴式组件可以捕获imu和相机数据(相机数据例如用于slam分析,诸如在腰包处理器处,其中可能存在更多的原始处理能力)或em跟踪系统数据的组合,来确定和更新相对于真实世界全局坐标系(162;图8所示的真实世界全局坐标系10的示例)的头部姿势(例如,位置或取向)。用户还可以激活手持式组件以例如玩增强现实游戏(164),并且手持式组件可以包括被可操作地耦合到腰包和头戴式组件中的一者或两者的em发射器(166)。一个或多个em场线圈接收器组(例如,一组3个不同取向的单独线圈)耦合到头戴式组件以捕获来自发送器的磁通量,该磁通量可用于确定头戴式组件和手持式组件之间的位置或取向差异(或“差量”)(168)。辅助确定相对于全局坐标系的姿势的头戴式组件和辅助确定相对于头戴式组件的手持相对位置和取向的手持式组件的组合允许系统一般确定每个组件相对于全局坐标系的位置,因此可以优选地以相对低的延迟跟踪用户的头部姿势和手持姿势,以便使用手持式组件的移动和旋转来呈现增强现实图像特征和交互(170)。
83.参考图11,示出了与图10的实施例有些相似的实施例,除了系统具有更多的感测
设备和可用于辅助确定头戴式组件(172)和手持式组件(176、178)两者的姿势的配置,从而优选地以相对低的延迟跟踪用户的头部姿势和手持姿势,以便使用手持式组件(180)的移动和旋转来呈现增强现实图像特征和交互。
84.在各种实施方式中,增强现实设备可以包括计算机视觉系统,该计算机视觉系统被配置为实现一种或多种计算机视觉技术以识别系统环境中的对象、用户手势,或执行本文使用或描述的其他计算机视觉程序。例如,如下所述,计算机视觉系统可以分析由面向外部的相机124拍摄的用户输入设备/控制器606的图像,以确定用于补偿电磁跟踪系统中em失真的设备的姿势(例如,位置或取向)。计算机视觉技术的非限制性示例包括:比例不变特征变换(sift)、加速鲁棒特征(surf)、定向fast和旋转brief(orb)、二元鲁棒不变可扩展关键点(brisk)、快速视网膜关键点(freak)、viola-jones算法、eigenfaces方法、lucas-kanade算法、horn-schunk算法、mean-shift算法、视觉即时定位与建图(vslam)技术、顺序贝叶斯估计器、卡尔曼滤波器、扩展卡尔曼滤波器、光束法平差、自适应阈值(和其他阈值技术)、迭代最近点(icp)、半全局匹配(sgm)、半全局块匹配(sgbm)、特征点直方图、各种机器学习算法(诸如支持向量机、k-最近邻算法、朴素贝叶斯、神经网络(包括卷积或深度神经网络)或其他有监督/无监督模型等)等。
85.电磁定位概述
86.em定位基于由一个或多个em传感器测量的源于一个或多个em发射器激发磁场的磁场耦合。有两种常见的磁场激发方式。一种基于脉冲交流(ac)场,另一种基于脉冲直流(dc)场。目前,利用ac em场的em跟踪系统更为常见,因为它们往往对噪声不太敏感。如参考图9a和图9b所描述的,对于6dof定位,em传感器(例如,em传感器604)和em发射器(例如,em发射器602)可以各自包括三个正交对齐的线圈(例如,沿着相应的x、y、z轴)。在使用这种配置的许多应用中,em发射器602中的发射器线圈电流是顺序脉冲的(例如,先沿x,然后沿y,接着沿z),并且所产生的磁场在em传感器604中的每个传感器线圈中感应电流,然后使用这些电流确定传感器线圈相对于发射器线圈的位置或取向,从而确定em传感器604相对于em发射器602的位置或取向。
87.不受以下理论发展的束缚或限制,现在将介绍用于em定位的em模型。在该模型中,由em发射器602中的发射器线圈生成的磁场被假定为等效的磁偶极场(当em发射器602中的发射器线圈的尺寸小于发射器线圈和传感器线圈之间的距离时,往往更准确)。偶极场随着em发射器602和em传感器604之间的距离的增加而作为该距离三次幂的倒数减小。
88.用于6dof定位的方程可以使用欧拉角变换(或四元数)来描述em传感器604相对于em发射器602的位置和取向。由em传感器604感测到的em场可以表示为矩阵方程:
[0089][0090]
其中,f是3
×
3em场矩阵,c是任何给定线圈配置的常数(例如,与导线回路数、回路面积、和传感器增益的乘积成比例),r是em发射器602和em传感器604之间的距离,t是表示em传感器604相对于em发射器602的3自由度(3dof)取向的3
×
3旋转矩阵,p是表示em传感器604相对于em发射器602的位置的3
×
3旋转矩阵,k是具有与[1,-1/2,-1/2]成比例的对角元素的3
×
3对角矩阵,并且e是3
×
3对角矩阵,其中对角元素表示由em发射器602的三个正交发射器线圈测量的em场。矩阵p可以根据取向角θ和俯仰φ表示为:
[0091][0092]
其中,roty是绕y轴的3
×
3旋转矩阵,rotz是绕z轴的3
×
3旋转矩阵。
[0093]
由于矩阵的元素涉及三角函数,方程(1)实际上是一个具有六个未知变量(三个位置变量和三个方向变量)的联立非线性方程组,可以同时求解(例如,经由迭代数值技术)以获得em传感器604相对于em发射器602的6dof姿势。源于上述方法的位置和取向必须转换为不同的参考系,因为em传感器线圈相对于全局参考系放置。该系(或参考系)有时被称为世界系(或世界参考系,或世界坐标系或全局坐标系)。参考图8描述了世界坐标系10的示例。在一些实施方式中,世界坐标系10是在用户开启ar设备时被建立的,例如,在确定用户的初始头部姿势时。世界系的原点可以被设置在环境中的任何一点处,例如,可以将用户正操作设备的房间的拐角设置为原点(例如,笛卡尔坐标系中的坐标(0,0,0))。
[0094]
增强现实系统的传感器融合概述
[0095]
图12是惯性导航系统(ins)1202的示例的框图,惯性导航系统(ins)1202可以从手持用户输入设备(例如,参考图6和图8描述的手持控制器/图腾606)上的imu 650接受输入,并且在与ar系统200相关联的世界系(例如,世界坐标系10)中提供图腾的6dof姿势(例如,位置和取向)。ar系统200可以利用6dof姿势,例如,如参考图7、图10、和图11中的流程图所描述的。
[0096]
如本文所述,图腾imu 650除其他组件之外还可以包括加速度计和陀螺仪。加速度计提供在图腾的参考系中测量的作为时间的函数的加速度a(t)。陀螺仪提供在图腾的参考系中测量的作为时间的函数的角速度ω(t)。
[0097]
ins 1202可以包括硬件处理器,处理器对加速度数据进行两次积分以获得图腾606的位置,并且对角速度进行一次积分以获得图腾606的角取向(例如,表示为欧拉角或四元数)。例如,图腾606的位置x(t)可以写成:
[0098][0099]
其中,x0和v0是积分常数,分别表示图腾在时间t=0时的初始位置和速度。图腾606的取向θ(t)可以写成:
[0100][0101]
其中,θ0是积分常数,表示图腾在时间t=0时的初始角取向。
[0102]
在实施方程(3)和(4)时存在一些挑战。首先,图腾606在ar系统200的世界参考系中的初始位置、取向、和角取向通常是未知的。因此,在没有附加信息或来自其他传感器的输入以将imu的参考系的位置和取向关联到初始时间(例如,t=0)时的ar系统200的世界参考系的情况下,难以确定积分常数x0、v0和θ0。两个参考系之间的这种关联有时在此被称为偏差,因为它表示图腾的位置相对于初始时间(例如,t=0)时的ar系统200的世界参考系之间的偏差。
[0103]
来自图腾imu 650的数据通常会受到误差、非线性、和噪声的影响。例如,来自加速度计或陀螺仪的输出可能有偏差,这是与真实加速度或角速度的偏差。对于某些传感器,偏差可能是时间、温度、传感器取向、电源电压等的函数。因此,偏差(未知)可以以未知的方式随时间变化。即使最初校准了传感器以消除传感器中存在的偏差,也会随着时间的推移而形成偏差。
[0104]
加速度计和陀螺仪数据中的误差会导致分别根据方程(3)和(4)确定的位置和取向的漂移。由于方程(3)中的两次积分,加速度计数据中的误差导致与时间呈二次方增加的所确定的位置的漂移。由于方程(4)中的单次积分,陀螺仪数据中的误差导致与时间线性增加的所确定的取向的漂移。如果未校正,这些漂移会导致所确定的位置和取向与实际位置和取向明显偏离。
[0105]
如下文将描述的,来自图腾imu 650以外的附加传感器的输入可以与imu数据(例如,加速度计数据和陀螺仪数据)融合以减少漂移并将图腾的位置和取向关联到ar系统200的世界参考系。例如卡尔曼滤波器之类的传感器融合算法可用于将传感器数据输入与传感器误差状态和参考系偏差的模型融合在一起。例如,在存在传感器偏差、噪声和图腾初始位置在ar系统200的世界参考系中的偏移的情况下,卡尔曼滤波器可以提供对图腾姿势的稳健预测。尽管下面描述的实施例使用卡尔曼滤波器,但是也可以使用其他统计滤波器或随机数据融合技术。例如,卡尔曼滤波器可以包括扩展卡尔曼滤波器、无迹卡尔曼滤波器、或任何其他种类的卡尔曼滤波器。随机数据融合技术可以包括马尔可夫模型、贝叶斯滤波、线性二次估计等。此外,尽管根据估计图腾的6dof姿势(例如,位置和取向)进行了描述,但这不是必需的,在其他实施例中,传感器融合系统可以估计3dof姿势(例如,位置或取向)。
[0106]
作为说明性示例,在图腾初始速度v0为零的情况下,图腾位置的模型可以写成:
[0107][0108]
其中,offset
x
是ar系统200的世界参考系和加速度计参考系(相对于任意选择的坐标原点)之间的位置误差的估计,并且ε(t)是用于校正加速度计输出偏差的误差状态估计。可以针对角方向θ(t)写出一个类似的方程:
[0109][0110]
其中,offset
θ
是ar系统200的世界参考系和陀螺仪参考系(相对于任意选择的坐标原点)之间的角度误差的估计,δ(t)是用于校正陀螺仪输出(角速度)偏差的误差状态估计。卡尔曼滤波器(或其他合适的滤波器)可以提供误差状态的估计(例如,offsets、ε和δ),如下文将进一步描述的。
[0111]
传感器融合的示例系统
[0112]
图13a是示意性地示出用于诸如参考图2a-2d、图6、或图8描述的之类的ar系统200的传感器融合系统1300的示例的框图。传感器融合系统1300的实施例解决了上面参考图12描述的部分或全部挑战。
[0113]
传感器融合系统1300包括被配置为接收并融合来自多种类型的传感器的传感器数据的惯性导航系统(ins)1302。例如,如图13a所示,ins1302可以从图腾imu 650、em跟踪系统600以及附加地或可选地从其他传感器651接收输入数据。如本文所述,图腾imu 650除其他组件之外还可以包括加速度计和陀螺仪。其他传感器651除其他组件之外还可以包括磁力计和光学传感器(例如,位于面向外部或面向内部的相机中)。
[0114]
上面已经参考图6至图11描述了em跟踪系统600的实施例。例如,图腾606可以包括发射em场的em发射器602,并且头戴式ar头戴装置58可以包括测量发射的em场并计算em传感器604相对于em发射器602的姿势(3dof或6dof)的em传感器604。例如,6dof姿势可以根据上面参考方程(1)描述的em场矩阵f来计算。
[0115]
在其他实施方式中,em发射器602可以被设置在ar头戴装置58中,并且em传感器604可以被设置在图腾606中。请参见例如参考图9a和图9b对em传感器和发射器的各种布置的描述。
[0116]
传感器融合系统1300包括卡尔曼滤波器1304,该滤波器可以估计图腾姿势的误差状态(例如,如参考方程(5)和方程(6)所描述的)。卡尔曼滤波器1304可以利用表示图腾imu 650的行为(例如,没有偏差、噪声等)的模型,并将这些模型与来自传感器(例如,图腾imu 650、em跟踪系统600和可选的其他传感器651)的实际测量进行比较。卡尔曼滤波器1304使用模型和测量之间的差异来提供图腾姿势的更好估计。例如,卡尔曼滤波器1304可以预测图腾姿势的当前状态的估计并将该状态与来自被融合的传感器(例如,imu 650、em跟踪系统600、和可选的其他传感器651)的数据进行比较以生成错误状态。对错误状态的已知可用于更新图腾姿势的状态(例如,经由方程(5)和方程(6))。如上所述,卡尔曼滤波器1304的使用不是必需的,在其他实施例中,可以使用其他统计滤波器或随机数据融合技术,例如马尔可夫模型、贝叶斯滤波、线性二次估计等。
[0117]
ins 1302使用卡尔曼滤波器来融合来自图腾imu和em跟踪系统(以及可选的任何其他传感器651)的输入,以便提供在统计上往往比使用仅来自图腾imu 650或仅来自em跟踪系统600的输入的姿势估计更准确的图腾姿势估计。例如,卡尔曼滤波器1304可以校正图腾姿势的漂移(例如,由传感器偏差、噪声等导致)并调节相对于ar系统200的世界参考系的偏差。
[0118]
因此,传感器融合系统1300可以确定ar系统200的世界参考系中的图腾姿势(例如,3dof或6dof),并将该图腾姿势提供给ar系统200。ar系统200可以使用ar系统200的世界参考系中的图腾姿势,例如向ar系统的用户传送虚拟内容(参见例如图7、图10、图11)。传感器融合技术提供更准确和稳健的图腾姿势估计,从而导致给用户的虚拟内容的改进的传送和ar系统200的改进的用户体验。
[0119]
图13b和图13c提供了传感器融合系统1300的附加说明性特征。如上面参考方程(1)所描述的,em跟踪系统600使用由em传感器604测量的em场矩阵1322来确定图腾姿势。测量的em场矩阵1322是由f表示的3
×
3矩阵并且具有九个分量。在图13b中,将测量的em场矩阵1322与表示系统对图腾姿势预期位置的估计的预测的em场矩阵1324进行比较。比较可以包括预测em矩阵1324和测量的em矩阵1322之间的差异1328。预测的em场矩阵1324和测量的em场矩阵1322之间的比较提供了对卡尔曼滤波器1304使用的误差状态的估计。例如,在预测的em场矩阵1324和测量的em场矩阵1322之间的差异相对较小时,由于传感器偏差或噪声导致的漂移可能不会太大,并且由ins 1302对图腾姿势的确定可能相对准确。随着漂移的累积,预测的em场矩阵1324和测量的em场矩阵1322之间的差异可能会增加,并且卡尔曼滤波器1304用于恢复图腾姿势1310的准确性。如图13b中的虚线1328所示,可以将世界系中的图腾姿势1310的当前值反馈到对图腾606预期位置的预测中。卡尔曼滤波器1304因此递归地工作以通过融合来自图腾imu 650和em跟踪系统600(以及可选的其他传感器651)的输入来提供世界系中图腾姿势1310的改进或最佳确定。
[0120]
图13c示出了由传感器融合系统1300可以如何确定预测的em场矩阵1324的示例。在图13c中,em发射器602被标记为“tx”(发送器的缩写),并且em传感器604被标记为“rx”(接收器的缩写)。图13c中的框图示出了由em发射器602和em传感器604进行的测量如何被
变换到ar系统200的世界参考系的示例。在该示例中,em发射器602被假定位于图腾606中(参见例如图6),并且em传感器604被假定位于ar头戴装置58中(参见例如图9a)。em发射器602和em传感器604的这种布置不是限制,在其他实施例中,参考图13c描述的处理可以针对其他布置(例如,ar戴装置58中的em发射器602和图腾606中的em传感器604)进行修改。
[0121]
在框1342处,系统1300访问指示ar系统200的世界参考系中的ar头戴装置58的姿势的头部姿势数据。如上面参考图8所述,ar头戴装置58中的传感器,诸如imu 102或面向外部的世界相机124,可用于确定头戴装置58的姿势。例如,相机124可用于捕捉可以在即时定位与建图协议或“slam”中使用,以确定ar头戴装置58的位置及其相对于系统200或世界中的其他组件的取向的数据。ar头戴装置58的姿势(例如,位置和取向)可以参考相对于ar头戴装置58的基准原点900。例如,如在图9a中示意性地示出的,基准原点900可以位于头戴装置58中心附近的点处,例如基本位于一对面向外部的世界相机之间。
[0122]
从图9a可以看出,em传感器604可以不位于ar头戴装置58的基准原点900处,而是相对于原点偏差位移902(示出为双头箭头)。因此,由于该位移902,由em传感器604进行的测量可能不代表ar头戴装置58相对于基准原点900的姿势。em传感器604相对于基准原点900的位移可以由传感器融合系统1300在图13c的标记为“rx外部参数”的框1344处存储。为了调整由em传感器604进行的测量以反映ar头戴装置58在ar系统200的世界参考系中的位置,在图13c的框1344处,rx外部参数(例如,位移902)可应用于em传感器604的测量。框1346的输出是ar系统200的世界参考系中的em传感器604(在图13c中标记为“世界系中的rx”)的姿势(例如,位置和取向)。
[0123]
转到图13c的下部,可以使用类似的过程来确定em发射器602(在图13c中标记为“世界系中的tx”)在ar系统200的世界参考系中的姿势。类似于em传感器604从ar头戴装置58的基准原点位移,em发射器602也可以从基准原点660位移,该从基准原点660的位移表示图腾606在ar系统200的世界参考系中的位置。返回图6所示的示例,图腾606包括基准原点660,该基准原点从em发射器602的位置偏差位移662。图腾606的基准原点660可以选择在任何合适的位置,例如,在图腾606的质心或在图腾606的体心。
[0124]
em发射器602相对于图腾606的基准原点660的位移可由传感器融合系统1300在图13c的标记为“tx外部参数”的框1354处存储。为了知道图腾606的基准原点660在ar系统200的世界参考系中的位置,可以使用来自框1310(参见图13b)的图腾姿势数据。为了调整em发射器602以反映图腾606在ar系统200的世界参考系中的位置,可以在图13c的框1356处应用tx外部参数(例如,位移662)和基准原点660的图腾姿势。实际上,世界系中的图腾姿势1310提供了图腾606的基准原点660在ar系统200的世界参考系中的位置和取向,并且tx外部参数1354调整了em发射器602相对于基准原点660的位移。
[0125]
因此,框1356的输出是ar系统200的世界参考系中的em发射器602((在图13c中标记为“世界系中的tx”))的姿势(例如,位置和取向)。因此,在过程中的这一点,em传感器604(rx)和em发射器602(tx)两者的预测姿势在同一参考系中确定,即,在ar系统200的世界参考系中确定。
[0126]
在标记为“tx

rx解析器”框1348处,可以确定em发射器602相对于em传感器604的相对姿势。该相对姿势可以包括em发射器602和em传感器604之间的距离r以及em传感器604相对于em发射器602的角取向(例如,方位角和俯仰角)。
[0127]
在框1352处,可以使用em发射器602和em传感器604的相对姿势来确定将被预测为针对em发射器602和em传感器604之间的特定相对姿势发生的em场矩阵1324的值。例如,预测的em场矩阵1324可以根据方程(1)和方程(2)计算,因为距离r和取向角(例如,取向角和俯仰角)根据相对姿势确定。
[0128]
因此,图13c中的框1324的输出提供了对em场矩阵的预测,该预测可以与参考图13b描述的实际测量的em场矩阵1322进行比较。卡尔曼滤波器1304可以使用预测的em场矩阵和测量的em场矩阵之间的差异(如果有)来提供由ins 1302用来更新世界系中的图腾姿势1310的误差状态估计。
[0129]
图13c示出了对于示例系统的预测的em场矩阵1324的计算,在该系统中,em发射器602被设置在图腾606中或在图腾606上,em传感器604被设置在头戴式可穿戴显示器58中或在头戴式可穿戴显示器58上。这是为了说明的目的而非限制。在其他实施方式中,em发射器602可以被设置在头戴式可穿戴显示器58中或在头戴式可穿戴显示器58之上,em传感器604可以被设置在图腾606中或在图腾606上。在这样的实施方式中,rx外部参数可以包括em传感器604相对于图腾606的基准位置的位移,并且tx外部参数可以包括em发射器602相对于头戴式显示器58的基准位置的位移。
[0130]
在传感器融合系统1300的一些实施方式中,图腾imu 650以大约250hz操作。ins 1302在应用来自卡尔曼滤波器1304的误差状态估计以确定世界系中的图腾姿势1310的同时整合imu数据。例如,ins 1302可以评估(5)和方程(6)。em跟踪系统600可以以不同于imu 650的速率(例如,240hz)操作。无论何时获得来自em跟踪系统600的新数据时,可以执行参考图13b/图13c描述的过程以向卡尔曼滤波器1304提供测量的em场矩阵和预测的em场矩阵。该过程可以在获得新的imu650或em跟踪系统600数据时迭代,以便实时地向ar系统200提供更新的世界系图腾姿势。传感器融合系统1300的使用可以有利地允许ar系统200以减少的延迟、改进的性能(例如,因为图腾姿势将更加稳健和准确)操作,从而提供改进的用户体验。
[0131]
初始化
[0132]
在ar系统200被启动(或重新启动)时,传感器融合系统1300可以被初始化。例如,初始图腾姿势可以由em跟踪系统600根据测量的em场矩阵1322计算。随着传感器集成和滤波的进行,可以借助由卡尔曼滤波器1304执行的优化而提高估计的图腾姿势的准确性。在一些情况下,根据测量的em场矩阵1322确定初始图腾姿势可能导致关于图腾606指向的方向(例如,它指向哪个半球)的歧义。在一些实施方式中,为了解决这种歧义,融合系统1300的两个线程并行启动,每个线程假设图腾606指向半球之一。其中一个线程将具有正确的半球,另一线程具有不正确的半球。在传感器融合系统1300运行时,可以容易地确定具有不正确的半球的线程,因为由该线程估计的姿势将开始愈发偏离真实的图腾姿势。此时,该线程可以被终止,并且传感器融合系统1300仅使用针对初始图腾姿势假设的正确半球的单个线程运行。该技术有利地快速识别正确的半球并且在实践中对计算的要求不是很高。
[0133]
错误检测
[0134]
图腾606通常握持在用户的手中,并因此图腾606和ar头戴装置58之间的距离通常不超过大约用户手臂的长度。传感器融合系统1300的一些实施例实施错误协议,检查图腾606和ar头戴装置58之间的估计距离是否超过阈值距离(例如,与典型的人类手臂长度相
当)。例如,tx rx解析器框1348可以计算em传感器604(通常设置在ar头戴装置58中)和em发射器602(通常设置在图腾606中)之间的距离,并且如果该距离超过阈值距离,则融合系统1300确定可能发生了错误。如果检测到错误,则融合系统1300可以采取校正措施,例如重新初始化系统。
[0135]
用于计算用户输入设备的姿势的示例方法
[0136]
图14是示出用于计算可穿戴系统200的手持用户输入设备/控制器/图腾606的姿势的方法1400的示例的流程图。方法1400可以由参考图13a-图13c描述的ins 1302来执行。
[0137]
在框1410处,方法1400访问来自与手持用户输入设备606相关联的姿势传感器的姿势数据。姿势传感器可以包括imu、加速度计、陀螺仪、磁力计、光学传感器或其组合。在框1420处,方法1400访问与em跟踪系统600相关联的em跟踪数据,该em跟踪系统600与手持用户输入设备606相关联。em跟踪数据可以包括参考方程(1)描述的em场矩阵f。
[0138]
在框1430处,方法1400应用数据融合技术来组合姿势数据和em跟踪数据。数据融合技术可以包括卡尔曼滤波器(或任何种类的卡尔曼滤波器,例如扩展或无迹卡尔曼滤波器)、马尔可夫模型、贝叶斯估计器、线性二次估计、神经网络、机器学习算法等。数据融合技术可以计算误差状态以校正从姿势传感器输出的姿势数据的偏差、噪声、非线性、误差等。
[0139]
在框1440处,方法1400确定手持用户输入设备606在与ar系统200的环境相关联的世界参考系中的姿势。世界参考系的示例是参考图8描述的世界坐标系10。姿势可以是6dof姿势或3dof姿势。
[0140]
在框1450处,可以使用姿势向可穿戴系统200的用户呈现虚拟内容或提供与手持用户输入设备的方便用户交互。例如,如参考图10和图11所描述的,协助确定相对于世界坐标系的姿势的头戴式显示器58和协助确定手持用户输入设备606相对于头戴式显示器58的相对位置和取向的手持用户输入设备606的组合可以允许系统200大体上确定每个组件相对于世界参考系的位置,因此可以优选地以相对低的延迟跟踪用户的头部姿势和手持姿势,从而使用手持式组件的运动和旋转来呈现增强现实图像特征和交互。因此,方法1400的实施例可以为可穿戴设备200的用户提供低延迟性能和改进的用户体验。
[0141]
其他注意事项
[0142]
尽管传感器融合技术的某些实施例是在可穿戴显示系统的组件(例如,用于在ar或vr环境中跟踪头部姿势或身体姿势的imu和em传感器)的实时姿势确定的情景中描述的,但这是为了说明而不是限制。传感器融合技术的实施例可用于其他应用和其他设备,并且通常可应用于任何姿势确定系统。例如,传感器融合技术可用于医疗或手术环境,从而提供医疗或手术过程中使用的医疗器械的改进的位置或取向。
[0143]
在此描述和/或在附图中示出的每种处理、方法和算法可以体现在由被配置为执行特定和特殊计算机指令的一个或多个物理计算系统、硬件计算机处理器、专用电路、和/或电子硬件执行的代码模块中,以及完全或部分地由所述代码模块自动执行。例如,计算系统可以包括用特定计算机指令编程的通用计算机(例如,服务器)或专用计算机、专用电路等。代码模块可以被编译并链接到可执行程序中,安装在动态链接库中,或者可以用解译的编程语言编写。在一些实施方式中,特定操作和方法可以由专用于给定功能的电路来执行。
[0144]
此外,本公开的功能的某些实施方式在数学上、计算上或技术上足够复杂,因此必需专用硬件或一个或多个物理计算设备(利用适当的专用可执行指令)来执行功能(例如由
所涉及的计算量或复杂性决定)或基本实时地提供结果。例如,视频可以包括许多帧,每帧具有数百万个像素,并且需要专门编程的计算机硬件来处理视频数据以在商业上合理的时间内提供所需的图像处理任务或应用。此外,使用em跟踪的姿势估计通常需要在ar或vr环境中实时地完成,并且需要硬件处理来执行姿势估计任务以提供令人愉悦的用户体验。
[0145]
代码模块或任何类型的数据可以存储在任何类型的非暂时性计算机可读介质上,诸如物理计算机存储装置,其中包括硬盘驱动器、固态存储器、随机存取存储器(ram)、只读存储器(rom)、光盘、易失性或非易失性存储装置,这些器件的组合等。方法和模块(或数据)也可以在各种计算机可读传输介质上作为生成的数据信号(例如,作为载波或其它模拟或数字传播信号的一部分)传输,所述传输介质包括基于无线的和基于导线/电缆的介质,可以采取多种形式(例如,作为单个或多路复用模拟信号的一部分,或者作为多个离散数字分组或帧)。所公开的处理或处理步骤的结果可以持久地或以其它方式存储在任何类型的非易失性有形计算机存储装置中,或者可以经由计算机可读传输介质来传送。
[0146]
在此描述和/或在附图中示出的流程图中的任何处理、方框、状态、步骤、或功能应该被理解为潜在地表示代码模块、片段、或代码部分,其包括用于实现处理中的特定功能(例如,逻辑或算术功能)或步骤的一个或多个可执行指令。各种处理、方框、状态、步骤、或功能可以与本文提供的示例性示例一起执行以下操作:组合、重排、添加、删除、修改、或其它方式的改变。在一些实施例中,附加的或不同的计算系统或代码模块可以执行此处描述的功能中的部分或全部。在此描述的方法和处理也不限于任何特定的顺序,并且与其相关的方框、步骤、或状态可以以其它合适的序列来执行,例如顺序地执行、并发地执行或以某种其它方式执行。可以向所公开的示例实施例添加任务或事件或者从中移除任务或事件。此外,在此描述的实施方式中的各种系统组件的分离是出于说明的目的,不应该被理解为在所有实施方式中都需要这种分离。应该理解,所描述的程序组件、方法、和系统通常可以一起集成在单个计算机产品中或者封装到多个计算机产品中。许多实施方式变体是可能的。
[0147]
这些过程、方法、和系统可以在网络(或分布式)计算环境中实现。网络环境包括企业范围的计算机网络、内联网、局域网(lan)、广域网(wan)、个域网(pan)、云计算网络、众包计算网络、互联网和万维网。网络可以是有线或无线网络或任何其他类型的通信网络。
[0148]
本发明包括可以使用主题设备执行的方法。这些方法可以包括提供这种合适的设备的行为。这种提供可以由终端用户执行。换言之,“提供”动作仅需要终端用户获得、访问、接近、定位、设置、激活、供电或以其他方式动作以提供主题方法中的必要设备。可以以逻辑上可能的所列举事件的任何顺序以及以所列举的事件顺序来执行本文所述的方法。
[0149]
本公开的系统和方法各自具有若干创新性方面,它们不能独立地单独构成本文公开的所需属性。上述各种特征和处理可以彼此独立地使用,或者可以以各种方式进行组合。所有可能的组合和子组合均旨在落入本公开的范围内。对本公开中描述的实施方式的各种修改对于本领域技术人员来说是显而易见的,并且在不脱离本公开的精神或范围的情况下,本文定义的一般原理可以应用于其他实施方式。因此,权利要求不旨在限于本文所示的实施方式,而是符合与本公开、本文公开的原理和新颖特征一致的最宽范围。
[0150]
本说明书中通过分开的实施方式的上下文描述的某些特征也可以在单个实施方式中组合地实施。相反地,在单个实施方式的上下文中描述的各种特征也可以在多个实施
方式中单独实施,或以任何合适的子组合实施。此外,尽管特征可以像上文描述的那样以特定组合起作用,甚至最初以此方式要求保护,但是所要求保护的组合中的一个或多个特征在某些情况下可以从该组合中剔除,并且所要求保护的组合可以涉及子组合或子组合的变体。对于每个实施例而言,没有任何单个特征或特征组是必需的或不可或缺的。
[0151]
除非另有明确说明,或者在所使用的上下文中以其它方式理解,否则在此使用的诸如“可”、“可以”、“可能”、“能够”、“例如”等之类的条件语言通常旨在表达某些实施例包括,而其它实施例不包括某些特征、元素和/或步骤。因此,这种条件语言通常不旨在暗示特征、元素、和/或步骤在任何方面都是一个或多个实施例所必需的,也不意在暗示在有或者没有作者输入或提示的情况下,一个或多个实施例必然包括用于决定是否包括这些特征、元素、和/或步骤或否是在任何特定实施例中执行这些特征、元素、和/或步骤的逻辑。术语“包括”、“包含”、“具有”等是同义词,并且以开放的方式包含性地使用,并且不排除其它元素、特征、动作、操作等。此外,术语“或”在使用时具有包含性含义(而非排他性含义),因此,当用于例如连接元素列表时,术语“或”表示一个、一些、或全部列表元素。另外,除非另有说明,否则在本技术和所附权利要求书中使用的冠词“一”、“一个”、和“所述”应被解释为表示“一个或多个”或“至少一个”。除了在此特别定义外,在保持权利要求有效性的同时,在此使用的所有技术和科学术语都将被赋予尽可能广泛的普遍理解的含义。
[0152]
如本文所用,提及项目列表中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。例如,“a、b、或c中的至少一个”旨在涵盖:a;b;c;a和b、a和c、b和c;以及a、b、和c。除非另外特别说明,否则诸如短语“x、y、和z中的至少一个”之类的连接语言应与上下文一起理解为通常用于表达项目、条款等可以是x、y、或z中的至少一个。因此,这样的连接语言一般不旨在暗示某些实施例需要x中的至少一个、y中的至少一个、和z中的至少一个分别存在。
[0153]
类似地,尽管操作在附图中被示出为采取特定顺序,但应认识到,这些操作不需要以所示的特定顺序执行或按顺序执行,或者执行所有示出的操作以实施方式所需的结果。此外,附图可以以流程图的形式示意性地示出一个或多个示例处理。然而,其它未示出的操作可以并入示意性说明的示例方法和处理中。例如,一个或多个附加操作可以在任何所示的操作之前、之后、之间执行,或者与其并行地执行。另外,在其它实施方式中,操作可以被重新排列或重新排序。在某些情况下,多任务和并行处理是有利的。此外,上述实施方式中的各种系统组件的分离不应该被理解为在所有实施方式中都需要这种分离,需要理解,所描述的程序组件和系统通常可以被一起集成在单个软件产品中或者被封装到多个软件产品中。另外,其它实施方式在以下权利要求的范围内。在一些情况下,权利要求中列出的动作可以以不同的顺序执行并且仍能实现所需的结果。