嗨,大家好。我的名字是格雷格,我使用Simulink产品市场是在Math万博1manbetxWorks公司。在本次网络研讨会,您将学习如何Simulink的让你设计,仿真,并利用S万博1manbetximulink一个手掌大小的四轴飞行器部署飞行控制。它支持包万博1manbetx鹦鹉minidrones航天模块库。该研讨会旨在为入门资源,将引进Simulink中,一个四轴飞行器硬件,以及如何使用Simulink的附加工具来开发飞机的建模和仿真完整的工作流万博1manbetx程,以部署和飞行分析。让我们开始吧。
我们将采用该大纲取得今天的研讨会的目标。将有大约Simulink的一个简单的介绍,它的附加工具,Simulink的支持包鹦万博1manbetx鹉minidrones,以及硬件本身。万博1manbetx我会提到这个研讨会是如何被使用在校级精品课程和其他培训活动,以配合教学和学习目标。
我将向您展示如何使用航空航天区块集来建模和模拟飞机和其他依赖于大气和其他环境条件的机载车辆。然后我们将介绍如何将这个模拟带到现实世界并在PARROT的微型机上部署飞行控制算法。为此,我将展示如何替换飞机固件,如何使用航空航天块集中的ready-to-sim部署和飞行示例来驾驶微型无人机,以及如何使用Simulink编码器记录飞行数据。万博1manbetx然后我将结束网络研讨会。
让我们来看看我们在这个网络研讨会中使用的软件工具和材料。对于这个网络研讨会,我使用MATLAB®发行2017b, Simuli万博1manbetxnk,和Simulink支持包鹦鹉万博1manbetx迷你,航空航天块集,Simulink编码器,和Simulink 3D动画™。请注意,Simulink中包含了Simulink 3D动画的演示许可证,万博1manbetx它允许我们在不修改所使用的虚拟现实文件的情况下在3D中可视化模拟。
对于硬件,我用了,鹦鹉一个滚动蜘蛛minidrone,护目镜,包括在minidrone,一个USB加密狗,一个微型USB电缆支持蓝牙万博1manbetx®低能耗的驱动器,额外的电池,包括一个微型无人驾驶飞机,和一个充电器。本次网络研讨会提供的材料也适用于鹦鹉曼波微型无人驾驶飞机,该飞机于2018年1月获得支持。万博1manbetx
对于这个介绍,还有一些我想盖六个问题。这应有助于大家加快速度就需要这个研讨会的背景,并邀请您进一步调查。
好吧。什么是基于模型的设计?基于模型的设计是一个过程,实现了快速和动态的系统,包括控制系统,信号处理,与通信系统的成本效益的发展。在基于模型的设计,系统模型在开发过程的中心,从需求开发到设计,实施和测试。该模型是一个可执行的规范,你不断在整个开发过程中提炼。
什么是Simulink?万博1manbetxSimulink是一个用于多域仿真和基于模型设计的框图环境。它支持系统级设计、仿真、自动代码生成以及嵌入式系统的连续测试和验证。Simulink提供了一个图形编辑器、可自定义的块库以及用于万博1manbetx建模和模拟动态系统的解算器。
什么是鹦鹉学舌?鹦鹉微型无人机是超小型飞行动力系统,有四个螺旋桨,使其成为四旋翼机,它们可以通过智能手机或平板电脑进行控制。多亏了自动驾驶仪,它们可以变得非常稳定。它们可以组合来自三轴陀螺仪和三轴加速度计的信号、飞行高度的压力传感器、近地面精确飞行的超声波传感器以及可用于光流和图像处理的下向摄像机。
现在知道什么是Simulink的,什么是万博1manbetx鹦鹉minidrones,什么是Simulink的支持包鹦鹉Minidrones?万博1manbetx该支持包万博1manbetx是一个正式的MathWorks公司的硬件支持附加基于Simulink的,可以让你设计,模拟和部署飞行控制算法鹦鹉minidrones无线蓝牙。万博1manbetx它可以让你使用车载传感器来开发,模拟和测试飞行控制算法的组合。随着一只鹦鹉minidrone和Simulink的支持包,你有一万博1manbet万博1manbetxx个低成本的,手掌大小的实验室,在课堂上或在家里进行反馈控制实验。
什么是Simuli万博1manbetxnk的插件和功能是什么?他们提供什么?万博1manbetxSimulink的加载项是MathWorks工具展开Simulink中提供的功能。在Sim万博1manbetxulink产品系列包括附加的基于事件的建模,物理建模,控制系统,信号处理和无线通信,代码生成,实时仿真和测试,验证和确认,三维可视化和报告工具。
来自40多个Simulink的附加工万博1manbetx具,我想着重于两个,我们将在本次网络研讨会使用。航天模块组是一种Simulink的附加工具,扩展万博1manbetx了其功能与建模和仿真飞机,飞船,火箭,推进系统和无人驾驶航空器块。
万博1manbetxSimulink Coder是一个附加工具,它可以从Simulink图表Stateflow中生成和执行C和c++代码®图表和MATLAB功能。生成的源代码可用于实时和非实时应用,包括模拟加速度,快速原型和硬件在环。
为什么MathWorks要开发Simulink来支持万博1manbet万博1manbetxxPARROT迷你rone ?原因有以下三点。首先,帮助教授和教师培训学生使用无人机作为流行的硬件平台进行基于模型的设计。第二,帮助行业中的创新者理解并采用基于模型的设计,使用经过验证的高等教育解决方案。
第三,产生约基于模型的设计的关键,现实世界的应用程序的影响,利益和意识。我们希望您能充分利用这些功能的优势,学习如何可以将这些应用到你的家教室或项目,并帮助你起床,在小时,而不是几个星期或几个月运行。
除了这个网络研讨会,并在问题或与您的minidrone工作的故障排除步骤的情况下,我们提供详细的陪同下MATLAB答案™,可以从硬件目录页面发现文件的步骤。让我们继续看看我们如何能够利用航天模块库来建模和仿真无人机。
航空区块集提供了一个现成的模拟建造和飞行的例子,我们以此为基础的网络研讨会。在本节中,您将学习如何从Aerospace Blockset示例中查找和打开quadcopter项目的实例。您将简要了解示例如何使用此应用程序的最佳实践,演示如何运行无人机模拟,如何可视化结果,如何修改模型以自定义飞行模拟输入,以及航空航天块集示例提供的飞行控制器概述。
您可以通过在MATLAB命令窗口中输入文档,选择航天模块库,点击例子,滚动到四轴飞行器项目打开仿真模型。在文档页面,你可以找到关于这个例子的细节。您也可以直接通过输入在MATLAB命令窗口下面打开它。
一旦项目环境配置,将有三个新的窗口:Simulink的项目名称四轴飞行器,在飞行四轴飞行器仿真模型的顶层,并为员工的Simulink 3D动画无人机可视化窗口万博1manbetx。Simu万博1manbetxlink的项目是环境,让我们整理文件,设置和与此相关的例子用户定义的任务,并包含其中的一个实例,我们可以对用户的Simulink项目文件夹在本地修改,而不会覆盖形航天模块库示例文件。
让我们简单地看一下仿真模型。该模型由六个主要的子系统块组成,其中包含动态系统的数学表示。有一个数学表示的动态机身,传感器,环境,和飞行控制系统。还有一些块用于向仿真提供输入命令并获得可视化输出。
这里的子系统四是可变的子系统,它让我们的各种子系统的选择之间进行切换,因此,他们的名字的变体。称为FCS的飞行控制系统的块,在这种情况下,不是一个变体子系统,但它是一个建模子系统,这意味着该块内容提及另一个Simulink模型。万博1manbetx有一对夫妇的其他块在这个模型设置模拟的步伐的顶层,另一个使仿真停止的情况下,达到不希望的飞行状态。
要运行无人机的模拟,所有你需要做的就是按下播放,你会看到Simulink中获取系统在T决赛指定的持续时间的时间响应,然后停止。万博1manbetx您可以使用set步伐块更改用于模拟运行速度。
例如,对于每一真实秒,您只能运行十分之一秒的模拟,并将采样时间增加到100微秒,以可视化四轴飞行器的慢动作动画。运行仿真时,您可以看到微型无人机从地面起飞并悬停的三维模型。
如果双击可视化子系统,您将发现另外两个选项。首先,来自各州的信号被连接到标准驾驶舱飞行仪表显示器上,该显示器可与航空航天区块集一起使用。该仪器将显示飞机变量的测量值,在这种情况下,包括人工地平线、高度计、空速指示器、航向指示器、爬升率指示器和四个推进器的每一个转速百分率指示器。相关信号在提取飞行仪表子系统中被发现。
其次,可视化模块包括用于变体子系统选项来捕获或显示模拟结果。变体默认激活是一个Simulink的3D动画选项。万博1manbetx由可变VSS可视化控制的其他三个选项范围的可视化的变量和状态的时间响应;工作空间以保存飞行后仿真分析在MATLAB工作区的时间响应的变量及其装置,例如,与航天工具箱;和飞行齿轮,飞行模拟器渲染飞机动力学在此第三方和开源模拟器在航空航天工业中常用的。
在本次网络研讨会中,我们将使用为所有Simulink用户启用的演示许可证来万博1manbetx依赖Simulink 3D动画渲染选项。我们将看到飞行模拟输入的变化如何导致飞机模拟行为的变化。
要修改四轴飞行器的飞行模拟输入,可以使用命令子系统。这个版本还有其他四个变体,可以让您选择用于模拟的输入信号的来源。有Simulink构建器方法万博1manbetx、操纵杆选项、数据输入变量和从电子表格文件读取数据。
用于命令子系统的默认变种采用信号生成器,我们在这个网络研讨会使用一个容易的选择。这种变体可以定义XYZ和YAWL,俯仰,滚动命令作为飞行控制器的参考信号。您可以修改任意这些信号,对信号建设者和观察模拟飞机行为的变化。您将使用已经包含在本网络研讨会可视化选项之一。
飞行控制器在FCS子系统中。当我们双击它时,它会打开另一个模型,这个块会对它进行引用。这称为模型子系统,它包含在基本的Simulink库中。万博1manbetx在这种情况下,这个模型子系统包含并封装了最终将部署在无人机上的飞行控制算法。
请记住,仿真模型是基于模型的设计的中心,在我们在实际硬件上尝试之前,它有助于在仿真中测试设计。这有助于在我们准备在硬件上测试之前完善控制设计,也有助于防止测试期间出现各种问题,包括损坏和崩溃。你只能想象MBD对系统开发和生命周期的重要性,比小型无人驾驶飞机更为重要。
让我们看看我们的飞行控制系统里有什么。子系统中的算法是我们的控制器可以包含的一个例子。这个飞行控制器的设计来自麻省理工学院的Sertac Karaman教授和Fabian Riether教授的工作。它利用飞机指令的感官输入包含硬件抽象层,并提供输出到发动机和一个坠毁预测标志,帮助我们停止模拟,或飞行,在情况下失去稳定的检测。
请知道,在这个研讨会的飞行控制器是随航天模块组的四轴飞行器工程实例的一部分,仅用于这一目的。如果你有兴趣在设计自己的状态估计和飞行控制器,可以通过探索在飞行控制系统模块中的控制器和估计模型子系统启动。
然而,飞行控制设计超出了本次网络研讨会的范围,但我们邀请您使用这些子系统来提出您自己的设计。例如,麻省理工学院的学生使用了一个控制器子系统来实现状态反馈控制器和LQR控制器,作为本科生和研究生反馈控制课程的一部分。
一旦飞行控制器的设计和仿真调整,可能要生成代码,测试它的minidrone硬件。现在,我们有一个更好的了解无人驾驶飞机仿真模型以及它是如何工作的,我们可以继续获得更多的实践与硬件。
本节的网络研讨会带您通过设置所需的硬件和无线通信部署飞行控制器到微型机上的步骤。为了在PARROT minidrone上部署飞行控制器设计,首先需要使用Add-On Explorer下载硬件支持包,并按照提供的硬件设置步骤操作。万博1manbetx这将帮助您安装PARROT提供的定制固件,以便Simulink用户设计并将自己的飞行控制算法与飞机软件系统集成。万博1manbetx固件更换通过微usb连接进行,可能需要大约5分钟。
固件更换后,根据您的操作系统,您应该遵循以下特定步骤来启用主机和小型无人驾驶飞机之间的无线通信。对于在Windows上运行的计算机®,你将需要启用蓝牙低能量接口与支持芯片组和驱动程序或使用USB适配器与这些特点。万博1manbetx对于Windows,推荐的驱动程序是CSR和谐无线软件栈版本2.1.63.0。
对于每个支持Windows、Mac和Linux的操作系统万博1manbetx®-支持包文万博1manbetx档包括更详细的设置和故障排除步骤。此外,对于某些特定的配置,我们的技术支持团队已经提供了MATLAB解决方案,可以帮助解决任何持久性连接问题。万博1manbetx
在用无人机验证蓝牙连接之后,在设计控制器的任何飞行测试之前,值得使用支持包中包含的模板来执行桌面测试,其中我们只移动螺旋桨。为此,您可以通过在MATLAB命令窗口中输入parrot gettingstarted并单击DeploytoHardware来打开模板。万博1manbetx
诊断查看器窗口提供了有关代码生成,编辑,文件传输,以及无人机的过程中执行的信息。在这一点上,该模型是准备在无人驾驶飞机上运行。要运行它,首先点击这里上的诊断查看器和可选设置为您会喜欢的模式来执行持续时间开启飞行控制用户界面。要小心,在这个时候不会增加飞行控制UI功率增益为螺旋桨可能会产生足够的推力来启动一个不受控制的飞行。
下一步,点击开始,你将在小型无人驾驶飞机上执行你的算法。在这种情况下,回路中没有飞行控制器算法,我们只向马达发送信号,以确保工具链和蓝牙通信正常工作。
在这些被验证之后,我们可以通过单击Stop来中断算法的执行。飞行控制用户界面允许我们将飞行日志和包含飞行数据的MAT文件从小型无人驾驶飞机下载到当前目录。检索这些文件进行记录和分析是一种良好的做法。一旦用无人机测试了共生成过程,我们现在就可以准备部署航空航天模块集示例中的飞行控制器设计,并执行实际的试飞。
飞行控制器设计就绪,无人机硬件设置和测试完成后,我们现在就开始网络研讨会的试飞和分析部分。首先,使用Aerospace Blockset示例,我们将设置硬件目标来部署代码,具体到PARROT minidrone,我们将确保启用了数据日志功能,利用Simulink编码器提供的功能来记录传感器和飞行控制器信号,以便进行飞行后分析。万博1manbetx
然后,我们将进行首次试飞,这与航空航天模块库方面的支持,你应该能够在只有几个小时甚至更短重现。万博1manbetx然后我将解释如何修改命令输入来跟踪信号生成器以及如何获取飞行数据进行分析和可视化所限定的高度参考信号。
让我们再回到含有航天模块组例如建立从万博1manbetx项目的硬件目标Simulink的项目,你需要的是点击该工具条提供的快捷方式。然后,在四轴飞行器飞行仿真模型,对FCS子系统双击。为了使数据记录在飞机上,你可以输入在MATLAB命令窗口下。
当启用数据记录,Simulink模型将尝试飞往存储的传感器飞行控制器万博1manbetx信号之前分配内存。请注意,minidrone只能存储如此多的数据每次飞行,并减少了飞行时间参数,T最终,会让你控制了多少内存分配。
如果需要的内存超出无人机能力,飞行控制用户界面上按下开始时,Simulink模型将不会执行。万博1manbetx考虑到这些因素,我们准备尝试与航天模块组的飞行控制器的船。然而,其他重要的考虑因素有以下几方面。
所有航班的飞行试验。您应该测试飞行控制器的设计和满足性能标准的模拟输入。在一个房间里是足够大的,例如,10英尺高的房间是至少20英尺×20英尺进行飞行试验。采取合理的措施,以防止飞机,它的周围,观察员,和自己的伤害。
在超声的敏感性,小房间可以从反弹在墙壁和家具的超声信号引起的飞行稳定性问题。地面材料,例如地毯,可以吸收超声波信号,并影响飞行的稳定性。
上摄像机的灵敏度,在地面上的图案可能会影响光流性能和飞行稳定性。照明条件也可影响光流和图像处理性能和飞行稳定性。牢记这些方面的考虑,让我们先试的航天模块组例如悬停飞行。
我们在部署点击硬件。让Sim万博1manbetxulink的构建和飞行控制器转移到无人机。打开飞行控制用户界面,并点击开始。确保所有其他参与者都意识到了飞行试验是将要发生的。对于每一次飞行,它是下载飞行日志,并与飞行后分析飞行数据的MAT文件的最佳实践。
现在,我会修改飞行控制系统一点,在参考信号带到它们部署到无人机为好。我将设法改变用于在左,右方向的y轴的基准信号,并根据示出的方波信号使无人驾驶飞机改变位置到飞行。对于这个研讨会,我创建了飞行控制器,让我选择这个作为一个选项变体子系统。
一旦选择,我模拟,验证模拟预期的行为,然后部署到硬件和测试。我部署到硬件上的飞行控制UI。而这里的结果:无人驾驶飞机起飞,并持有到中心位置,然后遵循y中的给定的参考信号。
飞行完成后,我从小型无人驾驶飞机上检索飞行日志和MAT文件。我们可以使用存储在MAT文件中的数据来绘制和可视化传感器信号、方向、电机输出、高度、轨迹、位置、速度、光流速度和电池充电百分比。
类似地,我创建了另一个变体系统,它改变z轴的参考信号,并使无人机根据显示的飞行剖面改变高度。我再次模拟验证预期的行为,然后部署到硬件进行测试。
我部署到硬件。打开飞行控制UI和这里的结果。无人机起飞海拔高度和攀登一米到两米,再次下降一米,然后向地面下降。
最后,让我们讨论直接从Simulink提供高度设置点。万博1manbetx我们将其称为在外部模式下运行飞行控制器,该模式在硬件上构建和部署Simulink模型,同时允许在从框图执行过程中更新某些参数。万博1manbetx
在本例中,我们使用飞行控制器的这种变体,并使用此仪表板块在飞行期间手动修改无人机的高度。我部署到硬件上。打开飞行控制UI,下面是测试飞行的结果。无人机起飞到大约1米的高度,然后按照我从Simulink编辑器发送的高度指令飞行。万博1manbetx
您可以自己尝试对参考信号进行一些其他更改,以测试这个飞行控制器。然而,这个设计只是一个起点,并没有利用大气压力传感器,例如。你会对飞行控制器做些什么改变,使它在使用大气压力传感器时更加坚固?
此次研讨会的目的是提供利用Simulink来模拟共建的入门资源和飞一个手掌大小的无人驾驶飞机,你可以用它来了解控制系统和基于模型的设计。万博1manbetx现在,您可以深入到飞行控制系统,并拿出自己的飞行控制策略,设计模拟和飞行试验。现在,你也可以开始导航使用基于模型的设计的V曲线图,并制定使用任何支持仿真,代码生成,并使用Simulink验证和确认工作流程的工具技术。万博1manbetx万博1manbetx
最后,这里有一些额外的资源,你可以用它来了解更多关于基于模型的设计,Simulink中,Simulink的支持包鹦鹉Minidrones,航天模块库,以及如何通过MATLAB中心加入社区™,文件交换,和万博1manbetxMATLAB解答万博1manbetx。感谢您加入我们。我们期待在未来的项目中。