使用具有漂移校正的运动传感器的相对位置跟踪的制作方法

文档序号:30234618发布日期:2022-06-01 08:16阅读:129来源:国知局
使用具有漂移校正的运动传感器的相对位置跟踪的制作方法
使用具有漂移校正的运动传感器的相对位置跟踪
1.相关申请的交叉引用
2.本技术涉及美国专利9,417,693号,名称为“wearable wireless hmi device”,于2015年12月8日提交;美国专利9,846,482号,名称为“wearable wireless hmi device”,于2016年8月15日提交;美国专利申请公开2018/0101231号,名称为“wearable wireless hmidevice”,于2017年12月11日提交;和2018年6月27日提交的美国临时申请62/690,865号。这些参考文献的全部内容通过引用其整体并入本文。
技术领域
3.所公开的实施方式总体上涉及运动传感器,并且更具体地,涉及用于实施具有漂移校正的运动传感器的方法、系统和设备,在一些实施方式中,能够进行位置跟踪,比全球定位系统(gps)更精确,并且独立于外部参考标记、应答器或卫星。


背景技术:

4.运动跟踪通过识别对象的旋转(俯仰、偏航和滚动)和平移移动来检测对象的精确位置和定位。惯性跟踪是一种运动跟踪,它使用来自安装在对象上的传感器(例如,加速度计、陀螺仪、磁力计、高度计和压力传感器)的数据来测量对象的位置变化。一些传感器是惯性传感器,其依靠航位推算来工作。航位推算是通过使用先前确定的位置并基于已知或估计的加速度、速度或经过时间和路线的位移来推进该位置从而计算对象的当前位置的过程。虽然航位推算技术在一定程度上是有效的,但它们会受到称为“漂移”的累积误差的影响。因为一些imu通过对来自加速度计的加速度数据进行两次积分来估计相对位置/定位,所以即使是加速度的微小误差也会导致随着时间的推移而累积的相对位置/定位的复合误差不断增加。类似地,陀螺角速度数据中的误差导致相对角定向中的累积误差。因此,当单独使用加速度和陀螺仪数据时,用imu估计被跟踪对象的定向和位置变化是不可靠的。
5.补偿漂移而不消除漂移的传统解决方案成本太高和/或不可靠。一种这样的解决方案将诸如来自相机或gps的外部参考数据与来自安装在被跟踪对象上的imu的数据合并,以在定义的间隔重置imu数据的漂移。将imu数据与gps信号融合通常会导致很大的误差范围(例如几米)。其他解决方案融合了来自多个imu的数据,使用卡尔曼过滤器(kalman filter)和权重求平均,尝试使用差分测量技术对大量样本或多个imu传感器进行统计计算,以减少定向漂移。当使用多个传感器时,即使有几个传感器受阻,定向跟踪也会变得越来越不可靠。定向跟踪仍然没有解决,即使是用了采用多个传感器与权重统计计算的当前最好的漂移补偿技术。此外,在多传感器系统中,需要非常大量的传感器来显著降低整体漂移。更多的传感器还意味着更高的成本、更大的综合功耗,以及定向数据采样和处理的延迟增加。延迟的增加导致低采样率,进一步导致位置精度的降低和位置误差。


技术实现要素:

