技术解析:传感器融合增强设备性能
随着智能手机等功能强大的智能设备不断进步,新的应用层出不穷,系统开发经常跟不上不断变化的新要求。如今,诸如室内导航和增强现实等使用运动或位置数据的新应用,都要求用户接受原本是为简单游戏应用开发的、不太完美的传感器融合。但是,最终用户很容易发现这些实现具有相当多的缺点,并且精度很低。
传感器融合是一种创新的工程技术,通过整合来自各种系统传感器的数据,来保证更加精确、完整和可靠的传感器信号或感知信息。要想实现始终精确的传感器融合,工程师在决定如何优化整合来自这些传感器的数据之前,深入理解传感器的优缺点很重要。一种可成功实现的方法是使用基于加速度计、磁力计和陀螺仪等传感器信号的融合数据库,并通过补偿每种传感器的缺点,来提供高精度、可靠和稳定的方位数据。
随着最终用户不断接触到这些新的应用,他们希望能有更加精确和可靠的解决方案。将传感器用于在已知固定位置之间跟踪用户的室内导航与早期的GPS设备非常类似,只有质量优异的传感器融合,才可以提供所要求的逼真度、精度乃至用户信心。OEM厂商都明白这一点,因此大多数厂商都认为这是实现产品差异化的良好契机。
另外一个例子是从虚拟现实到增强现实的进步。在虚拟现实(VR)系统中,用户与现实世界相隔离,沉浸于一个人造世界中。而在增强现实(AR)系统中,用户仍能与现实世界相接触,同时又能与他们周围的虚拟物体进行互动。利用现有的技术,信息传送的延迟对用户来说是不能忍受的-增强现实中的这种错位可能导致非常糟糕的用户体验。
对OEM厂商和平台开发人员(即操作系统开发人员)来说,最大的挑战是需要确保所有器件都能提供满足这些应用稳定工作要求的性能。举例来说,安卓设备中有许多不同的软硬件组合,每种组合都会产生不同的输出质量。目前没有标准的测试程序,这意味着应用开发人员不能依靠安卓传感器数据在许多不同平台上实现相同的性能。以下是用运动跟踪摄像头系统分析和比较不同软硬件组合性能从而设定最小性能标准的建议。性能分析是通过测量系统的4个关键性能指标(KPI)实现的,这些指标是:静态精度、动态精度、方位稳定时间和校准时间。
摄像头系统通过跟踪物体上的标记根据物体(智能手机)的运动产生方位矢量,这些矢量再与手机中传感器创建的矢量进行比较。数据记录应用程序对这些矢量进行同时记录,该应用程序支持最终用户设备的直接比较。
本文将介绍智能手机环境中传感器融合的概念,讨论如何使用传感器融合软件提高总体精度,并介绍在许多旗舰智能手机上执行的、包括性能结果测量在内的一种测试方法。
文章所描述的融合库使用加速度计、磁力计和陀螺仪传感器信号补偿彼此的缺点,并提供高精度、可靠和稳定的方位数据。下面着重分析这些关键器件的优缺点,以及它们是如何补偿彼此缺点的(图1)。
图1:MEMS传感器的固有特性。
物体的方位描述了它在三维空间中是如何放置的,一般来说,方位是相对于一个坐标系中规定的参考系进行定义的。至少需要3个独立的值作为三维矢量的一部分,用于描述真正的方位。物体的所有点在旋转过程中都会改变它们的位置,位于旋转轴上的点除外。
磁力计
磁力计对干扰性的本地磁场和畸变高度敏感,它们容易造成计算得到的磁航向出现错误。陀螺仪可以用来在没有旋转记录的情况下检测这种干扰和航向变化。传感器融合随后通过给陀螺仪数据提供比磁力计数据更多的权重,就可以精确地进行补偿。
地球磁场的水平分量用于计算磁航向,而俯仰角和滚转角分别是沿着水平(X)和垂直(Y)轴的倾斜角。这些倾斜角影响XY轴方向的磁场。当设备不处于水平位置时,即倾斜角不是零时,航向计算将不正确。因此在利用加速度计,通过旋转XY平面对方位进行计算之前,确保这些倾斜角得到补偿很重要。
加速度计
加速度计只能测量因设备运动引起的加速度和因重力引起的加速度在内的总加速度值,而不能检测二者之间的区别,因此需要将重力和运动分开来:
线性加速度=加速度-重力加速度
可以将重力矢量想象为一种指示重力方向和幅度的三维矢量。当设备处于静止状态时,重力传感器的输出应该与加速度计的输出相同。
线性加速度可以被看作是一个指示每个设备轴向加速度的三维矢量,并且在手机应用中被认为与重力分量无关。
此时就用得到陀螺仪了。陀螺仪可以用来检测设备何时处于静止状态,并触发重力矢量偏移校准的计算。结果可再转而用于计算设备运动过程中的动态分量(线性加速度)。
陀螺仪
陀螺仪可以提供围绕着三个轴的旋转速度,因此可以用来跟踪设备在运动中的方位。陀螺仪可以跟踪的旋转速度高达2000度每秒(dps),而磁力计可跟踪的速度被限制在约400dps以下。但是,陀螺仪只能输出相对位置,因此需要有一个不失真的磁力传感器作为参考。
所有消费级陀螺仪都存在固有的漂移误差,因此即使设备处于稳定状态,陀螺仪也会随着时间和温度的变化发生一定程度的旋转。为了纠正这些误差,可以用高稳定性的加速度计检测静止状态,然后经计算进行适当的补偿。
现实世界设计
传感器融合是一个高度专业化的设计领域,需要熟练掌握建模和仿真技术。它要求尽最大可能地理解传感器的工作细节以及它们的缺点和交互情况。多年来,人们的关注点已经被带进导航、智能手机应用和游戏等领域。但直到现在,借助大量知识的储备和累积,才使得人们可以获得真实和精确的结果。
在基于传感器融合的系统中,操作需要进行精细调整。现实世界中没有什么事像“即插即用”这么简单。一个系统的试运行要求必须调整参数,而且每个传感器的操作之间存在交互,因此很容易变成高度复杂的反复过程。如今的软件具有以很高层次执行这种“精细调整”的能力,并且可以向OEM厂商提供简单直观的滤波器调整程序(图2)。
图2:典型的传感器融合软件架构。
预定义滤波器使得精细调整速度更快
既然传感器融合操作的精细调整已发展并简化成了滤波器调整任务,它就给开发人员提供了一个有价值的机会。通过适当调整滤波器,开发人员或OEM厂商可以让最终产品以市场差异化的方式运行。由于所有权衡管理都是自动完成的,开发人员可以做出有效的决策,例如在最高稳定性和最高性能之间做出权衡,以便适应最终目标市场。
关键性能指标测量设置
所有传感器融合技术并不等同。在现有的实现技术和测试方面,不同供应商之间有很大差异。为了得到正确结果,必须采用含有经过验证的精确库的正确软件方法。
所有硬件在接口和时序参数方面必须兼容和匹配。合理的方法是确保摄像头系统的性能,这些系统将通过跟踪物体上的标记根据物体(本例中是智能手机)移动产生方位矢量。方位矢量再与传感器创建的、用数据记录应用同时记录的矢量进行比较。使用这种基于摄像机的系统允许对最终商用设备进行直接比较。
静态精度
静态精度被定义为设备置于稳定位置时,测量到的设备方位与实际设备方位之间的偏差。为了计算静态精度,需要手机在多个位置静止放置时收集航向、俯仰和滚转方面的成套数据。一个设备的静态精度主要受磁力计和陀螺仪的硬件参数以及软件中给它们分别分配的权重影响。在具有低静态精度值的设备中,最终用户可以在罗盘或地图应用的绝对航向中看到很大偏差,当设备处于静态状态,他们还能在交互式应用中见到抖动(很小的旋转移动)。这是由于软件校正陀螺仪漂移引起的。
动态精度
动态精度被定义为设备在运动时,测量到的设备方位与实际设备方位之间的偏差。由于在运动期间涉及到旋转加速度,测量起来更加困难。动态精度是在手机以不同运动模式(8字舞、慢速线性、快速和慢速旋转以及游戏动作)运动时,通过采集航向、俯仰和滚转等成套数据进行计算的。所有数据都以最快可能的数据速率进行采集。
在具有低动态精度的设备中,最终用户可以看到屏幕上的移动与设备实际运动之间有很大偏差。这在增强现实应用中特别引人注意,因为增强单元的移动与现实世界不是同步的。这也是用户在使用虚拟现实几分钟后就感到不满意的原因之一。
虽然直接关系不是很明显,但大误差的动态精度也是室内导航应用性能差的主要原因。由于用户在已知固定点之间导航(比如从Wi-Fi或蓝牙信标开始),传感器数据可用于计算轨迹。然而,航向误差将随着时间的推移而累积,因此具有15°较差动态精度的设备很容易在20s~30s时间内产生超过100°的累积误差。诸如地图匹配等更高层处理也许可以做些修正,但代价是更大的功耗(图3)。
图3:方位随时间发生偏离。
校准时间
校准时间被定义为在纯净的磁场环境中校准设备中的磁力传感器,使之从未校准状态到完全校准状态所需的时间。所有磁性传感器都需要进行校准,但用于校准的方法定义了最终用户是否需要校准以及如何去校准。
一些设备采用8字舞校准方法,即提示最终用户将设备在空气中做8字运动完成设备的校准。即使是由有经验的测试人员来做,这种方法也要花5s~6s的时间才能完成设备校准。
具有较短校准时间的设备使用陀螺仪校准磁力传感器,这意味着校准可以在背景中运行,所要求的设备移动幅度要小得多。这些移动通常在正常操作中进行,最终用户永远不必主动去校准传感器。博世传感器技术公司的快速磁力校准(FMC)算法就是使用后一种方法来确保较短的校准时间。
方位稳定时间
方位稳定时间被定义为“运动之后”到达精确、稳定方位状态所需的时间。方位稳定时间应尽可能短,以便用户看不到他们停止移动设备与设备停止移动并稳定到正确位置之间的延迟。当设备的静态和动态精度都很差时,设备上的这种延迟就很明显,因为需要更多时间校正移动中累积的误差。这种效应在需要实时响应的游戏和虚拟/增强现实应用中尤其令人讨厌。
从详细的评估和分析来看, 显然本文所述的传感器融合现在可以广泛应用于专业级和消费级市场。现场试验表明,用户可以在性能和精度方面获得有价值的升级。虽然硬件和软件方面的概念和工程技术比较复杂,但对开发人员来说,从当前传感器融合过渡到这种先进解决方案的任务却相对简单。
传感器融合技术现在已经发展到相当成熟的阶段。通过将传感器和传感器融合构建模块设计到相同封装中,可以确保这些单元得到最优化,并能够很好地协同工作。系统设计师不再需要在组装、优化和调试传统“永远在线”子系统方面花费时间,因为通过设计,每个器件都对最高精度和最低功耗做了优化。
这种高度的技术和设计创造性带给开发人员的优势,可以给OEM厂商提供巨大好处,他们不仅能够向市场推出高度差异化的产品,而且其向用户提供的整个新一代电子设备还将具有显著改进的性能和功效。