首页> 中国专利> 一种使用基于姿态生成的设备来降低数据速率和功率消耗的方法

一种使用基于姿态生成的设备来降低数据速率和功率消耗的方法

摘要

本发明涉及一种使用基于姿态生成的设备来降低数据速率和功率消耗的方法。该方法包括通过从陀螺仪传感器接收陀螺仪数据、使用所述陀螺仪数据来执行积分以及使用第一处理器来生成积分陀螺仪数据而生成运动数据。该方法进一步包括从除所述陀螺仪传感器以外的一个或多个传感器接收数据,以及使用所述积分陀螺仪数据和所述数据来执行传感器融合以使用第二处理器来生成运动数据。

著录项

  • 公开/公告号CN104048658A

    专利类型发明专利

  • 公开/公告日2014-09-17

    原文格式PDF

  • 申请/专利权人 应美盛股份有限公司;

    申请/专利号CN201410094451.6

  • 发明设计人 W.K.基尔;J.B.林;S.卡拉罕;

    申请日2014-03-14

  • 分类号G01C21/00;G01C21/16;G01C21/20;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人吕传奇

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 01:00:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-01

    授权

    授权

  • 2015-03-25

    实质审查的生效 IPC(主分类):G01C21/00 申请日:20140314

    实质审查的生效

  • 2014-09-17

    公开

    公开

说明书

相关申请的交叉引用

本申请要求由Keal等人于2013年3月15日提交的标题为“A Method to Reduce Data Rates and Power Consumption Using Device Based 3, 6, 9 Axis Quaternion Generation”的美国临时申请No. 61/786,414的优先权,其公开内容通过引用结合在本文中好像被全文阐述。

背景技术

本发明的各种实施例一般地涉及运动传感器数据,并且特别地涉及陀螺仪(gyroscope)数据的积分以生成运动数据。

在使用陀螺仪的应用中,来自陀螺仪的陀螺仪数据连同来自罗盘仪和/或加速度计和其他传感器的数据一起被收集。所收集到的数据然后被融合在一起以确定设备的移动。所收集到的数据还随着时间的推移并且以高速率被积分以降低误差。这样的高速率数据典型地被从半导体设备(或集成电路)发送到处理器。由于与积分数据相关联的高速率,将高速率数据传送到处理器引起增加的功率。因此存在对陀螺仪数据在系统功率的减少情况下的高效传输的需要。

发明内容

简要地,本发明的方法包括通过从陀螺仪接收陀螺仪数据、使用所述陀螺仪数据执行积分以及使用第一处理器生成积分陀螺仪数据来生成运动数据。所述方法进一步包括从除所述陀螺仪以外的一个或多个传感器接收数据,以及使用已积分陀螺仪数据和所述数据来执行传感器融合以使用第二处理器来生成运动数据。

本文中所公开的特定实施例的本质和优点的进一步理解可以通过本说明书和附图的剩余部分的参考来实现。

附图说明

图1示出了依照本发明的实施例正被从设备14传递到设备10的较低速率四元数(quaternion)数据。

图2示出了图1的实施例的相关步骤和/或数据通路的框图。

图3a示出了数据通过常规陀螺仪的积分的比较和本发明的各种实施例。

图3b示出了依照本发明的方法的陀螺仪信息的处理的相关步骤中的一些。

图4a-c示出了与在402和404处的本发明的各种实施例的处理相比在400处的原始陀螺仪数据的常规处理。

图5a-d示出了本发明的各种实施例502、504、506以及508,其中每个都具有MPU 14。

图6至12分别示出了本发明的各种实施例600至1200。

图13示出了依照本发明的实施例。

具体实施方式

在实施例的以下描述中,对形成其一部分并且其中通过在其中可以实践本发明的特定实施例的说明的方式被示出的附图进行参考。应当理解的是,可以利用其他实施例,因为在不背离本发明的范围的情况下可以做出结构改变。应该注意的是,本文中所讨论的图未必按比例绘制并且线的厚度不指示实际尺寸。

