电子说
我们的生活已经被便携式、连接的小工具改变了——最明显的是智能手机,还有许多其他的,比如智能手表、健身追踪器和耳戴式设备。这些设备将数据收集与处理能力和无线连接相结合。
但是,在所有其他功能中,很容易忽视运动传感器在使我们的小工具更实用和更直观方面的重要性。无论是在我们的手机上改变屏幕方向、在智能手表上计算步数、将我们的头部动作与我们的 XR 眼镜相匹配,还是轻敲耳塞来改变歌曲,运动感应都是用户体验和界面的重要组成部分。
对于嵌入式工程师来说,选择和集成运动传感器可能很棘手。您如何确保选择正确的技术来获得所需的精度,而不会增加不必要的成本或功耗?您应该如何确保充分利用传感器,并且不错过可以改进最终产品的性能或功能?
运动传感器基础知识
首先,快速回顾一下我们所说的运动传感器的含义。常用的有加速度计、陀螺仪和磁力计三种。
加速度计测量加速度,其中可能包括重力加速度。这意味着它可以感应相对于传感器的重力方向——基本上,哪个方向是向上的。陀螺仪通过测量角速度来测量角位置的变化。
对于加速度计和陀螺仪,每个加速度计和陀螺仪具有三个自由度或轴,将两者结合起来就可以得到一个 6 轴运动传感器或惯性测量单元 (IMU)(参见图 1)。对于许多应用,我们需要添加一个磁力计,它可以测量地球磁场的强度和方向,这样我们就可以估计我们的航向。在加速度计和陀螺仪顶部添加一个 3 轴磁力计可创建一个 9 轴 IMU。
出于本文的目的,我们将讨论 IMU。尽管我们讨论了某些可以单独应用于加速度计、陀螺仪或磁力计的特性,但我们想要说明的是,将这些传感器中的至少两个结合起来所面临的挑战。
图 1:使用 IMU 进行运动感应(来源:CEVA)
保持准确
所以现在我们已经提醒自己这个理论,它在实践中是如何运作的?我们如何才能获得所需的准确性?
对于 IMU,确定设备航向的准确度是我们可以开始的基本指标。我们的要求可能在一到二度之内,而对于另一个应用程序来说,精度较低是可以接受的。例如,XR 耳机的精度要求将比儿童机器人玩具的精度要求严格得多。然后我们应该考虑这些数据的稳定性,以及它是否会随着时间和温度而变化。
从我们的 IMU 获得最高精度的输出需要使用传感器融合,这是将来自多个传感器的数据组合在一起以创建大于其部分的总和的概念。我们 IMU 的每个传感器都有不同的优势和劣势,可以将它们融合在一起以实现该解决方案。
考虑传感器融合的一种方法是以“信任”为基础。在这种情况下,我们可以使用“信任”来表示来自特定传感器的数据对其准确性和相关性具有合理的置信度。假设您是一个国家的总统,并且必须确定政策。你有一位经济、健康和军事顾问。每个人都会给你输入,但他们都知道不同的领域。他们猜测他们的意见将如何影响他们的同行,但可惜他们只是猜测。由您来处理他们的信息并将其融合到最佳决策中。
同样,你有两三个“顾问”,你可以从你的 IMU 中获取方向数据:加速度计、陀螺仪,有时还有磁力计。陀螺仪是最容易解释的。消费级陀螺仪在几秒钟的短时间内相对方向变化是值得信赖的,但输出会在较长的时间间隔内漂移,几十秒以上。加速度计有助于长期测量重力,但可能会被某些场景混淆,例如汽车中的恒定加速度。我们可以在稳定的磁场环境中信任磁力计,例如在乡村或树林中,但在有磁场干扰的情况下就不那么可靠了,例如在用钢柱建造的办公室内。
简而言之,陀螺仪适用于短期测量,而加速度计和磁力计适用于长期测量。通过仔细了解它们的局限性,可以将它们的数据融合在一起,以更准确地了解设备的方向。
当我们有多个传感器输出(例如 9 轴 IMU)时,传感器融合为我们提供了组合和比较数据以提高准确性的机会。例如,如果我们的传感器融合软件包含一种算法来检测由于磁干扰导致的磁力计输出的意外或突然变化,那么它可以自动对加速度计和陀螺仪数据置信度更高,直到磁力计再次稳定。
采样率对准确性也很重要——您选择的传感器是否经常提供数据以满足您的需求?当然,这取决于应用程序:例如,对于基本计步器来说,每秒几个读数可能就足够了,但对于大多数应用程序,建议使用 100Hz 到 400Hz。然而,在 XR 应用中精确的头部跟踪可能需要 1kHz 或更高的采样率(XR 是虚拟、混合和增强现实的统称)。快速采样率对于实现低延迟也很重要,在我们的头部跟踪示例中,这是身临其境的 VR 体验和感觉晕车的区别!
我们还需要考虑校准。许多传感器都是“按原样”提供的,只是数据表上写的供您考虑。可以进行的任何类型的校准都将有助于最大限度地提高不同传感器之间的一致性能。工厂校准可能是提高个人表现的有效方法,但成本相对较高。现场动态校准是另一种选择,需要详细了解传感器本身,或至少了解您的应用。传感器会遇到偏差,如果不加以考虑,可能会对整体输出产生负面影响,从而加剧任何现有错误。
最后,我们需要考虑如何验证我们已经获得并融合在一起的传感器数据。虽然这取决于我们跟踪的内容,但基本原则是使用另一个独立的信息源来为我们提供可以检查输出的真相。例如,机器人手臂可以非常精确地重复移动到一个已知点,然后我们可以查看我们的传感器是否为我们提供了相同的位置数据。当我们检测到错误时,可能会通过计算来补偿它,或者可能需要将其标记为需要进一步注意的错误。
启用新功能
一旦我们有能力以高精度测量运动,它不仅有助于现有应用程序 - 它还可以为便携式设备的新功能开辟可能性。例如,对于耳戴式设备(图 2),传统的用户界面存在问题:用户不想承诺拿出手机来控制他们,而且耳戴式设备本身太小而没有方便的按钮。相反,轻敲可听设备可用于跳过歌曲,检测将其从耳朵中取出的动作可用于静音所有音频——因为这很可能是您希望声音停止的时候。运动和“分类器”的使用是识别不同运动的算法,可以带来更方便和直观的用户体验。
来自运动传感器的准确信息还意味着您的便携式设备可以更好地了解您周围发生的事情或您正在从事的活动。这称为上下文感知,可用于提供更身临其境的体验,例如例如,当可听设备检测到您走到人行横道时降低音乐音量,让您听到附近救护车的警报声。
对于健身追踪应用,提高精度可以区分不同的用户活动。例如,如果您的计步器可以测量您的动作的大小、速度或其他特征,那么它可以判断您是正常行走,还是爬楼梯或下楼梯。结合其他传感器数据,例如气压和 GPS 派生的位置,软件可以构建您的运动的详细图片并估计燃烧的卡路里。
放在一起:传感器融合和软件
正如我们所讨论的,为了最大限度地提高运动数据的准确性和实用性,仅仅生成原始数据馈送是不够的。设备需要处理数据,补偿系统误差,以及组合来自多个传感器的信息。
这里有很多事情要处理。传感器融合很复杂,需要一定的专业知识才能在小封装中达到最佳效果。但是,有多种产品可以集成所需的传感器和处理,例如由博世和 CEVA Hillcrest Labs 合作开发的BNO080/085,包括高性能加速度计、磁力计和陀螺仪,以及低- 供电 32 位 ARM Cortex M0+ MCU。
Hillcrest Labs 的MotionEngine ™ 传感器中枢软件在 BNO085 上预编程,提供 6 轴和 9 轴运动跟踪,以及诸如行走、跑步和站立等用户活动分类等智能功能(图 3)。MotionEngine 传感器集线器与领先的嵌入式处理架构和操作系统兼容,并提供适用于可听设备、智能电视、机器人、移动计算、遥控器、低功耗移动应用等的专用版本。
点击查看完整大小的图片
图 3:综合传感器融合和算法(来源:CEVA)
将所有这些数据实时汇总在一起可能具有挑战性,并且需要大量的处理性能。最好选择在传感器设备本身的 MCU 内核上运行其中一些算法的集成传感器,而不是要求主应用处理器来承担这些杂务。特别是对于像计步这样的“永远在线”任务,如果我们能够避免在每次检测到移动时唤醒主处理器,它就可以保持在睡眠模式——从而降低整体功耗,并延长电池寿命。回到我们之前的类比,专注于传感器融合的 SiP 就像让副总裁处理某些决策,以便主处理器总裁可以专注于更直接的任务。
结论
运动传感器在许多应用中发挥着重要作用,但如何选择正确的设备以及如何达到您的应用所需的准确度——甚至是您需要的准确度并不总是显而易见的。不同的用例需要不同级别的精度,并且对所需数据的类型有不同的要求。
集成传感器和传感器融合通常可以解决这个问题。通过与合适的供应商合作,您可以确保在获得准确、可靠的数据以及特定应用程序的增值功能方面不会妥协,同时将成本和功耗降至最低。
审核编辑 黄昊宇
全部0条评论
快来发表一下你的评论吧 !