为什么要做无人机动力建模

在设计多旋翼无人机时,我们通常会对无人机的一些参数有一定要求,通常为悬停耐力、系统效率、最大负载、最大俯仰和最大飞行距离。然而这些值我们应该如何得到呢?由于多旋翼无人机系统相对于其他无人机系统较为简单,这些性能指标通常就由推进系统决定,包括电机、螺旋桨、电子调速器、电池等。故我们对无人机动力建模,然后以此来选择型号尤为重要。下文我会介绍一种建模方法,以便我们选型1

模型求解

动力系统建模的参数

动力系统建模分为四部分:螺旋桨建模、电机建模、电调建模、电池建模。以下是这些模型所需各个器件的输入参数表

器件 参数指标
螺旋桨 \boldsymbol{\Theta}_{\mathrm{p}}=\left\{\right. 直径 D_{\mathrm{p}}
螺距 H_{\mathrm{p}} ,桨叶数 B_{\mathrm{p}} ,叶片平均气动弦长 c_{\mathrm{p}} ,重量 \left.G_{\mathrm{p}}\right\}
电机 \boldsymbol{\Theta}_{\mathrm{m}}=\left\{\right. 标称空载电流 I_{\mathrm{m} 0} ,标称空载电压 U_{\mathrm{m} 0} ,标称空载 KV 值 K_{\mathrm{V} 0} ,最大电流内阻 R_{\mathrm{m}} ,重量 \left.G_{\mathrm{m}}\right\}
电调 \boldsymbol{\Theta}_{\mathrm{e}}=\left\{\right. 最大电流 I_{\mathrm{e} \text { Max }} ,内阻 R_{\mathrm{e}} ,重量 \left.G_{\mathrm{e}}\right\}
电池 \boldsymbol{\Theta}_{\mathrm{b}}=\left\{\right. 总容量 C_{\mathrm{b}} ,内阻 R_{\mathrm{b}} ,总电压 U_{\mathrm{b}} ,最大放电倍率 K_{\mathrm{b}} ,重量 \left.G_{\mathrm{b}}\right\}

可以看到,我们求解我们所需要的性能指标,需要我们先已知器件的参数,有没有什么办法能依靠模型选出这些参数呢?总不能自己一个个去试吧。有的兄弟,有的。在2也有介绍无人机选型的算法,有需要可以自行了解,这篇文章我们专注于对模型的介绍。

模型求解思路

总模型我们可以通过器件的不同再次拆分为以下几类:螺旋桨模型、电机模型、点调模型、电池模型。
在已知载重和旋翼个数的情况下,我们可以通过螺旋桨的参数来得到螺旋桨的拉力和转矩,然后再通过电机模型得到电机所需的等效电压和等效电流,随后通过点调模型得到点调输入电流和电压,最后由电池模型得到放电时间即悬停时间。

螺旋桨模型

对于螺旋桨,拉力和扭矩分别为
\begin{aligned} T & =C_T \rho\left(\frac{N}{60}\right)^2 D_p^4 \\ M & =C_M \rho\left(\frac{N}{60}\right)^2 D_p^5 \end{aligned}
这里空气密度\rho(kg/m^3)随着海拔h(m)变化,公式如下

\rho=\frac{273 p}{101325\left(273+T_t\right)} \rho_0

其中p_0 = 1.293kg/m^3为标准空气密度
大气压p(Pa)的计算公式为

p=p_0\left(1-0.0065 \frac{h}{273+T_t}\right)^{5.2561} .

接下来的任务是找出C_TC_M他们的公式为

\begin{aligned} C_T & =f_{C_T}\left(\Theta_p\right) \\ C_M & =f_{C_M}\left(\Theta_p\right) \end{aligned}

对于f_{C_T}f_{C_M}

\begin{aligned} & f_{C_T}\left(\Theta_p\right) \triangleq 0.25 \pi^3 \lambda \zeta^2 B_p K_0 \frac{\varepsilon \arctan \frac{H_p}{\pi D_p}-\alpha_0}{\pi A+K_0} \\ & f_{C_M}\left(\Theta_p\right) \triangleq \frac{1}{8 A} \pi^2 C_d \zeta^2 \lambda B_p^2 \end{aligned}
其中
C_d=C_{f d}+\frac{\pi A K_0^2}{e} \frac{\left(\varepsilon \arctan \frac{H_p}{\pi D_p}-\alpha_0\right)^2}{\left(\pi A+K_0\right)^2}
对于未说明的元素,定义和推荐取值如下

