掌桥专利:专业的专利平台
掌桥专利
首页

用于电磁跟踪的环境电磁失真校正

文献发布时间:2023-06-19 12:07:15


用于电磁跟踪的环境电磁失真校正

相关申请的交叉引用

本申请要求2018年10月26日提交的美国专利申请第62/751,467号和2019年3月26日提交的美国专利申请第62/823,956号的优先权;两者的标题都是“AMBIENTELECTROMAGNETIC DISTORTION CORRECTION FOR ELECTROMAGNETIC TRACKING(用于电磁跟踪的环境电磁失真校正)”,并且两者都在此通过引用整体并入本文。

技术领域

本公开总体上涉及使用电磁跟踪来确定对象的位置或取向的系统和方法,并且更具体地涉及校正电磁发射器或传感器附近的电磁场的环境失真(distortion)。

背景技术

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

发明内容

头戴式增强现实(AR)设备可以跟踪佩戴者头部(或其他身体部位)的姿势,从而能够提供对象在佩戴者环境中的三维虚拟表示。电磁(EM)跟踪系统的实施例可用于跟踪头部姿势或身体姿态。例如,手持用户输入设备可以包括电磁发射器,而头戴式AR设备可以包括EM传感器。在一些实施方式中,EM发射器产生可由EM传感器感测的EM场。可以分析来自传感器的EM信息以确定传感器的位置和/或取向以及因此确定佩戴者的头部姿势。姿势可以是包括三个空间坐标和三个角坐标的六自由度(6DOF)姿势。

由EM发射器产生的EM场可能由于附近电导体或铁磁材料的存在而失真。这些EM场失真可导致所确定姿势的误差。公开了校正EM失真的系统和方法。EM失真校正可由EM跟踪系统实时执行,在一些实施方式中,不需要来自成像相机或其他传感器的附加数据(例如,以确定EM传感器和EM发射器相对姿势或距离的地面实况(ground truth)估计)。在一些系统和方法中,可以应用基于EM场矩阵的奇异值分解的新型EM失真校正方案来估计是否存在EM失真并校正该失真。此外,一些系统和方法有利地利用快速且计算上有效的分析技术来从EM场矩阵确定6DOF姿势,而不需要迭代数值方法,迭代数值方法在某些情况下在计算上可能是低效且容易出错的。

环境电磁场失真校正技术不限于AR或VR应用并且在其他实施方式中可以应用于任何对象的EM跟踪。例如,EM场失真校正技术可用于跟踪手术室中的医疗设备和仪器。

在附图和以下描述中阐述了本说明书中描述的主题的一个或多个实施方式的细节。从说明书、附图和权利要求,其它特征、方面和优点将变得显而易见。该概述和以下详细描述都不旨在限定或限制本发明主题的范围。

附图说明

图1描绘了具有某些虚拟现实对象以及由人观看的某些物理对象的增强现实场景的图示。

图2A至2D示意性地示出了可穿戴系统的示例。

图3示意性地示出了云计算资产和本地处理资产之间的协调。

图4示意性地示出了电磁(EM)跟踪系统的示例系统图。

图5是描述EM跟踪系统的实施例的示例功能的流程图。

图6示意性地示出了与AR系统结合的EM跟踪系统的示例。

图7是描述在AR设备的上下文中EM跟踪系统的示例的功能的流程图。

图8示意性地示出了AR系统的实施例的部件的示例。

图9A和9B示意性地示出了被耦接到头戴式显示器的EM感测线圈的示例。

图10和11是示出在头戴式AR系统中利用EM跟踪系统进行姿势跟踪的示例的流程图。

图12是示出EM场矩阵的不变性的示例的图。对于一系列不同的EM场失真,未失真EM场矩阵的行列式(determinant)绘制在水平轴上,而失真EM场矩阵的行列式绘制在垂直轴上。该图表明,EM场矩阵的行列式对于EM失真的存在基本上是不变的。

图13是示出可实时校正环境EM失真的EM跟踪系统的示例的框图。

图14是示出用于校正EM跟踪系统中的EM失真的示例方法的流程图。

图15是呈现在具有不同金属失真量的三种环境中失真度量(DM)的实验测量的示例的图:低金属环境(实心圆圈)、中等金属环境(实心三角形)、以及高金属环境(实心正方形)。

在整个附图中,可以重复使用参考标号来指示参考元素之间的对应关系。提供附图是为了说明在此描述的示例实施例,并且不旨在限制本公开的范围。

具体实施方式

在图1中,描绘了增强现实场景(4),其中AR技术的用户看到以人、树、背景中的建筑物和混凝土平台(1120)为特征的真实世界公园式设置(6)。除了这些项目之外,AR技术的用户还感知到他“看到”站立在真实世界平台(1120)上的机器人雕像(1110),以及似乎是大黄蜂的拟人化的飞行的卡通式头像角色(2),即使这些元素(2,1110)在真实世界中不存在。事实证明,人类视觉感知系统非常复杂,并且产生VR或AR技术,其促进虚拟图像元素在其它虚拟或真实世界图像元素中的舒适、自然感觉、丰富呈现是具有挑战性的。

例如,头戴式AR显示器(或头盔式显示器或智能眼镜)通常至少松散地耦接到用户的头部,并因此在用户的头部移动时移动。如果显示系统检测到用户的头部运动,则可以更新正在显示的数据以考虑头部姿势的变化。

作为示例,如果佩戴头戴式显示器的用户在显示器上观看三维(3D)对象的虚拟表示并在3D对象出现的区域周围行走,则可以针对每个视点重新渲染3D对象,使用户感觉到他或她正在围绕占据真实空间的对象行走。如果头戴式显示器用于在虚拟空间(例如,丰富的虚拟世界)内呈现多个对象,则可以使用头部姿势的测量(例如,用户头部的位置和取向)来重新渲染场景以匹配用户动态改变的头部位置和取向,并提供增加的虚拟空间沉浸感。

在AR系统中,头部姿势的检测或计算可以促进显示系统渲染虚拟对象,使得它们看起来以对用户有意义的方式占据真实世界中的空间。此外,与用户头部或者AR系统相关的真实对象(诸如手持设备(也可以称为“图腾”)、触觉设备)或其它真实物理对象的位置和/或取向的检测还可以便于显示系统向用户呈现显示信息,以使用户能够有效地与AR系统的某些方面进行交互。当用户的头部在真实世界中移动时,虚拟对象可以作为头部姿势的函数被重新渲染,使得虚拟对象看起来相对于真实世界保持稳定。至少对于AR应用,虚拟对象与物理对象的空间关系的放置(例如,呈现为在二维或三维中空间上接近物理对象)可能是非平凡的问题。例如,头部运动可能使周围环境视图中的虚拟对象的放置显著复杂化。无论视图是作为周围环境的图像被捕获并且然后投影或显示给终端用户,还是终端用户是否直接感知周围环境的视图,都是如此。例如,头部运动将可能导致终端用户的视场改变,这可能需要更新到在终端用户的视场中显示各种虚拟对象的位置。另外,头部运动可以在多种范围和速度内发生。头部运动速度可以不仅在不同的头部运动之间变化,而是在单个头部运动的范围内或跨越单个头部运动的范围改变。例如,头部运动速度可以最初从起点(例如,线性地或不是线性地)增加,并且可以在达到终点时减小,从而在头部运动的起点和结点之间的某处获得最大速度。快速的头部运动甚至可能超过特定显示器或投影技术的能力,以向终端用户渲染看起来均匀和/或平滑运动的图像。

头部跟踪准确度和延迟(例如,用户移动他或她的头部时与图像被更新并显示给用户时之间所经过时间)已经成为VR和AR系统的挑战。特别是对于用虚拟元素填充用户视场的大部分的显示系统,如果头部跟踪的准确度高并且从头部运动的第一次检测到由显示器传递给用户的视觉系统的光的更新的整体系统延迟非常低,则是有利的。如果延迟很高,则系统可能会在用户的前庭和视觉感官系统之间产生不匹配,并产生可能导致晕动病或晕动症的用户感知情景。如果系统延迟很高,则虚拟对象的明显位置在快速头部运动期间将显得不稳定。

除了头戴式显示系统之外,其它显示系统可受益于准确且低延迟的头部姿势检测。这些包括头部跟踪显示系统,其中显示器没有佩戴在用户的身体上,而是例如安装在墙壁或其它表面上。头部跟踪显示器就像窗口作用到场景上,并且随着用户相对于“窗口”移动他的头部,场景被重新渲染以匹配用户的改变视点。其它系统包括头戴式投影系统,其中头戴式显示器将光投射到真实世界中。

另外,为了提供逼真的增强现实体验,AR系统可以被设计为与用户交互。例如,多个用户可以与虚拟球和/或其它虚拟对象玩球类游戏。一个用户可以“抓住”虚拟球,并将球扔回到另一个用户。在另一个实施例中,可以向第一用户提供图腾(例如,通信地耦接到AR系统的真实球棒)以击中虚拟球。在一些实施例中,可以向AR用户呈现虚拟用户界面以允许用户选择许多选项中的一个选项。用户可以使用图腾、触觉设备、可穿戴部件,或者简单地触摸虚拟屏幕以与系统交互。

检测用户的头部姿势和取向,以及检测空间中的真实对象的物理位置使得AR系统能够以有效且愉快的方式显示虚拟内容。然而,虽然这些功能是AR系统的关键,但很难实现。换句话说,AR系统可以识别真实对象(例如,用户的头部、图腾、触觉设备、可穿戴部件、用户的手等)的物理位置并且将真实对象的物理坐标与对应于正向用户显示的一个或多个虚拟对象的虚拟坐标相关联。这通常需要高度准确的传感器和传感器识别系统,其以快速速率跟踪一个或多个对象的位置和取向。目前的方法不能以令人满意的速度或精度标准执行定位。

因此,在AR和VR设备的情况下需要更好的定位系统。

参考图2A-2D,示出了一些通用部件选项。在图2A-2D的讨论之后的详细描述的部分中,呈现了各种系统、子系统和部件,用于解决为人VR和/或AR提供高质量、舒适感知的显示系统的目标。

如图2A中所示,AR系统用户(60)被描绘为佩戴头戴式部件(58),该头戴式部件(58)以耦接到位于用户眼睛前方的显示系统(62)的框架(64)结构为特征。扬声器(66)以所示的配置耦接到框架(64)并且位于用户的耳道附近(在一个实施例中,未示出的另一个扬声器位于用户的另一个耳道附近以提供立体声/可塑形声音控制)。显示器(62)可操作地(诸如通过有线引线或无线连接)耦接(68)到本地处理和数据模块(70),该本地处理和数据模块(70)可以以各种配置安装,诸如固定地附接到框架(64),固定地附接到如图2B的实施例中所示的头盔或帽子(80),嵌入耳机中,以如图2C的实施例中所示的背包式配置可拆卸地附接到用户(60)的躯干(82),或者以如图2D的实施例中所示的皮带耦接式配置可拆卸地附接到用户(60)的臀部(84)。

本地处理和数据模块(70)可以包括功率有效的处理器或控制器,以及诸如闪存的数字存储器,两者都可以用于辅助处理、缓存和存储如下数据:a)从可以可操作地耦接到框架(64)的传感器(诸如图像捕获设备(诸如相机)、麦克风、惯性测量单元、加速度计、指南针、GPS单元、无线设备和/或陀螺仪)捕获的;和/或b)使用远程处理模块(72)和/或远程数据存储库(74)获取和/或处理的,可能用于在这种处理或检索之后传递到显示器(62)。本地处理和数据模块(70)可以可操作地诸如经由有线或无线通信链路耦接(76,78)到远程处理模块(72)和远程数据存储库(74),使得这些远程模块(72,74)可操作地彼此耦接并且可用作本地处理和数据模块(70)的资源。

