CN112753006A - 电磁跟踪的三维空中鼠标 - Google Patents

电磁跟踪的三维空中鼠标 Download PDF

Info

Publication number
CN112753006A
CN112753006A CN201980062305.6A CN201980062305A CN112753006A CN 112753006 A CN112753006 A CN 112753006A CN 201980062305 A CN201980062305 A CN 201980062305A CN 112753006 A CN112753006 A CN 112753006A
Authority
CN
China
Prior art keywords
computing device
handheld electronic
air mouse
electronic device
dimensional
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
Application number
CN201980062305.6A
Other languages
English (en)
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Publication of CN112753006A publication Critical patent/CN112753006A/zh
Pending legal-status Critical Current

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/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
    • 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/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03541Mouse/trackball convertible devices, in which the same ball is used to track the 2D relative movement
    • 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/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03543Mice or pucks
    • 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/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • G06F3/0383Signal control means within the pointing device
    • 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • H04B17/309Measuring or estimating channel quality parameters
    • H04B17/318Received signal strength

Abstract

描述了一种手持式电子设备,其用于控制在计算设备的用户界面中显示的三维内容。手持式电子设备可以包括电磁感测系统,其用于检测手持式电子设备在三维空间中的姿态;以及至少一个通信模块,其用于基于检测到手持式电子设备的姿态的改变来触发命令的传输以操纵在计算设备中显示的三维内容。

Description

