CN103003777B - 手持装置的向前指点方向的确定 - Google Patents

手持装置的向前指点方向的确定 Download PDF

Info

Publication number
CN103003777B
CN103003777B CN201180035248.6A CN201180035248A CN103003777B CN 103003777 B CN103003777 B CN 103003777B CN 201180035248 A CN201180035248 A CN 201180035248A CN 103003777 B CN103003777 B CN 103003777B
Authority
CN
China
Prior art keywords
omega
acceleration
centerdot
reference frame
angular velocity
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.)
Active
Application number
CN201180035248.6A
Other languages
English (en)
Other versions
CN103003777A (zh
Inventor
马修·G·利伯蒂
布赖恩·A·库克
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.)
IDHL holding company
Original Assignee
Hillcrest Laboratories Inc
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 Hillcrest Laboratories Inc filed Critical Hillcrest Laboratories Inc
Publication of CN103003777A publication Critical patent/CN103003777A/zh
Application granted granted Critical
Publication of CN103003777B publication Critical patent/CN103003777B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • 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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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
    • 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
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • G08C17/02Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C23/00Non-electrical signal transmission systems, e.g. optical systems
    • G08C23/04Non-electrical signal transmission systems, e.g. optical systems using light waves, e.g. infrared
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0384Wireless input, i.e. hardware and software details of wireless interface arrangements for pointing devices
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/30User interface
    • G08C2201/32Remote control based on movements, attitude of remote control device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • H04N21/42206User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
    • H04N21/42222Additional components integrated in the remote control device, e.g. timer, speaker, sensors for detecting position, direction or movement of the remote control, microphone or battery charging device

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)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Position Input By Displaying (AREA)

Abstract

与手持装置有关的向前指点方向例如通过计算该装置的旋转中心来估算或确定。然后所得的组合后或选定后的偏置估计可用于对例如3D指点装置中的传感器的偏置输出进行补偿。

Description