在一个实施例中,远程处理模块(72)可包括被配置为分析和处理数据和/或图像信息的一个或多个相对强大的处理器或控制器。在一个实施例中,远程数据仓库(74)可包括相对大规模的数字数据存储设施,其可通过因特网或在“云”资源配置中的其它网络配置来获得。在一个实施例中,在本地处理和数据模块中存储全部数据并执行全部计算,允许从任何远程模块完全自主的使用。

现在参考图3,示意图示出了云计算资产(46)和本地处理资产之间的协调,其可以例如驻留在耦接到用户头部(120)的头戴式部件(58)和耦接到用户的皮带(308;因此部件70也可以称为“皮带腰包”70)的本地处理和数据模块(70)中,如图3中所示。在一个实施例中,云(46)资产(诸如一个或多个服务器系统(110))诸如经由有线或无线网络(无线优选用于移动性,有线优选用于可能需要的某些高带宽或高数据量传输)可操作地直接(40,42)耦接(115)到本地计算资产中的一个或二者,诸如如上所述的耦接到用户头部(120)和皮带(308)的处理器和存储器配置。对于用户是本地的这些计算资产也可以经由有线和/或无线连接配置(44)(诸如下面参考图8讨论的有线耦接(68))可操作地彼此耦接。在一个实施例中,为了保持安装到用户头部(120)的低惯性和小尺寸子系统,用户和云(46)之间的主要传输可以经由安装在皮带(308)的子系统和云之间的链路,其中头戴式(120)子系统主要使用无线连接(诸如超宽带(“UWB”)连接)用数据联系到基于皮带(308)的子系统,如当前在例如个人计算外围连接应用中所采用的那样。

通过有效的本地和远程处理协调,以及用于用户的适当的显示设备,诸如图2A所示的用户界面或用户显示系统(62)或其变体,与用户的当前实际或虚拟位置相关的一个世界的方面可以被传送或“传递”给用户并以有效的方式更新。换句话说,可以在可能部分存在于用户的AR系统上并且部分存在于云资源中的存储位置处不断地更新世界的地图。地图(map)(也称为“可通行的世界模型”)可以是包括光栅图像、3-D和2-D点、参数信息以及关于真实世界的其它信息的大型数据库。随着越来越多的AR用户不断地捕获关于它们的真实环境的信息(例如,通过照相机、传感器、IMU等),地图变得越来越准确和完整。

利用如上所述的配置,其中存在可以驻留在云计算资源上并且从那里分发的一个世界模型,这种世界可以以相对低的带宽形式“通行”给一个或多个用户,优选地尝试传递实时视频数据等。可以通过基于云的世界模型来通知站在雕像附近的人的增强体验(例如,如图1中所示),其中的子集可以向下传递给他们和他们的本地显示设备以完成观看。坐在远程显示设备处的人(这像坐在桌子上的个人计算机一样简单)可以有效地从云中下载相同的信息部分并将其渲染在他们的显示器上。实际上,实际出现在雕像附近的公园里的一个人可能会带着位于远方的朋友在那个公园散步,朋友通过虚拟和增强现实加入。系统将需要知道街道在哪里,树木在哪里,雕像在哪里-但是采用在云上的该信息,加入的朋友可以从场景的云方面下载,并且然后作为相对于实际在公园里的人的本地增强现实开始行走。

可以从环境捕获三维(3-D)点,并且可以确定捕获那些图像或点的相机的姿势(例如,相对于世界的矢量和/或原点位置信息),使得这些点或图像可以用该姿势信息“标记”或与该姿势信息相关联。然后,可以利用由第二相机捕获的点来确定第二相机的姿势。换句话说,可以基于与来自第一相机的标记图像的比较来取向和/或定位第二相机。然后,可以利用这些知识来提取纹理、制作地图、并创建真实世界的虚拟副本(因为然后围绕其存在两个相机被注册)。

因此,在基础水平上,在一个实施例中,可以利用人佩戴的系统来捕获3-D点和产生该点的2-D图像,并且可以将这些点和图像发送到云存储和处理资源。它们也可以用嵌入的姿势信息在本地缓存(例如,缓存标记的图像);因此,云可以具有准备好的(例如,在可用的缓存中)标记的2-D图像(例如,用3-D姿势标记)以及3-D点。如果用户正在观察动态的东西,则他还可以将附加信息向上发送到与运动相关的云(例如,如果观看另一个人的面部,则用户可以获取面部的纹理地图并以优化的频率向上推送,即使周围的世界另外基本上是静态的)。关于对象识别器和可通行的世界模型的更多信息可以在题为“System andmethod for augmented and virtual reality(用于增强和虚拟现实的系统和方法)”的美国专利公开No.2014/0306866中找到,其与以下附加公开的全部内容通过引用并入本文,附加公开涉及诸如由佛罗里达州Plantation的Magic Leap公司开发的这些增强和虚拟现实系统:美国专利公开No.2015/0178939;美国专利公开No.2015/0205126;美国专利公开No.2014/0267420;美国专利公开No.2015/0302652;美国专利公开No.2013/0117377;以及美国专利公开No.2013/0128230,其各自通过引用整体并入在此。

GPS和其它本地化信息可以用作这种处理的输入。用户的头部、图腾、手势、触觉设备等的高度准确定位可能是有利的,以便向用户显示适当的虚拟内容。

头戴式设备(58)可包括可定位在设备的佩戴者眼睛前方的显示器。显示器可包括光场显示器。显示器可以被配置为在多个深度平面处向佩戴者呈现图像。显示器可包括具有衍射元件的平面波导。在美国专利公开No.2015/0016777中描述了可与在此公开的任何实施例一起使用的显示器、头戴式设备和其它AR部件的示例。美国专利公开No.2015/0016777通过引用整体并入在此。

实现高精度定位的一种方法可涉及使用与电磁(EM)传感器耦合的EM场,这些电磁传感器战略性地放置在用户的AR耳机、皮带腰包和/或其他辅助设备(例如,图腾、触觉设备、游戏仪器等)。EM跟踪系统通常包括至少一个EM场发射器(有时通常称为发射机(transmitter)或发射器(emitter))和至少一个EM场传感器(有时通常称为接收器或传感器)。EM发射器在AR耳机的佩戴者的环境中生成具有已知空间(和/或时间)分布的EM场。EM场传感器测量在传感器位置处产生的EM场。基于这些测量和所产生的EM场分布的知识,可以确定场传感器相对于发射器的姿势(例如,位置和/或取向)。因此,可以确定传感器所附接到的对象的姿势。

EM跟踪可以是用于定位和跟踪多个领域中的对象的有前途的方法,所述领域包括AR、VR、医学、体育、制造和游戏中的应用。与使用光学成像技术的一些其他方法相比,EM定位的可能优势是EM跟踪可以在存在遮挡的情况下定位对象(例如,其中,第一对象在第二对象的前面并且至少部分地将第二对象挡在成像系统的视野之外)。EM跟踪还可以提供良好的动态响应时间,并且可能不需要复杂的图像处理和有时使用相机方法实现的计算机视觉技术的性能。基于相机的跟踪系统可能需要专门的算法和硬件来处理其高计算工作量,并且还可能缺乏针对快速运动动态和遮挡的鲁棒性。在AR和VR应用中,处理器(例如,本地处理和数据模块70)执行许多计算密集型任务(例如,如参考图1所述,向用户渲染虚拟内容),以及实时执行这些任务中的多个。因此,降低由处理器执行的任务的计算复杂度可能有利于AR和VR应用,并且使用EM跟踪系统也有利于从处理器卸载任务。

现在参考图4,示出了EM跟踪系统(例如,诸如由Biosense division of Johnson&Johnson Corporation、Polhemus,Inc.of Colchester,Vermont的组织开发、由SixenseEntertainment,Inc.of Los Gatos,California和其它跟踪公司制造的那些系统)的示例系统图。在一个或多个实施例中,EM跟踪系统包括被配置为发射已知磁场的EM发射器402(其有时可称为EM场发射器或简称为发射器)。如图4所示,EM发射器可以耦接到电力供给(例如,电流、电池等)以向发射器402提供电力。

在一个或多个实施例中,EM发射器402包括生成磁场的若干线圈(例如,彼此垂直放置以在X、Y和Z方向中产生场的至少三个线圈)。该磁场用于建立坐标空间(例如,X-Y-Z笛卡尔坐标空间)。这允许系统相对于已知磁场映射传感器的位置(例如,(X,Y,Z)位置),并帮助确定传感器的位置和/或取向。在一个或多个实施例中,EM传感器404a、404b等可以附接到一个或多个真实对象。EM传感器404(其有时可以称为EM场传感器或简称为传感器)可以包括较小的线圈,其中可以通过发射的EM场感应出电流。通常,“传感器”部件(404)可以包括小线圈或回路,诸如一组三个不同取向的(例如,诸如相对于彼此正交取向)线圈,线圈在诸如立方体或其它容器的小结构内耦接在一起,该线圈被定位/取向以捕获来自由发射器(402)发射的磁场的入射磁通量,并通过比较通过这些线圈感应的电流,并且知道线圈相对于彼此的相对位置和取向,可以计算传感器相对于发射器的相对位置和取向。

可以测量与可操作地耦接到EM跟踪传感器的线圈和惯性测量单元(“IMU”)部件的行为有关的一个或多个参数,以检测传感器(及其所附接的对象)相对于EM发射器所耦接的坐标系的位置和/或取向。在一个或多个实施例中,可以相对于EM发射器使用多个传感器来检测坐标空间内的每个传感器的位置和取向。EM跟踪系统可以在三个方向(例如,X、Y和Z方向)中并且进一步在两个或三个方位角(例如,偏航、俯仰和滚动)中提供位置。例如,EM跟踪系统可以确定包括三个空间坐标(例如,X、Y和Z)和三个方位角(例如,偏航、俯仰和滚动)的六自由度(6DOF)姿势。在一个或多个实施例中,可以将IMU的测量与线圈的测量进行比较,以确定传感器的位置和取向。在一个或多个实施例中,EM数据和IMU数据二者以及各种其它数据源(诸如相机、深度传感器和其它传感器)可以组合以确定位置和取向。该信息可以被发送(例如,无线通信、蓝牙等)到控制器406。在一个或多个实施例中,可以在传统系统中以相对高的刷新率报告姿势(或位置和取向)。传统上,EM发射器耦接到相对稳定且大的对象,诸如桌子、手术台、墙壁或天花板,并且一个或多个传感器耦接到较小的对象,诸如医疗设备、手持游戏部件等。可替代地,如下面参考图6所述,可以采用EM跟踪系统的各种特征来产生如下配置,其中可以跟踪在空间中相对于更稳定的全局坐标系统移动的两个对象之间的位置和/或取向的变化或变化量;换句话说,图6中示出了一种配置,其中EM跟踪系统的变型可以用于跟踪头戴式部件和手持部件之间的位置和取向变化量,同时诸如通过使用可以耦接到系统的头戴式部件的外向捕获相机的同时定位和建图(“SLAM”)技术以其它方式确定相对于全局坐标系统(例如,用户本地的房间环境)的头部姿势。

控制器406可以控制EM场发生器402,并且还可以捕获来自各种EM传感器404的数据。应当理解,系统的各种部件可以通过任何机电或无线/蓝牙工具耦接到彼此。控制器406还可以包括关于已知磁场的数据,以及与磁场相关的坐标空间。然后,该信息用于检测传感器相对于与已知EM场对应的坐标空间的位置和取向。