依照本发明的实施例和方法,陀螺仪数据的积分在单个设备中被执行,所述单个设备诸如单个半导体设备。陀螺仪积分被以高于已积分输出数据速率的速率执行以降低设备内处理要求。在本发明的实施例中,陀螺仪数据的积分使用曲线拟合来执行以降低设备内处理要求。在更高速率下随着时间的推移的积分引起较少误差。然而,已积分数据被以较低数据速率发送从而降低功率消耗。已积分陀螺仪数据还能够被与陀螺仪数据相同的速率传递以降低第二处理器上的计算并且维持正被发送的数据类型的一致性。在所描述的实施例中,已积分陀螺仪数据还被称为低功率四元数(LPQ)。

在本发明的其他实施例和方法中,传感器融合被以比陀螺仪数据积分的速率更低的速率执行。仅陀螺仪四元数数据的输出被保存在寄存器中。在另一实施例中,四元数数据被存储在先进先出(FIFO)中,所述先进先出(FIFO)驻留在包括陀螺仪(gyro)的相同设备中的。在半导体的情况下,如本文中所用的“相同设备”指的是相同芯片。在一些实施例中,三轴陀螺仪的积分在与陀螺仪传感器相同的封装中。

在本发明的又一个实施例和方法中,已知陀螺仪偏差的去除在积分之后被执行。在又一个实施例中陀螺仪偏差在积分之前被去除。

在又一些其他实施例中,9轴(陀螺仪、加速度计以及罗盘仪)运动跟踪在各种传感器平台架构中被采用,所述各种传感器平台架构中的一些在本文中被公开,并且其其余部分太多而不能列举但可以预期。

在所描述的实施例中,还被称为运动处理单元(MPU)的运动跟踪设备除电子电路之外还包括至少一个传感器。诸如本领域中已知的陀螺仪、罗盘仪、加速度计、麦克风、压力传感器、接近、环境光传感器等等之类的传感器被预期。一些实施例包括加速度计、陀螺仪以及磁强计,其每个都沿着相对于彼此正交的三个轴提供测量被称为9轴设备。其他实施例可以不包括所有传感器或者可以沿着一个或多个轴提供测量。传感器被形成在第一衬底上。其他实施例可以包括固态传感器或任何其他类型的传感器。运动跟踪设备中的电子电路从一个或多个传感器接收测量输出。在一些实施例中,电子电路处理传感器数据。电子电路被实现在第二硅衬底上。第一衬底在单个设备中被垂直地堆叠并且附着到第二衬底。

在本发明的实施例中,第一衬底通过如同时地提供电连接并且封闭地密封MEMS设备的共同拥有的美国专利No. 7,104,129 (通过引用结合在本文中)中所描述的晶片键合而被附着到第二衬底。这个制作技术有利地使得能实现允许高性能、多轴、惯性传感器在非常小且经济封装中的设计和制造的技术。在晶片级的整合最小化寄生电容,相对于分立解决方案允许改进的信噪比。在晶片级的这种整合同样使得能实现最小化对外部放大的需要的丰富特征集的结合。

在所描述的实施例中,原始数据指的是尚未被处理的来自传感器的测量输出。运动数据指的是处理的原始数据。处理可以包括去除误差的校准或应用传感器融合算法或应用任何其他算法。在传感器融合算法的情况下,来自一个或多个传感器的数据被组合以提供设备的定向。在所描述的实施例中,运动处理单元(MPU)可以在结构之中包括处理器、存储器、控制逻辑以及传感器。

现参考图1,示出了依照本发明的实施例的设备10。设备10被示出成包括处理器12和运动处理单元(MPU) 14。处理器12驻留在MPU 14外面并且可以是通用处理器或专用处理器。在一些实施例中,处理器12被称为应用处理器(AP)。MPU 14可以包括2或3轴陀螺仪或3轴加速度计或6轴传感器,即3轴加速度计和3轴陀螺仪,或9轴传感器,即3轴加速度计、3轴陀螺仪以及3轴磁强计(或罗盘仪)。在另一实施例中,MPU 14可以包括众多3轴加速度计,其中加速度计通过确定角速度的3-自由度来提供陀螺仪数据的3轴。MPU 14可以包括数字运动处理器(DMP) 3(诸如专用处理器)、存储器、模拟至数字转换器(ADC)或控制器。

