采用可移动控制器进行交互控制的独立惯性导航系统的制作方法

文档序号:6465195阅读:192来源:国知局

专利名称::采用可移动控制器进行交互控制的独立惯性导航系统的制作方法
技术领域
:本发明涉及独立惯性导航系统(INS,InertialNavigationSystems),所述独立惯性导航系统采用可移动控制器进行交互控制,用于在像计算机显示游戏的应用中。
背景技术
:任天堂Wii游戏机控制器(已注册商标)(NintendoWiiRemote(TM,Trademark))为无线控制器。该控制器是在用于计算机显示游戏系统的用户交互式控制器中,最接近现有技术发展水平的一个例子。该控制器是可移动的无线远程控制器,由交互的用户手持,通过传统的短距离无线射频(RF,RadioFrequency)传输,例如蓝牙(TM)系统,将输入数据传送至由计算机控制的游戏显示系统中,以及通过红外光敏传感器接收数据。所述游戏机控制器在公布的美国申请号为US2007/0060384的专利申请(申请日为2007年3月15日)中被详细阐述。要像NintendoWii—样具有可移动控制器,以用于游戏系统,就需要用到独立INS系统,以感知和追踪所述可移动控制器的相对(relative)线运动及角运动(angularmotion)。具备现有技术发展水平的可移动控制器不具备这种功能。例如,所述Wii控制器能利用通过其红外光敏传感器接收到的数据,以从一系列外部红外光源中,推断关于自身的位置以及方位(orientation)的信息。所述外部红外光源已经按照现有的一些配置(configuration)被放置在环境中。但是利用光敏传感器意味着该装置依赖光源,所以该装置并不是独立的。采用外部信号源是累赘的,因为用户必须设立和配置那些外部源。另外,用户必须限制由控制器引起的移动,以保持那些外部源在看得见的地方。独立系统则没有这样的移动限制,也不需要由用户设立或配置外部源。独立的INS系统通常采用像刀口速计和陀螺仪的传感器。像Wii控制器一样,具有现有技术水平的可移动控制器采用三轴加速计。然而,单一的三轴加速计不足以计算出推断可移动控制器的线运动及角运动所需的所有六个自由度。事实上,由于固定的旋转和线加速度能够在单一的三轴加速计上,产生一系列相同的读数(setofreading),所以甚至不可以确定所述控制器是在被移动(translated)还是在被转动(rotated)。然而通过设定如何握持该控制器,以及设定该控制器将沿着哪个轴移动,有些时候可以追踪到相对线运动和角运动。例如,在具有现有技术发展水平的NintendoWii游戏中,玩家被指示如何握持和移动他们的控制器。通过^f艮定玩家大致遵守了所述指示,可以解释来自三轴加速计的信号,以粗略追踪该控制器的相对线运动和角运动。但是由于存在广泛的游戏种类以及其它的应用,在这些游戏和应用中,限制用户可以如何移动或握持可移动控制器是不受欢迎的。因此,具有现有技术发展水平的可移动控制器受到不必要的限制。来回顾在三维空间中,感知物体的位置和追踪物体的轨迹的背景,所述追踪由INS完成,所述INS采用加速计和陀螺仪的结合,以建立或计算出惯性坐标系,在所述惯性坐标系中,加速度严格代表了世界坐标系(theworldframe)中的线加速度。如果你知道物体在不同时刻(overtime)的世界坐标系线加速度,你就能计算出该物体在不同的时刻相对于(w他respectto)其起始位置的当前位置。如果你知道物体在不同时刻的角速度,你就能提供该物体在任何时刻的方位。按照惯例,在追踪物体的过程中,线加速度结合角速度对于提供物体相对于起始位置的位置和方位,是必须的和充分的。对于在每一时刻,有六个未知量必须得以解答。多数惯性导航系统(INS,InertialNavigationSystems)釆用陀螺仪,以针对三个角速度进行确定(fix)或解答。如上所述,一旦获知所述不同时刻的方位,就可以采用加速计,以追踪上述三个线加速度。参照出版物雷达,声纳,导航和航空电子设备,捷联式惯性导航技术,第二版,作者D.缇特顿和J.韦斯顿(Radar,Sonar,Navigation&AvionicsStrapdownInertialNavigationTechnology,2ndEdition,D.TittertonandJ.Weston),该出X反物作为电机工程师协会(IEE,InstitutionofElectricalEngineers)的雷达,声纳,导航和航空电子设备系列的一部分,于2005年出版,作为惯性导航系统领域中的入门和进一步的信息。参照出版物基于加速计的惯性导航系统的设计及误差分析(DesignandErrorAnalysisofAccelerometer-BasedInertialNavigationSystems),作者Chin-WooTan等。该出版物针对加利福尼亚州的道路通行和公路系统(PATHTransitandHighwaySystem),由位于伯克利的加利福尼亚大学于2002年6月出版。这里将所述加利福尼亚州的道路通行和公路系统也作为参考结合进来。这是一项仅采用加速计,以计算刚性物体线运动和角运动的惯性导航系统的可行性研究。所述出版物涉及用于测量机动车辆和类似物的线速度和角速度的系统,其精度为在十几分钟确定几十米的追踪运动。
发明内容本发明提供了一种采用可移动控制器的独立惯性导航系统,以用于交互控制。在优选实施例中,该可移动的控制器通过追踪该移动控制器的相对线运动和角运动,在计算机显示游戏系统的一些方面,提供交互式的控制。在一个实施例中,本发明包括将多个独立惯性传感器合并入可移动的控制器,并将每个传感器所感知的运动相关联,以使该移动控制器的三维直线形轨迹和角向可以^皮精确追踪。为了得到最好的效果,所述多种独立惯性传感器必须能够沿着六个轴向追踪三个沿着三个线轴的轴向,用于确定线加速度,以及三个用于确定角运动的轴向。因此,在可移动控制器中的一个三轴加速计和一个三轴陀螺仪的结合将能非常有效地运行。然而,本领域其它技术人员将意识到,多种其它传感器的结合也能有效地运行。例如,六个加速计可以被安装在现有的设计上,以采用可移动控制器,为交互控制提供一种有效的惯性导航系统。在本发明的一个实施例中,现有的具有独立惯性传感器的游戏控制器,沿着少于六个轴向感知运动,例如通过将附加独立惯性传感器可移除地附着在游戏控制器上,三轴加速计可以被加强,以提供复合游戏控制器。这种复合游戏控制器将能够感知该复合控制器的线运动和角运动。该复合控制器将包括至少一个包含独立惯性传感器的控制器的结合,以感知移动控制器的线/角运动;一个或多个独立惯性传感器,相对于该控制器,在固定的线位置和方位(orientation)处可移除地附着在该控制器上,以用于进一步感知该移动控制器的线运动和角运动;以及用于关联由每个所述控制器传感器和单独的(separate)传感器所感知的运动的装置。在这种复合控制器中,所述结合的传感器应该提供沿着所有六个轴向感知的运动。例如,如果所述传统游戏控制器具有三轴加速计,那么所述附着的传感器序列可以包括一个三轴陀螺仪或多个附着的陀螺仪,以至少提供结合的三轴感知。所述附着的传感器应该在相对于所述传统游戏控制器的已知位置,被安装在所述控制器上。如果所述复合控制器仍然不能提供沿着所有六个轴向的感知,其也可以比基本控制器更有用。特别地,在不损害追踪所述复合控制器的线运动和角运动能力的前提下,所述用户可以握持和移动所述控制器的约束可以被放宽。在本发明的一个实施例中,所述附着的传感器可以是一个或多个附着在基本控制器上的其它控制器。可以提供一种单独的(separate)装置,以使所述控制器可以被附着在一些已知的配置中。可选的,可以采用适当的带子,用于附着。在所述带子并不能使所有控制器都处于相对彼此精确已知的位置和方位上的情况下,需要单独;欧准的阶段。在一个实施例中,具有一个或多个独立惯性传感器的装置可以被附着在基本传统的控制器上,以将所述复合控制器转换为一个角运动和线运动均能追踪的控制器,所述基本传统的控制器不能追踪该基本控制器的线运动和角运动。采用传统的Wii远程控制器,所述可移除的附着传感器为软件狗的形式,可以被插入到传统基本控制器的端口。正如下述将要介绍的,上面描述的发明可以作为用于动态确定可移动游戏控制器的线运动和角运动的方法来实现,以及作为用于动态确定可移动控制器的线运动和角运动的计算积4呈序来实现。依据本发明的另一方面,提出一种计算机游戏系统,在所述游戏系统中,所述游戏的方面通过上述定义的可移动控制器控制,所述可移动控制器具有用于确定自身的线运动和角运动的装置。例如,游戏可以解释所述控制器的运动,以驱动在该游戏显示器上剑的动画,这样在该显示器上所述剑以与所述控制器的所述运动表面上相似的方式运动。因为独立INS系统仅能在追踪开始时,追踪相对于所述控制器的位置和方位的运动,所述游戏可以假定该控制器在一些初始的起始位置和方位被握持。在这种情况下,应用到所述屏幕上的被控制的物体的所述运动,仅能够相对于该关于初始的起始位置和方位的假定被修正。可以釆用可能不是独立的附加传感器以及技术,以更加精确地确定所述起始位置和方位。这里已经提供了简要概括,以使本发明的特征可以被快速理解。通过参考下述结合附图的优选实施例的描述,可以获得本发明更加完整的理解。图1示出了两个包括独立惯性传感器的运动感知游戏控制器或类似构架的示意图,依据本发明,所述独立惯性传感器可以通过软件狗附件可分离的附着,以提供游戏控制器;图2示出了两个包括独立惯性传感器的运动感知游戏控制器或类似构架的另一个示意图,依据本发明,所述独立惯性传感器可以可分离的附着,以提供复合游戏控制器;图3示出了三个包括独立惯性传感器的运动感知游戏控制器或类似构架的再一个示意图,依据本发明,所述独立惯性传感器可以可分离的安装在底层,以提供游戏控制器;图4是依据本发明的游戏控制器中部件的通用结构示意图5示出了与显示的计算机游戏有关的感应式手持无线游戏控制器的三维线运动及角向的原理图6为在本发明采用控制器的操:作中的设计的通用流程图,所述控制器用于由计算机控制的游戏显示;图7示出了在一个实施例中采用软件元件的一种方式的纵览(overview);图8示出了在一个实施例中采用的后退拟合(backfitting)算法的二维表示法;图9示出了游戏控制系统中信息流的数据流图表;图IO示出了在可能虚拟(possibly-fictional)游戏世界中选择物体的例子;图11示出了在可能虚拟的游戏世界中不用看而越过物体射击的例子;图12示出了在可能虚拟的游戏世界中不用看而在物体后面照明的例子;图13示出了在一个实施例中的工艺流程图。具体实施例方式在此处,上文以及下文的本发明的描述中,下面的定义被提供以澄清所用到的术语独立惯性传感器不需要设置在环境中的外加信号源,用于沿着六个可能的线轴和角轴中的一个或多个轴向,测量运动物体加速度的设备。除非另有规定,否则"传感器"这个词,意指独立惯性传感器。为了说明性的目的,在本文件中,我们采用加速计和陀螺仪来描述示例。然而,本领域的其它技术人员能够直接地知道,其它装置也可以用作独立惯性传感器。例如,能比较不同时刻图像的照相机(例如用在光学鼠标中的该照相机)可以被用作独立惯性传感器。但是被设计成通过追踪故意设置在环境中的红外源或标记,以进行工作的红外照相机不是独立惯性传感器的例子。加速计沿着一个或多个轴向,在移动物体上的某点处测量加速度的装置。加速计是独立惯性传感器的一个例子。依据所述装置在给定位置测量的轴向数目,所述装置可以为一个轴向到三个轴向。例如,三轴向的加速计在自身所处的位置处,沿着三个轴向测量加速度。刚性的物体可以在六个可能的自由度的任意自由度独立地运动,所述六个可能的自由度为三个线自由度和三个转动自由度。因此,在没有关于限制运动路径的附加假定的前提下,单一加速计不足以测定其所附着的刚性物体的线运动和角运动。此外,在没有制定关于限制运动路径的附加假定的前提下,单一(甚至三轴向)加速计甚至不能沿着单独的一个自由度,测定其所附着的刚性物体的运动。这是因为,在没有附加信息的前提下,没办法知道加速计所感受到的加速度的源,是来自所述加速计所附着的刚性物体的线运动,还是来自该刚性物体的角运动。然而,来自以一些适当的配置放置在刚性物体上不同点处的一系列加速度计的读数,能够被用来沿着所有六个自由度,确定该刚性物体的线运动和角运动。需要注意的是,即便是静止时,加速度计也会对地球的,或者其它任何足够大物体的引力场作出响应。陀螺仪用于在转动物体上的某点处围绕一个或多个轴向,测量角速度的装置。陀螺仪是独立惯性传感器的一个例子。依据所述装置在给定位置测量的轴向数目,所述装置可以为一个轴向到三个轴向。例如,三轴向的陀螺4义在自身所处的位置处,围绕三个轴向测量角速度。虽然三轴陀螺仪足以追踪刚性物体的不同时刻的方位,但是其并不能片刻就提供关于该物体的线运动的信息。控制器一种可移动的游戏控制器,最好是但不一定非得是无线的和手持的,所述控制器中包含一个或多个独立运动传感器,并提供输出数据,以控制关联的交互应用软件,例如计算机游戏。基本控制器如上所述,为一种缺乏充分独立的惯性传感器,以在所有六个自由度上,追踪线运动和角运动的控制器。复合控制器为依据本发明的一种控制器,其中,包含独立惯性传感器的另一个控制器或装置被附着在基本控制器上,以加强所述基本控制器的运动感知能力。自追踪(self-tracking)物体自追踪物体是包含独立惯性传感器的物体,所述独立惯性传感器产生的时间序列能充分追踪所述物体在位置和方位上的变化。复合控制器是可以作为自追踪物体的物体的一个例子。本发明的一些实施例将被详细阐述,图1-图3各自描述了复合游戏控制器的一些可能的实施例中的一个,其中必须提供来自所述复合游戏控制器的、代表该移动复合控制器的线运动和角运动的整体输出(unitaryoutput)。参照图1,采用软件狗连接来构造复合控制器。特别地,包含辅助的独立惯性传感器103的辅助控制器或构架,被基本游戏控制器101的端口102所接收。在这种连接关系中,来自软件狗103中的独立惯性传感器的输出,可以通过控制器101中的数据处理单元,与控制器101中的独立惯性控制器的输出相结合,以提供整个复合控制器的联合输出。为了得到最好的结果,在复合控制器中的所有独立惯性传感器的联合感知,应该规定沿着六个轴向的运动感知为了感知相对于三个线轴向的移动复合控制器的线运动的三个独立线轴向,以及为了感知三维角运动的三个独立线轴向。因此,如果所述基本控制器101具有三轴加速计,那么软件狗103应该包含独立惯性传感器,以在与所述基本控制器中的三轴加速计结合时,规定在所有六个自由度上的运动感知。参照图2,可以通过带子203在固定的位置和方位,将部件202绑定在基本控制器201上。在本实施例的初步(rudimentary)说明中,两个游戏控制器被绑在了一起。然而,部件202也可以是安装在构架上的适当的独立惯性传感器,所述构架用于支撑所述独立惯性传感器。其中,基本控制器201具有传统的三轴向加速计,部件202应该包含充足的附加独立惯性传感器,以使所述三轴加速计和所述附加独立惯性传感器的联合输出,足以追踪所有六个自由度。这里再次申明,不考虑传感器构架的话,必须在硬件或软件中有执行主体(implementation),用于将形成复合游戏控制器的多个独立惯性传感器的输出进行结合,以提供来自所述复合游戏控制器的,代表所述移动复合控制器的线运动和角运动的整体输出。参照图3,示出了类似于图2的另一种初步说明。基本控制器301被安装在刚性平台支撑底座305上,为了实现本说明性实施例的目的,两个附加部件302和303也被安装在了底座305上。所述每个部件提供了至少一个独立惯性传感器。应该注意的是,为了图3的初步实施例说明的方便,三个包含独立惯性传感器的游戏控制器,通过带子304在相对于彼此固定的位置和方位一起被绑定。所述包含部件302和303的两个独立惯性传感器,被绑定到控制器301上,所述两个独立惯性传感器不需要为两个控制器。部件302和303可以是安装在构架上的适当的独立惯性传感器,所述构架用于支撑所述独立惯性传感器。不论所述辅助的部件302和303是控制器,或只是所述需要的独立惯性传感器,都必须有执行主体,用于将形成所述复合游戏控制器的多个独立惯性传感器的输出结合,以提供来自所述复合游戏控制器的,代表所述移动复合控制器的线运动和角运动的整体输出。在图1-图3描述的每个复合控制器中,可以在所述附上的独立惯性传感器元件与所述基本控制器之间,提供数据传输通道的一些形式。作为例子,可以采用传统的短距离无线射频传输,例如蓝牙(TM)系统,以传输从附加部件202到基本控制器201的数据,其中所述输出数据可能是有关联的。或者,代表部件201和202各自的角运动和/或线运动的数据,可以-陂无线传输到由计算机控制的游戏显示器上,并通过游戏显示计算机进行关联,以提供玩所述计算机游戏所需的所述复合控制器的角运动和线运动。依据本发明的主要(broad)方面,如图4所示,提供沿着六个轴向的感知、实现本发明所需的所有的独立惯性传感器可以设置在一个游戏控制器中。如前所述,为了追踪用户不受约束的运动,组合的独立惯性传感器必须提供所有三个线轴向和三个角轴向的感知。这个需求可以通过各种方式得以满足。特别地,如果安装合理,任何具有最多三个陀螺仪,并提供至少六个特定轴向读数的加速计和陀螺仪的组合将是足够的。当采用一个三轴加速计和一个三轴陀螺仪时,所述传感器可以按照彼此间任意现有的关联关系放置。当存在少于三个角速度读数时,为了提供可行的可操作实施例,组合的独立惯性传感器彼此间的位置和方位是重要的,尽管对于任何给定的独立惯性传感器组,许多这样的位置和方位的组合可能是可行的。为了在采用加速计时,确定这样可行的组合,可以参考上述提到的出版物基于加速计的惯性导航系统的设计及误差分析,作者Chin-WooTan等。该出版物针对加利福尼亚州的道路通行和公路系统(PATHTransitandHighwaySystem),由位于伯克利的力口利福尼亚大学于2002年6月出版。图l-图3中的三个实施例,各自可以被认为是一种无线复合游戏控制器,现在考虑图l-图3中任意安装好的独立惯性传感器的关联,结果是包含独立惯性传感器和程序调度程序(programmingroutines)的系统,所述程序调度程序能够在每一时间t,将所述装置记录的加速度和角速度数据,转换为足以在时间t,在世界坐标系中计算所述装置的新的位置和方位的信息。为了进行适当的转换,参照上述出版物基于加速计的惯性导航系统的设计及误差分析,作者Chin-WooTan等,尤其是第6页的等式2.7,其阐明了加速计的输出是世界坐标系中线加速度和物体坐标系中角加速度的函数。在上述参考的文章中的应用假定采用了六个单轴加速计,但是等式2.7可以很容易被修改,以通过直接取代所述观测到的角速度并用微分(derivatives)计算出角加速度,来处理代替加速计的一个或多个陀螺仪。解决了这些等式后,允许系统实时追踪控制器中固定点的位置和方位。在每一实施例的任意部件中的所有独立惯性传感器必须被安置和定位,以如上所述,提供独立惯性传感器的结合,所述独立惯性传感器能够提供足以计算移动控制器的线运动和角运动的输出。虽然并非所有这种传感器的配置都是可行的,但是令人惊奇的发现,几乎所有采用六个加速计的配置,均是可行的。因此,在复合游戏控制器的构成中,加速计位置和方位的配置只需粗略调整(adjust),而不需细微调整。关于上述参考的作者为Tan等人的加利福尼亚道路规划出版物(PATHProgrampublication),还应该注意的是,本发明的目的为在秒级的时间单位上,追踪运动的精度达到厘米级,而不是在所述出版物中的车辆单位在几十分钟的时间单位上,精度为几十米。关于图中示出的结构的更特别的是,图1所示实施例的优点是软件狗插件(dongleplug-in)代表了本发明的一种应用实施例。与上面阐述的一样,运动感知软件狗103被插入到现有的运动感知游戏控制器101的扩展端口102内。例如,如果所述运动感知游戏控制器为任天堂Wii游戏机控制器(TM),那么将所述软件狗插入该控制器的扩展端口内。这个实施例在商业上是可行的,因为其只依赖一个运动感头口游戏3空制器(onemotionsensinggamecontroller),所述运动感知游戏控制器对于能够感知运动的游戏控制台(例如,所述任天堂Wii系统)的每个消费者都是可以买得起的,然后包含多个独立惯性传感器的新的软件狗可以以合理的成本被生产出来。在这种配置中,因为所述基本控制器内的相互连接,例如Wii远程控制器内的相互连接,所以不需要特殊的努力从该配置中提取所需的运动数据。与下面将要描述的图5—样,从控制器引导到游戏显示器的游戏控制器信号包括来自所述Wii远程控制器内的三轴加速计的输出,以及来自软件狗中的所述多个独立运动传感器的相关输出。依据图l所示实施例的另一方面,所述附着的软件狗包含充足的附加独立惯性传感器,从而当将所述附加独立惯性传感器与所述运动感知游戏控制器的传感器(例如,三轴加速计)相结合时,传感器读数的最终结合足以实时估计控制器的位置和方位。单独的软件狗可能不足以充分说明所有的六个变量,但是通过选择独立惯性传感器的数量以及这些独立惯性传感器在该软件狗中的大概位置,使通过将这种软件狗附着到到基本游戏控制器上,例如附着到Wii远程控制器上,以创造出具有在所有六个维数上追踪运动和方位的功能的复合控制器变得可能,尽管每个装置各自具有不充足的数据。假定所述基本游戏控制器具有三轴加速计,所述软件狗的可能实施例可以包4舌覆盖三个独立线轴的陀螺仪,或者具有附加的加速计的较少的陀螺仪,以估计角加速度。如果陀螺仪不能测得围绕从基本控制器中的三轴加速计到软件狗中的惯性传感器的这条轴线的角速度,而由于所述加速计不能直接检测到围绕该轴线的角加速度,所以可能就需要限制用户的运动,以得到精确的状态估计。所述限制由该系统通过,以通知所述系统的所有用户,使他们尽他们的可能限制自身手腕的运动。图2示出了一个可选的实施例,其中,多个游戏控制器进行结合,以形成复合控制器,所述复合控制器的结合传感器提供了全部六个线轴/角轴的感知。通过包含超过两个控制器或采用更多的传感器,可以发现额外的好处。所述更多的传感器指比沿着三个线性独立的线轴(linearlyindependentlinearaxes)和三个线性独立的角轴(linearlyindependentangularaxes)进行测量所需的传感器的数目还要多的传感器。需要注意的是,如上述实施例中所描述的,如果复合控制器的配置不接受沿着一个或多个角轴的测量法,那么仍然需要用一些方式限制用户的运动。然而,如果传感器的读数是线性独立的,那么在作者为Tan等人的出版物中描述的方法将足以为所有六个轴向提供解答,即使只有加速计可以使用。图2所示实施例的一个优点是其可以允许用户通过现有的基本控制器,构造出复合控制器。然而,随后该方案可能需要每个装置(per-device)的校准过程(calibrationprocess),以呈现(render)该系统所知的配置。该过程可以通过用户将复合控制器放置成一系列简单静态姿势(simplestaticposes)(而不是沿着精确的弧线移动该控制器)来实现。在平坦的表面上,所述控制器被允许静止(rest)—会儿,这是因为厂商的每个运动感知游戏控制器面板均搁置在平坦表面上(也就是每个运动感知游戏控制器的Y轴方向与重力方向一致)。这个简单静态处理允许上述所引用算法结构的调整,以使其与用户的实际处理结果更接近一致(align)。正如这里和上面所提到的结合加速计,以提供线运动和角运动的追踪,甚至所述多个加速计相对于彼此的总体(gross)布置,将为这些运动特征提供一些追踪的水平。因此,加速计队列(alignment)精度的相关总体水平可以通过域级别反馈到系统中来提高,所述域级别反馈到系统有助于减少可能最终积累的布置误差。因此,推断加速度读数的精度就变得可能,以补偿关于该控制器最佳布置位置的唯一的有4艮据的推测。上述常规的算法可以被扩展,以仅在一个或多个重复的运动结束后报告结果,其中,每个运动以同样的起始条件开始,并在时间和空间上遵循本质一致的轨迹,最终的速度和加速度为0。令m21,m为那些重复运动的数量。当实时输入所有m的解答,或可选地输入时间序列传感器读数的所有m数据,以得到控制器的线速度和角速度,并输出一个最终的结果时,最终的运动轨迹估计就可以获得,所述计算得到的该最终结果被作为输入m的函数。此外,所述算法可以扩展到采用基于加速计的运动识别,以约束可接受的重复运动,作为这个最终运动追踪估计器的输入。因为通过与被提议的用户进行适当的训练或校准对话,本发明的每个控制器均提供了运动信号,所以所述姿势可以关于可接受的运动信号的规定进行分类。然后,完全不同于原始运动的运动能被识别,并从上述集合(aggregation)过程中移除。在控制器已经积累了较多误差,从而不再能提供合理的追踪信息时,所述算法可以被扩展以通知系统。在具有附加的假定时,例如假定在时间t内任何位置以及沿着任何轴向,计算出的速度不允许超过人类的极限时,所述算法也可以扩展。图5为已经关于图1-图4的装置进行描述的简单图表说明。由计算机控制的交互式游戏显示器500具有由游戏控制器503控制的游戏动作501,所述游戏控制器503更适宜为与本发明一致的复合控制器,可由玩家移动的手502沿着一些路径506携带,所述路径506具有线分量504和角分量505。在由计算机控制的显示器500和手持控制器503中的程序假定玩家在一些开始位置握持所述控制器,然后当该玩家移动该控制器时,所述程序能够在几秒内可靠地估计控制器503的相对位置和方位。在这段时间内,游戏500能够绘制出代表该控制器状态的501。现有技术,例如逆向运动学,允许控制器的状态驱动游戏中的动画。例如,游戏人物舞动虚拟剑的方式可以与玩家挥动物理控制器的方式类似。游戏的边界区,也就是控制器503相对于游戏显示器500的运动极限,是任意(arbitrary)并基于域的。较佳的,在游戏显示器初始位置周围存在半径,该半径大约为多数游戏控制器的4喿作范围。现在参照图6,将介绍本发明操作程序的通用流程图,本发明操作为正如关于图5所描述的,采用游戏控制器完成由计算机控制的游戏显示。步骤601中初始判定用户是否已经开始移动控制器。关于控制器的初始状态,建议有下述限制初始速度和加速度均为0。如果所述运动的初始判断结果为"是",则必须获取来自控制器中所有传感器的读数。在控制器为复合控制器的情况下,所述必须获取的读数包括来自基本控制器的所有传感器读数,以及来自连接到组成该复合控制器上的其它部件的所有传感器的读数。有代表性地,在步骤602中在一些合适的高频,并在与所玩的计算机游戏相一致的合适位置,读取所述传感器的读数,来自所述传感器读数的数据,通过之前描述的短距离射频传输,输出到由计算机控制的游戏显示器上。需要注意,只要控制器和由计算机控制的游戏显示器被开启,传感器读数数据的传输就每秒中发生上百次。所以步骤602只是意指由计算机控制的游戏显示器将开始以与本发明一致的方式处理那些读数。下面,与由计算机控制的游戏显示器连接的处理器执行步骤603,在步骤603中,从传感器读数中提取角运动,该步骤依赖于所采用的传感器的特定配置。例如,如果采用三个陀螺仪,那么所述陀螺仪将提供角速度的读数,所述角速度可以通过一次整合,以获得相对角运动,也就是在方位上的变化。如果换作采用加速计,那么读数将提供角加速度,所述角加速度可以经过两次整合,以获取相对角运动。当然,可以采用陀螺仪用于一些角轴,而采用加速计用于其它轴向,在这种情况下,步骤603将执行合适的动作为来自陀螺仪的读数整合一次,而为来自加速计的读数整合两次。在步骤603中计算出的方位上的变化,将用在步骤604中,以通过加入该方位上的变化,更新之前的方位估计。之后,在步骤605中从传感器读数数据中提取没有用于计算角运动的传感器读数。有代表性地,所述剩余的传感器读数将来自加速计。且在步骤606中将步骤603得到的角运动估计从那些加速计读数中分离出来,以使加速度归于沿着所有三个线轴的线运动,也就是在位置上的变动。然后在步骤607中可以采用步骤606中计算得到的位置变动估计,更新控制器的位置。因为控制器持续被移动,所以在步骤608中判定所述运动是否在持续。如果"是"的话,流程转回步骤602,且继续追踪运动。如果"否"的话,在步骤609中进一步判定游戏是否结束。如果游戏结束,那么退出该游戏,如果游戏没有结束,流程分支转回到步骤601,在步骤601中,等待玩家的下一次控制器运动。现在参照图7,将要阐述利用软件元件的一种方式的概述。左手侧示出了在第一时期706时的情形,右手侧示出了在第二时期707时的情形。在第一时期706(图7中显示为之前),游戏玩家702握持自追踪物体703。来自该自追踪物体703的输出被通过无线或一些其它技术,传输到游戏控制台704。游戏控制台704与游戏协同工作。该游戏在显示器或其它呈现装置720上,呈现了游戏世界的描述(例如虚构(make-up)的,编造的,世界)。在第二时期707(图7中显示为现在),用该自追踪物体703,玩家执行了动作或其它运动711。运动711包括线位移分量712和角位移分量713,作为该运动711的结果,所述装置从第一时期706时的第一配置(configuration)708,移动到了第二时期707时的第二配置714。响应所述运动711,所述自追踪物体703产生一个或者多个时序数据,该一个或多个时序数据描述了运动711。软件元件705在游戏控制台704上被执行,或在游戏控制台704可接近的另一个装置上被执行,以用于解析自追踪物体703为响应运动711而生成的时序数据中的至少一些时序数据,以及用于促使呈现装置720显示对应于所述自追踪物体703(例如游戏世界中的一些虚构人物)的物体的相应动画,所述物体从第一配置715移动到第二配置716。在一个实施例中,这些软件元件705采用这里所述的方法,以创造尽可能真实的相应的运动动画。现在参照图8,将要描述在一个实施例中采用的,应用到自追踪物体上的后退拟合算法。在多数普通的情况下,所述运动发生在三维空间,具有三个平移自由度,和三个附加的转动自由度。为了说明的目的,且由于在二维空间上说明的简单,下述涉及二维的运动811。然而,下述在二维情形的说明足以阐明如何将该方法应用到三维运动811。因此,本领域技术人员容易从关于二维运动811的方法的描述中,理解到如何应用关于三维运动811的相同的方法。运动811以自追踪物体开始,例如图7所示的运动感应装置703,在一些第一配置中,位置801和方位802已知,或者至少,假定为已知。下面将非常详细的阐述推断物体初始配置的方法。在一个实施例中,从加速计在静止瞬间的读数,推断出自追踪物体的方位802,所述读数指示了相对于自追踪物体的重力方向。响应来自加速计和陀螺仪的传感器读数,软件元件705判定静止的瞬间是否到来。在一个实施例中,设置自追踪物体的位置为原点。在可选的实施例中,可以采用来自直接定点设备(directpointingdevice)的信息推断关于初始配置的信息。例如,自追踪物体可以包括激光指示器,玩家可以通过引导该激光指示器指示到呈现装置720,或指示到软件元件705知道其位置的一些其它装置上,来进行定位。本领域的其它技术人员可以获知,可以采用多种其它的以及更多可能的传感器,假定(assumptions),或传感器和假定,以获耳又关于自追踪物体的开始配置的信息。当自追踪物体运动时,软件元件705整合(integrate)并联合(combine)陀螺仪和加速计的读数,以提供自追踪物体的随时间变化的配置变化估计。下面的等式示出了简单例子的计算方位(t+dt)=方位(t)+陀螺仪(t)*dt(1)速度(t+dt)=速度(t)+(方位(t)*(加速计(t)-(t时刻来自旋转的向心加速度))-重力)*dt(2)位置(t+dt)=位置(t)+速度(t+dt)*dt(3)上述等式(1)中,陀螺仪(t)包括t时刻三个正交的角速度读数。乘以自上次读数之后流逝的时间dt,得到了自上次读数后围绕每个轴向的角变化(angularchange)。所述角变化可以应用到上次方位的估计上。进行这些计算的实施例,依据存储有方位信息的表格(form)。在游戏产业中,为了实现这个目的,通常采用四元数,在这种情况下,由项陀螺仪(t)*&得到的角变化,可以被转换为四元数旋转(quaternionrotation),以及附加采用四元数算法。在上述等式(2)中,在该物体的参照系中,加速计(t)包括t时刻三个正交的加速度读数。如果加速计在物理上不与陀螺仪联合定位,所述计算首先要减去,由加速计围绕着陀螺仪的位置旋转所产生的加速度。例如,如果加速计沿着物体的z轴方向放置,那么就需要进行下述对加速计读数的调整因为加速计(t)和陀螺仪(t)是矢量,所以用[O],[1],和[2]来表示他们各自的标量分量。用AA[l"z轴方向的分量-(陀螺仪(t+dt)*陀螺仪(t+dt)[2])伞z轴方向的分量,来增大加速计(t+dt)(4)用-AA[O]《z轴方向的分量-(陀螺仪(t+dt)[1]*陀螺4义(t+dt)[2])-z轴方向的分量,来增大加速计(t+dt)[1](5)用(陀螺仪(t+dt)A2+陀螺仪(t+dt)[1]A2)4z轴方向的分量,来增大加速计(t+dt)[2](6)其中AA[O]=(陀螺仪(t+dt)-陀螺仪(t))/dt(7)AA[1]=(陀螺仪(t+dt)[l]-陀螺仪(t)[l])/dt(8)采用物体的当前方位,将调整后的加速计读数从物体坐标系转换到世界坐标系中。减去归因于重力(在地球表面大约为9.8m/s/s)的加速度。通过乘以dt*dt,能够发现物体位置的三维中每一维的变化。利用这些或等同的计算,软件元件705能产生位置和方位的估计,如虚线803所示。由于传感器读数中误差的累积,例如,由噪声、有限的精度、或其它因素产生,或可能由时序数据传输中的误差产生,使得自追踪物体的实际(actual)位置和方位,可能产生与实际(reality)至少稍樣史不同的一组位置和方位的估计值805。随着时间的过去,所述误差可能足以对游戏控制器704的操作和游戏产生影响。例如,随着时间的过去,该误差可能变的足够大,以至于通过联合推断出的位置和方位的估计,而产生的动画,对于玩家而言变得越来越不真实。有时,软件元件705接收关于运动感知物体703的位置和方位的附加信息,所述附加信息在可确认的时间变的可用,具有效果软件元件705可以确定新的瞬时位置806a和方位806b。对于第一个例子,如果玩家停止移动运动感知装置703时,这个也能发生,具有效果进入了可确认的静止时间。对于第二个例子,软件元件705可以接收来自其它传感器的读数,例如上述定位装置,具有效果在那个时候,至少一些瞬时位置806a和瞬时方位806b的子集能被更加精确的推断出来。下面介绍计算这些新配置估计的一些例子。当更多精确的信息,或其它正确的信息变的可用时,发明人已经发现该信息具有比用于在那个时刻及时获取更多可靠估计,还要多的用途。特别地,该信息可以被用于推断有关传感器读数近期历史的至少一些部分的误差。通过考虑这些误差估计,可以计算出新的轨迹,如图8中实线804所示。新的轨迹804可能仍然不是自追踪物体真实轨迹的完美反映,但是发明人发现其相对于原始的估计,已经是更加精确和有用的一个轨迹。特别的,该轨迹804可用于驱动动画,尽管有时延,但对于执行运动811的玩家而言,看起来是更加准确的再现。在一个实施例中,重新估计的轨迹计算包括下述原理和步骤-.重新估计的轨迹计算主要引起了对两种误差的注意。>第一种包括在不同的时间传感器本身的随机性误差效应。这种误差可能与传感器读数上报中的噪声,归因于有限精度的传感器读数上报中的截断误差,以及其它类似的因素有关。举一个例子,如果陀螺仪读数报告为8比特值,就会产生本身的随机误差效应一一在真实值和四舍五入到有限精度时的值之间的差异。>第二种包括系统误差,也就是,以充分一致的方式实时影响特定传感器的数据。这种误差可能与该传感器(例如,针对真值为零值上报的传感器数据,可能被错误校准为有限非零值)的错误校准有关。重新估计的轨迹计算首先定位在方位中的误差。标注该运动时间段的初始位置为to,并假定k在时间^到tk,包含tk,进行更新,在时间tk被预知的方位将是方位(t0)+5=^陀螺仪(ti)*(tj-&)(9)可以通过用(目标方位-方位[t]J)/(tk-to)*(ti-tw),调整每个陀螺仪(ti),强迫所述预知的方位与目标方位匹配。所述计算分配这些调整量给上述两种误差源。将该种随机误差看作k步幅的随机游动,应该具有典型的偏差sqrt(k)*误差<传感器>,其中误差<传感器>是该传感器在单独读数上的典型误差。这个值可以由实验分析得到。其余的误差,如果有的话,可以被假定为陀螺仪上的偏移误差,并应用到后来的读数中。在一个实施例中,可能需要限制最大的修正量,该修正量被用于将任何残留修正量归结为下一步未知(forther-unknown)的因素。所述计算在位置更新过程中,应用类似的过程,以采用新的方位估计来调整加速计读数。因为应用到加速计读数中的调整,将会依据当时传感器的方位对最终位置产生不同的影响,所以定位过程是更加复杂的过程。首先,该计算假定新的调整后的方位和向心加速度是正确的。然后采用上述等式(2)和(3),该算式能为每一步计算出在位置的三个分量中的每一个分量上,三个加速计读数中每一个读数的影响。所述影响为,在时间tk:位置(tk)[j]=位置(to)[j]+速度(to)[j]*(tk-to)一加速计(tj)*"i-tw)*(tk國ti)(10)对于位置的三个分量中的每一个分量j其中(p为指示影响的速度,所述影响为加速计(ti)的每个分量对给定方位(ti)的速度分量j的影响。这个等式决定了加速计读数的变化将如何影响最终的位置。该算式找到了针对加速计读数的最小调整量,以使该读数与目标位置匹s己。适应所述调整量,该算式可以采用上述方法,在噪声误差和偏移误差之间分配该调整量。重新估计的过程,或者后退拟合,并不局限于只在运动811结束时发生一次,只要在运动811的过程中,不论长或短,额外的信息变得可用,该额外信息就能被结合用于当前运动811和任何它之前部分的重新同步和重新估计步骤。该过程也可被用于进一步可靠估计任何误差,该误差可能由运动感知装置703以别的方式产生。线808示出了由软件元件805,利用第一估计参数组,产生的第一位置和方位的路径。线807示出了由软件元件705,利用第二估计参数组,在结合上述新的信息,并在对线808所示的位置和方位进行重新估计后,产生的第二位置和方位的路径。这个过程可以被重复的和反复的应用,具有效果软件元件705可以精确测定运动811的可靠轨迹的相对较长的序列。上述算式采用了关于目标配置的信息,以调整估计的轨迹和传感器误差。在可选的实施例中,所述算式可以采用关于目标速度的信息,在这种情况下,所述算式采用对应的过程,即用下面的等式(11)取代上面的等式(10)。速度(tk)□=速度(to)[j]+L=i..kcp承加速计(ti)*(ti-tw)(11)现在参照图9,下面描述了在游戏控制系统中信息流的数据流程图。自追踪物体917提供了一组原始传感器读数902,所述原始传感器读数902是由设备驱动器卯l从自追踪物体917中接收的。所述设备驱动器卯l应用硬件校准步骤来产生一组校准后的传感器读数908。硬件校准技术是本领域技术人员所熟知的,包括,例如,(a)基于已知的或校准后的温度变动,修正原始传感器读数902,以及(b)补偿在自追踪物体917的制造过程中可能引入的误差。当自追踪物体917被制造时,制造误差可以在制造厂执行的校准步骤检测到。在一个实施例中,游戏911将明确表达出关于自追踪物体初始配置的假定910。这些,I定可以包括关于该物体的初始配置,软件元件705应该设定的假定。例如,游戏911可以提供一个或多个该物体初始位置或方位的分量。配置初始器909接收游戏911提供的那些假定910。从那些假定910,配置初始器909确定追踪器918将要采用的初始配置。在一个实施例中,游戏911提供了该物体的初始位置和该物体围绕与重力一致的轴向旋转的假定值,这里标记该轴向为z轴。方位的另外两个分量可以通过配置初始器909为响应来自惯性传感器的读数,而计算得到。当物体静止时,这个计算可以被执行。在一个实施例中,配置初始器909可以利用来自传感器的信息,以推断该装置当前是否在运动。例如,如果自追踪物体917可以被假定为或检测到为静止时,重力读数可以被用于推断方位的信息。当该装置为相对静止时,陀螺仪的读数将全部接近于O,且传感器上报的加速度应该基本完全归因于重力。在这种情况下,加速计读数应该实时保持一致,且具有接近于一个重力加速度(大约为9.8m/s/s)的标准。当完全满足这些条件时,配置初始器909判定该物体充分静止。配置初始器909可以通过找到世界坐标系中必然的转动,来确定方位的两个分量,以使加速计读数完全沿着z轴排列。在一个实施例中,配置初始器909确定一系列转动,以使该轴向与多数(largest)加速计读数排成一行。这个计算可以用下面示出的伪代码完成<table>tableseeoriginaldocumentpage27</column></row><table>setinitialOrientationusinglargeRot;〃采用大旋转设定初始方位(14)gravReading—■initialOrientation*Acc;〃重力读数=初始方位*加速度rotX=-atan(gravReading(Y)/tmpReadings(Z));〃旋转又=-反正切(重力读数(Y)/临时读数(Z)(15)adjustinitialOrientationbyrotatinganadditionalrotXaroundtheXaxis〃通过围绕X轴旋转附加旋转X调整初始方位(16)gravReading—initialOrientation*Acc;〃重力读数=初始方位*加速度rotY=atan(tmpReadings(X)/tmpReadings(Z));〃旋转Y-反正切(临时读数(X)/临时读数(Z))(17)adjustinitialOrientationbyrotatinganadditionalrotYaroundtheYaxis〃通过围绕Y轴旋转附加旋转Y调整初始方位(18)配置初始器909采用来自游戏的输入,设置其余的分量。在一个实施例中,配置初始器909将绕着Z轴的旋转假定为0。如果其它传感器读数可用,例如上述来自定位装置的读数,配置初始器卯9可以采用这些其它传感器的读数,以确定关于初始配置的信息。最初,追踪器918假定当前的配置为初始配置912。随着时间的过去,追踪器918通过响应校准后的传感器读数卯8,将变动应用到初始配置中,以确定当前的配置。在一个实施例中,自追踪物体917中的传感器包括陀螺仪和加速计,所述陀螺仪和加速计足以追踪自追踪物体917的位置和方位的变动。如上所述,依据现有原理,软件元件705整合并联合了陀螺仪和加速计的读数。依据917中传感器的精度和分辨率,现有技术可能不足以为计算机游戏的一个实施例中的应用,产生可靠的配置估计。因此,发明人已经发明了技术,该技术充分提高了估计的可靠性,并因此作为一种新应用软件的可用技术。在一个实施例中,追踪器918将限制应用到校准后的传感器读数908。这些限制包括将读数固定在允许的范围,将计算出的值固定在已知范围内,引入拖到条件(dragterm),或要求最小的脉冲,以作为门限,来避免将手抖动误解为有意义的运动。一旦追踪器918限制了校准后的读数,就能够采用来自惯性制导领域及相关领域的现有技术,来产生配置估计905。该配置估计被发送到修正器907,修正器907调整该估计以产生修正后的估计916。在一个实施例中,采用上述后退拟合算法,来动态计算该修正值,存储该修正值于903中,并周期性的执行更新906。并非以任何方式故意限制,修正的例子包括>追踪器918可能通过假定自追踪物体917遵循由人形的机械模型限制的运动,来部分确定自追踪物体917的运动限制。例如,如果知道位置估计可能背离关于肢体长度的假定,比如仅在游戏玩家的胳膊能够不切实际的弯曲时才会发生的运动,估计905可以相应^C修正。在一个实施例中,追踪器918可以在人移动该自追踪物体917时,估计该人的轮廓模型的位置和方位。例如,追踪器918可以在周期(或相反定义的)时间序列的每个时间步长中,估计该人轮廓的胳膊、肩膀以及握持控制器的手的位置和方位。这将包括人体每个相应关节的估计角度,可能还有肌肉组织的扩展。这里都认为是"姿势",例如采用现有的逆向运动学技术,正如那些在作者是R.Featherstone的"机器人运动算法,,(R.Featherstone,RobotDynamicsAlgorithms)中描述的一样。在这样的实施例中,追踪器918将检测每个这样的估计姿势,并为该估计姿势的可能性调整其估计(除去或取代为自追踪物体917的估计位置和方位的可能性调整其估计)。可以采用(a)关于人体生理学的信息,例如肘、肩、腕、以及类似的部分能够怎样旋转,以及(b)关于特定应用的信息,在该特定应用中,自追踪物体917被用作控制器,来确定任何特定估计姿势的可能性。例如,在自追踪物体917被用于模拟棒球球棒的实施例中,例如,运动游戏中,追踪器918可以估计特定棒球球棒挥动运动的可能性,并在如果该运动由棒球球棒挥动玩家执行时,适应他们的可能性,从而分配与那些挥动运动相关的姿势。这将具有效果棒球球棒挥动玩家接触(假想的)棒球的姿势比其它姿势更有可能性。而且,追踪器918可以利用一个或多个简单的假定,例如,假定在用两手操作的手柄挥动自追踪物体917时,棒球球棒挥动玩家相对静止且垂直的站立。在这样的实施例中,当追踪器918遇到认为不可能的估计姿势(或姿势序列)时,所述认为不可能的估计姿势指,不论是基于给定的人体生理学或是基于关于特定应用的信息特征,均认为是不可能的估计姿势,该特定应用指自追踪物体917用作控制器,追踪器918可以(a)将该估计姿势或姿势序列调整为更加可能的姿势,以及(b)重新估计自追踪物体917的运动,并相应得到姿势或姿势序列,以与该调整一致。在可选的实施例中,可能会发生当人移动该自追踪物体917时,人体轮廓姿势的精确模型可能是不必要的。在这种情况下,追踪器918可以采用关于该人运动的合理假定,以确定任何特定的姿势,或姿势序列是可能的或是不可能的。例如,如果人一一通过应用软件的属性一一被假定可能是站立在相对固定位置的,那么任何上报的或估计的自追踪物体917的位置如果距离该相对固定的位置过远时,可能被根据该距离进行调整。这将具有效果任何上报的或估计的自追踪物体917的位置将被充分限制在人的初始位置周围的盒形区域或球形区域内,并受到人的身体通常可达范围的限制。>有时,追踪器918可能基于重力测定自追踪物体917的角向,也就是,自追踪物体瞬间的指示角度,从"上"或"下"的角度。例如,如果自追踪物体917进入静止状态,自追踪物体917的角向可以相应的被调整。>有时,追踪器918可能假定自追踪物体917处于可能静止的时期,例如当游戏指示没有游戏玩家可做的,且因此游戏玩家可能不去移动自追踪物体917。如果追踪器918能够检测到可能静止的时期,那么自追踪物体917的相对速度和角速度可以被确定,且描述自追踪物体917位置和方位的参数可以被相应调整。>有时,追踪器918可以接收来自用户的数据,例如来自游戏玩家的数据,所述数据指示用户提供的信息,该信息可被用于帮助确定自追踪物体917的位置和方位。对于第一个例子,如果用户在应用中按下自追踪物体917上的按钮,在该应用中所述按钮用于模拟枪(例如,"第一人称射击"游戏),追踪器918可以利用按下按钮的时间,来限制自追踪物体917的一系列可能的位置或方位。例如,限制自追踪物体917指向的那些位置,以使该模拟枪实际上指向目标。对于第二个例子,如果用户利用连接到自追踪物体917的控制台输入文本数据时,追踪器918可以用该文本数据(或用这样的文本数据被输入的事件),以限制自追踪物体917的一系列可能的位置或方位,具有效果追踪器918可以相应调整自身确定出的自追踪物体917的位置和方位。>有时,追踪器918可以接收来自附加传感器的输入值,附加传感器例如为光笔,红外遥感器,或其它自追踪物体917方位的指示器。追踪器918可以采用来自附加传感器的那些输入值,以限制自追踪物体917的一系列可能的位置或方位,具有效果追踪器918可以相应调整自身确定出的自追踪物体917的位置和方位。然后,修正后的配置估计915可以基于游戏内(in-game)约束和假定进一步被修正。并非以任何方式故意限制,游戏内修正的例子包括>追踪器918可以基于其可认定的运动结束时自追踪物体917的一系列可能的最终配置的限制,来确定该自追踪物体917的位置和方位的限制。例如,如果运动结束时(或运动的任何部分)能够象用户的脑袋或身体一样,将自追踪物体917放置在相同的空间位置,或象墙壁或者游戏控制器本身一样,将自追踪物体917放置在相同的空间位置,那么追踪器918可以限制自追踪物体917的一系列可能的位置和方位,以排除那种可能性,并相应调整自身确定出的自追踪物体917的位置和方位。>追踪器918可以将游戏限制应用到自追踪装置917的一系列可能的运动中,例如如果自追踪装置917被游戏玩家用于模拟一种特定的物体(例如,在幻想游戏中用剑,或在运动游戏中用高尔夫球棍)。追踪器918因此限制了一系列可能的运动,并因此相应改变了自追踪装置917的相对位置和方位。对于第一个例子,在自追踪物体917被用于模拟剑(例如,幻想角色扮演游戏)的应用中,追踪器918将可以限制该模拟剑的可能运动,以使该剑不能通过游戏世界中特定种类的物体,或在遇到游戏世界中特定种类的物体时终止运动,例如,遇到坚固的墙壁或其它剑。对于第二个例子,在自追踪物体917被用于在棒球游戏中模拟棒球球棒的应用中,追踪器918将可以限制该模拟棒球球棒的可能运动,以使该棒球球棒在棒球游戏中停留在好球部位,或接近该部位。这将具有效果(a)减少可能动画的范围,因此简化展示该动画的任务,(b)在追踪自追踪物体917时检测相对较大的错误,以及(c)检测人的异常动作,例如如果该人决定从模拟球棒区域走开。>采用自追踪装置917的应用可能包括运动识别信号的利用,例如象美国申请号为11/486,997,发明名称为"为任意运动产生运动识别(GeneratingMotionRecognizersforArbitraryMotions),,中详纟田说明的一样。在这种情况下,运动识别信号将自追踪装置917的运动归类到一组预先选择的运动种类中的一个(或可能多于一个)。举一个例子,在自追踪装置917用于模拟一个或多个厨房用具(例如,与烹饪有关的游戏、仿真、或教学环境)的应用中,追踪器918可以采用运动识别器(motionrecognizer),所述运动识别器通过自追踪装置917将运动归类为用在那些环境中的已知姿势,所述姿势例如为,油炸、翻炒(flipping),剁碎(ch叩ping)、捣碎(pounding),以及其它类似姿势。握持自追踪装置917的人的任意运动将被归类到这些已知的一个或者多个姿势中。具有提供运动识别信号,将运动分配到那些已知的一个或多个姿势中的效果。在多个实施例中,运动识别信号可以(a)将运动唯一的归类为一个特定的姿势,(b)将该运动归类为一系列可能姿势中的一个,(c)将运动与那些可能姿势中的每一个可能的或其它可能相联合,以及类似的方式。追踪器918可以采用其从运动识别信号中获取的消息一一将运动分配到一种特定的姿势一一以将自追踪装置917的位置和方位的可能估计序列限制在与该运动识别信号相一致的那些上。例如,并非为了以任何方式故意限制,如果运动识别信号指示自追踪装置917(模拟煎锅)仅被用于翻炒煎蛋巻,那么从自追踪装置917接收的与该姿势不一致(例如,更像是与切菜或跺肉一致的运动)的任意传感器读数或时序数据,可以被认为很可能是错误的,无意识的(unintended)或可忽略的(insignificant)。然后,追踪器918可以不采用那些传感器读数或时序数据,具有得到改良的或至少更加一致(consistent)的自追踪装置917的位置和方位估计的效果。而且,如果该不一致的运动是由握持自追踪装置917的人的未发觉的(unconscious)或无意识的(unintended)运动产生的,那么追踪器918将会为该人提供改良的追踪理解(perceptionofimprovedtracking)。在多种实施例中,运动识别信号可以提供附加的信息,将运动与特定姿势关联。例如可能是(a)该运动和每种分类姿势间距离测量的估计,或(b)该运动和特定种类姿势中特定原型间距离测量的估计。例如,并非为了以任何方式限定,如果运动识别信号指示自追踪装置917(模拟煎锅)仅被用于翻炒煎蛋巻,但是有可选的另一合理解释,该解释为该自追踪装置917(模拟快刀)仅被用于切菜,那么追踪器918可以利用这两种可能解释间的模糊,来非强制地选择不采用那些模糊的传感器读数或时序数据。在一个实施例中,规范的动画可能与每个特定姿势相一致,具有效果与特定的运动相适应的实际显示的动画,可以是自追踪装置917的估计实际运动的混合,以及分配给检测到并经过分类的(detected-and-classified)姿势的规范动画的混合。在一些应用中,允许追踪器918执行"瞬间固定(snaptofit)"功能,也就是以能够完美展现该姿势的方式(多种方式中的一种方式),来呈现实际的运动,而不是人实际表演的近似。在可选的实施例中,呈现的动画可以是与检测到的并经过归类的运动的多于一种的姿势相结合的规范动画的有利混合。该混合的相对有利性可能与每种姿势距离的测量有关,与结合每种姿势的可能性有关,以及与其他类似有关。>同样地,规范的动画可以与特定姿势种类中的每个特定原型相关。在这种情况下,适应特定运动的实际呈现的动画可以是(a)与那些原型姿势相关的规范动画的混合,(b)瞬间固定挑选的与那些原型姿势相关的一个规范动画,(c)与那些原型姿势中的一个或多个,以及自追踪装置917的实际运动相关的规范动画的混合。在这每种情况下,与混合的每种可能性相关的有利性,可能与上面介绍的测量有关。追踪器918有时可以,接收直接定点设备(DPD,DirectPointingDevice)的读数,例如判定自追踪物体917,是以相对于自追踪物体917与一系列发光二极管或其它的电磁队列元件或音速的队列元件构成的队列已知的方位,来排列的。追踪器918可以采用那些DPD的读数,以限制自追踪物体917可能的位置或方位序列,具有效果追踪器918可以相应调整自身确定出的自追踪物体917的位置和方位。>有时,追踪器918可以假定自追踪物体917不再运动,例如当游戏控制器指示没有用户要做的动作。追踪器918可以采用该假定,以限制自追踪物体917可能的位置和方位序列,具有效果追踪器918可以相应调整自身确定出的自追踪物体917的位置和方位。游戏修正后的估计913被传送回游戏,通常被用于驱动用来与游戏元件的运动相应的动画,所述游戏元件对应于自追踪物体917。例如,如果游戏元件是剑(在幻想游戏中),或高尔夫球棍(在运动游戏中),将会呈现与用户移动自追踪物体917的方式一致的游戏元件运动。在一个实施例中,追踪器918假定了自追踪物体917与虛拟环境中模拟物体运动的一对一映射,后者采用动画呈现给用户。在可选的实施例中,如下描述,可以釆用其它的以及进一步的映射。>在一系列可选的实施例中,为了响应自追踪物体917在位置或方位上的变化,虚拟环境可以确定在该虚拟环境中的力量和其它动力。例如,自追踪物体917在位置或方位上的急剧变化,可被解释为在该虚拟环境中的物体上施加投掷(throwing)或机动(maneuvering)力量的指示。在这种例子中,虚拟环境将(a)确定应用的许多力量,(b)为了响应该确定出的力量,确定该虛拟环境中该物体的位置或方位的一系列变化,以及(c)为了响应该确定出的一系列变化,确定包含该物体的该虚拟环境的动画。这种响应自追踪物体917在位置或方位上变化的动作的例子包括(1)自追踪物体917可被用于模拟可投掷(throwable)物体——例如,棒球一一在虚拟环境中,自追踪物体917在位置或方位上的变动被用于决定用多大的力量,以及向哪个方向投掷该物体(例如,采用自追踪物体917来模拟棒球,用户可以假装投掷棒球,当然要小心不要真的在游戏控制器中将该自追踪物体917扔出去,除非自追踪物体917是加衬垫的(padded)或其它安全的,而允许实际投掷的);(2)可以采用自追踪物体917模拟打击(striking)或投掷工具——例如,棒球球棒——在虚拟的环境中,自追踪物体917在位置或方位上的变动,被用于在虚拟环境中确定力量或其它动力,利用该力量以确定用多大力以及在哪个方向打击物体(例如,采用自追踪物体917模拟棒球球棒,用户可以假装用棒球球棒打击棒球);(3)同样地,自追踪物体917可以被用于在虚拟世界中模拟工具,例如灯开关或枪的扳机,具有效果自追踪物体917在位置或方位上的变化可能被该虚拟环境解释为,指示在该虚拟环境中已经应用了足够的力量以开灯或开枪。>在一系列可选实施例中,虚拟环境中的视点(例如用户的视点或照相机的视点)可以与自追踪物体917在位置或方位上的变动有关。在这种实施例中,用户可以被允许在虚拟环境(例如可能虚构(possibly-fictional)的三维(3D,Three-Dimensional)环境的虚拟现实描述)中指示方向或选择物体。甚至在虚拟现实描述中在用户的视野被其他物体阻挡时,用户也能具有这种能力。(l)举一个例子,用户可能实体握持自追踪物体917,在虚拟环境中对应该物体模拟一种物体。该模拟的物体,或"相应的虚拟装置"(CVD,CorrespondingVirtualDevice),可以非常接近于任何物体,例如枪,鞭子,定点设备(例如激光指示器)。在该虚拟环境中,计算出线段(或另一个路径),将该线段与CVD连接,并使该线段延伸到虚拟世界中接近CVD的区域。所述计算基于自追踪物体917的一个或多个在位置或方位上的变动,可能还结合来自虛拟环境的附加信息。包括直接对应于自追踪物体917在方位上的变动,设定该线段的方向或其它路径的方向。该线段可能是直线,例如对于激光指示器而言,或者接近于直线,例如对于枪而言(将重力和风力修正量考虑在内),或可能是故意弯曲的线,例如对于鞭子而言。因此,该计算出的线段代表了用户期望的线段。如果计算出的线段在虚拟环境中与物体或构造(例如,非实体的"物体",例如面(surface)或层(region))交叉,例如,4妄触虚拟物体,平面,或人物,虚拟环境判断用户是故意选择或标记该相交的物体或构造。例如,图10示出了三维虚拟环境1000,包括多种物体1001和1002,CVD1005是自追踪物体917在虚拟环境1000中的代表。如上所述,可以采用一些线段(或"射线(ray)")1006来选择物体和构造。因为自追踪物体917被移动,因此改变了自追踪物体917的位置或方位,CVD1004和线段的新位置1003允许用户选择新的物体1002。这就允许虚拟世界中的游戏玩家选择沿着他们注3见的垂直面(normalviewingplane)看冲莫糊的物体。采用这种方法的例子可以包括游戏玩家握持自追踪物体917,作为与虚拟环境中的枪、手电筒、或鞭子对应的控制器。随后,玩家能够到处移动该控制器,以指示该枪、手电筒、或柔软缆线的方向。自追踪物体917在位置和方位上的变动可以被应用到相应的CVD上。在自追踪物体917对应虛拟世界中枪(或另一个射弹的装置,例如弓)的例子中,游戏玩家可以在虚拟环境中隐蔽矮墙的后面,如图11中左手侧所示。利用上述的技术,游戏玩家将举起自追踪物体917,使得CVD枪在虚拟环境中移动,并将该CVD枪向下倾斜地指向该墙后面的区域,而不用该游戏玩家改变他们的有利位置,如图11的右手侧所示。同样的,在自追踪物体917在虚拟世界中对应于手电筒(或另一个定点设备,例如激光指示器)的例子中,游戏玩家将拥有将该CVD手电筒以任意角度指向屏幕的能力,且并不局限于只是那些在视野平面之上的原点。图12的左手侧,示出了虚拟环境中的使游戏玩家的深入该房间的视线模糊的物体。利用上述技术,该游戏玩家将通过移动自追踪物体917,以使CVD手电筒照亮该障碍物后面的区域,而不需要改变虚拟环境中的有利位置,正如图12的右手侧所示。同样的,在自追踪物体917在虚拟世界中对应于鞭子(或另一个柔软的缆线,例如绳子)的例子中,游戏玩家将具有在虚拟环境中"缠绕(reachingaround)"障碍物的能力,例如,将该缆线穿过游戏玩家可能看不到的管子。>上述技术允许游戏玩家采用自追踪物体917位置和方位的所有六个自由度,在虚拟环境中指示方向。这相对于现有指示方向的方法具有显著的优点。随着游戏玩家按照游戏的模拟(stimuli)和指令,到处移动控制器,这个过程将在游戏中经常重复。现在参照图13,下面阐述在一个实施例中的控制流(controlflow)。游戏开始并有一些初始期的设置。所述设置可以包括存储器分配以及任何其它已知的步骤。然后,该游戏等待自追踪物体上按下按钮的信号,按下按钮仅是启动追踪的开始标准的一个例子。可选的,该游戏可以基于内状态以及给玩家传达适当的指令,来发信号通知开始。一旦该游戏被指示希望开始追踪时,自追踪物体可能仍未做好追踪的准备,例如,在一个实施例中,可能在能够开始追踪前需要短暂的静止期,所以玩家仍需要在按下该按钮后,静止不动一会儿。可选的,可能需要附加传感器的读数,以确定初始配置。例如,玩家可能最初指向直接定点装置。一旦可以开始追踪,依据任意追踪器918可用的信息,来设置该初始配置。然后追踪器918重复执行上述步骤,其中追踪器918(a)执行下述>追踪器918接收来自自追踪装置917的时序数据。>追踪器918基于那些时序数据,做出自追踪装置917位置和方位的估计。>追踪器918接收信息,该信息使其能做出自追踪装置917位置和方位的更好的估计。>追踪器918更新其近来做出的,自追踪装置917位置和方位的历史估计序列。在一个实施例中,这个过程被反复执行,直到追踪器918接收到追踪可以停止的信号。终止信号可以基于时间、游戏事件、或按钮。追踪器918继续做出自追踪装置917位置和方位的估计,直到游戏结束。可选实施例虽然上述已经介绍了本发明的最佳实施例,但是有许多可以被理解的并且来自所阐述的构思和原理的变型。这些可能的变型和实施例包括下述在一些游戏控制器配置的情况下,可以采用聪明的游戏设计,以利用一些假定序列,从而给予增强的运动追踪的幻想。例如,玩家可被指示以一定的方式握持控制器,以及沿着特定的轴线移动。然后传感器数据的分析可以允许呈现相应的动画。然而,这种方法具有其局限性。如果玩家背离了任何假定,那么产生的动画将通常与实际玩家的运动不相符合。在一些情况下,本发明控制器提供的传感器数据可被分析,并与对应特定动画提供的标准数据输出进行比较。对于与该传感器数据最佳匹配的动画将被选定并播放。也可能基于传感器数据和最佳匹配之间的相应程度,修正所选的动画。例如,如果该传感器数据显示该运动是一些所提供动画的加快版本,那么该动画可以以相应加快的速度被播放。现有多数可用的游戏控制器不包含所需的六轴加速计配置,以在没有陀螺仪的控制器中,完全确定玩家的实际运动。例如,在一些时髦的游戏控制器中,仅有三个近似联合定位的加速计或单一的三轴加速计。采用这种控制器,以在屏幕上呈现相应于玩家运动的动画,需要设定关于玩家预期运动的更强的假定。在一些情况下,采用现有技术,可以减轻这种需要。例如,一些时髦的游戏控制器包括红外传感器,当指向一些直接定点设备(DPD,DirectPointDevice)时,该红外传感器能提供用于确定关于玩家运动的更多信息的附加信息。然而,玩家的运动不得不被限制在运动的狭窄范围,以保持DPD在红外传感器的范围内。本发明的构思可以被扩展成在系统中加入更多的传感器。上述通用算法可以被扩展到这种配置中。例如,三个运动感知游戏控制器可能有九个加速计感知轴向,而不只有六个加速计感知轴向。三个附加轴向的感知能纟是供反馈,以应用到该通用算法中。同样的,可以运用该通用算法,以缩短时间。在系统中可能有许多可能的有影响力的i吴差(competingerror)。当与整体i吴差进4亍一又4軒(tradingoff)时,可以通过减少每秒采样数(samples/sec.)的方式,来实时限制灵敏度。这部分地基于发生人运动的时标(timescale)。基于本发明的构思,具有以一定配置放置在每个面上的加速计的立方体,可以在更长的时间段,可靠的追踪控制器的位置和方位。这样的立方体可以被安装在控制器上,例如,通过适当的软件狗连接。在配置该独立惯性传感器的复合结构,不论在控制器内或外,以选择那些传感器的最佳位置和方位,从而提供可用的复合控制器时,必须考虑附加参数,该附加参数描述了每一传感器以及在充分刚性的物体内的不同传感器间的物理关系。例如,关于图l-图3中复合控制器的配置估计可以包括下述估计>当该装置静止时,该独立惯性传感器的读数;>该独立惯性传感器的上升和下降范围;>该独立惯性传感器的灵每文度;>随着时间、温度、以及其他条件,该灵敏度如何变动;>该控制器中单独的(individual)独立惯性传感器的相对位置;>该控制器的物理大小;>每个控制器间的距离;>每个控制器彼此的相对方位;>每个控制器质心的相对位置。权利要求1.一种被用户可操作与显示器进行交互的设备,所述设备包括多个惯性传感器,用于当所述设备在所述用户的促使下,从三维空间中的一个位置移动到另一个位置时,提供足以获得所述设备六个相对线运动和角运动的传感器数据,其中还包括处理器,被配置对来自所述惯性传感器的所述传感器数据进行相关,确定所述设备相对于一个参考点的相对位置和方位,以使所述设备的轨迹被推断出并用于在所述显示器中呈现相应的运动。2、如权利要求1所述的设备,其特征在于,所述设备为集成控制器,包括第一装置和第二装置,所述第一装置能够独立运行,包括收发器;以及所述第二装置,可移除地连接到所述第一装置上,包括所述多个惯性传感器中的部分或全部;以及与所述第一装置通信的接口,通过所述接口将来自所述惯性传感器的部分或全部所述传感器数据传输至所述第一装置,以使所述第一装置通过所述收发器,将所述传感器数据传输至与所述显示器连接的基本设备上。3、如权利要求2所述的设备,其特征在于,所述第一装置为基本控制器,包括第一组件,包括所述多个惯性传感器中的一个或多个但不是全部,其中来自所述基本控制器中的所述惯性传感器的所述传感器数据,不足以获得所述设备的所述六个相对线运动和角运动;所述第二装置为辅助装置,包括第二组件,包括所述多个惯性传感器中的一个或多个^f旦不是全部,其中来自所述辅助装置中的所述惯性传感器的一些或全部所述传感器数据,通过所述接口传输至所述基本控制器,以使来自所述基本控制器和所述辅助装置的所述传感器数据合起来,足以获得所述设备的所述六个相对线运动和角运动。4、如权利要求3所述的设备,其特征在于,所述辅助装置不能独立运行,并被设计为与所述基本控制器一起运行,来自所述辅助装置的任何感知测量被补充给所述基本控制器,以使如果所述辅助装置中有惯性传感器读数的话,处于所述基本控制器中的处理器被配置对来自所述基本控制器和所述辅助装置中的惯性传感器的传感器lt据进行相关。5、如权利要求3所述的设备,其特征在于,包括三个所述惯性传感器的所述基本控制器作为一个三轴加速计,以及来自所述辅助装置中的所述第二组件中的所述惯性传感器的传感器数据,被补充给来自所述三轴加速计的所述传感器数据,以使来自所述三轴加速计和来自所述辅助装置的所述传感器数据变得足以获得所述设备的六个相对线运动和角运动。6、如权利要求1-5任一项所述的设备,其特征在于,所述惯性传感器是充分独立的,因而,没有运动约束且不用所述用户设置或配置外部源来操作所述设备。7、如权利要求1-5任一项所述的设备,其特征在于,所述设备是游戏控制器,以及所述处理器在驱动所述显示器的游戏机器中。8、如权利要求1-5任一项所述的设备,其特征在于,所述轨迹被充分实时地计算出,以将所述用户的运动与所述显示器的显示同步。9、如权利要求1-5任一项所述的设备,其特征在于,所述设备的线运动和角运动控制在虚拟世界中被操纵的物体的动画。10、如权利要求l-5任一项所述的设备,其特征在于,提供附加识别元件,用以将所述轨迹归类到一系列清楚的规定中的一个,所述规定用于给所述轨迹赋予意义。11、如前述权利要求中任一项所述的装置,其特征在于,所述处理器被进一步配置通过确定与所述估计的位置和方位相关的一系列估计误差,获得所述设备更为精确的轨迹。12、如权利要求11所述的设备,其特征在于,响应一系列的假定获得所述估计误差,所述假定包括假定所述设备处于地球坐标系中,假定所述设备借助人的动力充分运动,假定所述设备至少为一个手持的,可佩戴的,或可附着到一个运动的或静止的物体上的设备。13、如权利要求12所述的系统,其特征在于,采用人类生物力学特性来确定所述估计误差。14、如权利要求12所述的系统,其特征在于,附加识别元件的输出与关于运动类型如何被用于完成确定所述估计误差的知识相结合,所述附加元件将所述轨迹归类为预先确定的一系列可能运动类型中的一个。15、如权利要求12所述的设备,其特征在于,所述估计误差与所述传感器关联,并之后用于维持对所述设备提高任意所述估计位置和方位。16、如前述权利要求中任一项所述的设备,其特征在于,所述处理器被配置识别所述设备充分静止的一个或多个时段,以及基于代表所述一个或多个时段的数据识别所述设备的方位,以及识别包括来自所述惯性传感器的足以确定相对所述设备重力方向的信息。17、如前述权利要求中任一项所述的设备,其特征在于,所述处理器被配置以响应来自至少另一个传感器的数据,来调整所述估计的位置和方位的分量,以提供关于所述设备的绝对位置和方位的至少一个分量信息,所述另一个传感器不是所述多个惯性传感器中的一个。18、如前述权利要求中任一项所述的设备,其特征在于,所述处理器被配置通过采用假定和/或直接定点装置,确定所述设备的初始绝对位置和方位的分量,以及当所述装置被触发运动时,就依据从所述惯性传感器接收到的所述传感器数据,推断所述装置的所述估计位置和方位。19、如前述权利要求中任一项所述的设备,其特征在于,处理器被配置通过发现所述设备必需的转动来确定三个方位中的两个,以将来自组成加速计的一系列惯性传感器的读数,完全沿着预先确定的对应于重力方向的轴向排列。20、如权利要求l-5任一项所述的设备,其特征在于,所述用户在六个自由度操纵所述设备,以及被用作显示虚拟世界的有利观测点依据所述设备的线运动和角运动确定。21、如权利要求20所述的设备,其特征在于,所述用户通过在显示的虚拟世界中移动到不同的有利观测点,察觉障碍物背后的区域。全文摘要用于控制由计算机控制的游戏的方面的可移动游戏控制器,显示具有用于确定该可移动控制器线运动和角运动的装置。该装置包括用于感知移动控制器的三轴线运动和三轴角运动的多个独立惯性传感器。每个传感器相对于彼此安装在固定的线位置和方位。从该多个独立惯性传感器中每个传感器与运动有关的传感器读数中,计算出该控制器的线运动和角运动。文档编号G06F3/01GK101367015SQ20081012572公开日2009年2月18日申请日期2008年6月18日优先权日2007年6月18日发明者伟严,多布森·丹尼斯,涂晓媛,穆西克·小查尔斯,约翰·方,贝勒顿·科特,赖特·伊恩,雷诺兹·斯图尔特,鲍威尔斯·威廉·罗伯特·三世申请人:神奇游戏智能公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1