请输入
菜单

风速估计与气压计补偿

风速估计与气压计补偿

ArduPilot的EKF(扩展卡尔曼滤波器)可以在无需空速传感器的情况下估计多旋翼飞行器所处环境的风速。这对飞行员来说是有用信息,也可用于补偿与风相关的气压计干扰。当自动驾驶仪暴露在开放空气中时,这种干扰可能发生,并可能导致飞行器爬升或下降数米,尤其是在从快速前飞减速之后。
【视频】带风力估计的无人机惯性导航

计算机体阻力系数

  1. 称量包含电池的飞行器重量,单位为千克(kg)。
  2. 使用以下方法之一测量飞行器的正面和侧面面积,单位为平方米(m²):
    • 从几米外拍摄飞行器的两张照片(一张正面,一张侧面)。
    • 使用以下在线工具之一测量照片中飞行器表面的面积(cm²):
      • 使用此免费在线工具在图像上叠加网格。缩放网格方块的大小以匹配飞行器的已知宽度或长度(cm)。计算包含飞行器部分(不包括螺旋桨叶片)的方块总数,即为面积(cm²)。
      • SketchAndCalc提供免费试用(仅1小时),可以相对容易地缩放并测量在飞行器上绘制的多边形面积(cm²)。
  3. 将面积除以10,000,从cm²转换为m²。
  4. 更新阻力系数参数:
    • EK3_DRAG_BCOEF_X = 质量(kg) / 正面面积(m²)
    • EK3_DRAG_BCOEF_Y = 质量(kg) / 侧面面积(m²)

对于上图中所示的IRIS无人机:

  • 重量:1.45公斤
  • 正面面积:203 cm² = 0.0203 m²
  • 侧面面积:217 cm² = 0.0217 m²
  • EK3_DRAG_BCOEF_X = 1.45kg / 0.0203 m² = 71.4
  • EK3_DRAG_BCOEF_Y = 1.45kg / 0.0217 m² = 66.8

计算螺旋桨阻力系数

EK3_DRAG_MCOEF 参数的值应按照视频中描述的方式,在执行飞行测试后计算。

  1. 在低风条件下,于开阔空间飞行。
  2. 在留待(loiter)模式下解锁并起飞(这确保EKF有良好的位置估计),然后飞至测试区域中央。
  3. 切换到定高(AltHold)模式,让飞行器顺风漂移,以确定风向和风速。
  4. 偏航飞行器使机头迎风,并施加满量程前倾俯仰,直到飞行器逆风加速完成。
  5. 释放俯仰摇杆,让飞行器减速,然后漂回起始线。
  6. 将飞行器重新定位到合适位置。
  7. 将飞行器偏航90度(例如顺时针)面向风,施加满量程左横滚摇杆,直到四轴飞行器完成加速。释放摇杆,让飞行器再次减速并顺风漂回起始线。
  8. 将飞行器重新定位到合适位置。
  9. 重复步骤8,但飞行器机尾迎风(飞行员应向后拉俯仰摇杆以逆风加速)。
  10. 重复步骤8,但飞行器右侧迎风(飞行员应施加满量程右横滚以逆风加速)。
  11. 按照视频描述下载机载日志进行分析。
  12. EK3_DRAG_MCOEF 的最终值通常在0.1到1.0之间。

实时查看风速和风向

启用后,估计的风速会通过WIND mavlink消息实时发送到地面站。如果使用Mission Planner,在“数据(Data)”页面,选择“快速(Quick)”选项卡,双击显示的任何数字,然后选择“wind_dir”或“wind_vel”。

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

EKF的风速估计值记录在机载日志的XKF2消息的VWNVWE字段中。

气压计位置误差补偿

启用风速估计后,它可用于补偿风对每个气压计在四个方向(前、后、左、右)上的影响。计算每个参数值的方法在视频中讨论。

  1. 执行一次测试飞行。
  2. 驾驶飞行器分别以机头迎风、机尾迎风、右侧迎风和左侧迎风飞行。
  3. 降落并下载机载日志。
  4. 计算每个方向的位置误差系数:
    • 使用在线计算器计算空气密度(kg/m³)。
    • 计算静压误差(Pa)= -高度 * 重力加速度 * 空气密度。
    • 计算动压 = 0.5 * 空气密度 * 空速²。
    • 位置误差系数 = 静压误差 / 动压。该值应在 -1 到 +1 之间。
  5. 启用补偿并将计算出的位置误差系数复制到相应的参数中。以下是第一个气压计的参数:
    • 设置 BARO1_WCF_ENABLE = 1 以启用,然后重新启动自动驾驶仪。
    • BARO1_WCF_FWD: 正X方向(向前)的压力误差系数
    • BARO1_WCF_BCK: 负X方向(向后)的压力误差系数
    • BARO1_WCF_RGT: 正Y方向(向右)的压力误差系数
    • BARO1_WCF_LFT: 负Y方向(向左)的压力误差系数
    • BARO1_WCF_UP: 正Z方向(爬升)的压力误差系数
    • BARO1_WCF_DN: 负Z方向(下降)的压力误差系数

其机制和设置方法如下视频所述:
【视频】多旋翼飞行器中的风速估算——Dr Paul Riseborough

参考链接:https://ardupilot.org/copter/docs/airspeed-estimation.html

上一个
按钮配置
下一个
PX4固件教程
最近修改: 2026-07-06Powered by