符号 参数名称 定义/说明 取值
A 展弦比 (Aspect ratio) 定义为 A = D_p / c_p(螺旋桨直径与桨叶弦长之比) 。 5–8
\varepsilon 修正因子 (Correction factor) 用于修正由于下洗气流(Downwash)引起的有效攻角变化的系数。 0.85-0.95
\lambda 修正系数 (Correction coefficient) 桨叶面积修正系数,用于计算桨叶有效面积 S_{sa} = \frac{B_p}{2}\lambda D_p c_p 0.7-0.9
\zeta 转速修正系数 描述平均转速与尖端转速之间关系的系数。 0.4 \sim 0.7
e 奥斯瓦尔德效率因子 (Oswald factor) 表征机翼/桨叶诱导阻力与理想情况偏差的系数。 0.7–0.9
C_{fd} 零升力阻力系数 (Zero-lift drag coefficient) 描述在不产生升力时的基本阻力,取决于叶片厚度、雷诺数等因素。 0.015
\alpha_0 零升力角 (Zero-lift angle of attack) 当升力系数 C_l 为零时的攻角,用于确定绝对攻角 \alpha_{ab} = \alpha - \alpha_0 -\frac{\pi}{36} \sim 0

电机模型

电机模型的目的是通过电机的参数最终得到电机的电流和电压,以供我们后续的计算,我们定义

\begin{aligned} U_m & =f_{U_m}\left(\boldsymbol{\Theta}_m, M, N\right) \\ I_m & =f_{I_m}\left(\boldsymbol{\Theta}_m, M, N\right) . \end{aligned}
而电压和电流我们通过下式得到
\begin{aligned} f_{U_m}\left(\Theta_m, M, N\right) \triangleq & R_m\left(\frac{M K_{V 0} U_{m 0}}{9.55\left(U_{m 0}-I_{m 0} R_m\right)}+I_{m 0}\right) \\ & +\frac{U_{m 0}-I_{m 0} R_m}{K_{V 0} U_{m 0}} N \end{aligned}

f_{I_m}\left(\Theta_m, M, N\right) \triangleq \frac{M K_{V 0} U_{m 0}}{9.55\left(U_{m 0}-I_{m 0} R_m\right)}+I_{m 0}

电调模型

我们可以通过[电机模型]求得的U_m和I_m,\Theta_b,\Theta_c来通过电调模型得到电池最终输出的电压和电流I_eU_e还有占空比\sigma
\begin{aligned} \sigma & =f_\sigma\left(\boldsymbol{\Theta}_e, U_m, I_m, U_b\right) \\ I_e & =f_{I_e}\left(\sigma, I_m\right) \\ U_e & =f_{U_e}\left(\boldsymbol{\Theta}_b, I_e\right) \end{aligned}
通过电机的等效模型我们可以得到
U_{eo} = U_m +I_mR_e
电调的占空比为
\sigma=\frac{U_{\mathrm{eo}}}{U_e} \approx \frac{U_{\mathrm{eo}}}{U_b}

最终电调的输出为

I_e = \sigma I_m

我们得保证I_e要小于最大电流

电调的电压由电池组提供,由内阻模型可知

U_e = U_b - I_bR_b
其中I_b是电池的电流,由于多旋翼无人机电调的数量等于旋翼的数量,故
I_b = n_rI_e + I_{control}
最终

\begin{aligned} f_\sigma\left(\Theta_e, U_m, I_m, U_b\right) & \triangleq \frac{U_m+I_m R_e}{U_b} \\ f_{I_e}\left(\sigma, I_m\right) & \triangleq \sigma I_m \\ f_{U_e}\left(\Theta_b, I_b\right) & \triangleq U_b-I_b R_b \end{aligned}

电池模型

