应用高级传感器和算法进行低成本运动跟踪

描述

高性能运动跟踪技术已经从深奥的军事、航空电子设备、海洋和工业应用迁移到不断扩大的消费应用范围。尽管如此,将高性能运动跟踪引入消费市场通常会迫使设计人员协调相互冲突的目标,尤其是在成本、功耗和计算资源方面。

然而,由于 MEMS 设计和制造工艺的进步,新一代惯性测量单元 (IMU) 正在帮助设计人员以更少的妥协提供更高水平的性能。

在介绍有望从主机处理器卸载计算密集型操作的新 6 轴 IMU 之前,本文将概述设计问题和权衡。它还将讨论新的计算分区策略,这些策略可帮助设计人员以显着降低的系统功率级别实现更高级别的运动跟踪精度。最后,将讨论新的最佳估计算法和开发工具包,它们将允许开发人员构建更高效的传感器融合解决方案。

传感器性能权衡

通常,消费类设备必须针对低成本进行优化。传统上,使用 MEMS 运动传感的消费类系统设计人员选择将加速度计和陀螺仪样本从 IMU 流式传输到应用处理器 (AP) 或传感器集线器控制器,然后再对数据进行进一步处理。

然而,精确运动跟踪需要大量计算资源才能与当前可用的 6 轴和 9 轴 IMU 执行传感器融合。在这些应用中,设计人员必须支持至少数百赫兹或更高的采样率。设计人员一直在努力以低成本提供高水平的性能,同时又不会使系统处理器过载并损害用户体验。

设计人员面临的另外两个问题是上市时间和最小化功耗。鉴于所有传感器都会随着时间的推移而发生漂移,校准是开发高度准确和一致的运动跟踪子系统的关键。编写自动校准算法是一种选择,但它所花费的时间往往与消费市场中常见的较短的上市时间相冲突。随着高性能跟踪逐渐进入便携式和无线系统,系统功耗的限制提供了额外的障碍。开发人员努力提供高精度运动跟踪所需的大量计算资源,同时优化电池寿命。

最近的一些技术进步有望使开发人员的工作变得更加轻松。新的 6 轴 IMU 现在配备了先进的矢量数字信号处理 (DSP) 协处理器,有望从主机处理器卸载计算密集型操作。与此同时,新的计算分区策略正在帮助设计人员以显着降低的系统功率水平实现更高水平的运动跟踪精度。最后,基于扩展卡尔曼滤波器理论的新最优估计算法现在允许开发人员构建更高效的传感器融合解决方案。

智能 IMU

新一代 MEMS IMU 的一个很好的例子是FIS1100,最初由 Fairchild 开发,现在是ON Semiconductor 的一部分。该智能 MEMS 传感器模块将 3 轴加速度计与 3 轴陀螺仪集成在一起,并为可选的外部第三方 3D 磁力计提供输入。当与 XKF3 传感器融合库和 3D 磁力计一起使用时,FIS1100 提供完整的 9 自由度 (9DOF) 解决方案(图 1)。

IMU 的一个关键组件是 AttitudeEngine,这是一种定制矢量 DSP 协处理器,能够以高内部采样率对高频运动进行编码,同时在任何输出数据速率 (ODR) 上保持完全准确。这允许协处理器以在通用系统处理器上执行相同计算所需的一小部分功率来处理惯性数据。

使用 FIS1100,设计人员可以使用协处理器从主机处理器卸载计算密集型操作,消除频繁数据中断的需要,并允许系统处理器更长时间地保持睡眠模式。该专用硬件模块可以将运动信号处理功耗降低多达 10 倍,而不会影响精度。

传感器

图 1:在典型应用中,FIS1100 IMU 通过主 I 2 C 接口将其嵌入式 3 轴陀螺仪和 3 轴加速度计与第三方磁力计集成。应用处理器通过 SPI 4 线接口管理此 9DOF 解决方案。(图片来源:安森美半导体)

卡尔曼滤波

为了帮助在极低的功率水平下开发更高精度的运动跟踪解决方案,开发人员正在采用基于卡尔曼滤波理论的新的最佳估计算法。通常,卡尔曼滤波是一种算法,它使用随时间观察到的一系列测量值来预测未知变量的估计值,这些测量值包含统计误差和其他不准确之处。该系列往往比单次测量更准确。

