大家好。我的名字是Greg,我是Mathworks的Simulink万博1manbetx产品营销。在本网络研讨会中,您将了解Simulink如何使用Simulink设计,万博1manbetx模拟和部署飞行控制器,以便使用Simulink的Palm-Size Quadcopter。它的支撑万博1manbetx套件用于鹦鹉迷你素和航空航天块集。此网络研讨会旨在作为入门资源,并将引入Simulink,四叉功能硬件,以及如何使用Simulink附加工具来开发从飞机建模和模拟到部署和飞行分万博1manbetx析的完整工作流程。让我们开始吧。
我们将利用这个大纲来实现今天网络研讨会的目标。这里将简要介绍Simulink,它的附加工具,用于PARROT微型无人机的Simu万博1manbetxlink支持包,以及硬件本身。万博1manbetx我还将介绍如何利用这次网络研讨会来补充大学水平课程和其他培训活动的教学和学习目标。
我将向您展示如何使用航空航天Blockset模型和模拟飞机和其他机载车辆,这取决于大气和其他环境条件。然后我们将介绍你需要做些什么来将这个模拟带到现实世界并在PARROT微型无人机上部署飞行控制算法。为此,我将展示如何替换飞机固件,如何使用现成的模拟部署和在Aerospace Blockset中可用的飞行示例飞行微型无人机,以及如何使用Simulink编码器记录飞行数据。万博1manbetx然后我将结束这次网络研讨会。
让我们来看看我们在本网络研讨会中使用的软件工具和材料。对于这个网络研讨会,我使用matlab®发布2017B,Simulin万博1manbetxk,以及用于Parrot Mini万博1manbetxDrones,AeroSpace Obloset,Simulink编码器和Simulink 3D动画™的Simulink支持包。请注意,Simulink包含Simulink 3D动画的演示许可证,这使万博1manbetx我们可以在3D中可视化模拟,而无需修改所使用的虚拟现实文件。
在硬件方面,我使用了PARROT的“滚动蜘蛛”迷你无人机、护目镜、迷你无人机附带的一根微型USB数据线、一个支持蓝牙的USB加密狗万博1manbetx®利用其司机的能量低,额外的电池到迷你符中包含的电池和充电器。本文中提出的材料还适用于鹦鹉Mambo Minidrone,该Mambo Minidrone于2018年1月得到支持。万博1manbetx
对于这篇介绍,我想介绍六个问题。这将有助于让大家了解本次网络研讨会所需的背景知识,并邀请您进行进一步调查。
好吧。什么是基于模型的设计?基于模型的设计是一个过程,使动态系统,包括控制系统,信号处理和通信系统的快速和成本效益的开发。在基于模型的设计中,系统模型处于开发过程的中心,从需求开发到设计、实现和测试。模型是一个可执行的规范,您可以在整个开发过程中不断地完善它。
什么是simulink?万博1manbetx万博1manbetxSimulink是一个用于多域模拟和基于模型的设计的框图环境。它支持万博1manbetx嵌入式系统的系统级设计,仿真,自动代码生成和持续测试和验证。万博1manbetxSimulink提供了一种图形编辑器,可自定义的块库和用于建模和模拟动态系统的求解器。
现在鹦鹉迷你素是什么?Parrot迷你素是超紧凑的飞行动态系统,具有四个螺旋桨,使它们成为Quadcopter,它们可以从智能手机或平板电脑控制。由于自动驾驶仪,它们可以使它们非常稳定。它们可以将信号与3轴陀螺仪和3轴加速度计,用于飞行高度的压力传感器,超声波传感器,用于接近地面的精密飞行,以及可用于光学流量和图像处理的朝下的相机。
现在知道什么是模拟,什么是鹦鹉迷你素,什万博1manbetx么是鹦鹉迷你素的Simulink支持包是什么?万博1manbetx支持包是万博1manbetx基于Simulink的官方MathWorks硬件支持附加加载页,以便您在蓝牙上无线地设计,模拟和部署飞行控制算法到鹦鹉迷你标语。万博1manbetx它允许您使用板载传感器的组合来开发,模拟和测试飞行控制算法。使用Parrot MiniDrone和Simulink支持包,您万博1manbet万博1manbetxx可以在课堂或家中执行低成本,手掌尺寸实验室,以在教室或家中执行反馈控制实验。
什么是Simuli万博1manbetxnk插件,它们提供什么功能?万博1manbetxSimulink外接程序是MathWorks工具,用于扩展Simulink中提供的功能。Simu万博1manbetxlink产品系列包括用于基于事件建模、物理建模、控制系统、信号处理和无线通信、代码生成、实时仿真和测试、验证和验证、3D可视化和报告的附加工具。
在超过40个Simulink附加工具万博1manbetx中,我想重点讨论我们将在本次网络研讨会中使用的两个。Aerospace Blockset是一个Sim万博1manbetxulink附加工具,通过建模和模拟飞机、航天器、火箭、推进系统和无人机的模块来扩展其功能。
万博1manbetxSimulink Coder是一个附加工具,生成和执行C和c++代码从Simulink图,状态流®图表,MATLAB函数。生成的源代码可用于实时和非实时应用程序,包括仿真加速、快速原型和半实物仿真。
为什么MathWorks为Parrot MiniDr万博1manbet万博1manbetxxones开发Simulink支持?原因是以下三个。首先,帮助教授和教师使用无人机作为流行的硬件平台培训学生的模型设计。其次,为了帮助行业创新者了解并采用基于模型的设计,使用高等教育证明解决方案。
第三,为基于模型的设计的影响产生兴趣和意识,在批判性的现实应用中的影响。我们希望您利用这些功能,了解如何应用于您的家庭教室或项目,并帮助您在几小时而不是几周或几个月内运行。
在本次网络研讨会中,我们还提供了MATLAB Answers™文档中的详细步骤,您可以在硬件目录页面中找到。让我们继续,看看我们如何可以使用航空航天Blockset模型和模拟无人机。
Aerospace Boltsset提供了一款即将到来的模拟版本和飞行示例,我们将在此网络研讨会上。在本节中,您将学习如何从AeroSpace BlockSet示例查找和打开四分之一项目的实例。您将获得简要介绍该示例如何利用此应用程序的最佳实践,向您展示如何运行无人机的模拟,可视化结果的方法,如何修改模型以自定义飞行仿真输入,以及概述飞行控制器提供了航空航天块集合例。
您可以通过在MATLAB命令窗口中输入DOC,选择Aerospace BoltsSet,单击示例,然后滚动到Quadcopter项目,找到并打开模拟模型。在“文档”页面上,您可以找到有关此示例的详细信息。您还可以通过在Matlab命令窗口中输入以下内容直接打开它。
一旦项目环境配置完成,将有三个新的窗口:Simulink项目名称Quadcopter,四轴飞行器飞行仿真模型的顶层,以及使用Simulink 3D Anima万博1manbetxtion的无人机可视化窗口。Simu万博1manbetxlink项目是一种环境,它允许我们组织与此示例相关的文件、设置和用户定义的任务,并包含它们的实例,我们可以在用户的Simulink项目文件夹中本地修改这些实例,而无需覆盖Aerospace Blockset中形成的示例文件。
让我们简要介绍仿真模型。该模型由六个橙色的六个主要子系统块组成,其中包含它们中动态系统的数学表示。存在机身动态的数学表示,传感器,环境和飞行控制系统。还有用于为模拟提供输入命令并获得可视化输出的块。
这里的四个子系统是变体子系统,这让我们可以在不同的子系统选择之间切换,因此它们的名字是变体的。在这种情况下,称为飞行控制系统FCS的模块不是一个变体子系统,而是一个建模子系统,这意味着模块内容引用了另一个Simulink模型。万博1manbetx在这个模型的顶层有几个其他的块来设置模拟的速度,另一个块用来使模拟在达到不希望的飞行条件时停止。
要运行无人机的模拟,您需要做的就是按下Play,您将看到Simulink获得系统在T Final中指定的时间响应,然后停止。万博1manbetx您可以使用set pace块来改变模拟运行的速度。
例如,您只能为每个实际第二秒运行第十秒的秒的秒,并将采样时间增加到100微秒,以可视化二址器的慢动作动画。运行模拟时,您可以看到Minidrone的3D模型从地面脱落并悬停。
如果双击可视化子系统,您将找到另外几个选项。首先,来自各种状态的信号连接到带有航空航天块集的标准驾驶舱飞行仪器显示器。该仪器将显示测量飞机变量,在这种情况下,人工视野,高度计,空速指示器,标题指示灯,爬升速率指示器和四个推进器中的每一个的RPM指标。在提取器飞行仪器子系统中找到相关信号。
其次,可视化块包括用于捕获或显示仿真结果的各种子系统选项。默认情况下,变体活动是一个Simulink 3D动画选项。万博1manbetx变量VSS可视化控制的其他三个选项是变量和状态的时间响应可视化范围;将工作空间中的时间响应变量保存在MATLAB工作空间中,并对其进行飞行后仿真分析,例如,用Aerospace Toolbox;还有飞行装置,一种飞行模拟器,在这个第三方和开源模拟器中渲染飞机动力学,通常在航空航天工业中使用。
在本网络研讨会中,我们将依靠Simulink 3D动画渲染选项使用为所有S万博1manbetximulink用户启用的演示许可证。我们将看到飞行模拟输入中的变化如何导致飞机仿真行为的变化。
要修改四轴飞行器的飞行模拟输入,可以使用一个指挥子系统。它还有其他四个变体,可以让您选择用于模拟的输入信号的来源。有Simulink构建器方法万博1manbetx、操纵杆选项、数据输入变体,以及从电子表格文件中读取数据。
命令子系统的默认变体采用信号构建器,这是我们在本次网络研讨会中使用的一个简单选项。这种变体可以让你定义XYZ和偏航、俯仰、滚转指令作为飞行控制器的参考信号。你可以在信号生成器上修改任何这些信号,并在模拟中观察飞机行为的变化。您将使用在本次网络研讨会中已经介绍过的可视化选项之一。
飞行控制器在FCS子系统中找到。当我们双击它时,它会打开此块参考的另一模型。这被称为模型子系统,它包括在基本Simulink库中。万博1manbetx在这种情况下,该模型子系统包含并封装了最终将部署在无人机上的飞行控制算法。
请记住,仿真模型位于基于模型的设计中心,并在我们在真正的硬件上试用它们之前有助于测试模拟中的设计。这有助于在我们准备在硬件上测试它之前改进控制设计,并有助于在测试期间防止各种问题,包括损坏和崩溃。您只能想象MBD的重要性,系统的开发和生命周期比Minidrone更为重要。
让我们看看我们的飞行控制系统内部。子系统中的算法是我们的控制器可以包括的内容的示例。该飞行控制器设计是由Sertac Karaman教授和法比安峰的麻省理工学院的工作。它利用该飞机命令包含硬件抽象层的感官输入,并为电机提供输出和崩溃预测标志,帮助我们停止模拟或飞行,以便在检测到稳定性损失。
请知道本次网络研讨会中的飞行控制器是Aerospace Blockset附带的四轴飞行器项目示例的一部分,仅用于此目的。如果你对设计你自己的状态估计器和飞行控制器感兴趣,你可以从探索飞行控制系统块中的控制器和估计器模型子系统开始。
然而,飞行控制设计超出了本次网络研讨会的范围,但是我们邀请你们使用这些子系统来提出自己的设计。例如,麻省理工学院的学生使用一个控制器子系统来实现状态反馈控制器和LQR控制器,作为本科生和研究生反馈控制课程的一部分。
一旦飞行控制器被设计出来并进行了仿真调整,您可能需要生成代码并在小型无人机硬件上对其进行测试。现在,我们有了更好的理解无人机的仿真模型和它是如何工作的,我们可以继续,得到更多的手与硬件。
在本次网络研讨会中,您将了解如何设置部署微型无人机所需的硬件和无线通信。为了在PARROT小型无人机上部署飞行控制器设计,您首先需要使用Add-On Explorer下载硬件支持包,并遵循提供的硬件设置步骤。万博1manbetx这将帮助您安装PARROT提供的定制固件,让Simulink用户设计并将自己的飞行控制算法与飞机软件系统集成。万博1manbetxFirmware更换通过micro-USB连接进行,可能需要大约5分钟。
替换固件后,根据操作系统,您应该遵循特定步骤,以便在主计算机和MiniDrone之间启用无线通信。适用于在Windows上运行的计算机®,您需要使用支持的芯片组和驱动程序启用蓝牙低能量接口,或使用USB加密狗与这些特性。万博1manbetx对于Windows,推荐的驱动程序是CSR和谐无线软件堆栈2.1.63.0。
对于支持-Windows,Mac和Linux的每个操作系统的每个操作系统万博1manbetx®- 支持包万博1manbetx文档包含更详细的设置和故障排除步骤。此外,对于某些特定配置,我们的技术支持团队提供了Matlab答案,可以帮助解决任何持久的连接问题。万博1manbetx
在使用无人机和使用控制器的任何飞行测试之前验证了蓝牙连接后,值得使用支持包装的模板来执行桌面测试,其中我们只移动螺旋桨。万博1manbetx为此,您可以通过在MATLAB命令窗口中输入Parrot_gettingStarted来打开模板,然后单击部署到硬件。
诊断查看器窗口提供有关代码生成、编译、文件传输和从属进程执行的信息。此时,模型就可以在无人机上运行了。要运行它,首先通过单击诊断查看器上的这里打开飞行控制用户界面,并选择设置您希望模型执行的持续时间。小心不要增加飞行控制UI上的功率增益在这个时候,因为螺旋桨可能产生足够的推力来启动一个不受控制的飞行。
接下来,通过单击“开始”,您将在Minidrone上执行算法。在这种情况下,循环中没有飞行控制器算法,我们只向电机发送信号,以确保工具链和蓝牙通信很好。
在已验证之后,我们可以通过单击停止来打断算法的执行。飞行控制用户界面让我们从Minidrone到当前目录下载飞行日志和遥控文件。检索这些文件进行记录和分析是一个很好的做法。一旦通过无人机测试了一个生成过程,我们现在可以准备好从航空航天块集示例下部署飞行控制器设计并执行实际的测试飞行。
飞行控制器设计准备好,无人机硬件设置和测试,我们现在覆盖飞行测试和分析部分的网络研讨会。首先,使用Aerospace Blockset示例,我们将设置硬件目标,专门为PARROT小型无人机部署代码,我们将确保我们已经启用了数据日志,以利用Simulink Coder提供的功能来记录传感器和飞行控制器信号,用于飞行后分析。万博1manbetx
然后,我们将执行第一次测试飞行,这与航空航天Blockset的支持包,你应该能够在短短几个小时或更少的复制。万博1manbetx然后,我将解释如何修改命令输入,以跟踪由信号生成器定义的高度参考信号,以及如何获取飞行数据进行分析和可视化。
回到包含Aerospace Bloc万博1manbetxkset示例的Simulink项目,从项目中设置硬件目标,您所需要的只是单击工具条上可用的快捷方式。然后,在四轴飞行器的飞行仿真模型上,双击FCS子系统。为了在飞机上启用数据记录,您可以在MATLAB命令窗口中输入以下内容。
当启用数据记录时,Simulink模型将尝试在飞行到存储的传感器飞行万博1manbetx控制器信号之前分配内存。请注意,Minidrone只能存储如此多的数据每种航班,并减少飞行持续时间参数T决赛,将让您控制分配多少内存。
如果需要的内存超过了无人机的容量,当按下飞行控制用户界面上的Start时,Simulink模型将不会执行。万博1manbetx有了这些考虑,我们准备用Aerospace Blockset尝试飞行控制船。然而,其他重要的注意事项如下。
所有的飞行都是测试飞行。你应该测试飞行控制器的设计和输入满足性能标准的模拟。在一个足够大的房间里进行测试飞行,例如,一个至少20英尺× 20英尺× 10英尺高的房间。采取合理的注意措施,防止对飞机、其周围环境、观察者和你自己造成损害。
在超声波敏感度方面,由于超声波信号在墙壁和家具上反弹,小房间可能会导致飞行稳定性问题。地面材料,例如地毯,可能会吸收超声波信号并影响飞行稳定性。
在相机灵敏度上,地面上的图案可能会影响光流性能和飞行稳定性。照明条件也可能影响光流和图像处理性能和飞行稳定性。记住这些考虑,让我们先尝试一下Aerospace Blockset例子中的悬停飞行。
我们点击Deploy to Hardware。让Sim万博1manbetxulink构建并将飞行控制器转移到无人机。打开飞行控制用户界面并单击Start。确保任何其他参与者都知道测试飞行即将发生。对于每次飞行,最佳做法是下载飞行日志和带有飞行数据的MAT文件,以便在飞行后进行分析。
现在,我将一点修改飞行控制系统并引入参考信号,以将它们部署到无人机。我将尝试在左右方向上改变Y轴的参考信号,并根据所示的方形信号使无人机变化位置变为飞行。对于此网络研讨会,我为飞行控制器创建了一个变体子系统,让我选择它作为选项。
选中后,我进行模拟,验证模拟中的预期行为,然后部署到硬件并进行测试。我在飞行控制UI中部署到硬件上。结果是这样的:无人机起飞并保持在一个中心位置,然后跟随给定的参考信号y。
飞行完成后,我从Minidrone中检索飞行日志和垫子文件。我们可以使用存储在垫文件中的数据来绘制和可视化传感器信号,方向,电动机输出,高度,轨迹,位置,速度,光学流速和电池充电百分比。
类似地,我创建了另一个变体系统,改变z轴的参考信号,并使无人机改变高度与显示的飞行轮廓。再次,我进行了模拟,以验证预期的行为,然后将其部署到硬件上进行测试。
我部署到硬件。打开飞行控制UI,这是结果。无人机从一米的高度起飞并爬到两米,再次下降一米,然后下降到地面。
最后,让我们谈谈直接从Simulink提供高度设定点。万博1manbetx我们称之为在外部模式下运行飞行控制器,该模式在硬件上构建和部署Simulink模型,同时允许在从框图执行期间更新某些参数。万博1manbetx
在这种情况下,我们使用飞行控制器的这种变体,并利用这个仪表板块手动修改无人机飞行期间的高度。我部署到硬件上。打开飞行控制UI,这里是测试飞行的结果。无人机起飞到大约一米的高度,然后遵循我从Simulink编辑器发送的高度命令。万博1manbetx
您可以自己尝试对参考信号进行一些其他更改,以测试这个飞行控制器。然而,本设计只是一个起点,例如没有利用大气压力传感器。你会对飞行控制器做什么改变让它使用大气压力传感器变得更可靠?
该网络研讨会的目标是提供使用Simulink模拟构建并飞行一种可以用于了解控制系统和基于模型的设计的手掌型无人机的进入资源。万博1manbetx现在,您可以挖掘飞行控制系统,并提出自己的飞行控制策略,设计的模拟和测试航班。现在,您还可以使用基于模型的设计和开发技术开始使用基于模型的设计和使用Simulink的验证和验证工作流的工具来开始导航V图。万博1manbetx万博1manbetx
最后,这里有一些额外的资源,您可以用来了解有关基于模型的设计,Simulink,Simulink支持包,Simulink Support Package for Parrot MiniDrones,Ae万博1manbetxrospace Bolds万博1manbetxet,以及如何通过Matlab Central™,文件交换和Matlab答案加入社区。.感谢您加入我们。我们期待着在未来看到您的项目。