手持装置的向前指点方向的确定
相关申请
本申请涉及2010年6月3日提交的题为“Method of Computing aDynamic ForwardDirection(计算动态向前方向的方法)”的第61/351,108号美国临时专利申请,并要求其优先权,该申请的内容通过引用并入本文。
背景技术
本发明描述了能够用于3D指点装置(pointing device)以及其他类型装置中的向前指点方向(forward pointing direction)确定技术、系统、软件以及设备。
与信息通信有关的技术在过去的几十年里有了迅速的发展。电视、蜂窝电话、互联网和光学通信技术(这里仅列出几样)结合起来将消费者淹没在可得到的信息和娱乐选择中。以电视为例,最近30年来已经引入了有线电视服务、卫星电视服务、按次计费电影和视频点播。然而,20世纪60年代的电视观众在他们的电视机上通常只能够接收到也许是四或五个无线TV频道,今天的电视观众有机会在数以百计、数以千计和潜在的数以万计的节目和信息频道中选择。目前主要在旅馆等中使用的视频点播技术提供了一种用于从数以千计的电影节目单中进行家庭娱乐选择的潜能。
为终端用户提供那么多的信息和内容的技术能力给系统设计人员和服务供应商提供了机会和挑战。一种挑战是尽管终端用户通常更愿意拥有更多选择而不愿意选择变少,但这种喜好与他们希望的既快速又简单的选择处理相背。不幸的是,终端用户用来访问媒体节目的系统和界面的发展使得选择处理既不快捷又不简单。再次以电视节目为例。在电视处于其初期时,确定看哪一个节目是相对简单的事情,这是因为可选择的数目较少。人们可以查阅印制的节目指南,该节目指南被格式化为例如一系列的行和列,这些行和列显示出了在(1)邻近的电视频道、(2)被传输到这些频道的节目以及(3)日期和时间之间的对应关系。通过调节调谐钮,电视被调谐到所需的频道,并且观众观看到所选择的节目。在这之后,允许观众远距离调谐电视的遥控装置被引入。这种对用户-电视交互的增添产生了被称为“频道冲浪”的现象,借此,观众能够迅速地观看在大量频道中广播的短片段,从而可以快速得知在任意给定的时间什么节目是可看的。
尽管存在频道的数量和可观看的内容急剧增加的事实,但通常可得到的用于电视的用户界面、控制设备选择和架构在过去的30年里没有改变太多。印制的节目指南仍然是用于传递节目信息的最流行的机制。具有上下箭头的多按钮遥控器仍然是最流行的频道/内容选择装置。设计和实现TV用户界面的人们对可得到的媒体内容的增加的反应已经成为现存的选择处理和界面对象的直接延伸。这样,印制的节目指南中的行数增加以容纳更多的频道。遥控装置中的按钮的数目也增加以支持附加的功能和内容处理,例如,像图1所示的那样。然而,这种方法大大增加了观众浏览可得到信息所需的时间和执行选择所需运动的复杂度。有争议的是,现存界面的麻烦的本质阻碍了一些服务(例如视频点播)的商业应用,这是由于消费者反对给在他们看来已经是太慢和太复杂的界面再增加复杂度的新服务。
除了在带宽和内容方面增加之外,技术的集成还加剧了用户界面的瓶颈问题。消费者正在积极地做出反应要选择购买集成系统而不是大量可分离组件。这种趋势的一个实施方式是电视/VCR/DVD的组合,其中的三个组成部分以前是三个独立的组件,如今则作为一个集成单元而被频繁购买。这种趋势会延续下去,潜在的最终结果是目前在家庭中可以找到的大部分而非所有通信设备将会组合在一起作为集成单元,例如,电视/VCR/DVD/互联网接入/收音机/立体声单元。即便是那些继续购买分离组件的人们也会期望上述单独组件的无缝控制和这些分立组件之间的互相交互。随着这种集成度的增长,产生了使用户界面更加复杂的潜在可能。例如,在所谓的“通用”遥控单元(例如TV遥控单元和VCR遥控单元功能的组合)被提出时,这些通用遥控单元上的按钮的数目通常地多于单个TV遥控单元或VCR遥控单元上的按钮数目。如果不能准确地找到该遥控装置中的正确按钮,这些增加了数目的按钮和功能使人除了只能在控制TV或VCR的最简单的方面外很难控制其它任何事情。许多时候,这些通用的遥控装置不能提供足够的按钮以访问某些TV所特有的许多层面上的控制或特性。在这种情况下,仍然需要原始设备的遥控单元,并且由于集成的复杂度导致的用户界面问题,所以处理多遥控的最初争论仍然存在。一些遥控单元通过增加可用专家命令编制的“软”按钮解决了这个问题。这些软按钮有时具有附随的LCD显示装置来指示它们的运动。这种方式也具有缺陷,即,如果不将视线从TV转移到遥控装置,它们就难以使用。这些遥控单元的另一个缺陷是采用了多模式以试图减少按钮个数。在这些“模式化”的通用遥控单元中,存在专门的按钮来选择该遥控装置是否与TV、DVD播放器、有线机顶盒和VCR等通信。这产生了许多使用性的问题,包括发送命令到错误的装置、迫使用户通过观看遥控装置来确信其是否处于正确的模式,并且它不能给多装置的集成提供任何的简化。这些通用遥控单元的最大好处是它可通过允许用户将用于多个设备的命令序列编写到遥控装置中来提供一定的集成度。这是一个较困难的任务,以至于许多用户雇佣职业的安装人员来对他们的通用遥控单元进行程序编写。
人们还做出了一些尝试来使终端用户与媒体系统之间的屏幕界面现代化。然而,上述尝试除了其它缺点以外,通常具有不能容易地在媒体节目的大集合与媒体节目的小集合之间调整比例的问题。例如,依赖于节目列表的界面可以很好地为媒体节目的小集合工作,但是对于浏览媒体节目的大集合却是冗长乏味的。与媒体节目的大集合所用的列表界面相比,依赖于分等级的导航(例如树结构)的界面可具有更快的遍历速度,但是不适于媒体节目的小集合。另外,用户趋向于对不得不在树结构中经过三层或更多层的选择处理失去兴趣。对于所有的这些情况,目前的遥控单元通过迫使用户反复地按上按钮和下按钮来遍历上述列表或分级结构以更冗长乏味地进行这些选择处理。在可以使用选择跳过控制时(例如上翻页和下翻页),用户经常不得不看该遥控装置以找到这些特殊的按钮,或不得不经过训练以知道它们恰好存在。因此,在题为“A Control Framework with a ZoomableGraphicalUser Interface for Organizing,Selecting and Launching Media Items(用于组织、选择并启动媒体节目的具有可缩放图形用户界面的控制架构)”的第10/768,432号美国专利申请中已经提出了一种组织架构、技术和系统,其简化用户与媒体系统之间的控制和屏幕界面、并加快选择过程、而同时允许服务提供商通过便利地向用户供应大量媒体节目和新的服务来利用对终端用户设备增加的可用带宽的益处,该申请的内容通过引用并入本文。
本文特别感兴趣的是可用于与这种架构、以及其他应用和系统交互的遥控装置。如上述并入的申请中所提到的,各种不同类型的遥控装置可用于这种架构,例如包括轨迹球、“鼠标”型指点装置、光笔等。能够与这种架构(以及其他应用)一起使用的其他类别的遥控装置是3D指点装置。“3D指点(3D pointing)”一词在本文中指输入装置在例如显示屏前的空中进行三维(或更多维)移动的能力、以及用户界面将这些移动直接转换为例如光标在显示屏上移动的用户界面命令的相应能力。3D指点装置之间的数据传递可无线地执行或者通过3D指点装置连接至其它装置的线缆来执行。因而“3D指点”不同于例如传统的计算机鼠标指点技术,所述计算机鼠标指点技术使用例如桌子表面或鼠标垫的表面作为代理表面,通过该代理表面将鼠标移动转化为计算机显示屏上的光标移动。在Matthew G.Liberty的第7,118,518号美国专利(下文中称为‘518专利)中可以得到3D指点装置的实施例,该申请的内容通过引用并入本文。
诸如激光指点器或‘518专利中描述的示例性3D指点装置的指点装置通常具有向前指点方向,其通常指点装置的机械产品设计或形状因数来确定或指示。例如,与3D指点装置关联的外壳可被设计使用户通常以预定的方式抓握装置,以使与装置的预定“前面”相关的特定点或点轨迹通常在屏幕或显示器上指点,从而控制光标的移动。然而,虽然为了鼓励用户以预定方式握持指点装置而进行设计,但是一些用户不能始终以预定方式握持这些装置,因而装置的实际前向指点方向可能在操作中与其所设计的前向指点方向不同。例如对于确定光标移动或其他因数的各种算法处理而言,在某种程度上所设计的前向指点方向被假定为实际前向指点方向,指点装置的这种不期望使用可能引起光标移动的不精确性,或者可能需要其他追踪或补偿。
因此,在手持装置设计尤其是3D指点器设计的领域还存在改进的空间。
发明内容
与手持装置关联的向前指点方向例如通过对装置旋转中心进行计算来估算或确定。然后,所得到的组合后或选定后的偏置估算可被用于对例如3D指点装置中的传感器的偏置输出进行补偿。
根据示例性实施方式,用于确定装置的向前指点方向的方法包括以下步骤:通过处理器接收与装置的线性加速度和角速度关联的传感器输出,以及通过处理器使用线性加速度和角速度确定装置的向前指点方向。该方法还包括计算装置的旋转中心的步骤和使用旋转中心来确定装置的向前指点方向的步骤。
根据另一示例性实施方式,一种装置包括加速计、至少一个角速度传感器和处理单元,加速计用于感应装置的加速度并输出与装置的加速度关联的至少一个加速度输出,至少一个传感器用于感应装置的旋转并输出与装置的旋转关联的至少一个角速度输出;以及处理单元用于对加速度输出和至少一个角速度输出进行处理以确定装置的向前指点方向。
根据另一实施方式,一种装置包括加速计、至少一个传感器以及处理单元,加速计配置为感应装置的加速度并输出与装置的加速度关联的至少一个加速度输出,至少一个传感器配置为感应装置的旋转并输出与装置的旋转关联的至少一个角速度输出,以及处理单元配置为对加速度输出和至少一个角速度输出进行处理以确定装置的向前指点方向,其中,使用处理后的输出和万有引力常数基于对装置的旋转中心进行的计算来确定装置的向前指点方向,其中,该计算使用:基于所述角速度输出的角速度矩阵;基于所述角速度输出的角加速度矩阵;用于相对于地球参照系定义装置参照系的基于所述角速度矩阵和所述角加速度矩阵的方向余弦矩阵;以及基于所述加速度输出的线性加速度。
根据又一示例性实施方式,一种装置包括加速计、至少一个传感器和处理器,该处理器配置为使用来自加速计和至少一个传感器的输出估算方向余弦矩阵,方向余弦矩阵相对于装置的用户参照系定义装置主体参照系。至少一个传感器例如可以为磁力计、陀螺仪、旋转传感器或者这些传感器的任意组合。
根据另一示例性实施方式,一种系统包括加速计、至少一个传感器和处理器,该处理器配置为使用来自加速计和至少一个传感器的输出估算方向余弦矩阵,方向余弦矩阵定义相对于装置用户参照系的装置主体参照系。至少一个传感器例如可以为磁力计、陀螺仪、旋转传感器或者这些传感器的任何组合。加速计和至少一个传感器可设置在手持式装置的壳体中。处理器可位于手持装置的同一壳体内或者可设置在其它装置中,例如系统控制器或游戏机,处理器可接收来自加速计和至少一个传感器的输出,通过该输出计算方向余弦矩阵(或能用于确定手持式装置的向前指点方向的其它参数)。
附图说明
附图示出了示例性实施方式,其中:
图1示出了用于娱乐系统的传统遥控单元;
图2示出了能实现示例性实施方式的示例性多媒体系统;
图3示出了根据本发明的示例性实施方式的3D指点装置;
图4示出了图4中包括两个旋转传感器和一个加速计的3D指点装置的剖面图;
图5示出了根据另一个示例性实施方式的3D指点装置;
图6示出了根据示例性实施方式的图5的、用作“10英尺”接口的一部分的3D指点装置的剖面图;
图7示出了根据一个实施方式的可用于确定向前指点方向的用户参照系、旋转中心与主体参照系之间的示例性关系;
图8为示出根据一个实施方式用于确定向前指点方向的示例性方法的流程图;以及
图9示出了根据示例性实施方式的3D指点装置的硬件元件。
具体实施方式
下面参照附图对本发明进行详细的说明。在不同的附图中,相同或相似的元件用同一附图标记表示。此外,以下详细说明并不用于限制本发明。相反,本发明的范围由权利要求来限定。
示例性实施方式使诸如指点装置或3D指点装置的装置(包括可具有一种辅助功能以通过操作来提供指点输入的装置,例如,遥控器、移动电话、手持计算设备等)能够基于操作者如何使用装置而自动地且动态地确定最佳的向前指点方向。通过动态地确定向前方向,能够改善装置的性能。系统对每个操作者怎样使用装置进行解释,而非仅依赖于不可改变的预定设计。然而,应该注意,这些实施方式可与也向用户指示优选的(或潜在的)向前指点方向的机械设计结合使用,同时也可用于其机械设计不具有明显向前指点方向的装置中,例如球形(球式)外壳中。
在详细地讨论这些示例性实施方式前且为了为该讨论提供背景,首先参考图2对可以实现本发明的一个示例性的集成媒体系统200进行详细描述。但是,本领域普通技术人员可以预见到,本发明并不限于在这类媒体系统中实现,而是可以在其中包括更多或更少的组件。在本系统中,输入/输出(I/O)总线210将媒体系统200中的各个组件连接在一起。该I/O总线210代表多种用于对媒体系统组件之间的信号进行传输的机制和技术中的任意一种。例如,该I/O总线210可以包括适当数量的用于传输音频信号的独立音频“插头”电缆、用于传输视频信号的同轴电缆、用于传输控制信号的双线式串行线路或红外线或射频收发器、光纤或任何用于传输其它类型的信号的其它传输机制。
在这个示例性的实施方式中,媒体系统200包括电视/监视器212、视频卡式记录器(VCR)214、数字化视频盘(DVD)记录/回放装置216、音频/视频调谐器218和小型碟播放机220,这些器件都被连接到I/O总线210上。VCR 214、DVD 216和小型碟播放机220可以是单光盘或单磁带式设备,也可以是多光盘或多磁带式设备。它们可以是独立的单元或者被集成在一起。此外,媒体系统200还包括一个麦克风/扬声器系统222、摄像机224和无线I/O控制装置226。根据本发明的示例性实施方式,无线I/O控制装置226是根据以下所述示例性实施方式之一的3D指点装置。无线I/O控制装置226能够通过使用例如IR或者RF发射器或者收发器与娱乐系统200通信。可选地,I/O控制装置能够通过有线与娱乐系统200连接。
媒体系统200还包括系统控制器228。根据本发明的一个示例性的实施方式,系统控制器228能够操作以存储和显示可从多个娱乐系统数据源获得的娱乐系统数据,并能控制与系统各组件关联的多种特征。如图2所示,必要时,系统控制器228可通过I/O总线210直接或者间接地连接到系统的各个组件。在一个示例性的实施方式中,除I/O总线210外,或者用来替代I/O总线210,系统控制器228配备有无线通信发射器(或收发器),它能够通过IR信号或RF信号与系统组件进行通信。无论控制媒质是什么,系统控制器228都被设置成能够通过下文所述的图形用户界面来控制媒体系统200中的各个媒体组件。
如图2进一步所示,媒体系统200可以被设置用于接收来自多个媒体源和服务提供商的媒体节目。在这个示例性的实施方式中,媒体系统200从以下数据源中的任一个或全部接收信息并且可选择地向其发送信息:有线广播230,卫星广播232(例如通过卫星天线),广播电视网234的甚高频(VHF)或超高频(UHF)射频通信(例如通过空中的天线),电话网236和有线调制解调器238(或者其它的互联网内容源)。本领域技术人员可以预见到,图2所示的媒体组件和媒体源仅仅是一个示例,媒体系统200可以包括更多或者更少的这些组件。例如,对于上述系统的其它形式的输入包括AM/FM无线装置和卫星无线装置。
在上面通过引用并入的美国专利申请“A Control Framework witha ZoomableGraphical User Intertace for Organizing,Selecting andLaunching Media Items(用于组织、选择并启动媒体节目的具有可缩放图形用户接口的控制架构)”中,能够找到关于这个示例性娱乐系统及其关联架构的更多细节。可选地,根据本发明的遥控装置能够与其他系统结合使用,例如与包括例如显示器、处理器的计算机系统、存储系统或者其他各种系统以及应用结合使用。
如在背景技术部分中所述,本文感兴趣的是用作3D指点器的遥控装置,但是实施方式不限于在3D指点装置中实现。这种3D指点装置能将移动(例如,姿势或指向)能够转化为用户界面的命令。图3中示出了示例性的3D指点装置400。其中,可根据例如3D指点装置400的x轴方位角(滚动)、y轴高度(俯仰)和/或z轴方向(摇摆)运动的组合,界定3D指点装置的用户移动。此外,本发明的某些示例性实施方式还可测量3D指点装置400沿x、y和z轴的线性移动,以生成光标移动或其它的用户界面命令。虽然其他示例性实施方式将包括其他物理配置,但是在图3的示例性实施方式中,3D指点装置400包括两个按钮402和404以及滚轮406。根据本发明的示例性实施方式可预见,3D指点装置400将由用户在显示器408的前方握持,并且3D指点装置400会将其运动转化为输出,以与显示在显示器408上的信息相互作用,例如在显示器408上移动光标410。例如,通过3D指点装置400能够感应3D指点装置400关于y轴的旋转,并将其转化为系统可用的输出,以沿着显示器408的y2轴移动光标410。同样,通过3D指点装置400能够检测3D指点装置400关于z轴的旋转,并将其转化为系统可用的输出,以沿着显示器408的x2轴移动光标410。应该认识到,3D指点装置400的输出可用于以不同于(或除了)光标移动之外的多种方式与显示器408相互作用,例如,可控制光标淡入、音量或媒体传送(播放、暂停、快进或倒带)。输入命令可包括除了光标移动之外的操作,例如在显示器的特定区域放大或缩小。光标可以是可视或不可视的。同样,除了y轴和/或z轴旋转之外、或作为一种替代的选择,可使用3D指点装置400检测到的关于其x轴的旋转,向用户界面提供输入。
根据本发明的一个纯说明性的示例性实施方式,两个旋转传感器420和422以及一个加速计424能够用作如图4中所示的3D指点装置400中的传感器。虽然这个示例性实施方式采用了内部传感器,但是应该认识到,本发明不限于此,并且在下面提供了能够接合其他示例性实施方式使用的其他类型传感器的实施例。例如,通过使用由AnalogDevices制造的ADXRS150或ADXRS401传感器,能够实现旋转传感器420和422。本领域技术人员应该认识到,其他类型的旋转传感器可用作旋转传感器420和422,而ADXRS150或ADXRS401传感器只是用作说明性示例。不同于传统的陀螺仪(gyroscope),这些旋转传感器使用微型机电系统(MEMS)技术,提供附接在体系上的共振质量,以使其只能沿一个方向共振。当附着有传感器的主体沿传感器的感应轴线旋转时,该共振质量将会移位。可以通过科里奥利(Coriolis)加速度效应来测量出该移位,以确定与沿感应轴的旋转关联的角速度。如果旋转传感器420和422具有单个感应轴(例如ADXRS150),那么它们可安装在3D指点装置400中,使得它们的感应轴与待测量的旋转对准。对于本发明的示例性实施方式,这意味着旋转传感器422被安装成使得其感应轴平行于y轴,旋转传感器420被安装成使得其感应轴平行于z轴,如图4所示。应该理解,在其他示例性实施方式中可利用不同的传感器组件。例如,两个1-D旋转传感器420和422可由单个2-D旋转传感器组件替换,该2-D旋转传感器组件提供沿例如y轴和z轴的旋转运动的输出。一个示例性3-D旋转传感器为Invensense的MPU-3000,但是应该理解也可以使用其他传感器/传感器组件。还可使用在同一组件中具有多种传感器类型的传感器组件,诸如具有3轴旋转传感器和3轴加速器的Invensense的MPU-6000。旋转传感器420、422可以是1-D、2-D或者3-D传感器。例如,加速器424可以是3轴线性加速器,但是通过假设装置测量重力并且以数学方法计算剩余的第3个值,可以使用2轴线性加速器。另外,加速器和旋转传感器可以一起封装在单个传感器组件内。磁力计(未示出)可给添加传感器套件中,或者磁力计可替换所示传感器中的一个或多个。部件可以是分立的物理部件,或者彼此完全或部分集成。以下参照图9提供附加的细节。其他各种传感器和传感器组件也可以与这些示例性实施方式结合使用。
示例性实施方式不限于图3和4中所示的工业设计,而是可替换地以任意工业形状因数部署,如图5所示的另一个实施例。在图5的示例性实施方式中,虽然其他示例性实施方式可以包括其他物理配置,但是3D指点装置500包括环形外壳501、两个按钮502和504以及滚轮506和手柄507。包括两个按钮502和504以及滚轮506的区域508在本文中被称为“控制区”508,该“控制区”508布置在环形外壳501的外部。在2006年7月3日提交的题为“3DPointer Mapping(三维指点器映射)”的序列号为11/480,662的美国专利申请中能够得到与这个示例性实施方式相关的更多细节,该申请的内容通过引用并入本文。这种装置具有很多应用,包括例如在图6中所示的在典型的起居室中,在沙发和电视机之间的所谓“10英尺”接口中的使用。在那里,当3D指点装置500在不同位置之间移动时,该移动由3D指点装置200内的一个或多个传感器检测到,并且发射到电视机620(或者相关联的系统组件,例如机顶盒(未示出))。例如,3D指点装置500的移动可以转化为显示在电视机620上的光标640的移动,用于与用户界面交互。例如,在上述并入的序列号为10/768,432的美国专利申请和在2006年5月19日提交的题为“Global Navigation Objects in User Interfaces(用户界面中的全球导航对象)”的序列号为11/437,215的美国专利申请中可以得到示例性用户界面的细节,该申请的内容通过引用并入本文。
根据本发明的示例性的3D指点装置400的实施所面临的一个挑战是,使用不太贵的组件(比如,旋转传感器502和504),但同时又要提供3D指点装置400的移动、与用户期望用户界面对3D指点装置的具体移动做出何种反应、以及与响应于该移动的实际用户界面执行之间的高度相关性。例如,如果3D指点装置400没有移动,用户将会认为光标不应该在屏幕上飘移。同样,如果用户只是使3D指点装置400关于y轴旋转,他/她将不期望看到在显示器408上的光标移动有任何明显的x轴分量。
为实现本发明示例性的实施方式的这些和其它方面,例如通过手持式装置400来执行各种测量和计算,这些测量和计算被用来调整传感器402、422和424中的一个或多个的输出,和/或作为处理器的输入的一部分以根据传感器402、422和424的输出来确定用户界面的适当的输出。这些测量和计算是用来补偿以下两种因素的:(1)3D指点装置400的固有因素,例如,与装置400中使用的特定传感器402,422和424关联的误差,或者与传感器在装置400中安装方式关联的误差,以及(2)3D指点装置400的非固有因素,即与用户使用3D指点装置400的方式关联的因素,例如,线性加速度、倾斜和抖动。在上面通过引用并入的‘518专利中描述了用于处理上述各因素的示例性技术。虽然‘518专利描述了用于补偿用户对装置的倾斜的示例性技术,但是本文描述的倾斜补偿机制仍假设用户通常使用预先设计的装置“前”端来指点。然而,以下示例性实施方式提供了用于动态地确定装置的向前指点方向的另一些技术,允许用户以任何方向(例如可在沿“向前指点方向”(例如通常远离用户的手腕的指点方向)的球形表面上任意点的球体)握持装置。这允许更舒服地使用装置、使用可能无暗示方向的装置或者使用具有可能适于握持的多个方向的装置。
在‘518专利中描述的倾斜补偿和以下描述的根据示例性实施方式的动态向前方向彼此补充。倾斜补偿允许装置绕向前指点方向自由地旋转而无需改变指点操作。动态向前方向确定允许用户以任何方向握持对象,并且使其以相同的方式工作。旋转具有3个自由度(即,欧拉表示(Euler representation)中的摇摆、俯仰和滚动),因而倾斜补偿通常允许对一个维度(即,滚动)进行改变,而以下描述的动态向前方向确定允许对三个维度进行改变。
动态向前指点方向确定
现转至用于动态地确定装置(诸如遥控装置或3D指点装置)的向前指点方向的示例性实施方式,其考虑了遥控装置400、500(或具有不同工业设计的其它遥控装置)移动通过如图7所示的空间。与遥控装置关联的固定的用户体系(user frame)701可被任意地确定,但是本实施方式假设重力向量705与用户体系的z轴对齐。一般,用户体系的x轴与磁北对齐。该实施例中的遥控装置线性地移动通过由向量r 703表示的空间。典型地,向量r 703通常表示操作者的手腕的位置。遥控装置位于离开旋转中心的向量c 704处并处于点p 705处,点p 705也是遥控装置主体体系(body frame)702的原点。向量c被假设为期望的向前指点方向。
图7所示的术语、轴和向量将在以下段落中用于示出各种算法和数学方法,各实施方式可采用这些算法和数学方法以动态地确定装置向前旋转方向。此外,为随后讨论的算法定义以下标记法则:
小写字母表示标量变量:x,y,z;
小写粗体字母表示向量:x,y,z;
大写粗体字母表示矩阵:X,Y,Z;
假设向量为列向量(N×1矩阵);
xy=x·y是向量x和y的点积;
是向量v的大小;
x×y是向量x和y的叉积;
为叉积矩阵;
v ⊗ = 0 - v z v y v z 0 - v x - v y v x 0
Xy是矩阵X与向量y的矩阵乘法;
XT是矩阵转置;
I是单位矩阵
100 010 001 + ;
是方向y的单位向量;
<q0,v>是具有标量分量q0和长度为3的向量v的四元数;
Vector(q)=v,其中q是四元数<q0,v>;
是q和p的四元数乘积;
q*是q的四元数共轭:<q0,v>*=<q0,-v>
bx是在主体体系坐标中定义的向量x;
ux是在用户体系坐标中定义的向量x;
假设长度为2的向量v具有子分量(vx,vy);以及
假设长度为3的向量v具有子分量(vx,vy,vz);
是v的导数;
是v的二阶导数。
根据示例性实施方式,遥控装置使用以上描述的传感器(或其他传感器组件)测量装置的移动。然后,(手持式装置自身中的或与手持式装置通信的其他装置中的)处理器所执行的运动处理算法可将原始传感器数据转换为更有意义的形式,例如标准国际单位(SIunits)。运动处理可去除不期望的传感器特征,不期望的传感器特征包括可变的偏置偏移(bias offset)(零率偏移(zero rate offset)、零-g偏移(zero-goffset)、零高斯偏移(zero gauss offset))、横轴效应、尺度变化、非线性特性、温度效应和老化效应中的一个或多个。
然后,运动处理收集用户移动装置时的数据以确定旋转中心。为了示例,假设存在单个旋转中心,但是这些技术也可扩展至覆盖如以下将更详细描述的存在多个旋转中心的情况。如上所述,旋转中心710相对于用户体系原点711移位r 703。那么遥控装置相对于r703移位c 704。将r在用户体系中定义为ur,c在主体体系中定义为bc,其中“u”指的是用户参照系,“b”指的是主体参照系。设为方向余弦矩阵(DCM,Direction Cosine Matrix),其相对于用户体系定义主体体系。这样,装置的位置up可为:
p u = r u + Q B &LeftArrow; U T c b - - - ( 1 )
通过对等式(1)求导,得到
p &CenterDot; u = r &CenterDot; u + Q &CenterDot; B &LeftArrow; U T c b + Q B &LeftArrow; U T c &CenterDot; b - - - ( 2 )
通过再次求导,得到
p &CenterDot; &CenterDot; u = r &CenterDot; &CenterDot; u + Q &CenterDot; &CenterDot; B &LeftArrow; U T c b + 2 Q &CenterDot; B &LeftArrow; U Tb c &CenterDot; + Q B &LeftArrow; U T c &CenterDot; &CenterDot; b - - - ( 3 )
由遥控装置所测量的线性加速度ba由下式给出:
a b = Q B &LeftArrow; U ( p &CenterDot; &CenterDot; u + g u ) - - - ( 4 )
其中,ug为地球的重力,标称为(0,0,-9.8)m/s2
代入该等式得到:
a b = Q B &LeftArrow; U ( r &CenterDot; &CenterDot; u + g u ) + Q B &LeftArrow; U Q B &LeftArrow; U &CenterDot; &CenterDot; T c b + 2 Q B &LeftArrow; U Q B &LeftArrow; U &CenterDot; Tb c &CenterDot; + c &CenterDot; &CenterDot; b - - - ( 5 )
角速度矩阵和角加速度矩阵被定义为:
&Omega; b = Q B &LeftArrow; U Q B &LeftArrow; U &CenterDot; T
&Omega; &CenterDot; b = Q B &LeftArrow; U &CenterDot; Q B &LeftArrow; U &CenterDot; T + Q B &LeftArrow; U Q B &LeftArrow; U &CenterDot; &CenterDot; T - - - ( 6 )
其中,
b &Omega; = 0 - &omega; z b &omega; y b &omega; z b 0 - &omega; x b - &omega; y b &omega; x b 0
&Omega; &CenterDot; b = 0 - &omega; &CenterDot; z b &omega; &CenterDot; y b &omega; &CenterDot; z b 0 - &omega; &CenterDot; x b - &omega; &CenterDot; y b &omega; &CenterDot; x b 0
&Omega; 2 b = - &omega; y b 2 - &omega; z b 2 &omega; x b b &omega; y &omega; x b b &omega; z &omega; x b b &omega; y - &omega; x b 2 - &omega; z b 2 &omega; y b b &omega; z &omega; x b b &omega; z &omega; y b b &omega; z - &omega; x b 2 - &omega; y b 2
通过代入可得到:
Q B &LeftArrow; U &CenterDot; T = Q B &LeftArrow; U T &Omega; b
Q B &LeftArrow; U &CenterDot; = ( Q B &LeftArrow; U T &Omega; b ) T = &Omega; T b Q B &LeftArrow; U = - &Omega; b Q B &LeftArrow; U - - - ( 7 )
然后得到:
Q B &LeftArrow; U Q B &LeftArrow; U &CenterDot; &CenterDot; T = &Omega; &CenterDot; b - Q B &LeftArrow; U &CenterDot; Q B &LeftArrow; U &CenterDot; T
Q B &LeftArrow; U Q B &LeftArrow; U &CenterDot; &CenterDot; T = &Omega; &CenterDot; b - ( - &Omega; b Q B &LeftArrow; U ) ( Q B &LeftArrow; U T &Omega; b )
Q B &LeftArrow; U Q B &LeftArrow; U &CenterDot; &CenterDot; T = &Omega; &CenterDot; b + &Omega; 2 b - - - ( 8 )
将(8)代回等式(4),得到ba
a b = Q B &LeftArrow; U ( r &CenterDot; &CenterDot; u + g u ) + ( &Omega; &CenterDot; b + &Omega; 2 b ) c b + 2 &Omega; b c &CenterDot; b + c &CenterDot; &CenterDot; b - - - ( 9 )
然后,运动处理单元估算bc,其为旋转中心至主体体系原点的向量。可替换地,bc为主体体系坐标中的旋转中心的点。存在众多数值计算方法进行该估算。虽然不必要,但是本实施方式进行若干假设以使计算复杂性简化。由于通常所以假设由于运动处理尝试寻找单个一致的旋转中心,所以假设那么等式(9)被简化为:
a b = Q B &LeftArrow; U g u + ( &Omega; &CenterDot; b + &Omega; 2 b ) c b
c b = ( &Omega; &CenterDot; b + &Omega; 2 b ) - 1 ( a b - Q B &LeftArrow; U g u ) - - - ( 10 )
等式(10)在量趋近于零时失去精度或者失去秩。换言之,当装置进行更大的角运动(角速度或角加速度)时,该等式产生更好的估算。
使用例如来自传感器420、422的角速度测量值,处理器可计算可使用传统传感器融合方法计算的值。可将c的多个值组合来产生估算。例如可使用各种方法中的一种或多个得到多个c值的组合,这些方法包括经典的低通滤波、适应性滤波、Kalman滤波或Bayesian滤波。本实施方式使用Kalman滤波,其中测量误差由项的大小计算。
例如使用等式(10)计算的c的估算被假定为期望的向前方向。如果线性加速计从装置的中心偏移,该偏移可添加至c值以说明传感器的位移。虽然本实施方式在三个向量c的长度上进行滤波,但是也可使用包括球面坐标的其他向量表征。
以上示例性实施方式在计算中使用的值。在许多运动装置中,该值是不精确的。第二实施方式通过将隔开短时间段的两个不同测量值进行组合来消除了对的依赖性。由于系统重复地测量bΩ,所以系统可通过积分来计算Q中的变化。使用简单欧拉(Euler)积分,
Q U &LeftArrow; B ( n ) = Q U &LeftArrow; B ( n - 1 ) + Q U &LeftArrow; B &CenterDot; ( n ) &Delta;t
Q U &LeftArrow; B ( n ) = Q U &LeftArrow; B ( n - 1 ) + &Omega; T b &Delta;t Q U &LeftArrow; B ( n - 1 )
Q B &LeftArrow; U ( n ) = ( I + &Omega; T b &Delta;t ) Q B &LeftArrow; U ( n - 1 ) - - - ( 11 )
本领域技术人员应该注意,该等式(11)还假定了小角度近似。得到的积分后的Q可能不会被完全标准化。
该第二实施方式使用平均角速度来进行积分,其得到伪梯形积分:
&Omega; b = ( &Omega; 1 b + &Omega; 2 b 2 ) - - - ( 12 )
通过获取两次测量值并使用平均角速度进行积分,得到:
a 1 b = Q B &LeftArrow; U g u + ( &Omega; &CenterDot; 1 b + &Omega; 1 b 2 ) c b
a 2 b = ( I + &Omega; T b &Delta;t ) Q B &LeftArrow; U g u + ( &Omega; &CenterDot; 2 b + &Omega; 2 b 2 ) c b - - - ( 13 )
通过对Q的第一等式求解,得到:
Q B &LeftArrow; U g u = a 1 b - ( &Omega; &CenterDot; 1 b + &Omega; 1 b 2 ) c b - - - ( 14 )
将该值代入ba2,得到:
a 2 b = ( I + &Omega; T b &Delta;t ) ( a 1 b - ( &Omega; &CenterDot; 1 b + &Omega; 1 b 2 ) c b ) + ( &Omega; &CenterDot; 2 b + &Omega; 2 b 2 ) c b
a 2 b = ( I + &Omega; T b &Delta;t ) a 1 b - ( I + &Omega; T b &Delta;t ) ( &Omega; &CenterDot; 1 b + &Omega; 1 b 2 ) c b + ( &Omega; &CenterDot; 2 b + &Omega; 2 b 2 ) c b
a 2 b ( I + &Omega; T b &Delta;t ) a 1 b + ( ( &Omega; &CenterDot; 2 b + &Omega; 2 b 2 ) - ( I + &Omega; T b &Delta;t ) ( &Omega; &CenterDot; 1 b + &Omega; 1 b 2 ) ) c b
c b = ( ( &Omega; &CenterDot; 2 b + &Omega; 2 b 2 ) - ( I + &Omega; T b &Delta;t ) ( &Omega; &CenterDot; 1 b + &Omega; 1 b 2 ) ) - 1 ( a 2 b - ( I + &Omega; T b &Delta;t ) a 1 b ) - - - ( 15 )
因而提供用于确定装置的旋转中心bc的另一技术。
等式(15)的公式比之前的实施方式更易于测量噪声,但是不再依赖于角位置估算。由于向前指点方向的估算通常不是时间临界(timecritical)的,所以可在计算前应用附加的滤波来使传感器噪声引入的误差最小化。如果应用滤波,必须小心地确保不同运动测量在时间上一致。
之前的两个实施方式使用旋转中心来确定向前指点方向。第三实施方式使用装置的平均角位置来确定向前指点方向。通过使用装置指点方向的短期历史可动态地优化向前方向,以便最小化指点方向失真并最大化分辨率。由于屏幕具有固定尺寸,所以在短时期会存在映射至屏幕的相对固定的空间区域。通过用户体系定向补偿,当装置的平均倾斜度(pitch)为0且装置的平均摇摆度(yaw)为0时获得最小失真和最大分辨率。如果向前方向的倾斜度基于短期历史被动态地调整,那么平均倾斜度通常可设置为接近0。可以以相同方式确定摇摆度。对c的估算被计算使得以下所讨论的所得的坐标变换将c映射至屏幕的中心。
对于全部三个实施方式,通过传感器偏移量可选地调整的c的估算可用作新的向前指点方向。然后运动处理使用该新的向前指点方向来调整遥控装置的坐标系统。运动处理计算坐标旋转使得原主体体系x轴成为新确定的向前指点方向。对坐标变换的这种定义不指定θ,即与新的向前指点方向有关的旋转角度。当在也是方向补偿系统的系统内使用时,为该旋转角度所选择的值具有最小影响。本实施方式确定θ以使与新确定的向前指点方向有关的旋转量最小化。然后该新坐标系统被用作主体参照系,以用于进一步的光标处理,光标处理包括方向补偿、指点器响应曲线、增益调整、按钮运动抑制和指点器的轨迹(ballistics)。光标处理还可包括对绝对坐标的转换和指点器对准。
一旦上述运动处理完成,所得到的光标数据通过例如系统控制器228的主机进行处理,系统控制器228通过无线或有线方式连接至遥控装置。主机通常包括处理光标管理的操作系统。然后主机在显示器212上显示光标。
可以在本发明的范围内对上述示例性实施方式进行各种变形和变化组合。例如,虽然在上述实施方式中用于确定向前指点方向的旋转中心处于主体参照系中,但是旋转中心的计算可替换地在用户体系中执行。运动处理系统也可进行震动取消(tremorcancellation)。可使用附加的传感器,包括照相机、光学传感器(包括三角测量、三边测量、多点定位、到达的时差和角梯度)、超声(包括三角测量、三边测量、多点定位、到达的时差和角梯度)、RF(包括三角测量、三边测量、多点定位、到达的时差和角梯度)、磁场(包括三角测量、三边测量、多点定位、到达的时差和角梯度)或者可得到或Ω和g的估算的任何传感器系统。
运动处理可扩展至计算多重联接的旋转中心而非单个旋转中心。本实施方式假定大多数角运动发生自手腕,旋转中心应非常接近于用户的手腕关节。一些用户会更多地使用肘和肩膀的运动。通过计算多重联接的旋转中心,最终手腕中心的估算可能更加精确。大部分应用仍将从手腕中心至装置的向量用作向前指点方向,但是可选择其他向量以便最佳匹配期望应用。运动处理可被扩展以区分多个旋转中心,并在计算动态的向前方向时分别使用它们。例如,通过在手指移动和手腕旋转之间进行区分,手腕旋转将处于指点方向,而手指移动将可能与指点方向垂直。
在使用欧拉积分的情况下,可使用诸如梯形积分或多项式积分的替换积分方法来改进精度。可进行附加的测量来确定假设是否有效。如果假设无效,那么估算可被忽略或给予较小权重。通过附加的处理复杂性,无需进行 的假设。使用方向余弦矩阵(DCM)来指定等式以表征旋转。可使用包括欧拉角度、Pauli自旋矩阵、轴角和四元数的其他表征。
虽然前述实施方式涉及动态确定向前指点方向的并且作为“遥控装置”测量运动的装置,但是本领域技术人员应该理解,装置可具有任何形状因数或执行指点之外的任何功能。新坐标系统可将y轴生成为重力bg与向前指点方向bc的向量积,其将在bc不处于bg方向的情况下工作。
基于前述内容,用于确定手持式装置的向前指点方向的示例性方法可包括图8的流程图所示的步骤。在图8中,在步骤800,将处理器配置为接收与装置的线性加速以及装置的角速度有关的传感器输出。通过这些输出,在步骤802中还将处理器配置为确定装置的向前指点方向。根据一些示例性实施方式,确定装置的向前指点方向包含计算装置的旋转中心,在步骤802中通过计算旋转中心与装置主体参照系的原点之间的向量来使用装置的旋转中心确定装置的向前指点方向。根据其他实施方式,可使用其他信息例如装置的平均角位置得到装置的向前指点方向。
已根据前述示例性实施方式对在示例性3D指点装置中动态向前指点方向确定进行了描述,图9示出了与这种3D指点装置关联的示例性硬件构架。其中处理器1000与3D指点装置的其它元件进行通信,3D指点装置的其它元件包括闪存1001、滚动轮1002、JTAG 1004、LED 1006、开关矩阵1008、IR光探测器1010、旋转传感器1012、加速计1014和收发器1016。闪存装置1001可由处理器1000用来存储用于操作3D指点装置的各种程序和/或数据,例如如上所述的偏置估算。滚动轮1002为可选输入部件,使用户通过顺时针或逆时针旋转滚动轮1002能够向接口提供输入。JTAG 1004对处理器的接口提供编程和调试。LED 1006例如当按钮被按压时给用户提供视觉反馈。开关矩阵1008接收输入,例如3D指点装置上的按钮已被按压或释放的指示,然后这些输入被传递至处理器1000。可选的IR光探测器1010可设为使示例性自由空间指点装置能够从其他遥控器获悉IR编码。旋转传感器1012向处理器1000提供与例如以上所述的3D指点装置的y轴和z轴旋转(角速率)有关的读数。加速计1014向处理器1000提供与3D指点装置的线性加速有关的读数,其例如可用于执行倾斜补偿、对线性加速计引入旋转传感器1012产生的旋转读数中的误差进行补偿、以及对如上所述的向前指点方向进行计算。收发器1016用于将信息传递至3D指点装置,以及将来自3D指点装置的信息例如传递至系统控制器228或者传递至与计算机关联的处理器。收发器1016可以为例如依照用于短程无线通信的蓝牙标准的操作无线收发器,或者为红外收发器。可替换地,根据示例性实施方式的3D指点装置可以通过线缆连接与系统进行通信。磁力计1018可与加速计1014和旋转传感器1012一起或者作为这些传感器的替换也包含在装置中。可以以多种方式使用磁力计。这些方式用于改进对的计算、改进陀螺仪或旋转传感器测量、或用于通过检测磁场中的变化来替换陀螺仪或旋转传感器。
可通过执行包含在存储装置中的指令序列的一个或多个处理器来进行根据本发明的示例性实施方式的处理数据的系统和方法。这些指令可从诸如次级数据存储装置的其他计算机可读介质读取到存储装置中。执行包含在存储装置中的指令序列使处理器如上所述地操作。在替换的实施方式中,可使用硬连线电路替代软件指令或与软件指令结合来实现本发明。这种软件可以在封装于包含传感器的装置(例如,3D指点装置或其他装置)内的处理器上运行,或者软件可以在封装于与包含传感器的装置通信的另一种装置(例如,系统控制器、游戏控制台、个人计算机等)内的处理器或计算机上运行。在这种情况下,数据可以以有线或无线的方式在包含传感器的装置与包含处理器的装置之间传递,该处理器运行执行如上所述的动态向前指点方向估算和补偿的软件。根据本发明的其他示例性实施方式,可以在包含传感器的装置中执行与上述向前指点方向确定关联的一些处理,同时在从包含传感器的装置接收部分处理过的数据后,在第二装置中执行剩余的处理。
虽然上述示例性实施方式涉及了传感封装(包括一个或多个旋转传感器和加速计),但是根据本发明示例性实施方式的向前指点方向确定技术不限于这些类型的传感器。相反,如本文所述的向前指点方向确定估算技术可应用到包括,例如,只有加速计、光学和惯性传感器(例如,旋转传感器、陀螺仪或加速计)、磁力计和惯性传感器(如,旋转传感器、陀螺仪或加速度计),磁力计和光学传感器、或其他传感器组合的装置。另外,虽然本文所述的示例性实施方式涉及了3D指点装置和应用背景下的向前指点方向确定,但是这种技术并不限于此,并且可以应用到与其他应用(例如,医疗应用、游戏、照相机、军事应用、移动电话等)相关联的方法和装置中。
以上所述的示例性实施方式旨在对本发明的各方面进行说明,而不是对本发明进行限制。因此本发明在详细的实施上能具有多种变体,这些变体可由本领域技术人员从本文的说明中得出。如下文的权利要求所述,认为全部这些变体和修改都在本发明的范围和精神内。除非明确说明,否则本发明的说明书中使用的元素、运动、或指示都不应被解释为对本发明是决定的或本质的。同样,本文使用的“一个”趋向于是指包括一个或多个项。

