CN113892073A - 具有优先化运动模型的多层人工现实控制器姿态跟踪架构 - Google Patents

具有优先化运动模型的多层人工现实控制器姿态跟踪架构 Download PDF

Info

Publication number
CN113892073A
CN113892073A CN202080037945.4A CN202080037945A CN113892073A CN 113892073 A CN113892073 A CN 113892073A CN 202080037945 A CN202080037945 A CN 202080037945A CN 113892073 A CN113892073 A CN 113892073A
Authority
CN
China
Prior art keywords
controller
handheld controller
artificial reality
motion
state data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202080037945.4A
Other languages
English (en)
Other versions
CN113892073B (zh
Inventor
奥斯卡·林德
闫程远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Technologies LLC
Original Assignee
Facebook Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Facebook Technologies LLC filed Critical Facebook Technologies LLC
Publication of CN113892073A publication Critical patent/CN113892073A/zh
Application granted granted Critical
Publication of CN113892073B publication Critical patent/CN113892073B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Optics & Photonics (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

描述了一种人工现实系统,其包括手持控制器跟踪子系统,该子系统具有两个部件——视场(FOV)跟踪器和非FOV跟踪器,当一个或更多个控制器在视场内不可跟踪时,非FOV跟踪器应用专门的运动模型。具体地,在典型的运行条件下,FOV跟踪器接收头戴式显示器(HMD)的状态数据和控制器的控制器状态数据(速度、加速度等),以计算控制器的估计姿态。如果控制器是可跟踪的(例如,在视场内并且未被遮挡),则使用由FOV跟踪器计算的姿态,并且绕过非FOV跟踪器。如果控制器在视场内不可跟踪,并且控制器状态数据满足一个或更多个极端跟踪情况的激活条件,则非FOV跟踪器应用一个或更多个专用运动模型来计算控制器的控制器姿态。

Description

具有优先化运动模型的多层人工现实控制器姿态跟踪架构
相关申请的交叉引用
本申请要求于2019年5月20日提交的美国申请第16/417,244号的优先权,出于所有目的,该申请的内容通过引用以其整体并入本文。
技术领域
本公开大体上涉及人工现实系统(诸如虚拟现实系统、混合现实系统和/或增强现实系统),并且更具体地讲,涉及用于人工现实系统的跟踪控制器。
背景
人工现实系统正变得越来越普遍,应用于许多领域,诸如计算机游戏、健康和安全、工业和教育。作为几个示例,人工现实系统被结合到移动设备、游戏机、个人计算机、电影院和主题公园中。通常,人工现实是在呈现给用户之前已经以某种方式调整的现实的形式,其可包括例如虚拟现实(VR)、增强现实(AR)、混合现实(MR)、混杂现实(hybridreality)、或其某种组合和/或衍生物。
典型人工现实系统包括用于渲染和向用户显示内容的一个或更多个设备。作为一个示例,人工现实系统可以结合由用户佩戴的头戴式显示器(HMD),该HMD被配置为向用户输出人工现实内容。人工现实内容可包括完全生成内容或与捕获内容(例如,真实世界视频和/或图像)组合的生成内容。在操作期间,用户可以利用手持控制器与应用交互或者与人工现实系统交互。人工现实内容内的图形元素的方面可以基于手持控制器的位置和取向来确定。
概述
总的来说,本公开描述了人工现实(AR)系统,并且更具体地,描述了用于AR系统的控制器跟踪子系统,该AR系统包括头戴式显示器(HMD)、一个或更多个手持控制器以及用于确定和跟踪一个或更多个手持控制器的姿态的传感器或相机。
使用传感器或相机来跟踪手持控制器姿态的传统AR系统的技术问题是,手持控制器可能离开传感器或相机的视场(FOV),或者可能在视场内但被另一个对象(诸如用户的手或其他身体部位、第二手持控制器或物理环境中的其他对象)遮挡。因此,AR系统不能确定手持控制器的准确姿态,这可能导致用户对AR系统的操作不满和沮丧。
作为前述技术问题的技术解决方案,一些方面包括控制器跟踪子系统,当手持控制器在AR系统的传感器或相机的视场内可跟踪时,该控制器跟踪子系统可以基于由AR系统的传感器或相机提供的图像数据来确定手持控制器的姿态,并且当手持控制器在传感器或相机的视场内不可跟踪时,或者如果手持控制器被视场内的另一个对象遮挡时,也可以使用其他可用的数据和运动模型来确定手持控制器的姿态。
例如,控制器跟踪子系统可以具有两个部件,FOV跟踪部件(也称为群落(constellation)跟踪部件)和非FOV跟踪部件(也称为“极端情况(corner-case)”跟踪部件),当一个或更多个控制器在AR系统的传感器和相机的视场内不容易被跟踪时,非FOV跟踪部件应用专门的运动模型。具体来说,在典型的运行条件下,FOV跟踪部件接收HMD状态数据和控制器测量数据(速度、加速度等),以计算手持控制器的基于图像的控制器状态数据。如果手持控制器是可跟踪的(例如,在视场内,没有被遮挡,并且没有静止),则基于图像的控制器状态数据被用于确定控制器姿态,并且非FOV跟踪部件被绕过。如果手持控制器在视场内不可跟踪,并且手持控制器测量数据满足一个或更多个跟踪极端情况的激活条件,则非FOV跟踪部件应用一个或更多个激活的专用运动模型来计算一个或更多个手持控制器的基于模型的控制器状态数据。基于模型的控制器状态数据然后被用于确定控制器姿态。
示例极端情况包括:控制器在HMD附近且未附接到HMD,手交叉而未附接,手交叉且附接,控制器位置不可靠,以及控制器处于静止状态。每个极端情况可以具有确定是否评估与激活条件相关联的运动模型的激活条件和去激活条件。极端情况的行为可以包括有限状态机(FSM)和约束运动模型,其可以用于确定手持控制器的基于模型的控制器状态。在显示帧生成周期中,可以激活多于一个的极端情况的行为。从与最高优先级行为相关联的激活模型的评估中得到的作为结果的基于模型的控制器状态数据可用于确定手持控制器的姿态。
上面描述的各方面和下面描述的其他方面可以提供对传统人工现实系统实施方式的技术改进,并且可以提供一个或更多个实际应用,诸如在手持控制器不在AR系统的传感器和/或相机的视场内的情况下,或者当手持控制器被遮挡时,使得AR系统能够确定手持控制器的姿态。当控制器在AR系统的传感器和/或相机的视场内不可跟踪时,可以由人工现实系统使用控制器姿态来提供人工现实内容的更精确的渲染。
在一个或更多个示例方面,一种人工现实系统包括:图像捕获设备,其被配置为捕获表示物理环境的图像数据;头戴式显示器(HMD),其被配置为输出人工现实内容;姿态跟踪器,其被配置为至少部分基于控制器状态数据来确定表示手持控制器的位置和取向的控制器姿态,该姿态跟踪器包括非FOV跟踪器,其具有与手持控制器的不同运动行为相关联的多个运动模型,多个运动模型中的每一个与一个或更多个相应的激活条件相关联,其中,非FOV跟踪器被配置为响应于确定手持控制器在图像数据内不可跟踪并且多个运动模型之一被激活,根据多个运动模型之一来确定控制器状态数据;以及渲染引擎,其被配置为根据控制器姿态渲染人工现实内容和至少一个图形对象,以在HMD处显示。
在一个或更多个另外的示例方面,一种方法包括:由包括头戴式显示器(HMD)的人工现实系统的图像捕获设备获得表示物理环境的图像数据;由人工现实系统的非FOV跟踪器根据与手持控制器的不同运动行为相关联的多个运动模型中的运动模型来确定手持控制器的控制器状态数据,多个运动模型中的每一个都与一个或更多个相应的激活条件相关联,其中,根据运动模型确定控制器状态数据是响应于确定手持控制器在图像数据中不可跟踪并且指示手持控制器的运动行为的控制器测量数据满足与运动模型相关联的一个或更多个激活条件;由人工现实系统至少部分基于控制器状态数据来确定表示手持控制器的位置和取向的控制器姿态;以及由人工现实系统根据控制器姿态渲染人工现实内容和至少一个图形对象以在HMD处显示。
在一个或更多个额外的示例方面,非暂时性计算机可读介质包括指令,当被执行时,该指令使得人工现实系统的一个或更多个处理器经由图像捕获设备获得表示物理环境的图像数据;根据与手持控制器的不同运动行为相关联的多个运动模型中的运动模型来确定手持控制器的控制器状态数据,多个运动模型中的每一个与一个或更多个相应的激活条件相关联,其中,根据运动模型确定控制器状态数据是响应于确定手持控制器在图像数据中不可跟踪,并且指示手持控制器的运动行为的控制器测量数据满足与运动模型相关联的一个或更多个激活条件;至少部分基于控制器状态数据,确定表示手持控制器的位置和取向的控制器姿态;以及根据控制器姿态渲染人工现实内容和至少一个图形对象,以在HMD处显示。
本公开的技术的一个或更多个示例的细节在附图和下面的描述中阐述。本技术的其他特征、目的和优点将从说明书和附图以及权利要求中显而易见。
附图简述
图1A是描绘根据本公开的技术的示例人工现实系统的图示,该系统对在人工现实系统的图像捕获设备的视场内不可跟踪的一个或更多个手持控制器执行姿态跟踪。
图1B是描绘根据本公开的技术的另一示例人工现实系统的图示,该系统对在人工现实系统的图像捕获设备的视场内不可跟踪的一个或更多个手持控制器执行姿态跟踪。
图2是描绘根据本公开的技术操作的示例HMD的图示。
图3是描绘根据本公开的技术的示例的框图,在该示例中由图1A、图1B的人工现实系统的HMD的示例实例执行对手持控制器的姿态跟踪。
图4是示出示例实施方式的框图,其中,手持控制器的姿态跟踪由图1A、图1B的人工现实系统的控制台和HMD的示例实例来执行。
图5是示出根据本公开各方面的示例非FOV跟踪器的部件的框图。
图6是示出了根据本公开的各方面的用于确定手持控制器的控制器姿态的方法的示例操作的流程图,在一些情况下,该手持控制器在视场中是不可跟踪的。
图7-图10是示出根据本公开各方面的用于激活行为和评估与激活的行为相关联的运动模型的示例方法的操作的流程图。
图11是示出根据本公开的各方面的当手持控制器重新进入视场时用于减少抖动(jitter)的方法的示例操作的流程图。
图12A-图12B、图13A-图13B、图14A-图14B和图15A-图15B示出了示例物理环境和基于示例物理环境的示例人工现实内容。
在整个附图和说明书中,相同的参考字符表示相同的元件。
详细描述
图1A是描绘根据本公开的技术的示例人工现实系统10的图示,该人工现实系统10对在人工现实系统的图像捕获设备的视场内不可跟踪的一个或更多个手持控制器114执行姿态跟踪。在一些示例实施方式中,人工现实系统10基于由用户110操作的一个或更多个手持控制器114的一个或更多个检测到的姿态,来生成图形元素并将其呈现给用户110。也就是说,如本文所述,人工现实系统10基于由用户110操作的控制器114的姿态(诸如控制器114的特定运动、配置、位置和/或取向),来呈现一个或更多个图形元素126、136。
在图1A的示例中,人工现实系统10包括头戴式设备(HMD)112。如图所示,HMD 112通常由用户110佩戴,并且包括用于向用户110呈现人工现实内容122的电子显示器和光学组件。此外,HMD 112包括用于跟踪HMD 112的运动的一个或更多个运动传感器(例如,加速度计),并且可包括用于捕获周围物理环境的图像数据的一个或更多个图像捕获设备138(例如,相机、红外(IR)检测器、多普勒雷达、线扫描器等)。
在一些示例实施方式中,HMD 112作为独立的移动人工现实系统来操作。在其他实施方式中,除了HMD 112之外,或者代替HMD 112,人工现实系统10可以可选地包括控制台106和/或一个或更多个外部传感器90。在图1A所示的示例中,控制台106被示为单个计算设备,诸如游戏控制台、工作站、台式计算机或膝上型计算机。在其他示例中,控制台106可分布在多个计算设备上,诸如分布式计算网络、数据中心或云计算系统。如该示例所示,控制台106、HMD 112和传感器90可经由网络104通信耦合,该网络可以是有线或无线网络,诸如WiFi、网状网络或短程无线通信介质。
通常,人工现实系统10使用从真实世界3D物理环境捕获的信息来渲染人工现实内容122以显示给用户110。在图1A的示例中,用户110观看由在HMD 112和/或控制台106上执行的人工现实应用构建和渲染的人工现实内容122。作为一个示例,人工现实内容122可以是消费者游戏应用,其中用户110被渲染为具有一个或更多个虚拟对象128A、128B的化身(avatar)120。在一些示例中,人工现实内容122可以包括真实世界影像(imagery)和虚拟对象的混合(例如混合现实和/或增强现实)。在其他示例中,人工现实内容122可以是例如视频会议应用、导航应用、教育应用、培训或模拟应用、或实现人工现实的其他类型的应用。
在操作期间,人工现实应用通过跟踪和计算参考系(通常是HMD 112的视角)的姿态信息来构建用于向用户110显示的人工现实内容122。使用HMD 112作为参考系,并且基于由HMD 112的当前估计姿态和一个或更多个控制器114的当前估计姿态确定的当前视场130,人工现实应用渲染3D人工现实内容,在一些示例中,该3D人工现实内容可以至少部分地覆盖在用户110的真实世界3D物理环境上。在该过程中,人工现实应用使用从HMD 112和一个或更多个控制器114接收的感测数据(诸如移动信息和用户命令),并且在一些示例中,使用来自任何外部传感器90(诸如外部相机)的数据来捕获真实世界物理环境中的3D信息,诸如用户110的运动和/或一个或更多个控制器114的运动。基于所感测的数据,人工现实应用确定HMD 112的参考系的当前姿态、一个或更多个控制器114的当前姿态,并且根据HMD112和控制器114的当前姿态,渲染人工现实内容122。根据本公开的技术,当一个或更多个控制器114在传感器或相机的视场内可跟踪时基于来自人工现实系统10的传感器或相机的数据,人工现实系统10可以确定一个或更多个控制器114的姿态,并且当一个或更多个控制器114在传感器或相机的视场内不可跟踪时,人工现实系统10可以使用运动模型和可用的控制器测量数据。
更具体地说,如在本文进一步描述的,HMD 112的图像捕获设备138捕获表示在图像捕获设备138的视场130内的真实世界物理环境中的对象的图像数据。这些对象可以包括一个或更多个控制器114。视场130通常对应于HMD 112的视角。在一些示例(诸如图1A所示的示例)中,人工现实应用将用户110的手132在视场130内的部分渲染为人工现实内容122内的虚拟手136。虚拟手136可以根据在手132中握持的控制器114的姿态来渲染。此外,人工现实应用可以基于一个或更多个控制器114的姿态来渲染虚拟对象,诸如虚拟剑126。
因此,本公开的技术对人工现实系统渲染和显示内容的计算机相关领域提供了特定的技术改进。例如,本文描述的人工现实系统可以通过基于确定的控制器114的姿态生成和渲染覆盖在人工现实内容上的图形元素,来向人工现实应用的用户(诸如用户110)提供高质量的人工现实体验,而不管控制器114在人工现实系统10的传感器和/或相机的视场内是否可跟踪。
图1B是描绘根据本公开的技术的另一示例人工现实系统20的图示,该系统对在人工现实系统20的图像捕获设备的视场内不可跟踪的一个或更多个手持控制器执行姿态跟踪。类似于图1A的人工现实系统10,在一些示例中,图1B的人工现实系统20可以基于确定的一个或更多个控制器114的姿态来呈现和控制图形元素以在人工现实环境内进行用户交互和操纵。
在图1B的示例中,人工现实系统20包括外部相机102A和102B(统称为“外部相机102”)、HMD 112A-112C(统称为“HMD 112”)、控制器114A、114B和114C(统称为“控制器114”)、控制台106和传感器90。如图1B所示,人工现实系统20表示多用户环境,其中在HMD112和/或控制台106上执行的人工现实应用基于相应用户的对应参考系的当前视角向用户110A-110C(统称为“用户110”)中的每个用户呈现人工现实内容。也就是说,在该示例中,人工现实应用通过跟踪和计算HMD 112和相应控制器114中每一个的参考系的姿态信息来构建人工内容。人工现实系统20使用从相机102、HMD 112和控制器114接收的数据来捕获真实世界环境内的3D信息(诸如用户110的运动和/或关于控制器114的跟踪信息),以用于计算在HMD 112的对应参考系内的控制器114的更新的姿态信息。作为一个示例,人工现实应用可基于确定的HMD 112C的当前视角来渲染人工现实内容122,该人工现实内容具有空间上覆盖在真实世界对象108A-108C(统称为“真实世界对象108”)上的虚拟对象128A-128C(统称为“虚拟对象128”)。此外,从HMD 112C的视角来看,人工现实系统20分别基于用户110A、110B的估计位置来渲染化身120A、120B。此外,人工现实系统20可以基于由人工现实系统20确定的控制器114的姿态来渲染图形对象。
每个HMD 112在人工现实系统20内同时操作。在图1B的示例中,每个用户110可以是人工现实应用中的“玩家”或“参与者”,并且任何用户110可以是人工现实应用中的“旁观者”或“观察者”。HMD 112C可以通过当手132C所握持的控制器114C在视场130内时跟踪用户110C的手132C所握持的控制器114C并且将手132C渲染为人工现实内容122内的虚拟手136,来基本上类似于图1A的HMD 112进行操作。当控制器114C处于视场130中时,HMD 112C还可以基于所确定的控制器114C的姿态来渲染虚拟对象,诸如剑126。控制器114C可使用短程无线通信的近场通信(诸如蓝牙)、使用有线通信链路或使用其他类型的通信链路来与HMD112C通信。
HMD 112A和HMD 112B也可以基本上类似于图1A的HMD 112进行操作。HMD 112B可以接收来自用户110B握持的控制器114A和144B的用户输入。
如图1B所示,除了经由HMD 112C的相机138捕获的图像数据之外或作为替代,来自外部相机102的输入数据可用于跟踪和检测控制器114的特定运动、配置、位置和/或取向。
图2是描绘被配置为根据本公开的技术操作的示例HMD 112和控制器114的图示。图2的HMD 112可以是图1A和图1B的任何HMD 112的示例。HMD 112可以作为被配置成实现本文描述的技术的独立的移动人工现实系统来操作,或者可以是人工现实系统(诸如图1A、图1B的人工现实系统10、20)的一部分。
在该示例中,HMD 112包括前刚性主体和用于将HMD 112固定到用户的带。此外,HMD 112包括面向内部的电子显示器203,该电子显示器被配置为向用户呈现人工现实内容。电子显示器203可以是任何合适的显示技术,诸如液晶显示器(LCD)、量子点显示器、点阵显示器、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、阴极射线管(CRT)显示器、电子墨水、或单色、彩色或能够生成视觉输出的任何其他类型的显示器。在一些示例中,电子显示器是用于向用户的每只眼睛提供单独图像的立体显示器。在一些示例中,当跟踪HMD 112的位置和取向以用于根据HMD 112和用户的当前观看视角渲染人工现实内容时,显示器203相对于HMD 112的前刚性主体的已知取向和位置被用作参考系,也被称为局部原点。参考系也可以用于跟踪控制器114相对于HMD 112的位置和取向。在其他示例中,HMD112可以采取其他可佩戴的头戴式显示器的形式,例如眼镜或护目镜。
如图2中进一步所示,在该示例中,HMD 112还包括一个或更多个运动传感器206,诸如输出指示HMD 112的当前加速度的数据的一个或更多个加速度计(也称为惯性测量单元或“IMU”)、输出指示HMD 112的定位的数据的GPS传感器、输出指示HMD 112与各种对象相距的距离的数据的雷达或声纳、或提供HMD 112或物理环境内的其他对象的定位或取向的指示的其他传感器。此外,HMD 112可以包括集成的图像捕获设备138A和138B(统称为“图像捕获设备138”)(诸如摄像机、静态照相机、IR扫描仪、UV扫描仪、激光扫描仪、多普勒雷达扫描仪、深度扫描仪等),该图像捕获设备被配置为输出表示物理环境的图像数据。在一些方面,图像捕获设备138可以从电磁波谱的可见光谱和不可见光谱(例如,IR光)捕获图像数据。图像捕获设备138可以包括从可见光谱捕获图像数据的一个或更多个图像捕获设备和从不可见光谱捕获图像数据的一个或更多个单独的图像捕获设备,或者这些图像捕获设备可以组合在同一个或更多个图像捕获设备中。更具体地说,图像捕获设备138捕获表示物理环境中的对象的图像数据,这些对象在图像捕获设备138的视场130A、130B内,该视场通常对应于HMD 112的观看视角。HMD 112包括内部控制单元210,该内部控制单元可包括内部电源和一个或更多个印刷电路板,该印刷电路板具有一个或更多个处理器、存储器和硬件以提供用于执行可编程操作的操作环境,从而处理感测数据并在显示器203上呈现人工现实内容。
控制器114可以是用于与人工现实系统10、20交互的手持控制器。控制器114可以包括一个或更多个发射器208,其发射可见或不可见光谱的光。在一些示例实施方式中,控制器114可以包括十个或更多个发射器208。在一些方面,发射器208可以是IR发射器。发射器208可以以一种图案(也称为“群落”)排列,人工现实系统10、20可以使用该图案来确定控制器114的姿态。控制器114可以包括用户界面特征(诸如按钮、拨号盘等),该用户界面特征可以提供供人工现实系统10、20使用的输入。
在一个示例中,根据本文描述的技术,控制单元210被配置成基于感测到的图像数据,确定控制器114的姿态。当在图像捕获设备138的视场内时,人工现实系统可以检测图像数据内控制器14的发射器208的图案,并使用该图案来确定控制器114的姿态。当控制器114在图像捕获设备138的视场内不可跟踪或者在视场130A、130B内被遮挡时,人工现实系统可以使用从控制器114获得的测量值以及特定情况所特有的运动模型来确定控制器114的姿态,如下文进一步描述的。例如,如果在图像数据中检测到控制器114的少于三个的发射器,则可以确定控制器114在图像数据中不可跟踪。基于控制器114的估计姿态的确定,控制单元210可以渲染虚拟对象和其他人工现实内容。
图3是示出由图1A、图1B的人工现实系统10、20的示例实例执行手持控制器的姿态跟踪的示例的框图。在图3的示例中,根据本文描述的技术,HMD 112基于感测数据(诸如,从HMD 112和/或控制器114接收的运动数据和图像数据)来执行针对HMD 112和控制器114的姿态跟踪以及渲染。
在该示例中,HMD 112包括一个或更多个处理器302和存储器304,在一些示例中,处理器302和存储器304提供用于执行操作系统305的计算机平台,操作系统305可以是例如嵌入式实时多任务操作系统或其他类型的操作系统。继而,操作系统305提供用于执行一个或更多个软件部件317的多任务操作环境。处理器302耦合到一个或更多个I/O接口315,I/O接口315提供用于经由类似的I/O接口319和其他设备(诸如键盘、游戏控制器、显示设备、图像捕获设备、其他HMD等)与控制器114通信的I/O接口。此外,一个或更多个I/O接口315、319可以包括一个或更多个有线或无线网络接口控制器(NIC),用于与网络(诸如网络104)通信。另外,处理器302耦合到电子显示器203、运动传感器206和图像捕获设备138。在一些示例中,处理器302和存储器304可以是单独的、分立的部件。在其他示例中,存储器304可以是与单个集成电路内的处理器302并列放置的片上存储器。
HMD 112的软件应用317运行以提供整体人工现实应用。在该示例中,软件应用317包括应用引擎340、渲染引擎322和姿态跟踪器326。
通常,应用引擎340包括提供和呈现人工现实应用的功能,该人工现实应用例如是电话会议应用、游戏应用、导航应用、教育应用、培训或模拟应用等。应用引擎340可以包括例如一个或更多个软件包、软件库、硬件驱动程序和/或应用编程接口(API),以用于在HMD112上实现人工现实应用。响应于应用引擎340的控制,渲染引擎322生成3D人工现实内容,以由HMD 112的应用引擎340显示给用户。
应用引擎340和渲染引擎322根据由姿态跟踪器326确定的控制器114和HMD 112在参考系(通常是HMD 112的观看视角)内的当前姿态信息来构建用于显示给用户110的人工内容。基于当前观看视角,渲染引擎322构建3D、人工现实内容,其在某些情况下可以至少部分地覆盖在用户110的真实世界3D环境上。在该过程期间,姿态跟踪器326对从HMD 112接收的感测数据和从控制器114接收的控制器测量数据(诸如移动信息和用户命令)以及在一些示例中对来自任何外部传感器90(图1A、图1B)(诸如外部相机)的数据进行操作,以捕获真实世界环境内的3D信息,诸如用户110的运动、控制器114的位置和定位和/或关于用户110的特征跟踪信息。基于感测数据,姿态跟踪器326确定HMD 112和控制器114在HMD112的参考系内的当前姿态,并且根据当前姿态构建用于显示给用户110的人工现实内容。
姿态跟踪器326包括FOV跟踪器342和非FOV跟踪器344。FOV跟踪器342对经由图像捕获设备138获得的图像数据和控制器114测量数据进行操作,以确定基于图像的控制器状态数据,当控制器114在图像捕获设备138的视场内可跟踪时,该基于图像的控制器状态数据可以用于计算控制器114的估计姿态。当控制器114在视场内、没有被其他对象遮挡并且没有静止时,控制器114可以被认为在视场内是可跟踪的。
当控制器114在图像捕获设备138的视场内不可跟踪并且测量值和其他可用数据满足控制器114和/或HMD 112定位的特定情况的激活条件时,非FOV跟踪器342对从控制器114和HMD 112获得的测量值进行操作以确定控制器114的姿态。
下面参考图5-图11提供关于姿态跟踪器326、FOV跟踪器342和非FOV跟踪器344的操作的进一步细节。
控制器114可以是手持控制器,其提供用户与人工现实系统10、20的交互。在一些方面,控制器114包括发射器208、运动传感器306和I/O接口319。发射器208可以发射和/或反射可见或不可见光谱内的光。例如,发射器208可以发射IR光谱中的光。
运动传感器206可以包括传感器,诸如输出指示控制器114的当前加速度的数据的一个或更多个加速度计(也称为惯性测量单元或“IMU”)、输出指示控制器114的定位的数据的GPS传感器、输出指示控制器114与各种对象相距的距离的数据的雷达或声纳、或提供控制器114或物理环境内的其他对象的定位或取向的指示的其他传感器。
图4是示出示例实施方式的框图,其中手持控制器的姿态跟踪由图1A、图1B的人工现实系统10、20的控制台106和HMD 112的示例实例来执行。在图4的示例中,控制台106根据本文描述的技术,基于感测的数据(诸如从HMD 112和/或控制器114接收的运动数据,以及从HMD 112和/或外部传感器接收的图像数据),来执行针对HMD 112的姿态跟踪和渲染。
在这个示例中,类似于图3,HMD 112包括一个或更多个处理器302和存储器304,在一些示例中,处理器302和存储器304提供用于执行操作系统305的计算机平台,操作系统305可以是例如嵌入式实时多任务操作系统或其他类型的操作系统。继而,操作系统305提供用于执行一个或更多个软件部件317的多任务操作环境。此外,处理器302耦合到电子显示器203、运动传感器206和图像捕获设备138。
通常,控制台106是计算设备,其处理从相机102(图1B)和/或HMD112接收的图像和跟踪信息以及来自控制器114的测量数据,以执行HMD112和控制器114的姿态跟踪和内容渲染。在一些示例中,控制台106是单个计算设备,例如工作站、台式计算机、膝上型计算机或游戏系统。在一些示例中,控制台106的至少一部分(例如处理器412和/或存储器414)可以分布在云计算系统、数据中心上或分布在网络上,例如互联网、另一公共或私有通信网络,例如宽带、蜂窝、Wi-Fi和/或用于在计算系统、服务器和计算设备之间传输数据的其他类型的通信网络。
在图4的示例中,控制台106包括一个或更多个处理器412和存储器414,在一些示例中,处理器和存储器提供用于执行操作系统416的计算机平台,操作系统可以是例如嵌入式实时多任务操作系统或其他类型的操作系统。继而,操作系统416提供用于执行一个或更多个软件部件417的多任务操作环境。处理器412耦合到一个或更多个I/O接口415,该I/O接口提供用于与外部设备(诸如键盘、游戏控制器、显示设备、图像捕获设备、HMD等)通信的I/O接口。此外,一个或更多个I/O接口415可以包括一个或更多个有线或无线网络接口控制器(NIC),用于与诸如网络104的网络通信。处理器302、412中的每一者可包括多核处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或等效的离散或集成逻辑电路中的任何一个或更多个。存储器304、414可包括用于存储数据和可执行软件指令的任何形式的存储器,诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(EEPROM)和闪存存储器。
控制台106的软件应用417操作以提供整体人工现实应用。在该示例中,软件应用417包括应用引擎420、渲染引擎422和姿态跟踪器426。
通常,应用引擎420包括提供和呈现人工现实应用的功能,该人工现实应用例如是电话会议应用、游戏应用、导航应用、教育应用、培训或模拟应用等。应用引擎420可包括,例如,用于在控制台106上实现人工现实应用的一个或更多个软件包、软件库、硬件驱动程序和/或应用程序接口(API)。响应于应用引擎420的控制,渲染引擎422生成3D人工现实内容,以由HMD 112的应用引擎340显示给用户。
应用引擎420和渲染引擎422根据由姿态跟踪器426确定的HMD 112和控制器114在参考系(通常是HMD 112的观看视角)内的当前姿态信息来构建用于显示给用户110的人工内容。基于当前观看视角,渲染引擎422构建3D、人工现实内容,其在某些情况下可以至少部分地覆盖在用户110的真实世界3D环境上。在该过程期间,姿态跟踪器426对从HMD 112和控制器114接收的感测数据(诸如来自HMD 112上的传感器的图像数据、来自控制器114的运动传感器数据)以及在一些示例中对来自任何外部传感器90(图1A、图1B)(诸如外部相机)的数据进行操作,以捕获真实世界环境内的3D信息,诸如用户110的运动、控制器114的运动和/或关于用户110的特征跟踪信息。基于感测数据,姿态跟踪器426确定HMD112和控制器114在HMD 112的参考系内的当前姿态,并且根据当前姿态,构建用于经由一个或更多个I/O接口315、415传送到HMD 112以显示给用户110的人工现实内容。
类似于上面参考图3描述的姿态跟踪器326,姿态跟踪器426包括FOV跟踪器442和非FOV跟踪器444。在控制器114可以在图像捕获设备138、102的视场内进行跟踪时FOV跟踪器442对经由图像捕获设备138或外部相机102获得的图像数据进行操作以确定控制器114的基于图像的控制器状态数据。当控制器114在视场内、没有被其他对象遮挡并且没有静止时,控制器114可以被认为在视场内是可跟踪的。
在控制器114在图像捕获设备138、102的视场内不可跟踪并且测量值和其他可用数据满足控制器114和/或HMD 112定位的特定情况的激活条件时,非FOV跟踪器442对从控制器114和HMD 112获得的测量值进行操作,以确定控制器114的基于模型的控制器状态数据。
下面参考图5-图11提供关于姿态跟踪器426、FOV跟踪器442和非FOV跟踪器444的操作的进一步细节。
图5是示出根据本公开各方面的示例非FOV跟踪器344(和444)的部件的框图。在一些方面,非FOV跟踪器344包括多个行为502A-N(统称为行为502),其对应于响应于确定控制器114在相机138的视场内不可跟踪并且可用的数据指示控制器114的状态可以满足与跟踪极端情况相关联的一个或更多个激活条件而由非FOV跟踪器344执行的操作。这种极端情况的示例包括控制器114处于静止状态;控制器的位置不可靠、在视场之外、以及靠近HMD;在视场中但被另一个对象遮挡并附接到其他对象上;在视场中但是被另一个对象遮挡并且没有附接到其他对象上。在一些方面,遮挡对象可以是第二手持控制器。其他极端情况也是可能的,并且在本发明主题的范围内。
非FOV跟踪器344可以接收从控制器114获得的控制器测量值510作为输入。控制器测量值510可以包括来自控制器114中的运动传感器206的值。例如,控制器测量值可以包括线性的和角加速度、线性的和角速度以及从控制器114接收的或从控制器114接收的数据导出的其他运动相关数据。输入的控制器测量值510还可以包括由HMD 112生成的基于非图像的控制器测量值,诸如使用雷达跟踪或近场通信距离跟踪获得的距离测量值。
另外,非FOV跟踪器344可以接收从HMD 112获得的HMD状态数据512。HMD状态数据可以包括HMD 112的当前姿态,并且可以用于确定在HMD 112和控制器114之间的定位关系。
每个行为502可以具有与行为502相关联的一个或更多个激活条件和一个或更多个去激活条件。激活条件可以包括规则、逻辑、启发信息(heuristics)和/或参数值,其可以应用于控制器测量值510和HMD状态512,以确定当前是否存在与行为相关联的跟踪极端情况。如果满足激活条件,则激活与行为502的满足的激活条件相关联的运动模型506和与激活条件相关联的运动模型506。
相反,与行为502相关联的一个或更多个去激活条件可以包括规则、逻辑、启发信息和/或参数值,其可以应用于控制器测量值510和HMD状态512,以确定是否不再存在与行为相关联的极端情况。如果满足与行为502相关联的去激活条件,则去激活行为502和与行为502相关联的运动模型506。
在一些方面,一旦响应于满足激活条件而激活了行为及其相关联的运动模型,行为和相关联的运动模型就保持在激活状态,直到满足了行为和相关联的运动模型的去激活条件为止。在其他方面,去激活条件可以是可选的,并且只要激活条件保持满足,行为及其相关联的运动模型就被激活,并且当激活条件不再满足时被去激活。
此外,非FOV跟踪器344可以从FOV跟踪器342接收基于图像的控制器状态数据514。基于图像的控制器状态数据514可以是由于试图使用HMD状态数据512、控制器测量数据510和来自图像捕获设备138的图像数据518来确定控制器114的姿态而由FOV跟踪器342产生的输出数据。
每个行为502可以具有相关联的运动模型506。行为的运动模型506定义了如何确定控制器114的基于模型的控制器状态数据516A-N(统称为“基于模型的控制器状态数据516”)。例如,行为502的运动模型506可以利用控制器测量数据510、HMD状态数据512和控制器状态数据514来确定基于模型的控制器状态数据516。
每个行为502可以具有相关联的有限状态机(FSM)504。与行为502相关联的FSM504可以跟踪状态信息(激活、去激活等)、从一种状态到另一种状态的转换、以及与行为相关联的其他状态信息。行为的FSM 504可以保存显示帧之间的状态信息,并且可以被与行为502相关联的运动模型506用来确定基于模型的控制器状态数据516。
在一些方面,行为502A-N与优先级相关联。行为的优先级可以通过各种方式来确定。例如,基于极端情况发生的可能性、在极端情况发生时对用户体验的破坏、极端情况被报告为问题的次数等,可以确定优先级。
在一些实施方式中,行为502A-N可以以包容式架构(subsumption architecture)的方式组织。在包容式架构中,极端情况的行为502A-N被组织在对每个行为区分优先级的相应层中。在图5所示的示例中,底层(行为502N)是最高优先级行为。顶层的行为502A是最低优先级行为。基于模型的控制器状态数据516的候选版本可以由与每个激活行为相关联的运动模型506来确定。根据较高(较低优先级)层的运动模型506确定的候选的基于模型的控制器状态数据516可以被忽略、阻止或由包容式架构中较低(较高优先级)层行为502确定的候选的基于模型的控制器状态数据516代替。
在一些实施方式中,激活的行为502可以彼此并行地评估。每个激活的行为502可以基于其相关联的运动模型506和输入的控制器测量数据510、HMD状态数据512和基于图像的控制器状态数据514来确定基于模型的控制器状态数据516的候选版本。由激活行为502中具有最高优先级的层中的运动模型506确定的基于模型的控制器状态数据516的候选版本可以用作由非FOV跟踪器344输出的控制器状态数据520的最终版本。
如果没有行为被激活,则非FOV跟踪器344充当中间件(pass-through),并且由FOV跟踪器342确定并作为输入提供给非FOV跟踪器344的基于图像的控制器状态数据514被用作非FOV跟踪器344的输出的控制器状态数据520。
如将从上面所理解的,将基于与最高优先级激活行为相关联的运动模型506来确定控制器状态数据520。如果没有行为被激活,控制器状态数据520将根据基于图像的控制器状态数据514。姿态跟踪器326可以使用由非FOV跟踪器344输出的控制器状态数据520,以确定控制器114的控制器姿态。
在一些情况下,行为502的运动模型506可以利用除了从控制器测量数据510、HMD状态数据512和控制器状态数据514可获得的信息之外的信息。配置数据522可以存储和提供这样的数据。例如,如下所述,一些运动模型可以使用手臂的平均长度或躯干相对于头部的适中位置,以便确定基于模型的控制器状态数据516的位置数据。手臂的平均长度或躯干相对于头部的适中位置可以存储在配置数据516中,供运动模型506使用。
图6是流程图600,示出了根据本公开的各方面的用于确定手持控制器的控制器姿态的方法的示例操作,在一些情况下,该手持控制器在视场中是不可跟踪的。流程图600中描述的示例操作可以周期性地执行或响应于事件来执行。例如,示例操作可以作为对显示帧生成事件的响应的一部分来执行,其中该事件使得人工现实系统渲染显示帧以在HMD112上呈现。
FOV跟踪器可以接收来自HMD 112的一个或更多个图像捕获设备138的图像数据以及来自控制器114的控制器测量数据(602)。另外,图像数据可以包括由HMD 112外部的相机或传感器提供的图像数据。FOV跟踪器可以使用图像数据和控制器测量数据来确定基于图像的控制器状态数据(604)。
FOV跟踪器可以确定控制器114在图像数据中是否是可跟踪的(606)。在一些方面,如果控制器114的至少三个发射器208可在图像数据检测到并且控制器测量数据指示控制器没有静止,则FOV跟踪器可以确定控制器114在图像数据内是可跟踪的。在一些方面,FOV跟踪器可以使用传感器融合来确定控制器114在图像数据内是否可跟踪。
如果FOV跟踪器确定控制器114在图像数据内是可跟踪的(606的“是”分支),则可以基于由FOV跟踪器确定的基于图像的控制器状态数据来确定控制器姿态(610)。如果FOV跟踪器确定控制器114在图像数据内不可跟踪(606的“否”分支),则非FOV跟踪器确定是否已经激活了任意的非FOV行为,或者是否已经满足了行为的非FOV激活条件(608)。非FOV跟踪器可以基于控制器测量数据、HMD状态数据和/或基于图像的控制器状态数据来确定是否已经满足任何行为激活条件。如果没有激活条件被满足并且当前没有行为被激活(608的“否”分支),则可以基于由FOV跟踪器确定的基于图像的控制器状态数据来确定控制器姿态(610)。
如果至少一个行为已经被激活或者至少一个激活条件已经被满足(608的“是”分支),则非FOV跟踪器可以通过评估与被激活的每个行为相关联的运动模型来确定候选的基于模型的控制器状态数据(612)。运动模型可以根据需要访问输入的控制器测量数据、HMD状态数据和基于图像的控制器状态值,以确定与行为相关联的候选的基于模型的控制器状态数据。然后可以基于由与最高优先级行为相关联的运动模型产生的候选的基于模型的控制器状态数据来确定控制器姿态(614)。
如果控制器在图像数据中是可跟踪的或者如果没有运动模型被激活,则姿态跟踪器可以基于由FOV跟踪器确定的基于图像的控制器状态数据来确定控制器姿态。如果控制器在图像数据(以确定控制器姿态)中不可跟踪并且运动模型已经被激活,则姿态跟踪器可以基于由非FOV跟踪器确定的基于模型的控制器状态数据来确定控制器姿态。渲染引擎可以基于所确定的控制器姿态和HMD姿态来渲染人工现实内容(616)。
图7-图10是示出根据本公开各方面的用于激活行为和评估与激活的行为相关联的运动模型的示例方法的操作的流程图。
图7是示出用于在控制器靠近HMD但未附接到HMD的极端情况下确定控制器姿态的方法的示例操作的流程图。这种情况的激活条件包括确定控制器在AR系统的图像捕获设备的视场中是不可跟踪的(704的“否”分支)。如上所述,在一些方面,如果控制器不位于任何相机或传感器的视场内,如果控制器在视场内被另一个对象遮挡,如果控制器的位置不可靠,或者如果控制器处于静止状态,则控制器在视场内是不可跟踪的。图7的极端情况的另一激活条件是控制器和HMD之间的距离小于预定义或可配置的阈值(706的“否”分支)。如果两个激活条件都满足,则激活与极端情况相关联的行为和运动模型。如果控制器在AR系统的图像捕获设备的视场内是可跟踪的(704的“是”分支),或者在HMD和控制器之间的距离大于可配置的阈值(706的“是”分支),则不满足该极端情况的激活条件,并且该方法结束。
与极端情况行为相关联的运动模型为该行为设置候选的基于模型的控制器状态数据中的位置值,以使得与控制器相关联的虚拟手或其他对象围绕虚拟肘的位置枢转(708)。可以基于存储在配置数据中的预定义的或可配置的前臂长度以及最后已知的控制器位置和头戴式装置位置来确定虚拟肘在虚拟世界空间中的位置。在这种情况下的运动模型可以被称为“棒上控制器(controller-on-a-stick)”模型,其中棒是表示用户手臂的虚拟手臂,虚拟肘在棒的一端,并且与控制器位置相关联的虚拟手在棒的另一端。
在一些方面,极端情况的去激活条件可以包括当控制器在视场内变得可跟踪时重新获取对控制器的跟踪。
图12A和图12B示出了上面参考图7描述的极端情况的示例物理环境。图12A是佩戴HMD 112并在HMD 112的阈值距离1202内将控制器114握在手132中的用户的正视图。图12B是用户的侧视图。如图12B可以看到的,控制器114不在HMD 112上的相机的视场130内。在这个示例中,用户可能挥动他们的手臂来问候在同一虚拟环境中的另一个用户或吸引其注意。可以渲染虚拟手和手臂,以便基于运动模型看起来像是在挥手。挥动动作可以通过让虚拟手围绕肘部枢转来渲染。
图8是示出了用于在第一控制器在视场内但是被第二控制器遮挡,并且第一控制器没有“附接”到第二控制器的极端情况下确定控制器姿态的方法的示例操作的流程图。这种情况的激活条件包括确定第一控制器不在视场内(804的“否”分支)。极端情况的另一激活条件是在第一控制器和第二控制器之间的距离小于预定义或可配置的阈值(806的“是”分支)。另一个激活条件是第一控制器的加速度值(根据控制器测量数据确定)与第二控制器的加速度值不同步(808的“是”分支)。如果满足以上所有激活条件,则激活与极端情况相关联的运动模型和行为。如果控制器在AR系统的图像捕获设备的视场内是可跟踪的(804的“是”分支),在第一控制器和第二控制器之间的距离大于可配置阈值(806的“否”分支),或者第一控制器的加速度值与第二控制器的加速度值同步(808的“否”分支),则不满足该极端情况的激活条件,并且该方法结束。
与极端情况行为相关联的运动模型将第一控制器的候选的基于模型的控制器状态数据中的位置值固定到用户的虚拟躯干的位置(810)。虚拟躯干的位置可以基于配置数据来确定,该配置数据提供在躯干和HMD之间的平均距离、HMD姿态以及控制器取向。
在一些方面,极端情况的去激活条件可以包括可视(第二)控制器离开相机或传感器视场,或者被阻挡的(第一)控制器在视场内变得可跟踪。
图13A和图13B示出了上面参考图8描述的极端情况的示例物理环境和示例人工现实内容。图13A是佩戴HMD 112并且将控制器114A握在手132A中并且将控制器114B握在手132B中的用户的正视图。控制器114B被手132A和/或控制器114A遮挡。在该示例中,用户可能与虚拟手表1302上的菜单交互。当用户移动他或她的手来操纵菜单时,第一控制器114A和第二控制器114B经历不同的加速度值,因此没有附接到彼此。
图13B示出了图13A所示示例的示例人工现实内容122。当控制器114B被遮挡并且不与控制器114A同步移动时,该极端情况行为的运动模型使得虚拟手1324B被渲染在距虚拟躯干1304固定距离处。
图9是示出了用于在第一控制器在视场内但是被第二控制器遮挡并且附接到第二控制器的跟踪极端情况下确定控制器姿态的方法的示例操作的流程图。这种情况的激活条件包括确定第一控制器在视场中不可跟踪(904的“否”分支)。极端情况的另一激活条件是在第一控制器和第二控制器之间的距离小于预定义或可配置的阈值(906的“是”分支)。另一个激活条件是第一控制器的加速度值(根据控制器测量数据确定)与第二控制器的加速度值同步(908的“是”分支)。如果满足以上所有激活条件,则激活极端情况的运动模型和行为。如果控制器在AR系统的图像捕获设备的视场内是可跟踪的(904的“是”分支),在第一控制器和第二控制器之间的距离大于可配置阈值(906的“否”分支),或者第一控制器的加速度值与第二控制器的加速度值不同步(908的“否”分支),则不满足该极端情况的激活条件,并且该方法结束。
与极端情况行为相关联的运动模型将第一控制器的候选的基于模型的控制器状态数据中的位置值设置为相对于第二控制器的位置的固定位置(910)。
在一些方面,极端情况的去激活条件可以包括可视(第二)控制器离开相机或传感器视场,或者被阻挡的(第一)控制器在视场内变得可跟踪,或者第一控制器和第二控制器的加速度值不再同步。
图14A和图14B示出了上面参考图9描述的极端情况的示例物理环境和示例人工现实内容。图14A是佩戴HMD 112并且将控制器114A握在手132A中并且将控制器114B握在手132B中的用户的侧视图。控制器114B可以被手132A和/或控制器114A遮挡。人工现实内容可以包括射击游戏,其中用户使用双手握持(two handed grip)将虚拟枪射向目标。当用户移动他或她的手来瞄准时,第一控制器114A和第二控制器114B生成基本相同的加速度值,因为用户的手都握着相同的对象(即枪),因此被确定为附接到彼此。
图14B示出了图14A所示示例的示例人工现实内容122。在该示例中,用户已经将虚拟枪1402瞄准虚拟目标1404。这种极端情况行为的运动模型使得虚拟手1424A被渲染在相对于虚拟手1424B的位置的固定位置。
图10是示出了用于在控制器的位置不可靠或在视场中静止的极端情况下确定控制器姿态的方法的示例操作的流程图。如果控制器的位置离相机太远,以至于不能以合理的置信度确定位置,那么控制器的位置可能会变得不可靠。另外,如果控制器处于静止状态(例如,放置在桌面或其他固定位置),那么控制器的位置可变得不可靠。在这种情况下,来自运动传感器设备的噪声可导致控制器在其实际上应该是静止的时候看起来移动。在任一种情况下,用户可能会看到抖动(与控制器相关联的虚拟对象的位置在实际定位附近振荡)或飞离然后就位(fly-away-then-snap)(与控制器相关联的虚拟对象飞离,然后快速跳到实际定位)。这种情况的激活条件包括确定来自控制器的运动传感器的最近一组加速度值的绝对值小于预定义的或可配置的阈值(1004的“是”分支)。极端情况的另一个激活条件是缓冲的一组运动传感器值的方差小于预定义的或可配置的阈值(1006的“是”分支)。如果上述两个激活条件都满足,则激活“静止控制器”的极端情况的运动模型和行为。如果来自控制器的运动传感器的最近的一组加速度值大于预定义的或可配置的阈值(1004的“否”分支),或者缓冲的一组运动传感器值的方差大于预定义的或可配置的阈值(1006的“否”分支),则不满足该极端情况的激活条件,并且该方法结束。
与极端情况行为相关联的运动模型将控制器的候选的基于模型的控制器状态数据中的位置值锚定到世界参考系中的固定位置(1008)。
在一些方面,极端情况的去激活条件可以包括缓冲的运动传感器样本的方差超过预定或可配置的阈值,或者最近的运动传感器值样本的绝对值超过预定或可配置的阈值。
图11是示出根据本公开的各方面的当手持控制器重新进入视场时用于减少抖动的方法的示例操作的流程图。姿态跟踪器可以确定在前一显示帧期间控制器在视场内是否是可跟踪的(1104)。如果控制器在前一显示帧期间是可跟踪的(1104的“是”分支),则控制器没有重新进入视场。因此,抖动减少操作不是必需的,并且该方法结束。
如果控制器在前一显示帧期间不可跟踪(1104的“否”分支),则姿态跟踪器可以确定针对当前显示帧控制器在视场中是否可跟踪(1106)。如果控制器在前一帧中不可跟踪,并且控制器在当前显示帧中不可跟踪,则不需要减少抖动,并且该方法结束(1106的“否”分支)。如果控制器在前一显示帧中是不可跟踪的,而在当前显示帧中是可跟踪的,则控制器已经重新进入视场(1106的“是”分支)。姿态跟踪器可以使用插值来确定一系列显示帧的控制器姿态,以防止其位置相对于控制器被确定的虚拟对象出现在“跳跃”位置(1108)。具体地,姿态跟踪器可以通过在控制器位于视场之外时由非FOV跟踪器确定的控制器位置和在控制器重新进入视场时由FOV跟踪器确定的控制器位置之间进行插值,来确定控制器姿态。
图15A和图15B示出了由图11的方法执行的插值的示例。图15A示出了物理环境的初始状态,其中,第一控制器114A不在HMD 112的相机或传感器的视场130中。作为示例,HMD112的用户可能正在参与在人工现实系统上提供的虚拟拳击游戏。
图15B示出了物理环境的后续状态,其中,第一控制器114A已经重新进入HMD 112的视场130。例如,用户可以以握持控制器114的手执行“拳击(punch)”。在图15B所示的示例中,非FOV跟踪器已经确定了控制器114A的位置在P1,并且FOV跟踪器确定了控制器114A的位置在P2。在没有插值的情况下,在随后的显示帧中,表示手132A的虚拟手的路径在前进到P3之前可能看起来从P1跳到P2。使用上面图11中描述的方法,姿态跟踪器可以在P1和P3之间的路径中进行插值,这在一系列显示帧上使虚拟手从视场130之外到视场130之内的过渡平滑。在图15B所示的示例中,未插值的路径由连接点P1、P2和P3的实线表示。插值路径由连接P1和P3的虚线表示。可以基于对人工现实内容内的活动的测量或估计来确定插值速度和持续时间。
本公开的各个方面的以上描述已经在人工现实系统的背景下呈现。本文描述的技术也可以在其他类型的系统中实现,这些系统使用图像或其他传感器数据来确定可以移入和移出相机或传感器的视场的对象的位置。
本公开中描述的技术可以至少部分地以硬件、软件、固件或其任何组合实现。例如,所述技术的各个方面可在一个或更多个处理器内实现,该处理器包括一个或更多个微处理器、DSP、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或任何其他等效的集成或离散逻辑电路,以及此类部件的任何组合。术语“处理器”或“处理电路”一般可指前述逻辑电路中的任一种(单独或与其他逻辑电路组合),或任何其他等效电路。包括硬件的控制单元也可执行本公开的一种或更多种技术。
此类硬件、软件和固件可在相同的设备内或在单独的设备内实现以支持本公开中描述的各种操作和功能。此外,所述单元、模块或部件中的任一个可一起或单独地实现为离散的但可互操作的逻辑设备。将不同特征描述为模块或单元旨在突出不同的功能方面,并不一定意味着此类模块或单元必须由单独的硬件或软件部件实现。相反,与一个或更多个模块或单元相关联的功能可以由单独的硬件或软件部件执行,或者集成在公共或单独的硬件或软件部件内。
在本公开中描述的技术还可在包含指令的计算机可读介质(诸如计算机可读存储介质)中体现或编码。嵌入或编码在计算机可读存储介质中的指令可以例如在执行指令时致使可编程处理器或其他处理器执行方法。计算机可读存储介质可包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(EEPROM)、闪存存储器、硬盘、CD-ROM、软盘、盒式磁带、磁介质、光学介质或其他计算机可读介质。
如本文通过各种示例所描述的,本公开的技术可包括人工现实系统或结合人工现实系统来实现。如所描述的,人工现实是在呈现给用户之前已经以某种方式调整的现实的形式,其可包括例如虚拟现实(VR)、增强现实(AR)、混合现实(MR)、混杂现实、或其某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或与捕获的内容(例如,真实世界的照片)相结合的生成的内容。人工现实内容可以包括视频、音频、触觉反馈、或其某种组合,且其中任何一个都可以在单个通道中或在多个通道中被呈现(例如向观看者产生三维效果的立体视频)。另外,在一些实施例中,人工现实可以与应用、产品、附件、服务或其某种组合相关联,这些应用、产品、附件、服务或其某种组合例如用于在人工现实中创建内容和/或在人工现实中被使用(例如,在人工现实中执行活动)。提供人工现实内容的人工现实系统可以在各种平台上实现,这些平台包括连接到主计算机系统的头戴式设备(HMD)、独立的HMD、移动设备或计算系统、或者能够向一个或更多个观看者提供人工现实内容的任何其他硬件平台。

Claims (20)

1.一种人工现实系统,包括:
图像捕获设备,其被配置为捕获表示物理环境的图像数据;
头戴式显示器(HMD),其被配置为输出人工现实内容;
姿态跟踪器,其被配置为至少部分基于控制器状态数据来确定表示手持控制器的位置和取向的控制器姿态,所述姿态跟踪器包括非FOV跟踪器,所述非FOV跟踪器具有与所述手持控制器的不同运动行为相关联的多个运动模型,所述多个运动模型中的每一个与一个或更多个相应的激活条件相关联,其中,所述非FOV跟踪器被配置为响应于确定所述手持控制器在所述图像数据内不可跟踪并且所述多个运动模型之一被激活,根据所述多个运动模型之一来确定所述控制器状态数据;以及
渲染引擎,其被配置为根据所述控制器姿态渲染所述人工现实内容和至少一个图形对象以在所述HMD处显示。
2.根据权利要求1所述的人工现实系统,其中,所述多个运动模型以包容式架构配置,并且其中,所述非FOV跟踪器被配置为:
响应于确定所述多个运动模型中的两个或更多个运动模型被激活,同时评估所述两个或更多个运动模型的运动模型;并且
至少部分地基于所评估的具有最高优先级的运动模型来确定所述控制器状态数据。
3.根据权利要求1所述的人工现实系统,
其中,所述姿态跟踪器还包括FOV跟踪器,所述FOV跟踪器被配置为至少部分基于所述图像数据来确定基于图像的控制器状态数据;
其中,所述基于图像的控制器状态数据作为输入被提供给所述非FOV跟踪器;并且
其中,响应于确定所述多个运动模型中没有运动模型被激活,所述非FOV跟踪器基于所述基于图像的控制器状态数据来确定所述控制器状态数据。
4.根据权利要求1所述的人工现实系统,其中,所述非FOV跟踪器还被配置为响应于至少部分基于指示所述手持控制器的运动行为的控制器测量数据确定满足与所述多个运动模型中的运动模型相关联的一个或更多个相应激活条件,来激活所述运动模型。
5.根据权利要求1所述的人工现实系统,其中,确定所述手持控制器在所述图像数据内不可跟踪包括:
确定能够在所述图像数据中检测到的所述手持控制器的发射器的数量小于预定或可配置的阈值,或者
确定所述手持控制器的位置不可靠。
6.根据权利要求1所述的人工现实系统,其中,所述一个或更多个相应的激活条件包括所述手持控制器不在所述视场内的指示和所述手持控制器在所述HMD的阈值距离内运动的确定;并且
其中,与所述一个或更多个相应的激活条件相关联的所述多个运动模型中的一个运动模型被配置为根据与所述手持控制器相关联的第一位置围绕与虚拟肘相关联的第二位置的枢转来确定所述控制器状态数据。
7.根据权利要求1所述的人工现实系统,还包括第二手持控制器;
其中,所述手持控制器在所述视场内被所述第二手持控制器遮挡;
其中,所述激活条件包括确定在所述手持控制器和所述第二手持控制器之间的距离低于阈值,并且所述手持控制器的加速度与所述第二手持控制器的加速度不同步;并且
其中,所述运动模型被配置为将所述控制器状态数据的一个或更多个位置值确定为相对于虚拟躯干的位置的固定位置。
8.根据权利要求1所述的人工现实系统,还包括第二手持控制器;
其中,所述手持控制器在所述视场内被所述第二手持控制器遮挡;
其中,所述激活条件包括确定在所述手持控制器和所述第二手持控制器之间的距离低于阈值,并且所述手持控制器的加速度与所述第二手持控制器的加速度基本上同步;并且
其中,所述运动模型被配置为将所述控制器状态数据的一个或更多个位置值确定为处于相对于所述第二手持控制器的第二位置的固定位置。
9.根据权利要求1所述的人工现实系统,
其中,所述手持控制器还包括惯性测量单元(IMU);
其中,所述激活条件包括确定由所述IMU提供的最近的绝对值低于第一阈值,并且由所述IMU提供的多个缓冲值的方差低于第二阈值;并且
其中,所述运动模型被配置为确定所述控制器状态数据的一个或更多个位置值相对于世界参考系处于固定位置。
10.根据权利要求1所述的人工现实系统,其中,所述姿态跟踪器被配置为针对所述手持控制器根据所述图像数据和所述控制器状态数据来确定所述手持控制器已经重新进入所述视场;并且
其中,所述姿态跟踪器被配置为在多个显示帧中,基于当所述手持控制器在所述视场之外时确定的第一控制器姿态和在所述手持控制器重新进入所述视场之后确定的第二控制器状态数据,来对所述控制器姿态进行插值。
11.根据权利要求1所述的人工现实系统,其中,所述图像捕获设备与所述HMD集成。
12.根据权利要求1所述的人工现实系统,其中,所述图像数据包括红外图像数据。
13.一种方法,包括:
由包括头戴式显示器(HMD)的人工现实系统的图像捕获设备获得表示物理环境的图像数据;
由所述人工现实系统的非FOV跟踪器根据与手持控制器的不同运动行为相关联的多个运动模型中的运动模型来确定所述手持控制器的控制器状态数据,所述多个运动模型中的每一个都与一个或更多个相应的激活条件相关联,其中,根据所述运动模型确定所述控制器状态数据是响应于确定所述手持控制器在所述图像数据中不可跟踪并且指示所述手持控制器的运动行为的控制器测量数据满足与所述运动模型相关联的所述一个或更多个激活条件;
由所述人工现实系统至少部分基于所述控制器状态数据来确定表示所述手持控制器的位置和取向的控制器姿态;以及
由所述人工现实系统根据所述控制器姿态渲染人工现实内容和至少一个图形对象,以在所述HMD处显示。
14.根据权利要求13所述的方法,其中,所述多个运动模型以包容式架构配置,并且其中所述方法还包括:
同时评估所述多个模型中满足所述一个或更多个相应的激活条件的两个或更多个模型的运动模型;以及
至少部分地基于所评估的具有最高优先级的运动模型来确定所述控制器状态数据。
15.根据权利要求13所述的方法,还包括:
由所述人工现实系统的FOV跟踪器至少部分地基于所述图像数据来确定所述手持控制器的基于图像的控制器状态数据;
将所述基于图像的控制器状态数据作为输入提供给所述非FOV跟踪器;
其中,响应于确定所述多个运动模型中没有运动模型被激活,所述非FOV跟踪器至少部分地基于所述基于图像的控制器状态数据来确定所述控制器状态数据。
16.根据权利要求13所述的方法,其中,确定指示所述手持控制器的运动行为的所述控制器测量数据满足与所述运动模型相关联的一个或更多个激活条件包括确定所述手持控制器在所述视场内不可跟踪并且所述手持控制器在所述HMD的阈值距离内运动,
所述方法还包括评估与所述一个或更多个相应的激活条件相关联的运动模型,其中,所述运动模型被配置为根据所述手持控制器的第一位置围绕虚拟肘的第二位置的枢转来确定所述控制器状态数据。
17.根据权利要求13所述的方法,其中,所述手持控制器在所述视场内被第二手持控制器遮挡;
其中,确定指示所述手持控制器的运动行为的控制器测量数据满足与所述运动模型相关联的所述一个或更多个激活条件包括确定在所述手持控制器和所述第二手持控制器之间的距离低于阈值并且确定所述手持控制器的加速度与所述第二手持控制器的加速度不同步,
所述方法还包括评估与所述一个或更多个相应的激活条件相关联的运动模型,其中,所述运动模型被配置为将所述控制器状态数据的一个或更多个位置值确定为相对于虚拟躯干的位置的固定位置。
18.根据权利要求13所述的方法,其中,所述手持控制器在所述视场内被第二手持控制器遮挡,
其中,确定指示所述手持控制器的运动行为的控制器测量数据满足与所述运动模型相关联的所述一个或更多个激活条件包括确定在所述手持控制器和所述第二手持控制器之间的距离低于阈值并且所述手持控制器的加速度与所述第二手持控制器的加速度同步,
所述方法还包括评估与所述一个或更多个相应的激活条件相关联的运动模型,其中,所述运动模型被配置为将所述控制器状态数据的一个或更多个位置值确定为相对于所述第二手持控制器的第二位置的固定位置。
19.根据权利要求13所述的方法,
其中,确定指示所述手持控制器的运动行为的控制器测量数据满足与所述运动模型相关联的所述一个或更多个激活条件包括确定由所述手持控制器的惯性测量单元(IMU)提供的最近的绝对值低于第一阈值,并且由所述IMU提供的多个缓冲值的方差低于第二阈值,并且
所述方法还包括评估与所述一个或更多个相应的激活条件相关联的运动模型,其中,所述运动模型被配置为将所述控制器状态数据的一个或更多个位置值确定为在世界参考系中的固定位置。
20.一种非暂时性计算机可读介质,包括指令,所述指令在被执行时使得包括头戴式显示器(HMD)的人工现实系统的一个或更多个处理器:
经由图像捕获设备获得表示物理环境的图像数据;
根据与手持控制器的不同运动行为相关联的多个运动模型中的运动模型来确定所述手持控制器的控制器状态数据,所述多个运动模型中的每一个都与一个或更多个相应的激活条件相关联,其中,根据所述运动模型确定所述控制器状态数据是响应于确定所述手持控制器在所述图像数据中不可跟踪并且指示所述手持控制器的运动行为的控制器测量数据满足与所述运动模型相关联的所述一个或更多个激活条件;
至少部分基于所述控制器状态数据来确定表示所述手持控制器的位置和取向的控制器姿态;以及
根据所述控制器姿态渲染人工现实内容和至少一个图形对象,以在所述HMD处显示。
CN202080037945.4A 2019-05-20 2020-05-19 具有优先化运动模型的多层人工现实控制器姿态跟踪架构 Active CN113892073B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/417,244 US10853991B1 (en) 2019-05-20 2019-05-20 Multi-layered artificial reality controller pose tracking architecture having prioritized motion models
US16/417,244 2019-05-20
PCT/US2020/033652 WO2020236843A1 (en) 2019-05-20 2020-05-19 Multi-layered artificial reality controller pose tracking architecture having prioritized motion models

Publications (2)

Publication Number Publication Date
CN113892073A true CN113892073A (zh) 2022-01-04
CN113892073B CN113892073B (zh) 2024-04-05

Family

ID=70978695

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080037945.4A Active CN113892073B (zh) 2019-05-20 2020-05-19 具有优先化运动模型的多层人工现实控制器姿态跟踪架构

Country Status (7)

Country Link
US (1) US10853991B1 (zh)
EP (1) EP3973373A1 (zh)
JP (1) JP2022532826A (zh)
KR (1) KR20220007723A (zh)
CN (1) CN113892073B (zh)
TW (1) TWI840560B (zh)
WO (1) WO2020236843A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11275453B1 (en) * 2019-09-30 2022-03-15 Snap Inc. Smart ring for manipulating virtual objects displayed by a wearable device
US11073902B1 (en) * 2019-12-30 2021-07-27 Facebook Technologies, Llc Using skeletal position to predict virtual boundary activation
US11277597B1 (en) 2020-03-31 2022-03-15 Snap Inc. Marker-based guided AR experience
US11798429B1 (en) 2020-05-04 2023-10-24 Snap Inc. Virtual tutorials for musical instruments with finger tracking in augmented reality
US11520399B2 (en) 2020-05-26 2022-12-06 Snap Inc. Interactive augmented reality experiences using positional tracking
US11320896B2 (en) * 2020-08-03 2022-05-03 Facebook Technologies, Llc. Systems and methods for object tracking using fused data
US11925863B2 (en) * 2020-09-18 2024-03-12 Snap Inc. Tracking hand gestures for interactive game control in augmented reality
US11546505B2 (en) 2020-09-28 2023-01-03 Snap Inc. Touchless photo capture in response to detected hand gestures
CN116724285A (zh) 2020-12-29 2023-09-08 美国斯耐普公司 用于控制虚拟和图形元素的微手势
US11402634B2 (en) 2020-12-30 2022-08-02 Facebook Technologies, Llc. Hand-locked rendering of virtual objects in artificial reality
US11740313B2 (en) 2020-12-30 2023-08-29 Snap Inc. Augmented reality precision tracking and display
KR20230124077A (ko) 2020-12-30 2023-08-24 스냅 인코포레이티드 증강 현실 정밀 추적 및 디스플레이
US11531402B1 (en) 2021-02-25 2022-12-20 Snap Inc. Bimanual gestures for controlling virtual and graphical elements
KR20230170086A (ko) 2021-04-19 2023-12-18 스냅 인코포레이티드 가상 및 그래픽 엘리먼트들을 애니메이팅하고 제어하기 위한 손 제스처
US11599338B2 (en) * 2021-06-18 2023-03-07 Qingdao Pico Technology Co., Ltd. Model loading method and apparatus for head-mounted display device, and head-mounted display device
US20230041519A1 (en) * 2021-08-09 2023-02-09 Htc Corporation Tracking system, tracking method and non-transitory computer-readable storage medium
US11836301B2 (en) * 2021-08-10 2023-12-05 Qualcomm Incorporated Electronic device for tracking objects
TWI814208B (zh) * 2021-09-28 2023-09-01 宏達國際電子股份有限公司 虛擬影像顯示裝置及其虛擬影像的物件的選取方法
GB2614330B (en) * 2021-12-31 2024-10-02 Sony Interactive Entertainment Europe Ltd Peripheral tracking system and method
US20240126381A1 (en) * 2022-10-14 2024-04-18 Meta Platforms Technologies, Llc Tracking a handheld device
GB2624929A (en) * 2022-12-01 2024-06-05 Sony Interactive Entertainment Inc Systems and methods for mapping and localisation
US11947122B1 (en) * 2022-12-08 2024-04-02 Varjo Technologies Oy Tracking system and method incorporating selective control of light sources of controller
US20240273831A1 (en) * 2023-02-15 2024-08-15 Htc Corporation Method for generating pass-through view with better scale and host

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150352437A1 (en) * 2014-06-09 2015-12-10 Bandai Namco Games Inc. Display control method for head mounted display (hmd) and image generation device
US20170186165A1 (en) * 2015-12-29 2017-06-29 Microsoft Technology Licensing, Llc Tracking rigged smooth-surface models of articulated objects
US20170358139A1 (en) * 2016-06-09 2017-12-14 Alexandru Octavian Balan Robust optical disambiguation and tracking of two or more hand-held controllers with passive optical and inertial tracking
CN107533230A (zh) * 2015-03-06 2018-01-02 索尼互动娱乐股份有限公司 头戴式显示器用追踪系统
US20200051561A1 (en) * 2018-08-13 2020-02-13 Hing Yin Lai Instant key mapping reload and real time key commands translation by voice command through voice recognition device for universal controller

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9255813B2 (en) * 2011-10-14 2016-02-09 Microsoft Technology Licensing, Llc User controlled real object disappearance in a mixed reality display
US9996804B2 (en) 2015-04-10 2018-06-12 Facebook, Inc. Machine learning model tracking platform
US10241587B2 (en) * 2016-12-22 2019-03-26 Microsoft Technology Licensing, Llc Magnetic tracker power duty cycling
US10417731B2 (en) * 2017-04-24 2019-09-17 Intel Corporation Compute optimization mechanism for deep neural networks
US10996742B2 (en) * 2017-10-17 2021-05-04 Logitech Europe S.A. Input device for AR/VR applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150352437A1 (en) * 2014-06-09 2015-12-10 Bandai Namco Games Inc. Display control method for head mounted display (hmd) and image generation device
CN107533230A (zh) * 2015-03-06 2018-01-02 索尼互动娱乐股份有限公司 头戴式显示器用追踪系统
US20170186165A1 (en) * 2015-12-29 2017-06-29 Microsoft Technology Licensing, Llc Tracking rigged smooth-surface models of articulated objects
US20170358139A1 (en) * 2016-06-09 2017-12-14 Alexandru Octavian Balan Robust optical disambiguation and tracking of two or more hand-held controllers with passive optical and inertial tracking
US20200051561A1 (en) * 2018-08-13 2020-02-13 Hing Yin Lai Instant key mapping reload and real time key commands translation by voice command through voice recognition device for universal controller

Also Published As

Publication number Publication date
CN113892073B (zh) 2024-04-05
JP2022532826A (ja) 2022-07-20
TW202111483A (zh) 2021-03-16
WO2020236843A1 (en) 2020-11-26
TWI840560B (zh) 2024-05-01
EP3973373A1 (en) 2022-03-30
KR20220007723A (ko) 2022-01-18
US10853991B1 (en) 2020-12-01
US20200372702A1 (en) 2020-11-26

Similar Documents

Publication Publication Date Title
CN113892073B (zh) 具有优先化运动模型的多层人工现实控制器姿态跟踪架构
JP7531568B2 (ja) Hmd環境での高速中心窩レンダリングのための予測及びgpuに対する最新の更新を伴う視線追跡
US10890983B2 (en) Artificial reality system having a sliding menu
US11055920B1 (en) Performing operations using a mirror in an artificial reality environment
US9928655B1 (en) Predictive rendering of augmented reality content to overlay physical structures
KR102209873B1 (ko) 헤드 마운트 디스플레이를 위한 예측적 트래킹에 기반한 인식
KR20220012990A (ko) 인공 현실 시스템들을 위한 팔 응시-구동 사용자 인터페이스 요소 게이팅
JP2022535315A (ja) 自己触覚型仮想キーボードを有する人工現実システム
US10755486B2 (en) Occlusion using pre-generated 3D models for augmented reality
US10768695B2 (en) Artificial reality system having adaptive degrees of freedom (DOF) selection
US11145126B1 (en) Movement instruction using a mirror in an artificial reality environment
JP2022519975A (ja) 複数の関与モードを有する人工現実システム
KR20220018562A (ko) 인공 현실 시스템을 위한 모서리-식별 제스처-구동 사용자 인터페이스 요소 게이팅
JP2018526716A (ja) 媒介現実
US11036987B1 (en) Presenting artificial reality content using a mirror
US11195320B2 (en) Feed-forward collision avoidance for artificial reality environments
JP2022534639A (ja) 指マッピング自己触覚型入力方法を有する人工現実システム
US11073902B1 (en) Using skeletal position to predict virtual boundary activation
US20230252691A1 (en) Passthrough window object locator in an artificial reality system
US11816757B1 (en) Device-side capture of data representative of an artificial reality environment
US20220405996A1 (en) Program, information processing apparatus, and information processing method
CN113853575B (zh) 具有滑动菜单的人工现实系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: California, USA

Applicant after: Yuan Platform Technology Co.,Ltd.

Address before: California, USA

Applicant before: Facebook Technologies, LLC

GR01 Patent grant
GR01 Patent grant