EM跟踪系统的一个优点是它们以最小的延迟和高分辨率产生高度准确的跟踪结果。此外,EM跟踪系统不一定依赖于光学跟踪器,并且可以轻松跟踪不在用户视线范围内的传感器/对象。

应当理解,EM场的强度作为距线圈发射器(例如,EM发射器402)的距离r的三次函数下降。因此,可以基于距EM发射器的距离来使用算法。控制器406可以配置有这样的算法来确定传感器/对象在距EM发射器不同距离处的位置和取向(例如,6DOF姿势)。考虑到随着传感器远离EM发射器,EM场的强度会迅速下降,因此在更近的距离上可以实现在准确性、效率和低延迟方面的最佳结果。在典型的EM跟踪系统中,EM发射器由电流(例如,插入式电力供给)供电,并且具有位于距EM发射器20英尺半径范围内的传感器。在包括AR应用在内的许多应用中,传感器和发射器之间的较短半径可能是更期望的。

现在参考图5,简要描述了描述典型EM跟踪系统的功能的示例流程图。在502,发射已知的EM场。在一个或多个实施例中,磁发射器可以产生磁场,每个线圈可以在一个方向(例如,X、Y或Z)上产生电场。可以以任意波形产生磁场。在一个或多个实施例中,沿着每个轴的磁场分量可以以与沿着其他方向的其他磁场分量稍微不同的频率振荡。在504,可以确定与EM场对应的坐标空间。例如,图4的控制406可以基于EM场自动确定该发射器周围的坐标空间。在506,可以检测在传感器(其可附接到已知对象)处的线圈的行为。例如,可以计算在线圈处感应的电流。在一些实施例中,可以跟踪和测量线圈的旋转或任何其他可量化的行为。在508,该行为可用于检测传感器和/或已知对象的位置或取向。例如,控制器406可以查阅将传感器处的线圈的行为与各种位置或取向相关的映射表。基于这些计算,可以确定坐标空间中的位置以及传感器的取向。图5的流程图中的块的顺序旨在是说明性的而非限制性的。例如,在一些实施例中,可以在执行块504之前执行块506。

在AR系统的情况下,可能需要修改EM跟踪系统的一个或多个部件以促进移动部件的准确跟踪。如上所述,在许多AR应用中可能需要跟踪用户的头部姿势和取向。准确确定用户的头部姿势和取向允许AR系统向用户显示正确的虚拟内容。例如,虚拟场景可以包括隐藏在真实建筑物后面的怪物。取决于用户头部相对于建筑物的姿势和取向,可能需要修改虚拟怪物的视图,使得提供真实的AR体验。或者,图腾、触觉设备或与虚拟内容交互的一些其它工具的位置和/或取向对于使AR用户能够与AR系统交互可能是重要的。例如,在许多游戏应用中,AR系统可以检测相对于虚拟内容的真实对象的位置和取向。或者,当显示虚拟界面时,可以相对于所显示的虚拟界面知道图腾、用户的手、触觉设备或被配置用于与AR系统交互的任何其它真实对象的位置,以便系统理解命令等。包括光学跟踪和其它方法的传统定位方法通常受到高延迟和低分辨率问题的困扰,这使得在许多增强现实应用中渲染虚拟内容具有挑战性。

在一个或多个实施例中,关于图4和5讨论的EM跟踪系统可以适用于AR系统以检测一个或多个对象相对于发射的EM场的位置和取向。典型的EM系统往往具有大而笨重的EM发射器(例如,图4中的402),这对于头戴式AR设备是有问题的。然而,在AR系统的上下文中,较小的EM发射器(例如,在毫米范围内)可被用于发射已知的EM场。

现在参考图6,EM跟踪系统可以与如图所示的AR系统结合,EM发射器602结合为手持控制器606的一部分。控制器606可以相对于AR耳机(或皮带腰包70)独立移动。例如,用户可以将控制器606保持在他或她的手中,或者控制器可以安装到用户的手或手臂(例如,作为戒指或手镯或作为用户佩戴的手套的一部分)。在一个或多个实施例中,手持控制器可以是在游戏场景中使用的图腾(例如,多自由度控制器)或者在AR环境中提供丰富的用户体验或者允许用户与AR系统的交互。在一些实施例中,手持控制器可以是触觉设备。在一些实施例中,EM发射器可以简单地结合为皮带腰包70的一部分。手持控制器606可以包括电池610或为该EM发射器602供电的其它电力供给。应当理解,EM发射器602还可以包括IMU 650部件或耦接到IMU 650部件,该IMU 650部件被配置为帮助确定EM发射器602相对于其它部件的定位和/或取向。在发射器602和传感器(604)都是移动的情况下,这可能是特别有利的。如图6的实施例中所示,将EM发射器602放置在手持控制器而不是皮带腰包中,有助于确保EM发射器不会在皮带腰包处竞争资源,而是在手持控制器606处使用其自己的电池电源。在一些实施例中,EM发射器602可以设置在AR头戴式耳机58上,并且传感器604可以设置在控制器606或皮带腰包70上。

在一个或多个实施例中,EM传感器604可以连同诸如一个或多个IMU或附加磁通量捕获线圈608的其它感测设备放置在用户的耳机上的一个或多个位置处。例如,如图6中所示,传感器(604,608)可以放置在头戴式耳机(58)的一侧或两侧。由于这些传感器设计得相当小(并且因此在一些情况下可能不太敏感),因此具有多个传感器可以提高效率和精度。在一个或多个实施例中,一个或多个传感器也可以放置在皮带腰包70或用户身体的任何其它部位上或者放置在手持控制器606中。传感器(604,608)可以无线地或通过蓝牙与计算设备通信,该计算设备确定传感器(以及其附接到的AR耳机)的姿势和取向。在一些实施例中,计算设备可以驻留在皮带腰包70处。在一些实施例中,计算设备可以驻留在头戴式耳机本身处,或甚至驻留在手持控制器606处。在一个或多个实施例中,计算设备进而可以包括映射数据库(例如,可通行的世界模型、坐标空间等)以检测姿势,确定真实对象和虚拟对象的坐标,并且甚至可以连接到云资源和可通行的世界模型。

如上所述,传统的EM发射器对于AR设备来说可能过于庞大。因此,与传统系统相比,EM发射器可使用更小的线圈被设计为紧凑的。然而,考虑到EM场的强度作为距发射器距离的三次函数而减小,与诸如图4中详述的系统的传统系统相比,EM传感器604和EM发射器602之间的较短半径(例如,约3至3.5英尺)可降低功耗。

在一个或多个实施例中,该方面可用于延长可为控制器606和EM发射器602供电的电池610的寿命。在一些实施例中,该方面可用于减小在EM发射器602处产生磁场的线圈的尺寸。然而,为了获得相同强度的磁场,可能需要增加功率。这允许紧凑的EM发射器单元602可以紧凑地配合在手持控制器606处。

当使用EM跟踪系统用于AR设备时,可以进行若干其它改变。虽然该姿势报告率相当好,但AR系统可能需要更高效的姿势报告率。为此,可以(另外地或可替代地)在传感器中使用基于IMU的姿势跟踪。有利地,IMU可以保持尽可能稳定,以便提高姿势检测过程的效率。可以设计IMU使得它们在至多50-100毫秒的时间保持稳定。应当理解,一些实施例可利用外部姿势估计器模块(例如,IMU可随时间推移漂移),该外部姿势估计器模块可使得能够以10至20Hz的速率报告姿势更新。通过使IMU以合理的速率保持稳定,姿势更新的速率可以显著降低到10至20Hz(与传统系统中的更高频率相比)。

如果EM跟踪系统可以以例如10%的占空比运行(例如,每100毫秒仅对地面实况进行ping操作),这将是节省AR系统处功率的另一种方式。这意味着EM跟踪系统每100毫秒中每10毫秒唤醒一次,以生成姿势估计。这直接转化为功耗节省,这进而可能影响AR设备的大小、电池寿命和成本。

在一个或多个实施例中,可以通过提供两个手持控制器(未示出)而不是仅仅一个手持控制器来策略性地利用占空比的该减小。例如,用户可能正在玩需要两个图腾等的游戏。或者,在多用户游戏中,两个用户可以具有他们自己的图腾/手持控制器来玩游戏。当使用两个控制器(例如,每只手的对称控制器)而不是一个控制器时,控制器可以在偏移(offset)占空比下操作。例如,相同的概念也可以应用于由玩多人游戏的两个不同用户使用的控制器。

现在参考图7,描述了在AR设备的上下文中描述EM跟踪系统的示例流程图。在702,包含EM发射器的便携式(例如,手持)控制器发射磁场。在704,EM传感器(例如,放置在耳机、皮带腰包等上)检测该磁场。在706,基于传感器处的线圈/IMU的行为确定头戴式耳机/皮带的姿势(例如,位置或取向)。姿势可包括6DOF姿势或具有少于所有六个自由度(例如,一个或多个空间坐标或一个或多个方位角)。在708处,将姿势信息传送到计算设备(例如,在皮带腰包或耳机处)。在710处,可选地,可以查阅映射数据库(例如,可通行的世界模型)以将真实世界坐标(例如,用于耳机/皮带的姿势的确定)与虚拟世界坐标相关联。在712处,虚拟内容可以在AR耳机处传递给用户并显示给用户(例如,经由在此描述的光场显示器)。应当理解,上述流程图仅用于说明目的,并且不应理解为限制。

有利地,使用类似于图6中概述的系统的EM跟踪系统支持低延迟姿势跟踪(例如,头部位置或取向、图腾、皮带腰包和其他控制器的位置和取向)。与光学跟踪技术相比,这允许AR系统以更高的准确度和非常低的延迟来投射虚拟内容(至少部分基于确定的姿势)。

参考图8,示出了系统配置,其中,以许多感测部件为特征。头戴式可穿戴部件(58)被示出为操作性地耦接(68)到本地处理和数据模块(70),例如皮带腰包,本文使用物理多芯引线,其特征还在于控制和快速释放模块(86)。控制和快速释放模块(86)可以包括用于相关联系统的操作的按钮,例如开/关按钮和增大/减小音量控制。模块(86)的相对端可以连接到在本地处理和数据模块(70)和显示器(62)之间延伸的电引线,如图8所示。

本地处理和数据模块(70)可操作地耦接(100)到手持部件(606),这里通过诸如低功率蓝牙的无线连接;手持部件(606)还可以诸如通过诸如低功率蓝牙的无线连接可操作地直接耦接(94)到头戴式可穿戴部件(58)。通常,在传递IMU数据以协调各种部件的姿势检测的情况下,诸如在数百或数千周期/秒或更高的范围内,需要高频连接;诸如通过传感器(604)和发射器(602)配对,每秒数十个周期对于EM定位感测可能是足够的。还示出了全局坐标系统(10),其代表用户周围的真实世界中的固定对象,诸如墙壁(8)。

云资源(46)还可以分别可操作地耦接(42,40,88,90)到本地处理和数据模块(70),到头戴式可穿戴部件(58),到可以耦接到墙壁(8)或相对于全局坐标系统(10)固定的其它项目的资源。耦接到墙壁(8)或具有相对于全局坐标系统(10)的已知位置和/或取向的资源可包括无线收发器(114)、EM发射器(602)和/或接收器(604)、被配置为发射或反射给定类型的辐射的信标或反射器(112)(诸如红外LED信标)、蜂窝网络收发器(110)、RADAR发射器或检测器(108)、LIDAR发射器或检测器(106)、GPS收发器(118)、具有已知可检测图案的海报或标记(122)、以及相机(124)。

