从系列:无人机仿真和控制
上节课,我们学习了如何准确,非线性模型的仿真,但他们没有很好地线性分析和设计。这个视频把鹦鹉Minidrone的非线性模型,构建一个linearizable模型可用于调优6 PID控制器的控制架构。
我们使用PID调节器应用仿真软件优化高度控制回路和显示为万博1manbetx什么要有一个好的模型的系统是基于模型设计的基础。
上节课,我们学习了如何准确,非线性模型的仿真,但是他们并没有很好地线性分析和设计。我们需要一个线性模型。不会一样精确的仿真模型,但我们可以用它来调优6 PID控制器的控制架构。这就是我们要做的。我是布莱恩,欢迎来到MATLAB技术说话。
我们要花大多数的这个视频在仿真软件工作,但是我认为不是从这里开始,一切都会更有意义,如果我先设置上下文。万博1manbetx
我们迄今为止吗?我们有一组非线性模型包裹完整的飞行控制软件的一个模型。这是软件设置为自动代码生成和控制器和状态估计,直接控制回路,而且其他逻辑故障保护和数据日志记录。每一个非线性组件。所以它有意义,为了整个系统的线性模型,我们需要线性化软件和模型的战斗都是缠绕在它。
然而,根据我的经验很难飞行软件设置好自动代码生成以及线性化。因为飞行软件if语句和开关状态机和各种各样的事情所需的代码运行,但线性化困难或不可能的。因此,我们通常构建一个完全独立的模型进行控制器设计。具体来说,可以线性化的。在这个视频中,我将从满了四轴飞行器模型,航空航天块设置然后开始删除很多东西我们不需要控制器设计。特别的东西使得线性化困难。
一旦我们有精简模型,我们将使用PID调节器应用仿真软件线性化模型和优化PID控制器。万博1manbetx
从第二个视频如果你还记得,我们的控制架构是这样几种不同的控制回路和6个不同的PID控制器。我们会通过调优一个循环,高度循环。记住,这是独立于其他的循环,所以我们可以调整和调整高度不影响辊,音高或偏航。以确保他们完全的方程,我们就为辊设置为0的命令,俯仰和偏航。
我们也会使假设传感器动态和噪音不影响控制器设计的意义。如果这是真的,那么我们可以把传感器的状态估计模型和逻辑。基本上,我们假设我们的控制器知道无人机完全的真实高度。我们完成我们的控制器调优测试后的结果完整的非线性模型,看看这个假设是好的。如果它不工作然后我们将添加传感器重新再试一次。我想从最简单的模型开始,只在必要时去更复杂。
然后我们将线性化高度循环和调整的收益获得高度性能我们之后。现在,我只会调整这个控制器在这个视频,但是这个过程几乎是相同的人。
高度循环后我继续调整偏航控制器,保持横滚和俯仰恒定和持有高度固定的。一旦完成我然后继续滚。一旦这些内部循环控制器都是调我转移到外层循环位置控制器和调优,虽然内循环控制器是活跃的和维护取向。通过这种方式,我们将遍历每一个6的PID控制器和结束时让他们在一起工作。
这就是概述我们要做什么,我将添加更多的上下文为我们但足以理解我在做什么当我开始仿真软件模块。万博1manbetx让我们去得到它。
我想做的第一件事就是看看股票高度控制器。我会选择的高度从国家总线和情节范围。控制器是试图保持海拔0.7米,高度是无人机的参考系中测量有积极的Z轴向下。所以我们的控制器实际上是驾驶高度为-0.7。正如你所看到的,有轻微的过度的股票控制器调好但慢慢为-0.7。看看我们可以为不同的性能优化控制器。
这是我们的仿真模型,我不想改变这种情况。相反,我将复制整个粘贴在自己的模型,我们可以修改和使用控制器调优。好了,现在开始删除的东西。首先,我们不要任何可视化或范围,我补充道。
我们也可以把传感器块因为我们要反馈一个完美的高度。好,现在如果我进入飞行控制系统有很多在这里,我不需要。记住我们只是专注于高度控制器。所以在飞行控制器子系统我会抓住高度参考和控制器+电动机混合算法和电动机的推力命令块。这些飞行将是唯一的部分代码,我们需要完成高度循环。
我会带这些块模型的顶层和删除其余的飞行控制软件。这些块电机速度命令的输出,我们可以直接到机身模型饲料。球场,现在我将设置卷和偏航力矩为0确保只要没有其他外力和力矩机身——阵风之类——然后机身只能上升和下降。我知道环境块模型外部扰动不像,所以我们好只有命令设置为0。
现在我们需要反馈我们的完美高度状态进入高度控制器和我们有简化的闭环系统,我之前给你们。现在在这一点上我们可以进入高度的块,看看与PID控制器。
我们看到这个控制器第三节,但我只是想再次简要描述发生了什么。首先,这只是一个PD控制器,导数的路径并不是由一个实际的导数,而是由卡尔曼滤波估计的高度速度。记住,这是一个很好的方式来建立PD控制器,因为我们不是一个噪声信号的导数,我们直接估计速度。然而,这种设置不起作用,当我们反馈的实际状况而不是通过状态估计量。因为我们不是也反馈真实率状态。但没关系,因为这个模型我们已经删除了传感器块和与它们相关的噪声和有一个很干净的高度信号。所以我们可以喂,高度信号模型PID块将照顾我们的导数以及如果需要添加一些过滤。万博1manbetx
我会将它设置为一个PD控制器和设置的收益当前值。然后我将删除现有的PD收益和逻辑,以PID控制器。这是现在准备自动调谐。我们有高度的参考,-0.7米,比真正的高度。错误被送入PD控制器,然后添加一个前馈重力项。这基本上添加所需的推力,以抵消无人机的重量,这样PD控制器只需要添加积极的推力和负推力下降。我们可以删除前馈路径通过添加积分PD控制器,但我们会这样离开因为这样的模型已经建立。
好了,现在我们可以打开PD块,点击调整按钮启动自动调谐。自动调谐做的第一件事就是线性化整个控制回路,记住现在我们删除所有的困难这个系统可以线性化的组件。工厂的工具创建这个线性模型,我们可以出口,使用手动设计PID增益。
然而,我们要留在PID调节器应用因为它情节的闭环响应控制器和线性化植物对我们和我们可以调整的响应时间和瞬态行为循环与顶部的滑块。你可以看到,股票设计,虚线,也有类似的行为,我们看到仿真模型。它不会是完全相同的,因为我们移除所有的非线性元件,但我们的目标是获得足够近的选择。我们会进行测试。现在我们可以移动滑动条和调整行为。对于这个设计,我想有一定的频域的性能通过设置5 rad / s的带宽和相位容限60度。
这产生约0.32的比例增益和微分增益还在0.3。
现在让我们离开设计模型,返回完整的仿真模型,看看这些新收益的行为。我会回到高度控制器,把0.32比例路径和离开0.3在导数路径,然后返回到顶层仿真运行。
看看,新的收益我们改变我们的悬浮控制系统的行为。你会发现超调走了,但基于我们的线性分析我们预期无人机仍然有点过头了。这种差异是由于我们做在一个不完美的线性模型分析。然而,结果是仍然接近我们设计和线性分析给了我们一个很好的起点。如果我们没有这种反应完全满意,我们现在可以稍微调整收益,看看我们可以提高性能。
然而,真正的考验不是在仿真环境中进行测试,但测试真正的物理硬件。现在,如果硬件的行为就像这个模型,我们知道我们的基于模型的设计优化工作。
但是我们没有承担,因为我们可以生成代码鹦鹉Minidrone从这个模型模型,我们可以尝试我们的新收益的实际硬件。万博1manbetx
我上次提到过,但这熊重复。记住你的护目镜。你永远不能100%相信你的控制律不会导致车辆失控,因为它实际上是一个割草机能够飞行是危险的。好的,我们开始吧。我有新的收获和飞行代码装载到我的迷你讲课准备起飞。
好了,没有工作。那么发生了什么?
好吧,我不是100%肯定。但我知道,这是硬件不像模型。有一些模型缺失或已建模的错误我的硬件,给了我这样的印象,即控制律是可行的。有一个好的模型是基于模型设计的基础。如果你使用基于模型的设计,我认为你会发现你花更多的时间比你创建和验证系统的模型将开发你的控制律。但这时间是值得花费的,因为一旦你有一个好的模型,然后设计、模拟,验证您的系统变得容易得多比必须做所有的物理硬件。
一些事情绝对不是建模可能重要的是超声波作用的效果在低海拔地区,或者贴近地面飞行时的空气动力学变化。一个问题在我的例子中,这个模型被开发为广大鹦鹉微型无人驾驶飞机和我具体的无人机可能参数是不同的。电池电压很低,但是质量是关闭的,电机力矩是不同的,等等。
我现在想调查通过系统识别或其他物理测试这个模型不同于现实,作出必要的改变。但是,不幸的是,我没有时间在这段视频中进入模型的详细调查所以我要离开,另一个时间。
好吧,我改变主意了,我不想离开这个视频失败的试验。我必须思考的行为和想出了一个可能的问题。前馈项生产所需的推力计算完全取消无人机的重量。这样PD控制器只需要调整推力上下轻微改变高度。但如果这学期太低,或另一种方式把它,如果模型认为无人机的重量较低或转子产生的推力比它实际上是什么吗?然后会有一些残余重量PD控制器需要处理和降低比例路径我们的能力克服体重降低和无人驾驶飞机将起飞像我们看到有困难。
所以我做了一个测试,我删除了反馈控制器和高度依赖于重力抵消提高无人机。股票的价值和我的无人机导致它坐在地上,不起飞。然后我值提高了10%,又试了一次,然后20%。为20%,无人机勉强能够崛起。所以,我认为这是一个更合适的前馈项为我的硬件。
然后我添加了反馈项在跑最后一次测试,看看这个。它的工作原理。这是一个快速解决识别问题。我仍然需要调整的无人机模型来反映这一点。这听起来像一个非常有趣的项目给我。所以如果你发现自己在这个家里,我认为这将是一个很好的介绍基于模型的设计和给你一个机会学习如何把别人提供给你的模型,调整您的特定环境。至少,如果给你一个借口玩玩开发四轴飞行器的控制律。我希望你找到它我一样激动人心。
如果你不想错过下一个科技视频说话,别忘了订阅这个通道。同样,如果你想看看我的通道,控制系统讲座,我覆盖更多的控制理论主题。谢谢收看,下次再见。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。