主要内容

HL-20机身的修整和线性化

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

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。

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

D2r = /180;%度等于弧度M2ft = 3.28084;米到英尺海拔= 10000/平方英尺;标称高度%马赫= 0.6;%名义马赫Alpha_vec = -10:5:25;% Alpha范围Beta_vec = -10:5:10;% Beta范围[alpha,beta] = ndgrid(alpha_vec,beta_vec);% (Alpha,Beta)网格

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

Opspec = operspec(“csthl20_trim”、大小(α));opspec (1)
ans =模型csthl20_trim的工作点规范。(t=0时刻评估的时变分量)---------- x Known SteadyState Min Max dxMin dxMax ___________ ___________ ___________ ___________ ___________ ___________ ___________ (1.) csthl20_trim/HL20机身/6DOF(欧拉角)/计算DCM和欧拉角/phi theta psi 0假真-Inf Inf -Inf Inf -0.19945假真-Inf Inf -Inf Inf 0假真-Inf Inf -Inf Inf (2.) csthl20_trim/HL20机身/6DOF(欧拉角)/p,q,r 0假真-Inf Inf -Inf Inf 0假真-Inf Inf -Inf Inf 0假真-Inf Inf -Inf Inf (3.)csthl20_trim/HL20 Airframe/6DOF(欧拉角)/ub,vb,wb 202.67 false true -Inf Inf -Inf Inf 0 false true -Inf Inf -Inf Inf 23.257 false true -Inf Inf -Inf Inf (4.) csthl20_trim/HL20 Airframe/6DOF(欧拉角)/xe,ye,ze -12071.9115 false true -Inf Inf -Inf Inf 0 false true -Inf Inf -Inf Inf -3047.9999 false true -Inf Inf -Inf Inf---------- u Known Min Max _____ _____ _____ _____ (1.) csthl20_trim/da 0 false -Inf Inf (2.) csthl20_trim/de 0 false -Inf Inf (3.) csthl20_trim/dr 0 false -Inf Inf输出:---------- y已知的最小最大  _____ _____ _____ _____ ( 1) csthl20_trim / p, q, r(1 - 3)假负无穷到正无穷0假负无穷到正无穷0错误负无穷到正无穷(2)csthl20_trim /φ;θ,psi(4 - 6)假负无穷到正无穷0假负无穷到正无穷0错误负无穷到正无穷(3)csthl20_trim /α(7)0错误负无穷到正无穷(4)csthl20_trim /β(8)0错误负无穷到正无穷(5)csthl20_trim /马赫(9)0错误负无穷到正无穷(6)csthl20_trim / Ax,是的,阿兹(10 - 12)假负无穷到正无穷0假负无穷到正无穷0错误负无穷到正无穷

为机身的每个方向指定平衡条件。这样做:

  • 通过将输出alpha和beta固定到它们想要的值来指定方向。

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

  • 把角速率p q r标记为稳定。

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

ct = 1时%指定alpha角opspec (ct) .Outputs(3)。Y = alpha(ct);opspec (ct) .Outputs(3)。已知=真实;%指定角度opspec (ct) .Outputs(4)。Y = (ct);opspec (ct) .Outputs(4)。已知=真实;指定马赫速度opspec (ct) .Outputs(5)。y =马赫;opspec (ct) .Outputs(5)。已知=真实;标记p q r为稳定opspec (ct) .States(2)。SteadyState = true(3,1);%标记vb,wb为稳定opspec (ct) .States(3)。SteadyState = [false;true;true];% (,theta,psi)和(Xe,Ye,Ze)不稳定opspec (ct) .States(1)。SteadyState = false(3,1);opspec (ct) .States(4)。SteadyState = false(3,1);结束

以充分表征修剪条件,也

  • 设置p=0防止滚动。

  • 设置滚/俯仰/偏航角度(phi,theta,psi)为(0,alpha,beta)以对齐风和土帧。

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

ct = 1时%将(,theta,psi)设置为(0,alpha,beta)opspec (ct) .States(1)。X = [0;α(ct) * d2r;β(ct) * d2r];opspec (ct) .States(1)。已知=真(3,1);%设置p=0(不滚动)opspec(ct).States(2).x(1) = 0;opspec(ct).States(2).Known(1) = true;%设置(Xe,Ye,Ze)为(0,0,-Altitude)opspec (ct) .States(4)。X = [0;0;高度);opspec (ct) .States(4)。已知=真(3,1);结束

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

设置FINDOP求解器的选项TrimOptions = findopOptions;TrimOptions.OptimizationOptions.Algorithm =“sqp”;TrimOptions。DisplayReport =“关闭”%修剪模型[ops,rps] = findop(“csthl20_trim”、opspec TrimOptions);

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

(α(1)β(1))
Ans = -10 -10
行动(1)
ans =模型csthl20_trim的工作点。状态:---------- x __________ (1.) csthl20_trim/HL20机身/6DOF(欧拉角)/计算DCM和欧拉角/phi theta psi 0 -0.17453 -0.17453 (2.) csthl20_trim/HL20机身/6DOF(欧拉角)/p,q,r 0 -0.15825 0.008004 (3.) csthl20_trim/HL20机身/6DOF(欧拉角)/ub,vb,wb 191.0911 -34.2143 -33.6945 (4.) csthl20_trim/HL20机身/6DOF(欧拉角)/xe,ye,ze 00 -3047.9999输入:---------- u  ________ ( 1) csthl20_trim / da -23.9841 (2) csthl20_trim / de -6.4896 (3) csthl20_trim /博士4.0858
rp(1)。TerminationString
ans = '工作点规格已成功满足。'

批处理线性化

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

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

“控制选择器”模块的线性等效量取决于电梯偏转的量,应计算qbar_inv=1(马赫时的标称动压=0.6)。为了方便起见,还在40个修剪条件下线性化此块。

线性化(“csthl20_trim”“csthl20_trim /控制选择器”、运维);将a/b和qbar_inv通道归零CS = [CS(:,1:3) 0 (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 = {...(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);G7(:,:,ct) = modred(G(:,:,ct),xElim,“截断”);结束

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

相关的话题

Baidu
map