控制系统数学建模:从理论到 Simulink 实践
控制系统的数学建模,被控对象的数学模型建立,simulink模型实现。 提供四旋翼和带尾翼直升机,共轴式直升机的数学模型、simulink模型,推导。 提供资料,文献。 刚体飞行动力学模型,运动学模型,旋翼挥舞运动模型。 三维坐标变换,旋转矩阵推导,空气动力学。
在航空航天领域以及各类自动控制系统中,数学建模是理解和设计控制系统的关键步骤。今天咱们就深入探讨下几种典型飞行器——四旋翼、带尾翼直升机和共轴式直升机的数学建模过程,以及如何通过 Simulink 实现模型搭建。
一、刚体飞行动力学与运动学基础
在研究飞行器之前,得先了解刚体飞行动力学和运动学模型。刚体飞行动力学描述的是飞行器在力和力矩作用下的运动变化,而运动学则侧重于描述飞行器的位置、姿态随时间的变化关系,不涉及力和力矩。
(一)三维坐标变换与旋转矩阵推导
我们知道,飞行器在空间中的姿态是不断变化的,这就需要用到三维坐标变换。以常用的欧拉角为例(滚转 $\phi$、俯仰 $\theta$、偏航 $\psi$),旋转矩阵是实现坐标变换的关键工具。
假设初始坐标系为惯性坐标系 $I$,机体坐标系为 $B$,从惯性坐标系到机体坐标系的旋转可以通过三个依次绕轴的旋转来实现。先绕 $z$ 轴旋转 $\psi$ 角,再绕新的 $y$ 轴旋转 $\theta$ 角,最后绕新的 $x$ 轴旋转 $\phi$ 角。

对应的旋转矩阵 $R_{IB}$ 为:
syms phi theta psi real;
Rz = [cos(psi) -sin(psi) 0; sin(psi) cos(psi) 0; 0 0 1];
Ry = [cos(theta) 0 sin(theta); 0 1 0; -sin(theta) 0 cos(theta)];
Rx = [1 0 0; 0 cos(phi) -sin(phi); 0 sin(phi) cos(phi)];
R_IB = Rx * Ry * Rz;
disp(R_IB);
在这段 Matlab 代码中,我们使用符号运算工具箱(syms)定义了欧拉角变量 phi、theta 和 psi。然后分别构建了绕 $z$ 轴(Rz)、$y$ 轴(Ry)和 $x$ 轴(Rx)的旋转矩阵,最后通过矩阵乘法得到从惯性坐标系到机体坐标系的旋转矩阵 R_IB。这个旋转矩阵在后续飞行器力和力矩的转换,以及姿态运动学的描述中都起着核心作用。
二、旋翼挥舞运动模型
旋翼是直升机类飞行器产生升力和控制的关键部件。旋翼挥舞运动模型描述了旋翼桨叶在旋转过程中的上下挥舞运动,这对于准确建立飞行器的动力学模型至关重要。
简单来说,旋翼挥舞运动主要受到离心力、气动力和挥舞铰约束的影响。假设旋翼桨叶为刚性,挥舞运动方程可以写成类似以下的形式(简化示例):
\[Ib \ddot{\beta} + \Omega^2 Ib \beta = Ma + Mc\]

其中,$Ib$ 是桨叶绕挥舞铰的转动惯量,$\beta$ 是挥舞角,$\Omega$ 是旋翼旋转角速度,$Ma$ 是气动力矩,$M_c$ 是离心力引起的力矩。
三、飞行器数学模型建立
(一)四旋翼数学模型
四旋翼飞行器相对简单且对称,其主要通过四个旋翼的转速差来实现姿态和位置控制。
- 力和力矩分析
- 升力:每个旋翼产生的升力 $Fi = k \omegai^2$($i = 1,2,3,4$,$k$ 为升力系数,$\omegai$ 为第 $i$ 个旋翼的转速)。总升力 $F = \sum{i = 1}^{4} Fi$。
- 力矩:通过调整不同旋翼的转速差可以产生滚转、俯仰和偏航力矩。例如,滚转力矩 $M{\phi} = l (F2 - F4)$,俯仰力矩 $M{\theta} = l (F3 - F1)$,偏航力矩 $M{\psi} = d (F1 - F2 + F3 - F4)$,其中 $l$ 是旋翼到飞行器中心的距离,$d$ 是与旋翼反扭矩相关的系数。
- 动力学方程
在机体坐标系下,四旋翼的动力学方程可以写成:
\[
\begin{cases}

控制系统的数学建模,被控对象的数学模型建立,simulink模型实现。 提供四旋翼和带尾翼直升机,共轴式直升机的数学模型、simulink模型,推导。 提供资料,文献。 刚体飞行动力学模型,运动学模型,旋翼挥舞运动模型。 三维坐标变换,旋转矩阵推导,空气动力学。
m \dot{v}x = - F \sin \theta + F{windx}\\
m \dot{v}y = F \sin \phi \cos \theta + F{windy}\\

m \dot{v}z = F \cos \phi \cos \theta - mg + F{windz}\\
Ix \dot{\omega}x = M_{\phi}\\
Iy \dot{\omega}y = M_{\theta}\\

Iz \dot{\omega}z = M_{\psi}
\end{cases}
\]

