目录
手把手教你学Simulink——无人机机翼颤振边界条件预测
一、目标与边界
1.1 输出指标(颤振边界)
1.2 建模对象选择
二、理论方程
2.1 通用模态方程
2.2 典型二元翼段(Theodorsen)
2.3 求解方法对照
三、Simulink 建模
3.1 模型树(状态空间时域路线)
3.2 求解器
3.3 关键 MATLAB 函数
3.4 有限元降阶导入 Simulink(整翼)
四、边界条件与扫描工况
4.1 结构边界
4.2 气动边界
4.3 扫描矩阵
五、判定与结果解读
六、工程坑位
七、实现检查清单
手把手教你学Simulink——无人机机翼颤振边界条件预测
颤振是“结构弹性 + 非定常气动”耦合的自激失稳:来流速度超过临界值后,某阶耦合模态气动阻尼由正变负,振动指数增长。 本方案给两条可落线路线:①典型翼段/模态降阶用 p‑k、V‑g 频域扫边界;②Simulink 状态空间(Roger/有理函数近似气动)做时域增长与速度扫描。小型低速无人机先用 Theodorsen 片条或降阶气动,亚声速三维用偶极子格网 DLM,跨声速再上 CFD‑CSD。参数为教学初值,样机按模态试验/风洞/AVL‑DATCOM 回填。
一、目标与边界
1.1 输出指标(颤振边界)
指标 | 符号 | 说明/初值 |
|---|---|---|
颤振速度 | U_f | 某耦合模态 Re(λ)=0 对应来流速度 |
颤振频率 | f_f / ω_f | 临界点虚部对应频率 |
减缩频率 | k=ωb/U | b 取半弦或参考弦,扫描用 |
动压 | q=0.5ρU² | 边界曲线横轴可替换动压 |
模态阻尼率 | σ/ζ | 特征值实部或等效阻尼,穿零即颤振 |
静气动弹发散 | U_div | 仅扭转/俯仰刚度失配时单独校 |
包线裕度 | — | 适航常按飞行速度 1.15 倍颤振裕度校 |
1.2 建模对象选择
- 方案A 典型翼段(教学最快):取单位展长刚翼段,沉浮 h + 俯仰 α 两自由度,Theodorsen 非定常气动。适合理解弯曲‑扭转耦合、质量静不平衡、弹性轴位置影响。
- 方案B 模态降阶整翼:有限元/试验提取前 N 阶(通常 1‑2 弯、1‑2 扭、必要时含副翼/蒙皮),广义坐标 q,气动用片条/Theodorsen/DLM 生成 Q(k),p‑k 求边界。适合无人机整机预研。
- 方案C Simulink 时域:对 Q(k) 做 Roger/矢量拟合有理函数近似,转状态空间,扫 U 看特征值或给初始扰动看幅值增长;可进一步接舵机做气动伺服弹性。
二、理论方程
2.1 通用模态方程
Mq¨+Cq˙+Kq=q∞Q(k)q,q∞=21ρU2
k=ωb/U 为减缩频率,Q(k) 为非定常广义气动力矩阵(复数,依赖马赫数)。
2.2 典型二元翼段(Theodorsen)
取弹性轴沉浮 h、俯仰 α,半弦 b,弹性轴无量纲位置 a(mid‑chord 为0,前缘负),质心偏心 x_α,单位展长质量 m,静矩 S_α,转动惯量 I_α,弯曲刚度 K_h、扭转刚度 K_α:
mh¨+Sαα¨+Khh=−L
Sαh¨+Iαα¨+Kαα=MEA
非定常升力/力矩用 Theodorsen 函数 C(k)=F(k)+iG(k)(Bessel 比):
L=πρb2[h¨+Uα˙−baα¨]+2πρUbC(k)[h˙+Uα+b(1/2−a)α˙]
MEA 按弹性轴取矩,含 C(k) 回路/非回路项
无因次形式可直接扫质量比 μ=m/(πρb²)、回转半径 r_α、偏心 x_α、频率比 ω_h/ω_α;经验上弯曲扭转变频比接近1时最易耦合失稳。
2.3 求解方法对照
- V‑g / U‑g 法:人为加结构阻尼 g,解复特征,画 U‑g;g=0 且由负变正的速度近似颤振速度。初筛快,但人工阻尼物理性弱。
- p‑k 法:设 q=q₀e^{pt},p=γ+iω;先猜 k,解特征值取 ω→更新 k=ωb/U→迭代;γ 穿零对应 U_f。比 V‑g 更物理,详细预研常用。
- p / 状态空间法:Q(k) 用 Roger 近似
Q(s)≈Q0+Q1s+Q2s2+D(sI−R)−1E
转增广状态空间,时域/控制耦合方便。 - DLM/Panel/CFD:亚声速整翼用偶极子格网,高速用 ZONA/面板,跨声速用 CFD‑CSD;Simulink 只做降阶后验证。
三、Simulink 建模
3.1 模型树(状态空间时域路线)
[Flight Condition] ρ, U, M, 高度 → q=0.5ρU² │ ▼ [Aero Rational Fit] Roger/矢量拟合状态:Daugment, Aaero,Baero, Caero 输入广义位移/速度 → 输出广义气动力 Qq │ ▼ [Structure Modal] Mq,Cq,Kq;若用二阶:Mq q¨ + Cq q˙ + Kq q = Faero 转一阶状态空间 A_sys,B_sys │ ▼ [Coupled Aeroelastic State-Space] 增广气动+结构 │ ▼ [U-sweep / Trim] 改U→自写脚本求eig→σ,ω;或Simulink给初始扰动看增长 │ ▼ [Scope/To Workspace] 广义位移、根轨迹、V-σ、V-f纯频域 p‑k 可不进 Simulink,用 MATLAB 函数扫;Simulink 负责“时域验证+参数扫描+后续接控制”。
3.2 求解器
部分 | 建议 |
|---|---|
状态空间时域 | 变步长 ode15s/ode23t;若气动增广刚性大用 ode15s |
最高频率 | 取预期颤振频率 5~10 倍定步长;小型机若 f_f<30Hz,步长≤1ms |
频域 p‑k | MATLAB 脚本,不占Simulink实时;结果回灌查表 |
3.3 关键 MATLAB 函数
1)Theodorsen 函数
function C = theodorsen(k) % k: 减缩频率,可向量 % C=F+iG,基于Hankel/Bessel比 J0 = besselj(0,k); Y0 = bessely(0,k); J1 = besselj(1,k); Y1 = bessely(1,k); H1 = besselj(1,k) - 1i*bessely(1,k); % H1^(1) H0 = besselj(0,k) - 1i*bessely(0,k); % H0^(1) C = (H1(1+zeros(size(k))) ) ; % 占位,下面用标准式 % 标准Theodorsen: C(k)= (H1(2,0)? 用下式更稳定) % 常用: C = (besselj(1,k)-1i*bessely(1,k)) ./ (besselj(1,k)-1i*bessely(1,k) + 1i*(besselj(0,k)-1i*bessely(0,k))); % 更严谨按 J1,Y1,J0,Y0: num = (besselj(1,k) - 1i*bessely(1,k)); den = (besselj(1,k) - 1i*bessely(1,k)) + 1i*(besselj(0,k) - 1i*bessely(0,k)); C = num./den; end低 k 趋近定常、高 k 趋非回路;片条扫 k 用。
2)二元翼段状态矩阵(Theodorsen 频域点)
function [A,B] = typical_section_ss(rho,b,a,xalpha,Sa,Ia,Kh,Ka,U,k) % 返回线性化一阶状态空间;频域点先按给定k算C(k) Ck = theodorsen(k); % 结构参数 M = [1, xalpha; xalpha, Ia]; % 以h,b*alpha为广义坐标时可按b归一,示例用物理量 % 下面写成无因次/有因次混合,教学可改 % 气动系数(Theodorsen经典式,弹性轴a,半弦b) Lh_h = 0; % 按完整式填加速度/位移项 % 简化示意:直接组非线性频域力后线性化太繁,教学用解析片条: % 非定常升力对(h,alpha,hd,alphad) AeroL = @(h,hd,al,ald) ... pi*rho*b^2*(hd + U*ald - b*a*ald) ... + 2*pi*rho*U*b*Ck*(hd + U*al + b*(0.5-a)*ald); % 俯仰力矩类似... 完整式见Fung/Theodorsen教材 % 此处给出状态空间骨架: A = zeros(4); B = zeros(4,1); % 用符号/数值线性化后再填;p-k扫描传U,k end教学版可直接用公开典型段常数矩阵(给定 m,Sα,Iα,Kh,Kα,ρ,b,a,xα),把 Theodorsen 升/力力矩展开成关于 h, ḣ, α, α̇ 的复系数;每个 U,k 组一个 4×4 复 A,求 eig。
3)p‑k 扫描主脚本
function res = pk_flutter_scan(geo,structp,aero,Uvec,k0) % geo: rho,b ; structp: M,C,K ; aero: Qfun(k,Mach) % Uvec: 速度扫描 ; k0: 初猜减缩频率 res.U = Uvec(:); res.sigma = []; res.omega = []; for i = 1:numel(Uvec) U = Uvec(i); k = k0; converged=0; for iter = 1:50 qinf = 0.5*aero.rho*U^2; Qc = aero.Qfun(k, aero.Mach); % 复矩阵 Nmode×Nmode % p-k形: [p^2 M + p(C - qinf*imag(Q)/k) + K - qinf*real(Q)]phi=0 Mc = structp.M; Cc = structp.C - qinf*imag(Qc)/max(k,1e-6); Kc = structp.K - qinf*real(Qc); A = [zeros(size(Mc)), eye(size(Mc)); -Mc\Kc, -Mc\Cc]; e = eig(A); p = e; sigma = real(p); omega = imag(p); % 取主导耦合根中最大实部 [sigmax,idx] = max(sigma); wnew = omega(idx); knew = wnew*b/U; if abs(knew-k) < 1e-4 && abs(sigmax) < 1e-6 converged=1; break; end k = knew; end res.sigma(i,:) = sigma.'; res.omega(i,:)=omega.'; res.converged(i)=converged; end % 找最小U使某根sigma由负变正 -> Uf endQfun 若用 Theodorsen 片条:按模态形函数积分出广义升/力矩;若用 DLM:提前在 k 网格算 Q(k) 并插值。
4)Roger 近似转 Simulink 状态空间(时域)
% 已知若干k点Q(k) -> 用Roger拟合(示意) % Qhat(s)=Q0+Q1*s+Q2*s^2 + D*(sI-R)^-1*E, s=i*k*(b/U) % 拟合后增广: % x_aero_dot = R*x_aero + E*qdot_modal % Faero = qinf*(Q0*q + (b/U)Q1*qdot + (b/U)^2 Q2 qddot + D*x_aero) % 整体一阶状态空间送Simulink State-Space / MATLAB FunctionRoger/矢量拟合可用 Control System Toolbox 自写最小二乘;得到 A_aug,B_aug,C_aug 后拼结构 A。
3.4 有限元降阶导入 Simulink(整翼)
- PDE Toolbox/外部 Nastran 出固定边界 ROM:约束翼根,保留前 N 阶弯曲/扭转,得 M_red、K_red。
- 瑞利/模态阻尼:C=αM+βK,或逐阶 ζ_i 写对角 C_modal;多自由度别把单 ζ 直接乘全刚度。
- Simulink 两种用法:
- 纯控制/时域:State‑Space 块载入增广 A/B/C/D;
- 多体可视化:Reduced Order Flexible Solid / Modally Reduced Flexible Body 载入模态频率、振型、阻尼,翼根固定、受气动力和阵风,看变形与增长。
四、边界条件与扫描工况
4.1 结构边界
- 翼根固支/带柔度:无人机机身柔性大时别全固支,可加旋转/平移等效弹簧。
- 模态截断:先扫“保留2/4/6阶”看 U_f 变化;低速小翼常 1弯+1扭就出主颤振,但带副翼/外洗要加扭二阶。
- 质量属性:CG、弹性轴、质心偏心 x_α 是敏感项;燃油/电池分布随飞行变化要扫。
4.2 气动边界
- 低速 Ma<0.3:Theodorsen 片条/修正片条;
- 亚声速 0.3~0.8:DLM 或 AVL 出 Q(k),按展向片条映射模态;
- 跨声速:线性理论失效,用 CFD‑CSD 或风洞数据回灌降阶模型;
- 失速/大振幅:Theodorsen 不适用,改阶跃/CFD或试验气动查表。
4.3 扫描矩阵
工况 | 变量 | 看什么 |
|---|---|---|
速度扫 | U 0→1.3U_target | σ(U)、ω(U)、根轨迹、首穿零速度 |
密度扫 | ρ 0.3~1.225(高度) | 高空 U_f 通常升高,动压等效校 |
刚度扫 | K_bend±20%、K_tors±20% | 弯/扭频比移动,U_f 敏感区 |
重心/弹性轴 | x_cg、a、x_α | 俯仰-沉浮耦合,经典失稳转移 |
阻尼扫 | ζ 0.5/1/2% | U_f 下限/上限,保守包线 |
马赫扫 | 0.1~0.8 | 焦点后移、减缩频率重算 |
外挂/电池 | 附加质量位置 | 低阶弯扭重排,副翼颤振 |
舵机耦合 | 作动器一阶+增益 | 气动伺服弹性,抑制/发散 |
五、判定与结果解读
- 颤振速度 U_f:速度扫描中首次出现某耦合根 Re(λ)≥0 的最小 U;画 V‑σ 每条模态,交点即边界。
- 临界频率 k_f, f_f:该点 Im(λ)/2π;与试验/模态比对,避免伪根(按模态能量排序,看 h/α 或弯/扭参与因子)。
- 根轨迹:低速全左半平面,提速后两根靠近→合并→分出一支右半;若两实根一正,可能是散逸/静失稳而非经典颤振,单独报。
- 包线裕度:营运/适航可按飞行最大速度×1.15 校颤振裕度;预研无人机至少留 15%~20% 速度余量再结合试飞。
- 时域校验:在 U<U_f 给初始扰动应衰减;U>U_f 指数增长;U≈U_f 近似等幅。状态空间Roger模型可直接跑,验证频域 p‑k 不误。
- 保守性:用最低密度(最高高度)不利刚度、最小结构阻尼、最靠后CG/不利弹性轴做“最低 U_f”;用标称做设计点。
六、工程坑位
- 模态漏阶:只留1弯1扭会漏副翼/外翼扭二阶;扫截断数。
- Theodorsen 二维:大展弦可片条修正 AR、后掠用有效弦/法向速度;小展弦无人翼直接二维会高估/低估,用DLM或风洞。
- 气动查表外推:k、Mach 超出拟合区间别线性外推,颤振点通常在小k,需加密k=0.01~0.3。
- 结构阻尼不确定:CFRP/复材机翼阻尼随温湿变,按 ζ 区间扫而不是给单值。
- 质量‑气动不共线:弹性轴、质心、气动力中心三者偏移是主因,参数字典要分开存 a、x_α、x_cg。
- Simulink 时域刚性:Roger 增广极 R 可能很负,用 ode15s;若只做边界,频域 p‑k 更快更稳。
- 认证级:Nastran SOL 145/146 p‑k/V‑g、DLM;Simulink 适合预研、控制耦合、HIL,不等同认证计算。
七、实现检查清单
- [ ] 定对象:典型翼段 / 整翼模态 / 多体柔性。
- [ ] 提模态:FEM或试验出 M、K、振型;定保留阶数。
- [ ] 定气动:Theodorsen/片条/DLM,出 Q(k) 网格或 Roger 拟合。
- [ ] 频域 p‑k:扫 U→σ、ω→根轨迹→U_f、k_f。
- [ ] V‑g 交叉:初筛对比,避免 p‑k 伪收敛。
- [ ] Simulink 状态空间:Roger 增广→初始扰动时域→验证 U_f。
- [ ] 参数敏感性:ρ、K_b、K_α、x_α、a、xcg、ζ、Ma 各扫一遍。
- [ ] 输出:V‑σ、V‑f、根轨迹、参与因子、1.15 裕度报告。
- [ ] 若做主动抑制:加加速度/应变反馈、作动器带宽≥3~5×f_f,回 Simulink 重扫闭环 U_f。