风速估算和气压补偿¶
ArduPilot 的 EKF 它可以估算出多旋翼飞行器的风速,而无需使用风速传感器。这对飞行员来说是有用的信息,但也可用于补偿与风有关的气压干扰。这种干扰可能发生在(飞行)控制器暴露在露天的飞行器上,特别是在快进飞行减速后,可能导致飞行器爬升或下降几米。
计算车身阻力系数¶
称量包括电池在内的载具重量。重量应以千克为单位。
使用以下方法之一测量载具的正面和侧面面积(单位:m^2
从几米远的地方给载具拍两张照片(一张正面,一张侧面
使用以下在线工具测量表面积(单位:cm^2):
将面积除以 10 000,即可从 cm^2 换算成 m^2
更新阻力系数参数
ek3_drag_bcoef_x = 质量(千克)/正面面积(m^2
ek3_drag_bcoef_y = 质量(千克)/侧面积(米^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 应在进行飞行测试后计算,具体方法如下 在视频中.
在低风条件下的宽阔空间飞行
臂和起飞 位置悬停 模式(这将确保 EKF 有一个良好的位置估计),并飞到测试区域的中间
切换到 AltHold 并让载具顺风漂移,以确定风向和风速
偏转载具,使车头朝向风向,并全力向前俯仰,直到载具完成逆风加速
松开俯仰杆,让飞行器减速,然后漂回起点线
将载具调整到舒适的位置
将飞行器迎风偏转 90 度(如顺时针方向),并完全使用左侧滚动杆,直至四轮飞行器完成加速。松开摇杆,让飞行器再次减速并顺风漂回起点线
将载具调整到舒适的位置
重复步骤 8,但让飞行器朝后迎风飞行(飞行员应向后拉动俯仰杆,加速迎风飞行)
重复步骤 8,但载具的右侧要朝向风向(驾驶员应全力向右翻滚,以加速迎风行驶)
下载 船载日志 如视频中所述进行分析
的最终值为 EK3_DRAG_MCOEF 通常介于 0.1 和 1.0 之间。
实时查看风速和风向¶
一旦启用,估算的风速将通过风速传感器实时发送到地面站。 风 mavlink 消息。如果使用Mission Planner地面站,在数据页面选择 "快速 "选项卡,双击显示的任何数字并选择 "wind_dir "或 "wind_vel"。
查看机载日志中记录的风速¶
EKF 的风速估计值记录在机载日志 XKF2 报文的 VWN 和 VWE 字段中
气压计位置误差补偿¶
一旦启用风力估算,就可以在四个方向(向前、向后、向左、向右)补偿风力对每个气压计的影响。下面将讨论计算各参数值的方法 在视频中.
进行试飞
车头先迎风,然后车尾先迎风,然后右侧先迎风,然后左侧先迎风
登陆并下载 船载日志
计算每个方向的位置误差系数
使用在线计算器计算空气密度(单位:kg/m^3) (就像这个)
计算静压误差(单位 Pa)=-高度*重力*空气密度
计算动压 = 0.5 * 空气密度 * 空速^2
位置误差系数 = 静压误差 / 动压。该值应介于 -1 和 +1 之间
启用补偿并将计算出的位置误差系数复制到相应的参数中。以下是第一个气压计的参数。
设置 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 方向的压力误差系数(下降)
机制和设置说明如下。