最近几天突然想自己diy一个航模——三角翼航模。在研究三角翼的姿态控制的时候,涉及到了混控的知识,我在网上找了好久也找不到相关的原理介绍,或者具体的算法。要么就是让你看遥控器的说明书进行相关设置,要么就是随意敷衍几句,根本不谈实质性的内容。我对此感到十分失望,难道大家都如此吝法了吗?没办法,找不到就只能自己摸索着做了。
说实话,在做三角翼航模之前,并没有想到有关舵面混控的问题。只是简单的想着推动遥控器的摇杆就能发出不同的控制量信号,然后就能控制飞机的姿态,可事实要比这个复杂。因为要实现用两个信号去控制一对舵面,这个就比较难。就好比两个领导同时指挥一个员工去工作,关键是两个领导提出的需求不同,侧重点不同,所以员工就要综合考虑领导的要求,有所取舍,统筹兼顾。这就是我理解的所谓的混控。
现在摆在面前的问题就是如何实现两个通道的信号的叠加处理。首先对于这个问题,你要先理解摇杆向不同的方向移动都代表着什么。我的理解是:摇杆横向移动控制两个舵面之间的开合程度,纵向移动控制两个舵面同向运动的程度。下一步重点就是要研究这两个信号量能通过什么样的数学表达式合二为一,也就是找寻他们之间的运动联系。
请看下面两幅图:
仔细看这两幅图,我不知道您诸位能不能看出点联系。在这里我给大家解释一下,不论移动方向如何,摇杆的移动幅度有大有小,就像靶子上的圈有大小之分;靶子和摇杆的面都是圆的,摇杆也可以做圆周运动,如果摇杆在半径比较小的圈里面动,就代表着其输出信号的幅值比较小,同理,如果摇杆在大圈里面动就代表遥控输出的信号幅值比较大。
顺着这个想下去,有圆形、有垂直量和水平量。大家能不能想到三角函数和坐标向量的相关知识。举例:如图所示,平面中的向量p,其水平分量为x = |p|sinα,垂直分量为y = |p|cosα。向量p的长度大小就相当于摇杆晃动的幅度大小,这两个分量x、y就相当于两个控制通道的输出信号。这里命名为信道x和信道y。
现在我们假设摇杆的运动幅度为1,初始位置为0度,运动方向为逆时针方向。如上图所示,即长度为1的p向量从0°开始逆时针转动,这样我们可以据此绘制出两个分量——x,y 的变化曲线。如下图所示:图1为y轴方向的信号变化曲线,图2为x轴方向的信号变化曲线。这里说明一下,模拟摇杆做圆周运动的目的就是为了更直观的观察摇杆指向各个方向时两个控制通道信号量的大小。
了解了摇杆转动时两个信号通道的信号量变化曲线之后还不够,因为我们最终要得到的是摇杆在不同位置时和飞机舵面张开的不同角度之间的对应关系。关于这些我们最直观的认知就是摇杆向左平推时,左舵面向上,同时右舵面对称的向下运动;相上平推摇杆时,两个舵面同时向上。有了这个认识基础之后,再往下接着分析。
先看左舵面:假设摇杆运动时信道x的输出信号不输出,则摇杆在做圆周运动时左舵面的运动变化量如图1所示;再假设摇杆运动时y信道的信号不输出,则摇杆在做圆周运动时左舵面的运动变化量如图3所示(感觉这么分析就像高数求偏导一样)。右舵面的分析与之同理,不再赘述。那么我们猜想一下,是否将这两个波形直接叠加起来,就是舵面真正的运动状态波形图了呢?
试试看,叠加结果如下图所示:
sine wave模块设置
图中蓝色线是叠加后的波形,很显然,与实际动作幅度有所出入。因为信号叠加的公式为f(α)=sinα+cosα 这样叠加后的信号幅度最大值肯定会大于1,这是不可行的。例如,你设定的舵面最大张角为90°,这时假设摇杆的位置已经推到了最上方,但是如果此时将摇杆顺时针转动45°就会出现遥控输出信号企图将一个舵面的张角变成大于90°的状态,这是不可实现的。
经过仔细观察和分析,我发现要想波形不超调,可以将表达式变成 f(α)=|sinα|sinα+|cosα|cosα 。那这样一来,就相当于给摇杆的物理输出信号和实际控制信号之间加上一个函数比值关系,既限制了部分信号的增幅又不失控制的准确性,算是一个比较好的方法。但是,我虽然找到了方法,却无法去合理的解释这一方法。这个方法在我看来或许可以用傅里叶函数去解释,但是在大学期间,有关傅里叶函数和拉氏变换那块知识始终没弄太明白,总是如雾里观花一般。所以我干脆不解释了,免得让各位读者笑话。下面我直接给大家展示一下仿真的波形。
(function0,2,4,6波形如图1,function3波形如图3,function1,7,8波形如图2)
大家现在所看到的波形就时我用simulink仿真出来的输出信号波形。上边前两个图中的蓝线代表的分别是 左舵面和 右舵面的合成控制信号。在最后一幅图中蓝色线就是左舵面的控制信号,黄色线就是右舵面的控制信号,这样放在一起可以更好的表现它俩的配合关系。通过观察这几个图可以看到,舵面的控制信号不再超调,并且观察他们的波形可以得知其舵面变化角度和遥控姿态控制相呼应,这样就基本实现了混合控制的要求。
如果我有说错的地方或者大家有什么不同的见解,可以给我留言,也欢迎在评论区讨论。仓促成文,甚是潦草,改日有时间再做修改。最后也鼓励大家把自己知道的、网上不太好找的内容分享出来,这样可以提携后进者,促进大家共同进步。