扩展卡尔曼滤波器导航概述和调整¶
警告
重要的是 本文介绍的是已从代码库中删除的 EKF1。由于它是 EKF2 和 EKF3 的基础,因此保留作为参考。EKF3 现在是默认设置。
本文介绍了基于速率陀螺仪、加速度计、罗盘(磁力计)、全球定位系统、空速和气压测量,用于估计载具位置、速度和角度方向的扩展卡尔曼滤波器(EKF)算法。它包括算法概述和可用调整参数信息。
概述¶
由于有了速度更快的处理器(如 Pixhawk 上的处理器),因此可以采用更先进的数学算法来估计飞行器的方向、速度和位置。我们开发了一种扩展卡尔曼滤波 (EKF) 算法,该算法使用速率陀螺仪、加速度计、罗盘、GPS、空速和气压测量值来估算飞行器的位置、速度和角度方位。该算法在 AP_NavEKF2 和 AP_NavEKF3 库,并以此处记录的初步工作为基础: https://github.com/priseborough/InertialNav
与 DCM 和 Copter 的惯性导航所使用的简单互补滤波算法相比,EKF 的优势在于,通过融合所有可用的测量数据,它能更好地剔除误差较大的测量数据,从而降低载具受影响单个传感器的故障影响的可能性。
EKF 算法的另一个特点是,它能够估算载具罗盘读数的偏移量,还能估算飞机、旋翼飞行器和漫游车应用中的地球磁场。因此,与当前的 DCM 和 INAV 算法相比,该算法对罗盘校准误差的敏感度较低。
它还能利用光流和激光测距仪等可选传感器的测量结果来辅助导航。
理论¶
所采用的 EKF(扩展卡尔曼滤波器)算法共估算出 22 个状态,其基本方程如下所示: https://github.com/priseborough/InertialNav/blob/master/derivations/GenerateEquations22states.m
以下是对滤波器工作原理的非数学化描述:
集成 IMU 角速率以计算角位置
利用从人体 X、Y、Z 轴到地球北轴、东轴和下轴的角度位置转换 IMU 加速度,并根据重力进行修正
对加速度进行整合,计算出速度
整合速度以计算位置
从 1) 到 4) 的这一过程被称为 "状态预测"。状态 "是我们试图估算的变量,如滚动、前平移/俯仰、偏航/航向、高度、风速等。除位置、速度和角度外,滤波器还有其他假定变化缓慢的状态。这些状态包括陀螺偏置、Z 加速计偏置、风速、罗盘偏置和地球磁场。状态预测 "步骤不会直接修改这些其他状态,但可以通过测量进行修改,如后面所述。
估计陀螺仪和加速度计噪声 (
EKF_GYRO_NOISE
和EKF_ACC_NOISE
)用于估计使用 IMU 数据计算的角度、速度和位置误差的增长。增大这些参数会导致滤波器误差估计值增长更快。如果不使用其他测量数据(如 GPS)进行修正,误差估计值将继续增长。这些估计误差被记录在一个称为 "状态协方差矩阵 "的大型矩阵中。每次获得新的 IMU 数据时,都要重复步骤 1) 至 5),直到从另一个传感器获得新的测量数据。
如果我们有完美的初始估计值、完美的 IMU 测量值和完美的计算值,那么我们就可以在整个飞行过程中不断重复 1) 至 4),而无需进行其他计算。然而,初始值的误差、IMU 测量的误差以及计算中的四舍五入误差意味着,在速度和位置误差变得过大之前,我们只能飞行几秒钟。
扩展卡尔曼滤波算法为我们提供了一种将来自 IMU、GPS、指南针、空速、气压计和其他传感器的数据进行组合或融合的方法,以计算出对我们的位置、速度和角度方位更精确、更可靠的估计值。
下面的示例介绍了如何使用 GPS 水平位置测量,但同样的原理也适用于其他测量类型(气压高度、GPS 速度等)。
当 GPS 测量结果到达时,滤波器会计算出 4) 的预测位置与 GPS 位置之间的差值。这个差值被称为 "创新"。
6)中的 "创新"、5)中的 "状态协方差矩阵 "以及由以下参数指定的全球定位系统测量误差
噪声
结合起来,计算出每个滤波器状态的修正值。这被称为 "状态校正"。这是卡尔曼滤波器的精妙之处,因为它能够利用不同误差和不同状态之间的相关性知识,纠正被测量状态之外的其他状态。例如,全球定位系统的位置测量能够纠正位置、速度、角度和陀螺仪偏差的误差。
修正量受状态误差与测量误差的假定比率控制。也就是说,如果滤波器认为自己计算的位置比 GPS 测量的位置更精确,那么 GPS 测量的修正量就会小一些。如果滤波器认为自己计算出的位置精度低于 GPS 测量值,那么 GPS 测量值的修正值就会增大。GPS 测量的假定精度由
噪声
参数。制作噪声
越大,过滤器就会认为 GPS 定位越不准确。由于我们现在已经进行了测量,因此每个已更新状态的不确定性都会降低。滤波器会计算 "状态校正 "带来的不确定性减少,更新 "状态协方差矩阵",然后返回步骤 1)
飞行稳定调整参数¶
AHRS_EKF_USE¶
该参数应设置为 1 以启用滤波器,或设置为 0 以使用传统算法。请注意,无论该参数如何设置,两种算法都在运行,而且只要启用了全速率 AHRS 数据记录,无论如何都会记录所有 EKF 数据。
从 Copter3.3 开始,EKF 已默认启用,该参数不可用。Plane 和 Rover 用户仍可选择使用传统算法。
偏置噪声¶
该噪声控制垂直加速度计偏置状态误差估计值的增长。增加它可以使加速度计偏置估计更快、噪声更大。
EKF_ACC_PNOISE¶
该噪声控制加速度计测量误差(不包括偏差)导致的估计误差的增长。增加该噪声会降低滤波器对加速度计测量结果的信任度,而增加对其他测量结果的信任度。
EKF_ALT_NOISE¶
这是海拔测量中的噪声有效值。如果增加该参数,滤波器就会认为气压计的噪声更大,从而降低其测量值的权重。
如果该参数设置过小,那么滤波器将不断对气压计测量中的噪声做出反应,从而导致滤波器高度产生噪声。在旋翼飞行器上,这会导致旋翼飞行器在高度保持过程中上下晃动。
如果该参数设置过高,则高度会更容易偏移,也更容易受到 GPS 垂直速度故障的影响。
有关使用日志数据帮助设置该参数的更多信息,请参阅解释 EKF3 日志数据一节。
EKF_ALT_SOURCE¶
该参数控制光流导航时使用哪个测量源来确定高度。设置为 0 时使用气压计,设置为 1 时使用测距仪。如果设置为 1,载具将尝试保持相对于地形的恒定高度,这是光流导航时的默认行为。警告:EK2_ALT_SOURCE = 1 只适用于在平坦表面上的低高度和低速运行,不适用于向上和向远处飞行。要在较低高度使用测距仪和气压计进行向上和向远飞行,请设置 EK2_ALT_SOURCE = 0 并使用 RNG_USE_HGT 参数。
EKF_EAS_GATE¶
该参数可调整用于空速测量创新一致性检查的阈值。降低阈值会使好的测量结果更有可能被拒绝。增大阈值则更有可能接受糟糕的测量结果。它以标准偏差为单位进行缩放。例如,设置为 3 意味着差异大于假定标准偏差的 3 倍时,测量结果将被拒绝。
EKF_EAS_NOISE¶
这是空速测量中噪声的有效值。增加该值可降低这些测量值的权重。有关使用日志数据帮助设置该参数的更多信息,请参阅解释 EKF3 日志数据一节。有关使用日志数据帮助设置该参数的更多信息,请参阅解释 EKF3 日志数据一节。
EKF_FALLBACK¶
该参数控制传感器数据不一致是否会导致回退到 DCM。如果设置为 0,则检测到不一致的传感器时不会导致回退。如果设置为 1,则数据中的大量不一致将导致回退到 DCM(如果有)。
EKF_FLOW_DELAY¶
这是光流速测量值落后于 IMU 测量值的毫秒数。
EKF_FLOW_GATE¶
该参数控制在 EKF 开始剔除测量值之前,测量的光流速与预测流速之间的最大差值。减小该参数,有效的光流速测量值将更有可能被拒绝。增加该参数则更有可能接受无效的光流速测量值。它以标准偏差为单位进行缩放。例如,设置为 3 意味着差异大于 3 x 假设标准偏差将导致测量被拒绝。
EKF_FLOW_NOISE¶
该参数可考虑光流速测量误差和噪音。它表示以雷达/秒为单位的预期均方根误差。如果设置过大,位置漂移会更大。如果设置过小,EKF 输出的位置和速度将变得嘈杂,EKF 有可能在机动过程中开始拒绝光流量测量。
gbias_pnoise¶
该噪声控制陀螺偏置状态误差估计值的增长。增大它可以使陀螺偏置估计速度更快,噪音更大。
ekf_glitch_accel¶
该参数控制滤波器预测值与 GPS 测量值之间水平加速度的最大差值(单位:cm/s^2),然后才会拒绝 GPS 位置测量。如果该值设置过低,则会经常丢弃有效的 GPS 数据,从而降低定位精度。如果该参数设置过高,则 GPS 差错会导致位置发生较大的快速变化。
EKF_GLITCH_RAD¶
该参数用于控制滤波器预测值与 GPS 测量值之间水平位置的最大差值(单位:米),然后才会激活长期故障保护逻辑,并对 GPS 测量值进行偏移补偿。小于该参数的位置跳变将被暂时忽略,但如果跳变持续存在,则会被接受,滤波器将移动到新的位置。大于该值的位置跃变最初也会被忽略,但如果跃变持续存在,GPS 位置测量值将在使用前按跃变量进行修正。这样可以防止位置发生较大的阶跃变化。该修正值会以恒定的速率衰减回零,从而逐渐实现新的 GPS 定位。通过绘制 EKF4.OFN 和 EKF4.OFE 的闪存日志数据,可以检查在北向和东向的校正值。
阈值梯度¶
该参数控制融合测距仪数据时假定的地形坡度(百分比),并影响估计地形高度对测量变化的响应速度。在不平坦的地形上运行时,可以增加该参数,使地形估计值变化更快。
EKF_GPS_TYPE¶
该参数控制 GPS 速度测量的使用:0 = 使用 3D 速度,1 = 使用 2D 速度,2 = 不使用速度
ekf_gyro_pnoise¶
该噪声控制陀螺测量误差(不包括偏差)导致的估计误差的增长。增加该噪声会降低滤波器对陀螺仪测量结果的信任度,增加对其他测量结果的信任度。
EKF_HGT_GATE¶
该参数用于调整高度测量创新一致性检查的阈值。降低阈值,好的测量结果就更有可能被拒绝。增大阈值则更有可能接受糟糕的测量结果。
ekf_magb_pnoise¶
这种噪声控制着体磁场状态误差估计值的增长。增加它可以使罗盘偏移估算更快、噪声更大。
ekf_mage_pnoise噪声¶
这种噪声控制着地球磁场状态误差估计值的增长。增加它可以使地球磁场偏差估算更快、噪声更大。
EKF_MAG_CAL¶
EKF 能够在飞行中学习磁强计偏移。该参数控制学习何时激活:
EKF_MAG_CAL = 0
:当速度和高度显示载具在空中时,学习功能启用EKF_MAG_CAL = 1
:载具操纵时启用学习功能EKF_MAG_CAL = 2
:学习障碍EKF_MAG_CAL = 3
:当载具处于上膛状态时,学习功能启用
EKF_MAG_GATE¶
该参数用于调整磁强计测量创新一致性检查的阈值。降低阈值,好的测量结果就更有可能被拒绝。增大阈值则更有可能接受糟糕的测量结果。它以标准偏差为单位进行缩放。例如,设置为 3 意味着差异大于假定标准偏差的 3 倍时,测量结果将被拒绝。
EKF_MAG_NOISE¶
这是磁强计测量中噪声的有效值/1000。磁强计读数在被滤波器使用之前会按 1/1000 的比例进行调整,以减少数值舍入误差的影响。增加该噪声参数可降低磁强计测量值的权重。这将使滤波器偏航受磁力计误差的影响较小,但受 Z 陀螺漂移的影响较大。有关使用日志数据帮助设置该参数的更多信息,请参阅 "解读 EKF3 日志数据 "一节。
EKF_MAX_FLOW¶
该参数控制 EKF 可接受为有效测量值的最大光流速(单位:rad/sec)。这有助于剔除数据传输过程中或流量传感器无法跟上载具运动时损坏的测量值。
EKF_POS_DELAY¶
这是 GPS 定位测量结果落后于惯性测量结果的毫秒数。
噪声¶
这是 GPS 水平位置测量的噪声有效值。如果增加该参数,滤波器就会认为 GPS 的噪声更大,从而降低 GPS 水平速度测量值的权重。
如果将该参数设置为小,那么滤波器将不断对 GPS 位置中的噪声做出反应,这可能会导致旋翼飞行器在闲置期间出现持续、快速的微小姿态和位置变化。
如果将该参数设置为较大,则惯性传感器误差将导致滤波器位置缓慢漂移,因为 GPS 无法纠正惯性计算中的误差。这可能会导致旋翼飞行器在位置悬停时位置过度漂移。
有关使用日志数据帮助设置该参数的更多信息,请参阅解释 EKF3 日志数据一节。
EKF_POS_GATE¶
该参数用于调整 GPS 定位测量创新一致性检查的阈值。降低阈值会使好的测量结果更有可能被拒绝。增大阈值则更有可能接受坏的测量结果。它以标准偏差为单位进行缩放。例如,设置为 3 意味着差异大于假定标准偏差的 3 倍时,测量结果将被拒绝。
EKF_RNG_GATE¶
该参数控制在 EKF 开始拒绝测量之前,对地测量距离与预测距离之间的最大差值。减小该参数,有效的测距仪测量就更有可能被拒绝。增大该参数则更有可能接受无效的测距仪测量结果。它以标准偏差为单位进行缩放。例如,设置为 3 意味着差异大于假定标准偏差的 3 倍时,测量结果将被拒绝。
EKF_VELD_NOISE¶
这是 GPS 垂直速度测量值的噪声均方根值,单位为 m/s。如果增加该参数,滤波器就会认为 GPS 噪声更大,从而降低 GPS 垂直速度测量值的权重。
如果该参数设置过小,那么滤波器将不断对 GPS 测量中的噪声做出反应,从而导致滤波器高度产生噪声。在旋翼飞行器上,这会导致旋翼飞行器上下晃动。
如果该参数设置过高,滤波器将无法充分利用 GPS 速度信息,更容易受到气压计高度误差的影响。
有关使用日志数据帮助设置该参数的更多信息,请参阅解释 EKF3 日志数据一节。
ekf_velne_noise¶
这是 GPS 速度测量值在北面和东面的噪声均方根值,单位为 m/s。如果增加该参数,滤波器就会认为 GPS 噪音更大,从而降低 GPS 水平速度测量值的权重。
如果该参数设置过小,那么滤波器将不断对 GPS 测量中的噪声做出反应,从而导致滤波器滚动角和俯仰角产生噪声。如果将飞行器放置在视野开阔的室外,远离建筑物和其他大型物体,那么任务平面图中的 HUD 应该是稳定的。如果出现明显的晃动,则可能是 GPS 噪音过大,无法满足滤波器设置的要求。这也会导致旋翼飞行器在位置悬停过程中持续、快速地发生小角度和位置变化。
如果该参数设置过高,滤波器将无法充分利用 GPS 的速度信息,位置偏移会更大,也更容易受到 GPS 定位故障的影响。
有关使用日志数据帮助设置该参数的更多信息,请参阅解释 EKF3 日志数据一节。
EKF_VEL_DELAY¶
这是 GPS 速度测量落后于惯性测量的毫秒数。
EKF_VEL_GATE¶
该参数用于调整 GPS 速度测量创新一致性检查的阈值。降低阈值会使好的测量结果更有可能被拒绝。增大阈值则更有可能接受不良测量结果。它以标准偏差为单位进行缩放。例如,设置为 3 意味着差异大于假定标准偏差的 3 倍时,测量结果将被拒绝。
风噪¶
这种噪声控制着风况误差估计值的增长。增加噪声会使风速估算更快、噪声更大。
风力pscale¶
增加该参数可提高风况在高度变化时的适应速度,但会使风速估算更加嘈杂。
解读日志数据¶
如果不对闪存日志中过滤器记录的数据进行分析,就无法正确调整导航滤波器。要记录这些数据,必须启用 AHRS 数据记录功能。EKF 数据包含在 EKF1、EKF2、EKF3 和 EKF4 日志信息中。本节介绍了各种 EKF 日志数据的含义,并举例说明了使用Mission Planner地面站 DataFlash 日志查看功能绘制数据时获得的数据。
EKF1¶
时间管理系统 - 以毫秒为单位的启动时间
卷轴 - 滚动角(度)
间距 - 俯仰角(度)
亚乌 - 偏航角(度)
VN,VE,VD - 北、东、下行速度(米/秒)
PN、PE、PD - 相对于载具上膛位置的北、东、下位置(米
GX、GY、GZ - X、Y、Z 陀螺仪偏置(度/分钟)
下图显示了装有 Pixhawk 控制器的飞机的陀螺偏置。从图中可以看出,陀螺仪偏置在开始时会发生变化,随着传感器升温并达到工作温度,偏置会稳定在新值附近。我们的控制器所使用的廉价 MEMS 惯性传感器会随着温度的变化而出现明显的偏置变化。
EKF2¶
时间管理系统 - 以毫秒为单位的启动时间。
比率 - 用于混合 IMU1 和 IMU2 数据的 IMU1 加速度计数据的加权百分比。如果您的硬件(如 Pixhawk)有两个 IMU,则通常会在 50% 区域内快速波动,如图所示。
如果它在部分飞行时间内波动接近 100% 或 0%,则表明您的加速度计数据可能受到混叠影响,您应该寻找解决方案来减少混叠(例如(飞行)控制器的隔振支架)。
AZ1bias - IMU1 的 Z 加速计偏置(cm/s:sup:2)
AZ2bias - IMU2 的 Z 加速计偏置(cm/s:sup:2)
VWN,VWE - 北风和东风风速(米/秒)。正值表示风向是该轴线的方向,例如正的北风风速是从南面吹来的。
明尼苏达州、密歇根州、马里兰州 - 北、东、下地球磁场强度(传感器单位)。如果您正在快速飞行,或正在低速飞行,而
EKF_MAG_CAL
在飞行过程中,随着滤波器对地球磁场的 "学习",磁场会慢慢发生变化。
MX,MY,MZ - X、Y、Z 机身磁场偏置(传感器单位)。如果您正在快速飞行,或处于低速状态,而 EKF_MAG_CAL
启用后,随着滤波器对地球磁场的 "学习",这些值将在飞行过程中缓慢变化。它们与罗盘偏移的含义相同,但符号相反(例如下图中 MX 稳定在 +35 的值,表明在飞行过程中,在地球磁场的作用下,MX 的磁场偏移会减小)。 COMPASS_OFS_X
应使用 -35 值。
EKF3¶
该信息包含每个传感器(GPS、气压计、磁力计和空速)的创新值。创新值是在应用修正之前使用 IMU 数据预测的值与传感器测量值之间的差值。
时间管理系统 - 启动时间(毫秒
IVN,IVE,IVD - 北、东、南 GPS 速度测量的创新(米/秒)。这是衡量导航滤波器健康状况的重要指标。如果您的 IMU 和 GPS 数据质量很好,它们的误差会很小,约为零,如下图所示:
这些创新的噪音水平可以用来设定载具在不操纵时的噪音值。 ekf_velne_noise
和
EKF_VELD_NOISE
.例如,在上图中,载具在非机动状态下的速度噪声约为 +-0.3m/s,北、东和向下的速度噪声均为 +-0.3m/s。这意味着 ekf_velne_noise
和 EKF_VELD_NOISE
在此示例中为 0.3 米/秒。
IPN,IPE - 北、东 GPS 定位测量值的增量(米)。与速度增量类似,它们应该很小,并以零为中心,如下例所示:
这些创新的噪音水平可用于设置
噪声
.在上图中,噪音位于 +-0.5 米的范围内,因此,噪声值的良好起始值为 +0.5米。 噪声
在本例中为 0.5 米。
IPD - 气压计高度测量值的变化(米)。尽管由于 IMU 误差、传感器滞后以及气流变化对气压计读数的影响,在进行高度骤变或机动时,2 米左右的瞬态变化很常见,但如下例所示,这些变化应该很小,并以零为中心。
从上图可以看出,有一个 1 米的小负偏移在 2 分钟后被消除。这是由于 Z 加速计的偏置误差造成的,滤波器需要时间来学习和补偿这些误差。在此示例中,传感器的基本噪声很低,约为 +-0.15m,这表明滤波器的起始值很好。
EKF_ALT_NOISE
在平面应用中为 0.15 米。
注:对于旋翼飞行器,经验表明
EKF_ALT_NOISE
通常需要增加到理论值以上,以平滑高度响应
IMX,IMY,IMZ - 磁强计 X、Y、Z 测量值的变化。如下图所示,在机动过程中,这些误差应以零为中心,且不得超过 +- 50:
在上述例子中 EKF_MAG_CAL
设为 1,因此旋翼飞行器很快就能掌握磁力计的偏差(罗盘偏移)。虽然磁力计的基本噪声相对较低(大多数情况下为 5 或更低),但由于各轴之间的比例系数不同、磁力计未对准以及电力系统产生的不同磁场,还会产生其他误差,从而导致更大的误差。如上图所示,这些误差通常会导致创新值出现约 50 的急剧瞬变。因此,默认值为
EKF_MAG_NOISE
设置为 0.05(代表传感器单位为 50 的噪声)。
下图是在磁力计校准不良的情况下进行的慢速飞行。 EKF_MAG_CAL
= 当载具改变方向时,创新点会发生明显变化。
IVT - 真实空速测量值的创新值(米/秒)。如果未安装或未使用空速传感器(如在地面上),该值将为零。如果空速传感器校准正确,则其中心应为零,但噪声水平会因飞行条件的阵风程度而异。以下是在低湍流、中等风速(约 7 米/秒)条件下使用校准良好的空速传感器进行飞行的示例:
从零开始持续偏移 1 米/秒表示稳定的 1 米/秒空速误差。如果空速传感器在大风天的初始化过程中被遮挡导致压力偏移过大、失调或初始化后温度变化过大,都可能导致稳定的空速误差。
这个数字也可以用来设置 EKF_EAS_NOISE
.在上面的例子中,总噪音(包括阵风)约为 1.4 米/秒,因此这将是一个很好的起始值。 EKF_EAS_NOISE
.
EKF4¶
该信息包含显示每个传感器相对于由 EKF_POS_GATE
,
EKF_VEL_GATE
, EKF_HGT_GATE
, EKF_MAG_GATE
和
EKF_EAS_GATE
.这些参数控制了在滤波器不使用测量结果之前允许的不一致程度。当我们在本节中提到测量的不一致性时,我们指的是滤波器预测的测量值与传感器测量值之间的差异。检查测量值是否不一致对 GPS 尤为重要,因为 GPS 测量值可能会有非常大的瞬时位置和速度误差,如果滤波器使用这些误差,就会导致系统崩溃。EKF4 提供以下信息:
时间管理系统 - 启动时间(毫秒
SV - 全球定位系统综合速度不一致性与 EKF_VEL_GATE
参数。对于 GPS 数据良好的飞行,该值偶尔会超过 1/2,但绝对不会超过 1。在传感器数据良好的情况下,这种情况绝对不会发生。下图显示
SV 取自四旋翼飞行器在良好 GPS 条件下使用 9 至 10 颗卫星飞行时的数据,使用的是默认参数。如果这条线过高,在 GPS 状态良好的情况下超过 1,则说明 EKF_VEL_GATE
参数应增加。
SP - 全球定位系统总位置不一致性与 EKF_POS_GATE
参数。对于 GPS 数据良好的飞行,该值偶尔会超过 1/2,但绝对不会超过 1。在传感器数据良好的情况下,这种情况绝对不会发生。下图显示 SP 取自四旋翼飞行器在良好 GPS 条件下使用 9 至 10 颗卫星飞行时的数据,使用的是默认参数。如果这条线过高,在 GPS 状态良好的情况下超过 1,则说明 EKF_POS_GATE
参数应增加。
SH - 气压计高度不一致性与气压计限值的比率 EKF_HGT_GATE
参数。如果这条线超过 1,则表明过滤器停止使用该飞行时段的气压数据。如果传感器数据良好,这种情况应该不会发生。下图显示 SH 取自四旋翼飞行器在最高 16 米/秒的空速下使用默认参数飞行时的数据。如果这条线过高,超过 1,则应增加``EKF_HGT_GATE``参数。导致该值偏高的因素包括经过(飞行)控制器的气流影响气压计读数,以及传感器漂移或混叠导致的加速度计误差。
SMX,SMY,SMZ - 磁强计 X、Y 和 Z 测量不一致性与限值的比率 EKF_MAG_GATE
参数。如果这条线超过 1,则表明滤波器停止使用该飞行时段的磁强计数据。在传感器数据良好的情况下,这种情况不应该发生。下图显示了使用默认参数从四旋翼飞行器上获取的 SMX、SMY 和 SMZ 数据。如果这条线过高且经常超过 1,则表明罗盘校准或安装存在问题。建议在增大罗盘误差之前,首先调查罗盘误差的原因。 EKF_MAG_GATE
参数。
下图显示 SMX, SMY 和 SMZ 从漫游日志中提取,节流需求 ThrOutR 也绘制出来了。
可以清楚地看到,每当节流阀升高时,都会出现超过 1 的大峰值,而在节流阀运行期间也会出现大数值。在这个例子中,建议采取措施减少罗盘干扰。
SVT - 空速测量不一致性与限制值的比率 EKF_EAS_GATE
参数。如果这条线超过 1,则表示滤波器停止使用该飞行时段的空速数据。导致该值偏高的因素包括空速校准错误、强阵风和湍流的存在以及风速的快速变化。正常情况下,在飞行开始时,滤波器尚未估算出风速,这个值会比较高。