# IMU

本页涵盖 IMU 堆栈的硬件方面：

 * 各平台使用的传感器
 * 支持的输出类型
 * IMU 与相机的对齐
 * 出厂校准
 * 噪声特性

有关流访问和 API 用法，请参阅 [IMU 节点参考](https://docs.luxonis.com/software-v3/depthai/depthai-components/nodes/imu.md)。如需可运行的流水线，请使用 DepthAI
中的 IMU 示例。

> 所有 Kickstarter 支持的 OAK-D-Lite 相机均未配备板载 IMU。

## IMU 型号

### BNO08X 系列

用于 RVC2 设备的 9 轴传感器集线器，包含原始和融合的朝向输出。

[BNO08X 系列](https://docs.luxonis.com/hardware/platform/sensors/imu/bno08x.md)

### BMI270

用于 RVC2 平台的 6 轴加速度计 + 陀螺仪 IMU，作为原始惯性传感器路径。

[BMI270](https://docs.luxonis.com/hardware/platform/sensors/imu/bmi270.md)

### LSM6DSV

6 轴 RVC4 IMU，具备加速度计、陀螺仪及内部衍生输出。

[LSM6DSV](https://docs.luxonis.com/hardware/platform/sensors/imu/lsm6dsv.md)

### AK09919

3 轴 RVC4 配套磁力计，用于需要磁参考的场景。

[AK09919](https://docs.luxonis.com/hardware/platform/sensors/imu/ak09919.md)

## 功能概览

| 传感器 | 轴数 | 物理传感器 | 磁力计 | 传感器端衍生输出 | 传感器上绝对朝向 |
| --- | --- | --- | --- | --- | --- |
| BNO08X | 9 | 加速度计、陀螺仪、磁力计 | 是 | 旋转向量、游戏旋转向量、地磁旋转向量、重力、线性加速度 | 是 |
| BMI270 | 6 | 加速度计、陀螺仪 | 否 | 无（未暴露为传感器端融合朝向输出） | 否 |
| LSM6DSV | 6 | 加速度计、陀螺仪 | 否 | 游戏旋转向量、重力向量、陀螺仪偏置 | 否 |
| AK09919 | 3 | 磁力计 | 是 | 无 | 否 |

## 输出类型

一个常见的混淆是将所有 IMU 输出视为以相同方式生成。实际上，Luxonis 设备暴露多个类别的 IMU 数据，且并非所有都经由同一处理路径产生。

### 原始

这些是 IMU 自身直接报告的传感器输出，例如加速度计、陀螺仪或磁力计在传感器原生坐标系中的样本。

当用户希望对下游处理（例如自定义滤波、SLAM、VIO 或主机端传感器融合流水线）拥有完全控制时，原始输出非常有用。

### 未校准

未校准输出是通过对原始传感器流应用帧旋转（以使其对齐到 Luxonis 相机坐标约定）后构造的：

 * +X 向右
 * +Y 向下
 * +Z 向前

因此，这些流仍然基于原始 IMU 测量，但以预期的设备对齐坐标系表示。

此阶段未应用任何出厂内参校正。

### 已校准

已校准输出是通过对原始传感器流应用以下处理构造的：

 * 帧旋转到 Luxonis RDF 坐标系
 * 出厂内参校准项
 * 对确定性传感器误差（如偏置、刻度误差、剪切/交叉轴项以及因 IMU 与 PCB 之间的微小安装或焊接偏差导致的装配相关缺陷）的补偿

当用户希望运动数据已被校正已知硬件缺陷时，这些是推荐的输出。

### 传感器提供的衍生输出

部分 IMU 直接从其内部固件或融合引擎提供更高级别的输出。Luxonis 按传感器提供的方式转发这些输出。

这些包括：

 * 重力向量
 * 线性加速度 / 重力补偿加速度
 * 旋转向量 / 四元数输出

对于这些输出，Luxonis 不会从原始数据手动重构或重新校准。它们直接取自 IMU 的内部处理。

## IMU 参考坐标系

每个 IMU 封装都有其由供应商数据手册定义的原生传感器轴。这些轴不一定与 Luxonis 图像流水线使用的相机坐标系匹配。

Luxonis 使用存储在标定中的 IMU 外参将 IMU 数据对齐到相机坐标系。

### imuExtrinsics

imuExtrinsics 是 IMU 坐标系与相机坐标系之间的刚性变换。

实际应用中：

 * 对于向量（如加速度和角速度），使用变换的旋转部分
 * 对于完整的多传感器几何，使用完整的 4x4 变换

实际中，通过 imuExtrinsics 的旋转分量将 IMU 坐标系中测量的向量旋转到相机坐标系。

## 出厂 IMU 校准

Luxonis 对 IMU 堆栈执行出厂校准，以补偿确定性传感器误差，包括：

 * 偏置
 * 刻度因子误差
 * 交叉轴/剪切项
 * 装配相关的对齐缺陷

这与 imuExtrinsics 不同：内部 IMU 校准校正传感器自身，而外参校准则将 IMU 坐标系与相机坐标系关联。

## 噪声特性

除确定性校准外，Luxonis 还使用噪声参数表征所支持 IMU 模型的随机行为。这些参数对于以下场景非常有用：

 * VIO
 * EKF / UKF 流水线
 * SLAM
 * 仿真
 * 协方差调优
 * 类似 Kalibr 的工具

这些参数不校正固定的硬件误差。相反，它们描述了随时间变化的测量噪声与偏置漂移。

不同工具对相似的 IMU 噪声项使用不同名称。下表将常见的 IMU 术语映射到 Kalibr 命名。

| 概念 | 常用 IMU / Allan 术语 | Kalibr 名称 | Luxonis 文档名称 |
| --- | --- | --- | --- |
| 加速度计白噪声 | VRW | `accelerometer_noise_density` | `accel_noise_density` |
| 加速度计偏置漂移 | 偏置随机游走 | `accelerometer_random_walk` | `accel_bias_random_walk` |
| 加速度计偏置稳定性 | 偏置不稳定度 | - | `accel_bias_instability` |
| 陀螺仪白噪声 | ARW | `gyroscope_noise_density` | `gyro_noise_density` |
| 陀螺仪偏置漂移 | RRW / 偏置随机游走 | `gyroscope_random_walk` | `gyro_bias_random_walk` |
| 陀螺仪偏置稳定性 | 偏置不稳定度 | - | `gyro_bias_instability` |

每个传感器的具体特性值记录在各自的 IMU 页面中。
