[具身智能-613]:IMU 九轴惯性测量传感器:原始数据含义 → 推导数据种类 → 对应原始数据源 → 匹配算法 → 现成算法库

📅 2026/7/11 23:49:35 👁️ 阅读次数 📝 编程学习
[具身智能-613]:IMU 九轴惯性测量传感器:原始数据含义 → 推导数据种类 → 对应原始数据源 → 匹配算法 → 现成算法库

一、九轴 IMU 基础构成

九轴 IMU =3 轴加速度计+ 3 轴陀螺仪 + 3 轴磁力计

通信接口:I2C / SPI

输出形式:9 路 16 位有符号原始整数(范围:-32768 ~ +32767)


二、九轴原始数据 每路含义详解

1)三轴加速度计 \(A_x,A_y,A_z\)

物理含义感知自身线性加速度 + 地球重力加速度

  • 静止时:只受重力
  • 运动时:重力 + 运动惯性加速度

轴定义

  • \(A_x\):绕 X 轴前后加速度
  • \(A_y\):绕 Y 轴左右加速度
  • \(A_z\):竖直方向加速度(静止≈1g)

特点静态倾角准、动态抖动大;无航向参考

2)三轴陀螺仪 \(G_x,G_y,G_z\)

物理含义感知绕三轴瞬时转动角速度单位:°/s

轴定义

  • \(G_x\):绕 X 轴翻滚角速度
  • \(G_y\):绕 Y 轴俯仰角速度
  • \(G_z\):绕 Z 轴水平旋转角速度

特点动态响应极快、姿态顺滑;长时间积分会零点漂移

3)三轴磁力计 \(M_x,M_y,M_z\)

物理含义感知地球磁场三轴分量,等效数字电子罗盘

轴定义

  • \(M_x、M_y、M_z\):空间三轴磁场强度

特点唯一能提供地理正北基准,用来修正偏航 Yaw 漂移;六轴无磁力计,Yaw 必飘。


三、IMU 推导数据种类、对应原始数据源、适配算法

从简单到高阶分层整理,一目了然:

层级 1:物理工程量(原始值换算为真实单位)

推导数据

  • 加速度 \(a_x,a_y,a_z\) 单位:g
  • 陀螺仪 \(g_x,g_y,g_z\) 单位:°/s
  • 磁力计 \(m_x,m_y,m_z\) 单位:μT

依赖原始数据

全部 9 轴原始数据

所用算法

量程标定换算公式(无复杂滤波)

  • 加速度 (±2g):\(a = Raw / 16384.0\)
  • 陀螺仪 (±250°/s):\(g = Raw / 131.0\)
  • 磁力计:\(m = Raw / 0.15\)

层级 2:静态欧拉角(俯仰 / 横滚)

推导数据

  • Pitch 俯仰角
  • Roll 横滚角

依赖原始数据

仅 3 轴加速度计

所用算法

三角函数反正切atan2纯重力矢量分解,无融合。

局限

静止准、一动就抖;无法解 Yaw


层级 3:六轴融合姿态(稳定 Pitch/Roll)

推导数据

平滑无抖动:Pitch、Roll

依赖原始数据

3 轴加速度 + 3 轴陀螺仪(六轴)

适配算法

  1. 一阶互补滤波(最简单、嵌入式首选)
  2. 基础卡尔曼滤波

局限

Pitch/Roll 稳定,Yaw 长期漂移,无正北基准


层级 4:九轴全姿态 AHRS(完整欧拉角)

推导数据

  • Pitch 俯仰
  • Roll 横滚
  • Yaw 偏航 / 航向角(正北 0°~360°,不漂移)

依赖原始数据

3 轴加速度 + 3 轴陀螺仪 + 3 轴磁力计(完整九轴)

适配算法

  1. Mahony 滤波(轻量、算力小、机器人 / 云台标配)
  2. Madgwick 滤波(精度更高、姿态更顺滑,无人机 / SLAM)
  3. EKF 扩展卡尔曼(工业级、抗干扰强、惯导 / AGV)

层级 5:四元数、姿态矩阵

推导数据

  • 四元数 \(q_0,q_1,q_2,q_3\)
  • 旋转姿态矩阵

依赖原始数据

九轴全量数据

适配算法

Mahony / Madgwick / EKF 内置输出作用:避免欧拉角万向锁,用于 3D 姿态、机器人坐标变换。


层级 6:导航级衍生数据

推导数据

  • 分离重力后的线性加速度
  • 速度(加速度二次积分)
  • 位置轨迹(速度积分)

依赖原始数据

九轴 + 可选 GPS / 气压计

适配算法

EKF/UKF 多传感器融合


四、汇总对照表(可直接收藏)

表格

推导数据类型依赖原始数据源对应核心算法
物理工程量 (g/°/s/μT)九轴全部原始值量程标定公式
静态 Pitch/Roll仅加速度 3 轴atan2 三角函数
六轴平滑 Pitch/Roll加速度 + 陀螺仪(6 轴)互补滤波、卡尔曼
九轴全姿态Pitch/Roll/Yaw加速度 + 陀螺仪 + 磁力计(9 轴)Mahony、Madgwick、EKF
四元数 / 姿态矩阵九轴Mahony/Madgwick/EKF
速度 / 位置导航数据九轴 + GPS / 气压EKF/UKF 多源融合

五、现成可用的 IMU 算法库(不用自己写算法)

1、Python 库(树莓派 4B/5、RK3568/RK3588 通用)

① ahrs(专业标准库)

bash

运行

pip install ahrs

内置:Mahony、Madgwick、EKF、四元数欧拉角互转,直接输入 9 轴物理量,输出姿态角

② imufusion(极简封装)

bash

运行

pip install imufusion

内置成熟 AHRS 融合,一行代码出稳定姿态。

2、C/C++ 嵌入式库(RK3568/RK3588 / 单片机 / RTOS)

  1. Mahony AHRS 开源库:轻量、无依赖、占用极小
  2. Madgwick AHRS 开源库:高精度 3D 姿态
  3. RT-Thread 传感器框架:自带 IMU 驱动 + 姿态解算
  4. FreeRTOS 官方 IMU 算法组件

3、硬件内置解算(零算法开发)

BNO055九轴芯片内部硬件完成 Mahony 融合,直接读出 Pitch/Roll/Yaw,无需任何算法编程。


六、核心总结

  1. 原始 9 轴:加速度→静态倾角;陀螺仪→动态平滑;磁力计→锁定航向。
  2. 推导数据逐级依赖:物理量→静态角→六轴姿态→九轴全姿态→四元数→导航数据。
  3. 算法匹配:简单用互补滤波、标准用 Mahony、高精度用 Madgwick、工业导航用 EKF。
  4. 开发直接用库:Python 用ahrs,C 用 Mahony/Madgwick 开源库,无需自研解算。