3D场传感器的校准

申请号 CN200680038810.X 申请日 2006-09-01 公开(公告)号 CN101292131A 公开(公告)日 2008-10-22
申请人 诺基亚公司; 发明人 T·P·皮尔瓦奈南;
摘要 公开一种用于校准3D场 传感器 的基于装置的方法。该方法包括获取多个 采样 ,其中采样来自3D场传感器。各采样代表3D场传感器所感测的三维场的量值和取向。使用多个采样确定椭球的多个参数。确定多个参数使得椭球拟合多个采样。确定将椭球变换成球的变换。将变换应用于采样以创建变换的采样。还公开装置和 信号 承载介质。
权利要求

1.一种用于校准三维(3D)场传感器的基于装置的方法,包括:
获取多个采样,所述采样来自所述3D场传感器,各采样代表所 述3D场传感器所感测的3D场的量值和取向;
使用所述多个采样确定椭球的多个参数,其中执行对所述多个 参数的确定使得所述椭球拟合所述多个采样;
确定将所述椭球变换成球的变换;以及
将所述变换应用于采样以创建变换的采样。
2.根据权利要求1所述的方法,其中确定多个参数还包括使用 所述多个参数的估计来执行最小平方计算,其中确定的所述多个参 数是最小化所述最小平方计算中误差的估计。
3.根据权利要求1所述的方法,其中所述球是单位球。
4.根据权利要求1所述的方法,其中各采样包括以下之一项(1) 代表所述3D场在三个正交方向上的值的三个场值和(2)所述3D 场的量值和方向的值。
5.根据权利要求1所述的方法,其中确定变换还包括:
确定适合于将所述椭球变换成球的第一矩阵D;
确定第二矩阵R,使得RTR=I,从而使D的所选列平行于预定轴 而RD接近于某一预定矩阵;以及
应用所述变换还包括将所述矩阵RD应用于采样与偏离之差。
6.根据权利要求1所述的方法,其中:
确定变换还包括确定偏离,所述偏离具有多个第一值;以及
应用所述变换还包括将所述变换乘以从与所述采样相对应的第 二值减去所述偏离的所述第一值后的结果。
7.根据权利要求1所述的方法,其中确定多个参数还包括使用 当前所选采样来执行递归最小平方更新以确定所述多个参数,其中 所述递归最小平方更新也基于多个先前所选采样。
8.根据权利要求7所述的方法,其中所述递归最小平方更新利 用遗忘因子。
9.根据权利要求1所述的方法,其中:
来自所述3D场传感器的所述采样是第一场采样;
所述方法还包括从所述第一场采样中选择多个第二场采样;
确定多个参数还包括使用所述多个第二场采样确定所述椭球的 所述多个参数,其中执行对所述多个参数的确定使得所述椭球拟合 所述多个第二场采样;以及
应用所述变换还包括将所述变换应用于第一场采样和第二场采 样中的至少一个采样以创建变换的场采样。
10.根据权利要求9所述的方法,其中:
从所述第一场采样中选择多个第二场采样还包括:
从至少一个取向传感器确定取向;
将所述取向量化成三个方向中的给定一个方向,各方向对 应于一个存储桶;
基于所述取向的方向将第一场采样分配给给定存储桶;
确定已经分配给所述给定存储桶的第二采样的数目是否为 分配给所述三个存储桶之一的第二采样的最大数目;以及
响应于分配给所述给定存储桶的第二采样的数目不是分配 给所述三个存储桶之一的第二采样的最大数目,将所述第一场 采样分配给所述给定存储桶作为第二场采样;以及
确定多个参数还包括使用所述存储桶中的所述多个第二场采样 确定椭球的所述多个参数,执行对所述多个参数的确定使得所述椭 球拟合所述多个第二场采样。
11.根据权利要求10所述的方法,其中所述至少一个取向传感 器包括陀螺仪加速度计中的至少一个。
12.根据权利要求1所述的方法,其中所述3D场传感器包括磁 计和加速度计中的至少一个。
13.根据权利要求1所述的方法,其中:
使用下式来代表所述椭球:
x2+y2+z2-U(x2+y2-2z2)-V(x2-2y2+z2)-
4Mxy-2Nxz-2Pyz-Qx-Ry-Sz-T=0;以及
确定多个参数包括确定参数 s LS = ( U , V , M , N , P , Q , R , S , T ) T .
14.根据权利要求13所述的方法,其中确定变换还包括:
确定矩阵 A = 1 - U - V - 2 M - N - 2 M 1 - U + 2 V - P - N - P 1 + 2 U - V ;
确定偏离 b = 1 2 A - 1 Q R S ; 以及
确定缩放因子 c = T + b T A b .
15.根据权利要求13所述的方法,其中确定所述椭球的所述多 个参数还包括使用公式 Λ s LS = 1 确定所述多个参数,其中Λ的第i行如 下:
xi 2+yi 2-2zi 2,xi 2-2yi 2+zi 2,4xiyi,2xizi,2yizi,xi,yi,zi,1.,
其中采样包括(xi,yi,zi)。
16.根据权利要求1所述的方法,其中确定变换还包括:
确定椭球代表式 ( x - b ) T A ( x - b ) = c 中的矩阵A、偏离和缩放因子c; 以及
使用所述矩阵A、所述偏离和所述缩放因子c确定所述变换。
17.根据权利要求7所述的方法,其中确定变换还包括:
使用所述多个参数确定第一矩阵;以及
将所述第一矩阵分解成第二矩阵,其中所述第二矩阵的转置与 所述第二矩阵相乘近似等效于所述第一矩阵,其中所述第二矩阵包 括所述变换。
18.根据权利要求17所述的方法,其中分解所述第一矩阵还包 括使用所述第一矩阵确定所述第二矩阵,在确定所述第二矩阵中所 述第二矩阵的部分受约束使得预定轴在所述变换过程中不旋转。
19.根据权利要求1所述的方法,其中确定变换还包括:
使用对称矩阵(A)、偏离和缩放因子来代表所述椭球;
将矩阵B与所述对称矩阵A相关;以及
通过最小化受具有预定迹的矩阵B约束的多个方程确定矩阵 B*。
20.根据权利要求19所述的方法,其中确定变换还包括:
使用所述矩阵B*确定矩阵D,在确定D中所述3D传感器的第 一预定轴受约束使得所述第一预定轴在变换过程中不旋转,以及其 中到第二预定轴的旋转在变换过程中受预定平面约束。
21.根据权利要求20所述的方法,其中各轴对应于D的列,以 及其中D的多个元素基于所述约束与B*的元素有关。
22.一种信号承载介质,有形地实施可由处理器执行以进行用 于校准三维(3D)场传感器的操作的机器可读指令程序,所述操作 包括:
获取多个采样,所述采样来自所述3D场传感器,各采样代表所 述3D场传感器所感测的三维场的量值和取向;
使用所述多个采样确定椭球的多个参数,其中执行对于所述多 个参数的确定使得所述椭球拟合所述多个采样;
确定将所述椭球变换成球的变换;以及
将所述变换应用于采样以创建变换的采样。
23.根据权利要求22所述的信号承载介质,其中确定多个参数 还包括使用所述多个参数的估计来执行最小平方计算,其中确定的 所述多个参数是最小化所述最小平方计算中误差的估计。
24.一种装置,包括:
用于测量三维(3D)场以及用于产生代表所述三维场的量值和 取向的采样的装置;
用于从所述用于测量的装置获取多个采样的装置;
用于响应于所述多个采样,确定椭球的多个参数的装置,其中 执行对所述多个参数的确定使得所述椭球拟合所述多个采样;
用于确定将所述椭球变换成球的变换的装置;以及
用于将所述变换应用于采样以创建变换的采样的装置。
25.根据权利要求24所述的装置,其中所述用于确定多个参数 的装置还包括用于使用所述多个参数的估计来执行最小平方计算的 装置,其中确定的所述多个参数是最小化所述最小平方计算中误差 的估计。
26.一种装置,包括:
三维(3D)场传感器,所述3D场传感器适于产生场采样,各 场采样代表所述3D场传感器所感测的3D场的量值和取向;以及
校准模,适于从所述3D场传感器获取多个所述场采样,所述 校准模块适于使用所述多个采样确定椭球的多个参数,其中执行确 定所述多个参数的操作使得所述椭球拟合所述多个场采样,其中所 述校准模块还适于确定将所述椭球变换成球的变换以及将所述变换 应用于场采样以创建变换的场采样。
27.根据权利要求26所述的装置,其中所述校准模块还适于在 确定变换时使用所述多个参数确定第一矩阵以及将所述第一矩阵分 解成第二矩阵,其中所述第二矩阵的转置与所述第二矩阵相乘近似 等效于所述第一矩阵,其中所述第二矩阵包括所述变换。
28.根据权利要求27所述的装置,其中所述校准模块还适于在 分解所述第一矩阵时使用所述第一矩阵确定所述第二矩阵,在确定 所述第二矩阵中所述第二矩阵的部分受约束使得预定轴在所述变换 过程中不旋转。
29.根据权利要求26所述的装置,其中所述校准模块在确定多 个参数时还适于使用所述多个参数的估计来执行最小平方计算,其 中确定的所述多个参数是最小化所述最小平方计算中误差的估计。
30.根据权利要求26所述的装置,还包括存储器,以及其中所 述校准模块适于通过访问所述存储器获取来自所述3D场传感器的 所述多个场采样。
31.根据权利要求26所述的装置,还包括:
过滤模块,耦合到所述校准模块并且适于选择场采样以便由所 述校准模块用来确定所述椭球的所述多个参数,其中所述校准模块 还适于将所述变换应用于未选择的场采样和所选场采样中的至少一 个采样。
32.根据权利要求31所述的装置,其中:
所述装置还包括适于产生取向采样的取向传感器;以及
所述过滤模块还适于从所述取向传感器获取所述取向采样、将 给定取向采样量化成三个方向中的一个方向以及基于所述一个方向 选择对应场采样作为所选场采样。
33.根据权利要求32所述的装置,其中所述过滤模块还适于使 用取向和对应方向将所选场采样放入与所述三个方向相对应的存储 桶中以及当给定场采样所要放入的存储桶不具有所述三个存储桶的 所选场采样的最大数目时选择所述给定场采样作为所选场采样。
34.根据权利要求33所述的装置,其中所述取向传感器包括陀 螺仪和加速度计中的至少一个。
35.根据权利要求26所述的装置,其中所述装置包括移动电话、 健身监视设备、游戏控制器和可佩戴运动跟踪设备中的一种设备。
36.根据权利要求26所述的装置,其中所述3D场传感器包括 磁力计和加速度计中的至少一个。
37.根据权利要求26所述的装置,其中所述球是单位球。

