使用加速度计的用户界面装置和方法

文档序号:2607197阅读:224来源:国知局

专利名称::使用加速度计的用户界面装置和方法相关申请本申请涉及2003年10月23日提交的、题为“使用加速度计的用户界面装置”的第60/513,869号美国临时专利申请并要求其优先权,其全部内容合并于此作为参考。本申请还涉及2004年4月30日提交的、题为“自由空间定位装置”的第60/566,444号美国临时专利申请并要求其优先权,其全部内容合并于此作为参考。另外,本申请还涉及2004年9月23日提交的、题为“自由空间定位装置及方法”的第60/612,571号美国临时专利申请并要求其优先权,其全部内容合并于此作为参考。
背景技术
:本发明描述了可用于多种不同应用的自由空间定位装置,所述应用包括,例如,用于组织、选择和启动媒体项目的构架。与信息的通信相关的技术在过去的几十年里有了迅速的发展。电视、蜂窝电话、互联网和光学通信技术(这里仅列出几样)结合起来将消费者淹没在可得到的信息和娱乐选择中。以电视为例,最近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等通信。这产生了许多使用性的问题,包括发送命令到错误的装置、迫使用户通过观看遥控装置来确信其是否处于正确的模式,并且它不能给多装置的集成提供任何的简化。这些通用遥控单元的最大好处是,它可通过允许用户将用于多个装置的命令序列编制到遥控装置中来提供一定的集成度。这是一个较困难的任务,以至于许多用户雇佣专业安装人员来对他们的通用遥控单元进行程序编制。人们还做出了一些尝试来使终端用户和媒体系统之间的屏幕界面适应现代需求。然而,除了其它缺点之外,这些尝试具有不能够容易地在媒体项目的大集合和媒体项目的小集合之间调整比例(scale)的问题。例如,依赖于节目列表的界面可以为小的媒体节目集合很好地工作,但是对于浏览大的媒体节目集合却是冗长乏味的。与列表界面相比,依赖于分等级的导航(navigation)(例如树结构)的界面对于大媒体节目集合可具有更快的遍历速度,但是不太适于小的媒体节目集合。另外,用户趋向于失去选择处理的兴趣,其中,用户不得不在树结构中移动经过三层或更多层。对于所有的这些情况,目前的遥控单元通过迫使用户反复地按压上按钮和下按钮来遍历上述列表或分级结构,使得这些选择处理更冗长乏味。在可以使用选择跳跃控制时(例如上翻页和下翻页),用户经常不得不注视该遥控装置,以找到这些具体的按钮,或不得不经过训练来得知它们恰好存在。本说明书所关心的问题在于能够与所述框架以及其他应用和系统配合使用的遥控装置。如以上并入本文的申请中所述,各种不同类型的遥控装置可与所述框架一起使用,所述框架包括,例如跟踪球、“鼠标”型定位装置、光笔等。然而,可与所述框架(以及其他应用)一起使用的其他类型的遥控装置包括自由空间定位装置。词语“自由空间定位”在本说明书中是指输入设备能够在例如显示屏前面的空气中在三维(或更多维)的方式移动能力,以及用户界面将这些运动直接转换为用户界面指令(例如显示屏上的光标移动)的相应能力。与自由空间定位装置之间的这种数据转换可以无线地执行,或者通过自由空间定位装置与其他装置之间的连线来执行。因此,“自由空间定位”与例如传统的计算机鼠标定位技术不同,传统的计算机鼠标定位技术是利用表面(例如桌面或者鼠标垫)作为辅助表面,鼠标在辅助表面上的相对运动被转换为计算机显示屏上的光标移动。在第5,440,326号美国专利中可以找到自由空间定位装置的一个示例。除了其他的内容外,所述5,440,326号专利还描述了一种垂直陀螺仪,其适于用作用于控制计算机显示器上的光标位置的定位装置。位于陀螺仪中心的电机通过两对正交的平衡环(gimbal)相对于手持控制装置悬挂,并且通过摆动装置与其旋转轴垂直线标称定向。当用户操纵手持控制装置时,光电轴角度译码器感测其方位,并且将产生的电输出转换为计算机可通过其控制计算机显示器屏幕上的光标移动的格式。然而,目前仍然需要成本较低、精确的以及用户界面友好的自由空间定位装置。
发明内容根据本发明的系统和方法通过提供一种自由空间定位装置和自由空间定位方法来满足这一需求和其他方面的要求,其将自由空间定位装置的运动精确转换为用户界面的指令,例如光标移动。根据本发明的示例性实施方案,自由空间定位装置包括多个加速度计。根据本发明的一个示例性实施方案,一种手持的用户界面装置,包括多个加速度计,各个所述加速度计提供与所述装置的运动相关的加速度数据;处理单元,用于将所述加速度数据转换为能够产生二维光标运动数据的数据;其中,所述处理单元进一步处理所述加速度数据,以确定所述手持的用户界面装置何时处于静态,并且当所述手持的用户界面装置处于静态时,对所述手持的用户界面装置重新校准。附图简要说明附图中示出了本发明的示例性实施方案,其中图1描绘了娱乐系统的传统遥控单元;图2描绘了一种示例性媒体系统,在其中可以使用本发明的示例性实施方案;图3示出了根据本发明的示例性实施方案的自由空间定位装置;图4示出了图4中的包括两个转动传感器和一个加速度计的自由空间定位装置的局部剖视图;图5是示出了对与根据本发明的示例性实施方案的自由空间定位装置相关联的数据进行处理的方框图;图6(a)-6(d)示出了倾斜的效果;图7描绘了根据本发明的示例性实施方案的自由空间定位装置的硬件结构;图8是描绘了根据本发明的示例性实施方案的静态检测装置的状态图;图9示出了与本发明的另一个示例性实施方案相关联的六个自由度;图10描绘了用于对根据本发明的另一个示例性实施方案的加速度数据进行处理的算法;图11描绘了根据图10中的示例性实施方案的自由空间定位装置的硬件结构;图12描绘了根据图10中的示例性实施方案的自由空间定位装置的软件结构;图13从算法的角度示出了图9和图10的示例性实施方案。具体实施例方式以下参照附图对本发明进行详细描述。不同附图中的相同标号表示相同或类似的元件。另外,以下详细描述并非对本发明的限制。相反,本发明的范围在所附权利要求中限定。为了给以下讨论提供更好的上下文关系,首先参照图2对在其中可以实施本发明的示例性集合媒体系统200进行描述。然而本领域技术人员可以意识到,本发明并不限制于在这一类型的媒体系统中实施,并且其中可以包括更多或更少的组件。其中,输入/输出(I/O)总线210将媒体系统200中的系统组件连接在一起。I/O总线210表示用于在媒体系统组件之间传送信号的任何大量的不同的装置和技术。例如,I/O总线210可以包括适当数量的传送音频信号的独立音频“插塞式(patch)”电缆,传送视频信号的同轴电缆,传送控制信号的双线串行线或者红外或射频收发器,传送其他类型信号的光纤或者任何其他传送装置。在本示例性实施方案中,媒体系统200包括与I/O总线210耦合的电视/监测器212、盒式磁带录像机(VCR)214、数字视频光盘(DVD)录制/播放装置216、音频/视频调谐器218以及光盘播放器220。VCR214、DVD216和光盘播放器220可以是单张盘或单盒带装置,或者可选地可以是多张盘或多盒带装置。以上装置可以是独立的单元或者整合在一起。另外,媒体系统200包括麦克风/扬声器系统222、摄像机224和无线I/O控制装置226。根据本发明的示例性实施方案,无线I/O控制装置226是根据以下描述的示例性实施方案之一的自由空间定位装置。无线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无线电广播以及卫星无线电广播。在上述合并作为参考的美国专利申请“用于组织、选择和启动媒体项目的带有可缩放的图形用户界面的控制架构”中可以找到本示例性娱乐系统的更多细节以及与之相关的构架。可选地,根据本发明的遥控装置也可结合其他系统使用,比如包括例如显示器、处理器和存储系统的计算机系统,或者各种其他系统和应用。如在
背景技术
:部分所述,本说明书特别关注于用作自由空间指示器的遥控装置。所述装置使得能够将运动(例如手势)转换为用户界面的指令。图3中描绘了一种示例性的自由空间定位装置400。其中,自由空间定位的用户移动可由例如自由空间定位装置400的x轴的姿势(摇摆)、y轴的高度(俯仰)和/或z轴的方向(偏航)运动的结合来定义。另外,本发明的某些示例性实施方案也可以测量自由空间定位装置400沿着x、y和z轴的线性运动,以产生光标移动或者其他用户界面指令。在图3的示例性实施方案中,自由空间定位装置400包括两个按钮402和404,以及滚轮406,而其他的示例性实施方案将包括其他的物理结构。根据本发明的示例性实施方案,按照预期,自由空间定位装置400由在显示器408前方的用户握住,并且自由空间定位装置400的运动将被自由空间定位装置转换为输出,所述输出可用于对显示器408上显示的信息产生作用,例如,移动显示器408上的光标410。举例来说,自由空间定位装置400绕着y轴的转动可由自由空间定位装置400感测到,并转换为可用于系统以沿着显示器408的y2轴移动光标410的输出。类似地,自由空间定位装置408绕着z轴的转动可由自由空间定位装置400感测到,并转换为可用于系统以沿着显示器408的x2轴移动光标410的输出。应该意识到,自由空间定位装置400的输出能够用来以不同于光标移动的许多方式或者除了光标移动之外的许多方式作用于显示器408,例如,其可以控制光标淡入,音量或者媒体传送(播放、暂停、快进和后退)。输入指令可以包括除了光标移动以外的操作,例如,在显示器上特定区域上的放大或缩小。光标可以是可见的或者不可见的。类似的,可以利用除了绕y轴和/或z轴转动之外的(或者作为一种选择)、所感测到自由空间定位装置400绕着其x轴的转动以提供对于用户界面的输入。根据本发明的一个示例性实施方案,在图4所示的自由空间定位装置400中可以使用两个转动传感器502和504以及一个加速度计506作为传感器。转动传感器502和504可以使用例如模拟装置公司(AnalogDevice)制造的ADXRS150传感器。本领域技术人员能够意识到,可以使用其他类型的转动传感器作为转动传感器502和504,而ADXRS150仅是一个示例。与传统的陀螺仪不同,ADXRS150转动传感器利用MEMS技术来提供共振块,其附着在框架上,从而可以仅沿着一个方向共振。当传感器所附接的主体绕传感器感测轴线转动时,共振块被移位。利用科里奥利加速度效应可对所述移位进行测量,以确定与沿着感测轴线的转动相关的角速度。如果转动传感器502和504具有单一的感测轴线(例如ADXRS150),那么可将其安装在自由空间定位装置400中,使得它们的感测轴线与待测量的转动对准。对于本发明的本示例性实施方案,这表示转动传感器502被安装为其感测轴线与y轴平行,而转动传感器504被安装为其感测轴线与z轴平行,如图4所示。然而,应该注意到,不需要将转动传感器502和504的感测轴线平行于所期望的测量轴线对准,因为本发明的示例性实施方案还提供了用于对轴线之间的偏移进行补偿的技术。在实施根据本发明的示例性自由空间定位装置400时,所要面对的一个挑战是组件的使用,例如转动传感器500和502,其并非非常昂贵,但是其同时在自由空间定位装置400的运动之间提供了高的相关度,以及用户对于用户界面如何对自由空间定位装置的特定运动进行响应、和用户界面响应于所述运动的实际的性能的期望。例如,如果自由空间定位装置400没有运动,那么用户将会期望光标不会在屏幕上漂移。类似地,如果用户只绕着y轴转动自由空间定位装置400,他或她将期望不会看见光标在显示器408上产生包含了任何显著的X2轴分量的运动。为了实现本发明的示例性实施方案的这些和其他方面,通过手持装置400执行了各种测量和计算,以调整一个或多个传感器502、504和506的输出、和/或作为处理器用来根据传感器502、504和506的输出确定用于用户界面的合适输出的输入的一部分。所述测量和计算用于对以下因素进行补偿,其大体分为两类(1)自由空间定位装置400的固有因素,例如与装置400中所用的特定传感器502、504和506或者传感器在装置400上的安装方式相关的误差,以及(2)并非自由空间定位装置400固有的、但是与用户使用自由空间定位装置400的方式相关的因素,例如,线性加速度、倾斜以及颤动。以下将描述用于处理这些效应的示例性技术。图5中示出了一种处理模块600,其描绘了根据本发明一个示例性实施方案的自由空间定位装置的一般操作。转动传感器502和504,以及加速度计506产生周期性采样(例如200次/秒)的模拟信号。出于本次讨论的目的,一组输入应表示为(x,y,z,αy,αz),其中x、y、z是示例性的三轴加速度计506的采样输出值,其分别与自由空间定位装置在x轴、y轴和z轴方向的加速度相关,αy是与自由空间定位装置绕着y轴的转动相关的转动传感器502的采样输出值,αz是与自由空间定位装置400绕着z轴的转动相关的转动传感器504的采样输出值。加速度计506提供输出,并且如果加速度计506的输出为模拟输出的话,其输出将被采样并且由A/D转换器(未示出)数字化,以产生采样的加速度计输出602。采样的输出值由原始单位被转换为加速度单位,例如重力(g),由转换功能模块604表示。加速度校准模块606提供了供转换功能模块604使用的值。加速度计输出模块602的这一校准可以包括,例如对一个或多个与加速度计506相关的比例(scale)、偏移和轴对准误差进行补偿。对于加速度计数据的示例性转换可通过以下方程来实现A=S*((M-P).*G(T))(1)其中M是由采样输出值(x,y,z)组成的3×1列向量,P是传感器偏移的3×1的列向量,S是包括比例、轴失准以及传感器转动补偿的3×3矩阵。G(T)是作为温度函数的增益系数。算符“*”表示矩阵相乘,算符“.*”表示元素相乘。示例性的加速度计506具有示例性的满量程+/-2g。传感器偏移P表示加速度计测量为0g时的传感器输出M。比例表示采样的单位值和g之间的转换因子。由于例如制造过程中的不同,任何给定的加速度计实际的比例可能会偏离标称比例值。因此,以上方程中的比例因子将与所述偏离成比例。可通过例如沿着一个轴线施加1g的力并测量结果R1来测得加速度计506比例和偏差。然后,施加-1g的力以产生测量值R2。单独的轴比例s和单独的轴偏移p可如下计算s=(R1-R2)/2(2)p=(R1+R2)/2(3)在这种简单的情况下,P是对于各个轴的p的列向量,S是的对于各个轴的l/s的对角矩阵。然而,除了比例和偏移之外,加速度计506所产生的读数也受到交叉轴(cross-axis)效果的影响。交叉轴效果包括轴的失准,例如,当加速度计506安装在自由空间定位装置400中时,其一个或多个感测轴线未与参考惯性坐标系中的相应的轴线对准;或者与加速度计506本身的加工相关的机械误差,例如,即使在轴完全对准的情况下,单纯的y轴加速度力可能会产生沿着加速度计506的z轴的传感器读数。以上这些误差都可以被测量,并且增加至由功能模块606执行的校准。在根据本发明的示例性实施方案的示例性自由空间定位装置中,加速度计506起到多种作用。举例来说,如果转动传感器502和504通过上述示例性的科里奥利效应转动传感器实现,那么转动传感器502和504的输出将根据各个转动传感器所感测到的线性加速度变化。因此,加速度计506的一个示例性应用是补偿由线性加速度的变化而产生的、转动传感器502和504的读数中的波动。这一点可以通过将转换后的加速度计读数乘以增益矩阵610以及从相应的采样转动传感器数据612中减去所得结果(或者将所得结果与相应的采样转动传感器数据612相加)来实现。举例来说,对于线性加速度,可以在模块614中对来自于转动传感器502的采样的转动数据αy进行补偿αy′=αy-C*A(4)其中C是转动传感器对于沿着各个轴的线性加速度在给定的单位/g下的灵敏度的1×3行向量,A是校准的线性加速度。类似地,可在模块614中提供转动传感器504的采样转动数据αz的线性加速度补偿。由于制造工艺中的差异,不同转动传感器的增益矩阵C是不同的。对于多个转动传感器,C可以利用平均值计算,或者可以对于各个转动传感器进行特定计算。与加速度计数据类似,然后在功能模块616处将采样的转动数据612从采样的单位值转换为与角旋转速度相关的值,例如弧度/秒。这一转换步骤还可以包括由功能模块618提供的校准,以对采样的转动数据的例如比例和偏移进行补偿。可以通过例如以下方程来进行αy和αz的转换/校准α弧度/秒=(α′-偏移(T))*比例+d偏移(5)其中α′表示被转换/校准的值,“偏移(T)”表示与温度相关的偏移值,“比例”表示采样的单位值与弧度/秒之间的转换因子,“d偏移”表示动态偏移值。方程(5)可以作为矩阵方程被执行,在这种情况下,除比例之外的所有变量均为向量。在矩阵方程形式下,比例对轴失准和转动偏移因子进行校正。以下将对各个所述变量进行详细描述。偏移值“偏移(T)”和“d偏移”可以由多种方法确定。当自由空间定位装置400没有在例如y轴方向转动时,传感器502将输出其偏移值。然而,该偏移值会极大地受到温度的影响,因此其很可能是变化的。偏移温度校准可以在工厂中进行,在这种情况下,“偏移(T)”的值(s)可以预编程至自由空间定位装置400内,或者,可选地,也可以在装置的使用寿命内动态地学习偏移温度校准。为了实现动态偏移补偿,在转动校准功能模块618中使用来自于温度传感器619的输入,以计算“偏移(T)”的当前值。“偏移(T)”参数从传感器读数中去除了主要的偏移偏离。然而,在零运动时去除几乎所有的光标漂移对于制造高性能的定位装置是有用的。因此,可以在自由空间定位装置400使用时动态地计算附加的因子“d偏移”。静态(stationary)检测功能模块608确定手持装置何时可能稳定以及何时需要重新计算偏移。以下将描述实现静态检测功能模块608的示例性技术以及其另外的用途。“d偏移”计算的一个示例性实施方法利用了经过低通滤波的校准的传感器输出。静态输出检测功能模块608向转动校准功能模块618提供指示以触发例如低通滤波器输出平均值的计算。静态输出检测功能模块608还可以控制何时将最新计算的平均值与现有的“d偏移”值相乘。本领域技术人员可以认识到,可以使用多种不同的技术来由现有的“d偏移”值计算新的“d偏移”值,而新的平均值包括但不限于简单求平均值、低通滤波和卡尔曼滤波。另外,本领域技术人员可以认识到,可以使用转动传感器502和504的多种不同的偏移补偿。举例来说,“偏移(T)”功能模块可以具有恒定值(例如,温度不变量),对于偏移补偿,可以使用多于两个的偏移补偿值,和/或仅计算/使用单个偏移值。在模块616处进行转换/校准后,可在功能模块620中对来自于转动传感器502和504的输入进行进一步处理,以将这些输入转动到参考惯性坐标系,即,对与使用者握持自由空间定位装置400的方式相关的倾斜进行补偿。倾斜修正是本发明的某些示例性实施方案的另一个重要方面,其用意在于补偿根据本发明的自由空间定位装置使用模式中存在的不同。更具体地,根据本发明的示例性实施方案的倾斜修正的用意在于对这样的事实进行补偿,即,使用者在手中以不同的x轴转动位置握住定位装置,但是自由空间定位装置400中的转动传感器502和504的感测轴是固定的。希望光标穿过显示器408的平移基本上不会受到使用者抓握自由空间定位装置400的方式的影响,例如不考虑使用者握住自由空间定位装置400的方向,以通常对应于显示器508的水平维度(x2轴)的方式来回转动自由空间定位装置400将使得光标沿着x2轴平移,而以通常对应于显示器508的垂直维度(y2轴)的方式上下转动自由空间定位装置将使得光标沿着y2轴平移。为了更好地理解根据本发明的示例性实施方案的倾斜补偿的必要性,请参照图6(a)中的示例。其中,使用者在示例性的参考惯性坐标系中握住自由空间定位装置400,其可被定义为在x轴上的转动值为0度。所述参考惯性坐标系可以(仅作为示例)对应于图6(a)中所示的方向,或者可以被定义为其他方向。自由空间定位装置400在y轴或z轴方向上的转动将分别由转动传感器502和504感测。举例来说,自由空间定位装置400绕着z轴所作的量为Δz的转动(如图6(b)所示),将会产生光标在显示器408上的x2轴方向上的相应平移Δx2(即,光标410的虚线形式和实线形式之间的距离)。另一方面,如果使用者以不同的方向握住自由空间定位装置400,例如相对于参考惯性坐标系在x轴上有一定量的转动,则传感器502和504所产生的信息将不能(没有倾斜补偿)准确地表示用户想要实现的界面运动。举例来说,参照图6(c),考虑这样一种情况,即使用者以相对于图6(a)所示的示例性参考惯性坐标系在x轴上具有45度转动地握住自由空间定位装置400。假定使用者进行相同的z轴转动Δz,光标410将在x2轴和y2轴两个方向上产生平移,如图6(d)所示。这是因为转动传感器502的感测轴线被定向为在y轴和z轴之间(由使用者手中的装置的方向所导致)。类似地,转动传感器504的感测轴线也被定向为在y轴和z轴之间(虽然是在不同的象限)。为了提供在自由空间定位装置400是如何被握住的方面对于用户是可知的界面,作为将来自于转动传感器502和504的读数处理为表示自由空间定位装置400的转动运动的处理过程的一部分,根据本发明的示例性实施方案的倾斜补偿将来自于转动传感器502和504的读数输出转换到参考惯性坐标系中。返回到图5,根据本发明的示例性实施方案,可以在功能模块622通过利用接收自加速度计506的输入y和z来确定自由空间定位装置400的倾斜,从而实现这一点。更具体地,在如上所述地进行了加速度数据的转换和校准后,可以在LPF624处对加速度数据进行低通滤波,从而为倾斜确定功能模块622提供平均的加速度(重力)值。然后可在功能模块622中对倾斜θ计算如下θ=tan-1(yz)---(7)]]>值θ可由atan2(y,z)进行数学计算,以防止除数为零并给出正确的符号。然后功能模块620将利用以下方程实现转换/校准的输入αy和αz的旋转RR=cosθsinθ-sinθcosθ·αyαz---(8)]]>从而旋转转换/校准的输入αy和αz,以补偿倾斜θ。一旦对校准的传感器读数进行了线性加速度补偿、并将其处理为表示自由空间定位装置400的角旋转的读数、以及进行了倾斜补偿之后,即可在模块626和628中进行后处理。示例性的后处理可包括各种因素(例如人的颤动)的补偿。可以使用多种不同的方法来去除颤动,其中一种去除颤动的方法是利用滞后作用(hysteresis)。转动功能模块620所产生的角速度被积分以产生角位置。然后对角位置应用校准的量级的滞后作用。对滞后模块的输出求导以再次产生角速度。然后在功能模块628处对得到的输出进行换算(例如根据采样周期),并利用所述输出在界面内产生结果,例如光标410在显示器408上的运动。在提供了根据本发明的示例性自由空间定位装置的处理过程描述之后,图7示出了一种示例性的硬件结构。其中处理器800与自由空间定位装置的其他元件通信,包括滚轮802、JTAG804、LED806、开关矩阵808、IR光电探测器810、转动传感器812、加速度计814以及收发器816。滚轮802是可选的输入部件,其使得用户可以通过顺时针或逆时针转动滚轮802来为界面提供输入。JTAG804为处理器提供界面的编程和调试。LED806为用户提供可视化反馈,例如当按钮被按下时。开关矩阵808接收输入,例如自由空间定位装置400上的按钮被按下或松开的指示,然后将其传输到处理器800。可以设置可选的IR光电探测器810以使得示例性自由空间定位装置可以从其他遥控装置接收IR码。转动传感器812为处理器800提供关于例如上述自由空间定位装置的y轴和z轴转动的读数。加速度计814为处理器800提供关于自由空间定位装置400的线性加速度的读数,可以如上所述地利用线性加速度来进行例如倾斜补偿、或者例如对线性加速度引入到转动传感器812产生的转动读数内的误差进行补偿。收发器816用于与自由空间定位装置400进行信息通信,例如发送信息到系统控制器228或者与计算机相连的处理器。收发器816可以是(例如根据用于短程无线通信的蓝牙标准进行工作的)无线收发器,或者红外收发器。可选地,自由空间定位装置400可以通过有线连接与系统进行通信。以上曾简要提及的静态检测功能模块608可用于确定自由空间定位装置400是处于(例如)静态还是动态(active)(运动状态)。这一分类可通过多种不同的方法来实现。根据本发明的示例性实施方案,一种方法是在预定的窗口(例如每秒的四分之一)内计算所有输入(x,y,z,αy,αz)的采样输入数据的变化。然后将所述变化与阈值进行比较,以划分空间定位装置是处于静态还是动态。根据本发明的示例性实施方案的另一个静态检测技术包括通过例如对输入数据进行快速傅立叶变换(FFT)来将输入转换到频域内。然后,可以利用例如峰值检测方法对数据进行分析,以确定自由空间定位装置是处于静态还是动态。另外,也可以区分出第三类,特别是在用户握住自由空间定位装置400但是并未移动它的情况下(在此也称为稳态(stable))。通过检测当自由空间定位装置400被用户握住时、由用户手的颤动引入的自由空间定位装置400的小的运动,可以将所述第三类与静态(未握住)和动态区分开来,也可由静态检测功能模块608利用峰值检测来进行所述判定。人类颤动频率范围内的峰值(例如通常为8-12Hz)将典型地超过装置的噪声层(装置未静止并且未被握住时的值)约20dB。在上述示例中,是在特定的频率范围内感测频域中的变化,然而待被监测的并用于确定自由空间定位装置400状态的实际频率范围可以不同。举例来说,根据例如人机工程学和自由空间定位装置400的重量,标称的颤动频率范围可以从8-12Hz偏移到4-7Hz。根据本发明的另一个示例性实施方案,静态检测功能模块608可以包括状态机。图12中示出了示例性的状态机。其中,在本示例中,动态为默认状态,在所述默认状态期间,自由空间定位装置400被移动并被用于例如为用户界面提供输入。自由空间定位装置400可以在装置通电的状态下进入动态,其由复位输入表示。如果自由空间定位装置400停止移动,其将进入非动态(INACTIVE)。图12中所示的不同状态转换可以由多个不同的条件触发,所述条件包括但不限于来自于转动传感器502和504中一个或两个的数据输出、来自于加速度计506的数据输出、时域数据、频域数据或者其任何的结合。在此一般提到的状态转换条件按照惯例由“条件状态A→状态B”表示。举例来说,当具备条件动态→非动态时,自由空间定位装置400将从动态转变为非动态。仅出于说明的目的,在示例性自由空间定位装置400中,当来自于转动传感器和加速度计的平均值和/或标准偏离值在第一预定时间周期的第一预定阈值之下时,认为条件动态→非动态能够发生。根据解析后的传感器输出,可通过大量不同的条件来确定状态转换。示例性的条件度量标准包括在时间窗口上解析的信号的变化,参考值和在时间窗口上解析的信号之间的阈值、参考值和在时间窗口上滤波的解析的信号之间的阈值、以及参考值和来自于起动时间的解析的信号之间的阈值可用于确定状态转换。这些条件度量标准的全部或其任意组合可用来触发状态转换。可选地,也可以使用其他度量标准。根据本发明的一个示例性实施方案,从非动态到动态的转换在以下任意一种情况下发生(1)时间窗口上传感器输出的平均值大于预定阈值,或者(2)时间窗口上传感器输出值的变化大于预定阈值,或者(3)传感器值之间的瞬间增量(Δ)大于预定阈值。非动态使得静态检测装置608能够区分暂停(暂停期间自由空间定位装置400仍被使用,例如大约十分之一秒左右)与实际转换到稳态或静态情况。这样使得以下所述的在稳态和静态期间执行的功能不会在自由空间定位装置使用期间被无意地执行。当条件非动态→动态发生时,例如,如果自由空间定位装置400又开始移动,从而来自于转动传感器和加速度计的测量输出在非动态内的第二预定时间周期过去之前超过第一阈值,则自由空间定位装置400将会转换回动态。在第二预定时间周期经过后,自由空间定位装置400将会转换至稳态或静态。如前所述,稳态表示自由空间定位装置400被人握住但是基本上没有移动的状态,而静态表示自由空间定位装置400未被人握住的状态。因此,如果存在与手的颤动相关的最小化运动,那么在第二预定时间周期经过后,根据本发明的示例性状态机能够提供向稳态的转换,否则将转换到静态。稳态和静态限定了自由空间定位装置400可在其内执行各种功能的时期。举例来说,由于稳态意为表示用户握住自由空间定位装置400但是未移动它的时期,则所述装置可以例如通过存储这一状态内转动传感器和/或加速度计的输出,来记录自由空间定位装置400处于稳态期间的运动。这些存储的测量结果可用于确定以下所述的特定的用户的颤动模式。类似地,当处于静态时,自由空间定位装置400可从转动传感器和/或加速度计获取读数以用于补偿偏移,如上所述。如果自由空间定位装置400在处于稳态或静态的情况下开始移动,则其可以触发返回到动态。否则,在获取了测量结果后,装置可以转入休眠状态。当处于休眠状态时,装置可以进入断电模式,其中自由空间定位装置的功率消耗降低,并且例如转动传感器和/或加速度计的采样率也降低。也可以通过外部指令进入休眠状态,从而用户或者其他装置可以发出指令使得自由空间定位装置400进入休眠状态。在收到另一个指令后,或者如果自由空间定位装置400开始移动时,所述装置能够从休眠状态转变到唤醒状态。和非动态一样,唤醒状态为装置提供了确认转变到动态是否正确(例如,自由空间定位装置400不是被无意地推动)的机会。用于状态转变的条件可以是对称的,也可以是不同的。因此,与条件动态→非动态关联的阈值可以同与条件非动态→动态关联的阈值相同(或不同)。这就使得根据本发明的自由空间定位装置能够更加准确地捕获用户的输入。例如,包括状态机的示例性实施方案尤其允许用于转变到静态的阈值不同于用于从静态转变出来的阈值。进入或离开状态还可以用来触发装置的其他功能。例如,用户界面可以基于从任意状态到动态的转变而被通电。相反,自由空间装置和/或用户界面可以在自由空间装置从动态(或稳态)转变到静态(或非动态)时被关闭(进入休眠模式)。作为一种选择,光标410可以基于自由空间定位装置400从静态进行转变或转变到静态,而显示在屏幕上或从屏幕消失。如上所述,稳态能够用来记录颤动数据。通常,每个用户会具有不同的颤动模式。用户颤动的这种属性还可以用来识别用户。例如,在需要用户将自由空间定位装置尽可能地保持稳定(例如)20秒钟的初始化处理过程当中,系统可以记住用户的颤动模式(要么存储在自由空间定位装置400中,要么传输到系统中)。该模式可以用来作为用户独特签名来执行各种用户界面功能。例如,用户界面可以通过将当前的颤动模式与存储在存储器中的模式进行比较来从用户组中识别用户。该识别可以接着被用来例如获得与所识别出的用户相关联的偏好设置。例如,如果将自由定位装置与通过引用而并入的专利申请中描述的媒体系统一起使用,则在系统通过对颤动模式进行比较识别出用户后,能够激活与该用户关联的媒体选择项目显示偏好。使用颤动识别还可以实现系统安全,例如,基于在用户拿起自由空间定位装置400后对用户的识别,可以禁止或限制其对系统的访问。在图4所示的示例性实施方案中,自由空间定位装置400包括两个转动传感器502和504,以及加速度计506。然而,根据本发明的另一个示例性的实施方案,自由空间定位装置可以可选地仅包括一个转动传感器(例如,用于测量在z轴方向的角速度)和加速度计。对于该示例性的实施方案,可以通过使用加速度计来确定上述转动传感器未感测的沿着轴线的角速度,而获得上述相似的功能。例如,可以使用加速度计产生的数据和下面的公式来计算绕y轴的旋转速度ωγ=∂θγ∂t=∂∂ttan-1(xz)---(9)]]>此外,还可以去除转动传感器未测量的寄生加速度效应。这些效应包括实际的线性加速度、由于旋转速度和旋转加速度而产生的加速度、以及由于人为颤动而产生的加速。根据本发明的另一个示例性的实施方案,用户界面装置仅使用加速度计。如图9所示,根据本发明的该示例性实施方案的3-D手持装置测量6个自由度(6DOF),即,x、y、z、偏航、俯仰和摇摆。虽然图9显示了欧拉角(偏航、俯仰和摇摆),但本领域的技术人员应该认识到,该示例性的实施方案还包括其它的表示方式,例如四元方式(quaternion)。6DOF装置能够在显示器和用户输入之间进行自然的映射。例如,为了将指示器向上移动,用户将手持装置向上移动。根据该示例性实施方案的手持装置还可以更加直观地选择对象。例如,用户可以将手持装置朝向或远离屏幕移动,而不是点击按钮。又例如,用户可以简单地朝前或向后倾斜鼠标,而不是使用通用的屏幕上的前后按钮。基于微机电系统(MEMS)的精确和廉价的加速度计的出现,使家庭消费者有可能使用这项技术。与测量角转动的陀螺仪不同,加速度计测量线性加速度。传统的惯性导航依赖于三个陀螺仪和三个加速度计,它们中的每一个都用于六个自由度。但是,传统的惯性导航系统的成本和尺寸都限制了消费者的手持装置。该示例性实施方案的手持装置使用了三个三维加速度计的组合随时确定其位置和方向。然而,可以使用相同的算法来使用其他的四元和加速度计结构。根据示例性实施方案的手持装置依赖于三点确定一个平面的基本几何原理。可以增加其他的点来提高准确性。三个加速度计共同的加速表示整个手持装置在加速(以x、y或z方向移动)。加速度计之间的加速不同表示手持装置的方向产生了改变(以偏航、俯仰和摇摆方向移动)。下面的几个方面使得基于加速度计的6DOF系统的实现变得复杂。首先,因为对加速度进行二重积分来计算位置,所以加速度测量误差会导致二次幂的位置测量误差。其次,必须精确地跟踪重力矢量,这是因为重力是相对于手持装置的方位进行变化的常数加速度矢量。对于测量误差来说,MEMS加速度计不是绝对准确的,在计算位置时会引入误差。然而,加速度中的线性不准确并不重要。尽管位置误差是二次幂的,但是根据该示例性实施方案的装置可以使用绝对和相对坐标系统。对于相对坐标系统,实际移动距离(由英尺或米来表示)可以使用敏感设置(例如,像在鼠标驱动中公知的那样)来任意调整。然而,跟随时间和温度而产生的平均值不为零的非线性误差(还被称为“漂移”,其为MEMS加速度计的特性)会使得鼠标产生恒定的加速度。不需要适当的处理,对于静态的手持装置的指示器将出现以加速离开屏幕。在将原始的模拟加速度信号转化为数字信号时,量化会引入测量误差,从而使得计算更加困难。根据本发明的该示例性实施方案的装置包括的算法具有线性和非线性成分,来容忍和校正加速度计中的公知误差模式,如图10所示。其中,加速度数据采样1000以例如3×3的矩阵形式提供到误差过滤功能模块1010。经过过滤的值接着根据与比例和/或偏移相关的校准数据,从电压单位/重力单位(V/g)转换(模块1020)为加速度单位(g),例如上述示例性实施方案所描述的那样。原始的加速度数据在模块1030中通过减去与手持装置的方位相关的重力值和加速度误差(分别在模块1040和1050中计算出)而精确化。重力是在用户倾斜手持装置时相对于手持装置改变的常数加速度。如果重力被曲解为实际的加速度,则屏幕上的指示器将会不确定地加速。指示器的失控使得用户界面将不再可用。这种示例性的实施方案使用向量操纵来将原始的加速度数据处理为方位。接着计算出重力向量,并从结果中将其减去。之后计算由重力向量测量产生的误差,并将其从后面的测量中减去。然后,在模块1060基于手持装置的几何状态(geometry),将经过精确化的加速度值几何地转换。对模块1060的输出进行校正,用于在模块1090中根据加速度数据来确定实际的位置之前,进行位置误差估计(模块1070和1080)。接着,在将位置数据输出为速度信息之前,将其微分(模块1100),并且在模块1110中对其进行非线性处理。几何转换单元1060还可以将数据输出到方位确定单元1020,方位确定单元1020以例如与上述方式相似的方式确定手持装置的方位,从而为方位误差估计单元1050和重力向量计算单元1040提供输入,以及输出手持装置的角度方位的指示。上述算法能够可选地结合用户交互模式,以利用常规的用户界面动作来再校准手持装置,如模块1130和1140所示。例如,用户在选择物体或“点击”之前,通常会停止移动指示器。在这种模式下,手持装置的算法使用在特殊阶段读数的加权平均,来提供用于对重力和位置进行再校准的输入。本发明的示例性实施方案能够使算法处理在手持装置(用于独立的解决方案)或主机上执行。手持装置和主机之间的链路可以是下面任意技术中的一种(包括但不限于)RF、蓝牙、Zigbee和IR,这些技术中的一些在图11和12的示例性方框图的硬件和软件平台中分别示出。在独立的解决方案中,手持装置向主机发送经过处理的位置和方位信息。在主机执行算法处理时,手持装置将原始加速度数据发送到主机。图13从算法的角度示出了本发明的示例性实施方案。在图13中,灰色的三角1300表示出了在其拐角手持装置具有三个加速度计(圆点)。加速度计如上所述地测量手持装置的加速度,例如通过箭头A0-A3来表示。一对轴1302和1304分别表示手持装置局部(locally)和相对于任意参考点的当前方位。上述示例性实施方案用来作为本发明的示例,而不是对本发明加以限制。因此,本发明能够在详细实现时进行多种变化,这些变化是本领域技术人员可以从包含在本申请中的说明中推导出的。例如,虽然前述的示例性实施方案使用了惯性传感器来检测装置的运动,但是可以使用来其他类型的传感器(例如,超声波、磁或光学)替换惯性传感器或作为惯性传感器的添加,来配合进行前述的信号处理。所有这些变化和修改应该认为是在所附的权利要求限定的本发明的精神和范围内。除非明确说明,否则在本申请的描述中,没有哪个元件、动作或指令是关键和必要的。此外,在本文中,冠词“一”意在包括一个或多个。权利要求1.一种用户界面装置,包括至少四个以非共面结构排列的加速度计装置,所述至少四个加速度计装置中的每个分别输出加速度数据;以及算法,所述算法将来自于所述至少四个加速度计装置中每个的所述加速度数据转换为二维指示器运动。2.如权利要求1所述的用户界面装置,其中,各个加速度计装置包含两个加速度计。3.如权利要求1所述的用户界面装置,其中,各个加速度计装置包含三个加速度计。4.如权利要求1所述的用户界面装置,其中,所述算法通过限制基于用户运动特征的装置的运动来降低误差。5.如权利要求4所述的用户界面装置,其中,利用用户的指、腕、臂和肩中至少之一的用户运动的范围来执行限制。6.如权利要求4所述的用户界面装置,其中,利用用户的颤动来执行限制。7.如权利要求1所述的用户界面装置,其中,所述算法进一步对姿势进行解析以产生鼠标按钮的单击。8.如权利要求1所述的用户界面装置,其中,所述算法进一步对姿势进行解析以产生键击或者运行系统消息。9.一种用户界面装置,包括多个加速度计,用于测量与所述用户界面装置相关的加速度;以及算法,其利用重力来随着时间进展稳定方位测量。10.一种手持的用户界面装置,包括多个加速度计,用于测量与所述用户界面装置相关的加速度;以及算法,其检测所述手持的用户界面装置何时处于静态,以及当检测到所述静态时对所述多个加速度计进行校准。11.一种手持的用户界面装置,包括多个加速度计,各个所述加速度计提供与所述手持的用户界面装置的运动相关的加速度数据;处理单元,用于将所述加速度数据转换为能够产生二维光标运动数据的数据;其中,所述处理单元进一步处理所述加速度数据,以确定所述手持的用户界面装置何时处于静态,并且当所述手持的用户界面装置处于静态时,对所述手持的用户界面装置重新校准。全文摘要根据本发明的系统和方法通过提供一种自由空间定位装置和自由空间定位方法来满足需求和其他方面的要求,其将自由空间定位装置的运动精确转换为用户界面的指令,例如光标移动。根据本发明的示例性实施方案,自由空间定位装置包括多个加速度计。文档编号G09G5/00GK1942924SQ200480031397公开日2007年4月4日申请日期2004年10月25日优先权日2003年10月23日发明者马修·G·利伯蒂,丹尼尔·S·辛普金斯申请人:希尔克瑞斯特实验室公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1