阅读,与值得关注的内容Readance

VIO/LIO对于IMU传感器的要求

VIO/LIO 对 IMU“质量”的要求高,但不一定要求 IMU 是高精度战术级;它们对“量程、采样率、时间同步、噪声/偏置稳定性”往往比单纯的角度随机游走指标更敏感。


而且 VIO 和 LIO 对 IMU 的依赖方式不完全一样。对于现在的 AiBrainBox-V,目前的非对称双 IMU是比较合理的架构。

所以:

NavCore目前“双IMU”的价值,在VIO/LIO场景下甚至比单纯做INS更加明显。


  • 为什么 VIO 需要 IMU?

VIO不是简单:

Camera → 算位置

而是:

Camera提供几何约束,IMU提供高频运动先验。

IMU的作用尤其是:

① 两帧之间发生了什么?

Camera可能只有30/60 FPS。

但是 UAV 在两帧之间已经发生了大量运动。

IMU可以告诉VIO:

这0.016秒/0.033秒里面,平台大概怎么转、怎么加速。


② 解决快速旋转

这对 UAV 非常重要。

如果 UAV 快速横滚:

Frame k

快速旋转

Frame k+1

视觉特征可能已经发生巨大位移。

IMU提供旋转先验之后:

VIO搜索空间会大幅缩小。

所以 IMU 对高动态 VIO 的价值非常明显。


VIO不是纯惯导。

不要求:

IMU单独积分10秒仍然非常准。

而是:

IMU预测几帧之间的运动,Camera不断纠正。

所以:

低动态

普通 MEMS IMU都可以做VIO。

中动态

需要比较好的 MEMS。

高动态

需要:

  • 高采样率
  • 足够量程
  • 较低噪声
  • 较小延迟
  • 稳定bias
  • 良好同步

而不一定非要战术级IMU。

真正危险的是 IMU 饱和

VIO:

量程不足有时候比噪声稍微大一点更加致命。

这就是为什么:

Precision IMU + High-G IMU

非常有价值。

  • LIO对IMU的要求反而有一个不同的地方

LIO里面IMU还有一个非常重要的作用:

LiDAR Motion Compensation / Deskew

这点非常关键。

机械旋转 LiDAR 一个扫描周期可能是:

50ms / 100ms

但是 UAV在这100ms里面已经移动了。

因此一个点云实际上不是“同一时刻”采集的。

必须根据IMU估计:

每个点采集时刻 UAV 的姿态/运动

然后:

Deskew

LIO-SAM就明确使用IMU对一帧LiDAR扫描进行去畸变,并强调IMU频率越高,精度越好,推荐至少200 Hz。

所以:

高动态 LIO 对 IMU 的要求非常高。


例如 Point-LIO 明确强调可以处理:

  • IMU saturation
  • severe vibration
  • aggressive motion
  • 75 rad/s级快速旋转

并且要求算法知道IMU的 acceleration / gyro saturation limits。

这说明一个趋势:

未来LIO并不是简单要求“IMU永远不能饱和”,而是算法开始具备对IMU饱和和高动态的鲁棒性。

低动态情况下是不是反而不需要那么好的IMU?

基本是。

例如 UAV:

悬停 / 缓慢飞行 / 缓慢转弯

此时:

  • Camera特征稳定
  • LiDAR几何稳定
  • IMU没有接近量程
  • VIO/LIO自身约束很强

所以:

IMU的高精度主要体现在“短时间预测”和“bias稳定性”,而不是必须达到极高的绝对精度。

因此:

低动态 → Precision IMU发挥优势

高动态 → High-G IMU发挥优势

这恰好与现在的双IMU架构匹配。

VIO/LIO 有一个比 IMU 精度更重要的问题:同步

例如:

Camera:

60 FPS

IMU:

400 Hz

LiDAR:

10 Hz

如果三者时间戳存在:

5 ms误差

对于高速 UAV:

5 ms × 200°/s = 1°

已经产生明显姿态误差。

而LIO更严重,因为它直接影响:

Point Cloud Deskew。

LIO-SAM明确要求正确的 IMU/LiDAR 外参和时间相关点云信息;IMU与LiDAR的时间和坐标关系是算法正确工作的基础。

所以对于 AiBrainBox-V:

时间同步优先级 ≥ IMU精度升级。

VIO 来说还有一个特殊问题:Rolling Shutter

你之前的 AiBrainBox-V 有:

Downward 4K Rolling Shutter

这个地方尤其值得注意。

Rolling shutter:

Row 1      t0

Row 2      t0+Δt

Row 3      t0+2Δt

...

Row N      t1

如果 UAV在快速运动:

一张照片本身就不是同一时间拍出来的。

所以:

高动态 + Rolling Shutter

对VIO非常不友好。

研究也明确表明,忽略 rolling-shutter motion distortion 会显著降低 VIO 的准确性和鲁棒性。

这说明:

Front/Left/Right 使用 Global Shutter,是非常正确的。


VIO/LIO真正需要的是“与算法匹配的IMU”,而不是“最高级的IMU”。

对于 AiBrainBox-V:

Precision MEMS

解决:

低/中动态精度

High-G MEMS

解决:

高动态不饱和

VIO

解决:

视觉外部约束

LIO

解决:

LiDAR外部空间约束

Dual RTK

解决:

全球绝对位置 + True Heading

这套:

高精度低量程 MEMS + 低精度高量程 MEMS

不仅能满足传统 INS,实际上非常适合 AiBrainBox-V 后面做 VIO/LIO 的统一 Navigation Core。

尤其是:

高动态时,高量程 IMU并不是为了让“惯导本身还能精准导航”,而是为了让 VIO/LIO 的高频预测、旋转估计和 LiDAR Deskew 不因为 IMU 饱和而崩掉。

而低动态时:

高精度 IMU负责把 VIO/LIO 的短期状态估计做得更干净。

这就形成了一个很漂亮的分工:

低动态 → 精度

高动态 → 量程

长时间 → 视觉/LiDAR约束

绝对位置 → Dual RTK


前往微信阅读全文

内容来自公众号,可前往微信查看原文。

查看作者的更多文章 →