卡尔曼滤波器通过使用两步形式的反馈控制来估计过程。滤波器估计某个时间的过程状态,然后以噪声测量的形式获得反馈。因此,卡尔曼滤波器的方程分为两组:时间更新方程和测量更新方程。时间更新方程负责(及时)预测当前状态和误差协方差估计,以获得下一时间步长的估计。测量方程负责反馈。

记录下一次测量的结果后,将使用加权平均值更新估计值。在这个过程中,对确定性较高的估计给予更多的权重。

重要的是要记住卡尔曼滤波器算法是递归的。这使得实际实施更加可行。

与旨在直接对每个估计的所有数据进行操作的其他方法不同,卡尔曼滤波器理论递归地调节所有过去测量的当前估计。它可以仅使用当前输入测量值和先前计算的状态及其不确定性矩阵实时运行。不需要额外的过去信息。

传感器融合的进展

XSENS 的工程师使用了上述卡尔曼滤波技术,该公司是 Fairchild 于 2014 年收购的传感器融合软件开发商。该团队创建了一种称为 XKE3 的最佳估计算法,该算法以极低的功耗提高了运动跟踪性能。XKE3 Sensor Fusion 是一个二进制软件库,它集成了 3D 加速度计、3D 陀螺仪和 3D 磁力计数据,以在地球固定参考系中计算 3D 方向。XKE3 算法的可靠性已经确立;它们已在军事和工业应用中使用了十多年。

通过将 FIS1100、其 3 轴加速度计和 3 轴陀螺仪与第三方磁力计和 XKE3 传感器融合软件捆绑在一起,安森美半导体为开发人员提供了完整的 9DOF 解决方案。此外,该捆绑解决方案通过提供滚转、俯仰和偏航方向规范,极大地简化了系统开发。

传统上,需要添加运动跟踪功能的设计人员必须通过过时的传感器级规范并学习复杂的运动处理基础知识。现在,他们有一个提供滚转、俯仰和偏航规范的解决方案,使他们能够在构建第一个原型之前知道预期的航向性能。

XKE3 库在微控制器或应用处理器上运行,以可配置的速率从 FIS1100 收集运动数据。在这个 9 轴解决方案中(再次参见图 1),FIS1100 以相对较高的频率 (1 kHz) 对加速度计和陀螺仪数据进行采样,并将其发送到 AttitudeEngine 协处理器,后者执行高精度捷联积分 (SDI) 计算. 协处理器还将磁力计数据与惯性数据同步,以获得克隆和划桨补偿的方向和速度增量,以及可选的磁力计数据,并将其全部传输到 XKE3 引擎。

XKE3 在传感器校准中起着关键作用。例如,各种各样的过程,从振动和温度到设备老化和机械应力,都会随着时间的推移改变磁力计的输出。通常,校准参数的这些变化非常微妙。XFK3 使用零用户交互校准来补偿这些变化,该校准会持续自动校准每个传感器的最重要错误。这消除了用户中断的需要。

计算分区

FIS1100 和 XKE3 能够以较低功率提高运动跟踪性能的另一个关键因素是使用创新的计算分区策略。传统上,设计师将加速度计和陀螺仪样本从 IMU 流式传输到主机处理器,然后主机处理器执行惯性量的 SDI。这种架构如图(图 2)所示。然后传感器融合算法使用积分值来提供所需的输出。

传感器

图 2:在传统架构的描述中,加速度计和陀螺仪样本直接从 IMU 流式传输到主机处理器以执行惯性量的 SDI。(图片来源:安森美半导体)

采用这种架构,加速度计和陀螺仪信号以高速从 IMU 传输到主机处理器是保持运动跟踪精度所必需的。但是,不需要向主机处理器进行高速数据传输,因为最终应用所需的更新速率范围从仅几赫兹(对于行人导航等应用)到高达 30 至 60 赫兹(用于游戏、健身追踪和机器人控制) . 甚至更高性能的应用程序,如虚拟和增强现实,只需要大约 100 Hz。在这种情况下,设计人员只需以高速率传输数据即可对加速度和角速度进行精确的数值积分。

然而,设计人员仍然为高速率的流数据付出代价。该架构强制主机处理器处理更频繁的数据中断,以防止其尽可能频繁地进入睡眠模式。因此,整个系统功耗增加。

缓解此问题的一种方法是在 IMU 侧使用 FIFO 缓冲区。不幸的是,这种方法带来了新的问题,例如:

  • 主机处理器需要处理更多的数据
  • 当多个外设共享同一总线时,SPI/I 2 C上发生总线争用/冲突的可能性增加
  • 无线应用中更高的丢包概率
  • 主机处理器对高速串行总线模式和 DMA 支持的需求增加