头戴式可穿戴部件(58)以与所示相似的部件为特征,除了被配置为辅助相机(124)检测器的照明发射器(130)(诸如用于红外相机(124)的红外发射器(130))之外;在头戴式可穿戴部件(58)上还具有一个或多个应变仪(116),其可固定地耦接到头戴式可穿戴部件(58)的框架或机械平台,并被配置为确定诸如EM接收器传感器(604)或显示元件(62)的部件之间的这种平台的偏转,其中可以有价值地理解平台是否已经发生弯曲,诸如在平台的变薄部分处,诸如图8中所示的眼镜状平台上的鼻子上方的部分。

头戴式可穿戴部件(58)特征还在于处理器(128)和一个或多个IMU(102)。每个部件优选地操作性地耦接到处理器(128),其可以包括硬件控制器、硬件微处理器、专用集成电路(ASIC)等。示出了手持部件(606)和本地处理和数据模块(70),其以类似的部件为特征。如图8中所示,由于具有如此多的感测和连接工具,这种系统可能很重、耗电、大且相对昂贵。然而,出于说明性目的,可以利用这种系统来提供非常高水平的连接、系统部件集成和位置/取向跟踪。例如,采用这种配置,各种主要移动部件(58,70,606)可以使用WiFi、GPS或蜂窝信号三角测量在相对于全局坐标系的位置方面进行定位;信标、EM跟踪(如在此所述)、RADAR和LIDAR系统可以提供更进一步的位置和/或取向信息和反馈。标记和相机也可用于提供关于相对和绝对位置和取向的进一步信息。例如,各种相机部件(124),诸如示为耦接到头戴式可穿戴部件(58)的那些相机部件,可以用于捕获可以在同时定位和建图协议或“SLAM”中使用的数据,以确定部件(58)所在的位置以及它如何相对于其它部件取向。

在一些实施例中,除了LIDAR(106)类型的深度传感器之外或作为其替代,该系统包括通用深度相机或深度传感器,其例如可以是立体三角测量类型的深度传感器(例如无源立体深度传感器、纹理投射立体深度传感器或结构光立体深度传感器)或时间或飞行式深度传感器(例如LIDAR深度传感器或调制发射深度传感器);此外,该系统可以包括附加的前向“世界”相机(124,其可以是灰度相机,具有能够达到720p范围分辨率的传感器)以及相对高分辨率的“图片相机”(其可以是全彩色相机,例如具有2百万像素或更高分辨率的传感器)。

参考图9A,示出了EM感测线圈组件(604,例如耦接到壳体的3个单独线圈),其耦接到头戴式部件(58);这种配置为整个组件增加了额外的几何形状,这可能是不希望的。参考图9B,并非如图9A的配置那样将线圈容纳在盒子或单个壳体604中,而是可以将各个线圈集成到头戴式部件(58)的各种结构中,如图9B中所示。图9B示出了用于X轴线圈(148)、Y轴线圈(150)和Z轴线圈(152)的在头戴式显示器58上的位置的示例。因此,感测线圈可以在空间上分布在头戴式显示器(58)上或周围,以通过EM跟踪系统提供显示器(58)的定位和/或取向的所需空间分辨率或准确度。

再次参考图9B,示出了AR设备58的分布式传感器线圈配置。AR设备58可以具有单个EM传感器设备(604),例如包含三个正交感测线圈的外壳,X、Y、Z的每个方向一个,其可以耦接到可穿戴部件(58)以用于如本文所述的6自由度(6DOF)跟踪。同样如上所述,这样的设备可以分解,三个子部分(例如,线圈)附接到可穿戴部件(58)的不同位置,如图9B所示。为了提供进一步的设计替代方案,每个单独的传感器线圈可以用一组类似取向的线圈代替,使得任何给定正交方向的总磁通量由该组捕获,而不是由每个正交方向的单个线圈捕获。换句话说,不是针对每个正交方向一个线圈,而是可以利用一组较小的线圈并且它们的信号被聚合以形成针对那个正交方向的信号。在其中特定系统部件(例如头戴式部件(58))特征在于两个或更多个EM线圈传感器组的一些实施例中,系统可被配置为选择性地利用彼此最接近(例如,在1厘米、2厘米、3厘米、4厘米、5厘米或10厘米内)的传感器和发射器对,以改进或优化系统的性能。在一些实施例中,EM发射器和EM传感器可以不同地布置。例如,EM发射器可被设置在头戴式部件(58)之中或之上,并且EM传感器可被设置在手持控制器(606)或皮带腰包(70)之中或之上。作为另一个示例,EM传感器可被设置在头戴式部件(58)之中或之上,并且EM发射器可被设置在手持控制器(606)或皮带腰包(70)之中或之上。作为又一示例,EM发射器可被设置在皮带(70)之中或之上,并且EM传感器可被设置在手持控制器(606)或头戴式部件(58)之中或之上。

就便携式系统的功率而言,EM跟踪更新可能相对“昂贵”,并且可能不能进行非常高的频率更新。在“传感器融合”配置中,可以将来自另一传感器(例如IMU)的更频繁更新的定位信息与来自可以处于或可以不处于相对较高的频率的另一传感器(例如光学传感器(例如,相机或深度相机))的数据组合在一起;融合所有这些输入的网络可能对EM系统提出较低的要求,并提供更快的更新。

参考图10,在一个实施例中,在用户给他或她的可穿戴计算系统加电之后(160),头戴式部件组件可以捕获IMU和相机数据(例如,诸如在其中可能存在更多的原始处理马力的皮带腰包处理器处,用于SLAM分析的相机数据)的组合,以确定和更新相对于真实世界全局坐标系的头部姿势(例如,位置或取向)(162)。用户还可以激活手持部件以例如玩增强现实游戏(164),并且手持部件可以包括可操作地耦接到皮带腰包和头戴式部件中的一个或二者的EM发射器(166)。一个或多个EM场线圈接收器组(例如,一组是3个不同取向的单个线圈)耦接到头戴式部件以捕获来自发射器的磁通量,其可用于确定在头戴式部件和手持部件之间的位置或取向差异(或“差量(delta)”)(168)。有助于确定相对于全局坐标系的姿势的头戴式部件,以及有助于确定手持相对于头戴式部件的相对位置和取向的手持的组合,允许系统通常确定每个部件相对于全局坐标系在哪,并且因此优选地以相对低的延迟可以跟踪用户的头部姿势和手持姿势,用于使用手持部件的运动和旋转来呈现增强现实图像特征和交互(170)。

参考图11,示出了与图10的实施例有些类似的实施例,不同之处在于系统具有更多可用的感测设备和配置以帮助确定头戴式部件(172)和手持部件的姿势(176,178),使得可以优选地以相对低的延迟跟踪用户的头部姿势和手持姿势,用于使用手持部件的运动和旋转来呈现增强现实图像特征和交互(180)。

在各种实施方式中,增强现实设备可以包括计算机视觉系统,该计算机视觉系统被配置为实现一种或多种计算机视觉技术以标识系统的环境中的对象、用户手势,或者执行本文使用或描述的其他计算机视觉过程。例如,如下所述,计算机视觉系统可以分析由面向外相机124拍摄的用户输入设备606的图像以确定设备的姿势(例如,位置或取向),以用于补偿电磁跟踪系统中的EM失真。计算机视觉技术的非限制性示例包括:尺度不变特征变换(SIFT)、加速鲁棒特征(SURF)、定向FAST和旋转BRIEF(ORB)、二进制鲁棒不变可缩放关键点(BRISK)、快速视网膜关键点(FREAK)、Viola-Jones算法、Eigenfaces方法、Lucas-Kanade算法、Horn-Schunk算法、Mean-shift算法、视觉同时定位和地图构建(vSLAM)技术、顺序贝叶斯估计(例如,卡尔曼滤波器、扩展卡尔曼滤波器等)、光束法平差、自适应阈值化(和其它阈值化技术)、迭代最近点(ICP)、半全局匹配(SGM)、半全局块匹配(SGBM)、特征点直方图、各种机器学习算法(诸如例如支持矢量机、k-最近邻算法、朴素贝叶斯、神经网络(包括卷积或深度神经网络),或其它有监督/无监督模型等)等等。

EM跟踪和定位的实际应用中的一项挑战是由于环境中存在的铁磁材料(例如,铁、镍、钴和它们的合金)而导致的EM失真的发生。因为EM定位使用磁场,所以EM定位可能对环境中金属和铁磁材料的存在敏感,这些金属和铁磁材料会导致EM发射器(例如,EM发射器402)产生的EM定位场的失真。此外,EM跟踪系统中的交流(AC)磁场会在附近的导电材料中产生循环涡流,从而产生次级(secondary)AC磁场,其进一步引入EM失真。因为EM传感器可位于AR或VR设备中的电子器件附近(参见例如图6和8),失真可能与该电子器件相关联。

为了示出来自附近对象的失真的程度,可以使用以下非限制性的简化模型。铁磁材料会改变该材料周围的磁场的形状。由于一般环境中铁磁结构的复杂性,对由这些铁磁结构引起的失真进行分析确定可能很困难。可以通过假设无限导电平面表示与从源(例如,EM发射器)到传感器(例如,EM传感器)距离相同的任何对象相比场失真的最坏情况场景来进行有用的限制性近似。通过使用图像的理论,无限导电平面可以被图像源代替(例如,在从源到无限导电平面的距离的两倍处),从该图像源可以对EM失真建模。

基于该分析,经验法则是,与由EM发射器产生的EM场相比,距EM发射器和EM传感器之间的距离两倍处的对象可产生约1%或更小的失真。因此,如果EM发射器和EM传感器之间的距离很小,则由远距离铁磁对象引起的失真会更小。因此,对于EM传感器距EM发射器约一米或更短距离的短距离应用,与由EM发射器产生的EM场相比,位于两米(或更远)之外的铁磁材料可能会引入约1%或更小的失真。

距EM发射器和EM传感器之间的距离两倍更近的铁磁对象可能会产生更大的EM失真,并且本文描述的EM失真校正技术的实施例可用于实时校正EM失真,这从而提供EM传感器相对于EM发射器的更鲁棒且准确的定位。利用这种EM失真校正技术的AR或VR系统可以提供改进的用户体验,因为可以更准确地了解AR/VR环境中用户的头部、手或其他身体部位的姿势(例如,位置或取向)。

在一些说明性的、非限制性的实施方式中,可以分两部分描述EM失真校正技术。EM失真校正技术的第一部分包括建模EM失真校正。失真磁场可以由3×3矩阵表示,并且可以使用一对3×3矩阵将表示失真磁场的3×3矩阵转换回其原始形式(没有EM失真)。这对3×3失真校正矩阵可以包括多达18个参数(例如,2×3×3),可以使用数值或分析技术求解这些参数。使用该失真校正模型可以显著减少铁磁失真环境中的失真。EM失真校正技术的第二部分包括快速收敛算法,该算法可以在几次(例如,两到四次)迭代内确定未知的失真参数。使用该算法可能是有利的,因为它可以允许实时执行失真校正(例如,通过本地处理和数据模块70),这对于校正AR或VR环境中的环境失真尤其有利,其中,用户的头部、手和手持控制器(例如,手持控制器606)的移动可能导致环境EM失真快速改变。

附加地或替代地,可以使用用于从EM定位数据计算六自由度(6DOF)姿势的直接、近似形式的解决方案。该解决方案将在下面描述并使用奇异值分解(SVD)技术,而不求助于非线性等式的数值解。这种近似形式的解决方案可以显著提高计算速度(与数值解相比),并且还可以避免与使用迭代数值方法相关联的潜在问题。

