直升机
  • 直升机简介
  • 自动驾驶仪硬件选项
  • 首次设置
    • 安装地面站 (GCS) 软件
    • 自动导航仪系统组装说明
    • 加载固件
    • 在没有现有 ArduPilot 固件的情况下将固件加载到板上
    • 将任务规划器连接到自动驾驶仪
    • 必需的硬件配置
  • 首飞和调校
    • 直升机首飞
    • 布臂前安全检查
    • 飞行前检查表(直升机)
    • 给新飞行员的提示
    • 布防电机
    • 调音
    • 测量震动
    • 设置悬停油门
    • 自动修剪
    • 推力损失和偏航不平衡警告
    • 室内飞行指南
  • 如果出现问题
  • 飞行特点
  • 高级配置
    • 自动驾驶仪输出映射
    • 自动调谐
    • 辅助功能开关
    • 气压计温度补偿
    • 引导加载程序更新
    • BLHeli ESC
    • CAN总线设置
    • 指南针设置(高级)
    • 限流和电压调节
    • 无人机罐设置
    • EKF(扩展卡尔曼滤波)
    • EKF Affinity & Lane Switch
  • 任务规划
  • 日志
  • 周边硬件
  • 代工定制
  • 传统直升机
  • 三轴飞行器
  • 单轴飞行器和同轴直升机
  • 双直升机
  • 直升机四轴飞行器
  • SkyRocket无人机
  • 3DR Solo
  • 参考系
  • 用例和应用
  • 天线跟踪
  • 模拟
  • 即将推出的功能
  • 用户提醒
Powered by GitBook
On this page
  • 扩展卡尔曼滤波 (EKF)¶
  • 应该使用 EKF2 还是 EKF3?¶
  • 选择 EKF 和内核数量¶
  • 亲和力和通道切换¶
  • 全球定位系统/非全球定位系统转换¶
  • 经常修改的参数¶
  1. 高级配置

EKF(扩展卡尔曼滤波)

Previous无人机罐设置NextEKF Affinity & Lane Switch

Last updated 1 year ago

扩展卡尔曼滤波 (EKF)

扩展卡尔曼滤波(EKF)算法用于 根据以下条件估计车辆位置、速度和角度方向 速率陀螺仪、加速度计、指南针、GPS、空速和气压 压力测量。

EKF 相对于更简单的互补滤波器的优势 算法(即“惯性导航”)是,通过融合所有可用的测量值会更好 能够拒绝有明显误差的测量。这使得 车辆不易受到影响单个传感器的故障的影响。一个 EKF 也 支持从可选传感器进行测量,例如光流和 用于辅助导航的激光测距仪。

当前稳定版本的ArduPilot使用EKF3作为其主要姿态和位置估计源,DCM在后台安静运行。 如果自动驾驶仪有两个(或更多)IMU可用,则两个EKF“内核”(即EKF的两个实例)将并行运行,每个内核使用不同的IMU。 在任何时候,只使用单个 EKF 内核的输出,该内核是报告最佳运行状况的内核,这取决于其传感器数据的一致性。

大多数用户应该不需要修改任何 EKF 参数,但以下信息提供了有关最常更改的参数的一些信息。 更详细的信息可以在找到。

应该使用 EKF2 还是 EKF3?

通常,我们建议用户坚持使用 EKF3,现在是默认设置。此外,由于空间限制,1MB自动驾驶仪只有此选项。EKF2 仍然可以使用,但没有 EKF3 的许多增强功能,例如更新的传感器源,包括信标、车轮编码器和视觉里程计。

选择 EKF 和内核数量

:设置为“1”以使用EKF,“0”设置为使用DCM进行姿态控制和 用于位置控制的惯性导航(Copter-3.2.1)或AHRS航位推算(飞机)。在 Copter-3.3(及更高版本)中,此参数强制为“1”且无法更改。

:设置为 “2” 使用 EKF2 进行姿态和位置估计,设置为 “3” 表示 EKF3。

,:设置为“1”以分别启用 EKF2 和/或 EKF3。

,:指定要使用的 IMU(即加速度计/陀螺仪)的位掩码。将为指定的每个 IMU 启动一个 EKF“核心”(即单个 EKF 实例)。

  • 1:使用第一个 IMU 启动单个 EKF 内核

  • 2:仅使用第二个 IMU 启动单个 EKF 内核

  • 3:分别使用第一个和第二个 IMU 启动两个单独的 EKF 内核

注意

如果 EKF 变得不健康或 EKF 没有融合 GPS 数据,尽管 GPS 具有 2D 锁定,飞机和漫游车将从 EKF3 或 EKF3 回退到 DCM。 没有从 EKF3 到 EKF2(或 EKF2 到 EKF1)的回退

警告

使用上述参数可以同时并行运行多达 5 个 AHRS(DCMx1、EKF2x2、EKF3x2),但这可能会导致性能问题,因此如果并行运行 EKF2 和 EKF3,请设置IMU_MASK以减少内核总数。

  • 0:使用气压计(默认)

  • 2 : 使用全球定位系统。当 GPS 质量非常好且气压计漂移可能是一个问题时很有用。例如,如果车辆将在高度变化为 >100m 的情况下执行长途任务。

  • 0:从GPS使用3D速度和2D位置

  • 1:使用2D速度和2D位置(GPS速度没有贡献) 到海拔估计)

  • 2:使用2D位置

:选择使用哪个“核心”或“通道”作为主。值 0 选择中的第一个 IMU 通道,1 选择第二个通道,依此类推。确保所选主通道存在。请参阅下面的亲和力和通道切换。

亲和力和通道切换

EKF3 提供了传感器亲和力功能,允许 EKF 内核也使用传感器的非主要实例,特别是空速、气压计、指南针(磁力计)和 GPS。这使得车辆能够更好地管理高质量的传感器,并能够相应地切换车道,以使用性能最佳的传感器进行状态估计。有关更多详细信息和配置,请参阅 。

全球定位系统/非全球定位系统转换

EKF3(在ArduPilot 4.1及更高版本中)支持传感器的飞行切换,这对于在GPS和非GPS环境之间转换非常有用。有关更多详细信息,请参阅 。

经常修改的参数

将哪个传感器用作主要高度源

1:使用测距仪。除非飞行器在地面平坦的室内飞行,否则请勿使用此选项。有关地形跟踪,请参阅和,不需要更改此参数。

:默认值为“1.0”。较低的数字减少了对加速度计的依赖,增加了对气压计的依赖。

: 控制 GPS 的使用方式。

3:没有GPS(仅在可用时才使用)

:在计算航向时控制 GPS 和指南针之间的权重。默认值为“0.5”,较低的值将导致指南针更受信任(即指南针的权重越高)

如上所述,有关 EKF 理论和调谐参数的更详细概述,请参阅开发人员 wiki 的。

EK3_PRIMARY
EK3_IMU_MASK
¶
EKF3 关联和通道切换
¶
GPS/非 GPS 过渡
¶
EK2_ALT_SOURCE
直升机
飞机特定地形遵循说明
EK2_ALT_M_NSE
EK2_GPS_TYPE
光流
EK2_YAW_M_NSE
扩展卡尔曼滤波器导航概述和调谐
以前
下一个
¶
开发者 EKF wiki 页面上
¶
¶
AHRS_EKF_USE
AHRS_EKF_TYPE
EK2_ENABLE
EK3_ENABLE
EK2_IMU_MASK
EK3_IMU_MASK
../_images/advanced-configuration-ekf.png