来自系列:无人机模拟和控制
布莱恩道格拉斯
Quadcopters和其他风格的无人机非常受欢迎,部分原因是它们具有精致的编程控制系统,使它们能够稳定,自主飞行,具有很少的人为干预。他们的四个螺旋桨以精确的方式旋转,以控制六个不同程度的自由度。这是一个系列中的第一个视频,我们通过设计一个控制系统的过程,该控制系统将获得一个无人机来悬停在固定的高度。
这段视频描述了与Mambo一起出现的传感器,鹦鹉®minidrone与matlab接口®和模拟金宝app®。未来的视频将展示我们如何使用这些传感器来估计系统状态,如高度和速度。
该视频还描述了如何以特定方式配置和旋转四个螺旋桨,使无人机独立滚动,俯仰,偏航和推力。
通过了解传感器,执行器和无人机本身的动态,我们将准备好在该系列的其余部分开发控制系统。
Quadcopters和其他风格的无人机非常受欢迎。许多甚至进入级车辆都有复杂的控制系统编程到它们中,让它们稳定,自主地自主地飞行,具有很少的人的干预。他们的四个螺旋桨以精确的方式旋转,以控制6种不同程度的自由度的Quadcopter。在这个系列中,我们将继续设计一个控制系统,该控制系统将获得一个无人机来悬停在固定的高度。
即使您不打算编写自己的无人机控制器,值得了解该过程,因为我们要遵循的工作流程类似于您需要的工作流程几乎是任何控制项目。
有了这一系列,这个系列是使用无人机而不是其他平台,因为硬件是如何访问的,并且可用于编程和建模无人机的现有基础架构。此外,他们真的很有趣。
所以考虑到这一点,让我们前往黑板并建立我们的问题。我是布莱恩,欢迎来到Matlab技术谈话。
在本系列中,我们专注于Quadcopter的控制策略,因为它们的四个旋转螺旋桨而命名。同样,您可以添加更多转子,并且它们像六顶opropter和八端口等名称一样。但所有这些无人机样式飞行机都是整个旋转翼飞机的一部分,称为旋翼飞机。这包括熟悉的直升机和不太熟悉的自动赎出以及使用旋转机翼而不是固定风的任何其他飞行机器以产生升力。尽管这些都是旋翼车辆,但它们具有不同的动态,因此具有不同的控制策略。对于这个系列,我们将设计为Quadcopter的控制系统,鹦鹉Minidrone。
现在,为了建立控制问题,我们需要花一点时间了解我们的硬件。在这种情况下,硬件已经存在,因此我没有能够以任何有意义的方式轻松地改变传感器或执行器。如果您是支持Quadcopter开发程序的控制工程师,那就是这种情况。您可能会有望引导和影响设计过程,以便硬件适当旨在满足您的控制要求。
由于我们的硬件已经建成,因此我们必须处理给我们的内容。所以让我们来看看迷你经历,看看我们必须与之合作。我们将从传感器开始。在底部,有两个传感器可以看到。具有网格的一个是超声传感器,用于测量垂直距离。它发出高频声音脉冲,衡量脉冲从地板上弹出的时间并返回传感器。从测量的时间,可以计算地板和无人机之间的距离。高度至少约13英尺。之后,反射声音对于传感器来拾取太软。
另一个传感器是相机。它在每秒60帧中拍摄图像,并使用称为光学流的图像处理技术,以确定对象在一帧和下一个帧之间的移动方式。从这种明显的运动中,迷你酮可以估计水平运动和速度。
在迷你夹内部有一个压力传感器,间接测量高度。随着无人机在高度爬升,气压略有下降。我们可以用这种轻微的变化压力来估计迷你官的海拔高度如何变化 - 它上升到了吗?
最后一个传感器是惯性测量单元,或简短的IMU。这由3轴加速度计组成,可测量线性加速度和3轴陀螺仪的测量
角率。从IMU,以及由于重力引起的加速度的知识,我们可以估计迷你符号相对于重力的态度以及它旋转的速度有多快。
这就是传感器。我们有这四个传感器可以与之合作。我们可以使用超声和压力来确定高度和IMU和相机以确定旋转和平移运动。
随着传感器所涵盖,让我们谈谈我们的执行器。我们有四款电机,每个电机都有自己的螺旋桨。前两者是白色的,背部两个是黑色的,但颜色只是在那里向操作员指示无人机在飞行时所面对的方式。识别这些电机的最重要的事情是它们的配置和旋转方向。这4个电机以x配置布置,如加上配置所处。这两个唯一的区别是您在投球和滚动Minidrone时发送命令的电机。通常,潜在的概念对于两者都是相同的。
Quadcopter的最巧妙的部分是旋转方向。相对的电机彼此相同的方向旋转,但相反的方向与另一对相反。这是为了确保推力,卷,间距和偏移可以独立地彼此命令。这意味着我们可以在不影响其他人的情况下命令一个运动。我们将看到为什么配置使这是真的,至少在一个第一个订单中,只是一个只是一点。实际上,无人机周围的复杂流体动力意味着所有运动都以某种方式耦合在一起,但是为了我们的目的,我们可以忽略该细节并最终让我们的反馈控制系统正确地正确。
好的,现在我们可以谈谈控制问题的概述。我们拥有我们的植物 - 无人机本身 - 我们有四个执行器注入系统中的力量和扭矩。所以问题是,我们如何将正确的输入注入我们的系统,以便输出是我们想要的结果。也就是说,我们可以弄清楚如何以非常精确的方式操纵这四个电机,使得无人机可以在3维空间中旋转和操纵?
为了帮助我们,我们拥有我们的传感器,我们可以直接或间接估计迷你蛋白的状态。系统状态是角度位置和速率,高度和水平速度等的东西。我们估算的国家取决于控制架构以及我们试图完成的目标。我们将在本系列中更详细地冲洗。
最后,通过了解系统的状态和了解我们想要我们的minidrone的理解,我们可以开发一个控制器,基本上是一种在软件中运行的算法,它采用我们的设定点和估计状态,并计算那些精确的电机将注入必要的力量和扭矩的命令。这是整个问题,但正如你可能想象的那样,提出这种算法对于Quadcopter来说并不直接。
我们应该注意的第一件事是这是一个欠渎主的系统。我们只有4个执行器,但我们有6度的自由 - 三个平移方向,上下,左右,向前和向后,以及三个旋转方向,滚动,俯仰和偏航。由于我们没有每个运动的执行器,因此我们已经知道在任何给定时间都无法控制一些方向。作为一个例子,我们的minidrone能够左侧移动,至少在没有首先沿这种方向旋转。同样的前向和向后运动也是如此。
通过开发耦合旋转和推力来实现整体目标的控制系统,我们将绕过这种境内问题。
所以现在让我们走过我们如何使用4个电机产生推力,滚动,沥青和偏航,为什么旋转方向允许我们从另一个动作中脱钩。
电动机通过旋转推动空气的螺旋桨产生推力,从而导致升级的反作用力。如果电机放置在通过对象的重心施加力的位置,那么该物体将在纯平移中移动,根本没有旋转。并且如果推力的力与重力的力恰好等于和相反,则物体将悬停在适当位置。
距重心距离处的力产生平移运动以及扭矩,或围绕重心的旋转时刻。如果电机连接到杆上,则旋转时,扭矩将保持恒定,因为力和重心之间的距离保持不变,但是力不再始终呈相反的重力方向,因此我们的杆将开始搬到侧面,落在天空中。现在,如果有一个反力,在重心的相对侧,并且每个力是重力的一半,那么物体将再次保持静止,因为扭矩和力将相互抵消。
但是,我们的执行器在产生推力时不会产生纯粹的力量。由于它通过旋转和扭转具有质量的螺旋桨来实现推力,因此我们的致动器也在产生沿相反方向的反作用力。如果我们的两个电机在相同方向上旋转,那么扭矩加倍,我们的杆将开始旋转。
为了对抗这种扭矩,我们可以在相反方向上旋转两个电动机。这将在2个方面工作,但只有两个电机的酒吧将无法在第三维中生成Torques,即我们无法滚动此栏。因此,我们添加了第二个栏,其中有两个电机创建了我们的Quadcopter。
利用这种配置,我们可以通过加速每个电动机来悬停,直到它们产生一个重力的力1/4。只要我们有两个计数器旋转电机,旋转螺旋桨的扭矩将平衡并且无人机不会旋转。在另一个方向上有两个方向和另一个方向有两个,它无关紧要。
但Quadcopter开发人员在旋转相同方向的相对电机的配置上解决了配置,因此必须有一个原因。而且有。这是因为横摆或平纺运动如何,与卷和间距相互作用。
要了解为什么这是真的,让我们来看看我们如何命令偏航。
我们具体地具有反旋转电机,使得系统上没有偏航扭矩,所有电机以相同的速度旋转。So, it makes sense that if we want to spin the drone about the vertical axis, or we want to have the vehicle yaw, then we’d need create a yaw torque by slowing two motors down that are running the same direction and speed the other two up. By slowing two down and speeding two up appropriately, we can keep the same total force through the maneuver so that we’re still hovering and counteracting gravity, but the summation of the motor torques is non-zero and the vehicle will spin. So we can yaw without affecting thrust.
现在让我们看看yaw是否会影响滚动和音高。如果旋转电动机对在同一侧,则减慢一对向下并增加另一对将导致围绕重心的压力的不平衡,并且该车辆将根据电动机对的侧面俯仰或滚动。但是,如果我们分开两个电动机并将它们放在无人机的相对侧面,
然后力量将互相平衡。这就是为什么电机配置和旋转方向如此至关重要。我们现在可以以这样的方式向四个电机发送命令,即车辆将偏航,但不是滚动,俯仰或改变其推力。
同样,我们可以看看滚动和音调。为了滚动,我们将减少左/右对的一个,并增加另一个导致滚动扭矩,并俯仰我们将前/后对的一个减少并增加另一个引起俯仰扭矩。这两种动作都不会对偏航产生影响,因为我们在相同方向上移动计数器旋转电机,并且它们的偏航扭矩将继续互相抵消。
要改变推力,我们需要同时增加或减少所有四个电机。以这种方式,卷,俯仰,偏航和推力是我们直接控制的4个方向。并且对电机的命令将是所需的量推力,滚动,俯仰和偏航的混合。
正如我们现在所知,我们可以通过将所有四个电机设置为同样的速度来命令推力。然后我们可以通过增加两个旋转相同方向并减少另一个电动机来创建偏航。通过增加或减小前电机对,然后在相反方向上命令背对来产生间距。滚动是相同的,但左/右对。这是我们简单的电机混合算法,可以在直观的卷,俯仰,偏航和推力之间转换,并且电动机速度不太直观。
正如我之前所说的那样,向前,向后,左手挺身而出。以及我们绕过的方式,通过首先将推力向量部分处于重力方向并且部分地沿行进方向旋转,以便在该方向上加速无人机。如果我们想要保持高度,那么我们会增加推力,以便垂直分量仍取消向下的重力下拉。
所以知道我们知道,以特定方式操纵四个电机将允许我们控制3D空间中的无人机,我们有一组传感器,我们可以用来估计系统的状态,我们有一个可以运行的车载处理器我们的控制器逻辑。
控制系统开发将最终在Simulink中完成,在那里我们将构建和模拟Quadcopter模型,调整控制器,在闭环仿真中金宝app测试它,最后自动生成我们将加载到板载微控制器上的飞行代码Parrot minidrone。下一步是弄清楚我们如何设置控制系统架构。
因此,如果您不想错过下一个技术谈话视频,请不要忘记订阅此频道。此外,如果您想查看我的频道,控制系统讲座,我还涵盖了更多的控制理论主题。谢谢你,下次我会见到你。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。