从系列:无人机仿真与控制
布莱恩•道格拉斯
四轴飞行器和其他类型的无人机非常受欢迎,部分原因是它们有复杂的程序控制系统,使它们在很少人为干预的情况下保持稳定和自主飞行。他们的四个螺旋桨以精确的方式旋转,以6个不同的自由度控制四轴飞行器。这是系列视频中的第一个,在这个系列中,我们将介绍设计一个控制系统的过程,该系统将使无人机在一个固定的高度悬停。
这段视频描述了鹦鹉曼波所配备的传感器®与MATLAB接口的微型无人机®和仿真软金宝app件®.未来的视频将展示我们如何使用这些传感器来估计系统的状态,如高度和速度。
这段视频还介绍了四个螺旋桨是如何配置的,并以特定的方式旋转,使无人机能够独立地滚动、俯仰、偏航和推进。
有了传感器、驱动器和无人机本身的动力学知识,我们将准备开发这个系列的其余部分的控制系统。
四轴飞行器和其他类型的无人机非常受欢迎。许多入门级飞行器都有复杂的控制系统,使它们能够在很少人为干预的情况下保持稳定和自主飞行。他们的四个螺旋桨以精确的方式旋转,以6个不同的自由度控制四轴飞行器。在本系列中,我们将介绍设计一个控制系统的过程,该系统将使无人机在一个固定的高度悬停。
即使您不打算编写自己的无人机控制器,了解这个过程也是值得的,因为我们将要遵循的工作流与几乎任何控制项目都需要的工作流程相似。
尽管如此,本系列使用无人机而不是其他平台,因为硬件的可访问性和现有的基础设施可用于编程和建模无人机。而且,它们飞起来真的很有趣。
记住这一点,让我们来到黑板前,建立我们的问题。我是Brian,欢迎来到MATLAB技术讲座。
在本系列中,我们关注的是四轴飞行器的控制策略,之所以这样命名是因为它们有四个旋转的螺旋桨。同样地,你可以添加更多的旋翼,它们就有了像六旋翼机和八旋翼机这样的名字。但所有这些无人机风格的飞行器都是旋转翼飞机家族的一部分,被称为旋翼飞机。这包括熟悉的直升机和不太熟悉的旋翼机,以及任何其他使用旋转机翼而不是固定风力来产生升力的飞行器。尽管这些都是旋转翼飞行器,它们有不同的动力学,因此有不同的控制策略。在这个系列中,我们将设计一个四轴飞行器的控制系统,鹦鹉微型无人机。
现在,为了解决控制问题,我们需要花点时间理解硬件。在这种情况下,硬件已经存在,所以我没有能力以任何有意义的方式轻松地更改传感器或驱动器。如果你是四轴飞行器开发项目的控制工程师,情况就不是这样了。您可能需要指导和影响设计过程,以便适当地设计硬件以满足您的控制需求。
因为我们的硬件已经构建好了,所以我们必须处理我们得到的东西。让我们来看看Minidrone,看看我们要用什么。我们从传感器开始。在底部,你可以看到两个传感器。有网格的那个是超声波传感器,用来测量垂直距离。它发出高频声波脉冲,测量脉冲从地板反弹到传感器的时间。从测量的时间,地板和无人机之间的距离可以计算。至少在13英尺的高度。之后,反射的声音就太软了,传感器无法接收到。
另一个传感器是摄像机。它以每秒60帧的速度拍摄图像,并使用一种叫做光流的图像处理技术来确定物体在一帧和下一帧之间的移动。从这种表观运动,微型无人机可以估计水平运动和速度。
微型无人机内部有一个压力传感器,可以间接测量高度。随着无人机的高度上升,气压略有下降。我们可以利用压力的微小变化来估计微型无人机的高度是如何变化的——它是上升还是下降?
最后一个传感器是惯性测量单元(IMU)。它由测量线性加速度的三轴加速度计和测量线性加速度的三轴陀螺仪组成
角速率。根据IMU和我们对重力加速度的了解,我们可以估算出迷你无人机相对于重力的姿态以及它的旋转速度。
这就是传感器。我们有四个传感器可以使用。我们可以使用超声波和压力来确定高度,IMU和相机来确定旋转和平移运动。
有了传感器,我们来谈谈驱动器。我们有四个发动机,每个都有螺旋桨。前面的两个是白色的,后面的两个是黑色的,但是这些颜色只是在那里告诉操作人员,当他们飞行时,无人机面对的方向。识别这些电机最重要的是它们的配置和旋转方向。这4个电机布置在一个X配置,相对于加号配置。这两者之间唯一的区别是当你俯卧起坐时,你向哪个马达发出指令。一般来说,两者的基本概念是相同的。
四轴飞行器马达结构中最巧妙的部分是旋转方向。相反的马达彼此以相同的方向旋转,但与另一对马达的方向相反。这是必要的,以确保推力,滚转,俯仰和偏航可以相互独立地控制。这意味着我们可以指挥一个动作而不影响其他动作。我们会看到为什么这个构型是正确的,至少对一阶来说是这样的。在现实中,无人机周围复杂的流体动力学意味着所有的运动都以一种很小的方式耦合在一起,但为了我们的目的,我们可以忽略这个细节,最终让我们的反馈控制系统纠正这个错误。
好了,现在我们来谈谈控制问题的概述。我们有我们的工厂-无人机本身-我们有四个驱动器,向系统注入力和扭矩。所以问题是,我们如何注入正确的输入到我们的系统中,使输出成为我们想要的结果。也就是说,我们能不能弄清楚如何以非常精确的方式操纵这四个马达,让无人机能够在三维空间中旋转和机动?
为了帮助我们,我们有一组传感器,可以用来直接或间接地估计我们的微型无人机的状态。系统状态是角位置,速率,高度和水平速度。我们正在评估的状态依赖于控制体系结构和我们试图完成的内容。我们将在本系列文章中更详细地阐述这一点。
最后,知识系统的状态和理解我们想要minidrone做什么,我们可以开发一个控制器,基本上一个算法在软件运行,这需要在我们的设置点和估计状态和计算这些精确的运动命令,将注入必要的力和力矩。这就是问题所在,但你可以想象,对于四轴飞行器来说,想出这个算法并不简单。
我们首先要注意的是这是一个欠驱动系统。我们只有4个驱动器,但我们有6个自由度三个平移方向,上下左右前后,三个旋转方向,滚转,俯仰和偏航。因为我们并不是每个动作都有一个致动器,所以我们已经知道在任何给定的时间,有些方向是无法控制的。举个例子,我们的迷你无人机不能向左移动,至少不能先朝那个方向旋转。这同样适用于向前和向后的动作。
我们将通过开发一个控制系统来解决驱动不足的问题,这个控制系统将旋转和推力结合起来,以实现总体目标。
现在让我们来看看我们是如何用4个马达产生推力、翻滚、俯仰和偏航的,以及为什么旋转方向可以让我们将一个运动从另一个运动中分离出来。
马达通过旋转螺旋桨产生推力,螺旋桨将空气向下推,产生向上的反作用力。如果将电机放置在一个力作用于物体重心的位置上,那么该物体将以纯平动的方式运动,完全不旋转。如果推力正好与重力相等且相反,那么物体就会在原地悬停。
一个距离重心一定距离的力既产生平移运动,也产生转矩,即绕重心旋转的力矩。如果我们的电机连接到酒吧,旋转,扭矩将保持不变,因为力和重心之间的距离保持不变,但力量不再总是重力方向相反,因此我们的酒吧将开始离开,从天上掉下来。现在,如果有一个反力,在重心的另一边,每个力都是重力的一半,那么这个物体会再次保持静止,因为力矩和力会相互抵消。
但是我们的驱动器在产生推力的时候并不是单纯地产生力。由于它通过旋转和扭转有质量的螺旋桨来实现推力,我们的驱动器也产生反方向的反力矩。如果两个马达都朝着同一个方向旋转,那么力矩就会加倍,棒子就会开始旋转。
为了抵消这个扭矩,我们可以让两个马达向相反的方向旋转。这在二维中很好,但是只有两个马达的棒子在三维中不能产生扭矩,也就是说我们不能转动棒子。所以我们增加了第二根带两个马达的棒来创造四轴飞行器。
在这种配置下,我们可以通过加速每台发动机,直到它们产生重力的1/4为止。只要我们有两个反向旋转的马达,旋转螺旋桨的扭矩就会平衡无人机就不会旋转。不管你把反向旋转的马达放在哪里,只要有两个在一个方向上,两个在另一个方向上。
但是四轴飞行器的开发人员选择了一个反方向旋转的发动机,所以这肯定是有原因的。还有。这是因为偏航,或者说是平面旋转运动,与滚转和俯仰相互作用的方式。
为了理解为什么这是正确的,让我们看看我们如何命令偏航。
我们有反向旋转的马达,这样系统就没有偏航力矩,所有的马达都以相同的速度旋转。所以,如果我们想让无人机绕垂直轴旋转,或者我们想让飞行器偏航,那么我们就需要创造一个偏航力矩通过让两个相同方向的马达减速让另外两个加速。通过适当的减速和加速,我们可以通过机动保持相同的总力,这样我们仍然在悬停和抵消重力,但是马达扭矩的总和不是零,飞行器会旋转。所以我们可以在不影响推力的情况下偏航。
现在让我们看看偏航是否影响滚转和俯仰。如果旋转的电机对在同一侧,那么减速一对和增加另一对将导致关于重心的力的不平衡,车辆将俯仰或滚动取决于电机对在哪一侧。然而,如果我们分开两个发动机,把它们放在无人机的两边,
然后这些力就会相互平衡。这就是为什么电机配置和旋转方向是如此关键。我们现在可以向四个发动机发送指令,这样飞行器就会偏航,而不是翻滚、俯仰或改变推力。
同样地,我们可以观察横摇和俯仰。为了滚动,我们要减少左右对中的一个,增加另一个,从而产生滚动力矩;为了俯仰,我们要减少前后对中的一个,增加另一个,从而产生俯仰力矩。这两种运动都不会对偏航产生影响,因为我们是在同一方向反向旋转电机,它们的偏航力矩会继续相互抵消。
为了改变推力,我们需要同时增加或减少四个发动机。这样,滚转,俯仰,偏航和推力是我们可以直接控制的四个方向。对发动机的指令将是所需推力,滚转,俯仰和偏航量的混合。
正如我们现在所知道的,我们可以通过将四个发动机设置为相同的速度来控制推力。然后我们可以通过增加两个旋转相同方向的电机,减少另外两个电机来产生偏航。节距是通过增加或减少前电机对,然后命令后电机对向相反的方向。Roll也一样,但是有左右对。这是我们简单的电机混合算法,可以在直观的滚转、俯仰、偏航和推力之间转换,以及较不直观的电机速度。
就像我之前说的,向前、向后、向左和向右移动都是非驱动的运动。我们绕过它的方法是首先旋转成一个姿态推力矢量部分在重力方向部分在移动方向以加速无人机在那个方向。如果我们想保持高度,那么我们就要增加推力,这样垂直部分仍然抵消向下的重力。
所以知道我们知道操作的四个汽车以特定的方式将使我们能够控制无人机在三维空间中,我们有一组传感器,我们可以用它来估计系统的状态,我们有机载处理器可以运行我们的控制器逻辑。
控制系统的开发最终将在Simulink中完成,我们将构建和仿真四轴飞行器模型,调整控制器,在闭环仿真中测试它,最后自金宝app动生成飞行代码,我们将加载到Parrot微型无人机的机载微控制器中。下一步就是弄清楚我们想要如何建立控制系统架构。
所以,如果你不想错过下一个科技演讲视频,别忘了订阅这个频道。此外,如果你想看看我的频道,控制系统讲座,我也涵盖了更多的控制理论主题。感谢收看,我们下期节目再见。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。