6.因此,需要一种系统和/或设备来实现成本有效、高精度、高速运动传感器,以校正
漂移。
7.(a1)在一个方面,一些实施方式包括用于跟踪对象的位置和定向的跟踪设备。该设备包括形成预定形状的一个或多个侧面。该设备还包括安装在预定形状的一个或多个侧面上的多个惯性测量单元(imu)。每个imu被配置成检测对象的移动,并生成表示对象的非线性加速度和/或角速度的惯性输出数据。每个imu包括第一子传感器和第二子传感器。每个imu相对于彼此和跟踪设备的质心定位在预定的距离和定向上。该设备还包括通信耦合到多个imu的控制器,该控制器被配置成执行步骤序列。该步骤序列包括从多个imu的每一个接收第一子传感器惯性输出数据和第二子传感器惯性输出数据。对于每个imu,该步骤序列还包括:基于第一子传感器惯性输出数据和第二子传感器惯性输出数据生成校准的惯性输出数据;以及,将第一子传感器惯性输出数据与第二子传感器惯性输出数据交叉相关,以从第一子传感器惯性输出数据与第二子传感器惯性输出数据中识别和去除异常,从而生成分解的惯性输出数据。该步骤序列还包括基于来自每个imu的分解惯性输出数据来确定跟踪设备的平移和旋转状态。该步骤序列还包括合成第一子传感器惯性输出数据和第二子传感器惯性输出数据,以基于跟踪设备的平移和旋转状态使用合成方法来创建imu合成或计算数据。该步骤序列还包括基于每个imu的合成移动、每个imu的预定位置和每个imu的预定定向来计算当前跟踪设备修正数据输出(这里也称为“无漂移”或“漂移校正”)。该步骤序列还包括基于当前对象修正数据输出和先前对象无漂移或修正数据输出之间的差来计算对象的当前位置和定向。
8.(a2)在a1的跟踪设备的一些实施方式中,其中,生成校准的惯性输出数据包括将神经网络权重应用于第一子传感器惯性输出数据和第二子传感器惯性输出数据,其中,基于跟踪设备的位置状态来以学习速率调整神经网络权重,计算表示对象的实际移动和对象的估计移动之间的差的差异值,以及从校准的惯性输出数据消除差异值。
9.(a3)在a2的跟踪设备的一些实施方式中,应用于第一子传感器惯性输出数据和第二子传感器惯性输出数据的神经网络权重基于来自第一和第二子传感器中的每一个的历史惯性输出数据。
10.(a4)在a1的跟踪设备的一些实施方式中,通过向第一子传感器的动态校准神经网络提供反馈,基于第二子传感器惯性输出数据来校准对应于第一子传感器的分解惯性输出数据。
11.(a5)在a1的跟踪设备的一些实施方式中,将第一子传感器惯性输出数据与第二子传感器惯性输出数据交叉相关包括对第二子传感器惯性输出数据应用模式识别,以生成表示第一子传感器惯性输出数据的分解惯性输出数据。
12.(a6)在a1的跟踪设备的一些实施方式中,第一子传感器惯性输出数据和第二子传感器惯性输出数据被过滤,以通过信号调节使信号噪声最小化。
13.(a7)在a1的跟踪设备的一些实施方式中,对于连续的高采样率,来自多个imu中的每一个的第一子传感器惯性输出数据和第二子传感器惯性输出数据以小于大约1毫秒(ms)的间隔被周期性地接收。
14.(a8)在a1的跟踪设备的一些实施方式中,第一子传感器和第二子传感器各自是以下之一:加速度计、磁力计、陀螺仪、高度计和压力传感器中的一个;其中,第一子传感器是与第二子传感器不同的传感器类型。
15.(a9)在a1的跟踪设备的一些实施方式中,预定形状是以下之一:平面、四面体、立方体或任何柏拉图立体,或imu之间具有已知距离和角度的任何其他不规则配置。
16.(a10)在a1的跟踪设备的一些实施方式中,用于计算修正imu数据输出的至少一些imu沿着两个不同的轴相对于彼此以不同的角度定向。
17.(a11)在a1的跟踪设备的一些实施方式中,基于当前修正imu输出和先前对象修正imu输出之间的差来计算对象的当前位置和定向包括:识别边缘条件;以及使用神经网络混合当前对象校正imu输出和先前对象校正imu输出以去除边缘条件。
18.(a12)在另一方面,一些实施方式包括使用跟踪设备跟踪对象的位置和定向的方法。跟踪设备包括限定预定形状的一个或多个侧面。跟踪设备还包括安装在预定形状的一个或多个侧面上的多个惯性测量单元(imu)。每个imu包括第一子传感器和第二子传感器。每个imu相对于彼此和跟踪设备的质心定位在预定的距离和定向上。跟踪设备还包括通信耦合到多个imu的控制器。该方法包括执行步骤序列。该步骤序列包括在每个imu处检测对象的移动,并生成代表对象加速度和/或角速度的惯性输出数据。该步骤序列还包括在控制器处从多个imu中的每一个接收第一子传感器惯性输出数据和第二子传感器惯性输出数据。该步骤序列还包括,在控制器处,对于每个imu:基于第一子传感器惯性输出数据和第二子传感器惯性输出数据生成校准的惯性输出数据;将第一子传感器惯性输出数据与第二子传感器惯性输出数据交叉相关,以从第一子传感器惯性输出数据与第二子传感器惯性输出数据中识别并去除异常,从而生成分解的惯性输出数据。该步骤序列还包括在控制器处基于来自每个imu的分解的惯性输出数据确定跟踪设备的平移和旋转状态。该步骤序列还包括在控制器处基于跟踪设备的位置和旋转状态使用合成方法来合成第一子传感器惯性输出数据和第二子传感器惯性输出数据,以创建imu合成或计算的数据。该步骤序列还包括在控制器处,基于每个imu的合成移动、每个imu的预定位置和每个imu的预定定向,计算当前跟踪设备总的无漂移或修正数据输出。该步骤序列还包括在控制器处,基于当前对象总修正数据和先前对象总修正数据之间的差来计算对象的当前位置和定向。
19.(a13)在(a12)的方法的一些实施方式中,其中,生成校准的惯性输出数据包括将神经网络权重应用于第一子传感器惯性输出数据和第二子传感器惯性输出数据,其中,基于跟踪设备的位置状态来以学习速率调整神经网络权重,计算表示对象的实际移动和对象的估计移动之间的差的差异值,以及从校准的惯性输出数据中消除差异值。
20.(a14)在(a13)的方法的一些实施方式中,应用于第一子传感器惯性输出数据和第二惯性输出数据的神经网络权重基于来自第一和第二子传感器中的每一个的历史惯性输出数据。
21.(a15)在(a12)的方法的一些实施方式中,通过向第一子传感器的动态校准神经网络提供反馈,基于第二子传感器惯性输出数据来校准对应于第一子传感器的分解惯性输出数据。
22.(a16)在(a12)的方法的一些实施方式中,将第一子传感器惯性输出数据与第二子传感器惯性输出数据交叉相关包括对第二子传感器惯性输出数据应用模式识别,以生成表示第一子传感器惯性输出数据的分解惯性输出数据。
23.(a17)在(a12)的方法的一些实施方式中,第一子传感器惯性输出数据和第二子传感器惯性输出数据被过滤,以通过信号调节使信号噪声最小化。
24.(a18)在(a12)的方法的一些实施方式中,对于连续的高采样率,来自多个imu中的每一个的第一子传感器惯性输出数据和第二子传感器惯性输出数据以小于大约1ms的被周期性地接收。
25.(a19)在(a12)的方法的一些实施方式中,第一子传感器和第二子传感器各自是以下之一:加速度计、磁力计、陀螺仪、高度计和压力传感器,并且第一子传感器是与第二子传感器不同的传感器类型。
26.(a20)在(a12)的方法的一些实施方式中,预定形状是以下形状之一:平面、四面体、立方体或任何柏拉图立体,或imu之间具有已知距离和角度配置的任何其他不规则形状。
27.(a21)在(a12)的方法的一些实施方式中,用于计算整体无漂移或修正系统输出的至少一些imu沿着两个不同的轴相对于彼此以不同的角度定向。
28.(a22)在(a12)的方法的一些实施方式中,基于当前对象修正数据和先前对象修正数据输出之间的差来计算对象的当前位置和定向包括:识别边缘条件;以及使用神经网络混合当前对象修正数据输出和先前对象修正数据输出以去除边缘条件。
29.(a23)在另一方面,提供了一种用于计算第一对象相对于第二对象的位置的方法。该方法在第一对象处执行,该第一对象包括控制器、无线收发器和第一多个惯性测量单元(imu),每个imu安装在相对于第一多个imu中的其他imu的一个或多个位置和定向上。第一对象被配置成接收第一多个imu和/或控制器的第一对象初始绝对位置。第一对象还被配置成使用第一多个imu感测第一对象的运动,并生成第一对象的感测的运动数据。第一对象还被配置成使用控制器生成表示第一对象的运动的运动信号,其中,运动信号通过基于来自第一多个imu中的每一个的感测的运动数据、第一多个imu中的每一个的预定位置和第一多个imu中的每一个的预定定向计算修正数据输出来生成。第一对象还被配置成使用控制器,使用由控制器生成的运动信号和第一对象初始绝对位置来计算第一对象当前绝对位置。第一对象还被配置成使用无线收发器从第二对象接收参考数据,该参考数据包括使用与第二对象相关联的第二多个imu计算的第二对象当前绝对位置。第一对象还被配置成使用第一对象当前绝对位置和第二对象当前绝对位置来计算第一对象相对于第二对象的相对位置,其中,相对位置包括以下中的至少一个:(i)第一对象和第二对象之间的距离和(ii)第一对象相对于第二对象的定向。
30.(a24)在(a23)的方法的一些实施方式中,参考数据包括使用与第三对象相关联的第三多个imu计算的第三对象的第三对象当前绝对位置。第一对象还被配置成使用第一对象当前绝对位置和第三对象当前绝对位置来计算第一对象相对于第三对象的相对位置,其中,相对位置包括以下中的至少一个:(i)第一对象和第三对象之间的距离和(ii)第一对象相对于第三对象的定向。
31.(a25)在方法(a23)至(a24)中任一方法的一些实施方式中,第一对象被配置成使用第一对象处的无线收发器将第一对象当前绝对位置发送给第二对象。第二对象被配置成:使用第二对象处的无线收发器接收第一对象的第一对象当前绝对位置;以及使用第二对象处的控制器,使用第一对象当前绝对位置和第二对象当前绝对位置来计算第二对象相对于第一对象的相对位置,其中,相对位置包括以下中的至少一个:(i)第二对象和第一对象之间的距离和(ii)第二对象相对于第一对象的定向。
32.(a26)在方法(a23)至(a25)中任一方法的一些实施方式中,第一多个imu使用以下中的至少一个生成运动信号:形状校正、静态校准、运动分解、动态校准、运动合成和边缘条件平滑。
33.(a27)在方法(a23)至(a26)中任一方法的一些实施方式中,第一多个imu包括加速度计和/或陀螺仪。
34.(a28)在方法(a23)至(a27)中任一方法的一些实施方式中,在没有外部参考信号的情况下计算第一对象当前绝对位置和第二对象当前绝对位置。
35.(a29)在方法(a23)至(a28)中任一方法的一些实施方式中,第一对象是第一汽车,第二对象是第二汽车。第一对象被配置成在计算第一汽车相对于第二汽车的相对位置之后,确定第一汽车相对于第二汽车的相对位置是否满足紧急标准。第一对象还被配置成响应于确定第一汽车相对于第二汽车的相对位置满足紧急标准,使得第一汽车执行规避操纵。规避操纵包括制动第一汽车和/或使第一汽车转向。
36.(a30)在方法(a23)至(a29)中任一方法的一些实施方式中,第一对象被配置成在与第一对象相关联的用户界面处,使用第一对象相对于第二对象的相对位置来显示第一对象在地图的图形表示上的位置。
37.(a31)在方法(a23)至(a28)中任一方法的一些实施方式中,第一对象是家用电器,第二对象是汽车。家用电器被配置成:在计算汽车相对于家用电器的相对位置之后,确定汽车相对于家用电器的相对位置是否满足运行状态改变标准;并且,响应于确定汽车相对于家用电器的相对位置满足运行状态改变标准,使家用电器从关闭状态改变到开启状态。
38.(a32)在另一方面,提供了一种用于计算第一对象相对于第二对象的位置的系统。该系统包括第一对象,该第一对象包括控制器、无线收发器和第一多个惯性测量单元(imu)。第一对象被配置成执行方法(a23)至(a31)中的任何一个的步骤。
附图说明
39.为了更好地理解所描述的各种实施方式,应该参考下面的实施方式的描述,并结合下面的附图,在所有附图中,相同的附图标记表示相应的部分。
40.图1a至图1f示出了根据一些实施方式的安装在二维(“2d”)或三维(“3d”)对象上的运动传感器的各种配置。
41.图2是示出根据一些实施方式的设有具有漂移校正的传感器的代表性系统的框图。
42.图3是示出根据一些实施方式,通过具有漂移校正的代表性系统的传感器数据流的流程图。
43.图4a至图4d示出了根据一些实施方式的使用跟踪设备跟踪对象的位置和定向的方法的流程图表示。
44.图5a至图5d是示出了计算对象位置的方法的框图。
45.图6示出了计算对象位置的方法的流程图表示。
具体实施方式
46.这里描述的是用于实现校正漂移的成本有效、高精度、高速运动传感器的系统、方
法和/或设备的示例性实施方式。用于校正漂移的运动传感器有许多不同的应用,包括但不限于游戏系统、智能手机、头盔显示器、军事应用和手势跟踪设备等。例如,在美国专利9,417,693号(
“’
693专利”)中,通过引用整体结合于此,描述了可穿戴无线人机界面(hmi)的不同实施方式。在