EM定位基于源自EM发射器的磁场的激发(excitation)的磁场耦合。有两种常见的磁场激发方式。一种基于脉冲交流(AC)场,另一种基于脉冲直流(DC)场。目前,利用AC EM场的EM跟踪系统更为常见,因为它们往往对噪声不太敏感。如参考图9A和9B描述的,对于6DOF定位,EM传感器(例如,EM传感器604)和EM发射器(例如,EM发射器602)可以各自包括三个正交对齐的线圈(例如,沿着相应的X、Y、Z轴)。在使用该配置的许多应用中,EM发射器602中的发射器线圈电流被顺序脉冲(pulse)(例如,在X中,然后在Y中,然后在Z中),并且所产生的磁场在EM传感器604中的每个传感器线圈中感应电流,电流然后被用于确定传感器线圈相对于发射器线圈的位置或取向,从而确定EM传感器604相对于EM发射器602的位置或取向。

不受以下理论发展的束缚或限制,现在将呈现用于EM定位的EM模型。在该模型中,EM发射器602中的发射器线圈产生的磁场被假设为等效磁偶极场(当EM发射器602中的发射器线圈的尺寸小于发射器线圈与传感器线圈之间的距离时,其倾向于是准确的)。磁场可被描述为:

其中,H

用于6DOF定位的等式使用欧拉角变换来描述EM传感器604相对于EM发射器602的位置和取向。由EM传感器604感测到的EM场可以由矩阵等式表示:

其中,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是其中对角元素表示EM发射器602的三个正交发射器线圈的强度的3×3对角矩阵。矩阵P可以根据方位角θ和俯仰角φ表示为:

其中,roty是绕Y轴的3×3旋转矩阵,rotz是绕Z轴的3×3旋转矩阵。

由于矩阵的元素涉及三角函数,等式(3)实际上是具有六个未知数(三个位置变量和三个取向变量)的联立非线性等式组,必须同时求解这些等式以获得EM传感器604相对于EM发射器602的6DOF姿势。迭代数值求解方法可能面临几个问题。除了较长的计算时间之外,还存在在局部最小值而不是预期解处终止迭代的潜在风险,尤其是在存在噪声和失真时。此外,由于磁场的大小在不同位置可能相同,例如在对称位置,迭代数值方法冒着在八分圆(octant)的另一侧提供结果或者带有不正确符号的坐标的风险。在查找未运动的传感器的位置时尤其如此。因此,EM失真校正技术的一些实施方式使用下面描述的直接、近似形式的解决方案来求解等式(3)。

对于具有EM失真的EM场,失真EM场矩阵Fd可被表示为:

F

其中,F是未失真EM场矩阵(参见,例如等式(3)),而D

为了去除失真,可以确定一对3×3EM失真补偿矩阵以及C

F=C

