无人机平飞有利速度与所需速度:最大航程和最大航时分别用什么速度

两个容易混淆的概念

无人机在平飞时,有两个非常重要的速度概念经常被混淆:

  • 平飞所需速度(Required Speed):维持匀速平飞所需的最小速度。本质上就是满足升力等于重力的那个速度,对应的是能否飞起来的问题。
  • 平飞有利速度(Best Speed):在所需速度之上的某个特定速度值,能让某种性能指标(航程或航时)达到最大。对应的是怎么飞最划算的问题。

更准确地说,有利速度不是一个速度,而是两个:

速度 对应性能 物理本质 关系
最大航程速度 \(V_{R_{max}}\) 飞得最远 对应 \((L/D)_{max}\) (总阻力最小点) \(V_{R_{max}} > V_{E_{max}}\)
最大航时速度 \(V_{E_{max}}\) 飞得最久 对应最小需用功率点 \(V_{E_{max}}\) 略高于失速速度

这两个速度都比失速速度高,但最大航时速度非常接近失速边界。飞最久要飞慢,飞最远要飞快一些

理论基础

平飞条件

无人机匀速平飞时,升力必须等于重力:

\[L = W = \frac{1}{2} \rho V^2 S C_L\]

由此解出平飞所需速度:

\[V = \sqrt{\frac{2W}{\rho S C_L}}\]

从这个公式看,只要迎角不超过临界值(\(C_L \leq C_{L_{max}}\)),总有一个速度满足平飞条件。但不同的速度对应不同的阻力,也就对应不同的燃油消耗率。

为什么两个最优速度不同

总阻力由两部分组成:

\[D = \underbrace{\frac{1}{2}\rho V^2 S C_{D0}}_{\text{寄生阻力(随V²增大)}} + \underbrace{\frac{1}{2}\rho V^2 S \cdot k C_L^2}_{\text{诱导阻力(随V减小而增大)}}\]

用平飞条件消去 \(C_L\),得到阻力随速度的变化:

\[D = \frac{1}{2}\rho V^2 S C_{D0} + \frac{2k W^2}{\rho V^2 S}\]
  • 低速时(大迎角):诱导阻力占主导,阻力随速度减小而急剧增大(因为需要更大的 \(C_L\))
  • 高速时(小迎角):寄生阻力占主导,阻力随速度增大而急剧增大
  • 中间某处:两种阻力相等,总阻力最小 —— 这就是 \((L/D)_{max}\)

需用功率是阻力乘以速度:

\[P_{req} = D \cdot V = \frac{1}{2}\rho V^3 S C_{D0} + \frac{2k W^2}{\rho V S}\]

功率的极小值点比阻力的极小值点出现在更低的速度上(因为功率多乘了一个 \(V\),使得高速端的惩罚更大)。

因此:

  • \((L/D)_{max}\) 出现在总阻力的极小值点 \(\frac{dD}{dV}=0\)
  • 最小需用功率出现在功率的极小值点 \(\frac{dP_{req}}{dV}=0\)

这两个点不重合。数学推导可得(螺旋桨飞机):

\[\frac{V_{R_{max}}}{V_{E_{max}}} = 4^{1/4} \approx 1.414\]

实际无人机由于气动特性、螺旋桨效率变化等因素,比值通常在 1.2~1.5 之间。

航程和航时公式

螺旋桨飞机:

航程(Breguet 航程公式):

\[R = \frac{\eta_p}{sfc} \cdot \frac{C_L}{C_D} \cdot \ln\left(\frac{W_0}{W_1}\right)\]

航时(Endurance):

\[E = \frac{\eta_p}{sfc} \cdot \frac{C_L^{3/2}}{C_D} \cdot \sqrt{2\rho S} \cdot \left(\frac{1}{\sqrt{W_1}} - \frac{1}{\sqrt{W_0}}\right)\]
  • 航程正比于 \(C_L/C_D = L/D\)最大航程对应 \((L/D)_{max}\)
  • 航时正比于 \(C_L^{3/2}/C_D\)最大航时对应 \((C_L^{3/2}/C_D)_{max}\),即最小需用功率点

