风速估算和气压补偿

ArduPilot 的 EKF 它可以估算出多旋翼飞行器的风速,而无需使用风速传感器。这对飞行员来说是有用的信息,但也可用于补偿与风有关的气压干扰。这种干扰可能发生在(飞行)控制器暴露在露天的飞行器上,特别是在快进飞行减速后,可能导致飞行器爬升或下降几米。

计算车身阻力系数

称量包括电池在内的载具重量。重量应以千克为单位。

使用以下方法之一测量载具的正面和侧面面积(单位:m^2

  • 从几米远的地方给载具拍两张照片(一张正面,一张侧面

  • 使用以下在线工具测量表面积(单位:cm^2):

    • 使用 这一免费在线工具 在图像上叠加网格。根据已知的载具宽度或长度(厘米)调整网格方格的大小。计算包含载具部件的方格总数(不包括螺旋桨叶片)。这就是以 cm^2 为单位的面积

      ../_images/windspeed-drag-coef-iris.png
    • 草图和计算 提供免费试用(仅 1 小时),可以比较容易地缩放并测量在载具上绘制的多边形的面积(单位:cm^2

      ../_images/windspeed-drag-coef-iris-sketchandcalc.jpg
  • 将面积除以 10 000,即可从 cm^2 换算成 m^2

更新阻力系数参数

如上图所示的 IRIS:

  • 重量:1.45 千克

  • 正面面积: 203 cm^2 = 0.0203 m^2

  • 边长: 217 cm^2 = 0.0217 m^2

  • ek3_drag_bcoef_x = 1.45 kg / 0.0203 m^2 = 71.4

  • ek3_drag_bcoef_y = 1.45 kg / 0.0217 m^2 = 66.8

计算螺旋桨阻力系数

"这款" EK3_DRAG_MCOEF 应在进行飞行测试后计算,具体方法如下 在视频中.

  1. 在低风条件下的宽阔空间飞行

  2. 可选择设置 日志_解除警报 = 1 和 日志播放 = 1,以便在飞行后使用 重播

  3. 臂和起飞 位置悬停 模式(这将确保 EKF 有一个良好的位置估计),并飞到测试区域的中间

  4. 切换到 AltHold 并让载具顺风漂移,以确定风向和风速

  5. 偏转载具,使车头朝向风向,并全力向前俯仰,直到载具完成逆风加速

  6. 松开俯仰杆,让飞行器减速,然后漂回起点线

  7. 将载具调整到舒适的位置

  8. 将飞行器迎风偏转 90 度(如顺时针方向),并完全使用左侧滚动杆,直至四轮飞行器完成加速。松开摇杆,让飞行器再次减速并顺风漂回起点线

  9. 将载具调整到舒适的位置

  10. 重复步骤 8,但让飞行器朝后迎风飞行(飞行员应向后拉动俯仰杆,加速迎风飞行)

  11. 重复步骤 8,但载具的右侧要朝向风向(驾驶员应全力向右翻滚,以加速迎风行驶)

  12. 下载 船载日志 如视频中所述进行分析

的最终值为 EK3_DRAG_MCOEF 通常介于 0.1 和 1.0 之间。

实时查看风速和风向

一旦启用,估算的风速将通过风速传感器实时发送到地面站。 mavlink 消息。如果使用Mission Planner地面站,在数据页面选择 "快速 "选项卡,双击显示的任何数字并选择 "wind_dir "或 "wind_vel"。

./_images/windspeed-mp.png

查看机载日志中记录的风速

EKF 的风速估计值记录在机载日志 XKF2 报文的 VWN 和 VWE 字段中

../_images/windspeed-log.png

气压计位置误差补偿

一旦启用风力估算,就可以在四个方向(向前、向后、向左、向右)补偿风力对每个气压计的影响。下面将讨论计算各参数值的方法 在视频中.

进行试飞

  • 车头先迎风,然后车尾先迎风,然后右侧先迎风,然后左侧先迎风

  • 登陆并下载 船载日志

计算每个方向的位置误差系数

  • 使用在线计算器计算空气密度(单位:kg/m^3) (就像这个)

  • 计算静压误差(单位 Pa)=-高度*重力*空气密度

  • 计算动压 = 0.5 * 空气密度 * 空速^2

  • 位置误差系数 = 静压误差 / 动压。该值应介于 -1 和 +1 之间

启用补偿并将计算出的位置误差系数复制到相应的参数中。以下是第一个气压计的参数。

机制和设置说明如下。