瑞恩•戈登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
让我从运行这个模型开始,在这里你会看到我们的完整的动态模型以及飞机的控制系统,左边是FlightGear。如果我进入驾驶区,我有三个主要的命令可以发送给自动驾驶系统,我今天会用到。首先,我有一个高度指令,当我处于高度保持模式时,我可以发送一个指令到高度,飞机会倾斜到达到这个高度并保持这个高度。我有一个速度命令,用一个自动油门来改变速度,我有这个自动爬升命令,它会让我在高度保持模式和爬升模式之间改变,在爬升模式中,我使最大功率,飞机会倾斜来达到速度。
当我激活它的时候,你会看到飞机现在处于最大功率,它正以每秒85米的速度俯仰。如果我放慢速度,你会看到它的俯仰角度会更大,因为要达到每秒75米的速度,它需要更大的俯仰角度。如果我解除自动爬升,它会向下俯仰以达到2100米的高度指令。今天,我将向你们展示如何在Simulink中为这架飞机设计一个动态系统。我将向你们展示如何为这架飞机设计自动驾驶仪系统,以及如何使用航空区块集在FlightGear中可视化它。金宝app
这在MATLAB和Simulink中是如何工作的呢?金宝app首先,让我们谈谈设计飞机飞行控制的迭代设计过程。首先,您需要设计动态模型。怎么做呢?你将从确定车辆的几何形状开始,根据几何形状确定车辆的空气动力特性——这可以通过许多不同的方法来完成,包括风洞测试。你将创建一个仿真来验证这个设计,一旦你有了一个仿真,你就可以基于那个模型设计飞行控制律。
作为一名飞机飞行控制设计师,在达到预期结果之前,您可能需要多次迭代此过程,并且在迭代此设计时,您可能还需要执行其他步骤,例如创建硬件在环仿真,构建硬件和软件,如实际的飞行器进行飞行测试,然后分析和可视化飞行测试的结果。今天,我们将重点关注前四个突出显示的块,但是在整个设计过程中,有一些工具可以帮助您。
这就是我今天展示的网络研讨会的前四个步骤。首先,我要建立飞机动力学系统的模型。我将模拟DATCOM的空气动力学。DATCOM是由美国空军设计的软件,可以让你输入飞机的几何形状,它会告诉你根据输入的几何形状的气动特性和系数。我不会介绍DATCOM系统实际上是如何工作的,但我将介绍如何在MATLAB和Simulink中使用DATCOM的结果。金宝app
我将建立一个三自由度纵向动力学模型。我将为我的风,阵风,乱流和重力的动态模型设计环境。我将为两种飞行模式设计飞行控制高度跟踪模式和最大推力爬升模式这将允许我在爬升过程中做出很大的改变通过使用最大的动力和通过俯仰控制速度。我将通过使用自动PID调节器来实现,然后我将能够使用状态流来可视化这两种不同飞行模式之间的过渡。在整个过程中,我可以使用Simulink到FlightGear的界面作为Aerospace Blockset的一部分来可视化三维结果。金宝app
让我们从第一步开始,建模飞机动力学系统。对于这一步,我将主要使用,在MATLAB和Simulink之上,航空航天工具箱和航空航天模块集。金宝app这些工具将允许我快速设计、模拟和可视化我的整个建模设计过程。这是Simulink到FlightGear金宝app的位置,这是三个自由度块的位置这让我可以简单地拖放一个块在Simulink中拥有完整的三个自由度动态。我将展示的第一个特性是DATCOM导入和Simulink DATCOM接口。金宝app这是我所有的环境模型都存在的地方我的大气,风和湍流。让我们回到MATLAB和Simulink,我可以告诉你们这些是什么。金宝app
我想做的第一件事是可视化我的DATCOM数据。为此,我在MathWorks文件交换上找到了这个函数。因此MathWorks文件交换是一个当前MATLAB用户可以去共享他们创建的文件的地方,他们认为其他人会发现这些文件是有用的。我曾经通过显示在DATCOM输入文件中看起来像。但是在查看文件交换中一些有用的文件后,我认为可能会对我有所帮助,我找到了这个Draw DATCOM飞机文件。因此,如果您感兴趣,可以在MathWorks文件交换中找到它。如果我运行该文件,它将从我输入到DATCOM。
你看,这是一个翅膀,身体,尾巴的设计。你可以看到机翼是输入到DATCOM系统的。再一次,飞机的三视图。如前所述,我不会介绍DATCOM是如何工作的,但我将向您展示输出是什么样子的。当我们看这里,你会发现输出在MATLAB中不是很有用。它是一个文本文件。它有我需要的所有信息,但格式不是很有用。我要用的是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,并将其导入到Simulink使用DATCOM块与Aerospace块集可用。金宝app这是我在网络研讨会开始时给你们看的模型。这是飞机动力学,这是我建立动力学模型的地方。你会注意到,在R2012B中,我们在一些街区的角落里有这些徽章。这意味着这是一个不同的子系统。为了这个网络研讨会的目的,我有两个变体。我有一种变体完全完成,因为它需要很长时间来构建这些比你想看我做网络研讨会,和一个愿景有这些洞,我要填入孔块可用的航空Blockset帮助我建立模型。
要更改变体,您可以进入这里并使用Override选项。您还可以在工作区中使用一些选项来定义变体。这就是最终版本。在初步版本中有三个主要的子系统。这就是三自由度模拟的所在。还有一个六自由度的界面,这样的话,之后如果我想构建横向方向的动力学,我可以通过放置一个六自由度的块而不是一个三自由度的块来快速迭代这个过程。我不知道侧向导数的空气动力学,所以我现在把它作为一个三自由度。
推进系统只是一个查询表,非常简单,今天不做推进设计。这是一个非常基本的模型。在空气动力学中,我留下了一些空白我需要填入DATCOM数据,力和力矩,我需要建立马赫和动压。如果我打开Simulink Librar金宝appy浏览器,进入Aerospace Blockset,我们会看到这里有很多不同的实用程序。空气动力学,致动器,环境,运动方程。这些都是在飞机和航天器设计中使用的常见的东西,我们已经把它们作为Aerospace Blockset的一部分提供给你们,以帮助简化我今天向你们展示的迭代设计过程——这是我今天正在做的一个迭代。
为了得到DATCOM的空气动力学,我进入了空气动力学子库,我将拖进数字DATCOM力和力矩。它被这个事实结构体预填充了我的名字不是这个。我有一个预建的结构叫做静力学。如果我应用这些更改,您会注意到,在我单击OK之后,输入实际上发生了更改,以匹配该DATCOM结构所需的输入。因此,这使我能够快速知道从DATCOM查找数据需要哪些输入,因为这个块将自动确定需要哪些输入。然后我就可以把左边的输入从我后面要放的三自由度模块中构建出来。然后我可以把这个带进来,调整它的大小,但我不会花太多时间来调整大小和填充这些块。我将在最终版本中向您展示所有内容,因为我不想浪费您的时间来演示如何调整块的大小并将所有内容放入其中。
对于力和力矩,我有这些空气动力系数。如果我来到这里,你们会看到我们有一个预先查找表来得到一个指标和这个指标的一部分,攻角,马赫数,高度,以及进入电梯块子系统的电梯偏转。像俯仰力矩这样的东西被定义为查找表,在静态动态结构中。现在,因为它们只是系数,我需要把这些系数转换成力和力矩。我要做的是利用我的空气动力和力矩块。所以我可以连接气动力和气动力矩的变化了,我需要把在参考面积跨度和参考长度,已知特征的飞机,很快就会允许我根据这些系数计算力和时刻。
现在,我把这些域放到了最终版本中一会儿我会给你们看。最后,我们有公用事业建立共同的飞机特性,如马赫和动压。如果我进入我的搜索词,我可以从我的图书馆浏览器的Aerospace Blockset中搜索,我可以找到一个mach块,把它带来。这里最重要的是,它告诉了你计算它需要什么。所以你不需要——如果你在一个团队中与许多不同的工程师一起工作,也许不是每个工程师都对飞机很熟悉。如果你和一个可能做齿轮的人一起工作,他们不一定会知道所有GNC工程师熟悉的飞机术语。看看这里的接口,你确切地知道你需要什么,所有这些块之间有一个共同的接口。
我需要的最后一块是动态压力。再一次,我可以把它拖进来,我们看到它们用的是相同的速度,然后我只需要把密度放在这里,声速放在这里。我现在不打算把它们联系起来。在最终版本中我把这些都连起来了。最后,我想建立一个三自由度的模拟。这是我建立的自定义接口块。同样的,当我在设计过程中迭代时,我可以删除这个,放入一个六自由度的块。我们在Aerospace Blockset中有很多三个自由度和六个自由度的模型。所以对于6个自由度你可以使用欧拉角,或者如果你有一个高度动态的飞行器你担心像万向节锁之类的东西你可以使用[听不清]版本的块。
现在,我将使用简单的三自由度块。你们看,我有一个重力输入,但我在我的环境中定义了重力,所以我会说它是一个内部重力,定义为零,这将移除输入端口。这里需要填写一些初始条件,所以我将向您展示最终版本。这正好是我要说的。你知道你的力——你的x力、z力和力矩——你有一个共同的界面,可以让你与其他航空航天[?块集?]组件交互,因为它们都有共同的界面名称,可以让你快速迭代这个设计过程。
现在我将回到我的模型的顶层,切换到最终版本,向您展示它完成后的样子。现在您可以看到,使用变体子系统,最终版本现在高亮显示,因为我已经完成了覆盖。在这里你可以看到,这些子系统的基本布局是一样的。如果我来看看我的空气动力学,你会看到这里的DATCOM块,我用粉红色突出显示了航空航天块集块,以显示哪些块在航空航天块集中。你可以看到空气动力和力矩。我们使用了模型工作区变量,所以这些变量实际上连接到这个模型来定义我们在这里的引用。你可以看到马赫数和动态压力在这个子系统中是简单连接的。和我之前给你看的一样。还有我们的三自由度积木。再次,使用模型内部定义的模型工作空间参数,我们得到了三自由度块的初始条件。
现在我可以向大家展示我是如何定义环境的。因此,这只是我的系统的一种介绍,因为在这么短的时间内单独构建所有这些组件是没有意义的。时间太长了,而且由于航空航天区块集的缘故,这真的很简单。这里你可以看到我使用的标准大气模型。因为它是一个航空区块集,我有这些下拉菜单,可以根据我想要模拟的飞行场景定义不同的大气模型。所以,如果我需要一个炎热的一天,我可以做一个炎热的一天。我可以做一个寒冷的一天。不同的密度和压力使用不同的模型。今天我们将使用标准大气模型。这是我们设计过程中的第一次迭代,对吧,所以你希望所有的东西都是标准的。
我们的重力由WGS84模型定义。如果我来到这里的风模型,我们看到我有风切变模型,阵风模型,和湍流模型。湍流模型有一个下拉框来定义Von Karman或Dryden湍流。这里你们看到的图片就是我们的真值植物模型。飞机动力学涉及到环境环境也涉及到飞机动力学。在这个循环中我们定义了整个系统。现在,我将讲解模型的其余部分,并向你们展示我们这里还有什么,只是为了让你们了解所有这些块代表什么。
我们有机身执行器,这也是一个变型子系统。这将允许我在以下两种情况之间进行切换:可能是一个直通模型,可能是我使用SimScape SimHydraulics来建立这个高度动态的模型,或者可能只是使用一个传递函数。此变体子系统设置将允许我在这些版本之间快速更改。我有飞行传感器,你们看,我在这里使用了航空区块集来建立一个快速理想的空速修正,惯性测量单元,和压力高度来模拟实际的传感器。空气数据计算机只是一系列一阶保持,用于离散通过的数据。所以我们还没有空气数据系统模型。当我们迭代这个设计过程时,我们会建立一个更高保真的空中数据系统。
最后,我们有了我一直在说的我一开始给你们看过的可视化。我在这里使用一个变化子系统,因为有两种不同的方式你可以将数据发送到FlightGear——你可以使用一个简单的版本或一个复杂的版本,这将允许你可视化的东西,如驾驶舱显示,控制表面的偏转——但今天,我只使用一个简单的FlightGear界面我需要发送的是纬度,经度,高度,和身体角度到FlightGear动画块,这将允许我在FlightGear中可视化。因为这个方块是红粉色的,它是航天方块的一部分。它允许你拖放这些组件,准确地理解这些组件需要什么才能正常工作,然后在这个特定的实例中,快速地与FlightGear连接。
对于模型来说,这差不多就是它。我已经向你们展示了如何对动态系统建模。现在,让我们谈谈如何设计两种飞行模式的飞行控制。这和我刚才展示的一样复杂,但我想我有一个很好的方法向你展示如何使用我们的自动PID调谐器根据你的设计工作流程快速设计飞行控制系统或任何类型的控制系统。正如我之前两次提到的,我将设计两个不同的控制回路,我可以在使用状态流之间进行更改,这将允许我可视化此更改并简化我的控制逻辑设计过程。首先,我将设计高度跟踪航路,在那里我将在外环反馈高度,以允许飞机俯仰和控制高度,同时保持空速。第二个是最大推力爬升空气路径,在这里我可以向发动机发送最大油门指令,然后向上和向下俯仰,以实现快速阶梯高度变化所需的空速。
我将使用Simulink控制设计中提供的自动PID调整功能来调整我的系统的增益。金宝app这将给我提供许多选项来调整带宽、增益和相位裕度——我可以用阶跃响应图在时域观察结果,或者我可以用Bodie响应图在频域观察结果。在两种飞行模式中,使用右下角的状态流图可以简化我在两种不同飞行模式之间的切换,并在模拟模型时主动地可视化我所处的飞行模式。
当你看控制系统的时候,这是一个基本的控制系统图你有补偿器,模型和传感器。我们现在要关注的是飞行控制。如果我要把这个映射到我的整个系统中,你会看到我们要关注的是这个GNC航空电子设备块。现在我要回到Simulink,深入研究这个GNC航空电子金宝app设备模块,并向你们展示如何基于我们已经用MATLAB, Simulink,和Simulink控制设计设计的工厂模型来设计飞行控制。我不再需要图书馆浏览器了,我可以让它全屏显示。再一次,GNC航空电子设备,哦,我想那是我在图片里的旧版本。这就是我所说的调整后的飞行控制。
制导系统是简单的馈入所以我们不会进入制导系统。在设计过程中,我有了这些子系统布局。允许我快速迭代。事实上,我可以让其他人来设计这个因为它和自动驾驶系统是分开的。当我进入自动驾驶系统,我们看到我的设计。我知道你觉得这看起来有点复杂。首先,我要提醒大家最后我会回答大家的问题所以大家可以在最后问我任何问题。但实际上,它比看起来要简单得多。如果你以前从未使用过Simulink,当我向你展示金宝app一些你可以在这种环境中执行的控制设计过程时,我想你会理解为什么这是一个如此强大的工具。
这里我要做的是这是PI控制器中的音高速率。这是比例控制器的z加速度,相当于这里有一个增益。如果你熟悉Simulink中的增益块,p控制器作为PID块的一部分就是增益。金宝app没有比这更复杂的了。不过,如果您想使用其中的附加功能,您可以使它变得更复杂。但这允许你在单个增益上使用PID调节器,你不需要使用调整功能来调整整个PID控制器,我一会儿会展示。再往后退一点,这是飞行路径或者说是路径你有一个命令进入比例控制器,伽马误差,不好意思。
然后我们有这个状态流程图,它将决定我们使用哪个外部循环。如果我们处于高度保持模式,高度误差路径会进入比例积分控制器,然后输入伽马指令。我还有一个自动油门,它会输入到油门命令。如果我在自动爬升模式,我是在最大的力量,我想pitch飞机上和下保持我的空速,我反馈校准空速,这将馈入我的伽玛命令。所以它可以使用这个状态流程图在外部循环之间切换。
我会花点时间来看看状态流程图,这样你们就能理解这是怎么回事了。然后我可以回到这里向你们展示如何调整这些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%.
现在,如果自动爬升不再使用或者飞行员决定用高度指令覆盖,我们将进入高度保持模式我们将高度指令发送到伽马控制器,并且油门指令将跟随自动油门。如果自动爬升重新启动,飞行员没有试图覆盖它,我们会回到起飞爬升模式。为了显示它的样子,我将在一个新选项卡中打开这个先导块。这是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调节器这是一种将每个循环形象化并图形化地调整循环的方法。我要做的第一件事是注释掉这个block。本质上,如果我删除了那个块路径就不再连接了。因此,我在这里使用新的Simulink中可用的注释输出功能来打开循环。金宝app现在,我给电梯输入的是PI控制器中的螺距率错误回路。当我打开PID块时,你会看到这里有很多选项。这个之前已经调优过了,但为了不让您觉得我在作弊,我将把它设置为默认参数。
我可以在很多不同的选项中选择,但我只需要比例和积分。如果你在调整一个简单的增益反馈,你没有积分器,你没有导数,你仍然可以使用PID调节器和比例路径。这给了你很多选择和很多可变性取决于你想对这个块做什么,PID块。我已经选择了PI控制器,如果我愿意,我可以使用连续时间。当然,这是我最终想要生成代码的东西,我把它留作离散时间。我将样本时间设置为TC。定义为1 / 60秒。
我在这里写了一个极限。我的电梯的极限是20度。我想把它限制在20到- 20度之间,我在这里放了一个反结这样一旦达到20度它就不会继续积分了,积分器就不会继续积分了。如果我只有一个比例控制器-,我们看看这是否可行-,它不会给我反结束选项,因为没有任何东西可以结束。只要我把比例积分拖进来它就会记起我的选择,然后把它放回去。PID块做的事情,也许你已经用积分器和增益块手工做了,但它使它更容易集成高级功能。
现在,PID块本身在Simulink中可用——不需要任何其他工具。但是Simulink没金宝app有的是这个调谐功能。这就是Simulink控件设计的目的。让我们看看当我按下这个按钮时会发生什么。你看,它正在启动PID调谐器。当PID调谐器出现时,它会选择它认为是一个好的响应,当你点击tune按钮来确定时,它会查看它设计的线性系统。因此,在使用PID调谐器以确保其正常工作之前,您必须确保您的系统可以使用线性分析工具之类的工具进行线性化。
如果这显示为0,或者它可能会给您一个警告,说我无法线性化系统,那么您可能需要进行一些更改,以排除系统无法线性化的原因。但在我的例子中,系统可以线性化,并且它为初始比例积分值选择了一些参数。现在,当我查看这些参数时,我还可以看到我的时域特性和频域特性是什么,比如增益裕度和相位裕度——这对控制工程师来说非常有用。我可以使用这些滑块获得更快的响应,但牺牲一些增益裕度。我可以观察频域,看到我实际上只是在调整带宽idth,并且增益也相应地改变。我们在这里看到图表的活动更新。
我不仅可以观察步骤参考跟踪,我还可以观察控制器的努力。所以我知道电梯有20度的正和负的范围,也许我想限制电梯给我的出力。在这里,我将使用大约3度的电梯来实现阶跃响应。我还可以使用Bodie响应图来查看输出干扰抑制、植物模型和开环响应。再一次,作为一个控制设计师,我已经有了我需要的一切来调整我的飞行控制系统的增益。点击Apply后,我可以看到增益已经更新了。
但是我要把它们设置回原来的值,经过几次练习,我知道它们是-9.4和-2,因为我所有的其他循环都是基于这些值进行调整的。因此,如果我将新调整的值留在那里,我将不得不重新调整我的所有循环,我不想这样做,因为我只是经历了相同的过程。除了这里,你看我有一个比例控制器,就像我前面说的,PID调谐器也适用于比例控制器。
我也调整了高度控制器,爬升速度控制器,和空气速度控制器。高度控制器还允许我围绕状态流图进行调整。所以当我按下调优按钮时,我的线性系统似乎不太容易调优,但我可以用循环中的状态流来调优。它知道我按下调音键时的状态,它会相应地线性化系统。它允许我使用这个完整的控制系统,而不必将其分解成一个更简单的版本,并且仍然能够调整我的控制循环。
在这个过程中,我可以打开我的录制按钮。我已经准备好录制一些信号了。我可以玩模型。也许在我的高度指令中加入一个新的步骤。等待它来实现步骤响应命令。一旦我点击停止,所有我记录的数据将在模拟数据检查器中可用。所以当我在设计过程中迭代时,我可以观察信号的运行,看看事情是如何变化的。我可以看到我的高度控制和实际的高度控制是如何比较的。这里我看到了一个很好的反应。
我没让它持续太久。我本可以用那种可视化——3D可视化。在这个网络研讨会环境中来回切换有点困难。但是你可以看到响应很好地跟踪到我的高度指令。看起来一切都很顺利。当我遍历整个过程,重新调整我的控制器,达到我想要的要求时,我可以使用模拟数据检查器,它将存储我所有的运行在这里进行比较。
最后,我向你们展示了如何在Simulink中建模动态飞机系统,包括空气动力学和环境。金宝app我已经向你展示了如何使用Simulink控制设计和状态流进行复金宝app杂的飞行控制器设计,以及如何使用PID调节器自动调整增益。所以你可以调整增益的系统,使用比例反馈环路,比例积分,或PID控制环路。任何组合都可以用PID调谐器进行调谐。我已经向你展示了如何使用来自Aerospace Blockset的FlightGear接口在3D中可视化结果。
我想提醒您,我使用文件交换来获得DATCOM数据的可视化。我认为用户社区是一项巨大的资产,您可以在其中找到在文件交换中对您有用的文件,如果您有问题,请查看MATLAB答案,或者查看我们的几个博客中的一个,这样您就可以看到MATLAB和Simulink中的新功能,以及如何将其应用于您的设计挑战。非常感谢。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。