# 飞行前传感器/估算器检查

PX4 会执行一系列飞行前传感器质量和估算器检查,以确定是否有足够好的位置估算来上膛和飞行器(这些检查由 COM_ARM_ 参数)。

TIP

任何预检错误都会在 QGroundControl 作为 预飞失败 消息信息 estimator_status.gps_check_fail_flags 信息 在日志中 还可显示哪些 GPS 质量检查未通过。

以下部分列出了错误、可能的原因和解决方案,以及影响预检运行方式的参数。

# EKF 飞行前检查/错误

系统会报告以下错误(以及相关检查和参数 EKF (并传播到 QGroundControl):

# 预飞失败:EKF HGT ERROR

  • 当 IMU 和高度测量数据不一致时,就会产生这种误差。
  • 执行加速度和陀螺仪校准并重新启动载具。如果错误仍然存在,检查高度传感器数据是否有问题。
  • 检查由 com_arm_ekf_hgt 参数。

# 飞行前故障:EKF VEL ERROR

  • 当 IMU 和 GPS 速度测量数据不一致时,就会产生这种误差。
  • 检查 GPS 速度数据是否有不真实的数据跳变。如果 GPS 质量看起来没问题,请执行加速度和陀螺仪校准并重新启动载具。
  • 检查由 com_arm_ekf_vel 参数。

# 预飞失败:EKF 水平位置错误

  • 当 IMU 和位置测量数据(GPS 或外部视觉)不一致时,就会产生这种误差。
  • 检查位置传感器数据是否有不真实的数据跳变。如果数据质量看起来没问题,则执行加速度和陀螺仪校准并重新启动载具。
  • 检查由 com_arm_ekf_pos 参数。

# 飞行前故障:EKF YAW ERROR

  • 当使用陀螺仪数据估算的偏航角与磁力计或外部视觉系统的偏航角不一致时,就会产生这种误差。
  • 检查 IMU 数据是否有较大的偏航率偏移,并检查磁力计对齐和校准情况。
  • 检查由 com_arm_ekf_yaw 规范
  • 默认值 0.5 允许导航偏航角与磁偏航角(磁力计或外部视觉)之间的差异不超过 EKF 可容忍最大值的 50%,并为飞行开始时误差增加提供了一定的余量。
  • 如果偏航陀螺仪有较大偏移,或者在磁干扰或磁强计校准不良的情况下移动或旋转载具,它就会失效。

# 飞行前故障:EKF 高 IMU 加速偏置

EKF IMU 加速度偏差是 IMU 传感器报告的测量加速度与 EKF2 估计器报告的预期加速度之间的差值(EKF2 估计器融合了多个来源的位置和/或速度数据,包括 IMU、GNSS、流量传感器等)。该偏差可能会在传感器开启时发生变化("开启偏差"),也可能会随着时间的推移因噪音和温差而发生变化("运行中偏差")。一般来说,这个数字应该非常小(接近于零),表明来自不同来源的测量结果在加速度上都是一致的。

警告表示偏差高于某个任意阈值(不允许载具起飞)。这很可能表明需要进行加速度计或热校准:

  • 如果您 有时候 得到警告: 重新校准加速度计.
  • 如果你得到 定期 收到警告:执行 热校准.
  • 如果热校准后仍收到警告(或无法执行热校准):
    • 确认问题不是来自传感器或自动驾驶仪硬件:
      • 最简单的方法是用另一个自动驾驶仪测试相同的框架/传感器。
      • 或者 记录和比较 所有加速度计都进行了多次台架测试运行,测试结果表明 6: 传感器比较 中启用 SDLOG_PROFILE.
    • 尝试更改加速度计偏置学习调整参数。

增加参数会降低自动驾驶仪检测到异常的可能性,并会改变估计器的稳定性。但是,如果传感器存在无法通过其他方法解决的问题,则可能需要增加参数(例如,您可以调整 EKF 以获得更好的性能,但却无法校准加速度计)。

警告

调整这些参数是最后的手段。只有在有数据显示可以提高估计器性能的情况下,才可以尝试。

参数 说明
EKF2_ABL_LIM EKF 允许估算的最大偏置值(超过此值,偏置将被剪切,EKF 将尝试重置,甚至可能在多 EKF 系统中切换到带有工作 IMU 的更健康的 EKF)。在飞行前检查期间,如果估计偏差超过该参数的 75%,自动驾驶仪将报告 "加速偏差过高",并阻止起飞。当前的 0.4m/s2 值已经很高,如果再提高,自动驾驶仪就不太可能检测到问题。
ekf2_abias_init 初始偏置不确定性(如果校准完美,则与传感器的 "开启偏置 "有关)。如果用户知道传感器校准良好且开启偏差较小,则可能希望减小该值。
ekf2_acc_b_noise 加速度计的预期 "运行中偏差 "或 "我们预期偏差每秒变化的速度"。默认情况下,该值很大,足以包含温度变化引起的漂移。如果 IMU 经过温度校准,用户可能需要减小该参数。
ekf2_abl_acclim 估计器尝试学习加速度偏差的最大加速度。这是为了防止估计器因非线性和比例因子误差而产生偏差。(几乎没有用户需要更改该参数,除非他们真的知道自己在做什么)。

# 飞行前故障:EKF 高 imu 陀螺仪偏置

  • 当 EKF 估算的 IMU 陀螺偏差过大时,就会产生这种误差。
  • 在这种情况下,"过大 "意味着偏差估计值超过 10deg/s(配置限值的一半,硬编码为 20deg/s)。

# 预飞失败:加速度传感器不一致 - 检查校准

  • 当来自不同 IMU 单元的加速度测量值不一致时,就会出现这条错误信息。
  • 该检查仅适用于带有一个以上 IMU 的电路板。
  • 检查由 com_arm_imu_acc 参数。

# 预飞失败:陀螺仪传感器不一致 - 检查校准

  • 当来自不同 IMU 单元的角速率测量值不一致时,会产生该错误信息。
  • 该检查仅适用于带有一个以上 IMU 的电路板。
  • 检查由 com_arm_imu_gyr 参数。

# 飞行前故障:罗盘传感器不一致 - 检查校准

  • 当不同罗盘传感器的测量值相差太大时,就会出现此错误信息。
  • 这表明校准、定位或磁场干扰不良。
  • 该检查仅适用于连接一个以上罗盘/磁力计的情况。
  • 检查由 com_arm_mag_ang 参数。

# 预飞失败:EKF 内部检查

  • 如果水平 GPS 速度、磁偏航、垂直 GPS 速度或垂直位置传感器(默认为 Baro,但如果使用非标准参数,也可以是测距仪或 GPS)的增量过大,则会生成此错误信息。创新值是惯性导航计算预测值与传感器测量值之间的差值。
  • 用户应检查日志文件中的创新级别,以确定原因。可以在 ekf2_innovations 信息。常见问题/解决方案包括
    • 预热时 IMU 漂移。可通过重启自动驾驶仪解决。可能需要进行 IMU 加速和陀螺校准。
    • 邻近磁场干扰与载具移动相结合。通过移动载具、等待或重新供电来解决。
    • 磁强计校准不良,加上载具移动。通过重新校准解决。
    • 启动时的初始冲击或快速移动导致惯性导航解决方案失效。解决方法是重新启动载具,并在最初 5 秒内尽量减少移动。

# 其他参数

以下参数也会影响预飞检查。

# COM_ARM_WO_GPS

COM_ARM_WO_GPS 参数控制是否允许在没有全局位置估计的情况下进行上膛。

  • 1 (默认):上膛 对于不需要位置信息的飞行模式,允许在没有位置估计的情况下使用(仅)。
  • 0:只有当 EKF 提供全球位置估计且 EFK GPS 质量检查合格时,才允许上膛