CN111801642A - 协调用于计算机生成现实设备和触觉设备的坐标系的对准 - Google Patents
协调用于计算机生成现实设备和触觉设备的坐标系的对准 Download PDFInfo
- Publication number
- CN111801642A CN111801642A CN201880090166.3A CN201880090166A CN111801642A CN 111801642 A CN111801642 A CN 111801642A CN 201880090166 A CN201880090166 A CN 201880090166A CN 111801642 A CN111801642 A CN 111801642A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- location
- haptic
- measurement
- cgr
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/014—Hand-worn input/output arrangements, e.g. data gloves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/76—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries based on eigen-space representations, e.g. from pose or different illumination conditions; Shape manifolds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
Abstract
第一电子设备控制第二电子设备以测量所述第一电子设备的位置。所述第一电子设备包括运动传感器、网络接口电路、处理器、以及存储器。所述运动传感器感测所述第一电子设备的运动。所述网络接口电路与所述第二电子设备通信。所述存储器存储由所述处理器执行以执行操作的程序代码,所述操作包括:响应于确定所述第一电子设备具有满足所定义规则的运动等级,发送对所述第二电子设备测量所述第一电子设备的位置的请求。感测所述第一电子设备的所述位置并且然后将其存储在所述存储器中。从所述第二电子设备接收确认,所述确认指示所述第二电子设备已存储能够用于测量所述第一电子设备的所述位置的传感器数据。
Description
技术领域
本公开涉及触觉设备与计算机生成现实设备(诸如混合现实设备和虚拟现实设备)的交互。
背景技术
触觉设备和混合现实或虚拟现实(MR或VR)设备将成为社会用于人际通信、游戏和其他应用的未来设备生态系统的日益增加的部分。混合现实计算机系统用计算机生成的虚拟对象来增强用户在现实世界中看到的内容,这些虚拟对象的姿势使虚拟对象在用户看来犹如它们存在于现实世界中。相比之下,虚拟现实计算机系统生成完全虚拟的对象世界,而不是将对象覆盖在现实世界上。两种类型的系统都可以使用户能够使用特殊的电子设备以看似真实或物理的方式进行交互,该特殊的电子设备例如包括头戴式显示器(其向用户显示计算机生成的对象)和触觉设备(其跟踪用户的移动并且可以向用户提供触觉反馈)。本文使用术语“计算机生成现实(CGR)”来共同指代MR型系统和VR型系统。因此,除非在下面的特定示例中另外定义,否则本文描述的CGR系统因此可以是MR系统或VR系统。
在CGR系统中,触觉设备可以向用户提供触觉反馈,该触觉反馈使用户能够在通过CGR设备的显示器查看虚拟对象的同时感觉虚拟对象。CGR系统的一个具有挑战性的问题是如何在触觉设备的坐标系(例如设备的工作空间)与CGR设备的坐标系(其可以用于显示基于照相机图像生成的3D计算机生成对象)之间提供对准。
在CGR世界中集成了触觉设备的一些已知的混合现实系统使用外部跟踪系统。例如,GO TOUCH VR品牌系统和Ultrahaptics品牌系统使用Leap Motion品牌手部跟踪设备。HTC Vive品牌产品使用外部跟踪系统来跟踪其外围设备和耳机设备,这不需要坐标系对准,因为同一跟踪系统被用于跟踪所有设备。HTC Vive的缺点是必须在单个房间内使用,并且因此不能在这些范围之外移动。
因此,需要提供一种CGR系统,该CGR系统提供改进的触觉设备的坐标系和CGR设备的坐标系的自动对准。
发明内容
本文公开的一些实施例涉及一种第一电子设备,其控制第二电子设备以测量所述第一电子设备的位置。所述第一电子设备包括运动传感器、网络接口电路、处理器、以及存储器。所述运动传感器被配置为感测所述第一电子设备的运动。所述网络接口电路被配置为与所述第二电子设备通信。所述处理器被连接到所述运动传感器和所述网络接口电路。所述存储器存储由所述处理器执行以执行操作的程序代码,所述操作包括:响应于确定所述第一电子设备具有由所述运动传感器感测的满足所定义规则的运动等级,发送对所述第二电子设备测量所述第一电子设备的位置的请求。所述操作还包括:感测所述第一电子设备的所述位置并将其存储在所述存储器中,以及从所述第二电子设备接收确认,所述确认指示所述第二电子设备已存储能够被用于测量所述第一电子设备的所述位置的传感器数据。
在一些其他实施例中,所述第一电子设备包括触觉设备,所述触觉设备被配置为执行以下中的至少一项:测量用户对所述触觉设备的移动;以及向用户提供触觉反馈。所述请求被发送给包括CGR设备的所述第二电子设备,所述CGR设备被配置为将图形显示为在现实世界对象上的覆盖物。从所述CGR设备接收对所述触觉设备的所述位置的测量。然后,基于从所述存储器中取得的所述触觉设备的所述位置并且基于从所述CGR设备接收的对所述触觉设备的所述位置的所述测量,确定用于将在第一坐标系中被参考的姿势变换为在第二坐标系中被参考的姿势的变换矩阵。所述第一坐标系和所述第二坐标系中的一个坐标系用于参考所述触觉设备和所述CGR设备中的一个设备的姿势,而所述第一坐标系和所述第二坐标系中的另一个坐标系用于参考所述触觉设备和所述CGR设备中的另一个设备的姿势。
这些操作的潜在优势是能够以相对于现有技术方法被更一致地重复的操作精度来生成坐标系之间的变换矩阵。当第一电子设备被确定为具有满足所定义规则的运动等级时,例如当第一电子设备静止时,第二电子设备测量第一电子设备的位置。因此,第一电子设备和第二电子设备更可能测量第一电子设备的相同位置,这增加了所得到的在相应坐标系之间的变换矩阵的精度。当第一电子设备具有恒定速率时,所定义规则也可以被满足,因为由第一电子设备和第二电子设备测量的位置之间的差能够使用第一电子设备的已知恒定速率以数学方式被补偿,这又提高了所得到的变换矩阵的精度。
一些其他相关实施例涉及一种第二电子设备,其用于测量第一电子设备相对于所述第二电子设备的位置。所述第二电子设备包括传感器、网络接口电路、处理器、以及存储器。所述传感器被配置为输出能够指示所述第一电子设备的位置的传感器数据。所述网络接口电路被配置为与所述第一电子设备通信。所述处理器被连接到所述传感器和所述网络接口电路。所述存储器存储由所述处理器执行以执行操作的程序代码,所述操作包括:接收用于发送所述第二电子设备对所述第一电子设备的位置的测量的请求。所述操作还包括:响应于所述请求,发起用于生成对所述第一电子设备的所述位置的测量的操作,以及将由所述传感器输出的能够指示所述第一电子设备的所述位置的传感器数据存储在所述存储器中。发送指示所述传感器数据已被存储的确认。基于被存储在所述存储器中的所述传感器数据来生成对所述第一电子设备的所述位置的测量,以及从所述第二电子设备发送所述测量。
在一些其他实施例中,所述操作还包括:确定中止消息是否已被接收,所述中止消息指示在从所述请求被接收到所述确认被由所述第二电子设备发送之间的时间间隔内感测的所述第一电子设备的运动等级已经不再满足所述所定义规则。响应于所述确定是未接收到中止消息,执行用于发送对所述第一电子设备的所述位置的所述测量的所述操作。
一些其他相关实施例涉及一种服务器,其包括网络接口电路、处理器、以及存储器。所述网络接口电路被配置为与第一电子设备和第二电子设备通信。所述处理器被连接到所述网络接口电路。所述存储器存储由所述处理器执行以执行操作的程序代码,所述操作包括:从所述第一电子设备接收所述第一电子设备对所述第一电子设备的位置的测量。所述操作还包括:从第二电子设备接收所述第二电子设备对所述第一电子设备的位置的测量,以及响应于从所述第一电子设备接收的所述第一电子设备的所述位置和从所述第二电子设备接收的所述位置,生成用于将在第一坐标系中被参考的姿势变换为在第二坐标系中被参考的姿势的变换矩阵。所述第一坐标系和所述第二坐标系中的一个坐标系用于参考所述第一电子设备和所述第二电子设备中的一个电子设备的姿势,而所述第一坐标系和所述第二坐标系中的另一个坐标系用于参考所述第一电子设备和所述第二电子设备中的另一个电子设备的姿势。
一些相关实施例涉及一种第一电子设备用于控制第二电子设备以测量所述第一电子设备的位置的方法。所述方法包括:通过发送对所述第二电子设备测量所述第一电子设备的位置的请求,响应所述第一电子设备具有满足所定义规则的运动等级的确定,以及感测所述第一电子设备的所述位置并将其存储在存储器中。从所述第二电子设备接收确认,所述确认指示所述第二电子设备已存储能够被用于测量所述第一电子设备的所述位置的传感器数据。
一些其他相关实施例涉及一种第二电子设备用于测量第一电子设备相对于所述第二电子设备的位置的方法。所述方法包括:接收用于发送所述第二电子设备对所述第一电子设备的位置的测量的请求。响应于所述请求,所述方法发起用于生成对所述第一电子设备的所述位置的测量的操作,以及将由传感器输出的能够指示所述第一电子设备的所述位置的传感器数据存储在存储器中。发送指示所述传感器数据已被存储的确认。基于被存储在所述存储器中的所述传感器数据来生成对所述第一电子设备的所述位置的测量。从所述第二电子设备发送对所述第一电子设备的所述位置的所述测量。
一些其他相关实施例涉及一种服务器的方法。所述方法包括:从第一电子设备接收所述第一电子设备对所述第一电子设备的位置的测量。从第二电子设备接收所述第二电子设备对所述第一电子设备的位置的测量。响应于从所述第一电子设备接收的所述第一电子设备的所述位置和从所述第二电子设备接收的所述位置,生成用于将在第一坐标系中被参考的姿势变换为在第二坐标系中被参考的姿势的变换矩阵。所述第一坐标系和所述第二坐标系中的一个坐标系用于参考所述第一电子设备和所述第二电子设备中的一个电子设备的姿势,而所述第一坐标系和所述第二坐标系中的另一个坐标系用于参考所述第一电子设备和所述第二电子设备中的另一个电子设备的姿势。
在阅读以下附图和详细描述时,根据实施例的其他电子设备、服务器和对应的方法对于本领域技术人员而言将显而易见或变得显而易见。旨在将所有这样的附加电子设备、服务器和对应的方法包括在本说明书内并且由所附权利要求来保护。
附图说明
本公开的各方面通过示例的方式示出,并且不受附图的限制。在附图中:
图1示出了包括根据本公开的一些实施例操作的触觉设备和CGR设备的CGR系统;
图2示出了根据本公开的一些实施例操作的触觉设备和CGR设备的操作的数据流图和流程图;
图3a和3b示出了根据本公开的一些实施例操作的触觉设备、服务器和CGR设备的操作的数据流图和流程图;
图4a和4b示出了根据本公开的一些其他实施例操作的触觉设备、服务器和CGR设备的操作的另一个数据流图和流程图;
图5示出了具有面向用户的照相机并根据本公开的一些实施例操作的另一种类型的CGR设备;
图6示出了根据本公开的一些实施例的CGR设备的发起生成更新后的变换矩阵的操作的流程图;
图7是根据本公开的一些其他实施例配置的触觉设备组件的框图;
图8是根据本公开的一些其他实施例配置的CGR设备组件的框图;以及
图9是根据本公开的一些其他实施例配置的服务器组件的框图。
具体实施方式
现在将在以下参考附图更全面地描述本发明的概念,在附图中示出了本发明的概念的实施例的示例。但是,本发明的概念可以以多种不同的形式体现,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例以使得本公开详尽并完整,并且将各种本发明概念的范围完全传达给本领域技术人员。还应该注意,这些实施例并不相互排斥。来自一个实施例的组件可以默认地被假设为在另一个实施例中存在/被使用。
触觉设备的坐标系和CGR设备的坐标系可以通过使用变换矩阵来被对准,这使得能够将在一个坐标系中被参考的对象或设备的位置和/或旋转角度(例如,6自由度(DOF)坐标系的位置和旋转)变换到另一个坐标系。可以使用CGR设备的传感器(例如MR设备的前置照相机)以检测触觉设备在MR设备的坐标系中的位置、以及触觉设备的机载传感器(这些机载传感器用于跟踪触觉设备的运动(例如基于Geomagic Touch或GO TOUCH VR设备)并且检测触觉设备在触觉设备的坐标系中的位置)来生成变换矩阵。基于触觉设备在触觉设备坐标系中的位置和触觉设备在CGR设备坐标系中的位置,可以生成将两个坐标系相关的变换矩阵。通过由触觉设备中的传感器进行若干位置测量和/或由CGR设备中的传感器进行若干位置测量,可以提高变换矩阵的精度。使用例如最小平方或其他回归方法来计算更好地近似两个坐标系之间的关系的变换矩阵。
如本文使用的,术语“姿势”指设备相对于所定义坐标系的位置和/或旋转角度。因此,姿势可以仅基于设备的多维位置、设备的多维旋转角度、或它们的组合而被定义。术语“位置或姿势”指位置、旋转角度、或它们的组合。
如上所述,对准两个电子设备(例如触觉设备和CGR设备)的坐标系可能具有挑战性。当两个设备在它们的传感器测量不同步时,例如当触觉设备以1kHz测量其位置(例如,如通过Geomagic Touch完成)时并且当CGR设备以60Hz拍摄图像(例如,如通过MicrosoftHololens完成)时,挑战更加严峻。例如,Hololens设备可能需要10ms到50ms来处理它拍摄的触觉设备的图像以测量触觉设备的位置,这具体取决于在Hololens设备中运行的其他任务。为了准确地计算坐标系之间的变换,系统应当确保来自用于计算变换的两个设备的测量定时相同,即,位置对与同时进行的测量相对应,或者知道测量定时之间的时间偏移。
一种用于确保设备位置的几乎同时感测的方法是将CGR系统配置为在操作上同步设备的感测操作,并且在Hololens计算测量延迟,然后找到来自触觉设备的位置测量,该位置测量对应于在相同时间由Hololens捕获的位置测量。这种需要复杂同步操作和算法的同步感测方法容易出现同步错误(例如,设备的同步时钟的漂移),由于设备之间的通信网络的延迟可变性而对同步精度产生有害影响,并且需要在设备之间频繁传递与维持和测量同步相关的消息。
本公开的实施例涉及提供改进的两个电子设备(例如触觉设备和MR设备或其他CGR设备)之间的坐标系的对准。触觉设备可以感测触觉设备在它自己的坐标系中的位置,而CGR设备能够感测触觉设备在CGR设备的坐标系(其可以与用于CGR设备的照相机的坐标系相同)中的位置。
本公开的一些实施例可以通过使用降低复杂度的运算算法并且减少设备之间的通信需要来执行两个设备的坐标系的对准。在一些实施例中,触觉设备使用其相对快速的位置测量来识别触觉设备何时是静止的(即,设备的速度低于噪声等级阈值),并且响应于此,向CGR设备发送用于感测触觉设备(在CGR设备坐标系中)的位置的请求,并且触觉设备自身也捕获它自己的位置(在触觉设备坐标系中)。因为触觉设备是静止的,所以由CGR设备和触觉设备两者感测的位置是相同的,从而消除了对准运算使用有关每个设备何时完成其相应位置感测的任何定时信息的需要。可以在每个设备处进行不同静止位置的数个感测测量,并且将这些测量用于计算两个坐标系之间的变换以改进坐标系的对准。如将在下面进一步详细解释的,尽管触觉设备正在移动,例如当触觉设备确定其具有基本恒定的速率时(即,当触觉设备在时间间隔内的平移和/或旋转速率变化不超过所定义阈值量时),触觉设备也可以触发自己感测触觉设备的位置和由CGR设备感测触觉设备的位置。
尽管本文在与触觉设备结合使用的MR设备和其他CGR设备的上下文中公开了各种实施例,但是这些实施例不限于此。本公开的实施例可以操作以提供用作任意两种类型的电子设备的参考的坐标系的对准,例如,在任何显示设备(例如MR设备、VR设备、智能电话屏幕)之间的对准,该显示设备被配置为感测另一个设备的位置,该另一个设备被配置为感测它自己的位置(例如,可以由用户移动的触觉设备或游戏对象,例如游戏控制器或游戏剑、枪型方向盘等)。
图1示出了包括根据本公开的一些实施例操作的触觉设备130和CGR设备100的CGR系统。
参考图1,示例CGR设备100可以是具有前置照相机110的MR设备,前置照相机110被配置为以光学方式感测触觉设备130的位置。CGR设备100可以被配置为将图形对象显示为在可通过照相机110查看和/或可通过透视显示器(例如Google Glass)查看的现实世界对象上的覆盖物。图形对象可以由MR设备和/或服务器140来生成。CGR设备100可以包括一个或多个扬声器120。
触觉设备130包括感测触觉设备130的当前位置的机载传感器。触觉设备130可以包括触觉反馈生成设备750(图7),其被配置为向用户提供触觉反馈,例如力反馈和/或振动反馈。机载传感器可以包括运动传感器740(图7)、旋转和/或平移位置编码器、红外(IR)定位系统、和/或被配置为感测触觉设备130的当前位置或姿势的其他传感器。触觉设备130可以包括Geomagic Touch产品的组件。在一个实施例中,使用触觉设备130的电动机中的编码器以1kHz测量位置或姿势。触觉设备130和CGR设备100包括网络接口电路,其可以被配置为通过有线和/或无线通信链路彼此直接通信和/或经由服务器140或另一个设备(例如网络路由器或中继器)来通信。
CGR设备100可以使用照相机110和/或使用被配置为感测触觉设备130的当前位置或姿势的运动传感器(例如惯性测量单元)来感测它的当前位置或姿势。替代地,CGR设备100可以使用照相机110、被配置为执行向触觉设备130发送和/或从触觉设备130接收的RF信号的三角测量的被间隔开的RF发射机和接收机(例如超宽带或Wi-Fi无线电)、和/或使用被配置为感测触觉设备130的当前位置或姿势的另一个传感器,来感测触觉设备130的当前位置或姿势。CGR设备100可以包括Microsoft Hololens产品的组件,例如MicrosoftHololens产品的照相机和通信电路。
在下面的示例实施例的描述中,触觉设备130在齐次坐标中的位置被称为P,其中P=[p 1]T([…]T表示矩阵[…]的转置)。项p是向量并且p=[X,Y,Z]表示触觉设备130在笛卡尔坐标中的三维(3D)位置。此外,项S(P)被定义为在触觉设备130的坐标系中所有被记录的触觉设备130位置的集合。触觉设备130相对于CGR设备100的坐标系的位置在齐次坐标中被称为PCGR,其中PCGR=[pCGR 1]T和pCGR=[XCGR,YCGR,ZCGR]是在笛卡尔坐标系中。CGR设备100的位置集合是SCGR(PCGR)。由触觉设备130和CGR设备100两者感测的每对触觉设备位置的集合被存储在集合Q(P,PCGR)中。
项ε(epsilon)指可以由用户和/或由可执行应用来定义的常数值。
在图1的示例中,触觉设备130被配置为感测它在第一6DOF坐标系中的姿势,该姿势被示为平移方向X'、Y'、Z'和旋转方向θx'、θy'、θz'(其可以对应于翻滚、俯仰、以及偏航)。类似地,CGR设备100被配置为感测触觉设备130在第二6DOF坐标系中的位置,该位置被示为平移方向X、Y、Z和旋转方向θx、θy、θz(其可以对应于翻滚、俯仰、以及偏航)。然而,实施例可以与任何多维坐标系一起使用。
根据本文的各种实施例,触觉设备130、CGR设备100和/或服务器140被配置为生成用于将在第一坐标系和第二坐标系中的一个坐标系中被参考的姿势(例如,位置、旋转角度、和/或它们的组合)变换到第一坐标系和第二坐标系中的另一个坐标系的变换矩阵,以及还可以生成用于将在第一坐标系和第二坐标系中的另一个坐标系中的另一个方向上的姿势变换到第一坐标系和第二坐标系中的一个坐标系的另一个变换矩阵。触觉设备130可以生成变换矩阵并将其传送到CGR设备100,以使得CGR设备100能够针对用户调整CGR设备100在显示设备850(图8)上显示的对象的姿势。
例如,虚拟对象可以具有在由触觉设备130参考的第一坐标系中定义的触觉属性。CGR设备100可以例如从触觉设备130自身和/或从服务器140接收有关虚拟对象的元数据,其中元数据可以包括虚拟对象的形状、色差、以及相对于第一坐标系的姿势。触觉设备130可以向CGR设备100发送变换矩阵,以使得CGR设备100将虚拟对象的元数据(例如姿势)从触觉设备130的第一坐标系变换到CGR设备100的第二坐标系。然后,CGR设备100可以使用变换后的元数据在显示设备上显示虚拟对象以供用户查看。这些操作使虚拟对象能够更准确地被示出,并且使它的触觉属性相对于真实对象(例如相对于用户的手指、手、手臂或其他物理对象)在操作上被跟踪。
虚拟对象的触觉属性可以使得CGR设备100控制触觉设备130在触觉属性被满足时(例如,当用户的手指被确定为已在位置上触摸虚拟对象的表面时)向用户提供触觉反馈。替代地或附加地,虚拟对象的触觉属性可以使得CGR设备100移动和/或旋转所显示的虚拟对象,或者响应于确定触觉属性被满足(例如,当用户的手指被确定为已在位置上触摸虚拟对象的表面时)而以其他方式改变虚拟对象的所显示的外观。
相反地,在CGR设备100的第二坐标系中创建的新的虚拟对象可以使其元数据被发送到触觉设备130,以例如控制由触觉设备130提供给用户的反馈和/或控制触觉设备130相对于该新的虚拟对象的位置确定。触觉设备130使用该元数据来计算用于将虚拟对象的姿势从CGR设备100的第二坐标系变换到触觉设备130的第一坐标系的变换矩阵。
图2示出了可以由根据本公开的一些实施例操作的触觉设备130和CGR设备110执行的其他示例操作的数据流图和流程图。图7是根据本公开的一些其他实施例配置的触觉设备组件的框图,而图8是根据本公开的一些其他实施例的可以在上述CGR设备100和/或CGR设备500中使用的CGR设备组件的框图。
参考图2,并且还参考图7和8(将在下面进一步详细描述),触觉设备130控制CGR设备100以测量触觉设备130的位置。图2的触觉设备130被配置为确定图1的第一坐标系与第二坐标系之间的变换矩阵。
触觉设备包括运动传感器740、网络接口730、处理器710、以及存储器720。运动传感器740被配置为感测触觉设备130的运动。网络接口电路730被配置为例如通过直接无线和/或有线通信与触觉设备130通信,和/或与服务器140通信。处理器710被连接到运动传感器740和网络接口电路730。存储器720存储由处理器710执行以执行操作的程序代码,在下面针对图2解释这些操作。
CGR设备100测量触觉设备130相对于CGR设备100的位置,CGR设备100包括传感器110、网络接口电路830、处理器810、以及存储器820。传感器110被配置为输出能够指示触觉设备130的位置的传感器数据。网络接口电路830被配置为与触觉设备130通信。处理器810被连接到传感器110和网络接口电路830。存储器820存储由处理器810执行以执行操作的程序代码,也在下面针对图2解释这些操作。
触觉设备可以向CGR设备100传送200配对请求,CGR设备100可以响应地接收210该请求。用户可以通过按下按钮或通过启动由触觉设备130执行的应用来发起操作200。当确定需要坐标系对准或更新后的对准时,例如当由用户触发和/或由CGR设备100自动触发时,可以附加地或替代地触发操作200,如将在下面针对图6描述的那样。CGR设备100可以使用面向眼睛的照相机从用户捕获角膜图像,CGR设备100分析该图像以确定在CGR设备100的显示设备850上显示的虚拟计算机生成对象的图形与由用户查看的真实世界对象的图形之间何时存在过度的未对准。然后,当存在过度的未对准时,CGR设备100可以触发变换矩阵的更新。
如将在下面针对图6进一步详细解释的,可以分析角膜图像以识别第一坐标系与第二坐标系之间的过度未对准的出现,诸如应当与特定真实对象对准的虚拟对象何时在第一坐标系与第二坐标系之间有过度的未对准。
传感器(例如前置照相机110)可以在未被使用时被关闭以节省电力。CGR设备100可以通过开启212它将用于测量触觉设备130的位置的传感器来响应该请求。触觉设备130操作运动传感器740以感测202它的运动。响应于确定204触觉设备130具有由运动传感器740感测的满足所定义规则的运动等级,触觉设备130发送206对CGR设备100测量触觉设备130的位置的请求。
当例如存在以下一个或多个条件时,触觉设备130可以确定其运动等级满足所定义规则:
a)VP<=ε
在一个实施例中,ε值约为0或是另一个所定义阈值。ε值为0很难观察到,因为触觉设备130可能经历非常小的运动和/或运动传感器740的输出可能受到噪声和/或漂移的影响。因此,ε的值可以基于针对用于坐标系对准的所得到的变换矩阵的所需精度等级来被选择。然后,触觉设备位置P被存储在S和Q中。所定义规则还可以包括确定当前测量的位置P是否已经在记录位置集合S中和/或当前测量的位置是否因为自其确定以来经过了阈值时间而到期。
上面的条件(b)通常可能更有利,因为将来可以执行对测量的请求,这减少了从CGR设备100接收位置测量的延迟。从触觉设备130到CGR设备100的对测量的请求以及在用于捕获图像的操作中引起非零延迟。延迟可能足以使触觉设备130的移动发生。但是,使用预测请求能够实现对这种延迟的计算补偿以及坐标系的更一致的对准,而不管触觉设备130的运动。
通过将测量限制为在触觉设备130具有低于所定义阈值的旋转速度时发生,可以改进CGR设备100对触觉设备130的位置测量。
在附加实施例中,当认识到需要位置测量时,可以例如经由CGR设备100的显示器来请求用户停止移动触觉设备130。类似地,可以请求用户将触觉设备130相应地移动到尚且不是集合S和Q的一部分的某个位置或一对不同的位置。可以经由通过触觉设备130提供的触觉反馈、通过经由CGR设备100的扬声器120的音频反馈、和/或通过在CGR设备100的显示设备850上显示的信息,向用户提供这种指导。
进一步参考图2,当满足所定义规则时,触觉设备130感测触觉设备130的位置并将其存储208在存储器720中。CGR设备100接收214请求,并且响应地发起216用于生成对触觉设备130的位置的测量的操作。CGR设备100在存储器820中存储218由传感器输出的能够指示触觉设备130的位置的传感器数据,例如来自照相机110的数字图片。然后,CGR设备100发送220指示传感器数据已被存储的确认。
触觉设备130从CGR设备100接收222确认,该确认指示CGR设备100已存储能够被用于测量触觉设备130的位置的传感器数据。触觉设备130可以确定224中止条件是否已发生,在该中止条件中,在从请求被发送206给CGR设备100到该确认被从CGR设备100接收222之间的时间间隔内感测的触觉设备130的运动等级已经不再满足所定义规则。响应于中止条件发生,触觉设备130向CGR设备100发送226中止用于测量触觉设备130的位置的操作的中止消息。
在一个说明性实施例中,当触觉设备130未移动或以其他方式具有满足所定义规则的运动时,执行用于确定第一坐标系与第二坐标系之间的变换矩阵的其他操作。相比之下,当确定触觉设备130已移动或以其他方式具有不满足所定义规则的运动时,向CGR设备100发送用于取消它对触觉设备130的位置的当前测量的消息。
假设T1是对测量的请求被发送206给CGR设备100的时间,并且假设T2是ACK被接收222的时间,则当触觉设备130被确定为在T1与T2之间的时间间隔内具有违反所定义规则的运动时,向CGR设备100发送226中止测量的消息,因为所存储的触觉设备位置的传感器数据指示不再有效。相比之下,当触觉设备130被确定为在T1与T2之间的时间间隔内没有违反所定义规则的运动时,触觉设备130继续操作以确定变换矩阵。
时间T2-T1可以基于或等于Delta_N*2+Delta_C,其中Delta_N是网络延迟,Delta_C是对新图像的请求被发送206与图像被获取并被存储在CGR设备100的存储器中以供后续处理以便确定触觉设备130的位置之间的时间。Delta_C可以基于照相机帧速率(例如60Hz)来被定义,网络延迟可以是大约1ms到大约5ms,具体取决于用于通信的网络通信协议和路径、通信是否由于与其他设备和/或同一设备上的其他应用共享通信资源而被延迟。因此,T2-T1可以是大约20ms,这是触觉设备不应移动或不应以其他方式具有超出所定义规则的运动的可接受时长。
对于服务器140被用于从触觉设备130和CGR设备100两者收集测量的位置并且执行用于确定用于坐标系对准变换的变换矩阵的操作的情况,如果接收到来自触觉设备130的消息,并且该消息具有在从CGR设备100接收ACK之后的Delta_B秒触觉设备130已移动的信息(其中Delta_B高于最大可容许Delta_N),则服务器140向CGR设备100发送消息以中止其收集测量的位置以及中止执行用于确定变换矩阵的操作。
进一步参考图2,CGR设备100确定228中止消息是否已被接收,该中止消息指示在从请求被接收214到确认被发送220之间的时间间隔内感测的触觉设备130的运动等级已经不再满足所定义规则。响应于未接收到中止消息,CGR设备100基于被存储在存储器中的传感器数据来完成对触觉设备130的位置的测量的生成230,并且发送232对触觉设备130的位置的测量。因此,响应于确定228是未接收到中止消息,执行对触觉设备130的位置的测量的发送。
在一个实施例中,CGR设备100使用位置估计算法(例如基于视觉的位置识别操作,其处理由照相机110存储218在存储器中的触觉设备130的数字照片)来估计触觉设备130在CGR设备100的第二坐标系中的位置。指示数字照片已被捕获的确认(ACK)被发送220给触觉设备130。位置估计算法继续被执行以使用所存储的数字照片来估计触觉设备130的位置,尽管一旦确定数字照片被存储在存储器中,确认消息就被发送220。
基于视觉的位置估计算法可以基于识别被连接到触觉设备130或在触觉设备130上可见的一个或多个标记、触觉设备130的外壳的一部分、和/或触觉设备130的另一个视觉上可识别的特征来确定位置。该算法可以基于由Hololens产品使用的算法,Hololens产品使用HololensARToolKit,其从捕获数字图片到输出被附接到触觉设备130的标记的位置估计将花费20到50ms。替代地或附加地,基于视觉的位置估计算法可以基于通过开源计算机视觉库(OpenCV)提供的一种或多种算法。
在一些其他实施例中,使用被配置为执行向触觉设备130发送和/或从触觉设备130接收的RF信号的三角测量的被间隔开的RF发射机和接收机(例如超宽带或Wi-Fi无线电)来估计触觉设备的位置。
触觉设备130接收234对在CGR设备100的第二坐标系中被参考的触觉设备130的位置PAR的测量。在第二坐标系中测量的触觉设备位置PCGR可以被存储在SCGR和Q中。
触觉设备130基于从触觉设备130的存储器中取得的触觉设备130的位置并且基于从CGR设备100接收的触觉设备130的位置,响应地确定236用于将在第一坐标系和第二坐标系中的一个坐标系中被参考的姿势(即位置、旋转角度和/或它们的组合)变换为在第一坐标系和第二坐标系中的另一个坐标系中被参考的姿势的变换矩阵。
在一个实施例中,当集合Q中的线性独立位置向量的数量大于N时(即rank(Q)>=N),可以执行在触觉设备130的第一坐标系与CGR设备100的第二坐标系之间的变换矩阵的计算。为了针对位置和方向两者执行变换矩阵的计算,集合Q中的线性独立向量的数量大于N>=12(这是要在变换矩阵中识别的最小参数数量)。可以经由最小平方运算来执行变换矩阵的计算,其中这些运算找到将两个坐标系关联为PCGR=T*P的变换T,其中PCGR=[pCGR 1]T,P=[p 1]T并且其中 并且t=[t1,t2,t3]T,假设M=[P(1)T;P(2)T;…;P(n)T]和MCGR=[PCGR(1)T;PCGR(2)T;…;PCGR(n)T]是分别由针对集合Q中的所有测量i的姿势测量P和PCGR组成的列矩阵。变换T被获得为最小化||M*TT–MCGR||的变换。还可以使用诸如直接线性变换(DLT)之类的其他方法来计算变换矩阵。
变换矩阵可以被用于238控制触觉设备130和/或可以被发送到CGR设备100和/或服务器140。例如,变换矩阵可以被用于将触觉设备130的姿势从第一坐标系和第二坐标系中的一个坐标系变换到第一坐标系和第二坐标系中的另一个坐标系,以生成变换后的姿势。触觉设备130对触觉反馈的生成可以基于变换后的姿势来被控制。替代地或附加地,CGR设备100可以基于变换矩阵(例如,通过在显示设备上显示具有基于变换矩阵被确定的姿势的图形对象)来被控制240。
在一些实施例中,例如在从请求被发送206给CGR设备100(时间T1)到确认被从CGR设备100接收222(时间T2)之间的时间间隔内触觉设备130保持静止时,确定204由运动传感器740感测的运动等级满足所定义规则。
相比之下,在一些其他实施例中,在T1与T2之间的时间间隔内触觉设备130保持静止或速率的变化不超过所定义阈值量时,所定义规则被满足。然后,基于从存储器720中取得的触觉设备130的位置被确定为由于触觉设备130的速率而在T1与T2之间的时间间隔的至少一部分内已改变的量,执行用于估计触觉设备130的更新后的位置的操作。触觉设备130从CGR设备100接收234对触觉设备130的位置的测量。然后,触觉设备130可以基于触觉设备130的更新后的位置并且基于从CGR设备100接收的对触觉设备130的位置的测量,确定236用于将在第一坐标系和第二坐标系中的一个坐标系中被参考的姿势变换为在第一坐标系和第二坐标系中的另一个坐标系中被参考的姿势的变换矩阵。
图3a和3b示出了根据本公开的一些实施例操作的触觉设备130、服务器140、以及CGR设备100的操作的数据流图和流程图。在所示操作中,服务器140生成在触觉设备130的第一坐标系与CGR设备100的第二坐标系之间的变换矩阵。
参考图3a和3b,触觉设备130生成300配对请求,该请求被传送到CGR设备100以便接收304,并且该请求可以通过服务器140被中继302。触觉设备130感测306它的运动,并且等待确定308运动等级满足所定义规则,例如通过基本不运动或具有可接受的恒定速率。响应于该确定,触觉设备130向CGR设备100发送310对向服务器140发送触觉设备位置的测量的请求。CGR设备100接收330对于测量的请求,该请求可以被服务器140转发或被以其他方式观察312到。
触觉设备130例如经由运动传感器740来感测316它的当前位置,并且向服务器140发送318所感测的位置。服务器响应于观察到312请求或响应于从触觉设备130接收320测量,发起314用于生成变换矩阵的操作。CGR设备100通过发起332用于生成触觉设备位置的测量的操作来响应所接收的330请求,并且存储334由传感器输出的传感器数据(例如来自照相机110的数字图片),CGR设备100或服务器140可以使用该传感器数据来确定触觉设备位置。响应于存储传感器数据,CGR设备100发送336用于由触觉设备130接收340的确认。服务器140可以转发或以其他方式观察到338确认。
CGR设备100向服务器140发送350对触觉设备位置的测量,服务器140接收370该测量。触觉设备130在接收370触觉设备位置测量之前或之后,确定360它是否在从请求被发送310(时间T1)到确认被接收340(时间T2)之间的时间间隔内已移动,或者在该时间间隔内以其他方式具有不满足所定义规则的运动(例如,具有满足所定义规则的基本恒定的平移和/或旋转速率)。
当触觉设备130具有不满足所定义规则的运动时,中止消息可以被发送362到服务器140,并且当由服务器140接收372时,该中止消息触发服务器140基于触觉设备130的位置测量和CGR设备100的位置测量来中止变换矩阵的生成。相比之下,当触觉设备130保持静止或以其他方式具有满足所定义规则的运动时,服务器140完成在第一坐标系与第二坐标系之间的变换矩阵的生成374。
然后,变换矩阵可以被用于控制380触觉设备生成触觉反馈。替代地或附加地,变换矩阵可以被用于控制380在CGR设备100的显示设备上显示具有基于变换矩阵确定的姿势的图形对象。例如,CGR设备100可以使用变换矩阵来操纵被显示的图形对象,例如方式为:定位、旋转对象、调整对象的色差、和/或基于对象的处理度量通过变换矩阵来调整对象的形状。
图4a和4b示出了根据本公开的一些其他实施例操作的触觉设备130、服务器140、以及CGR设备100的操作的另一个数据流图和流程图。在所示操作中,CGR设备100和/或服务器140生成在触觉设备130的第一坐标系与CGR设备100的第二坐标系之间的变换矩阵。
参考图4a和4b,触觉设备130生成400配对请求,该请求被传送到CGR设备100以便接收404,并且可以通过服务器140被中继402。触觉设备130感测406它的运动,并且等待运动等级满足所定义规则(例如通过基本不运动(静止)或具有可接受的恒定速率)的确定408。响应于该确定,触觉设备130向CGR设备100发送410用于生成对触觉设备位置的测量的请求。CGR设备100接收430对测量的请求,该请求可以由服务器140转发或被以其他方式观察412。
触觉设备130例如经由运动传感器740来感测416它的当前位置,并且向服务器140和/或CGR设备100发送418所感测的位置。CGR设备100通过发起432用于生成对触觉设备位置的测量的操作来响应所接收的430请求,并且存储434由传感器输出的传感器数据(例如来自照相机110的数字图片),CGR设备100或服务器140可以使用该传感器数据来确定触觉设备位置。响应于存储传感器数据,CGR设备100发送436用于由触觉设备130接收440的确认。服务器140可以转发或以其他方式观察到438确认。
触觉设备130确定460它在从请求被发送410(时间T1)到确认被接收440(时间T2)之间的时间间隔内是否已移动,或者在该时间间隔内以其他方式具有不满足所定义规则的运动(例如具有满足所定义规则的基本恒定的平移和/或旋转速率)。
当触觉设备130具有不满足所定义规则的运动时,中止消息可以被发送462给CGR设备100和/或服务器140,CGR设备100和/或服务器140可以转发464报告消息。如果中止消息被接收,则中止消息触发CGR设备100中止452对触觉设备位置的测量的生成。相比之下,当触觉设备130保持静止或以其他方式具有满足所定义规则的运动时,CGR设备100未接收到中止消息并且因此完成对触觉设备位置的测量的生成454,并且可以操作以向服务器发送456测量以便接收466。
CGR设备100可以接收457由触觉设备130测量的触觉设备130的位置,并且确定在第一坐标系与第二坐标系之间的变换矩阵。CGR设备100可以使用变换矩阵来控制具有基于变换矩阵确定的姿势的图形对象的显示458。例如,CGR设备100可以操纵被显示的图形对象,例如方式为:定位、旋转对象、调整对象的色差、和/或基于对象的处理度量通过变换矩阵来调整对象的形状。
替代地或附加地,服务器140可以接收466对触觉设备位置的测量,并且确定468在第一坐标系与第二坐标系之间的变换矩阵。然后,变换矩阵可以被用于控制470触觉设备对触觉反馈的生成。替代地或附加地,由服务器140生成的变换矩阵可以被用于控制380在CGR设备100的显示设备上显示具有基于变换矩阵确定的姿势的图形对象。
图5示出了根据本公开的一些实施例的具有面向用户的照相机502的另一种类型的CGR设备500(例如Google Glass),其在显示设备850上显示计算机生成的对象,并且允许用户通过显示设备850来查看现实世界对象和/或查看显示设备850的区域外部的现实世界对象。来自面向用户的照相机502的数字图像可以被处理以自动确定何时需要生成更新后的变换矩阵,并且响应地发起其生成。图6示出了根据本公开的一些实施例的CGR设备100用于发起更新后的变换矩阵的生成的相关操作的流程图。
参考图5和6,CGR设备500操作面向用户的照相机502以捕获600来自用户眼睛510的反射的数字图片。来自用户眼睛510的反射包括第一分量和第二分量,第一分量是在显示设备850上显示的虚拟计算机生成对象的反射,第二分量是来自现实世界对象的光的反射。CGR设备500处理602图像以提取虚拟计算机生成对象与现实世界对象之间的未对准度量。CGR设备500通过发起604用于生成更新后的变换矩阵的操作(例如图2、3a-3b和/或4a-4b所示的操作),来响应未对准度量不满足所定义的对准规则。
云实现
上面被描述为由触觉设备130、服务器140和/或CGR设备100执行的一些或全部操作可以替代地由作为网络运营商云计算资源的一部分的另一节点来执行。例如,诸如在电信网络运营商的云服务器或云资源中(例如在CloudRAN或核心网络中),这些操作可以作为接近边缘的网络功能被执行。
示例触觉设备、CGR设备、以及服务器配置
图7是根据本公开的一些其他实施例配置的触觉设备130的组件的框图。触觉设备130可以包括运动传感器740、网络接口电路730、至少一个处理器电路710(处理器)、以及至少一个存储器720(存储器)。运动传感器740可以包括惯性测量单元。网络接口电路730被配置为通过有线(例如以太网、USB等)和/或无线(例如Wi-Fi、蓝牙、蜂窝等)网络接口与另一个电子设备通信。触觉设备130还可以包括触觉反馈生成设备750,其被配置为向用户提供触觉反馈,例如力反馈和/或振动。处理器710被连接到运动传感器740、网络接口电路730、触觉反馈生成设备750、以及存储器720。存储器720存储由处理器710执行以执行操作的程序代码。处理器710可以包括一个或多个数据处理电路,例如通用和/或专用处理器(例如微处理器和/或数字信号处理器),其可以共址或跨越一个或多个数据网络而分布。处理器710被配置为执行存储器720中的程序代码722中的计算机程序指令(在下面被描述为计算机可读介质),以执行触觉设备130的用于本文公开的一个或多个实施例的一些或全部操作和方法。
图8是可以在上述CGR设备100和/或500中使用并且根据本公开的至少一些实施例操作的CGR设备组件800的框图。CGR设备组件800可以包括运动传感器840、网络接口电路830、扬声器120、至少一个处理器电路810(处理器)、显示设备850、前置照相机110、面向用户的照相机502、以及至少一个存储器820(存储器)。运动传感器840可以包括惯性测量单元。网络接口电路830被配置为通过有线(例如以太网、USB等)和/或无线(例如Wi-Fi、蓝牙、蜂窝等)网络接口与另一个电子设备通信。处理器810被连接到运动传感器840、显示设备850、前置照相机110、面向用户的照相机502、扬声器120、网络接口830、以及存储器820。存储器820存储由处理器810执行以执行操作的程序代码。处理器810可以包括一个或多个数据处理电路,例如通用和/或专用处理器(例如微处理器和/或数字信号处理器),其可以共址或跨越一个或多个数据网络而分布。处理器810被配置为执行存储器820中的程序代码822中的计算机程序指令(在下面被描述为计算机可读介质),以执行CGR设备100的用于本文公开的一个或多个实施例的一些或全部操作和方法。
图9是根据本公开的一些其他实施例配置的服务器140的组件的框图。服务器140可以包括网络接口电路930、至少一个处理器电路910(处理器)、以及至少一个存储器920(存储器)。网络接口电路930被配置为通过有线(例如以太网、USB等)和/或无线(例如Wi-Fi、蓝牙、蜂窝等)网络接口与另一个电子设备通信。处理器910被连接到网络接口930和存储器920。存储器920存储由处理器910执行以执行操作的程序代码922。处理器910可以包括一个或多个数据处理电路,例如通用和/或专用处理器(例如微处理器和/或数字信号处理器),其可以共存或跨越一个或多个数据网络而分布。处理器910被配置为执行存储器920中的程序代码922中的计算机程序指令(在下面被描述为计算机可读介质),以执行服务器140的用于本文公开的一个或多个实施例的一些或全部操作和方法。
其他定义和实施例
在本发明概念的各种实施例的上面描述中,将理解,本文使用的术语仅为了描述特定的实施例而并非旨在作为本发明概念的限制。除非另外定义,否则本文使用的所有术语(包括技术和科学术语)具有与本发明概念所属领域的普通技术人员通常理解的含义相同的含义。还将理解,诸如在常用字典中定义的那些术语应该被解释为具有与其在本说明书和相关领域的上下文中的含义相一致的含义,并且将不以理想化或过于正式的意义被解释,除非本文明确地如此定义。
当元件被称为“连接到”、“耦接到”、“响应于”(或者其变型)另一个元件时,它可以被直接连接到、耦接到或响应于另一个元件,或者可以存在中间元件。相比之下,当元件被称为“直接连接到”、“直接耦接到”、“直接响应于”(或者其变型)另一个元件时,不存在中间元件。本文内相同的编号指相同的元件。此外,如本文使用的,“耦接”、“连接”、“响应”或其变型可以包括无线耦接、连接或响应。如本文使用的,单数形式“一”、“一个”和“该”旨在同样包括复数形式,除非上下文明确地另有所指。为了简洁和/或清晰起见,公知的功能或结构可能未被详细描述。术语“和/或”包括一个或多个列出的关联项目的任何和所有组合。
将理解,尽管在本文中可以使用术语第一、第二、第三等来描述各种元件/操作,但是这些元件/操作不应被这些术语限制。这些术语仅用于将一个元件/操作与另一个元件/操作区分开。因此,一些实施例中的第一元件/操作可以在其他实施例中被称为第二元件/操作而不偏离本发明概念的教导。本说明书内的相同参考标号或相同参考指示符表示相同或类似的元件。
如本文使用的,术语“包括”、“包含”、“具有”或其变型是开放的,并且包括一个或多个声明的特征、整数、元件、步骤、组件或功能,但是并不排除一个或多个其他特征、整数、元件、步骤、组件、功能或它们的组合的存在或添加。此外,如本文使用的,可以使用源自拉丁语短语“exempli gratia”的通用缩写“例如”来引入或指定先前提及的项目的一个或多个一般示例,而并非旨在作为这种项目的限制。可以使用源自拉丁语短语“id est”的通用缩写“即”来从更一般的详述中指定特定的项目。
本文参考计算机实现的方法、装置(系统和/或设备)和/或计算机程序产品的框图和/或流程图来描述示例实施例。将理解,框图和/或流程图的方框、以及框图和/或流程图中各方框的组合,可以由通过一个或多个计算机电路执行的计算机程序指令来实现。可以将这些计算机程序指令提供给通用计算机电路、专用计算机电路和/或其他可编程数据处理电路的处理器电路以产生一种机器,以使得这些指令在经由计算机和/或其他可编程数据处理装置的处理器执行时,变换和控制晶体管、存储在存储单元中的值以及这种电路内的其他硬件组件,以实现框图和/或流程图中的一个或多个方框中指定的功能/操作,并且从而产生实现框图和/或流程图中的方框中指定的功能/操作的装置(功能)和/或结构。
还可以将这些计算机程序指令存储在有形计算机可读介质中,这些指令可以使计算机或其他可编程数据处理装置以特定方式工作,以使得存储在计算机可读介质中的指令产生包括实现框图和/或流程图中的一个或多个方框中指定的功能/操作的指令的制造品(article of manufacture)。因此,本发明概念的实施例可以以硬件和/或在诸如数字信号处理器之类的处理器上运行的软件(包括固件、驻留软件、微代码等)体现,硬件和/或软件可以被统称为“电路”、“模块”或其变型。
还应注意,在一些替代实现中,方框中所标注的功能/操作可以以不同于流程图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能/操作而定。此外,流程图和/或框图的给定方框的功能可以被分成多个方框,和/或流程图和/或框图的两个或更多个方框的功能可以被至少部分地集成。最后,可以在示出的方框之间添加/插入其他方框,和/或可以省略方框/操作而不偏离本发明概念的范围。此外,尽管一些图在通信路径上包括箭头以示出通信的主要方向,但是将理解,通信可以以与示出的箭头相反的方向发生。
可以对实施例进行许多改变和修改而基本上不脱离本发明概念的原理。在本文中,所有这些改变和修改旨在被包括在本发明概念的范围内。因此,上面公开的主题被视为说明性的而非限制性的,并且实施例的所附示例旨在覆盖落入本发明概念的精神和范围内的所有这些修改、增强和其他实施例。因此,在法律允许的最大范围内,本发明概念的范围将由对本公开(包括以下实施例的示例及其等效物)的最广泛的允许解释来确定,并且不应被上面的详细描述来限定或限制。
Claims (26)
1.一种第一电子设备(130),用于控制第二电子设备(100,500)以测量所述第一电子设备(130)的位置,所述第一电子设备(130)包括:
运动传感器(740),被配置为感测所述第一电子设备(130)的运动;
网络接口电路(730),被配置为与所述第二电子设备(100,500)通信;
处理器(710),其被连接到所述运动传感器(740)和所述网络接口电路(730);以及
存储器(720),其存储由所述处理器(710)执行以执行操作的程序代码,所述操作包括:
响应于确定(204,308,408)所述第一电子设备(130)具有由所述运动传感器(740)感测的满足所定义规则的运动等级,发送(206,310,410)对所述第二电子设备(100,500)测量所述第一电子设备(130)的位置的请求;
感测(208,316,416)所述第一电子设备(130)的所述位置并将其存储在所述存储器(720)中;以及
从所述第二电子设备(100,500)接收(222,340,440)确认,所述确认指示所述第二电子设备(100,500)已存储能够被用于测量所述第一电子设备(130)的所述位置的传感器数据。
2.根据权利要求1所述的第一电子设备(130),其中:
所述第一电子设备(130)包括触觉设备,所述触觉设备被配置为执行以下中的至少一项:测量用户对所述触觉设备的移动;以及向用户提供触觉反馈;以及
所述请求被发送给包括计算机生成现实设备的所述第二电子设备(100,500),所述计算机生成现实设备被配置为将图形显示为在现实世界对象上的覆盖物。
3.根据权利要求1至2中任一项所述的第一电子设备(130),其中,所述操作还包括:
从所述第二电子设备(100,500)接收(234)对所述第一电子设备(130)的所述位置的测量;
基于从所述存储器中取得的所述第一电子设备(130)的所述位置并且基于从所述第二电子设备(100,500)接收的对所述第一电子设备(130)的所述位置的所述测量,确定(236)用于将在第一坐标系中被参考的姿势变换为在第二坐标系中被参考的姿势的变换矩阵,其中,所述第一坐标系和所述第二坐标系中的一个坐标系用于参考所述第一电子设备和所述第二电子设备中的一个电子设备的姿势,而所述第一坐标系和所述第二坐标系中的另一个坐标系用于参考所述第一电子设备和所述第二电子设备中的另一个电子设备的姿势。
4.根据权利要求3所述的第一电子设备(130),还包括:
触觉反馈生成设备(750),其被连接到所述处理器(710),
其中,所述操作还包括:
使用所述变换矩阵将所述第一电子设备(130)的姿势从所述第一坐标系和所述第二坐标系中的一个坐标系变换到所述第一坐标系和所述第二坐标系中的另一个坐标系,以生成变换后的姿势;以及
基于所述变换后的姿势来控制(238)由所述触觉反馈生成设备(750)进行的触觉反馈的生成。
5.根据权利要求1至4中任一项所述的第一电子设备(130),其中,所述操作还包括:
确定(224,360,460)中止条件是否已发生,在所述中止条件中,在从所述请求被发送给所述第二电子设备(100,500)到所述确认被从所述第二电子设备(100,500)接收之间的时间间隔内感测的所述第一电子设备(130)的运动等级已经不再满足所述所定义规则;以及
响应于所述中止条件发生,向所述第二电子设备(100,500)发送(226)中止用于测量所述第一电子设备(130)的所述位置的操作的中止消息。
6.根据权利要求1至5中任一项所述的第一电子设备(130),还包括:
响应于所述第一电子设备(130)在从所述请求被发送给所述第二电子设备(100,500)到所述确认被从所述第二电子设备(100,500)接收之间的时间间隔内保持静止,确定(204)由所述运动传感器(740)感测的所述运动等级满足所述所定义规则。
7.根据权利要求1至6中任一项所述的第一电子设备(130),还包括:
响应于所述第一电子设备(130)被确定为在从所述请求被发送给所述第二电子设备(100,500)到所述确认被从所述第二电子设备(100,500)接收之间的时间间隔内速率的变化不超过所定义阈值量,确定(204)由所述运动传感器(740)感测的所述运动等级满足所述所定义规则;
基于从所述存储器中取得的所述第一电子设备(130)的所述位置被确定为由于所述第一电子设备(130)的所述速率而在所述时间间隔的至少一部分内已改变的量,估计所述第一电子设备(130)的更新后的位置;
从所述第二电子设备(100,500)接收(234)对所述第一电子设备(130)的所述位置的测量;
基于所述第一电子设备(130)的所述更新后的位置并且基于从所述第二电子设备(100,500)接收的所述第一电子设备(130)的所述位置,确定(236)用于将在第一坐标系中被参考的姿势变换为在第二坐标系中被参考的姿势的变换矩阵,其中,所述第一坐标系和所述第二坐标系中的一个坐标系用于参考所述第一电子设备和所述第二电子设备中的一个电子设备的姿势,而所述第一坐标系和所述第二坐标系中的另一个坐标系用于参考所述第一电子设备和所述第二电子设备中的另一个电子设备的姿势。
8.根据权利要求1至7中任一项所述的第一电子设备(130),还包括:
确定(224,360,460)中止条件是否已发生,在所述中止条件中,在从所述请求被发送给所述第二电子设备(100,500)到所述确认被从所述第二电子设备(100,500)接收之间的时间间隔内感测的所述第一电子设备(130)的运动等级已经不再满足所述所定义规则;以及
响应于所述中止条件发生,向服务器(140)发送(362,462)中止用于确定变换矩阵的操作的中止消息,所述变换矩阵用于将在第一坐标系中被参考的姿势变换为在第二坐标系中被参考的姿势,其中,所述第一坐标系和所述第二坐标系中的一个坐标系用于参考所述第一电子设备和所述第二电子设备中的一个电子设备的姿势,而所述第一坐标系和所述第二坐标系中的另一个坐标系用于参考所述第一电子设备和所述第二电子设备中的另一个电子设备的姿势。
9.一种第二电子设备(100,500),用于测量第一电子设备(130)相对于所述第二电子设备(100,500)的位置,所述第二电子设备(100,500)包括:
传感器(110),被配置为输出能够指示所述第一电子设备(130)的位置的传感器数据;
网络接口电路(830),被配置为与所述第一电子设备(130)通信;
处理器(810),其被连接到所述传感器(110)和所述网络接口电路(830);以及
存储器(820),其存储由所述处理器(810)执行以执行操作的程序代码,所述操作包括:
接收(214,430)用于发送所述第二电子设备(100,500)对所述第一电子设备(130)的位置的测量的请求;
响应于所述请求,发起(216,432)用于生成对所述第一电子设备(130)的所述位置的测量的操作;
将由所述传感器(110)输出的能够指示所述第一电子设备(130)的所述位置的传感器数据存储(218,434)在所述存储器(820)中;
发送(220,436)指示所述传感器数据已被存储的确认;
基于被存储在所述存储器中的所述传感器数据来生成(230,454)对所述第一电子设备(130)的所述位置的测量;以及
发送(232,456)对所述第一电子设备(130)的所述位置的所述测量。
10.根据权利要求9所述的第二电子设备(100,500),其中,所述操作还包括:
确定(228,230,452,454)中止消息是否已被接收,所述中止消息指示在从所述请求被接收到所述确认被由所述第二电子设备(100,500)发送之间的时间间隔内感测的所述第一电子设备(130)的运动等级已经不再满足所述所定义规则,
其中,响应于所述确定(228,230,452,454)是未接收到中止消息,执行对所述第一电子设备(130)的所述位置的所述测量的发送。
11.根据权利要求9至10中任一项所述的第二电子设备(100,500),其中:
所述传感器(110)包括照相机;
用于基于被存储在所述存储器中的所述传感器数据来生成对所述第一电子设备(130)的所述位置的所述测量的所述操作包括:在来自所述照相机的数字照片中识别以下中的至少一项的位置:被连接到所述第一电子设备(130)的标记,以及所述第一电子设备(130)的外壳的一部分。
12.根据权利要求9至11中任一项所述的第二电子设备(100,500),其中:
所述第二电子设备(100,500)包括计算机生成现实CGR设备;以及
所述第一电子设备(130)包括触觉设备,所述触觉设备被配置为执行以下中的至少一项:测量用户对所述触觉设备的移动,以及向用户提供触觉反馈。
13.根据权利要求12所述的第二电子设备(100,500),其中,发送(232,456)对所述第一电子设备(130)的所述位置的所述测量包括:
向所述触觉设备发送(232)对所述触觉设备的所述位置的测量,以用于确定用于将在第一坐标系中被参考的姿势变换为在第二坐标系中被参考的姿势的变换矩阵,其中,所述第一坐标系和所述第二坐标系中的一个坐标系用于参考所述触觉设备和所述CGR设备中的一个设备的姿势,而所述第一坐标系和所述第二坐标系中的另一个坐标系用于参考所述触觉设备和所述CGR设备中的另一个设备的姿势。
14.根据权利要求9至13中任一项所述的第二电子设备(100,500),还包括:
基于由所述第一电子设备(130)感测并从其接收的所述第一电子设备(130)的所述位置并且基于由所述第二电子设备(100,500)对所述第一电子设备(130)的所述位置的所述测量,确定(457)用于将在第一坐标系中被参考的姿势变换为在第二坐标系中被参考的姿势的变换矩阵,其中,所述第一坐标系和所述第二坐标系中的一个坐标系用于参考所述第一电子设备和所述第二电子设备中的一个电子设备的姿势,而所述第一坐标系和所述第二坐标系中的另一个坐标系用于参考所述第一电子设备和所述第二电子设备中的另一个电子设备的姿势;以及
在显示设备(850)上显示(458)具有基于所述变换矩阵被确定的姿势的图形对象。
15.根据权利要求9至14中任一项所述的第二电子设备(100,500),其中,发送(232,456)对所述第一电子设备(130)的所述位置的所述测量包括:
向服务器发送(456)对所述位置的所述测量,所述服务器使用对所述位置的所述测量来确定用于将在第一坐标系中被参考的姿势变换为在第二坐标系中被参考的姿势的变换矩阵,其中,所述第一坐标系和所述第二坐标系中的一个坐标系用于参考所述第一电子设备和所述第二电子设备中的一个电子设备的姿势,而所述第一坐标系和所述第二坐标系中的另一个坐标系用于参考所述第一电子设备和所述第二电子设备中的另一个电子设备的姿势。
16.根据权利要求9至15中任一项所述的第二电子设备(500),还包括:
使用所述第二电子设备(500)的面向用户的相机(502)来捕获(600)来自用户眼睛的反射的数字图片,其中,来自所述用户眼睛的所述反射包括第一分量和第二分量,所述第一分量是在所述第二电子设备(500)的显示设备(850)上显示的虚拟计算机生成对象的反射,所述第二分量是来自现实世界对象的光的反射;
处理(602)所述图像以提取所述虚拟计算机生成对象与所述现实世界对象之间的未对准度量;以及
响应于所述未对准度量不满足所定义对准规则,发起(604)用于生成更新后的变换矩阵的操作。
17.一种服务器(140),包括:
网络接口电路(930),被配置为与第一电子设备(130)和第二电子设备(100,500)通信;
处理器(910),其被连接到所述网络接口电路(930);以及
存储器(920),其存储由所述处理器(910)执行以执行操作的程序代码,所述操作包括:
从所述第一电子设备(130)接收(320)所述第一电子设备(130)对所述第一电子设备(130)的位置的测量;
从第二电子设备(100,500)接收(370)所述第二电子设备(100,500)对所述第一电子设备(130)的位置的测量;以及
响应于从所述第一电子设备(130)接收的所述第一电子设备(130)的所述位置和从所述第二电子设备(100)接收的所述位置,生成(374)用于将在第一坐标系中被参考的姿势变换为在第二坐标系中被参考的姿势的变换矩阵,其中,所述第一坐标系和所述第二坐标系中的一个坐标系用于参考所述第一电子设备和所述第二电子设备中的一个电子设备的姿势,而所述第一坐标系和所述第二坐标系中的另一个坐标系用于参考所述第一电子设备和所述第二电子设备中的另一个电子设备的姿势。
18.根据权利要求17所述的服务器,其中,所述操作还包括:
观察(338)从所述第二电子设备(100,500)传送的确认,所述确认指示所述第二电子设备(100,500)已存储能够用于测量所述第一电子设备(130)的所述位置的传感器数据;以及
确定(372)中止消息是否已被接收,所述中止消息指示在从观察到对所述第二电子设备(100,500)发送所述位置的所述测量的请求到所述第二电子设备(100,500)传送了指示所述第二电子设备(100,500)已存储所述传感器数据的所述确认之间的时间间隔内感测的所述第一电子设备(130)的运动等级已经不再满足所定义规则,
其中,仅在接收从所述第二电子设备(100,500)传送的所述确认之前没有接收到中止消息时,执行用于生成(374)所述变换矩阵的所述操作。
19.根据权利要求17所述的服务器,其中:
所述第一电子设备(130)包括触觉设备,所述触觉设备被配置为执行以下中的至少一项:测量用户对所述触觉设备的移动,以及向用户提供触觉反馈;以及
所述第二电子设备(100,500)包括计算机生成现实CGR设备。
20.根据权利要求17所述的服务器,还包括:
执行以下中的至少一项:
使用所述变换矩阵来控制(380)触觉反馈生成设备(750)进行的触觉反馈的生成;以及
控制(380)在显示设备(850)上显示具有基于所述变换矩阵被确定的姿势的图形对象,其中,所述显示设备(850)在所述第二电子设备(100,500)内。
21.一种第一电子设备(130)用于控制第二电子设备(100,500)以测量所述第一电子设备(130)的位置的方法,所述方法包括:
响应于确定(204,308,408)所述第一电子设备(130)具有满足所定义规则的运动等级,
发送(206,310,410)对所述第二电子设备(100,500)测量所述第一电子设备(130)的位置的请求;
感测(208,316,416)所述第一电子设备(130)的所述位置并将其存储在存储器中;以及
从所述第二电子设备(100,500)接收(222,340,440)确认,所述确认指示所述第二电子设备(100,500)已存储能够被用于测量所述第一电子设备(130)的所述位置的传感器数据。
22.根据权利要求21所述的方法,还包括:执行根据权利要求2至8中任一项所述的操作。
23.一种第二电子设备(100,500)用于测量第一电子设备(130)相对于所述第二电子设备(100,500)的位置的方法,所述方法包括:
接收(214,430)用于发送所述第二电子设备(100,500)对所述第一电子设备(130)的位置的测量的请求;
响应于所述请求,发起(216,432)用于生成对所述第一电子设备(130)的所述位置的测量的操作;
将由传感器输出的能够指示所述第一电子设备(130)的所述位置的传感器数据存储(218,434)在存储器中;
发送(220,436)指示所述传感器数据已被存储的确认;
基于被存储在所述存储器中的所述传感器数据来生成对所述第一电子设备(130)的所述位置的测量;以及
发送(232,456)对所述第一电子设备(130)的所述位置的所述测量。
24.根据权利要求23所述的方法,还包括:执行根据权利要求10至16中任一项所述的操作。
25.一种服务器(140)的方法,包括:
从第一电子设备(130)接收(320)所述第一电子设备(130)对所述第一电子设备(130)的位置的测量;
从第二电子设备(100,500)接收(370)所述第二电子设备(100,500)对所述第一电子设备(130)的位置的测量;以及
响应于从所述第一电子设备(130)接收的所述第一电子设备(130)的所述位置和从所述第二电子设备(100)接收的所述位置,生成(374)用于将在第一坐标系中被参考的姿势变换为在第二坐标系中被参考的姿势的变换矩阵,其中,所述第一坐标系和所述第二坐标系中的一个坐标系用于参考所述第一电子设备和所述第二电子设备中的一个电子设备的姿势,而所述第一坐标系和所述第二坐标系中的另一个坐标系用于参考所述第一电子设备和所述第二电子设备中的另一个电子设备的姿势。
26.根据权利要求25所述的方法,还包括:执行根据权利要求18至20中任一项所述的操作。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2018/054481 WO2019161903A1 (en) | 2018-02-23 | 2018-02-23 | Coordinating alignment of coordinate systems used for a computer generated reality device and a haptic device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111801642A true CN111801642A (zh) | 2020-10-20 |
Family
ID=61283229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880090166.3A Pending CN111801642A (zh) | 2018-02-23 | 2018-02-23 | 协调用于计算机生成现实设备和触觉设备的坐标系的对准 |
Country Status (12)
Country | Link |
---|---|
US (3) | US11526216B2 (zh) |
EP (2) | EP4086736A1 (zh) |
JP (1) | JP7079848B2 (zh) |
CN (1) | CN111801642A (zh) |
BR (1) | BR112020017167A2 (zh) |
DK (1) | DK3756073T3 (zh) |
ES (1) | ES2927183T3 (zh) |
PL (1) | PL3756073T3 (zh) |
PT (1) | PT3756073T (zh) |
RU (1) | RU2751130C1 (zh) |
SG (1) | SG11202006100QA (zh) |
WO (1) | WO2019161903A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9649558B2 (en) * | 2014-03-14 | 2017-05-16 | Sony Interactive Entertainment Inc. | Gaming device with rotatably placed cameras |
US11455078B1 (en) | 2020-03-31 | 2022-09-27 | Snap Inc. | Spatial navigation and creation interface |
WO2022025885A1 (en) * | 2020-07-29 | 2022-02-03 | Nokia Technologies Oy | Geo-location assisted mobile augmented reality |
TW202232288A (zh) * | 2020-10-23 | 2022-08-16 | 日商和冠股份有限公司 | 電腦、方法及程式 |
US11797162B2 (en) * | 2020-12-22 | 2023-10-24 | Snap Inc. | 3D painting on an eyewear device |
US11782577B2 (en) | 2020-12-22 | 2023-10-10 | Snap Inc. | Media content player on an eyewear device |
TWI779922B (zh) * | 2021-11-10 | 2022-10-01 | 財團法人資訊工業策進會 | 擴增實境處理裝置以及方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005147894A (ja) * | 2003-11-17 | 2005-06-09 | Canon Inc | 計測方法、計測装置 |
JP2007004714A (ja) * | 2005-06-27 | 2007-01-11 | Canon Inc | 情報処理方法、情報処理装置 |
US8730156B2 (en) * | 2010-03-05 | 2014-05-20 | Sony Computer Entertainment America Llc | Maintaining multiple views on a shared stable virtual space |
JP2009180536A (ja) * | 2008-01-29 | 2009-08-13 | Omron Corp | 画像処理装置、画像処理方法、およびプログラム |
US8761434B2 (en) | 2008-12-17 | 2014-06-24 | Sony Computer Entertainment Inc. | Tracking system calibration by reconciling inertial data with computed acceleration of a tracked object in the three-dimensional coordinate system |
JP5306455B2 (ja) | 2010-03-30 | 2013-10-02 | 株式会社カプコン | プログラム、オブジェクト制御方法、記録媒体及びゲームシステム |
JP2013011979A (ja) * | 2011-06-28 | 2013-01-17 | Jvc Kenwood Corp | 動作指示装置、動作指示システム、動作指示方法、及びプログラム |
US20130234925A1 (en) * | 2012-03-09 | 2013-09-12 | Nokia Corporation | Method and apparatus for performing an operation at least partially based upon the relative positions of at least two devices |
US9058681B2 (en) * | 2012-06-01 | 2015-06-16 | The Boeing Company | Sensor-enhanced localization in virtual and physical environments |
KR101887422B1 (ko) * | 2012-11-19 | 2018-09-10 | 삼성전자주식회사 | 설정된 디바이스의 위치정보를 디스플레이하는 전자 장치 및 방법 |
US10137361B2 (en) * | 2013-06-07 | 2018-11-27 | Sony Interactive Entertainment America Llc | Systems and methods for using reduced hops to generate an augmented virtual reality scene within a head mounted system |
US9524580B2 (en) * | 2014-01-06 | 2016-12-20 | Oculus Vr, Llc | Calibration of virtual reality systems |
US10943395B1 (en) * | 2014-10-03 | 2021-03-09 | Virtex Apps, Llc | Dynamic integration of a virtual environment with a physical environment |
JP6565465B2 (ja) | 2015-08-12 | 2019-08-28 | セイコーエプソン株式会社 | 画像表示装置、コンピュータープログラム、および画像表示システム |
US10509468B2 (en) * | 2016-01-27 | 2019-12-17 | Tactai, Inc. | Providing fingertip tactile feedback from virtual objects |
US10908694B2 (en) * | 2016-02-01 | 2021-02-02 | Microsoft Technology Licensing, Llc | Object motion tracking with remote device |
US10078377B2 (en) * | 2016-06-09 | 2018-09-18 | Microsoft Technology Licensing, Llc | Six DOF mixed reality input by fusing inertial handheld controller with hand tracking |
US10249090B2 (en) * | 2016-06-09 | 2019-04-02 | Microsoft Technology Licensing, Llc | Robust optical disambiguation and tracking of two or more hand-held controllers with passive optical and inertial tracking |
US11740690B2 (en) * | 2017-01-27 | 2023-08-29 | Qualcomm Incorporated | Systems and methods for tracking a controller |
-
2018
- 2018-02-23 BR BR112020017167-0A patent/BR112020017167A2/pt unknown
- 2018-02-23 WO PCT/EP2018/054481 patent/WO2019161903A1/en unknown
- 2018-02-23 EP EP22182743.9A patent/EP4086736A1/en active Pending
- 2018-02-23 DK DK18707347.3T patent/DK3756073T3/da active
- 2018-02-23 US US16/963,788 patent/US11526216B2/en active Active
- 2018-02-23 JP JP2020537685A patent/JP7079848B2/ja active Active
- 2018-02-23 ES ES18707347T patent/ES2927183T3/es active Active
- 2018-02-23 PT PT187073473T patent/PT3756073T/pt unknown
- 2018-02-23 CN CN201880090166.3A patent/CN111801642A/zh active Pending
- 2018-02-23 SG SG11202006100QA patent/SG11202006100QA/en unknown
- 2018-02-23 PL PL18707347.3T patent/PL3756073T3/pl unknown
- 2018-02-23 RU RU2020125740A patent/RU2751130C1/ru active
- 2018-02-23 EP EP18707347.3A patent/EP3756073B1/en active Active
-
2022
- 2022-10-31 US US17/977,149 patent/US11868545B2/en active Active
-
2023
- 2023-08-10 US US18/447,376 patent/US20230384872A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP7079848B2 (ja) | 2022-06-02 |
EP3756073B1 (en) | 2022-07-20 |
PL3756073T3 (pl) | 2022-11-21 |
EP4086736A1 (en) | 2022-11-09 |
DK3756073T3 (da) | 2022-08-29 |
JP2021520528A (ja) | 2021-08-19 |
US11526216B2 (en) | 2022-12-13 |
US20230050367A1 (en) | 2023-02-16 |
SG11202006100QA (en) | 2020-07-29 |
BR112020017167A2 (pt) | 2020-12-22 |
PT3756073T (pt) | 2022-08-19 |
ES2927183T3 (es) | 2022-11-03 |
WO2019161903A1 (en) | 2019-08-29 |
US11868545B2 (en) | 2024-01-09 |
RU2751130C1 (ru) | 2021-07-08 |
EP3756073A1 (en) | 2020-12-30 |
US20200348767A1 (en) | 2020-11-05 |
US20230384872A1 (en) | 2023-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11868545B2 (en) | Coordinating alignment of coordinate systems used for a computer generated reality device and a haptic device | |
CN110140099B (zh) | 用于跟踪控制器的系统和方法 | |
US20210049360A1 (en) | CONTROLLER GESTURES IN VIRTUAL, AUGMENTED, AND MIXED REALITY (xR) APPLICATIONS | |
WO2019022803A1 (en) | TRACKING OF CONTROL DEVICE FOR MULTIPLE DEGREES OF FREEDOM | |
JP2015114818A (ja) | 情報処理装置、情報処理方法及びプログラム | |
US11189054B2 (en) | Localization and mapping using images from multiple devices | |
JP2013258614A (ja) | 画像生成装置および画像生成方法 | |
US10867408B1 (en) | Estimation of spatial relationships between sensors of a multi-sensor device | |
EP3469460A1 (en) | Tap event location with a selection apparatus | |
CN114690900B (zh) | 一种虚拟场景中的输入识别方法、设备及存储介质 | |
CN110895676A (zh) | 动态对象跟踪 | |
CN110895433B (zh) | 用于增强现实中用户交互的方法和装置 | |
KR101338958B1 (ko) | 멀티터치 단말기에서 가상물체의 3차원 움직임 조작시스템 및 방법 | |
JP2019101476A (ja) | 操作案内システム | |
US11144194B2 (en) | Interactive stereoscopic display and interactive sensing method for the same | |
JP2018128739A (ja) | 画像処理装置、画像処理方法、コンピュータプログラム、及び記憶媒体 | |
CN116113911A (zh) | 利用到达角数据的设备追踪 | |
KR20220100051A (ko) | 내슬립성 시선 추적 사용자 인터페이스 | |
US11854234B2 (en) | Calibration of mobile electronic devices connected to headsets wearable by users | |
US20240005536A1 (en) | Perspective Correction of User Input Objects | |
EP4206867A1 (en) | Peripheral tracking system and method | |
US20230353860A1 (en) | System, imaging apparatus, information processing apparatus, information processing method, and information processing program | |
JP2024035544A (ja) | 情報処理装置、情報処理方法、プログラム |
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 |