Python 建模与可视化

下面以一架典型小型无人机为例(JL-6 型参数参考):

  • 重量 \(W = 20 \text{ kg} \times 9.81 = 196.2 \text{ N}\)
  • 机翼面积 \(S = 0.65 \text{ m}^2\)
  • 零升阻力系数 \(C_{D0} = 0.025\)
  • 诱导阻力因子 \(k = 0.045\)

核心计算代码:

import numpy as np

rho = 1.225  # 海平面空气密度
W, S, C_D0, k = 196.2, 0.65, 0.025, 0.045

def CL_from_V(V):
    """平飞升力系数"""
    return 2 * W / (rho * S * V**2)

def CD(val):
    """阻力系数"""
    return C_D0 + k * val**2

def total_drag(V):
    """总阻力"""
    c_l = CL_from_V(V)
    return 0.5 * rho * V**2 * S * CD(c_l)

def power_required(V):
    """需用功率 (propeller)"""
    return total_drag(V) * V

def L_over_D(V):
    """升阻比"""
    c_l = CL_from_V(V)
    return c_l / CD(c_l)

# 扫描速度范围
V_stall = np.sqrt(2*W / (rho*S*1.6))  # C_Lmax ≈ 1.6
V_range = np.linspace(V_stall, 60, 500)

# 找最优点
V_min_drag = V_range[np.argmin([total_drag(v) for v in V_range])]
V_min_power = V_range[np.argmin([power_required(v) for v in V_range])]

print(f"失速速度: {V_stall:.1f} m/s")
print(f"最大航程速度 (V_min_drag): {V_min_drag:.1f} m/s")
print(f"最大航时速度 (V_min_power): {V_min_power:.1f} m/s")

输出结果:

失速速度: 17.6 m/s ≈ 63 km/h
最大航程速度: 25.7 m/s ≈ 93 km/h  (对应 L/D_max)
最大航时速度: 19.5 m/s ≈ 70 km/h  (对应最小需用功率)
比值 V_range/V_endurance = 1.32

综合分析图

下图的四个面板展示了完整的平飞性能分析:

无人机平飞性能综合分析

左上:总阻力分解为寄生阻力和诱导阻力,两条虚线交叉处为最小阻力点。

右上:需用功率曲线。注意最小功率点(紫色)在最小阻力点(蓝色)左侧。

左下:升阻比 L/D 曲线。峰值对应最大航程。

右下:相对航程(蓝)和相对航时(绿)随速度变化。100% 分别对应各自的最大值,两个最优速度不重合

动态演示 GIF

下面的动画展示了在不同速度下阻力、升力、功率的变化,以及当前速度对应于航程最优还是航时最优:

无人机速度-性能动态演示

速度从略高于失速逐渐增加到最大速度,可以直观看到: - 低速阶段诱导阻力主导(红色条很高) - 高速阶段寄生阻力主导(绿色条很高)
- 中间某处总阻力最小 → 最大航程速度 - 稍低速处需用功率最小 → 最大航时速度

小结

场景 使用速度 数值 原因
刚起飞/防止失速 \(V > V_{stall}\) > 17.6 m/s 升力必须 ≥ 重力
最大航时(飞最久) \(V_{E_{max}}\) ~19.5 m/s 对应最小需用功率
最大航程(飞最远) \(V_{R_{max}}\) ~25.7 m/s 对应最大升阻比 \((L/D)_{max}\)
快速到达/巡航 \(V > V_{R_{max}}\) > 25.7 m/s 牺牲效率换速度

对于实际操作: - 需要在空中停留尽可能长的时间(监视、 loitering),飞最小时功率速度 - 需要尽可能飞得远(转场、覆盖更大区域),飞最小阻力速度 - 两个速度差了约 32%,不是同一个速度 - 在小无人机上,长期在低功率速度附近飞行要注意别失速(余量不大)