在操作中,MPU 14一般地在DMP 3中处理由陀螺仪18所传送的陀螺仪数据9 (“陀螺仪测量输出”或“陀螺仪数据”)并且以积分陀螺仪数据9a的形式输出陀螺仪的定向。MPU 14可以传送来自其他传感器的数据7,所述其他传感器诸如但不限于加速度计和/或罗盘仪。MPU 14生成到处理器12的陀螺仪数据输出5。数据5具有低于陀螺仪数据输出9的速率的数据速率。由MPU 14所执行的处理的一部分是DMP 3中的四元数和/或积分。

类似地,MPU 14从加速度计20和罗盘仪22接收原始运动数据11并且在传送到处理器12之前将原始运动数据11存储在FIFO 24中。

在图1中,处理器12被示出成包括从MPU 14接收数据输出并且生成运动数据的传感器融合。

在一些实施例中,处理器12和MPU 14被形成在不同的衬底上并且在其他实施例中它们驻留在相同的衬底上。在又一些其他实施例中,传感器融合在处理器12和MPU 14外部被执行。在再一些其他实施例中,传感器融合由MPU 14来执行。

仍然参考图1,MPU 14被示出成包括高速率和低功率四元数块16。块16被示出成从陀螺仪18接收输入并且使用处理器3 (和硬件逻辑)处理该输入以及输出四元数9a。陀螺仪18的输出实际上是陀螺仪的输出。来自罗盘仪22和加速度计20的原始数据连同四元数输出9a一起被传送到处理器。在一些实施例中,由块16所执行的四元数是积分。在这点上,块16包括以高速率对陀螺仪18的输出进行积分的积分器。在一些实施例中,这个高速率是在高于200 Hz的速率下。块16在执行积分时,将积分(或四元数)的输出提供给总线、存储器以及寄存器26。

寄存器26和FIFO 24每个都将低速率输出提供给处理器12。处理器12进一步通过基于已积分3轴陀螺仪数据5以及加速度计和罗盘仪数据7执行6或9轴传感器融合来执行处理。在块16处在高速率下的数据积分有利地提高数据可靠性,然而MPU 14与处理器12之间的低速率有利地降低功率消耗。值得注意的是,块16、陀螺仪18、罗盘仪22以及加速度计20在本发明的实施例中驻留在相同的封装上并且在本发明的另一实施例中驻留在相同的衬底上。

MPU 14和处理器12的分离允许MPU 14的用户灵活地使用MPU 14的输出。例如,设备10的不同用户可以选择使用各种传感器融合算法同时仍然降低来自降低的传输速率的功率的灵活性。

可以使用从陀螺仪测量输出开始的采样来执行积分。在本发明的其他实施例中,采样在预定数目的采样之后启动并且在预定时间段期间内继续。在本发明的又一些其他实施例中,在其中积分器或四元数的输入(陀螺仪数据)接近于零的死区期间,输出被做出成保持不变。

图2示出了图1的实施例的相关步骤和/或数据通路的框图。在图2中,在200处以其原始形式的陀螺仪数据被提供给积分和四元数块206,其是图1中块16的一部分。在下面稍后提供四元数的进一步细节。如上面所指示的在206处的积分被以高速率执行并且206的输出被提供给FIFO/寄存器24以用于存储。FIFO/寄存器24的输出是被提供给传感器融合208的四元数。在本发明的实施例中,传感器融合208是应用处理器(AP) 12的一部分。在本发明的另一实施例中,传感器融合208是MPU 14的一部分。

FIFO/寄存器24还配备有在210处请求的数据速率,并且在210处请求的数据速率使用传感器融合208的输出中的一个来确定在连同这个信息一起传递到FIFO/寄存器24之前正被请求的数据速率。传感器融合208的另一输出被示出为在216处的运动数据。