设计人员可以通过将算法分割成运行在 FIS1100 上的高性能段和运行在 XKE3 引擎上的低速率段,然后使用 FIS1100 在 IMU 侧实现 SDI 算法,从而显着降低系统处理器的计算负载(图 3)。当系统在具有全自动校准功能的高精度 3D 融合模式下运行时,这种方法更加有益。

传感器

图 3:利用上述架构,设计人员通过在 FIS1100 AttitudeEngine 上执行高数据速率 SDI 计算并将低速率方向和速度增量流式传输到在主机端运行的 XKF3 传感器融合算法,从而获得更高的能效。(图片来源:安森美半导体)

此外,通过在 XKE3 引擎上以非常低的采样率运行状态跟踪部分,设计人员可以跟踪更多的状态,从而在不损失系统资源的情况下对多个校准参数进行统计优化跟踪。

在 AttitudeEngine 模式下运行 FIS1100,设计人员可以通过将加速度计和陀螺仪信号转换为数字域,并使用带宽约为 200 Hz 的低通滤波器来实现这一点。这允许 AttitudeEngine 在硬件中以 1 kHz 输入速率执行 SDI 计算,确保运动积分数字计算的任何错误都可以忽略不计。

将 FIS1100 流运动数据编码为方向和速度增量而不是传统的角速度和加速度样本,计算是准确的,与所选的输出速率无关。低输出速率导致运动数据的时间表示较粗,但数据仍然准确。因此,可以根据特定的应用要求来选择输出速率,而不是由执行高精度数值积分的需要所驱动。

使用这种创新架构,设计人员可以获得多种好处:

  • 在专用硬件而非主机处理器上运行 SDI 可显着降低功耗
  • 无论选择何种输出数据速率,运动信息都保持准确
  • 将 SDI 功能移至架构的 IMU 侧,通过减少计算需求来简化系统集成

启动设计的开发套件

构建高精度运动跟踪解决方案可能需要花费大量时间和精力。为了加速系统性能和精度的分析,并简化硬件集成和嵌入式软件集成,安森美半导体提供了 FIS1100 评估套件。该套件提供 FIS1100 评估系统以及 XKE3 传感器融合库、FIS1100 参考驱动程序以及 ARM® Cortex®-M 微控制器的示例传感器融合项目。

该评估套件通过易于使用的 MT 管理器 Windows GUI 应用程序进行管理。评估首先将与 Arduino 兼容的FEBFIS1100 MEMS_IMU6D3X屏蔽板安装到NXP LPCXPRESSO54102 MCU 板上,如图所示(图 4)。然后 MCU 板通过 USB 电缆连接到主机 PC。

传感器

图 4a

传感器

图 4b

图 4:FIS1100 评估套件通过提供一个两板组来简化系统性能和软件和硬件集成的分析,该组在 NXP LPCXpresso54102 ARM Cortex-M 开发板上安装了兼容 Arduino UNO R3 的 FEBFIS1100MEMS_IMU6D3X 屏蔽板 (a) (b) . (图片来源:安森美半导体)

安装驱动程序后,用户启动 MT Manager 应用程序,该应用程序会自动扫描连接的系统和显示器。当开发人员在设备列表中选择评估套件时,他们可以通过打开输出配置面板来管理系统运行参数。FIS1100 和 XKE3 融合库的所有主要功能都可以通过输出配置对话框屏幕进行配置。

为了帮助解释传感器数据,MT Manager 提供了许多有用的可视化工具。3D 方向视图提供评估板的 3D 方向表示。惯性数据视图可帮助用户了解 XKE3 融合库输出的惯性和磁场数据。包括对典型传感器误差的校正,例如陀螺仪偏差和磁性硬铁和软铁失真。对于需要跟踪系统短期运动(例如手臂相对于躯干的运动)的用户,速度数据视图提供了 XKE3 融合库高通速度输出的图形利用。

结论

高性能运动跟踪功能不再局限于神秘的军事和航空电子应用。如今,在对成本敏感的消费市场中,对开发这些相同功能的需求正在迅速增长。如上所述,设计人员现在可以应用新一代智能、低噪声、低漂移 IMU。计算分区的新方法和传感器融合软件的进步使这种转变成为可能。

审核编辑:符乾江

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分