主要内容

ahrs10filter

从高山草地和高度计数据高度和方向

描述

ahrs10filter对象融合高山草地和高度计传感器数据来估计设备高度和方向。玛格(磁、角速率、重力)数据通常来源于磁强计,陀螺仪和加速度计传感器。过滤器使用18-element状态向量跟踪定位四元数、垂直速度、垂直位置,玛格传感器偏差和地磁矢量。的ahrs10filter对象使用一个扩展卡尔曼滤波器来估计这些量。

创建

描述

保险丝= ahrs10filter返回一个对象扩展卡尔曼滤波器,保险丝传感器融合的高山草地和高度计数据来估计设备高度和方向。

保险丝= ahrs10filter (“ReferenceFrame”,射频)返回一个对象扩展卡尔曼滤波器估计设备高度和方向相对于参考系射频。射频指定为NED的(North-East-Down)或“ENU表示”(East-North-Up)。默认值是NED的

例子

保险丝= ahrs10filter (___、名称、值)每个属性集的名字到指定的价值。未指定的属性有默认值。

属性

全部展开

采样率的IMU Hz,指定为一个积极的标量。

数据类型:|

乘法过程噪声方差的陀螺仪(rad / s)2,指定为积极的实际数量有限。

数据类型:|

加速度计的乘法过程噪声方差(m / s2)2,指定为积极的实际数量有限。

数据类型:|

乘法的过程噪声方差(rad / s陀螺仪的偏见2)2,指定为积极的实际数量有限。

数据类型:|

加速度计偏差的乘法过程噪声方差(m / s2)2,指定为积极的实际数量有限。

数据类型:|

添加剂过程噪声μT地磁矢量2,指定为积极的实际数量有限。

数据类型:|

μT添加剂过程噪声磁强计的偏见2,指定为积极的实际数量有限。

数据类型:|

扩展卡尔曼滤波器的状态向量。状态值代表:

状态 单位 指数
方向(四元数部分) N /一个 1:4
高度(NED或ENU表示) 5
垂直速度(NED或ENU表示) 米/秒 6
δ角偏差(某某) rad /秒 七章
三角洲速度偏差(某某) 米/秒 十12
地磁场矢量(NED或ENU表示) μT 13:15
磁强计偏差(某某) μT 十六18

默认的初始状态对应于一个静止的物体位于(0 0 0)在大地LLA坐标。

数据类型:|

卡尔曼滤波器的状态误差协方差,指定为一个18-by-18-element矩阵的实数。

数据类型:|

对象的功能

预测 使用的加速度计和陀螺仪数据更新状态ahrs10filter
fusemag 使用磁力仪数据正确的状态ahrs10filter
fusealtimeter 使用高度计数据正确的状态ahrs10filter
正确的 正确的国家使用直接测量状态ahrs10filter
剩余 残差和残余协方差从直接测量状态ahrs10filter
residualmag 残差和协方差剩余磁强计测量ahrs10filter
residualaltimeter 从高度计测量残差和残余协方差ahrs10filter
构成 电流方向和位置估计ahrs10filter
重置 重置的内部状态ahrs10filter
stateinfo 显示状态向量信息ahrs10filter
调优 调优ahrs10filter参数估计误差减少
复制 创建的副本ahrs10filter

例子

全部折叠

负荷记录传感器数据、地面真理构成,初始状态,初始状态协方差。计算每个高度计的IMU样本数量样本的数量和IMU样品每个样品磁强计。

负载(“fuse10exampledata.mat”,“imuFs”,“accelData”,“gyroData”,“magnetometerFs”,“magData”,“altimeterFs”,“altData”,“expectedHeight”,“expectedOrient”,“initstate”,“initcov”);imuSamplesPerAlt =修复(imuFs / altimeterFs);imuSamplesPerMag =修复(imuFs / magnetometerFs);

创造一个融合的AHRS过滤器高山草地和高度计数据来估计高度和方向。设置采样率和测量噪声的传感器。从数据和实验测定的值。

filt = ahrs10filter (“IMUSampleRate”imuFs,“AccelerometerNoise”,0.1,“状态”initstate,“StateCovariance”,initcov);Ralt = 0.24;Rmag = 0.9;

Preallocate变量记录高度和方向。

numIMUSamples =大小(accelData, 1);estHeight = 0 (numIMUSamples, 1);estOrient = 0 (numIMUSamples 1“四元数”);

融合加速度计、陀螺仪、磁强计和高度计数据。外循环预测滤波器在最快的采样率(IMU采样率)。

2 = 1:numIMUSamples%使用预测估计基于传感器和滤波器状态%陀螺仪数据。预测(filt accelData (ii):), gyroData (ii):));%磁强计数据被收集在一个更低的利率比IMU数据。保险丝%磁强计数据速度较低。如果~国防部(ii, imuSamplesPerMag) fusemag (filt, magData (ii):), Rmag);结束%高度计数据被收集在一个低于IMU数据。保险丝%高度计数据速度较低。如果~国防部(ii, imuSamplesPerAlt) fusealtimeter (filt, altData (ii), Ralt);结束%记录当前高度和方位估计。[estHeight (ii), estOrient (ii)] =姿势(filt);结束

计算已知的真正的高度和方向之间的均方根误差和明显的输出滤波器。

穗青葱= expectedHeight - estHeight;qErr = rad2deg (dist (expectedOrient estOrient));人口、难民和移民事务局(12(平均(穗青葱。^ 2));则=√意味着(qErr ^ 2));流(“高度均方根误差\ n”);
高度均方根误差
流(' \ t %。2f (meters)\n\n'人口、难民和移民事务局);
0.38(米)

随着时间的推移想象真实和估计的高度。

t = (0: (numIMUSamples-1)) / imuFs;情节(t, expectedHeight);情节(t, estHeight);传奇(“地面实况”,“估计高度”,“位置”,“最佳”)ylabel (身高(米)的)包含(“时间(s)”网格)

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。这些对象代表地面实况,估计高度。

流(“均方根误差四元数距离\ n”);
均方根误差四元数距离
流(' \ t %。2f (degrees)\n\n',则);
2.93(度)

扩展功能

C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。

版本历史

介绍了R2019a

另请参阅

|