传感器融合208被示出成进一步从加速度计数据202和罗盘仪数据240接收测量输出。如果所有三种类型的数据即陀螺仪数据、加速度计数据以及罗盘仪数据被传感器融合208采用了,则输出216是9轴四元数。在另一实施例中,传感器融合208可以从诸如压力传感器或麦克风之类的其他传感器接收测量输出。在一些实施例中,传感器融合块108可以是MPU 14的一部分或AP 12的一部分。

在一些实施例中,偏差去除块214用于去除陀螺仪中的固有偏差。例如,在200处的陀螺仪数据被提供之后,偏差去除214能够被用来去除陀螺仪的固有偏差。可替换地,能够在将陀螺仪数据积分在传感器融合208中之后应用偏差去除214。如不久将显然的那样,可以在除在200处的输出处以外的级处采用偏差去除。

图3a在300处示出了数据通过常规方法的积分的比较,并且在302处示出了本发明的各种实施例。图3b示出了依照本发明的方法的陀螺仪信息的处理的相关步骤中的一些。

现参考图3a,在常规方法300中,来自陀螺仪的原始数据被以低数据速率传送到主机处理器以用于数据积分。陀螺仪数据的精度能够在这个过程中丢失并且以更高速率传送数据消耗更多功率。在本发明的各种实施例中,在302处,原始陀螺仪数据由于处理功率的可用性而被以比在常规方法中所做的更高速率积分。积分数据然后被以较慢速度传送到主机处理器以用于通过后者进一步处理同时保持陀螺仪数据的精度以及消耗较低功率。图表304示出了现有技术积分与在306处的图表中示出的更高精度相比的精度损失。

图4a-c示出了与在402和404处的本发明的各种实施例的处理相比在400处的原始陀螺仪数据的常规处理。在400中,陀螺仪数据速率和传感器融合速率可以是相同的。在402处,采样速率像在400处所示出的那样是相同的,除了因为数据被缓冲在402处的读取速率等于较低速率,诸如屏幕刷新速率。在404处,采样速率等于屏幕刷新速率例如60 Hz。通过以低于在400处所示出的速率来传送3轴低功率四元数(LPQ)数据,功率被节省了。3轴指的是正被积分成四元数的陀螺仪的3轴。402具有缺点,因为存在比404更多的数据业务量。图4中的水印(watermark)指的是每预定数目的采样而不是每个采样发送中断。

图5a、5b、5c以及5d示出了本发明的各种实施例502、504、506以及508,其中每个都具有用于从传感器接收测量输出的MPU 14和以可替换的方式经由总线从可替换的源接收其输入的应用处理器10 (AP)。可选地外部传感器可以从诸如压力、麦克风、接近以及环境光传感器之类的各种外部传感器520提供测量数据。在图5a中,在第一实施例502中,MPU 14从传感器接收测量输出,对原始陀螺仪数据执行低功率四元数并且经由总线以低于陀螺仪数据的速率将传感器数据传送到其中传感器融合算法被执行的AP 10。可选地,可以对来自MPU 14以及来自外部传感器520的数据执行传感器融合算法。在实施例中,总线可以是I2C总线或任何其他总线。

在图5b中,在第二实施例504中,AP 10通过总线从微控制器单元(MCU) 522接收其输入。在实施例中,MCU 22包括处理器和存储器。在这个实施例中,MPU 14执行其中它将陀螺仪数据积分到四元数中的低功率四元数算法并且MCU 522执行传感器融合算法。MCU 522以较低速率将处理的运动数据传送到AP 10。

在图5c中,在另一实施例506中,MPU 14以更高速率将原始传感器数据传送到MCU 522。MCU 522执行其中它将陀螺仪数据积分到四元数中的低功率四元数算法。MCU 522可选地连同来自外部传感器的原始数据一起以较低速率将MPU 14数据传送到AP 10。在这个实施例中,传感器融合算法在AP 10中被执行。

在图5d中,在另一实施例508中,MPU 14对陀螺仪数据执行其中它对陀螺仪数据进行积分并且将数据传送到MCU 522的低功率四元数算法。MCU 522将数据传送到其中传感器融合算法被执行的AP 10。可选地,MCU 522传送来自外部传感器520的数据。