=(C

其中,等式(6)中的第二等式来自等式(5)。等式(6)中的第二等式表明,补偿矩阵C

一旦计算,补偿矩阵可被应用于失真EM场矩阵(参见例如等式(6)中的第一等式)以根据测量的、失真EM场矩阵来确定未失真的EM场矩阵。

补偿矩阵C

在一些实施方式中,通过在多个位置和取向处收集EM传感器数据,可以确定EM失真补偿矩阵C

在AR或VR环境中的实际使用中,环境EM场经常实时变化,例如,随着用户移动他们的身体位置、在房间周围移动、或从一个房间移动到另一个房间。在这样的AR或VR环境中,可能有多种方法可用于提供EM传感器604的地面实况位置和取向以用于补偿矩阵的计算。例如,AR/VR系统可以利用超声波、红外(IR)发光二极管(LED)、或面向外世界相机(例如,相机124),它们可以对环境中的用户输入没备(例如,手持控制器606)的位置和取向进行成像(参见例如图8)。用户输入设备可以包括光学可识别基准标记(例如,Aruco标记)或IR LED以帮助确定用户输入设备的姿势或面向外世界相机与用户输入设备之间的距离。当用户输入设备不在面向外世界相机的视场(FOV)内时,用户可使用来自场景的反馈来操作用户输入设备,并且在知道用户输入设备的确切姿势方面可能存在较大的容差,由于用户可能更多地依赖场景的反馈来操作用户输入设备而不是用户输入设备的精确姿势。因此,在某些情况下,仅当用户输入设备处于需要更高准确性的面向外相机的视场(FOV)中时才需要进行EM失真校正。用户输入设备的地面实况姿势可以从面向外世界相机的图像分析中获得。

在一些实施例中,可以使用矩阵技术(例如奇异值分解)实时确定补偿矩阵,而无需获得地面实况姿势信息(例如,无需使用从面向外世界相机收集的图像数据)。下面参考等式(12)描述这种矩阵分析技术的各种实施方式。

由于EM传感器线圈相对于可穿戴部件58的参考坐标系的放置,来自上述方法的位置和取向通常必须变换到不同的参考坐标系。该坐标系(frame)(或参考坐标系)有时也称为世界坐标系(或世界参考坐标系)。在一些实施方式中,将到世界坐标系的变换与可用于校正来自附近环境的EM失真的高阶变换相结合是很方便的。从旋转矩阵P(其表示EM传感器相对于EM发射器的位置;参见,例如等式(4))导出的坐标可以例如使用高阶多项式(例如,二阶或更高阶)或球谐函数被进一步映射到世界坐标系的坐标。所以,

X=H

Y=H

Z=H

其中,X、Y和Z是传感器在世界坐标系中的坐标,x、y和z是从矩阵P导出的坐标,并且函数H

该映射方案的执行可以利用EM传感器相对于EM发射器的地面实况位置和取向,其与在几个(例如,N个)位置和取向处的对应EM数据一起收集。因为有6DOF,可能倾向于认为需要收集N

在实践中,已经发现可以非常快速地执行上述失真校正和映射方案,因为只需要几次迭代来获得C

在失真映射方案与下面描述的用于寻找6DOF姿势的直接求解方法相结合的实施例中,可以实时实现非常鲁棒、高效且计算上快速的EM失真映射方案。

本文描述了在不使用数值方法的情况下求解6DOF姿势的直接近似形式方法的示例。这种方法有可能减少或避免使用数值方法可能遇到的问题。例如,对于某些数值方法,存在在局部最小值处而不是在预期解处终止数值方法的潜在风险,尤其是当EM定位数据中存在噪声和EM失真时。此外,由于磁场的大小可能在不同位置(例如对称位置)相同,因此使用数值方法冒着在八分圆的另一侧提供结果或带有不正确符号的坐标的风险。在找到未运动的EM传感器的位置时尤其如此。与各种数值方法相比,直接近似形式方法还可以显著提高计算速度。

用于6DOF姿势确定的直接方法利用了场矩阵等式(等式(3),再现如下)是SO(3)旋转矩阵(其中SO(3)是3D旋转组)和对角矩阵的函数的事实:

因此,如果使用奇异值分解(SVD)来分解场矩阵F,则预期得到三个矩阵,包括在两个旋转矩阵U与V之间的对角矩阵S:

F=U SV

对角矩阵S预期具有对角元素,其中,来自c、r和E的常数的值被吸收到其中。在三个源线圈具有相同强度的情况下,矩阵E成为乘以3×3单位矩阵的常数。由于矩阵K是具有元素[k,-k/2,-k/2]的对角矩阵,因此预期S的对角元素将使得第二元素和第三元素的大小近似相等,并且第一元素的大小是第二元素的大小的两倍,是第三元素的大小的两倍(符号相反)。

旋转矩阵V与旋转矩阵P相关。当矩阵P的第一列乘以EM传感器与EM发射器之间的距离r时,EM传感器的坐标x、y和z相对于EM发射器被获得。如上所述,可以使用等式(7)将这些坐标转换到AR设备的世界坐标系。

由于P是方位角和俯仰角旋转矩阵的乘积(例如,参见等式(4)),它可以被示出而不管添加了附加的滚动项,所得矩阵的第一列将不会改变。因此,不管V矩阵上的附加滚动如何,V的第一列将包含与EM传感器相对于EM发射器的相对位置成比例的信息。

以E为单位矩阵,可以求出表示EM传感器相对于EM发射器的3DOF旋转的旋转矩阵T为:

其中,现在K

3×3矩阵T提供EM传感器相对于EM发射器的3DOF取向并且可以从等式(9)计算。

该方法提供围绕EM传感器的两个半球之一中的姿势。对于另一个半球,可以通过改变x、y和z位置值的符号来获得姿势。

注意,等式(8)和(9)利用未失真EM场矩阵F。在存在EM失真的情况下,可以从失真EM场矩阵F

使用上述方法,EM传感器的6DOF姿势(例如,位置和取向)可以直接从上述矩阵计算,而不使用迭代数值方法。即使在EM跟踪系统的环境中存在由铁磁和导电材料引起的EM失真,也可以确定6DOF姿势。如上所述,这种直接方法可以显著改善计算时间,并减少或避免迭代数值方法中出现的各种问题。

虽然失真映射和校正技术可以与直接近似形式6DOF姿势确定技术一起使用,但这不是必需的。EM跟踪系统的各种实施例可单独实现任一技术或可一起实现这两种技术。

简而言之,为了消除或减少EM失真,从收集的数据中确定一对补偿矩阵C

EM失真校正技术与直接6DOF姿势计算的组合的验证是使用从EM跟踪系统的实施例的实验中收集的实际数据来执行的。示例结果显示,失真从原始EM失真量到95%误差的水平显著降低低于5毫米(对于位置)和5度(对于取向)。这表示了显著的误差减少,例如,减少了大约5到10倍(factor)。

如上所述,在AR或VR环境中,环境EM失真随着用户例如改变他们的姿势、四处移动用户输入设备、围绕房间移动、或从一个房间移动到另一个房间而改变,因为EM传感器和EM发射器与环境中导电或铁磁材料的距离和取向会发生变化。因此,环境EM失真将实时变化。如下所述,已经开发了一种技术,该技术提供环境EM失真的实时校正,而无需获取地面实况信息(例如,EM传感器与EM发射器的相对距离或姿势)。该技术使用可使用SVD提取的EM场矩阵的特征值(eigenvalues)来校正由EM传感器测量的失真EM场矩阵。

EM场矩阵F可以根据等式(3)(上面描述并在下面再现)写为

其中,K是具有对角元素[k,-k/2,-k/2]的3×3对角矩阵,其中,k是最大特征值的大小。如上文参考等式(8)(以下再现)所述,EM场矩阵F可以通过SVD被分解为两个旋转矩阵U和V之间的对角矩阵S:

F=U SV

S的对角元素也是EM场矩阵F的特征值。

当EM场未失真时,预期F的特征值具有大约[k,k/2,k/2]的大小,其中,k是最大特征值的大小。当EM场失真时,F的特征值预期具有偏离[k,k/2,k/2]的大小。来自该偏离的信息可用于计算计量(gauge)EM场失真的程度的失真度量(DM)。在一段时间内高于阈值水平的失真度量(DM)可用于触发失真校正。失真度量(DM)和相关联的阈值的示例在下面参考图15进行描述。

申请人已经确定了EM场矩阵F的不变性。即使当环境EM场引起失真时,EM场矩阵的行列式也保持基本不变(例如,不变)。因此,

det(F)≈det(F

其中“det”表示矩阵的行列式。

图12是表示该不变性的一个示例的图。在图12中,对于一系列不同的EM场失真,未失真EM场矩阵的行列式det(F)被绘制在横轴上,而失真EM场矩阵的行列式det(Fd)被绘制在纵轴上。从图12可以看出,在det(F)和det(Fd)之间存在斜率为1(一(unity))的高度线性关系,这为等式(11)提供了强有力的实验验证。

使用如上所述的等式(6),申请人开发了一种方法来确定未失真EM场矩阵F和从例如通过F=C

det(C

det(C

F的特征值具有k,k/2,k/2大小 (12)

在一些实施例中,约束包括k接近于一(unity),并且特征值接近于[1,1/2,1/2]。接近的程度可以取决于例如操作可穿戴显示设备可接受的姿势误差量。例如,对于较小的可接受的姿势误差量,特征值将更接近[1,1/2,1/2]。在各种实施例中,接近包括在5%、1%、0.1%、0.01%或一些其他公差或[1、1/2、1/2]内。

用于使用等式(12)确定补偿矩阵的实施方式可以具有若干优点。例如,不需要EM传感器或EM发射器姿势或相对距离的地面实况数据(例如,不需要来自世界相机或其他传感器的数据)。此外,失真EM场矩阵的特征值提供了一个度量来检测EM失真的存在或环境EM失真的变化。此外,补偿矩阵的确定可以在计算上高效且快速地执行以实时校正环境EM失真,这对于AR或VR应用可能是有利的。

在从由EM传感器测量的失真EM场矩阵F

虽然上述技术已经被描述,并且可以在不使用世界相机或其他传感器以提供关于EM传感器和发射器姿势或相对距离的地面实况数据的情况下实现,但是在一些实施例中,世界相机或其他传感器数据可以用于补充上述技术。

图13是可以实时校正环境EM失真的EM跟踪系统1300的示例的框图。EM跟踪系统1300的实施例与参考图4和6描述的示例EM跟踪系统以及参考图2A-2D、3、8和9A-9B描述的可穿戴显示系统兼容并且可以在其中使用。

EM跟踪系统1300包括EM传感器604、EM发射器602和EM定位处理器1305。EM传感器604和EM发射器602均可包括如上所述的三个正交线圈。EM定位处理器1305可以通过AR或VR系统中的任何处理器来实现,例如本地处理和数据模块70或参考图6描述的处理器128。在一些实施例中,EM定位处理器1305可以接收和处理来自面向外世界相机(例如,面向外世界相机124)和/或其他传感器(例如,IMU 102)的输入,例如,为EM传感器姿势或EM传感器604与EM发射器602之间的相对距离提供地面实况估计(例如,用于计算EM失真补偿矩阵)。在一些实施例中,EM定位处理器1305可以包括用于驱动EM发射器602以产生磁场的控制逻辑,例如,经由到EM发射器602的线圈的AC或DC电流。

EM定位处理器1305可被编程为执行EM失真校正1310,其中,通过应用EM失真补偿矩阵C

EM定位处理器1305可以在姿势计算块1320处确定EM传感器604的姿势。在一些实施例中,姿势计算可以是6DOF姿势(例如,位置和取向)。在一些实施例中,姿势计算可以是3DOF姿势(例如,位置或取向)。姿势计算块1320接收由EM失真校正块1310计算的未失真EM场矩阵F并生成姿势1330。例如,6DOF姿势可以使用上述参考等式(8)到(10)的直接、近似形式的解决方案来快速有效地计算。

EM传感器604通常测量三个正交感测线圈中的电压。为了将测量电压转换成EM传感器604与EM发射器602之间的距离,增益校准1325可以应用于测量电压。通常,三个线圈的每个线圈的增益不同,例如,x线圈的增益为G

EM失真校正块1310和姿势计算块1320可以彼此独立地执行。例如,在需要实时姿势的AR或VR应用中,可以实时执行姿势计算块1320。用于通过EM失真校正1310块校正EM失真的参数和矩阵可以但不需要实时来执行。例如,如本文所述,测量的EM场矩阵的特征值提供用于周围EM环境中是否存在失真的度量。失真度量(DM)和相关联的阈值的示例在下面参考图15进行描述。失真度量(DM)的较高值可指示环境中存在更多可能导致EM场失真的金属材料。失真度量(DM)的较低值可指示环境中存在较少的金属材料。如果失真度量(DM)超过阈值,则可以执行EM失真校正块1310以计算失真补偿矩阵以便从测量的EM场矩阵中去除失真。该度量的变化指示周围EM环境的变化,并且可以重新执行EM失真校正块1310以重新计算失真补偿矩阵以反映变化的周围EM环境。在一些实施例中,EM失真校正块1310可以周期性地或以预设间隔(例如,每30秒、每分钟、每2分钟等)或不时地(例如,当环境EM场充分改变时)执行。例如,EM失真校正块1310可以收集一段时间内(例如,2分钟时间段内的200到300个点)的EM场矩阵测量,并在该时间段结束时或当EM场矩阵发生变化(例如,高于阈值)时计算补偿矩阵的新值。

对于可穿戴AR或VR设备,头戴式部件(例如,头戴式部件58)可以包括图9A所示的EM传感器604或图9B所示的线圈148、150、152,并且当由EM定位处理器1305处理时,这些EM传感器604可以提供佩戴者的6DOF头部姿势。EM传感器604可以附加地或替代地被设置在皮带腰包(例如皮带腰包70)中(参见例如图6)用于确定佩戴者的身体姿势。EM发射器602可被设置在手持控制器(例如,手持控制器606)中。在一些实施例中,EM发射器602可被设置在头戴式部件(例如,头戴式部件58)上,并且EM传感器604可被设置在手持控制器(例如,手持控制器606)或皮带腰包(例如皮带腰包70)上。

图14是示出根据一些实施例的用于校正EM跟踪系统中的EM失真的示例方法1400的流程图。方法1400的实施例可以由参考图13(例如,通过EM定位处理器1305)描述的EM跟踪系统1300来执行。方法1400的实施例也可以由参考图4和图6描述的示例EM跟踪系统以及通过参考图2A-2D、3、8和9A-9B(例如,通过本地处理和数据模块70或处理器128)描述的可穿戴显示系统来执行。

在框1404处,方法1400从EM传感器(例如,EM传感器604中的任一个)接收EM传感器数据。EM传感器数据可以包括指示EM传感器对由EM发射器(例如,EM发射器602)产生的磁场的响应的EM场矩阵。如上所述,测量的EM场可能被EM跟踪系统附近铁磁或导电材料的存在而失真。

在框1408处,方法1400检测EM失真是否可能存在于测量的EM传感器数据中。如上所述,当EM场未失真时,预期EM场矩阵的特征值具有大约[k,k/2,k/2]的大小,其中,k是最大特征值的大小。当EM场失真时,EM场矩阵的特征值预期具有偏离[k,k/2,k/2]的大小。因此,方法1400可以测量该偏离并将该偏离用作测量EM场失真的程度的度量。例如,如果相对未失真特征值[k,k/2,k/2]的偏离的大小超过阈值(例如,对于单个特征值偏离、特征值偏离的平方和、或与特征值的乘积(其是EM场矩阵的行列式)的偏离)),则已检测到EM失真。如果相对未失真特征值[k,k/2,k/2]的偏离大小小于阈值,则EM失真不存在或以足够低的水平存在,以至于姿势估计基本上不受EM失真的影响。相对未失真特征值的偏离的大小可以至少部分地基于以下参考图15描述的失真度量(DM)。方法1400还可以随时间跟踪偏离的值以确定EM失真是否已经明显改变。

在框1408处,方法1400可以监控特征值偏离(或参考图15描述的失真度量(DM))的变化是否超过另一个阈值以确定EM失真已经改变。例如,如果EM失真没有明显改变(例如,特征值偏离的变化低于阈值,例如1%、5%、10%等),则方法1400可能不需要重新计算失真补偿矩阵(下面针对框1412描述的)。替代地,如果EM失真发生了明显的变化(例如,特征值偏离的变化高于阈值或失真度量(DM)的变化高于阈值),则框1408可以触发方法1400以在框1412处重新计算失真补偿矩阵。在一些实施例中,框1408可以是可选的并且可以不执行,并且失真补偿矩阵可以不断地被更新。这在处理能力足够高以至于连续更新不会对EM跟踪系统造成太大计算负担的情况下可能是有益的。

在框1412,方法1400计算失真补偿矩阵C

在框1416处,方法1400使用在框1412处计算的失真补偿矩阵从测量的EM场矩阵(在框1404处接收的F

在框1420,方法1400根据未失真的EM场矩阵计算EM传感器的姿势。姿势可以是6DOF姿势(例如,位置和取向)。框1420可以利用参考等式(8)到(10)描述的6DOF姿势的直接、近似形式的解。例如,未失真EM场矩阵的奇异值分解(SVD)提供了EM传感器相对于EM发射器的3DOF相对位置(例如,来自SVD中计算的矩阵V的第一列)。EM传感器相对于EM发射器的3DOF取向可以从由等式(9)计算的矩阵T中找到。计算出的姿势可以包括参考等式(7)描述的高阶映射,其中,姿势的空间坐标被映射到AR或VR设备的世界坐标系。

为了将EM传感器测量的电压转换成EM传感器与EM发射器之间的距离r,在框1424处,可以对测量的电压(例如,参考图13的框1325描述的)应用增益校准。增益校准可以是由EM跟踪系统存储的工厂校准或其中由AR/VR设备的面向外相机获得的图像的图像分析被用于相对EM传感器-EM发射器距离的地面实况估计的现场校准。

方法1400可以实时执行,这在EM失真可能实时改变的AR或VR环境中可能是有利的。然而,如参考图13中的EM跟踪系统1300所描述的那样,不是图14的所有框都需要实时执行。例如,对于AR或VR系统可能实时需要姿势,并且框1404、1416和1420可以实时执行,而框1408和1412(用于计算补偿矩阵)例如当EM失真发生明显或周期性变化时可以较不频繁地被执行。因此,方法1400的实施例可以被有效地执行并且可以被动态地调整以提供准确的姿势估计,因为失真补偿矩阵的重新计算仅在需要时(或不时地)被执行。

如上所述,当EM场未失真时,预期EM场矩阵F的特征值具有大约[k,k/2,k/2]的大小,其中,k是最大特征值的大小。当EM场失真时,预期F的特征值具有偏离[k,k/2,k/2]的大小。来自该偏离的信息可用于计算计量EM场失真的程度的失真度量(DM)。在一些实施例中,失真度量(DM)可以随着环境中金属材料的存在的增加而增加。在一时间点或一段时间内高于阈值水平的失真度量(DM)可用于触发失真校正过程(参见例如参考图13描述的EM定位处理器1305进行的EM失真校正1310,或参考图14描述的方法1400的框1412和1416处进行的EM失真校正)。

如以上参考等式(8)(其在下面再现)所述,EM场矩阵F可以经由SVD被分解成两个旋转矩阵U和V之间的对角矩阵S:

F=U SV

S的对角元素也是EM场矩阵F的特征值。

失真度量(DM)可以从以下过程被计算。令矩阵S的对角元素由[E1,E2,E3]表示。对角元素可以通过因子(factor)f被归一化,该因子等于矩阵S的行列式的立方根。被归一化的对角元素由[e1,e2,e3]表示,并由下式给出:

[e1,e2,e3]=[E1,E2,E3]/f, (13)

其中,f=det(S)

在归一化得到e1、e2和e3后,失真度量(DM)可以从以下公式中找到:

DM=norm([M-e1,M-e2,M-e3]), (14)

其中,在本实施例中,norm([x,y,z])是归一化函数,M是等于4

在没有金属失真的情况下,预期失真度量(DM)等于0。失真度量(DM)趋向于随着金属失真量的增加而增加。在基本上没有金属的环境中,除了手持控制器606或AR头戴式耳机58上的金属之外,失真度量DM趋于在从大约0到大约0.02的范围内。

图15是呈现在具有不同金属失真量的三种环境中失真度量(DM)的实验测量的示例的图:低金属环境(实心圆圈)、中等金属环境(实心三角形)、和高金属环境(实心正方形)。低金属环境是指除了手持控制器606或AR头戴式耳机58上的金属外很少或没有金属的环境,中等金属环境比低金属环境有更多的环境金属,高金属环境比中等金属环境有更多的环境金属。在这些实验中,在每个环境中采集了300个样本,并为每个样本计算了失真度量(DM)。

如图15所示,随着环境中的金属量从低到中到高增加,失真度量(DM)值也趋于增加。在这些实验中,对于低金属环境,DM在大约0到大约0.02的范围内;对于中等金属环境,DM在大约0.02至大约0.08的范围内;对于高金属环境,DM在大约0.08至大约0.12的范围内。在一些实施例中,可以使用替代的测量单位,其中,在失真度量(DM)值之后附加“m”(或毫)以表示m=×10

图15所示的实验结果可用于设置与环境中是否存在足够的金属失真相关联的一个或多个阈值,以保证通过例如参考图13描述的EM定位处理器1305进行的EM失真校正1310或参考图14描述的方法1400的框1412和1416处进行的EM失真校正对金属失真进行校正。例如,如果失真度量(DM)低于指示很少或没有金属失真的第一阈值,则EM定位处理器1305可以不实施金属失真校正过程。在一些实施例中,第一阈值是0.02。通过在低金属环境中不实施金属失真校正过程,当AR系统位于低金属环境中时,AR系统可以节省电力和计算资源。

在一些实施例中,如果失真度量(DM)高于第二阈值,则环境中存在金属失真,并且金属失真过程可以由EM定位处理器实现。在一些实施例中,第二阈值等于第一阈值,从而存在单个阈值。在这样的实施方式中,金属失真过程可以在失真度量(DM)超过阈值时被实施,而在DM低于阈值时不被实施。例如,如果EM跟踪系统1300测量的失真量度(DM)高于阈值,则EM定位处理器1305可以执行金属失真校正过程(例如,执行参考图14描述的方法1400的框1412和1416)。

在一些实施例中,第二阈值可以大于第一阈值,例如,大约0.03。如果失真度量(DM)超过第二阈值,则可以实施金属失真校正过程。如果失真度量(DM)被测量为在第一阈值与第二阈值之间(例如,在一些实施例中,在0.02与0.03之间),则进行一些金属校正可能是有益的,例如,如果失真度量(DM)在此范围内的时间段长于阈值时间段。作为示例,如果在比阈值时间段长的时间内测量失真度量(DM)在第一与第二阈值之间,则EM定位处理器1305可以实施金属失真过程(例如,通过执行参考图14描述的方法1400的框1412和1416)。具有两个不同的阈值可能是有利的,因为可以减少计算资源和功率,因为金属校正过程仅在失真度量(DM)高于第二阈值时或当失真度量(DM)介于第一与第二阈值之间的时间长于阈值时间段时才实施。在一些实施例中,当失真度量(DM)高于阈值超过预定时间段时,用户也可能被警告这一点,因此用户可以移除环境中可能的失真源或移动到环境中存在较少失真的另一个区域。

方面1.一种增强现实显示系统,包括:显示器,其被配置为将虚拟图像投射到佩戴者的眼睛;框架,其被配置为将所述显示器安装在所述佩戴者的所述眼睛的前方;电磁EM发射器,其被配置为产生磁场;EM传感器,其被配置为感测所述磁场并提供EM传感器数据,其中,所述EM发射器或所述EM传感器中的一个被机械地耦接到所述框架,并且所述EM发射器或所述EM传感器中的另一个被机械地耦接到所述增强现实显示系统的相对于所述框架可独立移动的部件;硬件处理器,其被编程为:从所述EM传感器接收EM传感器数据,所述EM传感器数据包括EM场矩阵;至少部分地基于所述EM场矩阵,检测EM失真的存在;计算失真补偿矩阵;至少部分地基于所述失真补偿矩阵,计算未失真EM场矩阵;至少部分地基于所述未失真EM场矩阵,计算所述EM传感器的姿势;以及使所述显示器至少部分地基于所计算的姿势来投射所述虚拟图像。

方面2.根据方面1所述的增强现实显示系统,其中,所述EM传感器和所述EM发射器各自包括三个相互正交的线圈。

方面3.根据方面1或2所述的增强现实显示系统,其中,所述姿势包括具有三个空间坐标和三个角坐标的六自由度姿势。

方面4.根据方面1至3中任一方面所述的增强现实显示系统,其中,为了检测EM失真的存在,所述硬件处理器被编程为计算所述EM场矩阵的特征值相对未失真EM场矩阵的特征值的偏离。

方面5.根据方面1至4中任一方面所述的增强现实显示系统,其中,为了计算所述失真补偿矩阵,所述硬件处理器被编程为施加约束,即每个所述失真补偿矩阵的行列式接近一,并且所述未失真EM场矩阵的特征值与[1,1/2,1/2]成比例。

方面6.根据方面5所述的增强现实显示系统,其中,所述硬件处理器被编程为执行奇异值分解SVD以计算所述未失真EM场矩阵的所述特征值。

方面7.根据方面5或6所述的增强现实显示系统,其中,所述约束包括所述未失真EM场矩阵的所述特征值接近[1,1/2,1/2]。

方面8.根据方面1至7中任一方面所述的增强现实显示系统,其中,为了计算所述EM传感器的所述姿势,所述硬件处理器被编程为执行所述未失真EM场矩阵的奇异值分解SVD。

方面9.根据方面8所述的增强现实显示系统,其中,所述硬件处理器被编程为从所述SVD计算所述EM传感器相对于所述EM发射器的三自由度位置。

方面10.根据方面1至9中任一方面所述的增强现实显示系统,其中,所述硬件处理器被编程为至少部分地基于所述未失真EM场矩阵、对角矩阵、以及基于方位角和俯仰角的旋转矩阵,计算所述EM传感器相对于所述EM发射器的三自由度取向。

方面11.根据方面1至10中任一方面所述的增强现实显示系统,其中,为了计算所述EM传感器的所述姿势,所述硬件处理器被编程为在所述增强现实显示系统的世界坐标系中计算所述姿势。

方面12.根据方面11所述的增强现实显示系统,其中,为了计算在所述世界坐标系中的所述姿势,所述硬件处理器被编程为应用球谐函数或高阶多项式。

方面13.根据方面1至12中任一方面所述的增强现实显示系统,其中,所述硬件处理器被编程为仅当所检测的EM失真高于第一阈值或所检测的EM失真的变化高于第二阈值时计算所述失真补偿矩阵。

方面14.根据方面1至13中任一方面所述的增强现实显示系统,其中,

所述增强现实显示系统的所述部件包括用户输入图腾,

所述EM传感器被机械地耦接到所述框架,以及

所述EM发射器被机械地耦接到所述用户输入图腾。

方面15.根据方面14所述的增强现实显示系统,还包括被机械地耦接到所述框架的面向外相机。

方面16.根据方面15所述的增强现实显示系统,其中,所述硬件处理器还被编程为:

分析由所述面向外相机获得的图像;

至少部分地基于被分析的图像,确定所述用户输入图腾的姿势;以及

至少部分地基于所确定的所述用户输入图腾的姿势,计算所述失真补偿矩阵。

方面17.根据方面14至16中任一方面所述的增强现实显示系统,其中,所述用户输入图腾还包括被配置为辅助确定所述用户输入图腾的姿势的光源或光学可识别基准标记。

方面18.根据方面1至17中任一方面所述的增强现实显示系统,其中,所述硬件处理器还被编程为使用基于所述EM场矩阵的特征值的度量来计算周围环境中的EM失真程度。

方面19.根据方面18所述的增强现实显示系统,其中,所述度量是基于所述特征值与参考值的差的组合。

方面20.根据方面19所述的增强现实显示系统,其中,所述特征值基于所述EM场矩阵的行列式而被归一化。

方面21.一种系统,包括:电磁(EM)发射器,其被配置为产生磁场;EM传感器,其被配置为感测所述磁场并提供EM传感器数据;以及硬件处理器,其被编程为:从所述EM传感器接收所述EM传感器数据,所述EM传感器数据包括EM场矩阵;至少部分地基于所述EM传感器数据,计算失真补偿矩阵;至少部分地基于所述失真补偿矩阵,计算未失真EM场矩阵;以及至少部分地基于所述未失真EM场矩阵,计算所述EM传感器的姿势。

方面22.根据方面21所述的系统,其中,所述硬件处理器被编程为:检测EM失真的存在;以及仅当所检测的EM失真高于第一阈值或所检测的EM失真的变化高于第二阈值时,计算所述失真补偿矩阵。

方面23.根据方面21或方面22所述的系统,其中,为了计算所述失真补偿矩阵,所述硬件处理器被编程为施加约束,即每个所述失真补偿矩阵的行列式接近一,并且所述未失真EM场矩阵的特征值与[1,1/2,1/2]成比例。

方面24.根据方面21至23中任一方面所述的系统,还包括:面向外成像系统;以及手持用户输入设备;其中,所述硬件处理器被编程为:分析由所述面向外成像系统获得的图像;至少部分地基于所分析的图像,确定所述用户输入设备的姿势;以及至少部分地基于所确定的用户输入设备的姿势,计算所述失真补偿矩阵。

方面25.根据方面21至24中任一方面所述的系统,其中,所述失真补偿矩阵包括第一矩阵C

方面26.根据方面21至25中任一方面所述的系统,其中,为了计算所述EM传感器的所述姿势,所述硬件处理器被编程为计算所述未失真EM场矩阵的奇异值分解(SVD)。

方面27.根据方面21至26中任一方面所述的系统,其中,为了计算所述EM传感器的所述姿势,所述硬件处理器被编程为使用不利用数值迭代的直接计算方法。

方面28.根据方面21至27中任一方面所述的系统,其中,所述硬件处理器被进一步编程为至少部分地基于所计算的姿势来渲染虚拟对象。

方面29.根据方面21至28中任一方面所述的系统,其中,所述硬件处理器被进一步编程为使用基于所述EM场矩阵的特征值的度量来计算周围环境中的EM失真程度。

方面30.根据方面29所述的系统,其中,所述度量基于所述特征值与参考值的差的组合。

方面31.根据方面30所述的系统,其中,基于所述EM场矩阵的行列式对所述特征值进行归一化。

方面32.一种用于校正EM跟踪系统中的电磁(EM)失真的方法,所述方法包括:在硬件处理器的控制下:从EM传感器接收EM传感器数据,所述EM传感器数据包括EM场矩阵;至少部分地基于所述EM传感器数据,计算失真补偿矩阵;至少部分地基于所述失真补偿矩阵,计算未失真EM场矩阵;以及至少部分地基于所述未失真EM场矩阵,计算所述EM传感器的姿势。

方面33.根据方面32所述的方法,其中,所述姿势包括六自由度(6DOF)姿势。

方面34.根据方面32或方面33所述的方法,还包括检测EM失真的存在。

方面35.根据方面34所述的方法,检测所述EM失真的存在包括:计算所述EM场矩阵的特征值相对未失真EM场矩阵的特征值的偏离。

方面36.根据方面35所述的方法,其中,检测所述EM失真的存在包括:确定所述特征值的所述偏离超过阈值。

方面37.根据方面32至36中任一方面所述的方法,其中,仅当所述EM失真超过第一阈值或所述EM失真的变化超过第二阈值时,执行计算所述失真补偿矩阵。

方面38.根据方面32至37中任一方面所述的方法,其中,计算所述姿势包括:执行所述EM场矩阵的奇异值分解。

方面39.根据方面32至38中任一方面所述的方法,其中,计算所述失真补偿矩阵包括:将通过非EM跟踪系统获得的所述EM传感器与EM发射器的相对姿势的地面实况数据进行比较。

方面40.根据方面39所述的方法,其中,所述非EM跟踪系统包括成像系统或超声系统。

方面41.根据方面32至40中任一方面所述的方法,还包括使用基于所述EM场矩阵的特征值的度量来计算所述周围环境中的EM失真程度。

方面42.根据方面41所述的方法,其中,所述度量基于所述特征值与参考值的差的组合。

方面43.根据方面42所述的方法,其中,基于所述EM场矩阵的行列式对所述特征值进行归一化。

方面44.一种电磁(EM)跟踪系统,包括:EM发射器,其被配置为产生磁场;EM传感器,其被配置为感测所述磁场;以及硬件处理器,其被编程为执行方面32至43中任一方面所述的方法。

方面45.一种系统,包括:电磁(EM)发射器,其被配置为产生磁场;EM传感器,其被配置为感测所述磁场并提供EM传感器数据;以及硬件处理器,其被编程为:从所述EM传感器接收所述EM传感器数据,所述EM传感器数据包括EM场矩阵;至少部分地基于所述EM场矩阵计算失真度量,所述失真度量指示在所述EM传感器的环境中EM失真的存在;确定所述失真度量是否超过阈值;响应于确定所述失真度量超过所述阈值:至少部分地基于所述EM传感器数据计算失真补偿矩阵;至少部分地基于所述失真补偿矩阵,计算未失真EM场矩阵;以及至少部分地基于所述未失真EM场矩阵计算所述EM传感器的姿势。

方面46.根据方面45所述的系统,其中,所述硬件处理器被编程为:响应于确定所述失真度量未超过所述阈值:至少部分地基于所述EM场矩阵计算所述EM传感器的姿势。

方面47.根据方面45或方面46所述的系统,其中,所述阈值包括第一阈值和大于所述第一阈值的第二阈值,并且其中所述硬件处理器被编程为:确定所述失真度量超过所述第一阈值并且没有超过所述第二阈值的时间段;确定所述时间段是否超过阈值时间段;响应于确定所述时间段超过所述阈值时间段:至少部分地基于所述EM传感器数据计算失真补偿矩阵;至少部分地基于所述失真补偿矩阵,计算未失真EM场矩阵;以及至少部分地基于所述未失真EM场矩阵计算所述EM传感器的姿势。

方面48.根据方面45至47中任一方面所述的系统,其中,所述硬件处理器被编程为:至少部分地基于所述失真度量来检测EM失真的存在;以及仅当所检测的EM失真高于第一阈值或所检测的EM失真的变化高于第二阈值时,计算所述失真补偿矩阵。

方面49.根据方面45至48中任一方面所述的系统,其中,为了计算所述失真度量,所述硬件处理器被编程为:计算所述EM场矩阵的特征值相对未失真EM场矩阵的特征值的偏离。

方面50.根据方面45至49中任一方面所述的系统,其中,为了计算所述失真度量,所述硬件处理器被编程为:执行所述EM场矩阵的奇异值分解(SVD)。

方面51.根据方面50所述的系统,其中,为了计算所述失真度量,所述硬件处理器被编程为:计算所述EM场矩阵的所述SVD的特征值。

方面52.根据方面51所述的系统,其中,为了计算所述失真度量,所述硬件处理器被编程为:计算所述EM场矩阵的行列式或所述EM场矩阵的所述SVD以提供归一化因子;基于所述归一化因子对特征值进行归一化以提供归一化的特征值;以及至少部分地基于归一化的特征值计算所述失真度量。

尽管在可穿戴显示系统的部件(例如,用于在AR或VR上下文中跟踪头部姿势或身体姿势的EM传感器)的实时姿势确定的上下文中描述了EM场失真校正技术的某些实施例,这是为了说明而不是限制。EM场失真校正技术的实施例可用于其他应用并与其他设备一起使用,并且通常可应用于任何EM跟踪系统。例如,EM场失真校正技术可用于校正在医疗或外科手术环境中发生的场失真,从而提供在医疗或外科手术过程中使用的医疗器械的改进位置或取向。

在此描述和/或附图中描绘的过程、方法和算法中的每一个可以在由一个或多个物理计算系统、硬件计算机处理器、专用电路和/或配置为执行具体和特定计算机指令的电子硬件执行的代码模块中体现,并且完全或部分地由代码模块自动化。例如,计算系统可以包括用特定计算机指令或专用计算机、专用电路等编程的通用计算机(例如服务器)。代码模块可以被编译并链接到可执行程序中,安装在动态链接库中,或者可以用解释的编程语言编写。在一些实施方式中,特定操作和方法可以由特定于给定功能的电路执行。

此外,本公开的功能的某些实施方式在数学上、计算上或技术上足够复杂,以使得应用专用硬件或一个或多个物理计算装置(利用适当的专用可执行指令)可能有必要执行功能,例如由于所涉及的计算的量或复杂性或者基本上实时地提供结果。例如,视频可以包括许多帧,每个帧具有数百万个像素,并且需要专门编程的计算机硬件来处理视频数据以在商业上合理的时间量内提供所需的图像处理任务或应用。此外,使用EM跟踪的姿势估计通常需要在AR或VR环境中实时完成,并且需要硬件处理来执行姿势估计任务和环境场失真的校正,以提供愉快的用户体验。

代码模块或任何类型的数据可以存储在任何类型的非暂态计算机可读介质上,诸如包括硬盘驱动器、固态存储器、随机存取存储器(RAM)、只读存储器(ROM)、光盘、易失性或非易失性存储设备,它们的组合等的物理计算机存储设备。方法和模块(或数据)还可以作为生成的数据信号(例如,作为载波或其它模拟或数字传播信号的一部分)在各种计算机可读传输介质(包括基于无线的和有线的/基于电缆的介质)上发送,并且可以采用多种形式(例如,作为单个或多路复用模拟信号的一部分,或者作为多个离散数字分组或帧)。所公开的过程或过程步骤的结果可以持久地或以其它方式存储在任何类型的非暂态有形计算机存储设备中,或者可以经由计算机可读传输介质传送。

在此描述和/或附图中描绘的流程图中的任何过程、框、状态、步骤或功能应当理解为可能表示代码模块、代码段或代码部分,其包括用于实施特定功能(例如,逻辑或算术)或过程中的步骤的一个或多个可执行指令。各种过程、块、状态、步骤或功能可以与在此提供的说明性示例组合、重新排列、添加、删除、修改或以其它方式改变。在一些实施例中,附加或不同的计算系统或代码模块可以执行在此描述的一些或全部功能。在此描述的方法和过程也不限于任何特定序列,并且与其相关的块、步骤或状态可以以适当的其它顺序执行,例如,以串行、并行或以一些其它方式。可以向所公开的示例实施例添加任务或事件或从中删除任务或事件。此外,在此描述的实施方式中的各种系统部件的分离是出于说明性目的,并且不应被理解为在所有实施方式中都需要这种分离。应当理解,所描述的程序部件、方法和系统通常可以一起集成在单个计算机产品中或打包成多个计算机产品。许多实施方式变化都是可能的。

过程、方法和系统可以在网络(或分布式)计算环境中实施。网络环境包括企业范围的计算机网络、内联网、局域网(LAN)、广域网(WAN)、个人局域网(PAN)、云计算网络、众包计算网络、互联网和万维网。网络可以是有线或无线网络或任何其它类型的通信网络。

本公开包括可以使用本装置执行的方法。该方法可以包括提供这种合适装置的行为。这种提供可以由最终用户执行。换句话说,“提供”行为仅需要终端用户获得、访问、接近、定位、设置、激活、加电或以其它方式行动以在本方法中提供必需的装置。在此所述的方法可以以所述事件的任何顺序进行,该顺序在逻辑上是可能的,并且以所述事件的顺序排列。

本公开的系统和方法各自具有若干创新方面,其中没有一个单独地对在此公开的期望属性负责或要求。上述各种特征和过程可以彼此独立地使用,或者可以以各种方式组合。所有可能的组合和子组合都旨在落入本公开的范围内。对本领域技术人员来说,对本公开中描述的实施方式的各种修改是显而易见的,并且在不脱离本公开的精神或范围的情况下,在此定义的一般原理可以应用于其它实施方式。因此,权利要求不旨在限于在此所示的实施方式,而是与符合本公开、在此公开的原理和新颖特征的最宽范围相一致。

在单独实施方式的上下文中在本说明书中描述的某些特征也可以在单个实施方式中组合实施。相反,在单个实施方式的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施方式中实施。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合中切除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变体。对于每个和所有实施例,需要单个特征或特征组并非必需或必不可少。

除非另有说明,或者在所使用的上下文中以其它方式理解,否则在此使用的条件语言,诸如“能够”、“可以”、“可能”、“可”、“例如”等通常旨在传达某些实施例包括某些特征、元件和/或步骤,而其它实施例不包括某些特征、元件和/或步骤。因此,这种条件语言通常不旨在暗示一个或多个实施例以任何方式需要特征、元素和/或步骤,或者一个或多个实施例必须包括用于决定是否在任何特定实施例中包括或将要执行这些特征、元件和/或步骤(无论是否有作者输入或提示)的逻辑。术语“包含”、“包括”、“具有”等是同义的并且以开放式方式包含使用,并且不排除附加元件、特征、动作、操作等。此外,术语“或”在其包含意义上使用(而不是在其独有意义上),因此当使用时,例如,为了连接元素列表,术语“或”表示列表中的一个、一些或全部元素。另外,除非另有说明,否则本申请和所附权利要求中使用的冠词“一”、“一个”和“该”应理解为表示“一个或多个”或“至少一个”。除非在此具体定义,否则在此使用的所有技术和科学术语在保持权利要求有效性的同时尽可能广泛地给出通常理解的含义。

如在此所使用的,指代项目列表中的“至少一个”的短语是指那些项目的任何组合,包括单个成员。例如,“A、B或C中的至少一个”旨在涵盖:A、B、C、A和B、A和C、B和C,以及A、B和C。除非另外特别说明,否则诸如短语“X、Y和Z中的至少一个”的联合语言以其它方式通过上下文理解为通常用于传达项目、术语等可以是X、Y或Z中的至少一个。因此,这种联合语言通常不旨在暗示某些实施例需要X中的至少一个、Y中的至少一个和Z中的至少一个各自存在。

类似地,虽然可以以特定顺序在附图中描绘操作,但应认识到,不需要以所示的特定顺序或按顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。此外,附图可以以流程图的形式示意性地描绘一个或多个示例过程。然而,未示出的其它操作可以包含在示意性示出的示例方法和过程中。例如,可以在任何所示操作之前、之后、同时或之间执行一个或多个附加操作。另外,可以在其它实施方式中重新排列或重新排序操作。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施方式中的各种系统部件的分离不应被理解为在所有实施方式中都需要这种分离,并且应当理解,所描述的程序部件和系统通常可以在单个软件产品中集成在一起或者被打包到多种软件产品。另外,其它实施方式在以下权利要求的范围内。在一些情况下,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。

相关技术
  • 用于电磁跟踪的环境电磁失真校正
  • 聚光光伏系统,用于检测跟踪偏差的方法,用于校正跟踪偏差的方法,控制装置,用于检测跟踪偏差的程序,和用于校正跟踪偏差的程序
技术分类

06120113170878