693专利中,用户可以基于用户使用可穿戴hmi执行的手势来控制可控设备。在一些实施方式中,如本文所述,跟踪运动和校正漂移的控制器可以连接到可穿戴hmi的imu。在一些实施方式中,控制器附接到或集成在可穿戴hmi中。在一些实施方式中,控制器远离可穿戴hmi,但是通信地耦合到可穿戴hmi。
47.图1a至图1f示出了根据一些实施方式的安装在3d对象上的运动传感器的各种配置。运动传感器可以线性阵列安装,安装在平面上,或者安装在由任何维度的平面、柏拉图立体或不规则3d对象形成的无数几何配置的顶点上。只要安装的运动传感器之间的距离和角度是已知的,在本文描述的某些方法或其部分中,可以通过重置运动传感器的瞬时测量加速度、角速度、磁定向和高度来消除漂移,以匹配由运动传感器相对于彼此的物理距离和角度形成的已知几何形状,如下面参考流程图4a至图4d进一步描述的。
48.在线性几何形状中,如图1a所示,两个传感器102、104以固定距离128彼此相邻定位,并且两个传感器之间的角度可以被认为是大约0度或大约180度。当两个固定传感器102和104之间的测量距离或角度在任何给定的瞬时读数下偏离已知距离128或它们之间的角度时,这种漂移可以被消除,并且两个运动传感器的位置可以被重置到相当精确的程度。
49.三(3)个或四(4)个或更多传感器的平面配置可以提供基于具有已知的物理角度和距离的阵列中所有传感器的瞬时测量的更高数量的imu读数的空间计算。图1b示出了四传感器配置,其中传感器106、108、110和112以平面配置彼此相邻安装。平面配置,诸如图1a和图1b所示的配置,提供了更简单的数学模型,对计算的要求相当低。然而,物理传感器的轴向运动检测方法的变化可能影响不同运动轴和定向的测量精度。例如,基于mems的传感器在z轴上的运动被重力矢量严重偏置,这可能在该轴上的传感器物理运动中引入更大的变化。此外,用于计算z轴偏航的科里奥利力(coriolis force)也容易受到比x轴或y轴更大的变化的影响。
50.根据一些实施方式,为了改进漂移校正,具有四(4)个传感器的四面体配置(每个传感器安装在四面体的每个面上)可以提供多轴数据的混合,得到比所有传感器的单个z轴更好的重力矢量偏差的互补和补偿测量。图1c和图1d示出了一种这样的配置。图1c示出了四面体的顶部斜视图,运动传感器114、116、118安装在可见的三个面的每一个上。图1d示出了图1c所示四面体的底部斜视图,示出了四面体第四面上的附加传感器120。在这种配置中,x轴和y轴的分量在任何给定时间也暴露于来自至少三个传感器的重力矢量,通过在任何瞬时测量从多个传感器和多个轴商去除重力矢量,允许更高的精度。根据一些实施方式,传感器以一定角度安装在每个表面上,提供x、y和z轴数据的混合,用于更好的空间计算和漂移校正。
51.此外,立方体配置将在立方体的六(6)个表面上提供六(6)个传感器的更高传感器数量,以进一步稳定空间偏差。图1e示出了根据一些实施方式的立方体配置的斜视图。在图1e中,六个面中只有三个可见。六个面中的每一个都可以安装有传感器,包括传感器122、124和126。在一些实施方式中,这里描述的任何对象的一些面(少于所有面)具有至少一个传感器。在这种配置中,每个面上的每个传感器能够在立方体的其他面上的其他传感器之
间实现互补读取。然而,随着传感器数量的增加,在立方或更高维立体几何中读取所有测量值的等待时间也增加。
52.根据一些实施方式,运动传感器也可以在几何实体的相对面上旋转,以在任何配置中提供轴向混合。图1f示出了图1e中立方体的另一种配置的斜视图,其中运动传感器如前所述安装在立方体的每个面上,但是传感器可以以零(0)度到九十(90)度之间的角度旋转,不包括0度和90度。例如,传感器122可以相对于其他传感器旋转大约四十五(45)度。虽然这种方法可以提供对瞬时运动数据的更好的分析,但是每次测量到计算输出的计算时间可能更长。
53.图2是示出根据一些实施方式的具有无漂移传感器的代表性系统200的框图。在一些实施方式中,系统200包括一个或多个处理单元202(例如,cpu、asic、fpga、微处理器等)、一个或多个通信接口214、存储器220以及用于互连这些组件的一个或多个通信总线216(有时称为芯片组)。根据一些实施方式,选择处理单元202的类型以匹配应用的要求,包括功率要求。例如,cpu的速度应该足以匹配应用的吞吐量。
54.在一些实施方式中,系统200包括用户界面208。在一些实施方式中,用户界面208包括一个或多个输出设备210,其能够进行媒体内容的呈现,包括一个或多个扬声器和/或一个或多个可视显示器。在一些实施方式中,用户界面208还包括一个或多个输入设备212,包括便于用户输入的用户界面组件,例如键盘、鼠标、语音命令输入单元或麦克风、触摸屏显示器、触敏输入板、手势捕捉设备或其他输入按钮或控件。此外,一些系统使用麦克风和语音识别或相机和手势识别或运动设备和手势识别来补充或替换键盘。
55.在一些实施方式中,系统200包括一个或多个惯性测量单元204。在一些实施方式中,imu包括一个或多个加速度计、一个或多个磁力计、和/或一个或多个陀螺仪、和/或高度计、和/或压力传感器。在一些实施方式中,一个或多个imu安装在根据预定形状结合系统200的对象上。上述图1a至图1f示出了运动传感器的各种示例性配置。在一些实施方式中,imu的初始配置(例如,imu的数量、预定形状)也是基于单个imu的特性来确定的。例如,选择imu的定向或轴,从而选择预定的形状,以便补偿制造缺陷。在一些实施方式中,一个或多个imu被制造为包含系统200的芯片上cmos和mems系统(soc)。
56.通信接口214包括例如能够使用各种定制或标准无线协议(例如,ieee 802.15.4、wi-fi、zigbee、6lowpan、thread、z-wave、智能蓝牙、isal00.11a,wirelesshart、miwi等)和/或各种定制或标准有线协议中的任何一种(例如,以太网、homeplug等),或者任何其他合适的通信协议(包括截至本文件提交之日,尚未开发的通信协议)的硬件。
57.存储器220包括高速随机存取存储器,诸如dram、sram、ddr ram或其他随机存取固态存储设备;并且可选地包括非易失性存储器,诸如一个或多个磁盘存储设备、一个或多个光盘存储设备、一个或多个闪存设备、一个或多个eprom、一个或多个eeprom、或者一个或多个其他非易失性固态存储设备。存储器220,或者替代地,存储器220内的非易失性存储器包括非暂时性计算机可读存储介质。在一些实施方式中,存储器220或存储器220的非暂时性计算机可读存储介质存储以下程序、模块和数据结构或其子集或超集:
58.·
操作逻辑222,包括用于处理各种基本系统服务和执行硬件相关任务的程序;
59.·
设备通信模块224,用于连接到其他网络设备(例如,网络接口,例如提供互联网连接的路由器、网络存储设备、网络路由设备、服务器系统等)并与之通信,该其他网络设备
经由一个或多个通信接口214(有线或无线)连接到一个或多个网络;
60.·
输入处理模块226,用于检测来自一个或多个输入设备212的一个或多个用户输入或交互,并解释检测到的输入或交互;
61.·
用户界面模块228,用于提供和显示用户界面,其中可以配置和/或查看一个或多个设备(未示出)的设置、捕获的数据和/或其他数据;
62.·
一个或多个应用模块230,由系统200执行,用于控制设备,并用于检查设备捕获的数据(例如,设备状态和设置、捕获的数据或关于系统200和/或其他客户端/电子设备的其他信息);
63.·
一个或多个控制器模块240,其提供用于处理来自一个或多个imu 204的数据的功能,包括但不限于:
64.ο数据接收模块242,用于从一个或多个imu 204接收将由控制器模块240处理的数据;
65.ο过滤模块244,用于从数据接收模块242接收的原始数据中去除噪声;
66.ο动态校准模块246,用于在一个或多个imu 204(例如,一个或多个imu 204的不同陀螺仪和加速度计)之间交叉相关数据,以校准一个或多个imu 204的过滤数据;
67.ο运动分解模块248,其基于一个或多个imu中的每一个的分解输出来确定位置和旋转状态;
68.ο运动合成模块250,用于基于动态校准模块246和运动分解模块248的输出来合成运动;
69.ο漂移校正模块252,用于基于来自运动合成模块250的输出,对预定形状校正传感器输出中的漂移(例如,使用具有梯形运动参数的自适应连续模糊规则(无模)贝叶斯过滤器(acfbt);和
70.ο边缘条件处理模块254,其基于漂移校正模块252的输出(例如,使用人工智能/神经网络/深度学习)来处理复杂的移动。
71.ο接收绝对位置模块256,其接收第一对象初始绝对位置。
72.ο计算绝对位置模块258,其使用imu的输出和第一对象初始绝对位置计算第一对象当前绝对位置。
73.ο接收参考数据模块260,其结合通信接口214从第二对象接收无线收发器参考数据,参考数据可以包括使用与第二对象相关联的第二多个imu计算的第二对象当前绝对位置;
74.ο计算相对位置模块262,其使用第一对象当前绝对位置和第二对象当前绝对位置计算第一对象相对于第二对象的相对位置,其中,相对位置可以包括以下至少一个:(i)第一对象和第二对象之间的距离和(ii)第一对象相对于第二对象的定向。
75.在一些实施方式中,由数据接收模块242从imu接收的原始数据包括来自加速度计的加速度信息、来自陀螺仪的角速度、来自磁力计的磁场旋转度、来自高度计以及差压传感器的大气压力。根据一些实施方式,从每个imu顺序接收原始数据。在一些实施方式中,并行接收imu数据。
76.在一些实施方式中,过滤模块244对原始数据进行过滤,以从数据接收模块242接收的原始数据信号中去除噪声。根据一些实施方式,过滤模块244使用标准信号处理技术
(例如,低通过滤、削波等)对原始数据进行过滤,从而使传感器数据中的噪声最小化。根据一些实施方式,过滤模块244还使用来自传感器的历史数据来计算移动平均值和移动方差。
77.在一些实施方式中,动态校准模块246使用人工智能(ai)框架(例如,神经网络框架)来校准来自一个或多个imu 204的数据。例如,在神经网络配置中配置一个或多个“神经元”(通常每个传感器3个),以校准一个或多个imu 204的过滤数据。要了解动态校准是如何工作的,首先考虑对象的静态配置。为了便于解释,让我们进一步假设对象的形状(这里有时称为预定形状)是立方体。立方体形状的对象可以以六种不同的方式放置在平面上(即,放置在立方体的六个不同面上)。所以有六个定向要校准。在这种静态配置中,系统200为六个定向中的每一个收集大量样本(例如,大约1000个或更多样本)。该采样数据被收集并存储在存储器220中。稍后,当接收到原始数据时,存储的采样数据被用作基线,以在不动状态期间(即,当对象不移动时)校正原始数据中的任何偏移误差。根据一些实施方式,在使用神经网络的一些实施方式中,在偏移存储的采样数据之后,基于从imu接收的原始数据,不断地调谐或调整网络的权重。基于神经网络的解决方案比最小二乘回归分析或统计测量提供更好的估计。作为如何动态地调整神经网络权重的例子,考虑当对象静止但神经网络输出指示对象正在移动时。通过反向传播来重新调整权重,使得输出将指示对象是静止的。因此,当对象静止时,重量会稳定下来。在一些实施方式中,神经网络的学习速率在不动状态期间(这里有时称为静止状态)被最大化,并且在对象运动时被最小化。根据一些实施方式,模式识别用于检测对象是运动的还是静止的,从而可以调整学习速率。不同的静止和移动状态用于调整影响加速度计的权重。在一些实施方式中,已知的磁北参考用于不断调整对应于磁力计的权重。在一些实施方式中,由于磁北和重力矢量的参考点总是已知的,所以当对象移动时,磁力计数据也用于校正或确定加速度计的权重。陀螺仪数据比加速度计数据更可靠,因为它只需要单级集成。因此,根据一些实施方式,陀螺仪数据也用于校正加速度计权重。注意,在一些实施方式中,动态校准模块246是可选的,并且直通通道将过滤模块244的输出传递到运动合成模块250,而不进行动态校准。
78.在一些实施方式中,运动分解模块248使用模式识别技术来消除由于每个imu中子传感器之间的交叉交互或干扰而导致的异常。收集对象的受控平移和旋转移动的实验数据。例如,在恒定速度下跟踪陀螺仪的行为,并将模式存储在存储器中。当陀螺仪数据遵循已知模式时,对象处于恒定速度的事实是基于该模式推导出来的。类似地,根据一些实施方式,加速度计数据(例如,恒定重力矢量)可用于识别模式以校正陀螺仪数据和/或磁力计数据中的误差,并且磁力计数据可用于识别模式以校正加速度计数据和/或陀螺仪数据中的误差。例如,在一些实施方式中,运动分解模块248区分对象的恒定速度状态和静止状态。例如,当对象处于恒定速度状态时,例如当对象以恒定速度移动时,陀螺仪记录噪声(由于振动),该噪声被捕获为特征(或模式)并存储在存储器中。噪声可能导致陀螺仪记录对象以变化的速度而不是恒定的速度移动。另一方面,当对象处于恒定速度状态时,加速度计在恒定速度下不会显示输出变化。一些实施方式检测陀螺仪的行为(例如,噪声水平)的差异,和/或加速度计的输出没有变化,以推断模式对应于恒定速度状态下的对象。在这种情况下,因为对象处于恒定速度状态,所以运动分解模块248使用先前计算的速度进行当前位置测量,如本文所述。
79.在一些实施方式中,诸如当对象突然停止移动或旋转时,运动分解模块248通过观
察从传感器数据中检测到的模式变化来消除异常,作为校正异常的另一种效果。在一些实施方式中,运动分解模块248分析几个不同的存储模式,用于校正每个传感器中的异常。在一些实施方式中,运动分解模块248对被跟踪对象的每个imu的平移和/或旋转移动的类型进行分类,并为运动合成模块250输出模式或类别。例如,运动分解模块248推断每个imu处于许多状态中的一种,包括简单线性运动、具有旋转的简单线性运动、具有简单旋转的非线性运动。在一些实施方式中,来自运动分解模块248的输出另外控制动态校准模块246中的学习速率。
80.在一些实施方式中,运动合成模块250使用来自运动分解模块248的状态信息(例如,恒定速度、恒定加速度、变化加速度、结合旋转)来选择一个或多个算法。运动合成模块250随后对从动态校准模块246输出的数据应用一个或多个算法,以合成对象的运动(这里有时称为一个或多个imu的总修正数据的计算)。例如,如果来自运动分解模块326的状态信息指示对象正在旋转,则运动合成模块250基于imu的角动量差(由动态校准模块的输出指示)和由不同imu的预定位置描绘的已知形状,使用等式来计算旋转轴。为了详细说明这个例子,假设对象安装有平面配置的imu,如图1b所示,有四个传感器,每个传感器位于一个角落。进一步假设平面配置垂直定位成菱形,纵轴穿过顶部imu和底部imu。现在,如果平面(菱形)对象绕纵轴旋转,纵轴两侧的侧imu将共享相同的角动量,但与顶部imu和底部imu相比,将具有不同的角动量,顶部imu的角速度将大于更靠近旋转轴的底部imu。运动合成模块250基于由imu形成的形状,根据角动量的差和传感器之间的已知距离来计算或合成旋转轴数据。
81.在一些实施方式中,漂移校正模块252使用形状校正,在一些实施方式中,通过将传感器位置和定向重新调整到已知(有时在此称为预定)形状来消除漂移。在某些实施方式中,漂移校正模块252基于传感器之间的规范、距离和角度的变化来计算运动传感器的数据偏斜度。如果规范的变化超过阈值,漂移校正模块252生成校正矩阵(有时称为漂移矩阵)以消除连续传感器读数中的漂移。根据一些实施方式,形状校正模块(未示出)通过从干净数据中减去预测漂移,使用校正矩阵以连续或迭代的方式校正从动态校准模块输出的数据(这里有时称为干净或过滤数据)。例如,根据一些实施方式,在每次读取传感器数据之后,来自漂移校正模块252的先前生成和存储的数据被用于校正从噪声过滤和动态校准模块输出的干净数据。
82.在一些实施方式中,边缘条件处理模块254基于漂移校正模块252的输出来处理复杂的移动(例如,当沿着两个轴旋转和在直线上移动时,假设对象也抬起)和/或过渡移动(例如,旋转到沿着直线横向移动)以减少漂移。在一些实施方式中,边缘条件处理模块254使用ai来应用概率权重来补偿边缘条件。在一些实施方式中,边缘条件处理模块254混合当前对象公共数据点(例如,由漂移校正模块252输出)和先前对象公共数据点(例如,由漂移校正模块252存储在存储器中的先前传感器读数的先前输出)以去除边缘条件。
83.即使在一些复杂的情况下,漂移可能无法完全纠正,但可以通过上述模块消除永久漂移或恒定漂移。此外,在一些实施方式中,由这里描述的模块的组合观察到的漂移在厘米甚至毫米的量级,而基于交替外部参考的漂移消除(例如,使用gps)有时会导致米量级的漂移。
84.在一些实施方式中,一个或多个控制器模块240包括设备相关信息。在一些实施方
式中,设备相关信息包括设备标识符和/或设备特性。在一些实施方式中,设备标识符可以向网络中的其他对象标识设备。
85.在一些实施方式中,设备特性包括与设备是否对应于手动或自主操作的对象相关的信息。在一些实施方式中,设备特性包括与设备是否对应于静态对象(例如建筑物或电器)或动态对象(例如汽车)相关的信息。在一些实施方式中,设备特性包括与设备运行状态相关的信息,诸如设备是开启还是关闭。
86.在一些实施方式中,一个或多个控制器模块240包括其他对象的位置相关信息(例如,绝对位置)。一些实施方式包括系统的特定特征(或特性或运行状态)和/或这些特征的编码。在一些实施方式中,对象的运行状态可以基于在网络中检测到的某些标准而改变。例如,如果该设备被嵌入到具有开关灯泡的灯柱中,则该特性被存储在模块240中。在一些实施方式中,该信息与建筑物内的对象(例如,灯)相关,因此建筑物内的这些对象的位置也被存储。类似地,如果设备在移动对象(例如,汽车)中,对象的特性也存储在模块240中。例如,这样的信息可以包括关于诸如汽车的对象是否可以打开/关闭转向信号等的信息。在一些实施方式中,使用接收参考数据模块260将上述特性传送到其他对象和/或从其他对象接收上述特性,接收参考数据模块260结合通信接口214从其他对象发送和/或接收无线收发器参考数据。在一些实施方式中,模块240存储与其他对象相关的信息直到最大或预定数量的对象,和/或基于存储的信息计算与没有存储相关信息的那些对象相关的信息。
87.上述识别的元件中的每一个可以存储在一个或多个前述存储设备中,并且对应于用于执行上述功能的指令集。上述模块或程序(即指令集)不需要实施为单独的软件程序、程序或模块,因此这些模块的各种子集可以在各种实施方式中被组合或以其他方式重新排列。在一些实施方式中,存储器220可选地存储上述模块和数据结构的子集。此外,存储器220可选地存储上面没有描述的附加模块和数据结构。在一些实施方式中,存储在存储器220中的一个或多个处理模块和相关数据存储在第二处理设备中并在第二处理设备上执行,该第二处理设备不同于被配置成接收和处理由imu 204生成的信号的具有无漂移运动传感器200的系统。例如,第二处理设备可以是执行应用(例如,计算机游戏)的计算机系统、智能家居设备或游戏控制台,其至少一些操作响应于由imu提供的运动信号。
88.图3是示出根据一些实施方式的通过具有无漂移传感器的代表性系统的传感器数据流的流程图。来自一个或多个imu 302(例如,imu0、imu 1、imu 2,...,imu n)的原始数据被控制器300(例如,控制器模块240)接收(324)。如前所述,在一些实施方式中,控制器从一个或多个imu并行接收数据(如图3所示)。根据一些实施方式,接收的数据作为原始数据(304)输出到运动分解模块326。在一些实施方式中,原始数据也作为数据306输入到过滤模块328,过滤模块328对原始数据进行过滤以生成过滤数据310,过滤数据310又输入到动态校准模块330。在一些实施方式中,运动分解模块326还控制(314)动态校准模块330的学习速率。在一些实施方式中,运动分解模块326和/或动态校准模块330是可选模块。在这种情况下,过滤数据310被输入(未示出)到运动合成模块。运动合成模块332在这些情况下不知道运动的模式或类别,但是迭代地应用一个或多个算法或方程来合成运动。在一些实施方式中,运动分解模块326和动态校准模块330的步骤不同步地和/或并行地执行。贝叶斯计算步骤336使用运动合成模块的输出316来生成漂移校正矩阵320(如先前参考图2所述),该漂移校正矩阵320被形状校正模块334消耗,以在运动合成的下一次迭代(即,当这样的数据变
得可用时和之后)中校正输入。尽管在图3中未示出,但是在一些实施方式中,在第一组一次或多次迭代期间,形状修正数据不可用,并且动态校准输出312被输入到运动合成模块332。在一些实施方式中,贝叶斯计算步骤336的输出(318)被输入到边缘条件模块338,以处理复杂移动和动态学习的边缘条件(如上参考图2所述)。根据一些实施方式,输出322指示控制器的无漂移真实运动输出。
89.在一些实施方式中,过滤模块328包括与图2中的过滤模块244相似的功能性;运动分解模块326包括与图2中的运动分解模块248相似的功能性;动态校准模块330包括与图2中的动态校准模块246相似的功能性;形状校正模块334包括与上面在图2的描述中描述的形状校正模块相似的功能性;运动合成模块332包括与图2中的运动合成模块250相似的功能性;贝叶斯计算模块336包括与图2中的漂移校正模块252相似的功能性;并且边缘条件模块338包括与图2中的边缘条件处理模块254相似的功能性。
90.图4a至图4d示出了根据一些实施方式的使用跟踪设备跟踪对象的位置和定向的方法400的流程图表示。在一些实施方式中,跟踪设备包括(402)限定预定形状的一个或多个侧面,以及安装到预定形状的一个或多个侧面的多个惯性测量单元(imu)。此外,根据一些实施方式,每个imu包括第一子传感器和第二子传感器,并且每个imu相对于跟踪系统的质心在预定距离和定向上定位。根据一些实施方式,上述图1a至图1f示出了安装在3d对象上的传感器的各种配置。在一些实施方式中,跟踪设备的第一子传感器和第二子传感器(例如,图2的imu 204)各自是(404)加速度计、磁力计、陀螺仪、高度计和压力传感器之一,并且第一子传感器是与第二子传感器不同的传感器类型。在一些实施方式中,跟踪设备的预定形状是(406)平面、四面体和立方体之一。在一些实施方式中,跟踪设备还包括通信耦合到多个imu的控制器。根据一些实施方式,上面参考图2描述了具有imu204的示例系统200。
91.在一些实施方式中,跟踪设备的每个imu检测(408)对象的移动,并生成表示对象的位置和/或定向的惯性输出数据。例如,图2中的imu 204或图1a至图1f中的传感器使用加速度计、磁力计、陀螺仪、高度计和/或压力传感器的组合来检测对象的移动并生成表示对象的位置和/或定向的数据。
92.在一些实施方式中,跟踪对象在控制器(410)处接收(412)来自多个imu中的每一个的第一子传感器惯性输出数据和第二子传感器惯性输出数据。例如,系统200的数据接收模块242经由一条或多条通信总线216从一个或多个imu 204接收输出。在一些实施方式中,对于连续的高采样率,控制器以小于大约1ms的周期从多个imu中的每一个接收(414)第一子传感器惯性输出数据和第二子传感器惯性输出数据。
93.在一些实施方式中,控制器使用过滤模块(例如,模块244)对第一子传感器惯性输出数据和第二子传感器惯性输出数据过滤进行过滤(416),以使信号噪声最小化。
94.现在参考图4b,根据一些实施方式,控制器为每个imu执行步骤序列418。在一些实施方式中,控制器基于第一子传感器惯性输出数据和第二子传感器惯性输出数据生成(420)校准的惯性输出数据。例如,控制器使用动态校准模块246来生成校准的惯性输出数据。在一些实施方式中,控制器使用(422)神经网络权重来计算误差值,以评估第一子传感器惯性输出数据和第二子传感器惯性输出数据,其中,基于跟踪设备的位置状态(例如,静止位置状态)以学习速率调整权重,计算表示对象的实际移动和对象的估计移动之间的差的差异值,以及从校准的惯性输出数据中消除差异值(例如,使用运动分解模块(诸如,模块
248)的输出)。在一些实施方式中,控制器基于来自第一和第二子传感器中的每一个的历史(例如,之前或先前)惯性输出数据,将神经网络权重应用于(424)第一子传感器惯性输出数据和第二子传感器惯性输出数据。尽管未示出,控制器存储和/或累积随时间从imu接收的惯性输出数据,该惯性输出数据随后作为历史数据被检索。
95.接下来参考图4c,根据一些实施方式,控制器使用动态校准模块(例如,模块246)将第一子传感器惯性输出数据与第二子传感器惯性输出数据交叉相关(426),以从第一子传感器惯性输出数据与第二子传感器惯性输出数据中识别和去除异常,从而为每个imu生成分解的惯性输出数据。在一些实施方式中,控制器基于第二子传感器惯性输出数据校准(428)对应于第一子传感器的分解的惯性输出数据。在一些实施方式中,控制器通过对第二子传感器惯性输出数据应用(430)模式识别(例如,通过使用运动分解模块,诸如模块248)将第一子传感器惯性输出数据与第二子传感器惯性输出数据交叉相关,以生成表示第一子传感器惯性输出数据的分解惯性输出数据。
96.接下来,参考图4d,根据一些实施方式,控制器使用运动分解模块(例如,上述模块248)基于来自每个imu的分解的惯性输出数据来确定(432)跟踪设备的位置和旋转状态。
97.随后,根据一些实施方式,控制器使用运动合成模块(例如,上述模块250)合成(434)第一子传感器惯性输出数据和第二子传感器惯性输出数据,以使用合成方法基于跟踪设备的位置和旋转状态创建imu合成数据。
98.在一些实施方式中,控制器使用acfbt计算模块(未示出)基于为每个imu合成的数据、每个imu的预定位置和每个imu的预定定向来计算(436)当前跟踪设备修正数据输出,以确认预定形状。在控制器的一些实施方式(438)中,用于计算公共数据点的至少一些imu沿着两个不同的轴相对于彼此以不同的角度定向。
99.根据一些实施方式,控制器随后使用当前位置和定向确定模块(例如,图2中的模块252,或图3中的步骤336和334)基于当前对象修正数据输出和先前对象修正数据输出之间的差来计算(440)对象的当前位置和定向。在一些实施方式中,控制器识别(442)边缘条件(例如,上述复杂移动)并使用边缘条件处理模块(例如,上述模块254)来混合(444)当前对象修正数据输出和先前对象修正数据输出以去除边缘条件。
100.应该理解,已经描述的图4a至图4d中操作的特定顺序仅仅是例子,并不打算表示所描述的顺序是可以执行操作的唯一顺序。本领域普通技术人员将认识到对这里描述的操作重新排序的各种方式。
101.接下来参考图5a至图5d,展示了示出使用这里描述的无漂移运动传感器系统200-i计算对象相对于另一对象的位置的示例性实施方式的示意图。在这个示例性实施方式中,图5a至图5d中的每辆车502都是“对象”。如图5所示并在下文中更详细地描述,无漂移运动传感器系统200-i imu可以连接到“智能城市”配置中的不同对象(在此也称为节点),并且每个都可以精确、准确和冗余地跟踪其自己的移动对象以及互连网状网络中的其他移动对象或节点的距离和/或运动方向,使得不同对象可以在整个环境中与其他对象进行操纵而不会发生碰撞。在一些实施方式中,对象可以是车辆、手机、移动设备、建筑物、固定灯杆等。虽然无漂移运动传感器系统200-i可以在没有来自其他外部对象的校准的情况下操作,但是通过在网状网络配置中添加更多对象,可以创建更多冗余和故障安全选项。例如,如果网状网络中的一些节点未能传送位置数据,网状网络中的剩余节点可以接管并补偿故障节
点。
102.在其他实施方式中,对象可以对应于其他设备,包括但不限于移动计算设备、射弹、头盔显示器、游戏控制台或附件a中包括的其他设备。
103.现在转到图5a至图5d,第一汽车502-1、第二汽车502-2和第三汽车502-3中的每一个都可以沿着道路穿越。每辆汽车502可以具有无漂移运动传感器系统200-i,以在汽车继续沿着道路行进时跟踪其自身和其他汽车的位置。通过利用每辆汽车的位置数据,特定的汽车可以响应于确定这些汽车可能在沿着道路的某个点碰撞,或者警告驾驶员或者改变特定汽车的行驶路径。无漂移运动传感器系统200-i可以各自包括各自的控制器300、无线收发器214和一个或多个imu 302。控制器300结合imu 302可以被配置成提供无漂移定向和位置数据。
104.最初,第一汽车502-1可以被配置成从外部源接收第一汽车502-1的无漂移传感器系统200-1的初始绝对位置(例如,种子位置)。初始绝对位置可以是例如纬度/经度格式(例如,xx纬度和yy经度)的坐标位置等。如这里所使用的,术语绝对位置可以指对象相对于地球上预定位置的位置。地球上的预定位置可以对应于城市、省、道路或建筑物。
105.当汽车502-1继续沿着道路行进时,第一汽车502-1然后可以使用无漂移传感器系统200-1的imu感测到第一汽车502-1正在以65公里/小时的速度运动并且已经向北移动了10米。
106.然后,第一汽车502-1可以使用第一多个imu 200-1和控制器300生成表示第一汽车502-1的运动的运动信号。如图3所示并在此描述,可以使用控制器300的一个或多个模块来计算运动信号。在一些实施方式中,可以通过基于来自第一多个imu中的每一个的感测运动数据、第一多个imu中的每一个的预定位置和第一多个imu中的每一个的预定定向来计算修正数据输出以生成运动信号。
107.如图5b所示,第一汽车502-1然后可以使用控制器300计算第一汽车502-1的当前绝对位置。例如,第一汽车502-1可以使用imu 200-1的输出和第一汽车502-1的初始绝对位置,通过例如将imu的输出与经纬度坐标数据相加,来计算第一汽车502-1的当前绝对位置为xx纬度和yy+10m经度。
108.如图5c所示,第一汽车502-1可以从一辆或多辆其他汽车(例如,汽车502-2和汽车502-3)接收参考数据。在一些实施例中,一辆或多辆汽车(例如,汽车502-3)可以包括无线发射器,该无线发射器缺乏向第一汽车传输参考数据的能力。在这些实施方式中,可以创建网状网络,由此第二汽车502-2可以将参考数据从第三汽车502-3中继到第一汽车502-1。为了便于理解,只显示了三辆汽车,然而,在一些实施方式中,网状网络可以包括n辆汽车(或一般的对象),每辆汽车将参考/位置数据从一辆汽车中继到另一辆汽车。第三汽车502-3可以向第二汽车502-2发送第三汽车502-3的参考数据,并且第二汽车502-2可以向第一汽车502-1发送第二汽车502-2和第三汽车502-3的参考数据。第二汽车502-2的参考数据可以包括使用与第二汽车500-2相关联的第二多个imu 200-2计算的第二汽车502-2的当前绝对位置。第三汽车502-3的参考数据可以包括使用与第三汽车502-3相关联的第三多个imu 200-3计算的第三汽车502-3的当前绝对位置。第一汽车502-1然后可以使用第一汽车502-1的无线收发器从第二汽车502-2和第三汽车502-3接收参考数据。
109.如图5d所示,第一汽车502-1可以使用第一汽车502-1的当前绝对位置、第二汽车
502-2的当前绝对位置和/或第三汽车502-3的当前绝对位置来计算第一汽车502-1相对于第二汽车502-2和第三汽车502-3的相对位置。相对位置可以包括以下至少一个:(i)第一汽车502-1和第二汽车502-2之间的距离以及第一汽车502-1和第三汽车502-3之间的距离,以及(ii)第一汽车502-1相对于第二汽车502-2的定向和第一汽车502-1相对于第三汽车502-3的定向。例如,第一汽车502-1可以基于从图5c所示的第二汽车502-2和第三汽车502-3接收的参考数据,确定第一汽车502-1和第二汽车502-2之间的距离为2米,第一汽车502-1和第三汽车502-3之间的距离为5米。在一些实施方式中,可以在不使用外部参考信号的情况下计算第一汽车502-1相对于第二汽车502-2和第三汽车502-3的相对位置。
110.如图5d所示,第一汽车502-1可以使用第一汽车502-1的当前绝对位置、第二汽车502-2的当前绝对位置和/或第三汽车502-3的当前绝对位置来计算第二汽车502-2和第三汽车502-3的速度。在图5d所示的例子中,第二汽车502-2和第三汽车502-3的速度是65公里/小时。
111.在一些实施方式中,每个对象可以与第二外部对象共享对第一外部对象的观察。例如,第一汽车502-1可以计算第二汽车502-2的位置,并将对第二汽车502-2的位置的观察传送给第三汽车502-3。第三汽车502-3不是独立地计算第二汽车502-2的位置或者除此之外,还可以使用从第一汽车502-1接收的对第二汽车502-2的位置的观察。类似地,第三汽车502-3可以计算第二汽车502-2的位置,并将其传送给第一汽车502-1。
112.在一些实施方式中,对象作为网状网络中的节点连接,允许对象利用来自其他对象的观察来加强计算。随着信息的交换,熵(信息的损失)随着时间的推移而减少。以这种方式,在一些实施方式中,每个节点(或在该示例中的汽车)通过将其计算的位置与从其他节点接收的信息的位置进行协调来表征位置(绝对或相对位置)。在一些实施方式中,对象表现得像弹性系统,增强了精确的估计,并且回复到增强正确性的刚性点,并且在某种意义上,永久地和/或持续地自校正。
113.在一些实施方式中,无漂移传感器系统200-1存储历史数据(例如,先前的15个状态)并应用历史数据进行校正。一些实施方式存储条目的时间戳,和/或对更近的条目进行加权以提高准确性。一些实施方式在几个周期内重复计算、交换和协调信息的过程。在一些实施方式中,无漂移传感器系统200-1按照接收的顺序和/或用时间戳存储来自其他对象的数据。假设最近的数据与历史数据不相关,一些实施方式使用隐马尔可夫模型(hmm)并使用贝叶斯概率来计算其他对象绝对位置的精确估计。一些实施方式将所有观察结果存储为时间有序的条目,并根据存储约束组合或融合时间条目。
114.一些实施方式识别新节点(在我们的例子中是汽车),并相应地调整相对位置的计算。例如,假设一个节点刚刚启动或加入网状网络。该节点没有先前的预测,并且最初在其计算中引起更多的误差,这些误差随着时间的推移(例如,在2至3次迭代之后)而稳定(或折叠误差)。网络中的其他节点也识别新节点,并因此对来自该节点的信息进行加权。在一些实施方式中,一个或多个节点没有自己的传感器,而仅仅是基于从其他对象或节点接收的信息来计算和/或中继信息。在一些实施方式中,网络中的其他节点识别没有自己的传感器的节点,并相应地对从这些节点获得的信息进行加权(例如,向这些观察结果提供较低的权重)。
115.在一些实施方式中,无漂移传感器系统200-1可以确定第一汽车502-1与第二汽车
502-2的相对位置满足紧急标准。例如,第二汽车502-2可能正在向第一汽车502-1转向,使得第一汽车502-1和第二汽车502-2可能在未来的某个时刻碰撞。作为响应,无漂移传感器系统200-1可以警告驾驶员和/或使第一汽车502-1执行规避操纵,其中,规避操纵包括制动第一汽车和/或使第一汽车502-1转向以避开第二汽车502-2。
116.在一些实施方式中,漂移传感器系统200-1可以基于移动对象的方向、位置、定向和/或加速度的预测来控制一个或多个对象。例如,漂移传感器系统200-1可以响应于对象(例如,第一汽车502-1)朝向家庭或家庭内部的对象(例如,烤箱)移动,或者响应于漂移传感器系统200-1计算外部对象的相对位置并检测到外部对象和家庭(或家庭内部的对象)之间的距离在预定阈值内,来打开/关闭家庭的电气系统(例如,制冷系统)或家庭内部的烤箱。为了进一步说明,在另一种情况下,城市街道或家庭车道上的灯柱可以响应于检测到汽车接近(离开)灯柱而自动打开(关闭)。类似地,这样的系统可以用于交通流分析,以预测一个区域内移动对象(例如,汽车、具有可穿戴设备的人、移动电话)的数量。在物联网(iot)环境的场境中,iot设备可以经由漂移传感器系统200-1、耦合到系统200-1的主板上的控制器或者通信耦合(例如,使用无线服务)到iot设备的通信控制器来控制。
117.在一些实施方式中,汽车502-1可以包括显示地图的图形表示的用户界面。无漂移传感器系统200-1可以使用第一对象相对于第二对象的相对位置在地图的图形表示上显示汽车502-1的位置。
118.在一些实施方式中,无漂移传感器系统200-1可以利用地图数据来校准位置数据。
119.在一些实施方式中,无漂移传感器系统200-1可以使用来自第二汽车502-2的参考数据来计算第一汽车502-1的速度。在一些实施方式中,无漂移传感器系统200-1可以连接到第一汽车502-1的车载诊断(obd)系统,以从obd系统接收速度数据。运动合成模块250可以使用速度数据作为状态信息来选择一个或多个运动合成算法,如本文所述。
120.在一些实施方式中,无漂移传感器系统200-1可以利用参考数据来更新(例如,校准或冗余校验)第一汽车502-1的绝对位置。例如,无漂移传感器系统200-1可以使用参考数据对第一汽车502-1的绝对位置进行三角测量。
121.在一些实施方式中,无漂移传感器系统200-1可以基于对象相对位置随时间的变化来计算其他汽车或对象的速度。例如,假设第二汽车在时间t1处于相对位置p1,在时间t2处于相对位置p2,无漂移传感器系统200-1可以通过将p1和p2之间的绝对差除以t1和t2之间的差来计算第二汽车的相对速度。
122.图6示出了根据一些实施方式的计算第一对象相对于第二对象的位置的方法600的流程图表示。例如,参考图5a至图5d,第一汽车502-1计算第一汽车502-1相对于第二汽车502-2和第三汽车502-3的位置。
123.在一些实施方式中,该方法在第一对象处实施。第一对象可以是静态对象,诸如灯柱、交通灯或建筑物。第一对象可以是移动对象,诸如汽车、移动设备、游戏控制台或抛射体。第一对象可以是无漂移运动传感器系统200,其包括控制器(例如,控制器300)、无线收发器(例如,通信接口214)和第一多个惯性测量单元(imu),每个imu安装在相对于第一多个imu中的其他imu的一个或多个位置和定向上。图1a至图1f显示了imu的示例定向/位置。
124.在一些实施方式中,第一对象被配置成接收(602)第一对象初始绝对位置。第一对象初始绝对位置可以是初始种子位置,以启动第一对象的imu。初始绝对位置可以是纬度/
经度格式(例如,xx纬度和yy经度)等等。
125.在一些实施方式中,第一对象被配置成使用第一多个imu(例如,imu 200-1)感测(604)第一对象的运动。例如,如图5a所示,第一汽车502-1可以使用无漂移传感器系统200-1的imu来感测到第一汽车502-1正在运动并且已经向北移动了10米。
126.在一些实施方式中,第一对象被配置成生成(606)表示第一对象的运动的运动信号。运动信号可以使用控制器300的一个或多个模块来计算,如图3所示和本文所述。在一些实施方式中,可以通过基于来自第一多个imu中的每一个的感测运动数据、第一多个imu中的每一个的预定位置和第一多个imu中的每一个的预定定向来计算修正数据输出以生成运动信号。
127.在一些实施方式中,第一对象被配置成使用控制器(例如,控制器300)使用imu的输出和第一对象初始绝对位置来计算(608)第一对象当前绝对位置。例如,如图5b所示,第一汽车502-1可以使用imu200-1的输出和第一汽车502-1的初始绝对位置,通过例如将imu的输出与经纬度坐标数据相加,来计算第一汽车502-1的当前绝对位置为xx纬度和yy+10m经度。
128.在一些实施方式中,第一对象被配置成使用无线收发器(例如,通信接口214)从第二对象接收(610)参考数据。在一些实施方式中,参考数据包括使用与第二对象相关联的第二多个imu计算的第二对象当前绝对位置。例如,如图5c所示,第二汽车502-2的参考数据可以包括使用与第二汽车500-2相关联的第二多个imu计算的第二汽车502-2的当前绝对位置。
129.在一些实施方式中,第一对象被配置成使用第一对象当前绝对位置和第二对象当前绝对位置来计算(612)第一对象相对于第二对象的相对位置。在一些实施方式中,相对位置包括以下中的至少一个:(i)第一对象和第二对象之间的距离,以及(ii)第一对象相对于第二对象的定向。例如,如图5d所示,第一汽车502-1可以基于从图5c所示的第二汽车502-2接收的参考数据,确定第一汽车502-1和第二汽车502-2之间的距离为2米。
130.在一些实施方式中,第一对象使用无线电通信信号来计算(例如,使用无线电测量)第一对象相对于第二对象的估计距离。在一些实施方式中,距离测量包括以下中的至少一个:(i)由第一对象进行的第一对象和第二对象之间的距离测量,(ii)由第二对象进行的第一对象和第二对象之间的距离测量,其使用无线收发器通过数据传输从第二对象中继到第一对象,以及(iii)由第二对象进行的第一对象和第二对象之间的距离测量,其使用无线收发器通过数据传输从第一对象中继到第二对象。在一些实施方式中,一种或多种这样的测量方法被独立地用于整体修正相对位置估计。在一些实施方式中,一个或多个这样的测量值用于与imu修正输出通信,以消除设备网络中的误差。
131.在一些实施方式中,来自第二对象的参考数据包括使用与第三对象相关联的第三多个imu计算的第三对象的第三对象当前绝对位置。第一对象被配置成使用第一对象当前绝对位置和第三对象当前绝对位置来计算第一对象相对于第三对象的相对位置。相对位置包括以下中的至少一个:(i)第一对象和第三对象之间的距离,(ii)第一对象相对于第三对象的定向。例如,如图5c所示,可以创建网状网络,使得第三汽车502-3可以向第二汽车502-2发送第三汽车502-3的参考数据,并且第二汽车502-2可以向第一汽车502-1发送第三汽车502-3的参考数据。第三汽车502-3的参考数据可以包括使用与第三汽车502-3相关联的第
指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但是不排除一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组合的存在或添加。
141.如本文所用,术语“如果”视情况而定,可选地解释为表示“当”或“在
……
时”或“响应于确定
……”
或“响应于检测
……”
或“根据确定
……”
。类似地,短语“如果确定
……”
或“如果检测到[陈述的条件或事件]”视情况而定,可选地被解释为表示“在确定
……
时”或“响应于确定
……”
或“根据检测到[陈述的条件或事件]”或“响应于检测到[陈述的条件或事件]”或“根据检测到[陈述的条件或事件]的确定”。
[0142]
尽管各种附图中的一些图示了特定顺序的多个逻辑阶段,但是不依赖于顺序的阶段可以被重新排序,并且其他阶段可以被组合或分解。虽然具体提到了一些重新排序或其他分组,但是其他的对于本领域普通技术人员来说是显而易见的,因此这里给出的排序和分组不是替代方案的详尽列表。此外,应该认识到,这些阶段可以用硬件、固件、软件或其任意组合来实施。
[0143]
为了解释的目的,已经参考具体实施方式描述了前述描述。然而,上面的说明性讨论并不旨在穷举或将权利要求的范围限制到所公开的精确形式。鉴于上述教导,许多修改和变化是可能的。选择这些实施方式是为了最好地解释权利要求及其实际应用的基本原理,从而使本领域的其他技术人员能够最好地使用具有适合预期特定用途的各种修改的实施方式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1