Ryan Gordon,Mathworks
在本次网络研讨会中,您将学习如何使用MATLAB和Simulink应用基于模型的设计来进行飞行器设计和自动飞行控制。金宝app航空航天领域的工程师可以使用MATLAB和Simulink改进设计流程:金宝app
•定义飞机几何形状并导入DATCOM数据来定义车辆的力量和力矩
•创建一个模拟来理解车辆动力学
•设计具有自动增益发电的飞行控制系统,以稳定车辆并满足要求
•执行模拟以验证设计并在逼真的3D环境中可视化模拟
主要关注的是那些工作流程涉及飞机建模、仿真和控制的工程师。本次网络研讨会中展示的许多基于模型的设计和控制概念可以应用于各种应用。
主持人:Ryan Gordon是MathWorks的Aerospace Toolbox和Aerospace Blockset的产品经理。在加入MathWorks之前,Ryan在诺斯罗普·格鲁曼航空系统公司使用Simulink开发了自主无人机的模型和控制算法。金宝app他拥有圣路易斯大学(Saint Louis University)航空航天工程学士学位和南加州大学(USC)航空航天工程动力学和控制硕士学位。
记录:2013年6月18日
大家好,欢迎来到用Simulink的飞机建模仿真和飞行控制设计。金宝app我叫瑞恩·戈登。我是航空航天工具箱和航空航天积木MathWorks的产品经理。为了向你们展示我们今天要做的,我将直接跳到Simulink向你们展示我们将要设计的模型。金宝app
让我首先运行模型,在这里,您将看到我们的全动态模型以及控制系统以及在左侧可视化的飞机的控制系统。如果我进入试点块,我有三个主要命令,我可以发送到自动驾驶系统,我实际使用今天。首先,我有一个高度命令,当我处于高度保持模式时,我可以向海拔地区发送命令,飞机将俯仰以实现高度并保持高度。我有一个速度命令用来使用自动油门来改变速度,我有这个自动攀登infrage命令,让我在高度保持模式和攀爬模式之间改变我去最大功率,而飞机将投球以实现速度。
当我启动它的时候,你会看到飞机现在已经达到了最大功率它正在向上仰起以达到每秒85米的速度。如果我让它慢下来,你会看到它更高,因为要达到每秒75米的速度它需要更高的俯仰角度。如果我解除自动爬升,它会回落到2100米的高度。今天,我将向你们展示如何在Simulink中为这架飞机设计一个动态系统。金宝app我将向你们展示如何为这架飞机设计自动驾驶系统以及如何在FlightGear中使用宇航Blockset将其可视化。
那么这一切如何与Matlab和Simulink一起工作?金宝app首先,让我们谈谈设计飞机飞行控制的迭代设计过程。首先,您需要设计动态模型。那你怎么那样做?您将首先确定车辆的几何形状,基于该几何形状确定车辆的空气动力学特性 - 这可以通过包括风隧道测试的许多不同方法来完成。您将创建模拟以验证设计,一旦仿真,您可以根据该模型设计飞行控制法律。
作为一名飞机飞行控制设计师,你可能需要多次迭代这个过程才能达到你想要的结果,而当你在迭代这个设计时,你可能还需要进行一些额外的步骤,比如创建一个硬件在循环仿真,建立硬件和软件,比如实际的飞行器来做飞行测试,然后分析和可视化飞行测试的结果。今天,我们将重点关注四个突出显示的模块,但是有一些工具可以帮助您完成整个设计过程。
这就是我今天要展示的网络研讨会的前四个步骤。首先,我要建立飞机动力系统的模型。我来模拟DATCOM的空气动力学。DATCOM是一款由美国空军设计的软件,它可以让你输入飞机的几何形状,它会告诉你该几何形状的气动特性和系数是基于输入的。我将不介绍DATCOM系统如何实际工作,但将介绍如何在MATLAB和Simulink中使用DATCOM的结果。金宝app
我将建立三度自由纵向动态模型。我将为我的风,阵风,湍流和重力设计动态模型的环境。我将为两种飞行方式设计一个飞行控制 - 高度跟踪模式,并且最大推力升降模式将让我在攀登的最大功率和控制速度与间距的最大功率和控制速度进行攀爬。我将通过使用自动PID调谐器来做,然后我将能够在使用状态流中可视化这两种不同飞行模式的转换。在整个过程中,我可以使用Simulink到FlightGear界面的三个维度中的结果可视化结果,作为航空航天块集的一部分。金宝app
所以让我们从第一步开始,建模飞机动态系统。对于此步骤,我主要使用Matlab和Simulink,航空航天工具箱和航空航天块集。金宝app这些工具将允许我快速设计,模拟和可视化我的整个建模设计过程。所以这是西班牙语的途中,其中三个DOF块的金宝app生活将允许我只是只拖放一个块,以便在Simulink中具有全面的三个自由动态。我将显示的第一个功能之一是Datom Import和Simulink Datom接口。金宝app这就是我所有环境模式的地方,也为我的氛围,风和湍流生活。所以让我们回到Matlab和Simulink,所以我可以向你展示这些都得金宝app到了什么。
我想做的第一件事是可视化DATCOM数据的样子。为此,我在MathWorks文件交换中找到了这个函数。MathWorks文件交换是一个地方,当前的MATLAB用户可以去共享他们创建的文件,他们认为其他人会发现有用的文件。我曾经通过展示DATCOM输入文件的样子来展示这个。但在查看了文件交换的一些有用的文件后,我认为可能会帮助我,我找到了这个Draw DATCOM Aircraft文件。如果你感兴趣,可以在MathWorks文件交换中找到。如果我运行那个文件,它会从我输入到DATCOM的文件中创建飞机规格的三视图图。
所以你看,它是一个翼,身体,尾部设计。您可以看到输入到Datom系统中的空气箔。而且,这是飞机的三个视图。所以就像我之前说过的那样,我不会介绍Datom如何工作,但我会向您展示输出看起来的样子。当我们在这里看,您看到输出在Matlab中不是很有用。这是一个文本文件。它得到了我需要的所有信息,但不是非常有用的格式。所以我要使用的是使用航空航天工具箱的Datom进口工具。我们可以看到我在这里运行的线路。DATCOM从DATCOM上导入该输出文件。 And it processes the data. And if I take a look at that data, we can see now I've got a structure of all my aerodynamic coefficients for my flight conditions that I defined in my DATCOM file.
这里我们看到的是两个马赫数,两个高度,以及五个不同的迎角值。五种不同的迎角,两种高度,两种马赫数。现在,如果您使用DATCOM导入工具,那么您可能需要做的是,当您通过DATCOM运行输入文件时,DATCOM可能不会提供您需要的所有信息。看一下我的投球力矩,它给了我这些值,我想这是99999,超出了这个值的范围,这告诉我,我需要填上这些缺失的值。我将运行一个简单的for循环来填充数据。做完这些之后,我就得到了,我只是在整个系统中重复了第一个数据值。
现在我有了所有数据的格式,其中所有参数都有实际值,我可以转到Simulink,并使用Aerospace Blockset提供的DATCOM块将其导入Simulink。金宝app这是我在网络研讨会开始时向你们展示的模型。这里是飞机动力学,这就是我要建立动力学模型的地方。你们会注意到,在R2012B中,我们在一些街区的角落里有这些徽章。这意味着这是一个不同的子系统。所以为了这次网络研讨会的目的,我有两个变种。我有一种变体完全完成,因为它需要很长时间来构建这些比你想看我做网络研讨会,和一个愿景有这些洞,我要填入孔块可用的航空Blockset帮助我建立模型。
要更改变量,您可以进入这里并使用Override选项。您还可以在工作空间中使用一些选项来定义变体。这是最终版本。在最初的版本中有三个主要的子系统。这就是三自由度模拟的所在。还有一个六自由度的界面,这样的话,之后如果我想要建立横向的方向动态,我可以快速地重复这个过程,放入一个六自由度块,而不是一个三自由度块。我没有横向方向导数的空气动力学,所以我现在就把它留作三自由度。
推进系统只是一个查表,非常简单,今天不做推进设计。这是一个非常基本的模型。在空气动力学中,我留出了一些空间我需要填写DATCOM数据,力和力矩,我需要建立我的马赫和动态压力。如果我打开Simulink Librar金宝appy浏览器,进入Aerospace Blockset,我们会看到这里有很多不同的实用程序。你们可以看到空气动力学,致动器,环境,运动方程。这些都是在飞机和航天器设计中使用的常见的东西,我们提供给你们作为航空航天区块集的一部分,以帮助简化我今天向你们展示的迭代设计过程——我今天要做的一个迭代。
为了让DATCOM获取空气动力学,我进入空气动力学子图书馆,我将拖到数字数据组播和时刻。因此,它已预先充满了这一事实结构,这不是我所拥有的名字。我实际上有一个称为静态动态的预设结构。如果我应用这些更改,在单击“确定”之后,您将注意到,该输入实际上会更改以匹配该数据组合结构所需的输入。那么这允许我做的事情很快就知道从DATCom查找数据需要哪些输入,因为该块将自动确定需要哪些输入。然后我可以从我的三个DOF块中建立左手侧的输入,即我将在以后放置。然后我可以把它带入,调整它的大小,但我不会花太多时间调整这些街区的大小化和填写。我会在完成版本中向您展示一切,因为我不想浪费时间向您展示如何调整块并适合所有内容。
对于我拥有这些空气动力学系数的力和时刻。如果我进来这里,你会看到我们有前查找表,以获得攻击角度,马赫数,高度和电梯偏转角度的索引和一小部分,以进入该电梯块子系统。我们有像我们的投球时刻一样定义为查找表,再次在该静态动态结构中。现在,由于它们只是系数,因此我需要将那些系数转换为力和时刻。以及我将如何做到这是使用我的空气动力学力量和时刻块。所以在这里,我可以连接到空气动力学力和时刻,我所需要的只是参考面积跨度和参考长度,这是飞机的已知特征,这将允许我快速计算基于力和时刻在这些系数上。
现在,我在最终版本中有这些内容我一会儿会给你们看。最后,我们有公用事业来建立通用的飞机特性,如马赫数和动压力。所以如果我进入我的搜索词,我可以从我的图书馆浏览器中搜索宇航方块,我可以找到一个马赫方块,把它带进来。这里最重要的是,它告诉了你计算这个需要什么。所以如果你在一个有很多工程师的团队工作,也许不是每个工程师都熟悉飞机。如果和你一起工作的人可能是做齿轮的,他们不一定知道所有的飞机术语,GNC工程师很熟悉的。看看这里的接口,你就知道你需要什么了它在所有这些块之间有一个公共接口。
我需要的最后一个方块是动态压力。再一次,我可以把它拉进来,我们看到它们使用相同的速度,然后我只需要在这里写上密度和声速。再说一次,我现在不打算把它们连起来。我在最终版本中把这些都联系起来了。最后,我想建立一个三自由度的模拟。这是我创建的一个自定义接口块。同样,当我重复设计过程时,我可以删除这个,放入一个六自由度的块。我们在航天Blockset中有三个自由度和六个自由度的模型。所以对于六自由度你可以使用欧拉角,或者如果你有一个高度动态的飞行器你担心像万向节锁那样的东西你可以使用那个块的[听不清]版本。
现在,我将使用简单的三自由度块。你可以看到我有一个重力输入,但是我在我的环境中定义了重力所以我说它是一个内部重力,定义为零这会移除输入端口。这里有很多初始条件需要填写,所以我会给你们看最终版本。这个正好落进去。你知道你的力——你的x力,你的z力和你的力矩——你有一个共同的界面,这将允许你与其他航空航天相互作用[?块集组件,因为它们都共享公共接口名称,从而允许您快速迭代此设计过程。
现在我将回到模型的顶层,然后切换到最终版本,向你展示它完成时的样子。现在你可以看到,通过使用变量子系统,最终版本现在突出显示了,因为我完成了重写。这里你可以看到这些子系统的基本布局是一样的。如果我来我的空气动力学,你会看到这里的DATCOM块,我用这个粉红色的红色高亮了Aerospace Blockset块,以显示哪些块在Aerospace Blockset中。你们可以看到空气动力和力矩。我们已经使用了模型工作空间变量,所以这些变量实际上连接到这个模型来定义这里的引用。你们可以看到马赫数和动压力在这个子系统中是简单联系的。和我之前给你们看的一样。这是三自由度的块体。同样,使用模型内部定义的模型工作空间参数,我们得到了三自由度块的初始条件。
现在我可以向你们展示我是如何定义环境的。所以这只是我的系统的一段旅程,因为在这么短的时间内把所有这些组件单独建立起来是没有意义的。花费的时间太长,这真的很简单,因为航空航天Blockset。这是我用的标准大气模型。因为它是一个航空航天块我有这些下拉菜单,将允许我定义不同的大气模型取决于我想模拟的飞行场景。所以如果我需要一个热天,我可以做一个热天。我可以做一个寒冷的一天。不同的密度和压力使用不同的模型。今天我们将继续使用标准大气模型。这是我们设计过程中的第一次迭代,所以你希望所有东西都是标准的。
重力是由WGS84模型定义的。如果我进入风模型,我们看到我有一个风切变模型,阵风模型,和湍流模型。湍流模型有一个下拉框来定义冯·卡门湍流或德莱顿湍流。你们在图中看到的就是我们的真实植物模型。飞机动力学会影响到环境环境也会影响到飞机动力学。我们在这个循环中定义了整个系统。现在,我将介绍剩下的模型给你们看这里还有什么只是为了让你们知道所有这些块代表什么。
我们有机身促动器,这也是一个变型子系统。这将允许我在一个feed - through模型,或者我使用SimScape SimHydraulics去构建这个高度动态的模型,或者我只是使用一个传递函数。这种变体子系统设置将允许我在这些版本之间快速更改。我有飞行传感器,你们看这里,我用宇航Blockset来建立一个快速理想的空速修正,惯性测量单元,和压力高度来建模实际的传感器。而空气数据计算机只是一系列一阶保持来离散经过的数据。所以我们还没有一个空气数据系统模型。在我们重复这个设计过程的过程中,我们会建立一个高保真的空中数据系统。
最后,我们有我在一开始就讲过的可视化。我在这里使用一个方差子系统,因为有两种不同的方式你可以把数据发送到FlightGear你可以使用一个简单的版本或一个复杂的版本,它可以让你看到一些东西,比如驾驶舱的显示,控制面的偏转,但今天,我只使用一个简单的FlightGear界面,我需要发送的是纬度,经度,高度,和身体角度到FlightGear动画块,这将允许我在FlightGear中可视化。再一次,因为这个块是红粉色的,它是航天块的一部分。它允许你拖放这些组件,准确地理解这些组件需要正确地工作,然后快速地与FlightGear进行交互。
这就是模型的基本内容。我已经向你们展示了如何建模动态系统。现在我们来讨论一下如何设计两种飞行模式的飞行控制。这同样是我刚才显示的复杂,但我想我有一个很好的方式显示您如何使用我们的自动PID调谐器快速设计飞行控制系统,或任何类型的控制系统,基于你的设计工作流程是什么。正如我之前两次提到的,我将设计两个不同的控制循环,我可以在使用状态流之间进行更改,这将允许我可视化这种更改并简化我的控制逻辑设计过程。首先,我将设计高度跟踪空气路径,我将反馈的高度在外环,让飞机俯仰和控制高度,同时保持空速。第二是最大推力爬升空气路径,我可以发送最大油门命令到发动机,然后俯仰和下降,以实现所需的空速快速步骤高度变化。
我将为我的系统调整增益使用自动PID调整功能与Simulink控制设计可用。金宝app这将为我提供许多选项来调整带宽、增益和相位裕度——我可以用阶跃响应图在时域中观察结果,也可以用Bodie响应图在频域中观察结果。在这两种飞行模式中,使用右下角的状态流图将简化我如何在这两种不同的飞行模式之间改变,并在模拟这个模型时积极地可视化我所处的飞行模式。
当你看控制系统时,这是一个基本的控制系统图有补偿器,模型和传感器。我们现在要关注飞行控制。如果我要把这个映射到我的整个系统,你会看到,这只是GNC航空电子系统,我们要关注的。现在我将回到Simulink,深入研究GNC航空电子模块金宝app,向你们展示如何设计飞行控制,基于我们已经用MATLAB, Simulink,和Simulink控制设计设计的工厂模型。我不再需要我的图书馆浏览器了,我可以让这个全屏。GNC航空电子设备——哦,我猜那是我在那张照片里的一个老版本。这是调整后的飞行控制,我这么叫它。
制导系统很简单所以我们不会进入制导系统。再次,通过迭代的设计过程,我有这些子系统布局。允许我快速迭代。事实上,我可以让别人完全设计这个因为它和自动驾驶系统是分开的。当我进入自动驾驶系统时,我们看到了我的设计。我知道你觉得这看起来有点复杂。首先,我要提醒大家,我最后会回答大家的问题你们可以在最后问我任何问题。但实际上,这比看起来简单多了。如果你以前从未使用过Simulink,当我向你展示金宝app一些可以在这种环境下执行的控制设计过程时,我想你会理解为什么这是一个如此强大的工具。
所以这里我要做的是这是PI控制器中的音调频率。这是我的z加速度转换成比例控制器,这等价于这里有一个增益。所以如果你熟悉Simulink中的增益模块,p控制器作为PID模块的一部分只是一个增金宝app益。没有比这更复杂的了。不过,如果您想使用其中的附加功能,也可以将其复杂化。但这允许你在单个增益上使用PID调谐器你不需要使用调谐功能来调整整个PID控制器我一会儿会展示。所以往回倒一点,这是飞行路径或者路径你有一个进入比例控制器的命令,不好意思,是误差。
然后我们有这个状态流程图,它将确定我们使用的外部循环。如果我们处于高度保持模式,高度错误路径进入比例积分控制器,并将源进入Gamma命令。我还有一个在这里的自动节气门,它将进入我的油门命令。如果我在那辆汽车攀登模式,我在Max Power和我想上下推动飞机以保持我的空速,我反馈校准的空速,现在将进入我的伽玛命令。因此,它实际上可以使用该状态流程图在外环之间切换。
我将花点时间进入状态流程图,这样你们就能理解这是怎么回事。然后我可以回到这里向你们展示PID控制器的调整是关于什么的。这是我的状态流程图。这里没有太多的东西。只有两种模式。可能存在包含数百种模式的状态流图,所以相比之下,这是一个非常简单的图。它进入正常的飞行模式。我可以把它建立成有故障模式,起飞和降落模式,地面控制模式,各种不同的飞行模式,并把这些状态流分开。当它进来时,它会决定自动爬升是否启动。如果是,我们就进入了-我称之为起飞爬升模式因为你通常会在这个模式下看到它。 And if you're in takeoff climb mode, the gamma command equals that takeoff climb command generated by the calibrated airspeed and my throttle goes to max which is 1, which is 100%.
现在,如果自动爬升不再订婚或者导频决定覆盖Altitude命令,我们将进入高度保持模式,在其中我们将Altitude命令发送到伽玛控制器,并且Throttle命令将遵循自动油门。如果自动攀爬被重新登录并且飞行员不试图覆盖它,我们将重新回到起飞攀登模式。要展示这看起来像,我将在新标签中打开此导频块。这是R2012B的新功能之一现在我们有标签,所以我可以拥有那个试验块并快速切换 - 现在我必须在这里挖回 - 这两种模式之间切换。所以让我将其设置为我开始的默认情况并命中播放按钮。
我们看到的是好的,我们处于高度保持模式,因为我们的自动攀升没有订阅。现在,观看当我从事自动攀爬时会发生什么。过渡到该起飞攀登命令。当我关掉自动爬升时,回到高度,它允许您在这两种模式之间切换,如果我正在实时调试我的模型和飞行控制系统,而我实际上正在播放这个模型,我可以想象我在哪种模式。所以如果它没有做到我的期望,我可以进入国家流程图并说好,好吧,我知道我处于正确的模式,我知道我在这个高度保持模式,所以我知道我在这种模式下的时候会这样做,没有猜测。我不必在我的图表中放置范围来解决这个问题。这一切都是对我来看来的。
这就是状态流。它和Simulink有一点不同。金宝app我希望这对你来说不会太复杂。我在最后回答大家的问题。如果你们有任何问题我会帮你们回答的。所以问了。我不想让任何东西吓跑你,想,哦,这太复杂了,因为这真的是很棒的,有用的工具如果你在做这种类型的控制设计。好,我们回到这里。我讲了如何在这两种模式之间切换。让我一直放大到这个循环的最里面。 In aircraft design, at least the way I learned it, is you tune your controllers loop by loop. First I'll tune the pitch rate loop and then the z acceleration loop and then the flight path loop.
现在,我们有了可以一次调优所有这些循环的工具可以使用鲁棒控制工具箱,不幸的是,我今天没有时间给你们展示。但是我可以给你们看PID调谐器这是一种可视化每个循环的方法并以图形化方式对循环进行调优。我要做的第一件事是把这块注释掉。本质上这就像如果我删除了那个块路径就不再相连了。因此,我在这里通过使用新的Simulink提供的注释输出功能来打开循环。金宝app现在,我给电梯输入的是PI控制器中的这个螺距率误差环。当我打开PID块时,您将看到这里有许多选项。这已经被调优过了,但为了不让您认为我在作弊,我将把它设置为默认参数。
我可以从很多不同的选项中选择,但我只需要一个比例和积分。如果你调整一个简单的增益反馈,你没有一个积分器,你没有一个导数,你仍然可以使用比例路径的PID调谐器。这给了你很多选择和很多可变性这取决于你想对这个PID块做什么。我已经选择了PI控制器,如果我愿意,我可以使用连续时间控制器。当然,这是我最终想要生成的代码,我把它留作离散时间。我将我的采样时间设置为TC。它被定义为1 / 60秒。
我实际上在这里限制了。我的电梯的极限是20度。所以我说好的,我想在20到20度之间限制这一点,我在这里放置了一个防卷化,以便一旦它命中20度,它就不会继续集成 - 积分器不会继续集成。如果我只有一个比例控制器 - 让我们看看这是否有效 - 它并没有给我一个反转期权,因为没有任何东西可以结束。一旦我拖动成比例积分,它会记住我的选择是什么并将其重新放在那里。所以PID块正在做的事情可能已经使用集成商和增益块手动手动进行,但它使得一点更容易集成高级功能。
现在,PID块本身可以在Simulink中使用——不需要任何其他工具。金宝app但是在Simulink中,这个调谐函数是不可用的。金宝app这就是Simulink控制金宝app设计的目的。让我们看看当我按下这个按钮时会发生什么。可以看到它正在启动PID调谐器。当PID调谐器出现时,它会选择它认为是好的响应,当你按下调谐按钮时,它会查看它设计的线性系统。所以你要确定的一件事是你的系统可以线性化使用线性分析工具在你使用PID调谐器之前确保它能正常工作。
如果这个结果是0,或者它可能会给你一个警告说我不能线性化系统,那么你可能需要做一些改变来排除为什么你的系统不能线性化。但在我的例子中,系统可以线性化,它为初始比例积分值选择了一些参数。现在,当我看这些参数时,我也可以看到我的时域特性以及我的频域特性,比如增益裕度和相位裕度,这对控制工程师来说非常有用。我可以使用这些滑块获得更快的响应,但牺牲一些利润。我可以观察频域,看到我实际上只是调整了带宽,增益也相应地改变了。我们在这里看到了图表的动态更新。
我不仅可以观察到阶跃参考跟踪,我还可以观察到控制器的努力。所以我知道电梯的正负范围是20度,所以也许我想限制电梯给我的力。这里,我将使用3度的电梯来实现阶梯响应。我还可以使用Bodie响应图来查看输出干扰抑制、植物模型和开环响应等内容。作为一个控制设计师,我已经得到了我需要的一切来调整我的增益来适应我的飞行控制系统。一旦我点击应用,我可以看到我的增益已经在这里更新了。
但我要把这些设置回原来的值,经过几次练习,我知道是- 9.4和- 2,因为所有其他循环都是基于这些值进行调整的。如果我把新调优的值留在那里,我就需要重新调优所有的循环,我不想那样做,因为我只是经历了相同的过程。除了这里,你可以看到我只有一个比例控制器,就像我之前说的,PID调节器也适用于比例控制器。
我还调整了高度控制器,爬升速度控制器,和空气速度控制器。高度控制器还允许我调整状态流图。所以当我点击调谐按钮时,看起来我的线性系统没有那么容易调整,但我可以通过循环中的状态流来调整。它知道我点击那个音调按钮时所处的状态,并相应地线性化系统。它允许我使用这个完整的控制系统,而不必把它分解成一个更简单的版本,并且仍然能够调整我的控制循环。
在整个过程中,我可以打开我的录制按钮。我有很多用于录制的信号。我可以播放模型。也许为我的海拔命令投入新的步骤。等待它来实现这一步骤响应命令。一旦我击中停止,我将在模拟数据检查器中提供所有录制的数据。所以当我在整个设计过程中迭代时,我可以观察我的信号运行,以查看事情的变化。我可以看到我的海拔地区的命令和我的实际高度控制比较。在这里,我认为它看起来像一个非常好的回应。
我没让它跑够长时间。我可以用3D可视化。在这个网络研讨会环境中来回切换有点困难。但是你可以看到响应很好地追踪到我的高度指令。看起来一切都很顺利。当我在这个过程中迭代,重新调整控制器,实现我想要的需求时,我可以使用模拟数据检查器,它会在这里存储我所有的运行以供比较。
为了把它包装起来,我向你展示了如何在Simulink中建模你的动态飞机系统,包括空气动力学和环境。金宝app我向您展示了如何使用Simulink控制设计和状态流量来进行复金宝app杂的飞行控制器设计,以及如何使用PID调谐器自动调谐收益。因此,您可以调整使用比例反馈循环,比例积分或PID控制环路的系统的增益。可以使用PID调谐器调出任何组合。而且我向您展示了如何使用来自航空航天块集的飞机界面在3D中可视化您的结果。
我想提醒您,我使用了文件交换来获得DATCOM数据的可视化。我认为用户社区是一个伟大的资产,你可以找到对你有用的文件在文件交换,看看MATLAB的答案如果你有问题,或者查看的博客,我们可以看到什么是新的在MATLAB和Simulink和它如何可以应用到你的设计挑战。金宝app谢谢你!
你也可以从以下列表中选择一个网站:
请选择表现最佳的中国网站(中文或英文)。MathWorks的其他国家网站并没有针对您所在位置的访问进行优化。