图6至12分别示出了本发明的各种实施例600至1200。更具体地,这些图具有设备的各种配置。应理解的是,这些配置仅仅是示例性的并且其他配置被预期。图6示出了包括与MPU 604通信的AP 602的设备600,所述MPU 604包括加速度计和陀螺仪。MPU 604生成被发送到602的集成的陀螺仪数据。在AP 602中陀螺仪偏差在609中使用已集成陀螺仪数据而被确定。陀螺仪偏差能够通过使用通过取集成陀螺仪数据的导数或者通过利用卡尔曼滤波器所得到的陀螺仪数据来确定。陀螺仪偏差被从陀螺仪积分的数据去除以用于在6轴传感器融合中使用。

图7示出了MPU 700被示出成包括陀螺仪、加速度计以及罗盘仪并且生成9轴运动数据以及6轴运动数据。

图8示出了包括馈送到传感器融合中的陀螺仪、加速度计以及罗盘仪的另一MPU 800,所述传感器融合输出运动数据。陀螺仪的输出被积分并且偏差校被执行。

图9示出了包括通过MCU与MPU通信的AP的设备900。偏差校正由AP来执行并且被提供给MPU的陀螺仪、加速度计以及罗盘仪。AP被示出成输出运动数据。在这个实施例中,MCU当作馈通设备。

图10示出了待耦合到MCU 522的AP 10,所述MCU 522被耦合到MPU 14。偏差校正/去除由MCU 522来执行并且结果被提供给MPU 14。MPU包括陀螺仪、加速度计以及罗盘仪。

图11a示出了包括被耦合到MCU的AP的设备1100a。MCU被示出为耦合到MPU。MPU除陀螺仪、加速度计以及罗盘仪之外还包括其输出被用于通过MCU偏差去除的LPQ。MCU具有在它被耦合到偏差校正块以在将LPQ发送到传感器融合6轴块之前去除偏差时与偏差一起取得LPQ的块。

图11b示出了除了设备1100b的MCU的LPQ未被耦合到偏差校正块类似于图11a的实施例的设备1100b。偏差由MCU来提供,但校正发生在MPU中。

图12示出了包括被耦合到MCU的AP的设备1200。MCU被示出为耦合到MPU,所述MPU包括陀螺仪、加速度计以及罗盘仪。不是对陀螺仪的输出进行积分,而是偏差校正块和LPQ (两者都在MPU中)被耦合到彼此并且偏差校正块被耦合到陀螺仪。LPQ生成到MCU的输出。MPU生成6轴和9轴校正。

本发明的各种实施例的传感器融合依照下面的算法和关系来计算四元数。

图13示出了其中传感器数据在1310处被生成并且传递到处理器1 1302的实施例。传感器数据包括陀螺仪数据以及其他传感器数据。处理器1 1302将陀螺仪数据积分到四元数中并且将四元数传送到其中已积分陀螺仪和其他传感器数据的传感器融合发生所在的另一处理器2 1303。在实施例中,传感器1301、处理器1 1302以及处理器2 1303可以是在相同的半导体芯片上或者在三个不同的半导体芯片上。在另一实施例中,传感器1301和处理器1 1302可以是在相同的半导体芯片上。在另一实施例中,传感器处理器1 1302以及处理器2 1303是在相同的半导体芯片上。

还被称为“四元数”的单位四元数是描述如何从一个定向转向另一定向的4元素向量。用来描述从一个定向转向另一定向的其他等效方式包括旋转矩阵和欧拉(Euler)角。对于四元素向量来说单位四元数具有一个标量项和3个虚数项并且大小为一。出于本文中讨论的目的,标量项被首先放置后面是虚数项。本领域的技术人员将能够使用四元数的不同定义来计算略微不同的公式。欧拉角描述了如何通过绕3个不同的旋转轴旋转3个不同的角度而从一个定向转向另一定向。代替绕3个不同的旋转轴移动3个角度,相同的旋转运动能够通过绕单个向量旋转一个角度来描述。在下面的方程1中,对于四元数,角度θ是绕单位向量[ux, uy, uz]旋转的量。  

方程1。

四元数乘法在如在文献中找到的方程2中被定义。如本文中所用的记号“”在这个文档中表示四元数乘法。  

