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