Claims (32)

1.一种用于确定装置的向前指点方向的装置,包括:
加速计,用于感应所述装置的加速度并输出与所述装置的加速度相关的至少一个加速度输出;
至少一个传感器,用于感应所述装置的旋转并输出与所述装置的旋转相关的至少一个角速度输出;以及
处理单元,用于对所述加速度输出和所述至少一个角速度输出进行处理以确定所述装置的向前指点方向,
其中,确定所述装置的所述向前指点方向是基于使用处理后的输出和万有引力常数对所述装置的旋转中心进行的计算。
2.如权利要求1所述的装置,其中,所述计算使用:
基于所述角速度输出的角速度矩阵;
基于所述角速度输出的角加速度矩阵;
用于相对于地球参照系来定义所述装置的参照系的基于所述角速度矩阵和所述角加速度矩阵的方向余弦矩阵;以及
基于所述加速度输出的线性加速度。
3.如权利要求1所述的装置,其中,所述处理包括将原始传感器数据转换为国际体系单位数据。
4.如权利要求3所述的装置,其中,所述国际体系单位数据被滤波以去除不期望的传感器特性,所述不期望的传感器特性包括可变偏置偏移、横轴效应、尺度变化、非线性特性、温度效应和老化效应中的至少一种。
5.如权利要求4所述的装置,还包括与所述处理单元可通信地连接的射频发射器。
6.如权利要求5所述的装置,其中,所述射频发射器被配置为将向前方向计算结果发送至主机。
7.如权利要求5所述的装置,其中,所述射频发射器被配置为将滤波后的数据发送至主机以供所述主机使用,从而基于使用所述滤波后数据和万有引力常数对所述装置的旋转中心的计算来确定所述装置的向前方向。
8.一种用于确定装置的向前指点方向的方法,所述方法包括:
收集所述装置运动时与所述装置的加速度和旋转相关的数据;以及
基于所收集的数据来确定所述装置的所述向前指点方向,
其中,所述确定的步骤还包括计算所述装置的旋转中心,其中所述计算能够表示为:
c b = ( &Omega; &CenterDot; b + b &Omega; 2 ) ( a b - Q B &LeftArrow; U g u ) , 其中:
为主体参照系中与所述装置相关的角加速度矩阵,为所述主体参照系中与所述装置相关的角速度矩阵的平方,前上标b为所述主体参照系中与所述装置相关的线性加速度,为相对于用户参照系定义所述主体参照系的方向余弦矩阵,ug为与所述用户参照系相关的地球万有引力常数。
9.如权利要求8所述的方法,还包括:
将所述数据滤波以除去不期望的传感器特性。
10.如权利要求9所述的方法,其中,所述不期望的传感器特性包括可变偏置偏移、横轴效应、尺度变化、非线性特性、温度效应和老化效应中的至少一种。
11.如权利要求8所述的方法,其中,所述能够表示为:
&Omega; &CenterDot; b = 0 - &omega; &CenterDot; b z &omega; &CenterDot; b y &omega; &CenterDot; b z 0 - &omega; &CenterDot; b x - &omega; &CenterDot; b y &omega; &CenterDot; b x 0 , 其中:
为在所述主体参照系中所述装置的角加速度的x分量,为在所述主体参照系中所述装置的角加速度的y分量,为在所述主体参照系中所述装置的角加速度的z分量。
12.如权利要求8所述的方法,其中,所述能够表示为:
&Omega; b 2 = - &omega; b y 2 - &omega; b z 2 &omega; b x &omega; b y &omega; b x &omega; b z &omega; b x &omega; b y - &omega; b x 2 - &omega; b z 2 &omega; b y &omega; b z &omega; b x &omega; b z &omega; b y &omega; b z - &omega; b x 2 - &omega; b y 2 , 其中:
bωx为在所述主体参照系中所述装置的角速度的x分量,bωy为在所述主体参照系中所述装置的角速度的y分量,bωz为在所述主体参照系中所述装置的角速度的z分量。
13.如权利要求8所述的方法,其中,对所述装置的旋转中心向量的多次计算被组合以优化所述旋转中心向量的计算。
14.如权利要求13所述的方法,其中,所述组合包括低通滤波、Kalman滤波和Bayesian滤波中的至少一种。
15.如权利要求8所述的方法,其中,基于与所述装置关联的加速计与所述装置的中心的偏移值而偏移所述旋转中心向量的计算结果。
16.如权利要求8所述的方法,其中,所述主体参照系基于对所述向前方向的计算而调整。
17.如权利要求8所述的方法,其中,所述向前方向基于使所述装置的角位置平均化而确定。
18.如权利要求17所述的方法,其中,通过使用所述向前方向的值的短期历史来动态地优化所述平均化。
19.一种用于确定装置的向前指点方向的方法,所述方法包括:
收集所述装置运动时与所述装置的加速度和旋转相关的数据;以及
基于所收集的数据来确定所述装置的所述向前指点方向,
其中,所述确定的步骤还包括计算所述装置的旋转中心,其中所述计算能够表示为:
c b = ( ( &Omega; &CenterDot; b 2 + &Omega; b 2 2 ) - ( I + &Omega; b T &Delta; t ) ( &Omega; &CenterDot; b 1 + &Omega; b 1 2 ) ) - 1 ( a b 2 - ( I + &Omega; b T &Delta; t ) a b 1 ) ,
其中,为主体参照系中与所述装置相关的第一样本的角加速度矩阵,为所述主体参照系中与所述装置相关的第二样本的角加速度矩阵,bΩ1 2为所述主体参照系中与所述装置相关的所述第一样本的角速度矩阵的平方,bΩ2 2为所述主体参照系中与所述装置相关的所述第二样本的角速度矩阵的平方,ba1为所述主体参照系中与所述装置相关的所述第一样本的线性加速度,ba2为所述主体参照系中与所述装置相关的所述第二样本的线性加速度,bΩTΔt为所述第一样本与所述第二样本之间的平均角速度,I为单位矩阵。
20.如权利要求19所述的方法,其中,能够表示为:
&Omega; &CenterDot; b = 0 - &omega; &CenterDot; b z &omega; &CenterDot; b y &omega; &CenterDot; b z 0 - &omega; &CenterDot; b x - &omega; &CenterDot; b y &omega; &CenterDot; b x 0 , 其中:
为在所述主体参照系中所述装置的角加速度的x分量,为在所述主体参照系中所述装置的角加速度的y分量,为在所述主体参照系中所述装置的角加速度的z分量。
21.如权利要求19所述的方法,其中,能够表示为:
&Omega; b 2 = - &omega; b y 2 - &omega; b z 2 &omega; b x &omega; b y &omega; b x &omega; b z &omega; b x &omega; b y - &omega; b x 2 - &omega; b z 2 &omega; b y &omega; b z &omega; b x &omega; b z &omega; b y &omega; b z - &omega; b x 2 - &omega; b y 2 , 其中:
bωx为在所述主体参照系中所述装置的角速度的x分量,bωy为在所述主体参照系中所述装置的角速度的y分量,bωz为在所述主体参照系中所述装置的角速度的z分量。
22.如权利要求19所述的方法,其中,对所述装置的旋转中心向量的多次计算被组合以优化所述旋转中心向量的计算。
23.如权利要求22所述的方法,其中,所述组合包括低通滤波、Kalman滤波和Bayesian滤波中的至少一种。
24.如权利要求19所述的方法,其中,所述主体参照系基于对所述向前方向的计算而调整。
25.一种使用户确定手持指点装置的向前方向的系统,所述系统包括:
手持指点装置,包括:
加速计,用于感应所述装置的加速度并输出与所述装置的加速度相关的至少一个加速度输出;
多个角速度传感器,用于感应所述装置的旋转并输出与所述装置的旋转相关的至少一个角速度输出;以及
处理单元,用于对所述加速度输出和所述至少一个角速度输出进行处理,以及基于使用处理后的输出和万有引力常数对所述装置的旋转中心的计算来确定所述装置的向前方向;以及
主计算机,包括:
与所述手持指点装置的通信能力;以及
输出显示器。
26.如权利要求25所述的系统,其中,所述手持指点装置没有通过设计所指定的向前方向。
27.如权利要求25所述的系统,其中,所述手持指点装置将所述计算的结果发送至所述主计算机。
28.如权利要求27所述的系统,其中,所述主计算机基于所述计算调整所述显示器上对象的位置。
29.一种用于确定装置的向前指点方向的装置,包括:
加速计,配置为感应所述装置的加速度并输出与所述装置的加速度相关的至少一个加速度输出;
至少一个传感器,配置为感应所述装置的旋转并输出与所述装置的旋转相关的至少一个角速度输出;以及
处理单元,配置为对所述加速度输出和所述至少一个角速度输出进行处理以确定所述装置的向前指点方向,
其中,基于使用处理后的输出和万有引力常数对所述装置的旋转中心进行的计算来确定所述装置的向前指点方向,
其中,所述计算使用:
基于所述角速度输出的角速度矩阵;
基于所述角速度输出的角加速度矩阵;
用于相对于地球参照系定义所述装置的参照系的基于所述角速度矩阵和所述角加速度矩阵的方向余弦矩阵;以及
基于所述加速度输出的线性加速度。
30.如权利要求29所述的装置,其中,所述至少一个传感器是旋转传感器或陀螺仪。
31.如权利要求29所述的装置,其中,所述至少一个传感器是磁力计。
32.如权利要求30所述的装置,还包括磁力计,所述磁力计的输出被用于改进对所述方向余弦矩阵的计算。
CN201180035248.6A 2010-06-03 2011-06-03 手持装置的向前指点方向的确定 Active CN103003777B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US35110810P 2010-06-03 2010-06-03
US61/351,108 2010-06-03
PCT/US2011/039047 WO2011153421A2 (en) 2010-06-03 2011-06-03 Determining forward pointing direction of a handheld device