方程2

四元数逆被定义为:

         方程3。

传感器融合将从诸如陀螺仪、加速度计以及罗盘仪之类的各种传感器取得测量结果然后组合测量结果以确定参照固定框架(frame)的设备的定向。当组合数据时每个传感器具有好点和坏点。速率陀螺仪(其后陀螺仪)是好的指示定向如何随着的推移而改变而不受磁干扰或加速度影响。然而,陀螺仪常常具有随着时间的推移而导致角漂移的偏移。存在实现传感器融合的许多方法,但许多那些的一个共同方面是陀螺仪数据必须被积分。如果陀螺仪传感器是完美的并且积分是完美的,则将不需要传感器融合。然而,传感器不是完美的并且积分不是完美的,所以其他传感器被用来校正定向。引发的误差之一是陀螺仪数据的积分。为了降低积分误差,陀螺仪数据常常被以高速率积分。典型地传感器融合算法将取原始传感器数据并且计算定向。在这里呈现的方法将在一个处理器上对陀螺仪数据进行积分,然后已积分数据被发送到不同的处理器以做传感器融合。当已积分陀螺仪数据被发送到第二处理器时,已积分陀螺仪数据速率可以小于原始陀螺仪数据速率。做陀螺仪数据积分的处理器能够被设计成取比做传感器融合的处理器更少的功率。以比陀螺仪数据的数据速率更低的数据速率来发送已积分陀螺仪数据具有与以原始陀螺仪数据速率来发送陀螺仪数据类似的性能。以已积分陀螺仪数据速率来运行传感器融合具有与以陀螺仪数据速率来运行传感器融合类似的性能。降低采样速率降低数据业务量。降低传感器融合速率降低计算。不要求陀螺仪数据被发出以用于传感器融合,这导致进一步的数据业务量降低。能够通过计算已积分陀螺仪数据的导数从正被发出的已积分陀螺仪数据计算近似的陀螺仪数据。从取得已积分陀螺仪数据(LPQ)的导数得到的估计陀螺仪数据能够被用于其他算法,诸如确定陀螺仪数据偏差。发出积分陀螺仪数据同样允许具有陀螺仪的传感器将这个积分陀螺仪数据作为输出来输出,并且让其他人使用降低的数据速率写传感器融合算法。在一个实施例中,陀螺仪积分将被做到四元数中并且能够用在与传感器融合分离的设备上的软件、固件或硬件加以实现。在本发明的实施例中,执行积分的陀螺仪和处理器是在单独的封装中。在本发明的又一个实施例中,执行陀螺仪积分的陀螺仪和处理器是在相同的封装或衬底中。

存在对陀螺仪数据进行积分的数个方法。与方程5中所示出的 大小ωm一起在方程4中给出以弧度/秒为单位的角速度。  

                                          方程4

             方程5

四元数能够像方程6中所示出的那样被定义。  

                                                 方程6。

其中Δt是在时间步M-1与时间步M之间经过的时间。为了从时间步M-1到时间步M使用恒定角速度对四元数进行积分,方程7中的公式被使用。  

                                                   方程7。

存在能够被用来对四元数数据进行积分的其它近似法,诸如:

                                                 方程8。

在方程8中,前一个四元数使用四元数乘法被乘以来自陀螺仪的旋转速率(以弧度为单位)。这通过超过2个的采样之间的时间来定标并且加到前一个四元数。接下来,四元数被除以大小以维持1的大小。注意,可以被使用的优化将使用原始陀螺仪单位并且将通过包含到超过2的弧度和采样速率的转换两者的常数来定标。用于归一化为1的其它优化将使用泰勒(Taylor)级数来避免逆平方根。此外,这能够通过本领域的技术人员而被转换为定点或整数数学。

陀螺仪数据典型地在它上具有噪声。对陀螺仪数据上的噪声进行积分将使四元数漂移。为了在固定位置中克服这个漂移,如果陀螺仪数据段的绝对值低于阈值则陀螺仪数据能够被设置为零。