电池模型主要用于求出持续时间T_bT_b抽象为以下函数
T_b=f_{T_b}\left(\boldsymbol{\Theta}_b, I_b\right)
简化电池放电过程方便计算,使用以下模型可直接求得
f_{T_b}\left(\Theta_b, I_b\right) \triangleq \frac{C_b-C_{\min }}{I_b} \cdot \frac{60}{1000}
其中C_{min}最好在15\% \sim 20 \%之间
I_b还需要满足
I_b \le C_bK_b

参数求解

现在我们需要根据我们的模型来求解出我们的参数

器件 型号 参数
螺旋桨 乾丰 Gemfan Hurricane 6045-3 直径D_p = 6 inch
俯仰高H_p = 4.5 inch
浆叶数B_p = 4螺旋桨重量G_p = 7g
电机 朗宇三代X2216 标称空载电机常数 K_{V0} = 1400
最大电流 I_{mMax} = 50A
标称空载电流 I_{m0} = 1.2A
电机内阻 R_m = 32.2 m\Omega
电机重量 G_m = 72g
电调 HAKRC海科四合一 40A 最大电流 I_{eMax} = 40A
电调内阻 R_e = 未知
电调重量 G_e = 6g
电池 双天HED系列5050 容量 C_b = 5050mAh
电池内阻 R_b = 未知
总电压 U_b
最大放电倍率 K_b
电池重量 G_b

对于以上器件型号如何选择的,以后会再出一篇来讲解
下面来求解我们的无人机参数,包括悬停时间,最大推力下的参数,最大负载和最大俯仰角,最大前飞速度和距离

悬停时间

在悬停模式下,无人机需要保持高度不变。这意味着所有螺旋桨产生的总推力必须刚好等于飞机的重力 G

如果你的无人机有 n_r 个旋翼(比如四旋翼就是 4 个),那么单个螺旋桨所需的推力 T^* 为:

T^* = \frac{G}{n_r}

有了推力,我们就能反推出螺旋桨所需的转速 N∗扭矩 M∗。这两个值是连接空气动力学与电机的桥梁:

N^* = 60 \sqrt{\frac{T^*}{\rho D_p^4 f_{CT}(\Theta_p)}}

M^* = \rho D_p^5 f_{CM}(\Theta_p) \left( \frac{N^*}{60} \right)^2

得到了螺旋桨的转速和扭矩后,我们要算出电机需要多少电压 U_m^* 和电流 I_m^*

U_m^* = f_{Um}(\Theta_m, M^*, N^*)

I_m^* = f_{Im}(\Theta_m, M^*, N^*)

紧接着,我们要考虑电调(ESC)。电调通过调节占空比 σ 来控制电机速度。同时,我们还得算出电调输入端的电流 I_e^* 和电压 U_e^*

\sigma^* = f_\sigma(\Theta_e, U_m^*, I_m^*, U_b)

I_e^* = f_{Ie}(\sigma^*, I_m^*)

最后,我们需要计算电池的总输出电流 I_b^*。注意,除了驱动电机的电流,还要加上控制系统(如飞控、图传)的功耗 I_{control}

I_b^* = n_r I_e^* + I_{control}

有了总电流,根据电池容量 C_b 和放电特性,我们就能得出最终的悬停时间 Tloiter∗​

T_{loiter}^* = f_{Tb}(\Theta_b, I_b^*)

最大推力下的参数

在最大推力下,占空比\sigma^* = 1这意味着电机的等效电压U^*_m达到它的峰值,我们可以通过以下方程来求解I_m^*, U_m^*, M^*, \text {和} N^*
\begin{aligned} f_\sigma\left(\Theta_e, U_m, I_m, U_b\right) & =1 \\ M-\rho D_p^5 f_{C_M}\left(\Theta_p\right)\left(\frac{N}{60}\right)^2 & =0 \\ U_m-f_{U_m}\left(\Theta_m, M, N\right) & =0 \\ I_m-f_{I_m}\left(\Theta_m, M, N\right) & =0 \end{aligned}
基于之前的公式,我们最终将得到
\begin{aligned} I_e^* & =f_{I_e}\left(1, I_m^*\right) \\ I_b^* & =n_r I_e^*+I_{\mathrm{control}} \\ U_e^* & =f_{U_e}\left(\Theta_b, I_b^*\right) \end{aligned}
系统的效率为
\eta^*=\frac{\frac{2 \pi}{60} n_r M^* N^*}{U_b I_b^*}

