主要内容

HL-20机身的微调和线性化

这是关于HL-20飞行器飞行控制系统的设计和调整的五部分示例系列的第1部分。这部分涉及到机身的修整和线性化。

HL-20模型

HL-20模型是根据中描述的模型改编的NASA HL-20升降体机身(航天Blockset).这是飞行器在飞行最后下降和着陆阶段的六自由度模型。在这一阶段不使用推力,机身正在滑向着陆跑道。

open_system (“csthl20_trim”

这个版本的模型包括运动方程(EOM),从空气动力学表格的力和力矩计算,环境模型,和“控制选择器”块映射副翼,升降舵和方向舵的要求,六个控制面偏转。

批修剪

调整包括计算副翼、升降舵和方向舵的偏转,使机身上的力和力矩归零,或等效地保持身体速度ub、vb、wb和角速度p、q、r稳定。因为在下降过程中没有使用推力,一个自由度就丧失了,所以必须放松配平条件,让ub变化。挠度da、de、dr的配平值取决于机身相对于风的方向。这个方向的特征是迎角(AoA) alpha和侧滑角(AoS) beta。

operspecfindop函数,您可以有效地计算在覆盖车辆操作范围的(阿尔法,贝塔)值网格上的修剪偏转。在这里,我们将模型修剪为8个alpha值,范围从-10到25度,5个beta值,范围从-10到+10度。标称高度和速度设置为10,000英尺,马赫0.6。

d2r =π/ 180;百分度到弧度m2ft = 3.28084;米对英尺百分比高度= 10000 / m2ft;%名义高度马赫= 0.6;%名义马赫alpha_vec = 10:5:25;α%范围beta_vec = 10:5:10;%测试范围(α,β)= ndgrid (alpha_vec beta_vec);%(α,β)网格

使用operspec创建操作点规范的数组。

opspec = operspec (“csthl20_trim”、大小(α));opspec (1)
ans = csthl20_trim模型的工作点规范。(t=0时的时变分量)---------- < 强x > < /强> < >强知道< /强> < >强稳态< /强> < >强Min < /强> <强> Max < /强> < >强dxMin < /强> < >强dxMax < /强> <强劲 >________ <强> ___ < /强> <强劲 >___________ <强> ___ < /强> <强> ___ < /强> <强> ___ < /强> <强> ___ < / >强(1)。csthl20_trim / HL20机身/ 6自由度(欧拉角)/计算DCM和欧拉角/ψφθ0假真负无穷到正无穷负无穷到正无穷-0.19945假真负无穷到正无穷正0错误真的负无穷到正无穷负无穷到正无穷(2)csthl20_trim / HL20机身/ 6自由度(欧拉角)/ p, q, r 0假真负无穷到正无穷负无穷到正无穷0假真负无穷到正无穷正0错误真的负无穷到正无穷负无穷到正无穷(3)。csthl20_trim / HL20机身/ 6自由度(欧拉角)/乌兰巴托,vb,世行202.67假真负无穷到正无穷负无穷到正无穷0假真负无穷到正无穷正23.257假真负无穷到正无穷负无穷到正无穷(4)csthl20_trim / HL20机身/ 6自由度(欧拉角)/ xe,你们泽-12072假真负无穷到正无穷负无穷到正无穷0假真负无穷到正无穷正-3048假真负无穷到正无穷负无穷到正无穷输入:---------- < 强> u < /强> < >强知道< /强> < >强Min < /强> <强> Max < /强> <强> _ < /强> <强> ___ < /强> <强> ___ < /强> <强> ___ < / >强(1)csthl20_trim / da 0错误负无穷到正无穷(2)csthl20_trim / 0错误负无穷到正无穷(3)csthl20_trim博士/ 0假负无穷到正无穷输出:---------- < 强> y < /强> < >强知道< /强> < >强Min < /强> <强> Max < /强> <强> _ < /强> <强> ___ < /强> <强> ___ < /强> <强> ___ < / >强(1)csthl20_trim / p, q, r(1 - 3) 0假负无穷到正无穷0假负无穷到正无穷0假负无穷到正无穷(2)csthl20_trim /φ;θ,psi(4 - 6)假负无穷到正无穷0假负无穷到正无穷0错误负无穷到正无穷(3.) csthl20_trim/alpha(7) 0假-Inf Inf (4.) csthl20_trim/beta(8) 0假-Inf Inf (5.) csthl20_trim/Mach(9) 0假-Inf Inf (6.) csthl20_trim/Ax,Ay,Az(10-12) 0假-Inf Inf 0假-Inf Inf 0

为机身的每个方向指定平衡条件。要做到这一点:

  • 通过将输出alpha和beta固定为所需的值来指定方向。

  • 指定机身速度通过固定马赫输出0.6。

  • 将角速率p,q,r标记为稳定的。

  • 将速度vb和wb标记为稳定。

ct = 1时指定角度opspec (ct) .Outputs(3)。y =α(ct);opspec (ct) .Outputs(3)。知道= true;指定角度opspec (ct) .Outputs(4)。y =β(ct);opspec (ct) .Outputs(4)。知道= true;指定马赫速度opspec (ct) .Outputs(5)。y =马赫;opspec (ct) .Outputs(5)。知道= true;%标记p,q,r为稳定opspec (ct) .States(2)。稳态= true (3,1);% Mark vb,wb稳定opspec (ct) .States(3)。稳态=(假;真;真正的);% (phi,theta,psi)和(Xe,Ye,Ze)不是稳态的opspec (ct) .States(1)。稳态= false (3,1);opspec (ct) .States(4)。稳态= false (3,1);结束

为了充分描述配平条件,也

  • 设置p=0以防止滚动。

  • 设置滚转/俯仰/偏航角度(phi,theta,psi)为(0,alpha,beta)以对齐风和地球框架。

  • 指定机身位置(Xe,Ye,Ze)为(0,0,-Altitude)。

ct = 1时设(,,,)为(0,,)opspec (ct) .States(1)。X = [0;α(ct) * d2r;β(ct) * d2r];opspec (ct) .States(1)。知道= true (3,1);%设置p=0(不滚动)opspec (ct) .States(2)方式(1)= 0;opspec (ct) .States (2) .Known (1) = true;%设置(Xe,Ye,Ze)为(0,0,-海拔)opspec (ct) .States(4)。X = [0;0;高度);opspec (ct) .States(4)。知道= true (3,1);结束

现在使用findop一次性计算所有40种(阿尔法,贝塔)组合的修剪条件。此批处理模式方法涉及对模型的一次编译。FINDOP使用最优化来解决描述每个平衡的非线性方程。这里我们使用“SQP”算法来完成这个任务。

%设置FINDOP解析器选项TrimOptions = findopOptions;TrimOptions.OptimizationOptions.Algorithm =“sqp”;TrimOptions。DisplayReport =“关闭”%削减模型(运维、rp) = findop (“csthl20_trim”、opspec TrimOptions);

这将返回8x5数组OPS(运行条件)和RPS(优化报告)。您可以使用RPS来验证每个配平条件都是成功计算的。第一对(alpha,beta)的结果如下所示。

(α(1)β(1))
Ans = -10 -10
行动(1)
ans = csthl20_trim模型的工作点。(t=0时的时变分量)---------- x ________ (1.) csthl20_trim/HL20 Airframe/6DOF (Euler角)/Calculate DCM & Euler角/phi theta psi 0 -0.17453 -0.17453 (2.) csthl20_trim/HL20 Airframe/6DOF (Euler角)/p,q,r 0 -0.15825 0.008004 (3.) csthl20_trim/HL20 Airframe/6DOF (Euler角)/ub,vb,wb 191.09 -34.214 -33.695 (4.) csthl20_trim/HL20 Airframe/6DOF (Euler角)/ub,vb,wb输入:---------- u _______ (1.) csthl20_trim/da -23.984 (2.) csthl20_trim/de -6.4896 (3.) csthl20_trim/dr 4.0858
rp(1)。TerminationString
ans = '工作点规格已成功满足。'

批处理线性化

飞行控制系统的增益通常被安排为alpha和beta的函数,见第2部分(HL-20自动驾驶仪的角速率控制)查询详情。为了调整这些增益,你需要线性模型的HL-20机身在40修剪条件。使用线性化计算这些模型从修剪操作条件运维

在每个配平条件下线性化机身动力学G =线性化(“csthl20_trim”“csthl20_trim / HL20机体”、运维);大小(G)
状态空间模型的8x5数组。每个模型有34个输出,9个输入和12个状态。

“控制选择器”块的线性等效取决于电梯的挠度,应该计算为qbar_inv=1(马赫=0.6时的公称动压力)。为了方便,也线性化这个块在40修剪条件。

c =线性化(“csthl20_trim”“csthl20_trim /控制选择器”、运维);%将a/b和qbar_inv通道归零CS = [CS(:,1:3) zeros(6,2)];

线性模型简化

线性化的机身模型有12种状态:

xG = G.StateName
xG = 12 x1单元阵列{φθpsi(1)的}{的φθpsi(2)}{的φθpsi(3)}{“p, q, r(1)”}{' p, q, r (2)} {' p, q, r(3)}{“乌兰巴托,vb,世行(1)”}{的乌兰巴托,vb,世行(2)}{的乌兰巴托,vb,世行(3)}{xe,你们,泽(1)的}{‘xe,你们,泽(2)}{‘xe,你们,泽(3)}

有些状态不受滚转/俯仰/偏航自动驾驶仪的控制,而其他状态对自动驾驶仪的设计贡献很小。为了控制目的,最重要的状态是滚动角,身体速度ub,vb,wb,和角速度p,q,r。因此,使用莫德雷德以获得只保留这些状态的七阶模型。

七国集团(G7) = G;xKeep = {...“φθpsi(1)”“乌兰巴托,vb, wb(1)”“乌兰巴托,vb, wb(2)”乌兰巴托,vb, wb (3)“p, q, r(1)”“p, q, r(2)”“p, q, r(3)”};[~, xElim] = setdiff (xG xKeep);c (:,:,ct) = modred(G(:,:,ct),xElim,“截断”);结束

有了这些线性化的模型在手,您可以转移到任务的调整和调度飞行控制系统增益。看到HL-20自动驾驶仪的角速率控制本例的第2部分。

相关的话题