说明书全文

技术领域

发明主要地涉及测量三维(3D)场的传感器,并且更具体地涉 及对这样的传感器的校准。

背景技术

3D场传感器是测量在三维空间中某场的方向和量值的传感器。例 如,三维正交计单元可以测量周围磁场的方向和量值。类似地, 三个正交加速度计单元可以感测加速度或者更重要地是通常与加速度 无法区别的引力场的方向和量值。
正如上文已经提示,在几乎所有情况下,3D场传感器在某一级别 包括相对于彼此适当取向的三个单维传感器。在重建测量场的方向和 量值时的基本假设是这些单元彼此正交并且具有相似缩放和零偏离。
然而在实践中,这些假设很难有效。磁力计特别地难处理,因为 附接到其中驻留有磁力计的设备的外部磁部件可能造成缩放和移位误 差,并且也可能有效地引入测量轴之间的线性相关。
为了消除这些问题,需要3D场传感器的校准。通常这一过程时间 长,并且一般涉及到对于用户的复杂步骤。例如,为了找到轴的缩放, 通常要求找到场可以在该轴上产生的最大值和最小值。这一过程也会 引起移位,而不能找到不同轴之间的可能线性相关。为了找到不同轴 之间的可能线性相关,通常要求指示某些参考方向,这对于用户来说 也是耗时的。
作为另一例子,一种校准电子罗盘的传统方式是比较测量读数与 已知读数并且构建查找表。为了具有准确读数,每当设备移动到新位 置时都必须执行这一过程。遗憾的是,3D磁力计相对较新,而多数校 准方法是用于2D传感器的。例如在IEEE学报和关于Augmented Reality 的2000年ACM国际研讨会(2000)上Bruce Hoff、Ronald Azuma的 “Autocalibration of an Electronic Compass in an Outdoor Augmented Reality System”中,自动校准方法基于卡尔曼滤波。这一过程仍然获取 关于已知读数的用户输入,并且通常对于3D场传感器难于实现。
因此将希望提供如果有用户输入则以很少用户输入就能够校准 3D场传感器的技术。

