IMU传感器详细功能了解

基础功能

基础传感器

0x01 Accelerometer加速度计(含重力)

0x02 Gyroscope陀螺仪

0x03 Magnetometer磁力计

滤波功能

  1. 硬件层 在原始数据进入处理器之前,传感器内部的模拟数字转换器 (ADC) 前端会有基本的硬件滤波.

  2. 软件层 在 MotionEngine 内部,针对不同类型的衍生功能,会应用不同的数字滤波器。

  3. 核心算法:卡尔曼滤波 这是 BNO08x 实现“滤波”和“融合”的最核心手段。卡尔曼滤波不是简单的滤除噪声,它是一个预测-修正的数学模型.

  4. 动态校准滤波 BNO08x 内部还在后台运行着一套复杂的滤波校准引擎,解决零点漂移问题。

  5. 参数配置 如可以设定报告频率。采样率越高,滤波延迟越低,但功耗越高。 基于滤波功能三个传感器又分为原始、未校准和校准数据。

    0x14 Raw Accel加速度原始计数值

    0x15 Raw Gyro陀螺仪原始计数值

    0x16 Raw Mag磁力计原始计数值

    0x07 Uncalib. Gyro未校准陀螺仪

衍生功能

由三个基础传感器选择结合的功能比如线性加速度、重力矢量、旋转矢量。再在这基础上还有一些特殊功能:运动分类、翻转检测、震动/摇晃检测等。都是传感器自带的算法功能。

如何用传感器实现需求功能

  1. 飞行姿态与航向可视化 (HUD Display) 姿态显示 : 利用陀螺仪和加速度计融合出的旋转矢量。在 HUD 上实时绘制人工地平线,显示飞行员的俯仰角 (Pitch) 和 横滚角 (Roll) 。 航向指示与指北针 : 利用磁力计校准陀螺仪的偏航漂移。在 HUD 右上角显示指北针,并提供绝对航向角。虽然目标点位置靠 GPS,但箭头在 HUD 上的偏转量必须实时关联 IMU 的航向角。当飞行员转头时,箭头能相对于头盔坐标系正确指向目标。

  2. 自动触发与计时 利用加速度计的 显著运动检测或自由落体检测。当飞行员跳离飞机瞬间,IMU 感知到重力加速度(G值)的剧烈变化,自动标记 T0(T0 = Exit) 并启动计时器和相机同步,无需手动按键。

  3. 动态飞行路径预测 利用高频角速度数据。GPS 有延迟且频率低,必须靠 IMU 感知飞行员微小的转向动作,才能提前计算并更新 HUD 上的虚拟地形和预测轨迹。

  4. 数据记录与 3D 路径平滑 高频记录加速度和角速度原始数据。在生成 KMZ 或 CSV 文件时,利用 IMU 数据对低频的 GPS 轨迹进行插值和平滑,使回放时的 3D 轨迹看起来圆滑连续,而非一跳一跳的折线。

  5. 系统安全与自检 启动自检与监控 : 利用 BNO08x 的 Built-in Self-Test。在启动时确认传感器芯片是否正常响应(如通过 0xFC 报告查询固件版本)。如果 IMU 数据异常,系统会立即在 HUD 提示“数据不可靠”,警告飞行员不要依赖该参数。 IMU 与 GNSS 数据融合。在机舱内 GNSS 信号受到干扰或跳变时,利用 IMU 的惯性测量来维持稳定的航迹显示。


本文章使用limfx的vscode插件快速发布