这里 $m$ 是飞行器质量,$vx, vy, vz$ 是速度分量,$\omegax, \omegay, \omegaz$ 是角速度分量,$Ix, Iy, Iz$ 是转动惯量,$F{windx}, F{windy}, F{windz}$ 是风干扰力,$g$ 是重力加速度。
(二)带尾翼直升机数学模型
带尾翼直升机相比四旋翼结构更复杂,除了主旋翼,尾旋翼用于平衡主旋翼产生的反扭矩并控制偏航。
- 主旋翼模型
主旋翼产生的升力和力矩与四旋翼类似,但由于其旋转平面与机体的关系更为复杂,计算时需要考虑更多因素。主旋翼升力 $F{main} = CT \rho A \Omega{main}^2 R^2$,其中 $CT$ 是主旋翼升力系数,$\rho$ 是空气密度,$A$ 是主旋翼扫掠面积,$\Omega_{main}$ 是主旋翼旋转角速度,$R$ 是主旋翼半径。
- 尾旋翼模型
尾旋翼主要用于产生偏航控制力矩。尾旋翼推力 $F{tail} = C{T{tail}} \rho A{tail} \Omega{tail}^2 R{tail}^2$,偏航力矩 $M{\psi} = - F{tail} l{tail}$,其中 $C{T{tail}}$ 是尾旋翼升力系数,$A{tail}$ 是尾旋翼扫掠面积,$\Omega{tail}$ 是尾旋翼旋转角速度,$R{tail}$ 是尾旋翼半径,$l_{tail}$ 是尾旋翼到飞行器重心的距离。
- 整体动力学方程
带尾翼直升机的动力学方程涉及更多变量和耦合项,其完整推导较为复杂,但基本原理还是基于牛顿第二定律和角动量定理,综合考虑主旋翼、尾旋翼以及机身的受力和力矩情况。
(三)共轴式直升机数学模型
共轴式直升机有上下两个旋翼,它们旋转方向相反以抵消反扭矩。
- 旋翼相互作用
上下旋翼之间存在气动干扰,其升力和力矩计算需要考虑这种相互作用。一般来说,上旋翼的下洗流会影响下旋翼的气动力。假设上旋翼的下洗速度为 $v{d1}$,下旋翼的下洗速度为 $v{d2}$,且 $v{d2}$ 与 $v{d1}$ 相关。通过经验公式或者更精确的计算流体力学方法可以得到上下旋翼的升力和力矩表达式。
- 动力学方程
共轴式直升机的动力学方程同样基于刚体动力学原理,考虑上下旋翼的力和力矩以及机身的受力情况。与前两者相比,其耦合关系更复杂,因为上下旋翼的相互作用对飞行器的稳定性和控制特性有显著影响。
四、Simulink 模型实现
(一)四旋翼 Simulink 模型
在 Simulink 中搭建四旋翼模型,我们可以将前面推导的动力学方程进行模块化实现。例如,创建一个子系统用于计算力和力矩,另一个子系统用于解算动力学方程。
- 力和力矩计算模块
在这个模块中,根据四个旋翼的转速输入计算总升力和滚转、俯仰、偏航力矩。代码实现(以伪代码为例):
def calculate_force_and_torque(omega1, omega2, omega3, omega4, l, d):
k = 0.1 # 升力系数示例值
F1 = k * omega1 ** 2
F2 = k * omega2 ** 2
F3 = k * omega3 ** 2
F4 = k * omega4 ** 2
F = F1 + F2 + F3 + F4
M_phi = l * (F2 - F4)
M_theta = l * (F3 - F1)
M_psi = d * (F1 - F2 + F3 - F4)
return F, M_phi, M_theta, M_psi
在 Simulink 中,可以使用 Math Function 模块或者自定义 S - Function 来实现这个计算逻辑。
- 动力学方程解算模块
这个模块接收力和力矩计算模块的输出,以及飞行器的初始状态(位置、速度、姿态等),通过积分等运算求解飞行器的状态变化。可以使用 Simulink 中的 Integrator 模块来实现积分运算。
(二)带尾翼直升机和共轴式直升机 Simulink 模型
搭建这两种直升机的 Simulink 模型思路与四旋翼类似,但由于其模型复杂性增加,需要更多的子系统来分别处理主旋翼、尾旋翼(对于带尾翼直升机)以及旋翼间相互作用(对于共轴式直升机)等部分。例如,对于带尾翼直升机,可以创建一个主旋翼子系统、一个尾旋翼子系统和一个整体动力学解算子系统。在每个子系统中,根据前面推导的数学模型实现相应的计算逻辑。
五、资料与文献推荐
- 《直升机飞行动力学》 - 这本书详细介绍了直升机的飞行动力学原理,包括各类直升机的数学建模方法,是深入学习直升机数学模型的经典读物。
- AIAA(美国航空航天学会)相关会议论文和期刊:如 Journal of Guidance, Control, and Dynamics 等,上面有许多关于飞行器建模与控制的最新研究成果,包括四旋翼、直升机等多种飞行器的先进建模方法和 Simulink 实现案例。
通过对这些飞行器数学模型的推导和 Simulink 实现,我们可以更好地理解飞行器的运动特性,为后续的控制系统设计和优化奠定坚实基础。无论是在学术研究还是实际工程应用中,这些知识都具有重要价值。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)