如果陀螺仪偏差是已知的,则能够在对陀螺仪数据进行积分之前从陀螺仪数据当中减去陀螺仪偏差。能够用软件、固件或硬件来做这个。采用被接收到的四元数数据的每个采样,独立于以其角速度被积分的速率,甚至在偏差被积分到解中之后也能够去除角速度偏差。从一个时间步长转向另一时间步长的四元数能够像方程9那样被建模,其中是时间步长N与N-1之间的调整。独立于从转向的机制。这与方程7类似并且

方程8以恒定角速率从转向。  

                                            方程9。

下一个步骤是在陀螺仪偏差已被积分到四元数中之后去除陀螺仪偏差情况下维持单位四元数变量。在组合这些构思之后,方程10示出了如何去除恒定偏差。  

        方程10

其中通过将陀螺仪偏差插入到方程6中并且取如方程3中所示出的逆来计算。是其中陀螺仪偏差被去除的四元数。为了与另一校正一起使用已积分陀螺仪四元数,在传感器融合的四元数结果与如方程10中所示出的已积分陀螺仪四元数之间变换。在时间N的传感器融合四元数在方程11中被示出为,其中是校正。  

                                                   方程11。

在做传感器融合并且将更新为新的时间步长之后,来自已积分陀螺仪四元数的新的转换()被计算并且保存。  

                                                方程12。

如果在将陀螺仪数据积分到四元数中之前完成了偏差校正,则将被标识并且能够在呈现的所有方程中被简化或者忽略。方程将保持不变。

迄今为止呈现的基本构思具有从零开始并且发出从该点参照的四元数的四元数积分。替代地,能够以每个时间输出步长重置起始点如此仅从一个时间步长到下一个时间步长的改变被发出。这将简化方程中的一些。这个改变能够被为方程9中的。这将使方程10简化成方程13如下:

                                  方程13。

进一步优化将允许四元数积分随着待直接地应用于传感器融合四元数的偏差校正而改变。  

                                   方程14。

类似地,如果偏差校正在积分之前完成了,则能够像上面所提到的那样在方程13和方程14两者中简化或者忽略项。

注意的是,虽然在一个时间步长期间内输出积分产生更简单的方程,但是不受丢弃采样的影响。常常,如果系统过载了,则采样能够丢失,如果跨越许多采样累积地完成积分,则丢失采样将引起较少误差。

为了进一步降低数据业务量,能够注意的是,四元数具有大小一,这样做将允许3个分量跨越数据线被转移,并且使第四元素重建。当设法重建第四元素时,能够存在一些符号多义性。为了克服符号多义性,可以迫使遗漏分量的符号具有已知值。这是因为在四元数空间中,。例如,假设你想发送最后3个元素并且重建第一元素,那么如果第一元素是负的,则简单地求反(negate)跨越数据线正被发送的所有项。然后当重建第一元素时,将知道该元素总是正的。

其他实施例将包括但不限于用来传递相当于四元数数据的信息的其他方式。因为四元数表示空间中的定向,所以定向矩阵或欧拉角能够取代四元数。

存在对四元数进行积分的各种方式。下面是关于四元数积分以及新方法的描述。

零阶四元数积分:

对四元数进行积分相当于求解对应的一阶普通微分方程:

          方程15

其中

是反对称矩阵。假定角速度向量ω在时间t+ Δt之间是恒定的。对这个微分方程的广义解是

             方程16。

为了计算上述解,必须计算反对称矩阵的矩阵指数。数字上计算矩阵的指数是非常昂贵的。在实时实施方式中,简化的近似法被使用,其中程序:

                          方程17

其中(1)与正向欧拉近似法一起被使用,并且

                     方程18

                    方程19。

在这个近似法中,四元数改变在旋转空间中未被计算,即方程18违反了四元数代数的规则。这在四元数计算中引起小误差,所述小误差能够随着时间的推移而增长。为了用单位范数来维持准确的四元数,四元数被再归一化,如在最后步骤方程19中所示出的那样。

更准确地计算方程16的可替换的方法如下。首先,矩阵被以泰勒级数展开如下:

方程20。

