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