Publications (2)

Publication Number Publication Date
CN103003777A CN103003777A (zh) 2013-03-27
CN103003777B true CN103003777B (zh) 2016-09-07

Family

ID=45067311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180035248.6A Active CN103003777B (zh) 2010-06-03 2011-06-03 手持装置的向前指点方向的确定

Country Status (5)

Country Link
US (3) US9201516B2 (zh)
EP (1) EP2577427A4 (zh)
KR (1) KR101821781B1 (zh)
CN (1) CN103003777B (zh)
WO (1) WO2011153421A2 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101956186B1 (ko) * 2011-04-27 2019-03-11 삼성전자주식회사 가속도 센서를 이용한 자세 추정 장치 및 방법
FR2985583B1 (fr) 2012-01-06 2014-01-17 Movea Dispositif de commande gestuelle d'un systeme, et procede associe
CN104884902B (zh) * 2012-08-02 2018-04-06 美新公司 用于三轴磁力计和三轴加速度计的数据融合的方法和装置
DE102013214020A1 (de) * 2013-07-17 2015-02-19 Stabilo International Gmbh Digitaler Stift
US20170243327A1 (en) * 2016-02-19 2017-08-24 Lenovo (Singapore) Pte. Ltd. Determining whether to rotate content based on identification of angular velocity and/or acceleration of device
CN106095103B (zh) * 2016-06-16 2020-07-31 世源科技工程有限公司 虚拟现实的显示控制方法、装置及相关设备
US10761616B2 (en) 2016-07-09 2020-09-01 Maximillian Hobson-Dupont Position tracking system employing external magnetic field
CN110226150B (zh) * 2017-01-11 2022-09-27 索尼互动娱乐股份有限公司 控制器
TWI628631B (zh) * 2017-05-08 2018-07-01 和碩聯合科技股份有限公司 遙控系統、遙控方法與閘道器
CN117292532B (zh) * 2023-11-27 2024-02-06 深圳市天一欣科技有限公司 一种红外遥控器信号发送控制的方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9928682D0 (en) * 1999-12-06 2000-02-02 Electrotextiles Comp Ltd Input apparatus and a method of generating control signals
US20040268393A1 (en) 2003-05-08 2004-12-30 Hunleth Frank A. Control framework with a zoomable graphical user interface for organizing, selecting and launching media items
US7489299B2 (en) * 2003-10-23 2009-02-10 Hillcrest Laboratories, Inc. User interface devices and methods employing accelerometers
KR100537518B1 (ko) * 2004-01-27 2005-12-19 삼성전자주식회사 공간에서 클릭 동작에 따른 포인팅 위치 조절 방법 및이를 위한 공간형 입력 장치
ES2664472T3 (es) * 2004-04-30 2018-04-19 Idhl Holdings, Inc. Dispositivos de señalización de espacio libre con compensación de inclinación y facilidad de uso mejorada
KR20070017400A (ko) 2004-04-30 2007-02-09 힐크레스트 래보래토리스, 인크. 틸트 보상과 향상된 사용성을 갖는 3d 포인팅 장치
US20060262116A1 (en) 2005-05-19 2006-11-23 Hillcrest Laboratories, Inc. Global navigation objects in user interfaces
DE102005025478B4 (de) * 2005-06-03 2007-04-19 Albert-Ludwigs-Universität Freiburg Verfahren und Vorrichtung zur Bestimmung der relativen Lage, Geschwindigkeit und/oder der Beschleunigung eines Körpers
KR20070001740A (ko) 2005-06-29 2007-01-04 주식회사 하이닉스반도체 반도체소자의 트랜치 소자분리막 형성방법
WO2007005932A2 (en) * 2005-07-01 2007-01-11 Hillcrest Laboratories, Inc. 3d pointing devices
JP4773170B2 (ja) * 2005-09-14 2011-09-14 任天堂株式会社 ゲームプログラムおよびゲームシステム
US7868610B2 (en) * 2006-06-09 2011-01-11 The Regents Of The University Of California Angular motion tracking sensor
US7860676B2 (en) * 2007-06-28 2010-12-28 Hillcrest Laboratories, Inc. Real-time dynamic tracking of bias
TWI334559B (en) 2007-08-28 2010-12-11 Ind Tech Res Inst Interactive pointing device
KR20100068334A (ko) * 2007-09-12 2010-06-23 소니 가부시끼가이샤 입력 장치, 제어 장치, 제어 시스템 및 제어 방법
US8010313B2 (en) * 2008-06-27 2011-08-30 Movea Sa Hand held pointing device with roll compensation
KR101617562B1 (ko) * 2008-07-01 2016-05-02 힐크레스트 래보래토리스, 인크. 3d 포인터 매핑
JP5430123B2 (ja) * 2008-10-30 2014-02-26 任天堂株式会社 ゲーム装置およびゲームプログラム
JP2010231736A (ja) * 2009-03-30 2010-10-14 Sony Corp 入力装置および方法、情報処理装置および方法、情報処理システム、並びにプログラム