电磁跟踪的三维空中鼠标
技术领域
本公开涉及一种结合非视线(NLOS)6-DoF(自由度)电磁(EM)跟踪技术的计算机附件。
背景技术
电磁(EM)位置跟踪系统可以使用近场EM场、发射器和接收器来确定特定设备的位置信息。通常,EM位置跟踪系统可以使用生成在远程接收器处检测到的EM信号(例如,场)的发射器。在一个示例中,发射器使用发射器线圈生成EM场,以在与远程接收器相关联的接收器线圈上感应出电流。接收器生成与EM场大小相对应的值,然后对该值进行处理以计算接收器相对于发射器的位置和/或定向(即姿态)。
发明内容
一个或多个计算机的系统可以被配置成借助于具有在系统上安装的软件、固件、硬件或它们的组合来执行特定操作或动作,该软件、固件、硬件或它们的组合在操作中使该系统执行动作。一个或多个计算机程序可以被配置成借助于包括指令来执行特定操作或动作,所述指令在由数据处理装置执行时使该装置执行动作。
在一个一般方面,一种用于控制在计算设备的用户界面中显示的三维内容的手持式电子设备。改手持式电子设备包括电磁感测系统,用于针对手持式电子设备检测手持式电子设备在三维空间中的姿态。手持式电子设备还包括惯性测量单元传感器,用于针对手持式电子设备检测手持式电子设备在三维空间中的三维空间的定向。手持式电子设备还包括耦合到存储器的至少一个处理器,并且该至少一个处理器被配置成生成命令以操纵计算设备中的三维内容。可基于手持式电子设备相对于与计算设备相关联的接收器模块的所确定的接近度来生成命令。所确定的接近度可以触发对在生成命令时使用的数据的选择。当所确定的接近度指示手持式电子设备在接收器模块的范围内时,数据可以包括电磁感测系统的姿态,并且在所确定的接近度指示手持式电子设备在接收器模块的范围外时,数据可以包括惯性测量单元传感器的定向。手持式电子设备还包括至少一个通信模块,以基于检测到的手持式电子设备的姿态改变来触发命令的传输,以操纵在计算设备中显示的三维内容。该方面的其他实施例包括相应的计算机系统、装置以及记录在一个或多个计算机存储设备上的计算机程序,其每个都被配置成执行所述方法的动作。
实施方式可以包括一个或多个下列特征。手持式电子设备,其中,手持式电子设备是空中鼠标设备,其被配置成操纵在计算设备的用户界面中显示的三维计算机辅助设计对象。对三维计算机辅助设计对象的操纵可以基于跟踪手持式电子设备在三维空间中的姿态。手持式电子设备,其中,手持式电子设备被配置成在处于接收器模块的范围内时优先使用利用六个自由度的电磁感测系统,并在检测到手持式电子设备在与计算设备相关联的接收器模块的范围外时,切换到使用惯性测量单元执行三个自由度的感测。手持式电子设备,其中,计算设备可移除地附接到适配体(dongle),其中,适配体包括第二处理器、与计算设备的第一通信接口,以及与手持式电子设备的第二通信接口。适配体可操作,以从手持式电子设备的至少一个处理器并使用第一通信接口收集与手持式电子设备的姿态相关联的数据,使用第二处理器将来自电磁感测系统或来自惯性测量单元传感器的数据转换成命令,并使用第二通信接口将命令传送给计算设备。在一些实施方式中,适配体进一步包括电磁接收器模块,以与和手持式电子设备相关联的发射器模块对接。在一些实施方式中,手持式电子设备被配置成经由无线协议将姿态信息传达给适配体,并且适配体被配置成经由有线协议而传达给计算设备。在一些实施方式中,无线协议是射频(RF),并且有线协议是通用串行总线(USB)。
在一些实施方式中,手持式电子设备还包括:麦克风,其被配置成接收基于语音的查询,以进行从手持式电子设备到计算设备的通信;和扬声器,其被配置成从手持式电子设备生成音频回放。音频回放可以包括响应于基于语音的查询的信息。
在一些实施方式中,如果与和电磁感测系统相关联的信号噪声相关的度量高于噪声阈值,则检测到手持式电子设备在计算设备的范围外。在一些实施方式中,手持式电子设备进一步包括可移除轨迹球。该轨迹球可以包括至少一个通信模块。通信模块可以被配置成根据轨迹球在三维空间中的移动来传送命令以控制内容中的三维对象。在一些实施方式中,与轨迹球相关联的检测到的姿态的改变引起三维对象的姿态的相应改变。所述技术的实施方式可以包括硬件,方法或过程,或计算机可访问介质上的计算机软件。
在另一一般方面,描述了一种用于空中鼠标设备的姿态跟踪系统。姿态跟踪系统包括电磁接收器设备,电磁接收器设备与空中鼠标设备相关联并被配置成确定远程电磁发射器和电磁接收器设备之间的6-DoF姿态。远程电磁发射器可以与计算设备相关联。姿态跟踪系统还可以包括惯性测量传感器,惯性测量传感器被配置成确定空中鼠标设备的3-DoF姿态。姿态跟踪系统还可以包括至少一个处理器,该至少一个处理器耦合到存储器,并被配置成响应于在空中鼠标设备可通信地耦合到电磁发射器时检测到空中鼠标姿态,使用6-DoF姿态来生成命令以操纵在计算设备上显示的三维内容。至少一个处理器还可以被配置成响应于在空中鼠标设备距电磁接收器设备超出预定范围时检测到空中鼠标姿态,使用3-DoF姿态来生成命令以操纵在计算设备上显示的三维内容。该方面的其他实施例包括相应的计算机系统,装置和记录在一个或多个计算机存储设备上的计算机程序,其每个都被配置成执行方法的动作。
实施方式可以包括一个或多个下列特征。姿态跟踪系统,其中,预定范围至少部分地基于至少一个度量,该至少一个度量与在电磁接收器设备处检测到的接收信号强度相对应。姿态跟踪系统进一步包括至少一个通信模块,以将所生成的命令传送到计算设备以控制在计算设备上显示的三维内容。姿态跟踪系统,其中,空中鼠标设备进一步包括可移除轨迹球,该轨迹球包括电磁感测系统,以检测与空中鼠标设备相关联的多个姿态,其中,至少一个处理器被配置成生成命令并传送命令,以根据轨迹球在三维空间中的移动来控制三维内容。姿态跟踪系统,其中,处理器被配置成使用3-DoF姿态生成命令,以触发对在计算设备上显示的三维内容的操纵,直到空中鼠标设备在电磁接收器设备的范围内为止,并且在空中鼠标设备在电磁接收器设备的范围内时自动切换到使用6-DoF姿态生成命令以触发对在计算设备上显示的三维内容的操纵。空中鼠标设备,其中,空中鼠标设备被配置成操纵在计算设备的用户界面中显示的三维计算机辅助设计对象,对三维计算机辅助设计对象的操纵基于跟踪空中鼠标设备在三维空间中的位置和定向。空中鼠标设备,其中,空中鼠标设备被配置成在计算设备的范围内时优先使用利用六个自由度的电磁感测系统,并且在检测到空中鼠标设备在计算设备的范围外时切换到使用惯性测量单元执行三个自由度的感测。空中鼠标设备,其中,如果与和电磁感测系统相关联的信号噪声相关的度量高于预定义的噪声阈值,则检测到空中鼠标设备在计算设备的范围外。所述技术的实施方式可以包括硬件,方法和过程,或者计算机可访问介质上的计算机软件。
在另一一般方面,描述了一种用于控制在计算设备的用户界面中显示的内容的空中鼠标设备。空中鼠标设备可以包括:电磁感测系统,用于响应于空中鼠标设备在三维空间中的检测到的移动,检测空中鼠标设备的三维位置和三维定向;和惯性测量单元传感器,用于检测空中鼠标设备在三维空间中的三维定向。空中鼠标设备还可以包括耦合到存储器的至少一个处理器,该至少一个处理器被配置成生成命令以操纵计算设备中的内容。命令可以基于空中鼠标设备相对于计算设备的所确定的接近度来生成。所确定的接近度可以触发对在生成命令时使用的数据的选择,其中,当所确定的接近度指示空中鼠标设备在计算设备的范围内时,数据包括与电磁感测系统相关联的三维位置和三维定向,并且当所确定的接近度指示空中鼠标设备在计算设备的范围外时,数据包括惯性测量单元传感器的三维定向。空中鼠标设备还可以包括至少一个通信模块,以触发命令的传输从而操纵在计算设备中显示的内容。该方面的其他实施例包括相应的计算机系统,装置和记录在一个或多个计算机存储设备上的计算机程序,其每个都被配置成执行方法的动作。
实施方式可以包括一个或多个下列特征。空中鼠标设备,其中,空中鼠标设备被配置成操纵在计算设备的用户界面中显示的三维计算机辅助设计对象,对三维计算机辅助设计对象的操纵基于跟踪空中鼠标设备在三维空间中的位置和定向。空中鼠标设备,其中,空中鼠标设备被配置成:当在计算设备的范围内时,优先使用利用六个自由度的电磁感测系统,并在检测到空中鼠标设备在计算设备的范围外时,切换到使用惯性测量单元执行三个自由度的感测。空中鼠标设备,其中,如果与和电磁感测系统相关联的信号噪声相关的度量高于预定义的噪声阈值,则检测到空中鼠标设备在计算设备的范围外。所述技术的实施方式可以包括硬件,方法和过程,或者计算机可访问介质上的计算机软件。
一种或多种实施方式的细节在附图和以下描述中阐述。根据说明书和附图以及根据权利要求书,其他特征将显而易见。
附图说明
图1是根据本文描述的实施方式的示例姿态跟踪系统的框图。
图2是根据本文描述的实施方式的用于空中鼠标设备的示例姿态跟踪系统的框图。
图3是根据本文描述的实施方式的用于空中鼠标设备的另一示例跟踪系统的框图。
图4是描绘与本文描述的一个或多个空中鼠标设备一起使用的示例跟踪范围的框图。
图5A-5C是描绘与本文所述的一个或多个空中鼠标设备一起使用的示例手势识别的框图。
图6A-6B是描绘根据本文描述的实施方式的示例空中鼠标设备的框图。
图7是根据本文描述的实施方式的示例姿态跟踪系统的框图。
图8是根据在此描述的实施方式的跟踪输入设备的过程的实施方式的流程图。
图9图示可以与这里描述的实现方式一起使用的计算机设备和移动计算机设备的示例。
在各个附图中使用相似或相同的附图标记旨在指示相似或相同的元件或特征的存在。
具体实施方式
本文件描述了示例输入设备以及对这样的输入设备的跟踪,以供计算平台使用。特别地,本文所述的系统和技术可以用于跟踪输入设备,以用于操纵为了在计算设备中显示而提供的三维(3D)模型和/或对象。在一些实施方式中,可以以使用六个自由度(6-DoF)的模式来跟踪本文所述的输入设备。在一些实施方式中,可以以使用三个自由度(3-DoF)的模式来跟踪本文所述的输入设备。本文所述的系统和技术可以基于输入设备与一个或多个其他设备的接近度来确定使用哪种模式。
在一些实施方式中,本文件中所述的系统和技术可以用于确定和/或转换输入设备的操作和/或跟踪模式。根据贯穿本公开所述的示例实施方式,输入设备可能能够确定完整的6-DoF姿态数据,以用于跟踪输入设备从而允许以直观方式精确地操纵3D虚拟内容。
例如,本文所述的系统和技术可以包括利用电磁(EM)场来跟踪静止或移动的输入设备的3D位置和/或3D定向的输入设备。输入设备可以利用EM跟踪系统,EM跟踪系统被分成产生EM场的发射器部分和感测EM场的接收器部分。在一些实施方式中,发射器部分驻留在通过输入设备访问的计算设备上,而接收器部分驻留在输入设备上。在一些实施方式中,发射器部分驻留在输入设备上,而接收器部分驻留在通过输入设备访问的计算设备上。在一些实施方式中,作为代替,发射器或接收器部分在充当基站的EM跟踪系统中的第三设备上并且可以或可以不机械地(或者可通信地)耦合至输入设备或计算设备。
贯穿本公开所述的实施方式可以利用输入设备,诸如结合了非视线(NLOS)感测技术、6-DoF电磁跟踪(EM)技术以及3-DoF跟踪技术的空中鼠标设备,以跟踪嵌入空中鼠标设备中的至少一个元件的位置和定向(例如,姿态)。本文所述的基于EM的空中鼠标设备可以提供优于非EM系统的优势,因为基于EM的空中鼠标设备为NLOS,并且尽管遮挡了跟踪系统中的机载或外部感应元件,但仍可以保持设备跟踪。因而,本文所述的空中鼠标设备可以在其对应的感测元件被遮挡时继续跟踪而其他技术(例如,基于光的传感器,超声传感器和/或其他介质)可能无法保持跟踪。在本文所述的空中鼠标设备中采用EM跟踪技术允许6-DoF设备有力地抵抗由手掌,手指或其他身体部位阻挡空中鼠标设备的传感器引起的遮挡。
本文所述的系统和技术解决了准确跟踪输入设备(例如,空中鼠标设备)以将对计算设备的用户界面内的3D空间中的3D内容的操纵准确地传达给输入设备的用户的技术问题。一种示例技术解决方案可以包括结合了NLOS、6-DoF EM跟踪技术的空中鼠标计算机输入设备,以跟踪与嵌入在输入设备中的跟踪元件相关联的姿态。在一些实施方式中,可以将次级传感器安装在输入设备中,从而为输入设备提供故障安全备用跟踪。
本文所述的技术方案可以提供确保在输入设备执行的移动与计算设备上的虚拟3D空间中对象的任何所得移动之间的六个自由度上的一对一运动相关性的技术效果。本文所述的系统和技术可以提供改进的输入设备移动稳定性,改进的输入设备跟踪精度,以及在6-DoF空间中的高效跟踪。
本文所述设备的实施方式可以提供优于常规设备的优点。例如,本文所述的设备可以在特定EM基础范围内时使用NLOS 6-DoF EM跟踪,并且当在EM基础范围外时,可以自动地切换到基于非EM的传感器进行跟踪。这样的切换机制可以确保不管输入设备到特定计算设备的范围如何,都可以跟踪和传送输入设备的移动(以及姿态改变)。用户可以在计算设备中移动内容而不会丢失范围错误,也不会丢失计算设备上的输入设备表示。如果与信号噪声相关的度量高于与电磁感测系统相关联的噪声阈值,则可以检测到手持式电子设备在计算设备的范围外。例如,在一个实施例中,EM跟踪系统被配置成在EM发射器设备和EM接收器设备之间的一米范围内提供可接受的跟踪性能。例如,每当系统检测到范围已经超过一米时,系统就确定接收器在发射器的范围外。在另一实施例中,当接收到的EM场的信噪比下降到阈值以下时,则确定接收器在发射器的范围外。
在本文所述的空中鼠标/输入设备的一些实施例中,EM跟踪元件可与(或代替)惯性测量单元(IMU)传感器一起使用以提供绝对或相对姿态跟踪。在一些实施方式中,IMU传感器可以与EM跟踪元件结合使用以提供附加稳定性和跟踪精度。可以可选地为附加输入事件添加其他输入设备、适配体,按钮和触控板。另外,本文所述的系统可以执行多种软件算法,以分辨姿态轨迹,从而与可以触发计算设备上的命令的具体输入手势一起使用。例如,本文所述的系统可以将检测到的姿态轨迹转换成已分辨的手势。手势可以被与系统相关联的计算设备解释为输入命令。
在本文所述的实施方式中,输入设备包括许多示例空中鼠标设备。通常,每个空中鼠标设备可以容纳一个或多个子设备、一个或多个模块和/或任何数量的机械和电气组件,以提供电动和功能便携式输入设备。其他外部外壳可以是刚性的、柔性的、和/或可通信地附接到空中鼠标设备。
图1是根据本文所述的实施方式的示例姿态跟踪系统100的方框图。系统100可以用于对与一个或多个计算设备一起使用的一个或多个空中鼠标设备执行位置跟踪。姿态跟踪系统100可以为系统100生成的近场电磁场范围内的任意数量的空中鼠标设备提供NLOS,6-DoF跟踪。姿态跟踪系统100可以为近场电磁场范围外但是例如在计算设备的可通信范围内的任意数量的空中鼠标设备提供3-DoF跟踪。
在示例系统100中,例如,可以通过用户访问计算设备106或移动设备108上的内容来移动空中鼠标设备102。用空中鼠标设备102访问内容可以包括生成、修改、移动和/或选择计算设备106内所示的内容。
基础设备系统110可以检测空中鼠标设备102的移动和/或姿态改变,并且可以执行多个计算、确定和/或过程,以确定在空中鼠标设备102移动经过3D空间时的姿态和任何姿态改变。姿态可以与本文所述的任何数量的算法一起使用,以跟踪空中鼠标设备102从而适当地移动和呈现内容,例如,以通过网络104显示在计算设备106和/或移动设备108上。在一些实施方式中,姿态和其他内容可以在不使用网络104的情况下直接从空中鼠标设备102使用和/或传送。类似地,姿态或其他数据可以在不使用网络104的情况下从基础设备110传送到设备106和/或设备108。在一些实施方式中,系统100的设备可以使用点对点通信机制(例如,BLE,USB等)进行通信。
一旦相对于基础设备系统110计算了空中鼠标设备的姿态,就可以在与系统100的相对空间中利用该姿态。例如,如果用户访问空中鼠标设备102以在CAD程序中操纵3D内容109,则相对姿态可能足以允许在用户移动内容时跟踪设备102,因为基础设备系统110可能是静止的,并且系统不会从将姿态转换为世界空间的附加计算中受益。在一些实施方式中,可以使用基础设备系统110在世界空间中的已知姿态将姿态转换为世界空间。
如图1中所示,空中鼠标设备102包括发射线圈和/或接收线圈(例如,发射器/接收器线圈112)、至少一个处理器(例如,中央处理单元(CPU)114)、至少一个IMU传感器118、一个或多个模数转换器(ADC)或一个或多个数模转换器(DAC)120、以及一个或多个放大器122。在一些实施方式中,DAC 120可以与一个或多个放大器122组合,其可以在将信号转换成模拟信号时起放大的作用。系统100中可以存在其他硬件和软件,例如,以通过附加的有线或无线协议进行通信。
基础设备系统110包括发射器/接收器线圈130、至少一个CPU132、存储器134、ADC/DAC 136以及一个或多个放大器138。系统100中可以存在其他硬件和软件,例如,以通过其他有线或无线协议进行通信。
发射器/接收器线圈112和发射器/接收器线圈130可以表示可以分别发出和/或感测EM场(未示出)的发射器线圈或接收器线圈。通常,基础设备系统110可以使用发射器线圈来生成EM场。空中鼠标设备102可以使用接收器线圈读取由系统110生成的EM数据。其他配置是可能的。例如,EM场和数据可以由空中鼠标设备102生成,而基础设备系统110读取EM数据(如图2中所示)。
通常,姿态跟踪系统100使用近场电磁场来确定与输入设备(诸如空中鼠标设备102)相关联的姿态数据。姿态数据可以用于在用户移动设备时(或当设备静止时)跟踪空中鼠标设备102。在操作中,姿态跟踪系统100可以利用在三轴线圈(例如,发射器线圈112)上生成EM场的至少一个发射器,以在接收器(例如,基础设备系统110)处的第二个三轴线圈(例如,接收器线圈130)上感应出电流。接收器生成多个读数,然后系统110对这些读数进行处理,例如,以计算(例如,在空中鼠标设备102上的)发射器相对于(例如,在基础设备系统110上的)接收器的位置和定向。
在一些实施方式中,系统110可以使用发射器线圈130和放大器138来生成EM场。例如,发射器线圈130可以是三轴线圈(例如,三个线圈),三轴线圈可以生成三个EM场(每个不同的轴一个)。可以基于由放大器138提供给发射器线圈130的电功率以一定强度(即,发射功率)提供EM场。放大器138可以是通常被配置成基于接收到的控制信令生成一定大小的电功率的可编程放大器。通常,放大器122和138可以起到放大接收到的信号的作用。
继续上述示例,空中鼠标设备102可以包括用于读取EM数据的组件。例如,设备102包括接收器线圈112和ADC 120。在一些实施方式中,接收器线圈112是三轴线圈,三轴线圈被配置成生成具有指示检测到的EM场的大小和/或相位的模拟电信号。ADC 120通常被配置成接收所生成的模拟信号并将模拟信号转换成指示检测到的EM场的模拟信号的数字值。在该示例中,由ADC 120生成的数字值表示可用于姿态识别的EM数据,如下文进一步所述。
空中鼠标设备102还可以包括处理器114,该处理器114可以与系统110中的处理器132通信。该通信可以包括系统110关于空中鼠标设备102的相对姿态数据(或可替选地,是设备102关于系统110的姿态数据)。这样的处理器114和132被配置成执行指令(例如,计算机程序),以便执行具体任务。在一些实施方式中,处理器114和132中的至少一个执行指令,以基于由ADC 136提供的EM数据来识别系统110与设备102之间的相对姿态。可以在系统110和设备102之间的整个通信和交互中利用存储器116和存储器134。
系统100可用于跟踪3D位置和3D定向(即6-DoF跟踪)。输入设备可以利用EM跟踪系统,EM跟踪系统被分成产生EM场的发射器部分和感测EM场的接收器部分。在一个非限制性示例中,发射器部分被容纳在系统110上,并且包括发射器线圈130、ADC 136和放大器138。发射器部分可以在三轴线圈(未示出)上生成三个场,而接收器部分采用三轴线圈(未示出)作为天线,以感测由发射器部分生成的场。接收器部分可以包括接收器线圈112、ADC/DAC120和放大器122。接收器部分上的每个线圈都可以感测由与发射器部分相关联的线圈生成的所有三个场。这种交互引起至少九次EM测量。使用这些测量,可以通过采用偶极子模型(未示出)从九个测量计算接收器线圈112相对于发射器线圈130的姿态,从而使(在EM数据中的)感测到的EM大小等同于姿态。本文中使用的姿态可以指位置、定向或两者。
在另一非限制性示例中,发射器部分被容纳在设备102上,并且包括发射器线圈112和DAC 120以及放大器122。发射器部分可以在三轴线圈上生成三个场,而接收器部分采用三轴线圈(例如,线圈112)作为天线来感测发射器部分所生成的场。接收器部分可以被容纳在系统110上,并且可以包括接收器线圈130、ADC/DAC 136和放大器138。接收器部分上的每个线圈都可以感测由与发射器部分相关联的线圈生成的所有三个场。这种交互引起至少九次EM测量。使用这些测量,可以通过采用偶极子模型(未示出)从九个测量计算接收器线圈130相对于发射器线圈112的姿态,从而使感测到的(在EM数据中的)EM大小等同于姿态。
如图1中所示,空中鼠标设备102还可以包括IMU传感器118。IMU传感器118可以起基于IMU测量检测空中鼠标设备在3D空间中的3D定向的功能。IMU传感器118可以包括一个或多个加速度计、陀螺仪、磁力计和其他这样的传感器。通常,IMU传感器118可以例如检测空中鼠标设备102的运动、移动、速度和/或加速度。
在一些实施方式中,例如,可以基于由IMU传感器118提供的数据来检测空中鼠标设备102的姿态。基于检测到的姿态,系统100可以更新计算设备106(或基础设备110)上的内容,以反映空中鼠标设备102的已改变的姿态。
本文中使用的术语发射器/接收器可以表示单个发射器、单个接收器、发射器和接收器(例如,收发器)、多个发射器或多个接收器。在一些实施方式中,发射器(TX)和接收器(RX)分布在不同的设备上,包括跟踪可移动的输入设备的位置和/或定向的静止基础设备(例如,相关联的或在计算设备106内)。在一些实施方式中,基础设备系统110可以包括发射器线圈,而空中鼠标设备102可以包括接收器线圈。在一些实施方式中,基础设备系统110可以包括接收器线圈,而空中鼠标设备102可以包括发射器线圈。在一些实施方式中,设备102、110中的一个或两个可以包括收发器,收发器可以根据哪个EM场激励相应收发器的线圈来发射和接收。
在一些实施方式中,基础设备系统110连接到计算设备106和/或移动设备108。例如,基础设备系统110可以刚性地连接到计算设备106和/或移动设备108。在一些示例中,基础设备系统110可以可通信地耦合到(例如,有线或无线地)计算设备106和/或移动设备108。在一些示例中,基础设备系统110可以是耦合到计算设备106和/或移动设备108的适配体,并且可以经由适配体与空中鼠标设备102通信。在一些实施方式中,基础设备系统110被容纳在计算设备106或移动设备108内。
在示例系统100中,设备106、108和110可以是膝上型计算机、台式计算机、移动计算设备、平板计算设备或游戏控制台(或可以是其一部分)。设备106、108和110可以包括用于执行应用和应用内容的硬件和/或软件。另外,当设备106、108和110被放置在空中鼠标设备102的前方或保持在相对于空中鼠标设备102的位置范围内时,设备106、108和110可以包括(或可以访问)可以识别,监视和跟踪空中鼠标设备102的姿态的硬件和/或软件。在一些实施方式中,设备106、108和110可以通过网络104向空中鼠标设备102提供附加内容。在一些实施方式中,设备102、106、108和110可以一个或多个地彼此配对或通过网络104连接/对接。网络104可以是公共通信网络或私人通信网络。
系统100可以包括或可以访问电子存储设备(例如,存储器116和存储器134)。电子存储设备可以包括以电子方式存储信息的非暂时性存储介质。电子存储设备可以被配置成存储所捕捉的姿态数据、原始传感器数据,应用数据和/或其他计算数据。
在一些实施方式中,基础设备系统110可以与计算设备106集成,计算设备106可以包括(或耦合到)适配体140,如关于下图7详述的。在一些实施方式中,空中鼠标装置102可以包括轨迹球142,如关于下面的图6A至图6B详述的。
在一些实施方式中,空中鼠标设备102可以包括通信模块144。通信模块144可以用于将数据传送到CPU 114或系统100中的其他设备。在一些实施方式中,通信模块144可以传送命令以基于从空中鼠标设备102检测的移动和/或姿态改变操纵设备106中的内容109。尽管未明确为计算设备108、106和基础设备系统110描绘通信模块,但这些设备中的每一个都可以具有在系统100的任何设备之间发送和接收消息、数据、命令等的能力。
在一些实施方式中,空中鼠标设备102包括手势模块146。在一些实施方式中,作为代替,基础设备110包括手势模块146。在又其他实施方式中,计算设备106包括手势模块146。手势模块146表示可以将姿态轨迹转换为已分辨的手势的算法和/或软件。姿态轨迹可以由访问空中鼠标设备102的用户生成。例如,姿态可以被容纳系统100的相关联计算设备106解释为输入命令。在一些实施方式中,空中鼠标设备的姿态可以控制相关联的计算设备106上的二维(2D)鼠标光标。可以通过平移空中鼠标设备102或改变空中鼠标设备102的指向角度来移动鼠标光标。
在一些实施方式中,空中鼠标设备102包括麦克风(未示出)和/或扬声器(未示出),如关于图7详述的。
图2是根据本文所述的实施方式的用于空中鼠标设备202的示例姿态跟踪系统200的方框图。跟踪系统200可以是利用发射器线圈和接收器线圈来执行对空中鼠标设备202的跟踪的EM跟踪系统。在一些实施方式中,姿态跟踪系统200可以包括非电磁传感器和设备,以在用户移动设备202以与(与基础设备204相关联或集成的)计算设备中的内容进行交互时辅助对空中鼠标设备202的跟踪。
如该示例中所示,系统200包括输入设备(例如,空中鼠标设备202)和基础设备204。空中鼠标设备202可以是用于控制在计算设备的用户界面中显示的3D内容的手持式电子设备。例如,设备202可以是与在计算设备106上的内容109一起使用的空中鼠标设备102,其中,基础设备系统110安装在计算设备106上(或可被其访问)。
跟踪系统200通常被配置成通过生成EM场201,测量所生成的EM场201的大小和/或相位(本文称为“EM数据”)以及基于相应EM数据计算相对姿态,来识别空中鼠标设备202与基础设备204之间的相对姿态。因此,跟踪系统200可以被结合到采用姿态识别算法的各种设备和系统中。在一些实施方式中,跟踪系统200的一部分被结合到空中鼠标设备中,而跟踪系统200的其他部分被结合到计算设备中。因而,在一些配置中,基础设备204是计算设备(例如,基础设备系统110、计算设备106或移动设备108),而输入设备是手持式空中鼠标设备102/202。在一些配置中,基础设备204是输入设备,而空中鼠标设备202是静止的计算设备(例如,基础设备系统110、计算设备106或移动设备108)。其他配置也是可能的,其包括由设备202生成的EM场,以确保可以在基础设备204处读取EM数据。
在系统200的操作中,EM场201由基础设备204生成。基础设备204包括EM发射器模块206,以生成EM场。EM发射器模块206包括发射器线圈208、放大器210以及DAC 212。发射器线圈208可以表示例如被配置成以特定强度(例如,发射功率)生成EM场201的三轴线圈。发射功率可以至少部分地基于由放大器210提供的电功率。放大器210可以被配置成基于设备204的接收到的控制信令以一定大小生成电功率。
响应于检测到所生成的EM场201,空中鼠标设备202使用机载EM接收器模块220从EM场201读取EM数据。通常,EM发射器模块206可以用作电磁感测系统的一部分,例如以检测与空中鼠标设备202相关联的姿态。空中鼠标设备202可以在EM接收器模块中包括电磁感测系统的其余部分,如关于EM接收器模块220所述的。在一些实施方式中,EM接收器模块包括一个或多个处理器(未示出)。
基础设备204包括可以经由通信链路218与空中鼠标设备202双向通信的CPU(即,处理器214)。例如,EM数据、已识别的姿态、已识别的姿态轨迹和/或其他信息可以在空中鼠标设备202和基础设备204之间交换。例如,在一些实施方式中,处理器216基于EM数据识别姿态并将已识别的姿态传达给处理器214。在一些实施方式中,处理器216传达EM数据给处理器214,该处理器214基于EM数据识别姿态。
通信链路218可以是有线通信链路(例如,USB,串行,以太网等)、无线通信链路(例如,蓝牙,WiFi,ZigBee,RF等)等或其组合。在其他实施例中,可以将EM数据发送到另一设备和/或处理器(未示出),并且其他设备和/或处理器可以根据EM数据计算姿态。在一些实施方式中,EM数据可以被本地存储在设备202或204内,本地存储在系统200内和/或远离系统200存储。
如图2中所示,空中鼠标设备202是包括EM接收器模块220的输入设备,以从检测到的EM场生成EM数据。EM接收器模块220包括接收器线圈224、放大器226和ADC 228。在一些实施方式中,接收器线圈224可以是三轴线圈,该三轴线圈被配置成检测具有指示特定检测出的EM场的大小和/或相位的模拟电信号。ADC 228可以被配置成接收所生成的模拟信号并将模拟信号转换成指示在EM场201中表示的模拟信号的数字值。由ADC 228生成的数字值是可以用于空中鼠标设备202的姿态识别的EM数据。
空中鼠标设备202进一步包括IMU传感器230。IMU传感器230可以提供有关设备202的附加姿态信息。处理器214和216(或另一设备处理器)中的一个或多个可以使用附加姿态信息来补充或增强基于EM数据识别的姿态。例如,在一些实施例中,处理器216可以使用附加姿态信息来识别基于EM数据确定的姿态中的潜在错误,并解决所识别的错误。
在一些实施方式中,例如,当设备202在发射器模块206产生的EM场的范围外时,处理器216可以使用利用IMU 230确定的附加姿态信息来跟踪空中鼠标设备202。因而,IMU230可以被用作备用姿态确定器,以便继续跟踪设备202。例如,如果设备202是空中鼠标设备102,并且用户操作的设备102移出基础设备204(例如,安装在计算设备106内)的范围,则系统200仍然可以足够好地确定姿态信息以跟踪移动设备102,以便可以基于所跟踪的空中鼠标设备102的移动来移动计算设备106内的内容(例如,3D对象)。在该示例中,姿态信息可以是基于设备102/202的检测到的3D定向的3-DoF姿态数据。
例如,如果IMU 230被用作备用姿态确定器,则本文所述的系统可以包括一个或多个处理器(例如,设备202上的处理器216),这些处理器被配置成生成命令以操纵计算装置106中的3D内容。在一些实施方式中,IMU可以响应于在空中鼠标设备可通信地耦合到电磁发射器的同时检测到空中鼠标姿态,使用6-DoF姿态来生成命令以操纵在计算设备上显示的3D内容。为此,本文所述的系统可以开始使用从IMU 230(而不是从包括发射器模块206和接收器模块220两者的EM感测系统)收集的姿态信息。姿态信息可以用于跟踪空中鼠标设备202的移动。例如,移动可以被转换成可以在计算设备106的用户界面中示出的内容109上执行的命令。
在一些实施方式中,可以基于空中鼠标设备(例如,空中鼠标设备102)相对于基础设备(例如,基础设备204)的所确定的接近度来生成命令。例如,基础设备204可以与计算设备106相关联(或与计算设备106通信)。所确定的接近度可以是空中鼠标设备102在基础设备204(和/或计算设备106,如果可以估计基础设备204和计算设备106之间的转换)的范围内或外的指示。所确定的接近度可以触发在生成命令时使用哪个特定数据的选择。例如,当所确定的接近度指示设备102在基础设备204的范围内时,系统200可以利用来自电磁感测系统的数据(例如,姿态数据)。作为代替,当所确定的接近度指示设备102在基础设备204和/或计算设备106的范围外时,系统200可以利用来自IMU 230的姿态数据(例如,三维定向)。
在生成一个或多个命令时,通信模块144可以访问CPU 216以触发一个或多个命令的传输以操纵在计算设备中显示的三维内容。
图3是根据本文所述的实施方式的用于空中鼠标设备302的另一示例姿态跟踪系统的方框图。类似于姿态跟踪系统200,系统300可以是EM跟踪系统,其利用发射器线圈和接收器线圈来执行对空中鼠标设备302的跟踪。在一些实施方式中,姿态跟踪系统300可以包括非电磁传感器和设备,从而在用户移动空中鼠标设备302以与和基础设备304相关联的计算设备(例如,计算设备106)中的内容交互时,辅助跟踪空中鼠标设备302。
姿态跟踪系统300类似于图2的姿态跟踪系统200,但是姿态跟踪系统300将EM接收器模块306放置在基础设备304处,并且将EM发射器模块308放置在空中鼠标设备302处。例如,如图3中所示,基础设备304包括具有接收器线圈310、放大器312和ADC 314的EM接收器模块306。基础设备还包括处理器316。
输入设备302包括EM发射器模块308,以生成在基础设备304处感测的EM场。EM发射器模块308包括发射器线圈318、放大器320和DAC 322。在一些实施方式中,发射器线圈318是三轴线圈,其被配置成与DAC 322和放大器320一起工作以生成模拟电磁场。
空中鼠标设备302还包括IMU传感器326。IMU传感器326可以提供关于设备302的附加姿态信息。处理器316和324(或另一设备处理器)中的一个或多个可以使用附加姿态信息来补充或增强基于EM数据识别的姿态。例如,在一些实施例中,处理器326可以使用附加姿态信息来识别基于EM数据确定的姿态中的潜在错误,并解决识别出的错误。
在一些实施方式中,例如,当设备302在本文所述的EM场范围外时,处理器316(或处理器324或另一设备处理器)可以使用利用IMU326所确定的附加姿态信息来跟踪空中鼠标设备302。因而,如果设备302是空中鼠标设备102并且操作设备102的用户移出基础设备304(例如,安装在计算设备106内)的范围之外,则系统300仍然可以很好地确定姿态信息以跟踪移动的空中鼠标设备102,以便可以基于被跟踪的空中鼠标设备102的移动来移动计算设备106中的内容(例如,3D对象)。
在系统300的操作中,EM发射模块308被配置成生成EM场328。EM接收器模块304被配置成从感测到的EM场328生成EM数据。在一些实施方式中,来自空中鼠标的IMU数据可以经由通信链路330从处理器324传送到处理器316。在一些实施方式中,EM数据可以用于识别基础设备304和设备302之间的相对姿态。类似地,IMU数据可以用于识别空中鼠标设备302的姿态。
图4是描绘与本文所述的一个或多个空中鼠标设备一起使用的示例跟踪范围的方框图。在所描绘的示例中,空中鼠标设备402被示出为距计算设备404一定距离。空中鼠标设备402可以用于修改计算设备404的显示器中的3D内容。空中鼠标设备402可以表示空中鼠标设备102(图1),而计算设备404可以表示容纳系统110的计算设备106。
在操作中,可以将空中鼠标402从计算设备404移开,计算设备404容纳用于确定姿态信息的接收器电路和/或发射器电路,姿态信息可以用于跟踪设备402。例如,用户可以操作设备402来移动设备(从402到402A)从而操纵设备404中的3D内容。这里,用户已经将设备402从计算设备404移开,如箭头406和408所示。该设备被示出为沿直线移动,但是任何移动路线都是可能的。从位置410到位置418的线旨在说明设备402的功能可能基于离设备404的距离而改变的特定距离。例如,由于空中鼠标设备402包括基于EM的电路,因此如果设备402从计算设备404行进超过系统定义的操作距离,则设备402从设备404内的特定天线(即,线圈)移动可能引起信号衰减和信号故障。特别地,噪声会随着接收器模块(例如,接收器模块220)和发射器模块(例如,发射器模块206)之间距离的增大而增大。升高的噪声可能引起信号故障或无法利用来自设备402、404的数据。
本文所述的系统可以检测何时特定接收器模块在特定发射器模块的范围外。也就是说,当接收器和发射器之间的噪声(或与噪声相关的度量,诸如距离)大于阈值时,本文所述的系统可以退回到3-DoF姿态估计和后续设备跟踪。在一些实施方式中,阈值可以是基于系统中使用的硬件的预定义阈值,并且在其他实施方式中,阈值是动态计算的。在一些示例中,阈值可以被设置在允许姿态确定的发射器和接收器之间的距离处,但是可以是足够大的距离,以感应引起信号降级和/或数据发射失败的噪声影响。无论哪种情况,如果检测到特定接收器在发射器的范围外,系统都可以依靠次级传感器(例如,IMU传感器118)提供3-DoF跟踪,直到检测到发射器和接收器又在范围内为止。在一个示例中,一旦检测到空中鼠标设备102在计算设备404(容纳基础设备系统110)的范围内,则EM跟踪系统100可以返回到执行6-DoF姿态跟踪。
如图4中所示,如果用户将空中鼠标设备402从位置410移动到由位置412或位置414表示的距离(在6-DoF范围内),则可以由系统100执行基于EM的姿态确定和设备跟踪。最大距离可以用所使用的设备电子装置和电源协议表示。在设备402的示例操作中,可以表示从位置410到位置414为大约一米。然而,这样的距离可以被编程为小于或大于大约一米。
如果设备402移动超过位置414,例如,移动到位置416或418(例如,在3-DoF范围内),则系统100可以回复为使用IMU传感器118执行3-DoF姿态确定和设备跟踪。例如,如果空中鼠标设备402返回到位置414或被以其他方式放置在设备404(容纳EM发射器/接收器设备)的范围内,则系统100可以使用(基于EM的)6-DoF的姿态确定和设备跟踪。
在一些实施方式中,示例空中鼠标跟踪系统可以包括手持式空中鼠标设备和主机计算设备。手持式空中鼠标设备可以包括IMU、第一处理器以及EM接收器设备或EM发射器设备。如果手持式空中鼠标设备包括EM发射器设备,则主机计算设备可以包括EM接收器。如果手持式空中鼠标设备包括EM接收器设备,则主机计算设备可以包括EM发射器设备。主机计算设备还可以包括显示器和与第一处理器通信的第二处理器。第一处理器可以被配置成收集从EM数据和/或IMU数据导出的姿态数据。姿态数据可以用于(由第一处理器或第二处理器)计算EM接收器模块与EM发射器模块之间的估计姿态。姿态可以用于生成命令以操纵计算设备中的三维内容。
在一些实施方式中,EM接收器设备或EM发射器设备可以在包含第三处理器且在主机计算设备外部的基础设备中。估计姿态可以由单个处理器或第一处理器、第二处理器和/或第三处理器的任何组合来计算。在一些实施方式中,当与EM数据中的噪声相关的度量低于阈值时,估计姿态是从EM数据计算出的6-DoF姿态。当度量高于阈值时,估计姿态是从IMU数据计算出的3-DoF姿态。
在另一示例中,描述了一种手持式电子设备,以控制在计算设备的用户界面中显示的三维内容。手持式电子设备可以包括EM接收器模块、IMU、第一通信链路以及至少一个处理器。至少一个处理器可以被配置成从EM接收器模块收集EM数据,从IMU收集IMU数据,并通过第一通信链路传送姿态数据,其中,姿态数据是从EM数据和/或IMU数据导出的,并且其中,姿态数据用于估计手持式电子设备的姿态。另外,姿态可以用于生成命令以操纵计算设备中的三维内容。
在一些实施方式中,发射器被容纳在计算设备内。在一些实施方式中,发射器被嵌入在插入计算设备中的适配体中。在一些实施方式中,适配体包括第二通信模块,该第二通信模块维持与第一通信模块的通信链路,通过通信链路从手持式电子设备接收姿态数据,并且通过USB将从姿态数据导出的数据转发给计算设备。在一些实施方式中,作为代替,发射器模块被容纳在空中鼠标设备中,而接收器被容纳在计算设备中。
图5A至图5C是描绘与本文所述的一个或多个空中鼠标设备一起使用的示例手势分辨的方框图。可以关于类似的设备102、设备202或设备302描述空中鼠标设备502。手势分辨可以通过空中鼠标设备内的手势模块(例如,空中鼠标设备102中的手势模块146)、基础设备110或计算设备106执行。手势模块包括算法和/或软件,算法和/或软件可以将为空中鼠标设备确定的姿态轨迹转换为已分辨的手势。姿态轨迹可以由访问空中鼠标设备102的用户来生成。例如,手势可以被容纳系统100的相关计算设备106解释为输入命令。在一些实施方式中,空中鼠标设备的姿态可以控制相关联的计算设备106上的二维(2D)鼠标指针。通常,可以通过平移空中鼠标设备102或改变空中鼠标设备102的指向角度来移动鼠标指针。
如图5A中所示,用户可能正在使用空中鼠标设备502来访问计算设备504中的用户界面503中的软件和内容。空中鼠标设备502可能以一定角度移动以引起2D鼠标光标的位置的成比例变化。
例如,用户可以使用设备502执行从位置[1]506到位置[2]508的弧线移动,如箭头510处的设备502A所示。作为响应,系统100可以使用从基于EM的跟踪系统(在系统110和设备102之间进行分割)获得的姿态信息,将鼠标指针512从用户界面503中的左侧位置[1]514以成比例的距离准确地移动到右侧位置[2]516,引起鼠标指针被示出为鼠标指针518。即,如果空中鼠标设备502以箭头510所示的角度改变移动,则鼠标指针512也从左向右移动一段与该角度改变成比例的距离。
如图5B中所示,用户可能正在使用空中鼠标设备502来访问计算设备504中的用户界面503中的软件和内容。空中鼠标设备502可以从左向右移动,以引起2D鼠标光标的位置的成比例改变。
例如,用户可以使用设备502执行从位置[1]520到位置[2]522的从左到右移动,如箭头524处的设备502B所示。作为响应,系统100可以使用从基于EM的跟踪系统(在系统110和设备102之间进行分割)获得的姿态信息,将鼠标指针526从用户界面503中的左侧位置[1]528以成比例的距离准确地移动到右侧位置[2]530,引起鼠标指针被示出为鼠标指针532。即,如果空中鼠标设备502如箭头524所示地移动,则鼠标指针526也从左向右移动一段与该平移改变成比例的距离。因而,鼠标指针位置改变与空中鼠标设备在3D空间中的位置成比例。
如图5C中所示,用户可能正在使用空中鼠标设备502来访问计算设备504中的用户界面503中的软件和3D内容534。空中鼠标设备502可以在空间中从左向右并向前移动,以引起被配置成在计算设备上显示的虚拟空间中移动的2D或3D鼠标光标的位置的成比例改变。
例如,用户可以使用设备502执行从位置[1]536到位置[2]538的从左到右移动,如箭头540处的设备502C所示。作为响应,系统100可以使用从基于EM的跟踪系统(在系统110和设备102之间进行分割)获得的姿态信息,将鼠标指针542从用户界面503中的左侧位置[1]544以成比例的距离准确地移动到右侧位置[2]546,引起鼠标指针被示出为鼠标指针548。因而,鼠标指针位置改变与空中鼠标设备在3D空间中的位置成比例。
类似地,用户可以使用设备502(至502D)在3D空间中执行从位置[2]538到位置[3]550的前后(即,向前)移动,如箭头552处的设备502D所示。作为响应,系统100可以使用从基于EM的跟踪系统(在系统110和设备102之间进行分割)获得的姿态信息,将鼠标指针548从用户界面503中的第一位置[2]546以成比例的距离准确地移动到第二位置[2]544,引起鼠标指针被示出为鼠标指针556。因而,通过在3D空间中移动空中鼠标设备,鼠标指针位置改变与空中鼠标设备在虚拟3D空间中的位置成比例。
在一些实施方式中,系统100可以捕捉并解释复杂的手势。例如,例如,可以捕捉这样的手势并将其解释为对容纳系统110的相关联的计算设备106的命令。一个示例手势可以包括用户左右来回地摇晃空中鼠标设备502。系统100可以将移动解释为关闭当前操作系统/应用窗口的命令。在另一示例中,手势可以包括按下按钮并将空中鼠标设备502指向下方以触发系统100,以使聚焦在界面503中的窗口向下滚动。在又另一示例中,手势可以包括使用设备502在空中(例如,3D空间)中输入字母(例如,“x”)作为输入。这样的手势可以引起系统100将手势解释为关闭窗口的命令。这些示例手势中的每一个都可以被解释并作为命令(例如,经由通信模块144)传送到计算设备106上的软件应用和/或操作系统。手势可以由手势模块146利用任何基于EM的传感器和/或组件,以及基于非EM的传感器和/或图1中所述的组件和/或贯穿本公开的系统来解释。
在一些实施方式中,本文所述的系统可以在3D背景下捕捉手势并将其解释为对计算系统的命令。特别地,系统100可以在3D背景下捕捉手势并将其解释为命令。例如,可以在计算设备504上显示3D对象534。系统100可以基于场境提示来确定用户希望与内容534进行交互。如果系统100确定用户与3D对象534具有某种背景,则系统100可以将空中鼠标设备502的运动锁定到3D对象534,使得通过设备502执行移动引起3D对象534的一对一移动。例如,向后拉动(未示出)空中鼠标设备502可以引起3D对象534在用户界面503中显得更大或更近,从而有效地放大3D对象534。类似地,包括使空中鼠标设备502在空中旋转的手势可能会引起用户界面503中的3D对象534的相应旋转。在另一示例中,使用两个空中鼠标设备(例如,左手和右手中的每一个中的一个设备502)可以允许用户直观地抓住(例如,自然地搬动)3D对象534并拉动或拉伸该对象。系统100可以使用左空中鼠标设备502来模拟搬动第一端,并且使用右空中鼠标设备502来模拟搬动第二端,分别有效地模拟抓住第一端和第二端。
图6A是描绘根据本文所述的实施方式的示例空中鼠标设备600A的方框图。空中鼠标设备600A可以通过在触控板604上滚动轨迹球602来控制计算设备中的2D指针。例如,空中鼠标设备600A可以被用户访问以在用户绕触控板604滚动轨迹球602时,在计算设备106(图1)上二维地移动内容109。如果用户向右滚动轨迹球602,如箭头606所示,则内容109可以从左向右移动。在该示例中,轨迹球602可以提供姿态信息,并且可以响应于姿态信息来生成命令。
图6B是描绘根据本文所述的实施方式的示例3D空中鼠标设备600B的方框图。空中鼠标设备600B可从触控板610移除。空中鼠标设备600B可以通过从触控板610提起轨迹球608并在3D空间(例如,图6B中的x-y-z轴)中移动轨迹球608来控制计算设备中的3D虚拟对象。例如,用户可以提起轨迹球608,并从垂直y向右(或向左)转动轨迹球,如箭头612所示。这样的移动可以使内容109(图1)以任何角度倾斜,使得用户可以在扭转和/或转动轨迹球608时选取。类似地,用户可以操纵内容109以从水平z向后(或向前)扭转内容,如箭头614所示。另外,用户可以在3D空间中围绕y轴旋转轨迹球,例如,如箭头616所示。使用本文所述的基于跟踪EM的系统,轨迹球608的旋转触发在计算设备中显示的内容109(例如,三维对象)的旋转。类似地,在空间中平移轨迹球608引起内容109在计算设备的UI中所示的虚拟空间中的成比例平移。
用户可以例如在3D空间中向左,向右,向上,向下,向前和向后移动轨迹球608,包括倾斜,旋转,环绕移动以实现内容109的移动。移动可以是一对一的移动,其中,用户在空间中移动轨迹球,并且内容109在计算设备中移动相同距离(或基于轨迹球608的物理移动而移动预定的成比例距离)。
通常,轨迹球608可以提供姿态信息,并且可以响应于姿态信息而生成命令。这样的命令可以操纵,控制或以其他方式修改计算设备中的内容109。为了在系统100中起作用,轨迹球可以包括至少一个发射器模块(例如,发射器模块308),以根据轨迹球608在3D空间中的移动来发射命令从而控制三维对象(例如,内容109)。在一些实施方式中,作为代替,轨迹球可以包括至少一个接收器模块,而基础计算设备包括发射器模块。
在一些实施方式中,本文所述的输入设备包括一个或多个提供附加输入事件的按钮。另外,输入设备可以包含允许附加1D输入的滑条、一维(1D)触摸板、滚轴或类似组件中的任何一个或全部。在一些实施方式中,本文所述的输入设备可以包括2D触摸板、操纵杆和/或允许将2D模拟输入到相应输入设备中的类似组件。
图7是根据本文所述的实施方式的示例姿态跟踪系统700的方框图。姿态跟踪系统700可以包括可移除地附接到适配体706的输入设备702和计算设备704。适配体706可以包括与基础设备204(图2)或304(图3)中的组件类似的组件。输入设备702可以是用于控制在计算设备704的用户界面(未示出)中显示的3D内容的手持式电子设备。例如,设备702可以是与计算设备106上的内容109一起使用的输入设备102,其中,基础设备系统110安装在计算设备106上或与其连接,或者以其他方式可访问计算设备106。
在所描绘的示例中,适配体706可以包括USB连接器708,USB连接器708可以通过连接器710与计算设备704配合。通常,输入设备702可以是诸如控制器、空中鼠标、移动设备或平板设备之类的手持式设备。输入设备702可以被配置成经由第一无线协议(例如,经由射频、Wi-Fi或电磁频谱中的其他无线信号)将姿态信息传达至适配体706。适配体706可以使用有线协议(诸如通用串行总线(USB)、ZigBee、串行、火线、thunderbolt、lightning、模拟音频、数字音频等)与计算设备704通信。在一些实施方式中,适配体706包括EM发射器模块712,以与和输入设备702相关联的EM接收器模块714对接(和/或通信)。尽管描绘了用于适配体706的USB接口,并且可以提供可靠的机械接口以及小外形因子的数字通信协议两者,但是在本文所述的任何设备中都可以使用任何其他接口(诸如ZigBee、串行、火线、thunderbolt、lightning、模拟音频、数字音频等)。
跟踪系统700可以是EM跟踪系统,其利用发射器线圈和接收器线圈来执行对输入设备702的跟踪。在一些实施方式中,姿态跟踪系统700可以包括非电磁传感器和在用户移动设备702从而与(与连接到适配体706的计算设备704相关联或集成在一起的)计算设备中的内容交互时辅助跟踪输入设备702的设备。
在一些实施方式中,作为代替,EM发射器模块712在输入设备702中,并且EM接收器模块714交换到适配体706。在系统的该实施方式中,EM数据可以在适配体处收集,并可以被适配体706中的CPU722或者被计算设备704中的CPU 724转换成姿态。
跟踪系统700通常被配置成通过生成EM场701,测量所生成的EM场701的大小和/或相位(本文统称为“EM数据”),以及基于相应的EM数据计算相对姿态,来识别输入设备702与基础设备(例如,适配体706)之间的相对姿态。其他配置也是可能的,包括由设备702生成的EM场,以确保可以在基础计算设备704处(例如,经由软件狗706)读取EM数据。
在系统700的操作中,适配体706生成EM场701。适配体706包括EM发射器模块712以生成EM场。EM发射器模块712包括发射器线圈716、放大器718以及DAC 720。发射器线圈716可以表示例如三轴线圈,其被配置成以特定强度(例如,发射功率)生成EM场701。发射功率可以至少部分地基于由放大器718提供的电功率。放大器718被配置成基于设备706的接收到的控制信令以一定大小生成电功率。
响应于检测到所生成的EM场701,输入设备702使用机载EM接收器模块714从EM场701读取EM数据。通常,EM接收器模块714可以用作电磁感测系统的一部分,例如以检测与输入设备702相关联的3D位置和/或3D定向(即,姿态)。在该示例中,适配体706可以包括EM发射器模块712中的电磁感测系统的其余部分。在一些实施方式中,EM接收器模块714可以用作电磁感测系统的一部分,以检测与输入设备702的检测到的移动相关联的3D位置和/或3D定向(即,姿态)。
适配体706还包括CPU(即处理器722),该CPU可以经由CPU(即处理器724)和/或CPU(即处理器726)与输入设备702进行双向通信,分别如通信链路729和/或731所示。例如,经由使用处理器722、724和/或726中的任何一个的适配体706在设备202和计算设备704之间交换EM数据、所识别的姿态和/或其他信息。例如,在一些实施方式中,处理器726基于经由模块714识别的EM数据来识别姿态,并且将所识别的姿态直接或经由适配体706上的处理器722传达给处理器724。然后,适配体可以将姿态(例如,经由USB)传给计算设备704。在一些实施方式中,处理器726将EM数据传达给处理器722或处理器724,处理器722或处理器724基于EM数据识别姿态。
通信链路729和731可以是有线通信链路、无线通信链路(例如,蓝牙,ZigBee,RF等)等或其组合。在其他实施例中,可以将EM数据发送到另一设备和/或处理器(未示出),并且其他设备和/或处理器可以从EM数据计算姿态。在一些实施方式中,EM数据可以被本地存储在设备702、704或706内,本地存储在系统700内,和/或远离系统700存储。
输入设备702还包括EM接收器模块714,以从检测到的EM场生成EM数据。EM接收器模块714包括接收器线圈728、放大器730以及ADC 732。在一些实施方式中,接收器线圈728是三轴线圈,其被配置成检测具有指示特定检测到的EM场的大小和/或相位的模拟电信号。ADC 732通常被配置成接收所生成的模拟信号并将模拟信号转换成指示在EM场701中表示的模拟信号的数字值。由ADC 732生成的数字值是可用于输入设备702的姿态识别的EM数据。
输入设备702还包括IMU传感器734。IMU传感器734可以提供有关设备702的附加姿态信息。处理器722、724或726(或另一设备处理器)中的一个或多个可以使用附加姿态信息以补充或增强基于EM数据识别的姿态。例如,在一些实施例中,处理器726可以使用附加姿态信息来识别基于EM数据确定的姿态中的潜在错误,并解决所识别的错误。
在一些实施方式中,例如,当设备702在由发射器模块712产生的EM场的范围外时,处理器726可以使用利用IMU 734确定的附加姿态信息来跟踪输入设备702。因而,IMU 734可以用作备用姿态确定器,以便继续确定设备702的姿态信息和跟踪数据。例如,如果设备702是输入设备102,并且操作设备102的用户移出计算设备704(或适配体706)的范围,则系统700仍然可以足够好地确定姿态信息以跟踪移动设备102,以便可以基于被跟踪的输入设备102的移动来适当地移动计算设备106内的内容(例如,光标或3D对象)。在该示例中,姿态信息可以是基于设备102/702的检测到的3D定向的3-DoF姿态数据。
在一些实施方式中,适配体706包括处理器722和可通信地耦合到计算设备704并且可通信地耦合到输入设备702的无线接口。适配体706可以是可操作的,以从处理器726收集与输入设备702相关联的姿态数据。在一些实施方式中,当设备不移动时,适配体706可以是可操作的,以确定来自输入设备702的姿态信息。然后,适配体706可以使用处理器722或724来转换位置和定向数据(即,姿态数据)。在一些实施方式中,作为代替,适配体706可以使用处理器722或724转换从设备702的IMU 734检索到的位置和/或定向数据。在任何一种情况下,位置和/或定向数据都可以用于生成用于由计算设备704执行的命令。例如,命令可以通过由连接器708/710生成的USB接口从适配体706传送到计算设备704。
输入设备702还可以包括麦克风736和扬声器738。输入设备702可以包括麦克风736,以捕捉由访问设备702的用户说出的音频。例如,麦克风可以被配置成接收基于语音的查询,以生成从输入设备702到计算设备704的通信。在一些实施方式中,被捕捉的音频存储在鼠标上,以供将来回放或上载到计算机。在其他实施例中,音频经由无线连接流传输到计算设备以进行存储或处理。
在一些实施方式中,扬声器738被配置成从输入设备702生成音频回放。音频回放可以包括响应于在麦克风736处接收到的基于语音的查询的信息。例如,如果用户向麦克风736说了问题或命令,系统700可以将问题(直接或经由适配体706)流传输到计算设备704,计算设备704可以用通过扬声器738向用户回放的回答进行响应。
虽然在系统100、200、300、600A和600B中未示出麦克风736和扬声器738,但是如上所述,可以以类似方式包括设备736和738两者。
在一些实施方式中,适配体706可以在未插入计算设备704时附接到输入设备702以进行存储。在一些实施方式中,输入设备702可以在后表面上包含母连接器(例如,用于充电),并且适配体706可以包含可与输入设备的母连接器配对以进行存储的公连接器。在另一实施方式中,输入设备702包含可将适配体706储存在其中的隔间。
图8是根据本文所述的实施方式的对跟踪输入设备以便确定使用哪种数据来生成用于相关联的计算设备的命令的过程800的实施方式进行编程的流程图。关于在图2的EM跟踪系统200处的示例实施方式描述方法800,但是应明白,方法可以在具有其他配置的EM跟踪系统处实现。
在方框802,过程800可以包括(在空中鼠标设备202处)检测与空中鼠标设备202相关联的第一数据。第一数据可以包括移动数据、位置数据、定向数据或其任何组合。可以使用系统200中的至少一个机载的基于EM的传感器来检测第一数据。例如,设备202可以使用EM接收器模块220来检测与空中鼠标设备202相关联的位置数据和/或定向数据。EM接收器模块可以与基础设备204相关联和/或能够与基础设备204通信,基础设备204可以被安装在显示空中鼠标设备202可以控制的内容的计算设备106上(或者以其他方式可被计算设备106访问)。在一些实施方式中,EM接收器模块220可以检测第一数据以确定设备202的姿态信息。第一数据和第二数据可以与位置数据、定向数据或两者(即,姿态数据)有关。
在方框804,过程800可以包括检测与空中鼠标设备202相关联的附加数据(即,第二数据)。可以使用至少一个机载的非基于EM的传感器来检测第二数据。例如,基于非EM的传感器可以包括IMU 230,并且第二数据可以包括关于设备202的加速度计和陀螺仪信息。当用户在3D空间中移动设备202时,可以关于设备202检测第二数据。在一些实施方式中,可以在设备202不移动时检测第二数据。
在某一点上,用户可以移动设备202并且可以引起设备202变得在与基础设备(例如,安装在计算设备106中的设备204上的EM发射器模块206)相关联的EM场范围内或外。该范围可以是与计算设备相关联的预定义的接近度范围。例如,可以基于用于生成在设备204和设备202之间传送数据的EM场的EM发射器模块206的特定强度(例如,发射功率)来定义范围。示例范围可以包括大约一米到大约三米。其他范围也是可能的。
在方框806,可以确定设备202是否在计算设备106的范围内(连接到发射器模块206)。响应于确定空中鼠标设备202在计算设备106和/或发射器模块206的预定义接近度范围内,设备202可以使用第一数据生成与姿态有关的数据(方框808),主机计算设备可以将与姿态有关的数据转换成命令以与在计算设备上显示的内容进行交互。例如,由于设备202在使用和传送这样的数据的范围内,因此设备202可以至少部分地基于基于EM的数据来生成命令。
响应于确定空中鼠标设备202在计算设备的预定义接近度范围的范围外,设备202可以使用第二数据生成命令(方框810)以与在计算设备上显示的内容进行交互。例如,可以基于检测到基于EM的元件不可用使用IMU数据来生成命令。
无论使用哪个数据(第一数据或第二数据),空中鼠标设备202都可以在方框812处触发与姿态有关的数据向主机计算设备的传输其可以用于操纵在计算设备中显示的内容。系统200可以继续执行并确定第一数据和第二数据。每次要生成命令时,系统都再次开始确定输入设备是否在计算设备的范围内,如箭头814所示。例如,设备202可以继续检测与设备106的接近度,以确定是否能够收集EM数据来识别姿态。因而,过程流程返回到方框806。
图9示出示例计算机设备900和示例移动计算机设备950,其可以与这里描述的技术一起使用。关于计算机设备900和/或移动计算机设备950描述的特征可以包括在上述便携式计算设备100中。计算设备900旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。计算设备950旨在表示各种形式的移动设备,诸如,个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。此处所示的部件、它们的连接和关系以及它们的功能意味着仅是示例性的,并不意味着限制本文档中描述和/或要求保护的本发明的实施方式。
计算设备900包括处理器902、存储器904、存储设备906、连接到存储器904和高速扩展端口910的高速接口908以及连接到低速总线914和存储设备906的低速接口912。部件902、904、906、908、910和912中的每一个都使用各种总线互连,并且可以安装在通用主板上或视情况以其他方式安装。处理器902可以处理用于在计算设备900内执行的指令,包括存储在存储器904或存储设备906中的指令,以在外部输入/输出设备(诸如,耦合到高速接口908的显示器916)上显示GUI的图形信息。在其他实施方式中,可以适当地使用多个处理器和/或多个总线,以及多个存储器和存储器类型。同样,可以连接多个计算设备900,每个设备提供必要操作的部分(例如,作为服务器组、刀片服务器组或多处理器系统)。
存储器904将信息存储在计算设备900内。在一种实施方式中,存储器904是一个或多个易失性存储单元。在另一实施方式中,存储器904是一个或多个非易失性存储单元。存储器904也可以是另一种形式的计算机可读介质,诸如,磁盘或光盘。
存储设备906能够为计算设备900提供大容量存储。在一种实施方式中,存储设备906可以是或包含计算机可读介质,诸如,软盘设备、硬盘设备、光盘设备、磁带设备、闪存或其他类似的固态存储设备或设备阵列,包括存储区域网络或其他配置中的设备。计算机程序产品可以有形地体现在信息载体中。该计算机程序产品还可以包含在被执行时执行一种或多种方法(诸如,上述方法)的指令。信息载体是计算机或机器可读介质,诸如,存储器904、存储设备906或处理器902上的存储器。
高速控制器908管理计算设备900的带宽密集型操作,而低速控制器912管理较低带宽密集型操作。这种功能分配仅是示例性的。在一种实施方式中,高速控制器908(例如,通过图形处理器或加速器)耦合至存储器904、显示器916,以及耦合至可以接受各种扩展卡(未示出)的高速扩展端口910。在该实施方式中,低速控制器912耦合到存储设备906和低速扩展端口914。低速扩展端口(其可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网))可以例如通过网络适配器耦合到诸如键盘、指示设备、扫描仪的一个或多个输入/输出设备或诸如交换机或路由器的网络设备。
计算设备900可以以多种不同的形式实现,如图所示。例如,它可以被实现为标准服务器920,或者在一组这样的服务器中被实现多次。它也可以实现为机架服务器系统924的一部分。此外,它还可以实现在诸如膝上型计算机922之类的个人计算机中。可替代地,来自计算设备900的部件可以与诸如设备950的移动设备(未示出)中的其他部件组合。每个这样的设备可以包含一个或多个计算设备900、950,并且整个系统可以由彼此通信的多个计算设备900、950组成。
除了其他部件之外,计算设备950包括处理器952、存储器964、诸如显示器954的输入/输出设备、通信接口966和收发器968。设备950还可以配备有存储设备,诸如,微驱动器或其他设备,以提供附加的存储。部件950、952、964、954、966和968中的每一个都使用各种总线互连,并且部件中的若干个可以安装在通用主板上或视情况以其他方式安装。
处理器952可以在计算设备950内执行指令,包括存储在存储器964中的指令。处理器可以被实现为包括单独的以及多个模拟和数字处理器的芯片的芯片组。处理器可以提供例如用于设备950的其他部件的协调(诸如,对用户接口的控制)、由设备950运行的应用以及由设备950进行的无线通信。
处理器952可以通过控制接口958和耦合到显示器954的显示接口956与用户通信。显示器954可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器或其他合适的显示技术。显示接口956可以包括用于驱动显示器954向用户呈现图形和其他信息的适当电路。控制接口958可以从用户接收命令并且将它们转换以提交给处理器952。另外,可以提供与处理器952通信的外部接口962,以便实现设备950与其他设备的近区域通信。外部接口962可以例如在一些实施方式中提供用于有线通信,或者在其他实施方式中提供用于无线通信,并且也可以使用多个接口。
存储器964将信息存储在计算设备950内。存储器964可以被实现为计算机可读介质、易失性存储单元或一个或多个非易失性存储单元中的一个或多个。还可以提供扩展存储器974,并通过扩展接口972将其连接到设备950,扩展接口972可以包括例如SIMM(单列存储器模块)卡接口。这样的扩展存储器974可以为设备950提供额外的存储空间,或者还可以为设备950存储应用或其他信息。具体地,扩展存储器974可以包括用于执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器974可以被提供为设备950的安全模块,并且可以用允许安全使用设备950的指令来编程。此外,可以经由SIMM卡以及附加信息(诸如,以不可入侵的方式在SIMM卡上放置标识信息)来提供安全应用。
存储器可包括例如闪存和/或NVRAM存储器,如下所述。在一种实施方式中,计算机程序产品有形地体现在信息载体中。该计算机程序产品包含在被执行时执行一种或多种方法(诸如,上述方法)的指令。信息载体是计算机或机器可读介质,诸如,存储器964、扩展存储器974或处理器952上的存储器,其可以例如通过收发器968或外部接口962接收。
设备950可以通过通信接口966进行无线通信,该通信接口在必要时可以包括数字信号处理电路。通信接口966可以提供各种模式或协议下(诸如,GSM语音呼叫、SMS、EMS或MMS消息收发、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等等)的通信。这样的通信可以例如通过射频收发器968发生。此外,短距离通信可能发生,诸如,使用蓝牙、Wi-Fi或其他这样的收发器(未示出)。此外,GPS(全球定位系统)接收器模块970可以向设备950提供其他与导航和位置相关的无线数据,设备950上运行的应用可以适当地使用上述数据。
设备950还可以使用音频编解码器960以听觉方式进行通信,该音频编解码器可以从用户接收语音信息并将其转换为可用的数字信息。音频编解码器960可以类似地诸如通过扬声器在设备950的听筒中为用户生成可听见的声音。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等)并且还可以包括由在设备950上运行的应用生成的声音。
如图所示,可以以多种不同形式来实现计算设备950。例如,它可以被实现为蜂窝电话980。它也可以被实现为智能电话982、个人数字助理或其他类似的移动设备的一部分。
本文描述的各种技术的实施方式可以以数字电子电路、或以计算机硬件、固件、软件或它们的组合来实现。可以将实施方式实现为计算机程序产品,即,有形地体现在例如机器可读存储设备或传播的信号的信息载体中的计算机程序,以由数据处理装置(例如,可编程处理器、计算机或多台计算机)执行或控制数据处理装置的操作。可以以任何形式的编程语言(包括编译或解释语言)编写诸如上述计算机程序之类的计算机程序,并且可以以任何形式(包括作为独立程序或作为模块、部件、子例程或其他适合在计算环境中使用的单元)来部署该计算机程序。可以将计算机程序部署为在一个站点处的一台计算机或多台计算机上执行,或分布在多个站点上并通过通信网络互连。
方法步骤可以由执行计算机程序以通过对输入数据进行操作并生成输出来执行功能的一个或多个可编程处理器来执行。方法步骤也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,并且装置可以实现为上述专用逻辑电路。
适合于执行计算机程序的处理器包括例如通用和专用微处理器以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件可以包括至少一个用于执行指令的处理器和一个或多个用于存储指令和数据的存储设备。通常,计算机还可包括一个或多个用于存储数据的大容量存储设备,例如,磁、磁光盘或光盘,或计算机可操作地耦合以从一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备,或两者都有。适合于体现计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,例如包括半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,可以在具有用于向用户显示信息的显示设备(例如,阴极射线管(CRT)或液晶显示器(LCD)监视器、和用户可以通过其向计算机提供输入的键盘和指示设备(例如,鼠标或轨迹球)的计算机上实现实施方式。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
可以在包括后端部件(例如,作为数据服务器),或者包括中间件部件(例如,应用服务器),或者包括前端部件(例如,具有用户通过其可与实施方式进行交互的图形用户界面或Web浏览器的客户端计算机),或者包括这样的后端、中间件或前端部件的组合的计算系统中实现实施方式。部件可以通过数字数据通信的任何形式或媒介(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如,互联网。
可使用配置用于与包括用户设备、用户界面(UI)设备、用户终端、客户端设备或定制设备的用户接口的硬件和/或软件的任何适当组合来实现根据本文所述的示例实施例的计算设备。该计算设备可以被实现为便携式计算设备,诸如,例如膝上型计算机。该计算设备可以被实现为适于与用户接口的某种其他类型的便携式计算设备,例如,PDA、笔记本计算机或平板计算机。可以将计算设备实现为适于与用户接口的某种其他类型的计算设备,例如,PC。该计算设备可以被实现为适于与用户接口并且适于通过包括移动通信网络的网络进行无线通信的便携式通信设备(例如,移动电话、智能电话、无线蜂窝电话等)。
计算机系统(例如,计算设备)可以被配置为使用任何已知的无线通信技术和协议(包括适用于通过网络进行通信的射频(RF)、微波频率(MWF)和/或红外频率(IRF)无线通信技术和协议),经由与网络服务器建立的通信链路,通过网络与网络服务器无线地通信。
根据本公开的各个方面,可以在数字电子电路中,或在计算机硬件、固件、软件或它们的组合中实现本文描述的各种技术的实施方式。可以将实施方式实现为计算机程序产品(例如,有形地体现在信息载体、机器可读存储设备、计算机可读介质、有形计算机可读介质中的计算机程序),以用于通过数据处理装置(例如,可编程处理器、计算机或多台计算机)进行处理,或控制上述数据处理装置的操作。在一些实施方式中,有形的计算机可读存储介质可以被配置为存储指令,该指令在被执行时使处理器执行过程。可以以任何形式的编程语言(包括编译或解释的语言)编写诸如上述计算机程序之类的计算机程序,并且可以以包括作为独立程序或作为模块、部件、子例程或其他适合在计算环境中使用的单元的任何形式来部署该计算机程序。可以将计算机程序部署为在一个站点处的一台计算机或多台计算机上进行处理,或者分布在多个站点上并通过通信网络互连。
本文公开的特定结构和功能细节仅出于描述示例实施例的目的而具有代表性。然而,示例实施例可以以许多替代形式来体现,并且不应被解释为仅限于在此阐述的实施例。
本文所使用的术语仅出于描述特定实施例的目的,并且不旨在限制实施例。如本文所使用的,单数形式“一”,“一个”和“该”也意图包括复数形式,除非上下文另外明确指出。将进一步理解的是,当在本说明书中使用时,术语“包括(comprise)”,“包括(comprising)”,“包含(include)”和/或“包含(including)”规定了所述特征、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、步骤、操作、元件、部件和/或其组的存在或添加。
将理解的是,当一个元件被称为“耦合”、“连接”或“响应”于另一个元件或在另一个元件“上”时,它可以直接被耦合、连接或响应,或者直接位于其上,也可以存在其他元件或中间元件。相比之下,当一个元件被称为“直接耦合”,“直接连接”或“直接响应”于另一个元件或“直接在”另一个元件“上”时,不存在中间元件。如本文所使用的,术语“和/或”包括一个或多个相关列出的项目的任何和所有组合。
为了便于描述,在本文中可以使用空间相对术语,诸如“在...下方”,“在...之下”,“在...下部”,“在...之上”,“在...上部”等,以描述如图所示的一个元件或特征与另一个元件或特征的关系。将理解的是,除了附图中描绘的定向之外,空间相对术语还意图涵盖设备在使用或操作中的不同方向。例如,如果图中的设备被翻转,则被描述为在其他元件或特征“之下”或“下方”的元件将被定向为在其他元件或特征“之上”。因此,术语“在……之下”可以涵盖上和下两个定向。可以以其他方式定向设备(旋转90度或在其他定向),并且可以相应地解释本文中使用的空间相对描述符。
本文中参考截面图描述了本发明概念的示例性实施例,该截面图是示例性实施例的理想化的实施例(和中间结构)的示意图。这样,例如由于制造技术和/或公差导致的图示形状的变化是可以预期的。因此,本发明概念的示例实施例不应被解释为限于本文所示的区域的特定形状,而应包括例如由制造引起的形状偏差。因此,图中示出的区域本质上是示意性的,并且它们的形状不旨在示出设备的区域的实际形状,也不旨在限制示例实施例的范围。
将理解,尽管在本文中可以使用术语“第一”,“第二”等来描述各种元件,但是这些元件不应受到这些术语的限制。这些术语仅用于区分一个元素和另一个元素。因此,在不脱离本实施例的教导的情况下,“第一”元件可以被称为“第二”元件。
除非另有定义,否则本文中使用的所有术语(包括技术和科学术语)具有与本发明概念所属领域的普通技术人员通常所理解的相同的含义。还将理解的是,诸如在常用词典中定义的那些术语应被解释为具有与它们在相关领域和/或本说明书的上下文中的含义一致的含义,并且将不会以理想化或过于正式的意义来解释,除非在此明确定义。
尽管已经如本文中所描述的那样说明了所描述的实施方式的某些特征,但是本领域技术人员现在将想到许多修改、替换、改变和等同物。因此,将理解,所附权利要求旨在覆盖落入实施方式的范围内的所有此类修改和改变。应当理解,它们仅以示例而非限制的方式给出,并且可以进行形式和细节上的各种改变。除相互排斥的组合之外,本文描述的装置和/或方法的任何部分可以以任何组合进行组合。本文描述的实施方式可以包括所描述的不同实施方式的功能、部件和/或特征的各种组合和/或子组合。

Claims (21)

1.一种用于控制在计算设备的用户界面中显示的三维内容的手持式电子设备,所述手持式电子设备包括:
电磁感测系统,所述电磁感测系统用于针对所述手持式电子设备检测所述手持式电子设备在三维空间中的姿态;
惯性测量单元传感器,所述惯性测量单元传感器用于针对所述手持式电子设备检测所述手持式电子设备在三维空间中的三维空间的定向;
至少一个处理器,所述至少一个传感器被耦合到存储器,所述至少一个处理器被配置成生成命令以操作所述计算设备中的所述三维内容,所述命令基于所述手持式电子设备相对于与所述计算设备相关联的接收器模块的所确定的接近度来生成,所确定的接近度触发对在生成所述命令时使用的数据的选择,所述数据包括:
在所确定的接近度指示所述手持式电子设备在所述接收器模块的范围内时的所述电磁感测系统的姿态,和
在所确定的接近度指示所述手持式电子设备在所述接收器模块的范围外时的所述惯性测量单元传感器的定向;以及
至少一个通信模块,所述至少一个通信模块基于检测到的所述手持式电子设备的姿态的改变来触发所述命令的传输以操纵在所述计算设备中显示的三维内容。
2.根据权利要求1所述的手持式电子设备,其中所述手持式电子设备是空中鼠标设备,所述空中鼠标设备被配置成操纵在所述计算设备的用户界面中显示的三维计算机辅助设计对象,对所述三维计算机辅助设计对象的操纵基于跟踪所述手持式电子设备在所述三维空间中的所述姿态。
3.根据权利要求1所述的手持式电子设备,其中所述手持式电子设备被配置成:
在处于所述接收器模块的范围内时优先使用利用六个自由度的所述电磁感测系统;并且
在检测到所述手持式电子设备在与所述计算设备相关联的所述接收器模块的范围外时,切换到使用所述惯性测量单元执行三个自由度的感测。
4.根据权利要求1所述的手持式电子设备,其中所述计算设备可移除地附接到适配体,所述适配体包括第二处理器、与所述计算设备的第一通信接口、以及与所述手持式电子设备的第二通信接口,所述适配体可操作以:
从所述手持式电子设备的至少一个处理器并使用所述第一通信接口收集与所述手持式电子设备的姿态相关联的数据;
使用所述第二处理器将来自所述电磁感测系统或来自所述惯性测量单元传感器的所述数据转换成所述命令;并且
使用所述第二通信接口将所述命令传送给所述计算设备。
5.根据权利要求4所述的手持式电子设备,其中所述适配体进一步包括电磁接收器模块,以与和所述手持式电子设备相关联的发射器模块对接。
6.根据权利要求4所述的手持式电子设备,其中:
所述手持式电子设备被配置成经由无线协议将姿态信息传达给所述适配体;并且
所述适配体被配置成经由有线协议而传达给所述计算设备。
7.根据权利要求6所述的手持式电子设备,其中所述无线协议是射频(RF),并且所述有线协议是通用串行总线(USB)。
8.根据权利要求1所述的手持式电子设备,其中所述手持式电子设备进一步包括:
麦克风,所述麦克风被配置成接收基于语音的查询,以进行从所述手持式电子设备到所述计算设备的通信;和
扬声器,所述扬声器被配置成从所述手持式电子设备生成音频回放,所述音频回放包括响应于所述基于语音的查询的信息。
9.根据权利要求1所述的手持式电子设备,其中,如果与和所述电磁感测系统相关联的信号噪声相关的度量高于噪声阈值,则检测到所述手持式电子设备在所述计算设备的范围外。
10.根据权利要求1所述的手持式电子设备,其中所述手持式电子设备进一步包括可移除轨迹球,所述轨迹球包括所述至少一个通信模块,其中所述通信模块被配置成根据所述轨迹球在所述三维空间中的移动来传送命令以控制所述内容中的三维对象。
11.根据权利要求10所述的手持式电子设备,其中与所述轨迹球相关联的检测到的姿态的改变引起所述三维对象的姿态的相应改变。
12.一种用于空中鼠标设备的姿态跟踪系统,包括:
电磁接收器设备,所述电磁接收器设备与所述空中鼠标设备相关联并且被配置成确定远程电磁发射器和所述电磁接收器设备之间的6-DoF姿态,所述远程电磁发射器与计算设备相关联;
惯性测量传感器,所述惯性测量传感器被配置成确定所述空中鼠标设备的3-DoF姿态;
至少一个处理器,所述至少一个处理器耦合到存储器并且被配置成:
响应于在所述空中鼠标设备可通信地耦合到所述电磁发射器时检测到空中鼠标姿态,使用6-DoF姿态来生成命令以操纵在所述计算设备上显示的三维内容;并且
响应于在所述空中鼠标设备距所述电磁接收器设备超出预定范围时检测到空中鼠标姿态,使用所述3-DoF姿态来生成命令以操纵在所述计算设备上显示的三维内容。
13.根据权利要求12所述的姿态跟踪系统,其中所述预定范围至少部分地基于至少一个度量,所述至少一个度量与在所述电磁接收器设备处检测到的接收信号强度相对应。
14.根据权利要求12所述的姿态跟踪系统,进一步包括至少一个通信模块,以将所生成的命令传送到所述计算设备以控制在所述计算设备上显示的所述三维内容。
15.根据权利要求12所述的姿态跟踪系统,其中,所述空中鼠标设备进一步包括可移除轨迹球,所述轨迹球包括:
电磁感测系统,所述电磁感测系统检测与空中鼠标设备相关联的多个姿态,
所述至少一个处理器,所述至少一个处理器生成所述命令并且传送命令,以根据所述轨迹球在三维空间中的移动来控制所述三维内容。
16.根据权利要求12所述的姿态跟踪系统,其中,所述处理器被配置成:
使用所述3-DoF姿态生成命令,以触发对在所述计算设备上显示的三维内容的操纵,直到所述空中鼠标设备在所述电磁接收器设备的范围内为止;并且
在所述空中鼠标设备在所述电磁接收器设备的范围内时自动切换到使用所述6-DoF姿态生成命令以触发对在所述计算设备上显示的三维内容的操纵。
17.一种用于控制在计算设备的用户界面中显示的内容的空中鼠标设备,所述空中鼠标设备包括:
电磁感测系统,所述电磁感测系统响应于所述空中鼠标设备在三维空间中的检测到的移动,检测所述空中鼠标设备的三维位置和三维定向;和
惯性测量单元传感器,所述惯性测量单元传感器检测所述空中鼠标设备在三维空间中的三维定向;
耦合到存储器的至少一个处理器,所述至少一个处理器被配置成生成命令以操纵所述计算设备中的所述内容,所述命令基于所述空中鼠标设备相对于所述计算设备的所确定的接近度来生成,所确定的接近度触发在生成所述命令时使用的数据的选择,其中,所述数据包括:
在所确定的接近度指示所述空中鼠标设备在所述计算设备的范围内时的与所述电磁感测系统相关联的所述三维位置和所述三维定向,和
在所确定的接近度指示所述空中鼠标设备在所述计算设备的范围外时的所述惯性测量单元传感器的所述三维定向;和
至少一个通信模块,所述至少一个通信模块触发所述命令的传输以操纵在所述计算设备中显示的所述内容。
18.根据权利要求17所述的空中鼠标设备,其中所述空中鼠标设备被配置成操纵在所述计算设备的用户界面中显示的三维计算机辅助设计对象,对所述三维计算机辅助设计对象的操纵基于跟踪所述空中鼠标设备在三维空间中的所述位置和定向。
19.根据权利要求17所述的空中鼠标设备,其中,所述空中鼠标设备被配置成:
当在所述计算设备的范围内时,优先使用利用六个自由度的所述电磁感测系统,并且
在检测到所述空中鼠标设备在所述计算设备的范围外时,切换到使用所述惯性测量单元执行三个自由度的感测。
20.根据权利要求17所述的空中鼠标设备,其中,如果与和所述电磁感测系统相关联的信号噪声相关的度量高于预定义的噪声阈值,则所述空中鼠标设备被检测为在所述计算设备的范围外。
21.一种包括指令的计算机程序产品,所述指令被记录在非暂时性计算机可读存储介质上并且被配置成在由至少一个半导体处理器执行时使所述至少一个半导体处理器执行根据权利要求1所述的步骤。
CN201980062305.6A 2019-04-12 2019-04-12 电磁跟踪的三维空中鼠标 Pending CN112753006A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/027232 WO2020209864A1 (en) 2019-04-12 2019-04-12 Electromagnetically tracked three-dimensional air mouse

Publications (1)

Publication Number Publication Date
CN112753006A true CN112753006A (zh) 2021-05-04

Family

ID=66484149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980062305.6A Pending CN112753006A (zh) 2019-04-12 2019-04-12 电磁跟踪的三维空中鼠标

Country Status (4)

Country Link
US (1) US11714493B2 (zh)
EP (1) EP3834057A1 (zh)
CN (1) CN112753006A (zh)
WO (1) WO2020209864A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114115536A (zh) * 2021-11-22 2022-03-01 北京字节跳动网络技术有限公司 一种交互方法、装置、电子设备和存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230103932A1 (en) * 2021-10-06 2023-04-06 Finch Technologies Ltd. Motion Sensor Modules with Dynamic Protocol Support for Communications with a Computing Device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107533233A (zh) * 2015-03-05 2018-01-02 奇跃公司 用于增强现实的系统和方法
US20180108179A1 (en) * 2016-10-17 2018-04-19 Microsoft Technology Licensing, Llc Generating and Displaying a Computer Generated Image on a Future Pose of a Real World Object
US20190086482A1 (en) * 2017-09-18 2019-03-21 Google Inc. Correcting field distortion in electromagnetic position tracking systems

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL167648A (en) * 2005-03-24 2011-01-31 Elbit Systems Ltd Hybrid tracker
US9740922B2 (en) 2008-04-24 2017-08-22 Oblong Industries, Inc. Adaptive tracking system for spatial input devices
US9176602B2 (en) * 2013-06-11 2015-11-03 Thomson Licensing Spherical remote control
US10534447B2 (en) * 2014-09-01 2020-01-14 Yinbo Li Multi-surface controller
US9665174B2 (en) * 2015-02-20 2017-05-30 Sony Interactive Entertainment Inc. Magnetic tracking of glove fingertips with peripheral devices
US10908680B1 (en) * 2017-07-12 2021-02-02 Magic Leap, Inc. Pose estimation using electromagnetic tracking
US20190187819A1 (en) * 2017-12-18 2019-06-20 Immersion Corporation Haptically-Enabled Peripheral Usable for Two-Dimensional and Three-Dimensional Tracking

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107533233A (zh) * 2015-03-05 2018-01-02 奇跃公司 用于增强现实的系统和方法
US20180108179A1 (en) * 2016-10-17 2018-04-19 Microsoft Technology Licensing, Llc Generating and Displaying a Computer Generated Image on a Future Pose of a Real World Object
US20190086482A1 (en) * 2017-09-18 2019-03-21 Google Inc. Correcting field distortion in electromagnetic position tracking systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114115536A (zh) * 2021-11-22 2022-03-01 北京字节跳动网络技术有限公司 一种交互方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
US20210349541A1 (en) 2021-11-11
EP3834057A1 (en) 2021-06-16
WO2020209864A1 (en) 2020-10-15
US11714493B2 (en) 2023-08-01

Similar Documents

Publication Publication Date Title
US11243617B2 (en) Multi-function stylus with sensor controller
US10960298B2 (en) Boolean/float controller and gesture recognition system
EP2661663B1 (en) Method and apparatus for tracking orientation of a user
US9773158B2 (en) Mobile device having face recognition function using additional component and method for controlling the mobile device
CN100377043C (zh) 三维手写识别的方法及其系统
US8570273B1 (en) Input device configured to control a computing device
JP6171016B2 (ja) 磁場センサを用いて使用者入力を判断する電気装置
US20120270654A1 (en) Method and apparatus for scaling gesture recognition to physical dimensions of a user
CN103109462A (zh) 可佩戴式动作感测计算接口
US20140015811A1 (en) Input method and electronic device using pen input device
KR101609553B1 (ko) 3차원 동작인식 정보입력 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체
EP2752831B1 (en) Input device, display device and method of controlling thereof
CN106527670A (zh) 一种手势动作互动装置
US20180253161A1 (en) Spatial motion-based user interactivity
CN112753006A (zh) 电磁跟踪的三维空中鼠标
CN106527671A (zh) 一种设备隔空控制方法
Keir et al. Gesture-recognition with non-referenced tracking
CN106527669A (zh) 基于无线信号的交互控制系统
KR101211808B1 (ko) 동작인식장치 및 동작인식방법
KR20160039961A (ko) 사용자의 움직임을 인식하는 모션 인터페이스 디바이스
WO2023097573A1 (en) Devices and methods for remote control and annotation associated with an electronic device
KR101759829B1 (ko) 센서를 이용하는 인터페이싱 방법, 웨어러블 디바이스 및 사용자 단말
KR20140083848A (ko) 센서 데이터를 활용한 제스처 인식 방법 및 장치
Chen et al. MobiRing: A Finger-Worn Wireless Motion Tracker
CN116113909A (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