ardupilot开发 --- EKF 篇

1. EKF1~EKF3

待续...

2. Ardupilot滤波算法的演变


使用DCM还是EKF?

AHRS_EKF_USE: set to "1" to use the EKF, "0" to use DCM for attitude control and inertial nav (Copter-3.2.1) or ahrs dead reckoning (Plane) for position control. In Copter-3.3 (and higher) this parameter is forced to "1" and cannot be changed.

3. EKF3

  • AHRS_EKF_TYPE = 3
    EK2_ENABLE = 0
    EK3_ENABLE = 1
  • 飞控有多少个IMU就会运行多少个 EKF core 或称 EKF lane
    EK3_IMU_MASK 参数决定哪些IMU用于运行EKF lane.
  • 只有一个EKF lane 被用作飞机的状态估计AHRS,由参数EK3_PRIMARY决定,0 selects the first IMU lane in the EK3_IMU_MASK, 1 the second。这个用作AHRS的EKF3 lane 被称为 primary lane
  • 当 primary lane 出问题(误差很大,innovation大)时就会发生lane切换,即将其他表现正常的 EKF lane 切换为 primary lane,称为 Lane Switching
  • Lane Switching 由传感器的亲和度 EK3_AFFINITY 和错误阈值 EK3_ERR_THRESH 决定。
  • EK3_AFFINITY 和 EK3_ERR_THRESH 如何设置?

3.1 例子

某飞控具有:

3 IMUs

1 Barometer

2 GPS

2 Airspeeds

3 Magnetometers

EKF Lane 的传感器分配情况如下:

原文:Conventionally, each lane uses the primary instance of the Airspeed, Barometer, GPS and Magnetometer sensors.

疑问:3个IMU(Lane)2个GPS,怎么确定哪个Lane使用的是哪个GPS呢??Lane3使用的为什么是GPS1而不是2呢??

去源代码中一探究竟,看看这些传感器是如何被分配给 EKF lanes 的!!

待续...

4. 代码解析

待续...

相关推荐
EmotionFlying3 天前
(11)(2.1.3) KDE CAN ESCs(二)
外设硬件·copter·ardupilot
EmotionFlying9 天前
(11)(2.1.2) DShot ESCs(四)
外设硬件·copter·ardupilot
EmotionFlying16 天前
(11)(2.1.2) DShot ESCs(一)
外设硬件·copter·ardupilot
干了这碗汤1 个月前
ardupilot开发 --- C嘎嘎 篇
ardupilot
EmotionFlying2 个月前
(24)(24.2) Minim OSD快速安装指南(二)
外设硬件·copter·ardupilot
干了这碗汤2 个月前
ardupilot开发 --- 网络技术综述 篇
ardupilot
干了这碗汤2 个月前
ardupilot开发 --- Rpanion-server 篇
ardupilot
EmotionFlying2 个月前
(40)温度传感器
外设硬件·copter·ardupilot
lida20033 个月前
ArduPilot开源代码之AP_DAL_RangeFinder
c++·开源·ardupilot
lida20033 个月前
ArduPilot开源代码之OpticalFlow_backend
c++·开源·ardupilot