高性能运动跟踪技术已经从深奥的军事、航空电子设备、海洋和工业应用领域,发展到越来越多的消费者应用领域。然而,将高性能的运动跟踪带到消费者市场往往会迫使设计师们协调一致的目标,特别是在成本、功耗和计算资源方面。
然而,由于MEMS设计和制造工艺的进步,新一代惯性测量单元(IMUs)正在帮助设计师们提供更高水平的性能,更少的妥协。
本文将概述设计问题和折衷方案,然后引入一个新的6轴IMU,它承诺从主机处理器卸载计算密集型操作。它还将讨论新的计算分区策略,帮助设计者在显著降低系统功率的水平上达到更高的运动跟踪精度。最后,将讨论新的最优估计算法和一个开发工具包,它将允许开发人员构建更高效的传感器融合解决方案。
传感器的性能权衡
和典型的一样,消费设备必须以低成本进行优化。传统上,使用MEMS运动传感的消费者系统的设计者选择了从IMU到应用处理器(AP)或传感器集线器控制器的流加速计和陀螺仪样本,然后再对数据进行进一步处理。
然而,精确的运动跟踪需要大量的计算资源来完成传感器的融合,目前有6和9轴的imu。在这些应用程序中,设计人员必须支持至少几百赫兹以上的采样频率。设计人员一直努力在低成本的情况下实现高水平的性能,而不会过多地加载系统处理器并破坏用户体验。
设计师面临的另外两个问题是上市和减少电力消耗。鉴于所有的传感器都随时间漂移,校准是发展高度精确和一致的运动跟踪子系统的关键。编写自动校准算法是一种选择,但它所花费的时间常常与消费者市场中常见的短时间到市场的窗口冲突。随着高性能跟踪技术进入便携式和无线系统,系统功耗的限制也带来了额外的障碍。开发人员致力于提供高精确度的运动跟踪所需的大量计算资源,同时优化电池寿命。
最近的一些技术进步使开发人员的工作变得容易多了。新的6轴IMUs现在配备了先进的矢量数字信号处理(DSP)协处理器,它承诺从主机处理器上卸载计算密集型操作。与此同时,新的计算分区策略帮助设计者在显著降低系统功率的水平上达到更高的运动跟踪精度。最后,基于扩展卡尔曼滤波理论的新的最优估计算法允许开发人员建立更高效的传感器融合解决方案。
聪明的艾莫斯
这个新一代MEMS IMUs的一个很好的例子就是最初由Fairchild开发的FIS1100,它现在是半导体的一部分。这个智能MEMS传感器模块集成了一个三轴加速度计和一个三轴陀螺仪,并为一个可选的外部第三方3D磁强计提供输入。当使用XKF3传感器融合库和3D磁强计时,裂缝提供了一个完整的9自由度(9DOF)解决方案(图1)。
IMU的一个关键部件是AttitudeEngine,它是一个定制的矢量DSP协处理器,能够在高的内部采样率下编码高频运动,同时在任何输出数据速率(ODR)上保持完全的精度。这使得协处理器能够以一定比例的功率处理惯性数据,从而在通用系统处理器上执行相同的计算。
使用这个裂缝,设计者可以使用协处理器来从主机处理器上卸载计算密集型操作,消除频繁的数据中断的需要,并允许系统处理器在休眠模式中保持更长时间。这个专用的硬件块可以将运动信号处理功耗降低到10倍,而不影响精度。
关于半导体裂隙IMU的示意图。
图1:在一个典型的应用程序中,FIS1100 IMU通过一个主I2C接口将其嵌入的3轴陀螺仪和3轴加速度计与第三方磁强计结合在一起。一个应用程序处理器通过SPI 4线接口管理这个9DOF解决方案。(图片来源:凯利讯半导体)
卡尔曼滤波
为了在极低的功率水平上帮助开发更高精度的运动跟踪解决方案,开发人员采用了基于卡尔曼滤波理论的新的最优估计算法。一般来说,卡尔曼滤波是一种算法,它使用经过时间观察的一系列测量结果,其中包含统计误差和其他不准确的估计,以预测未知变量的估计。这个系列比单个测量更准确。
卡尔曼滤波估计一个过程通过使用两步的反馈控制形式。过滤器在一段时间内估计过程状态,然后以噪声测量的形式获得反馈。因此,卡尔曼滤波器的方程分为两组:时间更新方程和测量更新方程。时间更新方程负责预测(及时)当前状态和误差协方差估计,以获得下一个时间步的估计。测量方程负责反馈。
一旦记录下一个测量的结果,估计就会使用加权平均数进行更新。在这个过程中,更多的权重被赋予了更高的确定性。
记住卡尔曼滤波算法是递归的,这一点很重要。这使得实际实现更加可行。
不像其他的方法被设计用于直接对每个估计的数据进行操作,卡尔曼滤波理论递归地对所有过去的测量值进行当前的估计。它可以实时运行,只使用目前的输入测量和先前计算过的状态及其不确定矩阵。不需要额外的过去信息。
传感器融合的发展
上述卡尔曼滤波技术是由XSENS公司的工程师使用的,XSENS是2014年Fairchild公司收购的传感器融合软件的开发者。该团队创建了一个名为XKE3的最优估计算法,该算法可以在非常低的功率下改进运动跟踪性能。XKE3传感器融合是一个二进制软件库,集成了三维加速度计、三维陀螺仪和三维磁力仪数据,在一个地球固定的参照系中计算三维方向。建立了XKE3算法的可靠性;它们在军事和工业应用领域已经使用了10多年。
通过将其3轴加速度计和3轴陀螺仪与第三方磁强计和XKE3传感器融合软件结合在一起,半导体为开发人员提供了一个完整的9DOF解决方案。此外,这种捆绑解决方案通过提供滚动、俯仰和偏航定向规格,极大地简化了系统开发。
传统上,需要增加运动跟踪功能的设计师必须通过陈旧的传感器级规范,学习复杂的运动处理基础知识。现在他们有了一个解决方案,可以提供滚动、俯仰和偏航规范,让他们知道在构建第一个原型之前要期望什么性能。
在单片机或应用程序处理器上运行,XKE3库以可配置的速率从FIS1100中收集运动数据。在这个9轴的解决方案中(图1,再次),在一个相对较高的频率(1 kHz)中,裂隙样品加速计和陀螺仪数据,并将其发送给AttitudeEngine coprocessor,它具有高精确度的strap-down集成(SDI)计算。协处理器还将磁力计数据与惯性数据同步,以获得克隆和划桨补偿方向和速度增量,以及可选的磁强计数据,并将其全部传输到XKE3发动机。
XKE3在传感器校准中起着关键的作用。例如,各种各样的过程,从振动和温度到设备老化和机械应力,都可以随着时间改变磁力仪的输出。通常,这些校准参数的变化非常微妙。XFK3使用零用户交互校准来补偿这些变化,并自动校准每个传感器的最重要错误。这就消除了用户中断的需要。
计算分区
另一个关键因素在裂缝和XKE3的能力改善运动跟踪性能在较低的功率是使用创新的计算划分策略。传统上,设计师将IMU的加速计和陀螺仪的样品从IMU传输到主机处理器,然后执行SDI的惯性量。这个体系结构如图2所示。然后,传感器融合算法使用集成的值来提供所需的输出。
加速度计和陀螺仪传统结构示意图。
图2:在传统架构的描述中,加速度计和陀螺仪的样本直接从IMU流向主机处理器,以执行惯性量的SDI。(图片来源:凯利讯半导体)
采用这种架构,需要高速从IMU到主机处理器的加速计和陀螺仪信号,以保持运动跟踪的准确性。然而,由于最终应用程序所需的更新率仅为几个Hz,对于像行人导航这样的应用程序,在游戏、健身跟踪和机器人控制方面,要达到30到60赫兹,因此,对主机处理器的高速数据传输是不必要的。甚至像虚拟和增强现实这样的高性能应用程序只需要大约100赫兹。在这种情况下,设计者只需要以高速率的数据流来执行加速度和角速度的精确数值积分。
然而,设计师们仍然为高速率的流媒体数据付费。架构迫使主机处理器处理更频繁的数据中断,防止它尽可能频繁地进入睡眠模式。因此,整个系统的耗电量增加。
缓解这个问题的一种方法是使用IMU一侧的FIFO缓冲区。不幸的是,这种方法提出了新的问题,例如:
主机处理器需要处理更多的数据。
当多个外围设备共享同一总线时,在SPI/I2C上增加总线争用/冲突的可能性增加。
无线应用程序包丢失的较高概率。
在主机处理器上增加了对高速串行总线模式和DMA支持的需求。
设计师可以显著减少系统处理器的计算负载分段算法到高性能节FIS1100上运行,低利率段XKE3引擎上运行,然后使用FIS1100实现IMU一边SDI算法(图3)。这种方法是更有益的高精度的系统运行时,3 d-fusion模式完整的自动校准。
SDI计算的图上的裂缝。
图3:在上面所描述的架构中,设计师通过在裂缝的态度上执行高速率的SDI计算,并将低速率的方向和速度增量计算到在主机端运行的XKF3传感器融合算法,从而获得更高的功率效率。(图片来源:凯利讯半导体)
此外,通过在XKE3引擎上以非常低的采样率运行状态跟踪部分,设计人员可以跟踪更多的状态,从而在系统资源中不支付惩罚的情况下,实现对多个校准参数的统计最优跟踪。
通过在AttitudeEngine模式中运行这个裂缝,设计者可以通过将加速计和陀螺仪信号转换为数字域来实现这一目标,并使用低通滤波器,带宽约为200hz。这使得AttitudeEngine可以在硬件上的1 kHz输入率上执行SDI计算,从而确保从数字计算中得到的所有运动的误差都是可以忽略的。
将裂隙流运动数据编码为方向和速度增量,而不是传统的角速度和加速度样本,计算是准确的,独立于所选的输出速率。低的输出率导致了运动数据的粗糙时间表示,但是数据仍然是准确的。因此,可以根据具体的应用需求来选择输出率,而不是由于需要进行高精度的数值集成。
使用这种创新架构,设计师可以获得多重好处:
在专用硬件上运行SDI而不是主机处理器会大大降低功耗。
无论选择的输出数据速率如何,运动信息仍然是精确的。
将SDI函数移动到架构的IMU一侧,通过减少计算需求简化了系统集成。
开发工具包的kickstart设计。
建立高精度的运动跟踪解决方案需要花费大量的时间和精力。为了加速对系统性能和精度的分析,以及简化硬件集成和嵌入式软件集成,在半导体方面提供了一个关于裂缝的评估工具。FIS1100的工具包提供了评价体系结合XKE3传感器融合图书馆参考FIS1100司机,和一个例子传感器融合项目的手臂®皮层®- m微控制器。
评估工具包是通过一个易于使用的MT manager Windows GUI应用程序管理的。评估开始时,将Arduino兼容的FEBFIS1100 MEMS_IMU6D3X盾安装到NXP LPCXPRESSO54102 MCU板上,如图4所示。MCU板通过USB数据线连接到主机PC上。
Arduino UNO r3兼容FEBFIS1100MEMS_IMU6D3X屏蔽图像。
图4(图片来源:凯利讯半导体)a
NXP LPCXpresso54102 ARM Cortex-M开发板的图像。
图4 (图片来源:凯利讯半导体)b
图4:在NXP LPCXpresso54102 ARM Cortex-M开发板(b)上,通过提供一个双板集,可以简化对系统性能和软硬件集成的分析。
一旦安装了驱动程序,用户就会启动MT Manager应用程序,该应用程序自动扫描连接的系统和显示。当开发人员在设备列表中选择一个评估组件时,他们可以通过打开输出配置面板来管理系统操作参数。通过输出配置对话框,可以配置裂隙和XKE3融合库的所有主要功能。
为了帮助解释传感器数据,MT管理器提供了许多有用的可视化工具。三维定位视图提供了评估板的三维方向的表示。惯性数据视图帮助用户理解XKE3融合库的惯性和磁场数据输出。包括对典型传感器误差的修正,如陀螺仪偏差和磁硬和软铁变形。对于需要跟踪系统短期运动的用户,例如手臂在躯干上的移动,velocity数据视图提供了XKE3融合库的高传递速度输出的图形化利用。
结论
高性能的运动跟踪能力不再局限于奥术军事和航空电子设备。如今,在成本敏感的消费市场上,同样能力的发展,需求正在迅速增长。正如所描述的,设计师现在可以应用新一代的智能,低噪音,低漂移的IMUs。新的计算分割方法和传感器融合软件的进步使这种转变成为可能。