从系列:无人机仿真和控制
布莱恩•道格拉斯
这个视频描述了无人机的一个好的模型和环境在可用于模拟和测试。
我们将展示如何非线性和线性模型都需要设计和测试飞行控制软件。
我们也走过一个例子仿真软件金宝app®和描述的方法创建和组织四轴飞行器模型。最后,我们将演示如何模型匹配的实际飞行测试,我们跑上一节。
在一节中,我们给出了飞行功能代码的形式模型中的四轴飞行器模型,我们表明,它成功地鹦鹉Minidrone徘徊。金宝app但是如果我们不得不开发自己的代码或修改吗?我们如何设计和测试的代码在一个安全的方式?为此,我们需要一个好的模型的微型无人驾驶飞机和环境的操作。这就是我们要讨论在这个视频。我是布莱恩,欢迎来到MATLAB技术说话。
为了理解一个模型可以帮助我们,让我们看看一个很简单的框图。在这第一块,我们有飞行控制软件。这代表了所有的控制系统软件,我们回顾了在前面的视频。这个代码接口与其他微型无人机的固件,正如我们之前谈到的它有两个输入,原始传感器读数和参考命令或一组点,和两个输出,电机速度命令和停止标志。记住,上一节,我们将参考命令在飞行代码所以这个输入消失,只剩下一个。
第二块我们称之为“模型”,它代表一切,任何不是飞行控制代码。这包括其余的微型无人机的固件,硬件,大气中飞行…一切。但我们会进入,在一点点的细节。在一个非常基本的水平,模型输入汽车命令和停止标志,使得一些计算和输出传感器测量。这样,在飞行模型包装代码并提供反馈回路。
想象我们有这个模型非常准确,完全代表现实。旁观者,这将是不可区分的结果是否来自实际的硬件或如果它来自这完美的模型。如果是这样我们可以使用模型和模拟微型无人机性能非常有信心,当我们以后实际的硬件上运行的航班代码,它将具有相同的结果。只要我们满意的模拟性能,那么我们的设计就完成了。模拟性能的优点,我们可以快速地重置模型,把车辆在任何情况下我们想看到它。如果它确实不佳,我们进行必要的更改,我们不伤害任何硬件的过程。
不过,你可以想象一个完美的模型创建的现实是不可能的。幸运的是,我们不需要模型。诀窍就是找出模型中包括什么,离开了。有些知识是很容易的了解你的系统,以及它将如何运作。例如,我们可能不需要模型的代码打开和关闭前领导的。他们不会影响我们的控制系统。但也有很多其他的事情不那么明显,了解模型可能需要一点经验和调查。一个例子是是否模型机身结构作为刚体或灵活的身体。我们需要考虑结构的灵活性和振动模式?他们会显著影响我们的传感器测量或额外的逻辑模型中只会让问题变得更加复杂和仿真慢下来,没有任何明显的益处?
很难确切地知道什么模型和最初离开。通常情况是你最好的猜测开始,然后随着时间的推移,忠诚你的模型将增长直到你满意你的实验结果和模拟之间的匹配。
所以仿真验证系统的情况下,是很难或耗时的身体测试,只要模型充分反映了现实。但我们也使用一个模型来设计我们的控制系统。和控制设计是伟大的如果我们可以用线性分析工具,我们已经知道。不幸的是,我们的非线性模型用于模拟并不适合于线性分析和设计。为此,我们需要一个线性模型。实际上,我们需要做的是把非线性组件在我们的模型或估计线性组件。线性模型不能反映现实一样准确的非线性模型,但希望它仍然是足够准确的,我们可以用它来设计控制器。
我们将有两个不同的模型,可以使用基于模型的设计。我们有较低的忠诚,线性模型用于确定控制器结构和收益,我们有一个更高的保真度非线性模型用于模拟结果和验证系统。
总而言之,我们采取的步骤来设计我们的飞行控制软件使用基于模型的设计是这样的。
到目前为止,我一直在画这个模型作为这一块。但是而不是思考作为一个整体的计算通常是容易把它分成几个较小的模型代表特定的和离散系统。
minidrone,我们可以把它分成机身结构,传动装置,环境,和传感器。然后在这些模型是更小的子系统的模型就像重力模型或乌兹别克斯坦伊斯兰运动模型。
有很多原因方法考虑建模在这种等级的方法,而不是将所有的行为在一起成一个单一的模型。
你可以选择最意义的建模技术或为每个系统是最简单的。当你把它在一起你会有一个完整的模型,您可以使用包装在你的飞行控制软件和模拟结果。
就像一节飞行软件,我们没有时间在这个视频从头开始建立模型。然而,四轴飞行器的例子在航天块设置有一个模型,对我们的讨论提供了一个很好的起点。让我们在仿真软件,穿过它。金宝app
我将指出我们沿着一些有趣的事情,但是我想让你意识到这仅仅是一个视角如何开发一个四轴飞行器模型和不同的技术可以用来生成不同的子系统。
免责声明的方式,让我们跳进这个特殊的模型。
你可以看到我们有飞行软件,上节课我们讨论了缠绕在物体的模型,我们将使用模拟。在这个层次上我们有机身,环境,和传感器。机身被实现为一个变体子系统,这意味着在你运行模型可以选择哪个版本的机身要运行;非线性模型,我们将使用在这个视频模拟飞行,或线性机身模型,我们将使用在未来视频优化控制器。
让我们在非线性模型来看看它的峰值。主要有两个块,左边的交流模型包括致动器模型和环境干扰影响的模型系统。基本上,任何可以创建一个力或转矩计算在我们的微型无人驾驶飞机在这个块。力和扭矩数据输入到6自由度模型。这是一个带有航空航天blockset刚体模型。这是一个例子,使用现有的模型,而不是经历的努力写出自己刚体的运动方程。当然,你还需要确定具体参数等刚性系统质量和惯性。很可能,开发人员把这些信息从minidrone的CAD模型,然而,你可以建立一个物理测试来计算这些信息。
让我们回到模型的顶层,进入环境。在这里,再一次,这是一个变体子系统,我们可以选择选择恒定的环境变量或变量,基于位置的变化。我们要选择常数变量因为重力和空气压力不会改变和地面之间徘徊在不到一米。然而,如果你想模拟你的微型无人驾驶飞机能飞多高,然后选择改变环境会降低空气的压力和密度增大,最终将摊位无人机最大高度。所以选择一个模型或另一个取决于我们要测试。
好了,最后,我想去到传感器块中。你猜它,这也是一个变体子系统。在这里,我们可以选择动态传感器噪声或直通的传感器。我们会选择调优的引线选择下一节,但是这个模拟我们希望我们的传感器行为尽可能多的像真正的东西。这个子系统内部,有一些硬编码传感器校准数据和一块称为传感器系统,摄像机模型,乌兹别克斯坦伊斯兰运动,超声音和压力传感器。
好了,现在在这一点上,让我们返回到顶层和运行仿真,这样我可以给你输出是什么样子的。这个模型建立的三维可视化呈现微型无人机基于仿真的输出。就像上一节,我们试图让微型无人驾驶飞机盘旋离地面约7米。我们可以检查仿真数据和比较它保存的数据与实际测试我们跑上一节,但在时间的兴趣让我们直观地比较它们的差异。我会玩并排两个结果,我们可以看到,这个模型非常接近现实,至少对于这个测试条件。
现在我们有了一个我们喜欢的模型,我们可以用它来模拟故障安全并观察系统。例如,我们可以回去合计他传感器块和乌兹别克斯坦伊斯兰运动模型和改变陀螺的偏见。假设我们估计偏差差,真的比我们预期的三倍。现在我们可以看看我们的控制器响应模拟系统。
几乎相同的起飞,但陀螺固有误差迅速导致我们的无人机从水平滚过去,然后就跑了,最终撞向地面。所以我们学会了从这两件事;陀螺的偏见,如果是3倍更糟糕的是,无人机不会表现良好,和2,如果我们担心被这遥远的估计偏差,那么也许我们应该改变停止标志逻辑认识到我们置身事外,关闭无人机在我们伤害的硬件。
好了,这是一个快速预排,但是希望我给你足够的信息来评估模型详细或开始创建自己的无人机模型的过程。下一节,我们将看到如何使用这个模型的线性版本来优化PID控制器。如果你不想错过下一个科技视频说话,别忘了订阅这个通道。同样,如果你想看看我的通道,控制系统讲座,我覆盖更多的控制理论主题。谢谢收看,下次再见。