使用如在参考文献Dennis S. Bernsteind的“Matrix Mathematics: Theroy, Facts, and Formulas”普林斯顿大学出版社2009年第二版第741页所讨论的反对称矩阵和欧拉公式的属性,反对称矩阵的指数能够被重写为:

    方程21。

其中ωm是角速率ω的大小,如在ωm =  方程5中所定义的那样。那么,

    方程22。

方程22的闭合检查揭示了这个矩阵-向量乘法相当于四元数乘法:

    方程23。

其中是表示由角速度ω在时间跨度Δt期间内所引发的四元数旋转的4x1四元数。将这个与方程18进行比较,注意的是,等式23中的公式是确切的,并且它保留了四元数范数,即四元数的再归一化不是必要的。

注意对于非常小的角速度ω,上述表达式能够引起数值不稳定。在这种情况下,能够使用方程21的一阶近似:

    等式24。

一阶四元数积分:

零阶四元数积分假定角速度ω在周期Δt期间内是恒定的。如果角速度被假定为在时间Δt期间内线性地进化则能够得到更好且更准确的积分。出于这个目的,被引入以得到速度ω在时间tk的值,并且用于在时间tk+1ω,其中。

在时间Δt期间内的平均角速度是:

                           方程25。

并且,将角速度的导数定义为。对应的矩阵在线性情况下是常数:

                                          方程26。

并且高阶导数由于线性地改变角速度ω的假定而为零。在下文中,为了简明被表示为,并且为。如在由J.R. Wertz所编辑的多德雷赫特D. Reidel出版公司《The Netherlands》1978年出版物“Spacecraft Attitude Determination and Control”第565页方程(17-21)中所描述的那样,为了得到高阶四元数导数表达式,四元数的泰勒级数展开在时刻tk+1根据在时间tk的四元数及其导数完成如下:

方程27。

使用事实

       方程28。

能够被写为:

方程29。

使用方程29,方程27中的各项能够被再排列如下(Wertz中的方程17-23):

方程30。

在方程30右手侧的两个项中的第一个与方程16的泰勒级数展开类似,并且因此具有相同的形式。注意,这在使用时间平均速率信息而不是瞬时速率时不同于方程16。具有角速率的导数的第二项能够使用方程26展开。这给出:

方程31。

为了简化方程30中的表达式,注意下列的。

首先,形成角速度和的叉积:

            方程32。

对于方程31中的第二表达式,下列的成立:

    方程33。

即的反对称形式与方程33的右手侧相同。这能够通过展开各项并且比较各元素来验证。将方程32和方程33引入到方程31中,得到下列的:

                     方程34。

注意的是,方程34的第二项能够被重写为:

              方程35。

将上述的与方程20 - 方程23进行比较,能够得到下列的:

            方程36。

其中是表示由平均角速度在时间跨度Δt期间内所引发的四元数旋转的4x1四元数。接下来,简化表达式产生下列的:

方程37。

注意,需要归一化项。

总之,用于一阶四元数积分的计算步骤如下:

计算

计算四元数

计算,并且

计算四元数并且归一化

计算。

一阶四元数积分的计算上更简单的版本如下:

考虑到在时刻tt - Δt的角速率和以及当前四元数,像在方程25中那样定义,并且像在方程32中那样定义。

让,并且。

然后,计算

                方程38

并且,像在方程39中那样四元数被用

来计算并且归一化。

尽管已经相对于其特定实施例描述了本说明书,但是这些特定实施例仅仅是说明性的,而不是约束性的。

如在本文中的说明书中并且贯穿以下的权利要求书所用的那样,除非上下文以其他方式清楚地规定,否则“一”、“一个”以及“该”包括复数引用。并且,如在本文中的说明书中并且贯穿以下的权利要求书所用的那样,除非上下文以其他方式清楚地规定,否则“在…中”的意义包括“在…中”和“在…上”。

因此,虽然已经在本文中对特定实施例进行了描述,但是修改、各种改变以及代替的界限意在前面的公开中,并且应领会的是,在一些实例中在不背离如所阐述的范围和精神的情况下,将在没有其他特征的对应使用的情况下采用特定实施例的一些特征。因此,可以做出许多修改以使特定情形或材料适于本质范围和精神。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号