发明内容

本发明提供校准3D场传感器的技术。
在本发明的一个示例实施例中,公开一种用于校准3D场传感器的 基于装置的方法。该方法包括获取多个采样,其中采样来自3D场传感 器。各采样代表3D场传感器所感测的三维场的量值和取向。使用多个 采样确定椭球的多个参数。执行对多个参数的确定使得椭球拟合多个 采样。确定将椭球变换成球的变换。将变换应用于采样以创建变换的 采样。
在另一示例实施例中,公开一种信号承载介质,该信号承载介质 有形地实施可由处理器执行以进行用于校准三维(3D)场传感器的操 作的机器可读指令程序。这些操作包括获取多个采样,其中采样来自 3D场传感器。各采样代表3D场传感器所感测的三维场的量值和取向。 使用多个采样确定椭球的多个参数。执行对多个参数的确定使得椭球 拟合多个采样。确定将椭球变换成球的变换。将变换应用于采样以创 建变换的采样。
在另一示例实施例中,公开一种装置,该装置包括用于测量三维 (3D)场以及用于产生代表三维场的量值和取向的采样的装置。该装 置还包括用于从用于测量的装置获取多个采样的装置。该装置还包括 用于根据多个采样确定椭球的多个参数的装置,其中执行对多个参数 的确定使得椭球拟合多个采样。该装置还具有用于确定将椭球变换成 球的变换的装置,以及具有用于将变换应用于采样以创建变换的采样 的装置。
在又一示例实施例中,公开另一种装置,该装置包括三维(3D) 场传感器。3D场传感器适于产生场采样,其中各场采样代表3D场传 感器所感测的3D场的量值和取向。该装置包括适于从3D场传感器获 取多个场采样的校准模。校准模块适于使用多个采样确定椭球的多 个参数,其中执行对多个参数的确定操作使得椭球拟合多个场采样。 校准模块还适于确定将椭球变换成球的变换以及将变换应用于场采样 以创建变换的场采样。
附图说明
结合附图来阅读,本发明实施例的前述和其它方面在以下具体实 施方式中变得更清楚,在附图中:
图1是用于校准3D场传感器的示例装置的框图
图2是从椭球到球的变换的示例表示图;
图3是用于校准3D场传感器的示例方法的流程图
图4是用于校准3D场传感器的示例装置的框图;
图5是用于对来自3D场传感器的采样进行滤波的示例方法的流程 图;以及
图6是包括3D场传感器和用于3D场传感器的校准模块的装置的 框图。

具体实施方式