Also Published As

Publication number Publication date
US9201516B2 (en) 2015-12-01
KR20130115204A (ko) 2013-10-21
WO2011153421A2 (en) 2011-12-08
US20160252977A1 (en) 2016-09-01
EP2577427A4 (en) 2016-01-27
CN103003777A (zh) 2013-03-27
WO2011153421A3 (en) 2012-04-05
US10120463B2 (en) 2018-11-06
US20180046266A1 (en) 2018-02-15
EP2577427A2 (en) 2013-04-10
KR101821781B1 (ko) 2018-02-06
US9811175B2 (en) 2017-11-07
US20130215019A1 (en) 2013-08-22

Similar Documents

Publication Publication Date Title
CN103003777B (zh) 手持装置的向前指点方向的确定
CN102099814B (zh) 3d定位器映射
CN101256456B (zh) 具有倾斜补偿和改进的可用性的自由空间定位方法及装置
CN102566751B (zh) 自由空间定位装置和方法
US10782792B2 (en) 3D pointing devices with orientation compensation and improved usability
US8072424B2 (en) 3D pointing devices with orientation compensation and improved usability
JP2007535776A5 (zh)
US9740307B2 (en) Processing unit, computer program amd method to control a cursor on a screen according to an orientation of a pointing device
US20190384421A1 (en) Latency masking systems and methods
CN107943403A (zh) 具有上下左右模式切换和集成的挥动检测器的3d定位装置
CN1942924A (zh) 使用加速度计的用户界面装置和方法
WO2019138634A1 (ja) 情報処理装置、情報処理方法、およびプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20180112

Address after: Delaware

Patentee after: IDHL holding company

Address before: American Maryland

Patentee before: Hillcrest Lab Inc.

TR01 Transfer of patent right