最大负载和最大俯仰角

最大负载和最大俯仰角与与无人机的安全性密切相关,计算时因保证足够的控制余量,故控制最大占空比应该在\sigma = 0.7 - 0.9之间。本文取0.8。根据以下方程我们可以解出I_m^*, U_m^*, M^*, \text { 和 } N^*
\begin{aligned} f_\sigma\left(\Theta_e, U_m, I_m, U_b\right) & =0.8 \\ M-\rho D_p^5 f_{C_M}\left(\Theta_p\right)\left(\frac{N}{60}\right)^2 & =0 \\ U_m-f_{U_m}\left(\Theta_m, M, N\right) & =0 \\ I_m-f_{I_m}\left(\Theta_m, M, N\right) & =0 . \end{aligned}
然后计算推力的式子为
T^*=\rho D_p^4 f_{C_T}\left(\Theta_p\right)\left(\frac{N^*}{60}\right)^2
因此我们就能得到最大负载和最大俯仰角
G_{\mathrm{maxload}}^*=n_r T^*-G .
\theta_{\max }^*=\arccos \frac{G}{n_r T^*} .

最大前飞速度和距离

我们求解最大前飞速度和距离可以由以下三个步骤得出,首先先求解最大前飞速度,随后通过最大前飞速度求解最大前飞距离,最后优化这两个数值
前飞受力状态

最大前飞速度

在稳定前飞时,无人机需要通过倾斜机身来产生向前的水平分力,以抵消空气阻力 F_{\text{drag}}

  • 平衡公式:F_{\text{drag}}(\theta) = G \tan \theta
  • 这意味着俯仰角 \theta 越大,水平向前的推力分量就越强,能克服的阻力也越大。

通常我们认为阻力系数是一个常数,但在大幅度俯仰(最高可达 90^\circ)的情况下,无人机迎风面的形状一直在变。文章引入了一个动态的阻力系数公式:

C_D(\theta) = C_1 (1 - \cos^3 \theta) + C_2 (1 - \sin^3 \theta)

这里的 C_1C_2 是根据机身外形通过 CFD 模拟得出的常数。这个公式优雅地描述了随着倾角变化,机身受风面积和形状对阻力的综合影响。

最终

V(\theta) = \sqrt{\frac{2G \tan \theta}{\rho S [C_1 (1 - \cos^3 \theta) + C_2 (1 - \sin^3 \theta)]}}
最大前飞距离

电机速度N(\theta)
N(\theta)=60 \sqrt{\frac{G}{\rho C_T D_p^4 n_r \cos \theta}} .
因此电机转矩为
M(\theta)=\frac{G C_M D_p}{C_T n_r \cos \theta}
最后我们可以通过以下方程求解出前飞时间T_{fly}
\begin{gathered} U_m(\theta)=f_{U_m}\left(\boldsymbol{\Theta}_m, M(\theta), N(\theta)\right) \\ I_m(\theta)=f_{I_m}\left(\boldsymbol{\Theta}_m, M(\theta), N(\theta)\right) \\ \sigma(\theta)=f_\sigma\left(\boldsymbol{\Theta}_e, U_m(\theta), I_m(\theta), U_b\right) \\ I_e(\theta)=f_{I_e}\left(\sigma(\theta), I_m(\theta)\right) \\ I_b(\theta)=n_r I_e(\theta)+I_{\text {control }} \\ T_{f l y}(\theta)=f_{T_b}\left(\boldsymbol{\Theta}_b, I_b(\theta)\right) \end{gathered}
总飞行距离和时间的关系为
Z(\theta)=60 V(\theta) T_{\text {fly }}(\theta) .

优化数值

我们可以通过数值遍历法来求解以下两个问题,遍历所有的角度,最终暴力破解出最大值
V_{\max }=\max _{\theta \in\left[0, \theta_{\max }\right]} V(\theta)

Z_{\max }=\max _{\theta \in\left[0, \theta_{\max }\right]} 60 \mathrm{~V}(\theta) T_{\text {fly }}(\theta)


  1. http://ieeexplore.ieee.org/document/7866879/ ↩︎

  2. www.flyeval.com ↩︎