为便于参照,将本公开分成多个不同的节。
1.引言
本公开主要地涉及诸如三轴磁力计(TAM)的3D场传感器的校 准,但是在原理上这里的技术可以应用于用来感测线性场的任何三轴 传感器。这样的传感器的例子可以是在三个维度中感测地球引力的三 轴加速度计或者感测电场的传感器。
当然存在多种以某种一个或者多个参考信号校准这样的传感器的 简单直接方式。然而,我们的设置有所不同。TAM可以与三轴加速度 计结合用来参考地球引力和磁场所设置的坐标系获得设备的取向。在 宇航科学中,这通常称为太空船的姿态。然而感兴趣的是包括诸如移 动电话或者游戏控制器手持设备的装置的取向。这样的设备通常使 用廉价的磁力计,结果校准有可能在时间上漂移。因此需要一种用户 不可见的自适应校准。
对测量地球磁场感兴趣的太空船面临类似问题。校准由于恶劣的 起飞条件和轨道中的不同大气而有可能改变。完全已知参考信号在轨 道中也不可用。存在关于针对卫星系统校准TAM的许多文献。
在测试中已经观察到设备的校准依赖于设备的位置。当设备在某 一方向上移动数米那么少时,校准可能经受显著改变。尤其是在建筑 物内,磁场的方向和量值在这样的短距离有变就不足为奇。建筑物中 的顺磁单元可以在一个方向上加强地球磁场,而电线可能感应新磁场。 然而这不应当影响对场进行感测的设备的校准。一种解释可以是在设 备内部的顺磁部件(在磁力计附近)根据观察的场的强度而对校准有 不同影响。无论是什么原因,这都是观察到的行为并且是易于自适应 校准的又一原因。
然而,这里的示例校准是基于磁场在充分长的时间窗口内恒定这 一假设。这与卫星系统的问题相对照,在卫星系统中太空船在轨道中 行进而磁场在围绕地球的一次旋转过程中显著地改变。在卫星系统的 情况下,通常使用地球磁场的某一模型。在卫星系统的校准与手持设 备的校准之间有显著不同。显然,当设备在磁场内旋转时,感测的场 在设备的坐标系中旋转。当假设实际场具有恒定方向时,则连续测量 的相对包含有信息。然而如果外场的方向可能也已经改变,则此信 息可能丢失。将说明在恒定场的假设下也易于确定去耦合校准矩阵。
在本公开中,讨论测量任何3D场诸如磁场、引力场或者电场的传 感器的校准。例如见图1,示出了用于校准3D场传感器110的示例装 置100。3D场传感器110包括各平行于轴或的三个单维传感器 120-1、120-2和120-3(分别为s1、s2和s3),这些轴是正交轴。各传 感器120测量场的具有量值m和方向d的轴分量。在图1的例子中, 方向d通过在平面中的角度θ和相对于轴的角度来关联。
3D场传感器110产生3D场采样130,各采样可以分别包括各传 感器120-1、120-2和120-3的球面值(m,θ,φ)或者场值扛,(x,y,z)。根据场值 (x,y,z)可以确定场的量值和方向。注意3D场传感器110仅为示例性的 并且仅用于说明。校准模块140对3D场采样130进行操作以创建变换 的3D采样150。变换的3D采样150应当减少或者消除来自3D场传 感器110的缩放、移位和其它线性误差。
当传感器在测量恒定3D场(例如场)时,可以假设来自3D场 传感器110的所有测量值(例如由3D场采样130所限定的)应当落在 单位球上。例如,当3D场传感器110在恒定场中旋转时,来自传感器 110的测量值应当落在球表面上。则在图2中图示为单位球220。矢量 在本例中应当都是同一长度,因此来自3D场传感器110的测量 值应当落在单位球220上。但是未对准的传感器轴(例如轴和)、 偏离和缩放误差会将该球220变换成图示为示例椭球210的二次表面, 其中矢量中的一个或者多个矢量并不等效于对应矢量因 此,可以按照来自3D场传感器110的数据(在图2中未示出)来拟合 二次表面(例如椭球210),并且找到将该二次表面转变成球的逆变换。 这一过程然后也会使测量的数据(例如3D场采样130)成球,因此这 一过程已经去除3D场传感器110的任何移位、缩放和线性相关。
这里的失真模型因此是二次表面诸如椭球210,而校准模块140 找到使该椭球210变回到单位球220的变换230。可以在收集新采样时 自适应和计算有效地(实时)执行这一过程。具体而言,以下公开是 一种可以递归地找到最佳拟合失真(例如椭球210)的示例方法,使得 对于添加到用于校准的采样集中的每个新采样需要相对少的计算。这 意味着可以向用户隐藏地在正常操作过程中在线完成校准,而校准可 以自动地适应于变化而无需显式的再校准。
这里呈现的示例方法可以根据很少数据确定失真(例如椭球210)。 具体而言,甚至无需实际整圈旋转设备即可获得合理校准。这里如在 移动电话中是有利的,其中设备的取向使得屏幕一直面向用户而很少 背离用户。因为可以在操作过程中根据几乎随机数据来更新校准,本 发明也已经去除任何显式的校准步骤(除非希望这样的步骤)。
除了移位和缩放误差之外,3D场传感器单元常常受困于非线性。 这里的公开方法一般无力校正非线性而如果来自3D场传感器110的测 量高度非线性则可能工作有误。
现在将给出对图3的简要介绍,该图是由校准模块140为了校准 3D场传感器110而执行的方法300。下文给出更具体描述。简言之, 校准模块140获取3D场采样130,例如可以从存储器(例如图6中所 示)或者从3D场传感器110获取这些采样。这出现在步骤310中。采 样可以是适合于描述3D场的任何形式但是通常分别为各传感器 120-1、120-2和120-3的场值(x,y,z)。在步骤320中,校准模块140对 拟合3D场采样130的椭球(例如图2的椭球210)的参数进行确定。 在步骤330中,确定将椭球变换成球(例如单位球220)的变换。在步 骤340中,向3D场采样130应用变换以创建变换的3D采样150。由 此校准了变换的3D采样150。
2.失真模型
假设传感器测量过程可以建模为实场矢量(例如场)到传感器轴 上的投影、然后添加任意移位。在公式中可以假定如果和是传 感器的轴,其中它们的长度代表可能的缩放误差,则单位场的测量过 程表示为:
m = C u + b + ϵ , - - - ( 1 )
其中C的行是是任意偏离,而是随机测量噪声。给定感 兴趣的是知道所以需要知道和D=C-1。
由于 | | u | | = 1 , 所以从(1)得到:
| | D ( m - b ) | | 2 = | | u - D ϵ | | 2
= | | u | | 2 + 2 u T D ϵ + ϵ T D T D ϵ . - - - ( 2 )
= 1 + ϵ
满足(2)中ε′=0的点形成椭球,所以有助于寻找求解的椭球方 法。
在ε′为随机变量的同时,ε′具有一些不合需要的性质。也就是,如 果随机变量和独立且零均值,则所以最小平 方估计可以不是无偏离。另外ε′恰好依赖于尝试估计的参数。另一方面, 在工程中关于误差做出假设并不普遍,而在该限制中随着ε变为零, 这一方法准确地提供校正参数,所以忽略这一问题而继续讨论。
注意所得校准参数D和b仅赋予某类相对校准。利用这一校正, 围绕某轴的a度旋转造成校正测量值的a度转动。然而,如果D满足 (2),则对于任何矩阵R使得RTR=I,从而得到RD也满足(2)。所 以设备相对于某一参考坐标系的实际取向可以由于校准而进一步丢 失。但是,这一问题将在第5节中解决。
3.按照数据拟合椭球
在D.A.Turner、I.J.Anderson和J.C.Mason在赫德斯菲尔德大学 的计算和数学学院的技术报告RR9803(1999)中题为An algorithm for fitting an ellipsoid to data的论文(这里称为“Turner”)中,作者描述了 一种使用线性回归按照数据拟合椭球的方法。Turner中的拟合椭球在 点到表面的几何距离方面并非最佳拟合椭球。事实上,Turner中的作 者注意到算法的主要缺点在于难以解释最小化的残差(residual)。
Turner中的作者为代表椭球的以下二次式给出论证:
x2+y2+z2-U(x2+y2-2z2)-V(x2-2y2+z2)-
4Mxy-2Nxz-2Pyz-Qx-Ry-Sz-T=0.    (3)
然后在Turner中通过找到线性方程的最小平方解来找到拟合数据 的适当椭球:
Λ s LS = e , - - - ( 4 )
其中 s LS = ( U , V , M , N , P , Q , R , S , T ) T , 的第i个元素是xi 2+yi 2+zi 2而m×9矩阵 A的第i行是:
xi 2+yi 2-2zi 2,xi 2-2yi 2+zi 2,4xiyi,2xizi,2yizi,xi,yi,zi,1.    (5)
现在任意椭球也可以记作为:
( x - b ) T A ( x - b ) = c , - - - ( 6 )
其中A是对称正定矩阵(并且 x = ( x , y , z ) , 例如来自3D场传感器110 的3D场采样130),并且是偏离并且c是缩放因子。展开该式得到:
x T A x - 2 b T A x + b T A b - c = 0 . - - - ( 7 )
按照元素和进一步展开,使左手侧(LHS)等于方程(3)的 LHS并且合并各项得到:
A = 1 - U - V - 2 M - N - 2 M 1 - U + 2 V - P - N - P 1 + 2 U - V , - - - ( 8 )
b = 1 2 A - 1 Q R S , - - - ( 9 )
而缩放因子为:
c = T + b T A b . - - - ( 10 )
观察方程(6)具有比为了限定任意椭球而严格需要的参数更多的 参数。根据方程(8),可以看到在方程(4)中已经将自己约束到tr(A)=3 的那些椭球,其中tr(A)是指矩阵A的迹。当矩阵A满足这一条件时, 方程(8)-(10)是可逆的,所以方程(4)的最小平方问题等效于:
min Σ i ( ( x i - b ) T A ( x i - b ) - c ) 2 , - - - ( 11 )
上式受那些tr(A)=3的矩阵A约束。现在令A*,和c*是方程(11)的 解。注意可以通过令a11=3-a22-a33来解决这一无约束问题。可以看到通 过用常数k缩放A*和c*来获得受tr(A)=3/k的集合所约束的对于方程 (11)优化问题的解。这是因为:
( x - b ) T A k ( x - b ) - c k = 1 k ( ( x - b ) T A ( x - b ) - c ) , - - - ( 12 )
所以也仅缩放偏导(在使该问题无约束之后),但是在最优时偏 导为零,所以解不受这一缩放的影响。
具体而言,可以选择k=c*而获得下式的解(B*,b*,1),其中 B * = 1 c * A * :
min Σ i ( ( x i - b ) T B * ( x i - b ) - c ) 2 , - - - ( 13 )
上式受矩阵B*约束,使得 tr ( B * ) = 3 c * A . 一般而言,这可能不是对于受 c=1(而不是tr(A)=3)约束的方程(11)中问题的解。这里可以称受c=1 约束的问题为“变换问题”。将实际想要找到变换问题的解,但是这一 问题一般不能如上所述那样线性化。然而,已经获得如下点,该点满 足这一约束(例如c=1)并且在不改变矩阵的迹就无法改进解这一意义 上是最优的。在实践中这将给出足够好的解以在校准使用。
注意方程(11)和(13)相同,只是方程(13)中的矩阵B取代 方程(11)中的矩阵A。实质性的区别在于缩放。以约束 tr ( B * ) = 3 c * (其 中c*来自在tr(A)=3时方程(11)的解)求解方程(13),将采样映射至 接近于单位球。方程(11)的解将采样映射至接近于球但是并不必须 是单位球。求解方程(4)和(8)至(10)产生将采样拖至接近于单 位球的变换。考虑到通过分解得到A*而获得的变换使得采样接近于某一 球表面,该球表面假定具有范围为的半径。通过e*缩放A*产生变换 (在分解之后),该变换使得采样接近于具有单位半径的球表面。
注意如方程(13)所代表的、方程(11)的缩放解也是类似问题 的直接解,但是使用了替代迹条件。这在直觉上确认如在方程(13) 中那样的缩放维持了由方程(11)的更一般未缩放解所施加的任何最 优性。由于方程(13)的条件 tr ( B ) = 3 c * 中的c*来自于方程(11)的解, 所以清楚的是方程(13)仅仅是数个可能的缩放解之一,其中任何解 都在这些教导的范围内对方程(11)进行缩放和求解。
现在分解B*,使得B*=CTC并且注意:
( x - c ) T B ( x - c ) = ( x - c ) T C T C ( x - c ) = | | C ( x - c ) | | 2 , - - - ( 14 )
可见事实上已经找到(图3的步骤330)将数据点映射至接近于单 位球的变换(即矩阵C)。变换矩阵C可以应用于采样(在图3的步 骤340中)以创建变换的采样。然而,正如下文所指出的,确定将应 用于采样的变换矩阵C的不同形式可能是有益的。
应当注意有可能直接求解方程(4)(这给出了参数(例如图3 的步骤320))、然后使用上述方程确定变换矩阵C(图3的步骤330) 并且将变换矩阵C应用于3D场采样130。然而,一种递归方法在下一 节中公开,并且更适合于基于实时传入3D场采样130确定这些元素。
4.递归更新
方程(4)的解已知为:
s LS = ( Λ T Λ ) - 1 Λ T e . - - - ( 15 )
这一解对应于以下解:
s LS = min s LS Σ i ( Λ i s LS - e i ) 2 . - - - ( 16 )
其中是Λi是Λ的第i行。在递归最小平方(RLS)算法的精神下, 引入遗忘因子ρ∈(0,1)并且最小化如下:
s LS = min s LS Σ i ρ m - 1 2 ( Λ i s LS - e i ) 2 - - - ( 17 )
= min s LS Σ i ( ρ m - 1 Λ i s LS - e i ρ m - 1 ) 2
然后清楚的是可以简单地用ρm-1加权Λ的行和元素所以令:
Λ ρ m = ρ m 2 Λ 1 ρ m - 1 2 Λ 2 · · · Λ m , - - - ( 18 )
以及
e ρ m = ( e 1 ρ m 2 , e 2 ρ m - 1 2 , · · · , e m ) T , - - - ( 19 )
然后令:
Ξ m = ( Λ ρ m T Λ ρ m ) - 1 = ( Σ i ρ m - 1 Λ i T Λ i ) - 1 ,
= ( ρ Ξ m - 1 + Λ i T Λ i ) - 1 , - - - ( 20 )
以及
ξ m = Λ ρ m e ρ m . - - - ( 21 )
使用Woodbury单位矩阵,获得对最小平方系统的公知更新,这里 记为:
ξ m = ρ ξ m - 1 + e m Λ m T , - - - ( 22 )
Ξ m = 1 ρ Ξ m - 1 ( 1 - Λ m T Λ m ρ + Λ m Ξ m - 1 Λ m T Ξ m - 1 ) . - - - ( 23 )
这一更新的主要优点当然是无需矩阵求逆。
然后根据下式获得用于椭球拟合的参数:
s LS = Ξ m ξ m . - - - ( 24 )
如上所示,选择用于椭球的所选参数使得椭球是对3D场采样130 的“最佳”拟合。先前可见线性最小平方问题实质上在加权不同采样点 的方式上不同于球变换问题。遗忘因子p的引入于是使线性化对解的 最优性的影响不那么明显。
5.矩阵分解
通常,使用方程24确定用于椭球拟合的参数。然后,根据方程(8) -(10)和 B = 1 c A 获得矩阵B和偏离矢量如果数据分布良好,则这一 矩阵B将是正定的。虽然来自方程(14)的变换矩阵C是变换矩阵的 一个可能解,但是表明有无数矩阵D使得DTD=B。这是容易理解的, 因为任何旋转矩阵R满足RTR=I以及(RD)T(RD)=DTRTRD=DTD=B。在这 些可能矩阵D中,将希望选择有一些“固定”并且可以用于变换的矩阵。
用于固定D的一种适当技术是选择矩阵D使得 D x ^ = λ ^ x ^ , 其中λ是任 意常数并且 x ^ = ( 1,0,0 ) T . 这样,传感器的x轴不会因校准而旋转。然后知 道d21-d31=0。另外,由于DTD=B,所以知道 d 11 = b 11 . 所以得到D的第一 列为:
d 1 = b 11 0 0 . - - - ( 25 )
D的第二列满足 d 1 T d 2 = b 12 | | d 2 | | 2 = b 22 . 仅仅这些并不唯一地确定 所以在本例中也要求的末元素为零。这样,传感器对y轴的任何旋转 都受x、y平面约束。以下矢量满足这些条件:
d 2 = b 22 b 12 b 11 b 12 1 - b 12 2 b 11 b 22 0 . - - - ( 26 )
最后,第三列现在受 d 1 T d 3 = b 13 , d 2 T d 3 = b 23 | | d 3 | | 2 = b 33 约束。
令:
d 3 = α d 1 + β d 2 + γ z ^ , - - - ( 27 )
其中 z ^ = ( 0,0,1 ) T . 然后:
b 13 = d 1 T d 3 = α b 11 + β b 12 , - - - ( 28 )
b 23 = d 2 T d 3 = α b 12 + β b 22 . - - - ( 29 )
这一线性方程系统在B为正定时将给出α和β(因为在本例中, 对于正定矩阵行列式b11b22-b12 2必须大于零)。最后得到:
d 3 = α b 11 + β b 22 b 12 b 11 b 22 β b 22 - b 22 b 12 2 b 11 b 22 b 33 - ( α b 11 + β b 22 b 12 b 11 b 22 ) 2 - ( β b 22 - b 22 b 12 2 b 11 b 22 ) 2 , - - - ( 30 )
简单地选择第三元素使得 d 13 2 + d 23 2 + d 33 2 = b 33 并且简单地记作 矩阵现在满足DTD=B。矩阵D因此可以用作变换 矩阵并且在图3的步骤340中将矩阵D应用于采样。
应当注意在一些常规系统中,最终校准被分成多个矩阵,其中之 一用来去除不同轴之间的线性相关。该矩阵称为去耦合矩阵。在公开 发明的一个示例实施例中,组合所有矩阵,因此在变换矩阵D中包括 去耦合效果。然而,例如在卫星系统中,这一去耦合部分可能并不完 全可用,因为在校准过程中外磁场发生了改变。因此,在其它实施例 中,变换矩阵D可以修改为包括多个矩阵,其中之一将是去耦合矩阵。
用于固定D的替代技术是找到B的特征值分解,使得B=U*∑U,其 中∑是对角矩阵,该矩阵的元素是B的特征值,而U的列是B的特征 向量。由于B是对称和正定的(即除非数据退化),所以B的特征值 和B的特征向量是实数,所以U*=UT。由于∑1/2易于计算,所以将选择 D=∑1/2U。可以找到使得RTR=I的(旋转)矩阵R,从而使得RD接近于 单位矩阵。这样做的一种方式是令R=D-1,然后正交化R的行,比如用 Gram-Schmidt方法。保证Gram-Schmidt方法不改变第一处理行的方向, 并因此RD的对应行平行于对应坐标轴。换而言之,如果从顶部开始, 则RD的第一行平行于x坐标轴。当然,除Gram-Schmidt之外的一些 其它正交化方法也可以用来保证RD的所选列的方向。在用以获得R 的上述任意途径中,也正交化R的三个列向量。
根据R的上述推导可知,并非所有行会与所有列正交,因为对于 R的行及其在D中的对应列,向量应当平行(例如在R代表旋转反演 (rotoinversion)的约束内使得RD的对角元素将在值一附近而非对角 线元素在值零附近)。应用(见图3的步骤340)于3D场采样130的 变换矩阵于是将是RD。第一种更直接技术在许多方面优于特征值分解 技术。举例而言,第一种技术在数值上比多数特征值分解方法更稳定 并且有可能在计算上更廉价。
6.收敛考虑
一般保证第4节中的更新公式就最小化的残差而言赋予最佳拟合 椭球。然而,当3D场采样130例如在平面中退化时,矩阵B可能并 不可逆,而上述技术可能无法产生有意义的变换矩阵D。
应当有某种方法用于确定将哪些采样馈送到自动校准算法以减少 或者消除退化数据的可能性。在一个示例实施例中,可以依赖如陀螺 仪和加速度计的取向传感器以给出装置取向的近似概念,从而帮助确 保3D场采样130很好地代表椭球。
例如,参照图4,示出了用于校准3D场传感器110的示例装置400。 如图2中所示,3D场传感器110产生3D场采样130而校准模块140 使用3D场采样130来产生变换的3D采样150。然而在图4所示实施 例中,取向传感器410产生取向采样420。过滤模块430使用取向采样 420确定所选3D场采样440。取代了使用各3D场采样130来执行校 准,校准模块140仅使用所选3D场采样440来校准3D场传感器110。 过滤模块430过滤出一些3D场采样130,使得传递到校准模块140的 所选3D场采样440将减少在校准过程中校准模块140所用数据退化的 可能性。
取向传感器410可以是在三个方向上给出取向的一个或者数个传 感器。例如,可以使用一个或者多个(通常为三个)陀螺仪或者一个 或者多个(通常为三个)加速度计。虽然与校准模块140相分离地示 出了过滤模块430,但是过滤模块430的部分或者全部可以与校准模块 140组合。
现在参照图5,示出了用于过滤来自3D场传感器110的采样的示 例方法500的流程图。在本例中由过滤模块430执行方法500。在步骤 510中,从3D场传感器510获取取向采样420。取向采样420由过滤 模块430直接从取向传感器410获取但是也可以从存储器获取(例如 见图6)或者通过用于获取采样的任何其它技术获取。在步骤520中, 根据一个或者多个取向采样420确定取向。对于三个陀螺仪的集合, 通过积分来自陀螺仪的角速率(例如在取向采样420中)以获得取向 来执行步骤520。在步骤530中,将来自陀螺仪的取向量化成三个可能 方向之一。类似技术可以用于其它取向传感器410。各可能方向与三个 “存储桶”之一相关联,这些存储桶用来保持所选3D场采样440以供校 准之用。为了校准而使用存储桶中的所有所选3D场采样440。针对方 法500的目的,存储桶用来减少或者防止退化数据。
在步骤540中,将当前3D场采样130(例如来自3D场传感器110 如磁力计)基于这一量化取向而分配给存储桶之一。各3D场采样130 分配给三个存储桶之一,各存储桶代表三个正交轴之一。在步骤550 中,确定当前3D场采样130放置于其中的存储桶是否具有最多3D场 采样。将落入已经具有最多采样(步骤550=是)的存储桶中的3D场 采样130不用于校准或者添加到存储桶(步骤570)。然而可以变换 3D场采样130。另一方面,没有落入已经具有最多采样(步骤550= 否)的存储桶中的3D场采样130分配给存储桶并且由校准模块140 用于校准(步骤560)。例如,三个存储桶的集合中的3D场采样130 可以用于校准并且保持于存储器中。
在这一点回顾关于取向传感器的信息是有益的。例如陀螺仪可以 用来以某一准确度跟踪设备的取向,但是有漂移的问题。3D磁力计和 3D加速度计一起构成某种取向传感器。如果重力方向和地球磁场相对 于设备是已知的,则可以推断设备“相对于地球”的取向。这当然完全 是这里利用磁力计所正在做的,并且是需要有些准确地校准磁力计的 原因所在。来自3D磁力计和3D加速度计的绝对取向然后可以用来补 偿陀螺仪中的漂移。另一方面陀螺仪提供对快速移动的准确跟踪,这 对于仅其它两个传感器通常是不可能的。然而,尽管3D加速度计独自 不能给出取向(例如因为绕着重力轴的旋转对于3D加速度计是不可见 的),但是3D加速度计可以给出设备何时确实已经转动的提示。所以 3D加速度计将是可以用来选择3D场采样440的传感器的另一例子。
虽然陀螺仪漂移,但是陀螺仪仍然准确到足以实质上保证来自3D 场采样130的数据将不退化。如果限定好数据的范围(例如来自3D场 传感器110的3D场采样130),则应当有可能设计一种用于为在取向 传感器410中不需要额外传感器的校准算法选择所选3D场采样440 的方法。
7.另一示例实施例
现在参照图6,图6是装置600的框图,该装置包括3D场传感器 640和用于3D场传感器110的校准的模块(660,670)。在图6的例 子中,装置600可以是移动电话、健身监视设备、游戏控制器、可佩 戴运动跟踪设备或者对其在3D空间中的取向感兴趣并且相对频繁旋 转(例如足以获得一定数量的3D场采样130,使得椭球可以拟合到3D 场采样130)的任何设备。
关于所能使用的3D场采样130的数目,在理论上需要至少九个采 样以使矩阵ΛTΛ可逆。所以九个采样是可以唯一地限定椭球的采样的最 小数目。在实践中,将可能需要明显多于这一数目。在一个示例实施 中,使用0.95的遗忘因子(例如ρ),这实现相当快速的自适应。在 将50个3D场采样130用于校准之后,第一采样具有对应加权0.077, 所以然后将推论第一采样在50个采样之后实际上被完全地遗忘。所以 校正然后将基本上基于仅后50个采样,而50个采样应当确实是足够 了。在一个示例实施例中,推荐采样数目将在10与50之间。
装置600包括与存储器615、3D场传感器620和取向传感器625 进行通信的处理器610。存储器615可以是静态随机存取存储器 (RAM)、动态RAM、寄存器、硬驱动的部分或者可读可写的任何存 储器。存储器615包括校准模块630、过滤模块635、当前3D场采样 640、一个或者多个取向采样645、3D场采样存储桶650、变换的3D 场采样660和3D应用665。校准模块630、过滤模块635和3D应用 665在本例中实施为包括指令的软件(例如或者固件)而这些指令加载 到存储器615中并且由处理器610执行。处理器610可以是通用处理 器、数字信号处理器或者适合于执行指令的任一类设备。当前3D场采 样640由校准模块630变换成由3D应用665使用的变换3D场采样 660。3D应用665是可以使用3D信息的任何应用。3D场采样存储桶 650包含三个存储桶(未示出),如上文参照图4和图5所述,各存储 桶包含所选3D场采样。过滤模块635如上所述用来过滤3D场采样以 便放入3D场采样存储桶650中。
如果希望则可以组合过滤模块635和校准模块630的部分或者全 部。此外,过滤模块635和校准模块630可以对先前已经确定并且存 储以供以后分析的3D场采样130和取向采样420起作用。
虽然在图6中描述为软件或者固件,但是校准模块140和过滤模 块430可以实施为软件、固件、硬件(例如组成电路的分立部件、实 施于半导体上的集成电路和可编程逻辑器件)或者这些软件、固件、 硬件的某一组合。应当注意,图3和图5的流程图的各种块可以代表 用于执行指定任务的程序步骤或者互连逻辑电路、块和功能或者程序 步骤和逻辑电路、块和功能的组合。另外,公开的本发明可以实施为 信号承载介质,该介质有形地实施可由处理器执行以进行这里所述操 作的机器可读指令程序。
以上描述已经通过示例而非限制例子提供了对发明人当前构思用 于实现本发明的最佳方法和装置的既完全又具启发的描述。然而,结 合附图和所附权利要求来阅读,鉴于以上描述,各种修改和适应对于 本领域技术人员而言可以变得清楚。然而,对本发明的教导的所有这 样和类似的修改将仍然落入本发明的范围内。
另外,本发明优选实施例的一些特征在没有对应运用其它特征时 仍然可以有利地加以运用。这样,以上描述应当被认为仅仅是对本发 明的原理进行说明而不是对其进行限制。
QQ群二维码
意见反馈