3. 传感器基础

VIO(Visual-Inertial Odometry)之所以能在无人机上稳定运行,根本原因在于它同时使用了两种互补的传感器:IMU 提供高频的角速度与加速度,视觉相机提供低频但绝对可观测的环境约束。理解这两类传感器的物理原理、数学模型、标定方法与噪声特性,是后续所有融合算法能够落地的前提。本节从工程视角梳理这条传感器链路。

一、IMU 工作原理:从物理量到数字信号

MEMS IMU 的核心是微机械结构。陀螺仪利用科里奥利力测量角速度:当质量块在驱动方向振动时,若存在绕敏感轴的旋转,就会在正交方向产生与角速度成正比的位移,通过电容变化转换为电压信号。加速度计则通过检测质量块在加速度作用下的位移来测量比力(specific force),即包含重力在内的非引力加速度。

工程上必须区分两个概念:加速度计输出的是比力 f = a - g,而不是纯运动加速度。静止时加速度计读数约为 +9.81 m/s²(沿重力反方向),这正是 VIO 中重力方向可观测的来源。IMU 的典型输出模型可写为:

ω_meas = ω_true + b_g + n_g
a_meas = R^T (a_true - g) + b_a + n_a

其中:
  b_g, b_a  : 陀螺/加计零偏(缓慢漂移,随机游走)
  n_g, n_a  : 白噪声(高频抖动)
  R         : 机体到世界系的旋转

IMU 的采样率通常为 100–1000 Hz,远高于相机,因此它在 VIO 中承担“高频积分、短时预测”的角色;但积分会累积零偏误差,必须由视觉观测来约束和修正。

二、视觉相机模型:针孔投影与畸变

相机把三维世界点投影到二维像素平面。标准针孔模型为:

[u]   [fx  0  cx] [X/Z]
[v] = [0  fy  cy] [Y/Z]
[1]   [0   0   1] [ 1 ]

fx = f / dx,  fy = f / dy   (dx,dy 为像元物理尺寸)
cx, cy 为主点(光心在图像上的投影)

真实镜头存在径向畸变与切向畸变,常用 Brown-Conrady 模型:

x_d = x(1 + k1 r² + k2 r⁴ + k3 r⁶) + 2 p1 x y + p2 (r² + 2x²)
y_d = y(1 + k1 r² + k2 r⁴ + k3 r⁶) + p1 (r² + 2y²) + 2 p2 x y

无人机常用的广角或鱼眼镜头畸变显著,若忽略畸变,特征点重投影误差会随视场边缘迅速增大,直接破坏 VIO 的位姿估计。因此相机内参 fx, fy, cx, cy 与畸变系数 k1, k2, p1, p2, k3 必须精确标定。

三、内外参标定:把两个传感器放进同一坐标系

内参描述相机自身成像特性,外参描述 IMU 与相机之间的刚体变换 T_ic = (R_ic, t_ic)。VIO 中所有视觉观测都要通过外参转换到 IMU 坐标系,因此外参误差会直接表现为尺度漂移和姿态偏差。

标定流程通常为:

  1. 用棋盘格或 AprilTag 标定相机内参,采集 20–40 张不同姿态图像,最小化重投影误差。
  2. 将相机与 IMU 刚性固定,手持或转台做充分激励运动(三轴旋转 + 平移)。
  3. 使用 Kalibr 等工具联合优化:以 IMU 预积分为约束,同时估计外参、时间偏移与 IMU 噪声参数。
  4. 用重投影误差、IMU 残差和标定报告中的参数协方差评估质量。
标定质量检查:外参平移量应与实际测量值接近;时间偏移 t_d 一般应在 ±5 ms 内;若标定后 VIO 仍出现明显尺度漂移,优先怀疑外参与时间同步,而不是先调滤波器参数。

四、时间同步:VIO 中最容易被低估的误差源

IMU 与相机是异步采样的,且各自存在硬件时间戳延迟。若时间戳偏差为 Δt,在角速度 ω 下会产生约 ω·Δt 的姿态误差。无人机快速机动时,10 ms 的时间偏差就可能带来数度的姿态误差,足以让视觉跟踪失败。

时间同步的工程手段包括:

  • 硬件同步:使用同一触发信号或 PPS 脉冲,让相机曝光与 IMU 采样对齐。
  • 软件时间戳:统一使用同一时钟源(如 ROS 的 /clock 或 PTP),避免多主机时钟漂移。
  • 在线估计:在 VIO 优化中把 t_d 作为待估参数,由数据自动收敛。

五、传感器噪声特性与参数关系

IMU 噪声主要分为白噪声与随机游走零偏。白噪声影响单次积分的随机误差,随机游走决定零偏随时间漂移的速度。二者在 VIO 中分别对应 σ_g, σ_a 与 σ_bg, σ_ba,通常通过 Allan 方差分析从静止数据中辨识。

参数物理含义典型量级对 VIO 的影响
σ_g陀螺白噪声0.001–0.01 rad/s/√Hz短时姿态抖动
σ_a加计白噪声0.01–0.1 m/s²/√Hz速度估计噪声
σ_bg陀螺零偏随机游走1e-5–1e-4 rad/s²/√Hz长时间姿态漂移
σ_ba加计零偏随机游走1e-4–1e-3 m/s³/√Hz尺度与位置漂移
t_d相机-IMU 时间偏移0–20 ms机动时姿态误差

六、典型场景与常见误区

以室内无人机悬停为例:IMU 以 200 Hz 积分提供高频位姿预测,相机以 30 Hz 提供特征观测。若外参标定偏差 1 cm、时间偏移 8 ms,悬停时可能仍能工作,但一旦快速偏航,视觉重投影误差会突然增大,表现为轨迹“打滑”甚至跟踪丢失。

常见误区:把 IMU 噪声参数直接照搬开源配置。不同型号、不同批次的 IMU 噪声差异可达数倍,必须用 Allan 方差实测。另一个误区是只标内参不标外参,或标定后长期不复查——无人机振动、碰撞都会改变外参,建议每次飞行前做一次快速外参校验。

综上,IMU 提供高频但漂移的运动信息,相机提供低频但绝对的环境约束,内外参与时间同步把两者统一到同一时空基准,噪声参数则决定融合时各传感器的权重。这四者共同构成 VIO 的传感器基础,任何一环失准,都会在后续的优化与滤波中被放大。

VIO 传感器链路:从物理量到融合观测 IMU(100–1000 Hz) 陀螺:科里奥利力 → 角速度 ω 加计:比力 f = a − g 输出:ω_meas, a_meas 误差:零偏 b + 白噪声 n 高频积分 → 短时预测 相机(20–60 Hz) 针孔投影:u = fx·X/Z + cx 畸变:k1,k2,p1,p2,k3 输出:特征点像素坐标 误差:内参偏差、畸变残差 低频观测 → 绝对约束 标定与同步 内参:fx, fy, cx, cy, 畸变 外参:T_ic = (R_ic, t_ic) 时间偏移:t_d(±5 ms) 统一时空基准 噪声参数(Allan 方差) σ_g, σ_a:白噪声 σ_bg, σ_ba:零偏随机游走 决定融合权重与置信度 VIO 融合估计 IMU 预积分 + 视觉重投影误差 → 位姿、速度、零偏 误差放大链 外参偏差 → 尺度漂移 时间偏移 → 机动姿态误差 工程检查点 标定后复查外参 实测噪声参数,勿照搬