面向精确室内定位系统的低延迟实时 IMU 传感器融合
内容概要
借助实时低延迟 IMU 传感器融合,您可以获得:
- 高达 500 Hz 的位置更新率
- 5-25 ms 延迟(取决于移动物体的运动类型和设置)
- 3D 跟踪。同样支持 1D 和 2D 跟踪(当然啦 :-))
- 目前仅支持 IA。对 NIA 和 MF NIA 的支持也即将推出
- 用于位置 + 朝向时,需要采用成对信标(Paired Beacons)配置,并在移动信标之间进行双线连接
- 该功能由 MMSW0021: Realtime Ultrasound + IMU sensor fusion 许可证启用
实用提示与建议
评估您需要哪种 IMU 传感器融合
首先,请在几种 IMU 传感器融合方案中做出选择。请记住,您需要的并不是 IMU 传感器融合本身,而是它带来的效果:更高的位置更新率、更低的延迟、对短时遮挡更强的鲁棒性以及更高的精度。IMU 传感器融合是实现这些目标的途径之一,但不是唯一途径:
- MMSW0009: Ultrasound + IMU sensor fusion (post-processing) 和快速室内定位系统:IMU 与超声波传感器融合:如果后处理对您来说已经足够好,就使用它。就精度和鲁棒性而言,它始终优于 MMSW0021: Realtime Ultrasound + IMU sensor fusion,因为对于后处理,IMU 传感器融合拥有更多数据,能够对融合做出更好的判断。无论是否采用成对信标配置,它都可以工作
- MMSW0017: High update rate extrapolation:如果您的移动物体运动相对可预测,例如卡丁车、速度滑冰运动员及类似对象,请使用它。当然,在发生碰撞时,运动就不再可预测,算法也会吃力。但在大部分时间里,您都能获得非常好的跟踪效果,延迟几乎为零,甚至为负(外推/预测)。无论是否采用成对信标配置,它都可以工作
- MMSW0021: Realtime Ultrasound + IMU sensor fusion:这一方案的主要优势是位置数据的低延迟。就该词的通常含义而言,它是所有 IMU 传感器融合算法中最具代表性的 IMU 传感器融合分支。目前它要求移动信标(hedge)采用成对信标配置,并且仅适用于 IA
- 面向朝向的 IMU 传感器融合。这是真正的 IMU 传感器融合,但仅针对角度数据,而非位置。必须采用成对信标配置。您将获得由陀螺仪决定的极高角分辨率,并且由于经过传感器融合,并由成对信标配置持续修正,陀螺仪不存在漂移。移动信标必须采用成对信标配置。若使用 Marvelmind 协议获取,则无需任何可选许可证。对于 NMEA:MMSW0002: Heading packet GPHDT for NMEA0183。对于 uBlox:MMSW0003: UBX (u-blox) protocol for PX4
- 也许您根本不需要 IMU 传感器融合,合适的设置就能为您带来足够高的更新率和足够低的延迟:
仅支持名称中带有 -4 或更高版本号的较新信标
目前支持的移动信标有:
- Super-Beacons-4
- Industrial Super-Beacons-4
- Industrial-RX-4 with Omni
- Industrial-RX-4 with Horn
这些以及其他移动信标的更新硬件版本,很可能支持 MMSW0021: Realtime Ultrasound + IMU sensor fusion。
为避免疑惑:
- Super-Beacons、Super-Beacons-2、Super-Beacons-3、Industrial Super-Beacons-2 和 -3、Industrial-RX-2 和 -3 以及其他较早的设备,作为移动设备时不支持 MMSW0021: Realtime Ultrasound + IMU sensor fusion
- 不过,作为固定信标则没有任何限制,它们可以轻松用作固定信标,前提是它们在 IA 中能够作为固定信标工作。例如,Industrial-RX 在 IA 中不能作为固定信标,因为它根本没有换能器,无法发射超声波。这与本功能无关,但不能忘记架构的基本要求。即使是非常早期的 Beacons HW v4.9 也可以用作固定信标
需要采用成对信标(Paired Beacons)配置
目前,功能 MMSW0021: Realtime Ultrasound + IMU sensor fusion 仅适用于移动信标的成对信标配置。为什么?因为在静止状态下,没有切实可行的方法能以足够高的精度确定单个移动信标的朝向(偏航轴)。
确实,在移动物体已经处于运动状态时,可以确定偏航方向,将其锁定,并跟踪和修正漂移。我们在 Marvelmind 的 DJI 无人机方案中已经成功实现了这一点:
不过,这对移动物体相对于系统坐标的初始摆放位置,或者对最初 0.5-1 m 的移动(直到偏航轴方向锁定为止)提出了额外的要求。在某些情况下,这个限制过于苛刻;在另一些情况下,这是一个简洁的方案,您无需携带两个移动信标。MMSW0021: Realtime Ultrasound + IMU sensor fusion 功能的这种子方案即将推出。一般来说,由于可用数据更少,它很可能比采用成对信标配置的基础子方案更脆弱。但在某些情况下,它是一个强有力的助力,因为用户可能根本没有足够的空间来安装成对信标配置,而该配置要求移动信标之间的基线至少为 20-30 cm。
成对信标:移动信标之间需要基本的两根连接线
对于成对信标配置,移动信标之间必须通过两根线连接:
- 从信标(位于右侧)的 UART TX 必须连接到主 Super-Beacon 外部 4×4 引脚(或其他信标中的等效引脚)上的 UART RX 引脚
- 两个信标的地线也需要连接
有关成对信标配置的更多信息,请参阅操作手册。
移动信标的相对摆放位置很重要
- 建议信标麦克风(或中心)之间的基线至少为 20-30 cm。更短的距离也可能有效,但鲁棒性会逐渐下降
- 主信标必须位于这对信标的左侧
- Super-Beacon 的 USB 接口或 Industrial 信标的 7 针接口必须位于这对信标的后方。也可以旋转,但此时必须更改设置
- 图中所示的坐标轴适用于 Super-Beacon。Industrial Super-Beacon 未显示坐标轴(图片以后可能会更新)。不过,由于电路板上 IMU 芯片的位置不同,其坐标轴很可能有所不同
与用户设备的连接,以及避免额外延迟的方法
由于功能 MMSW0021: Realtime Ultrasound + IMU sensor fusion 的最大亮点是位置数据的低延迟,因此务必清楚地了解如何获取位置数据,避免因接口或操作系统而引入额外延迟:
- 通过主移动信标(hedge 或 hedgehog)的常规 UART,使用 Super-Beacon 的 4×4 引脚或 Industrial 信标 7 针数据连接器内的引脚,是获取低延迟位置数据最佳且最简单的方式,不会产生明显的额外延迟
- 通过主 hedge 的 USB(额外延迟约 1 ms,外加 USB 驱动延迟(取决于操作系统))。最大的顾虑是操作系统延迟及其抖动不可预测。额外延迟难以评估,从几乎察觉不到到相当可观都有可能。由于操作系统不可控的延迟而造成的潜在延迟抖动是另一个顾虑。不过在实际中,这些顾虑可能被夸大了,此时这种连接方式使用的是 USB,甚至比 UART 接线(见上文)更简单
- 通过额外的 Modem HW v 5.1 的 USB/UART,并在分体式调制解调器架构(Split Modem Architecture)中加载专用固件(额外延迟:经 500 kbps 无线电传输约 1 ms,外加 UART/USB 延迟(见上文))。当您希望在调制解调器一侧(而非移动信标一侧)获得低延迟数据时,这是最佳方式,例如以高位置更新率和低延迟跟踪某个物体
- 通过 Dashboard 的 UDP,主 hedge 经 USB 连接(额外延迟约 1 ms,外加 USB 驱动延迟,再加 UDP 传输延迟(通常为 3…50 ms,取决于您的网络))
- 通过 Dashboard 的 REST 或 MQTT,主 hedge 经 USB 连接(额外延迟约 1 ms,外加 USB 驱动延迟,再加 REST/MQTT 传输延迟)。总的额外延迟同样难以评估,但该方式也受支持
- 通过 Dashboard 的 UDP/REST/MQTT/日志,Modem HW v 5.1 加载分体式调制解调器架构(Split Modem Architecture)中的专用固件(额外延迟与 hedge 连接到 Dashboard 时相同,再加经 500 kbps 无线电传输的约 1 ms)
- 通过 Dashboard 中的日志文件,主 hedge 经 USB 连接(用于后处理,延迟不适用)
这不算主要的实际限制,但目前移动信标的加速度上限为 16 g,远高于普通移动物体在现实中所经历的加速度,除非它们猛烈撞上硬物。然而,当它们猛烈撞上硬物时,IMU 传感器融合或因加速度过大而突然失去完美跟踪,大概也不是最需要担心的问题。尽管如此,请记住这一上限。如果您的需求包括更高的加速度,或者您有其他顾虑,请随时将需求发送至 info@marvelmind.com。
Dashboard 设置
与 MMSW0021: Realtime Ultrasound + IMU sensor fusion 功能相关的设置有很多。请记住,该功能仅面向高级用户。如果您是新手,请从最简单的配置开始逐步操作;先确认跟踪效果完美,待熟悉系统之后,再开始使用此功能:循序渐进的方法及其对成功的重要性。
归根结底,什么是 IMU 传感器融合?...
在谈到面向精确室内定位系统的 IMU 传感器融合时,有几个要点需要牢记:
- 传感器融合从定义上讲意味着不止一个数据源,目的是将各个融合对象的优点结合起来,例如:IMU + 超声波室内定位,或 IMU + 超声波 IPS + 里程计,或 IMU + 超声波 IPS + 视觉 … 可供融合的数据源有很多
- 我们并不把传感器融合看作“一个通吃所有场景的算法”,它是一棵拥有多个传感器融合分支的解决方案树,而 IMU + 超声波只是众多选项之一。当前的实现也只是其中一个分支。更多 IMU 传感器融合的分支/方案还将陆续推出。用户必须清楚地区分它们,才能为具体场景选择最佳方案,因为这里总是存在取舍
当我们提到 IMU(3D 加速度计 + 3D 陀螺仪)传感器融合时,通常指的是将 IMU 数据与超声波室内定位系统的数据融合在一起,取两者之长。
通常,它还包括其他数据源:用于位置 + 朝向的成对信标、里程计,以及以某种方式嵌入移动物体的模型。
请注意,我们通常不与磁力计融合,因为我们专注于室内解决方案,而磁力计在室内可能无法良好工作:周围的铁磁材料会严重扭曲地磁场,会产生自身磁场的大电流也会干扰地磁场。这样的问题并非总是存在。但是,总体而言我们不能依赖磁力计。因此,我们采用成对信标配置来获取位置 + 朝向:Boxie 2 – driving intro short。
话虽如此,我们也并非完全排除磁力计。在某些情况下,环境无法使用 GNSS,但地磁场可用,此时可以使用磁力计。这时,它是通过 4×4 扩展接口连接到 Super-Beacon-4 或 Industrial Super-Beacon-4 的外部板,通常经由 I2C、SPI 或其他方式连接。如果成对信标配置不适合您的场景,请提出此需求。
如果对所跟踪的对象一无所知,仅凭 IMU 传感器跟踪任何物体都是很困难的。对物体有一些了解几乎是必不可少的:“叉车不会飞”“叉车的货叉可以在 3D 空间中移动”“竞速无人机或 U 型池滑雪跳台运动员可能做出快速的 3D 机动,而在平面上行驶的 2D 配送机器人则不太可能”,等等。因此设置项很多,也许太多了。我们制作了若干配置文件(profile),这样您就无需深入研究,但如果您愿意,也可以对 IMU 传感器融合系统进行几乎无限的控制。
明智而现实地选择您的目标
此外,必须清楚地了解您究竟想用传感器融合实现什么。IMU 传感器融合是一种非常强大的解决方案,但仍然存在取舍,并非所有目标都能同时实现。您必须在几个常见的要素之间做出选择:精度、更新率、延迟、稳定性、鲁棒性、灵活性、复杂度、价格等。
那么,您究竟想用传感器融合实现什么?
- 高更新率?
- 低延迟?
- 更高的定位数据精度?
- 对遮挡或可能导致跳变的噪声源有更强的抵抗力?
这正是传感器融合不是一个通用方案、而是一棵解决方案树的主要原因之一,树的各个分支中还有不同的配置文件(profile),分别针对特定需求。
低延迟与高更新率
对短时遮挡或噪声具有更高的鲁棒性
传感器融合的特性使其对因短时遮挡或噪声而引起的位置跳变具有更高的鲁棒性。请对比纯超声波跟踪与传感器融合后的跟踪效果。
IMU 传感器融合太完美了。问题出在哪里?...
低延迟 IMU 传感器融合确实是一项非常强大的功能,能产生非常令人印象深刻的结果。但是,用户也必须清楚地了解其要求:
- 这是一项复杂的功能,有大量设置,因此适合有经验的用户。如果您遇到困难或不确定,请随时通过 info@marvelmind.com 咨询。我们将这些设置合并成了配置文件(profile),因此您无需设置任何东西,甚至无需启用该功能,在您购买许可证后它会自动启用。不过,高级(Advanced)配置文件中有非常多的设置,因此您可以尽可能贴近地针对自己特定的移动信标型号进行调整,从而获得尽可能好的结果
- 它需要成对信标(Paired Beacons)配置。其他方案(使用单个信标,但对初始摆放有一些额外要求,或使用外部磁力计的版本)也是可行的,并即将推出。当前方案,也是推荐方案,是其中最稳健的版本
- IMU 传感器融合会做出大量假设和猜测(预测),因为按照实时方法的定义,它使用的是不完整且未经验证的数据。因此,当超声波跟踪本身较差时,IMU 传感器融合可能无法修复,反而会放大问题。对于较短的跳变或较短的遮挡,它通过有效吸收或忽略这些超声波跟踪跳变来改善整体跟踪
总体而言,尽管我们提醒了这么多,它仍然是一项非常强大的功能,可同时从多个维度大幅提升跟踪指标:延迟、更新率、鲁棒性,甚至精度。
多个(相互矛盾的)目标 = 多个 IMU 传感器融合分支
高位置更新率很容易实现,低延迟则天生困难:
- 您可以通过多种方式实现高位置更新率,从基本的插值开始。这不会牺牲精度,因为这些物体本身就具有足够的惯性。这就是我们基本的实时播放器(Realtime Player),它已内置在 Dashboard 中。如果物体对于给定的实际超声波位置更新率来说过于灵活,插值当然就不起作用了,此时您需要更复杂的方法,例如实时 IMU 传感器融合,这正是本页的主题
- 您可以采用IMU 传感器融合后处理,我们已提供多年。它是真正的传感器融合,能够返回真实的高更新率,而不会“偷工减料”。但延迟相对较高。对于任何被跟踪、且不需要对位置立即做出反应的对象,它通常是最佳且推荐的方案,例如体育运动:您可以跟踪令人印象深刻的运动员空翻。空翻只需要几分之一秒,但跟踪结果在 1-2 秒后才可用。或者,您想教会您的超高速赛车以最佳方式过弯:先记录手动驾驶,用后处理 IMU 传感器融合进行精确跟踪,然后将一些 AI 训练引入闭环。位置数据是在 10 ms 之后还是 10 秒之后得到并不关键。只要不是 10 小时,通常就没问题
- 在某些情况下,例如卡丁车,对象是相当已知的:其惯性、驾驶风格、最大速度等,您可以将这些信息间接嵌入模型。有了足够高质量的初始纯超声波室内定位数据,您就可以对位置数据进行外推或预测,延迟为零甚至为负,毕竟这是一种预测。它并不适用于所有类型的移动物体,例如仓库中的人员,他们太灵活、太不可预测,但它对于一大类惯性足够大的移动物体效果非常好。当它适合您的场景时,请使用它。这是一个简单而稳健的系统,您无需把事情搞得过于复杂:MMSW0017: High update rate extrapolation
- 基于成对信标的用于位置 + 朝向的 IMU 传感器融合处于 IMU 传感器融合谱系中较简单的一端,因为它消除了偏航漂移,但不处理位置。它是真正的 IMU 传感器融合,具有极高的角分辨率,且没有角度漂移或跳变。角度取自陀螺仪,拥有陀螺仪的所有优点:高分辨率、低噪声、很高的更新率,而陀螺仪的偏航漂移由成对信标配置消除。俯仰和横滚漂移则基于 3D 加速度计数据消除
- 而其中的集大成者是 Realtime Ultrasound + IMU sensor fusion:它是最先进、最复杂的融合版本,而其全部复杂性都来自对低延迟的要求
传感器融合需要克服的挑战
传感器融合旨在克服单一数据源的不足,例如:
- 基于超声波的室内定位系统:位置不会漂移;能返回精度极高的位置数据;但容易受到高强度声学噪声或遮挡引起的跳变影响
- IMU(3D 加速度计 + 3D 陀螺仪)具有令人难以置信的角分辨率,即可以用极高的分辨率测量方向的变化;它不会跳变,因为加速度计和陀螺仪的噪声非常低,可以给出微米级(而非毫米级)的定位精度。然而,IMU 会漂移,而且漂移得非常快:对于现代电子产品中使用的普通 MEMS,只需几分之一秒或几秒。您非常清楚角度的短时变化,但并不知道角度本身(我指的是 Z 轴,借助加速度计,其他所有角度都很简单);您可以对加速度计做二次积分,但加速度计的零偏等指标远非理想,在几分之一秒或几秒内累积的位置误差就已高于超声波室内定位系统。所以,IMU 会“说谎”。因此,不应对纯惯性室内定位系统抱有美好的期待。除非基础物理学发生根本性改变,否则与基于超声波的室内定位系统相比,它们要么无法实现,要么精度很低
为什么低延迟难以实现(甚至难以测量)
如果您可以采用 IMU 传感器融合后处理,那就采用它。它始终比实时 IMU 传感器融合更精确、更可靠:
- 后处理可以考虑更多的数据,因为有更多数据可用:您可以长时间积累,然后再使用,置信度更高,对遮挡、噪声或其他干扰引起的跳变鲁棒性更强
- 考虑的数据更多,精度更高、置信度更高、鲁棒性更强
而对于实时 IMU 传感器融合,您根本没有拥有更多数据的“特权”。要积累更多数据,就需要更多时间。更多时间 = 更高延迟。更高延迟则对应 IMU 传感器融合后处理。效果出色,但来得更晚。
采用实时低延迟 IMU 传感器融合时,您拥有:
- 基于超声波的历史位置数据。典型更新率为 4-20 Hz,即距最近一次超声波位置更新的平均延迟 = 1/(位置更新率) = 1/20.. 1/4 秒 = 50 … 250 ms,这对大多数实际工业应用来说已经足够。然而,如果只使用历史数据,就不需要 IMU,您可以依靠更简单、通常也更可靠的外推方法,它对某些类型的移动物体效果非常好,但仅限于其中一部分
- 您拥有最新的超声波位置更新。这很好,但任何数据都不可能 100% 可信。而且您还没有足够的信息(暂时没有!)来验证,超声波测得的位置突变究竟是真实的变化(比如我们的移动物体被某个又重又强的东西撞了一下),还是仅仅由噪声或遮挡引起的跳变。您无法确定,因为没有额外的数据来验证。等到有了这些数据时,再使用它已为时过晚,因为新的数据已经到来,旧数据已经过时,您必须始终向前冲。所以,是的,我们会间接地使用它来修正规则、假设和权重,但它无法用来验证当前的数据,因为我们此刻不可能拥有那些验证数据
- 原始 IMU 数据。这帮助很大:如果您认为位置发生了突变,这也意味着速度发生了突变,即存在很大的加速度,而 IMU 很容易检测到这一点;实际上,如果没有检测到,就说明并没有发生跳变。这解决了一部分问题…好,那是幻影/跳变/遮挡之类的。例如,IMU 没有显示出能解释位置跳变的剧烈加速度。因此,我们可以排除超声波测得的位置是正确的这种可能,它是不正确的。但正确的位置是什么?这是一个难题,困难正是从这里开始的。我们该如何处理原始 IMU 数据,以基于 IMU 计算位置?…对加速度做简单的二次积分?这么简单?!并非如此:一块理论上完全水平地放在平面上的 IMU 芯片,也会在 X、Y 方向上显示出相当明显的加速度,读取原始数据并测量一下就会发现,因为它们并不完美。校准?有帮助,也值得推荐,非常有用。但考虑到二次积分与时间的平方成正比,更好的校准带来的收益在字面意义上是短暂的。原本只能撑 1/4 秒,现在可以在 1、2、5 秒内将精度保持在 +-2 cm 以内!但也仅此而已。此后,未被抵消的积分误差将开始占主导,您需要某种不漂移的数据源来抵消漂移:光学定位、UWB、里程计、Marvelmind 超声波定位系统,或者最好是它们的组合。这才是真正的传感器融合。这也正是我们所做的,并加入了自检和自验证算法,它们遵循一个唯一的信条:任何单一数据源都不可信。但当它们被高效地融合在一起时,就成为非常值得信赖、非常可靠、非常精确的室内定位数据源


























