基于Simulink融合IMU传感器数据(附源码)

此示例说明如何使用 Simulink生成和融合 IMU 传感器数据。可以准确地对加速度计、陀螺仪和磁力计的行为进行建模,并融合它们的输出以计算方向。

1.惯性测量单元

惯性测量单元 (IMU) 是一组传感器,由测量加速度的加速度计和测量角速度的陀螺仪组成。通常,还包括一个磁力计来测量地球的磁场。这三个传感器中的每一个都产生 3 轴测量,这三个测量构成 9 轴测量。

2.姿态航向和参考系统

姿态航向和参考系统 (AHRS) 获取 9 轴传感器读数并计算设备的方向。此方向是相对于NED框架给出的,其中N是磁北方向。Simulink 中的 AHRS 模块使用间接卡尔曼滤波器结构实现此目的。

3.同步系统

打开融合 IMU 传感器数据的 Simulink 模型

基于Simulink融合IMU传感器数据(附源码)_第1张图片

 4.输入和配置

IMU 模块的输入是设备的线性加速度、角速度和相对于导航框架的方向。方向是四元数(Simulink 中的 4×1 向量)或旋转矩阵(Simulink 中的 3×3 矩阵)的形式,可将导航帧中的数量旋转到正文帧。在此模型中,角速度被简单地积分以创建方向输入。角速度以 rad/s 为单位,线性加速度以 m/s^2 为单位。由于 AHRS 只有一个与平移相关的输入(加速度计输入),因此无法区分重力和线性加速度。因此,AHRS算法假设线性加速度是一个缓慢变化的白噪声过程。这是 9 轴融合算法的常见假设。

5.真北 vs 磁北

IMU 块对话框中的磁场参数可以设置为本地磁场值。磁场值可以在NOAA网站上找到,也可以使用航空航天工具箱™中的函数找到。IMU 块对话框中的磁场值对应于面向真北的完美磁力计的读数。因此,IMU模块的方向输入相对于NED帧,其中N是真北方向。但是,AHRS滤波器会向磁北导航,这是此类滤波器的典型特征。因此,IMU 输入的方向和 AHRS 输出端的估计方向因真北和磁北之间的偏角而异。

此模拟的设置对象纬度0°和经度0°。此位置的磁场在 IMU 块中设置为 [27.5550, -2.4169, -16.0849] 微特斯拉。这个位置的赤纬大约是4.7°.

 6.模拟

模拟模型。使用四元数距离比较 AHRS 的 IMU 输入方向和估计输出方向。考虑到欧拉角奇点,与差分欧拉角等价物相比,这是更可取的。

7.估计方向

估计方向与真实方向的差异应该接近4.7°,这是此纬度和经度的赤纬。

8.陀螺仪偏置

AHRS滤波器的第二个输出是偏置校正陀螺仪读数。在IMU模块中,陀螺仪的偏置为0.0545 rad/s或3.125度/s,这应该与示波器模块中的稳态值相匹配。

9.程序

使用Matlab R2022b版本,点击打开。

基于Simulink融合IMU传感器数据(附源码)_第2张图片

 打开下面的“IMUSensorFusionWithSimulinkExample.m”文件,点击运行,就可以看到上述效果。

基于Simulink融合IMU传感器数据(附源码)_第3张图片

关注下面公众号,后台回复关键词:基于Simulink融合IMU传感器数据,发送源码链接。

你可能感兴趣的:(#,Simulink实例(附源码),IMU传感器,数据融合,simulink)