三角翼航模尾翼混控原理探索

news/2024/11/29 21:35:52/

       最近几天突然想自己diy一个航模——三角翼航模。在研究三角翼的姿态控制的时候,涉及到了混控的知识,我在网上找了好久也找不到相关的原理介绍,或者具体的算法。要么就是让你看遥控器的说明书进行相关设置,要么就是随意敷衍几句,根本不谈实质性的内容。我对此感到十分失望,难道大家都如此吝法了吗?没办法,找不到就只能自己摸索着做了。

        说实话,在做三角翼航模之前,并没有想到有关舵面混控的问题。只是简单的想着推动遥控器的摇杆就能发出不同的控制量信号,然后就能控制飞机的姿态,可事实要比这个复杂。因为要实现用两个信号去控制一对舵面,这个就比较难。就好比两个领导同时指挥一个员工去工作,关键是两个领导提出的需求不同,侧重点不同,所以员工就要综合考虑领导的要求,有所取舍,统筹兼顾。这就是我理解的所谓的混控。

        现在摆在面前的问题就是如何实现两个通道的信号的叠加处理。首先对于这个问题,你要先理解摇杆向不同的方向移动都代表着什么。我的理解是:摇杆横向移动控制两个舵面之间的开合程度,纵向移动控制两个舵面同向运动的程度。下一步重点就是要研究这两个信号量能通过什么样的数学表达式合二为一,也就是找寻他们之间的运动联系。

请看下面两幅图:

摇杆
靶子

       

       仔细看这两幅图,我不知道您诸位能不能看出点联系。在这里我给大家解释一下,不论移动方向如何,摇杆的移动幅度有大有小,就像靶子上的圈有大小之分;靶子和摇杆的面都是圆的,摇杆也可以做圆周运动,如果摇杆在半径比较小的圈里面动,就代表着其输出信号的幅值比较小,同理,如果摇杆在大圈里面动就代表遥控输出的信号幅值比较大。

        顺着这个想下去,有圆形、有垂直量和水平量。大家能不能想到三角函数和坐标向量的相关知识。举例:如图所示,平面中的向量p,其水平分量为x = |p|sinα,垂直分量为y = |p|cosα。向量p的长度大小就相当于摇杆晃动的幅度大小,这两个分量x、y就相当于两个控制通道的输出信号。这里命名为信道x和信道y。

        3

        现在我们假设摇杆的运动幅度为1,初始位置为0度,运动方向为逆时针方向。如上图所示,即长度为1的p向量从0°开始逆时针转动,这样我们可以据此绘制出两个分量——x,y 的变化曲线。如下图所示:图1为y轴方向的信号变化曲线,图2为x轴方向的信号变化曲线。这里说明一下,模拟摇杆做圆周运动的目的就是为了更直观的观察摇杆指向各个方向时两个控制通道信号量的大小。 

图1
图2
图3

        了解了摇杆转动时两个信号通道的信号量变化曲线之后还不够,因为我们最终要得到的是摇杆在不同位置时和飞机舵面张开的不同角度之间的对应关系。关于这些我们最直观的认知就是摇杆向左平推时,左舵面向上,同时右舵面对称的向下运动;相上平推摇杆时,两个舵面同时向上。有了这个认识基础之后,再往下接着分析。

       

        先看左舵面:假设摇杆运动时信道x的输出信号不输出,则摇杆在做圆周运动时左舵面的运动变化量如图1所示;再假设摇杆运动时y信道的信号不输出,则摇杆在做圆周运动时左舵面的运动变化量如图3所示(感觉这么分析就像高数求偏导一样)。右舵面的分析与之同理,不再赘述。那么我们猜想一下,是否将这两个波形直接叠加起来,就是舵面真正的运动状态波形图了呢?

试试看,叠加结果如下图所示:

simulink仿真_1

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)

scope
scope1

scope2

         大家现在所看到的波形就时我用simulink仿真出来的输出信号波形。上边前两个图中的蓝线代表的分别是 左舵面和 右舵面的合成控制信号。在最后一幅图中蓝色线就是左舵面的控制信号,黄色线就是右舵面的控制信号,这样放在一起可以更好的表现它俩的配合关系。通过观察这几个图可以看到,舵面的控制信号不再超调,并且观察他们的波形可以得知其舵面变化角度和遥控姿态控制相呼应,这样就基本实现了混合控制的要求。

        如果我有说错的地方或者大家有什么不同的见解,可以给我留言,也欢迎在评论区讨论。仓促成文,甚是潦草,改日有时间再做修改。最后也鼓励大家把自己知道的、网上不太好找的内容分享出来,这样可以提携后进者,促进大家共同进步。

        


http://www.ppmy.cn/news/895348.html

相关文章

【Java AWT 图形界面编程】在 Canvas 画布中绘制箭头图形 ( 数据准备 | 几个关键的计算公式 | 绘制箭头直线和尾翼 )

文章目录 一、在 Canvas 画布中绘制箭头图形 - 要点分析1、数据准备2、绘制直线3、绘制箭头尾翼 二、代码示例 一、在 Canvas 画布中绘制箭头图形 - 要点分析 1、数据准备 绘制箭头时 , 先设置一条直线的起始点和终止点 , 箭头绘制在该线段上 ; /*** 起始点 X, Y 坐标* 终止点 …

固定翼无人机结构分类

一、固定翼无人机常见的气动布局 常规布局 常规布局就是水平尾翼在主翼之后,有一个或者两个垂危的气动布局方式。这种布局技术最成熟,理论研究已经非常完善,生产技术也成熟而稳定,同其他气动布局相比各项性能比较均衡。只是由于…

【C++11】包装器 和 bind函数 的定义与 使用

包装器 在C11标准中,没有提供内置的包装器功能,但我们可以使用一些技术手段来实现包装器的效果。下面介绍两种常用的方法: 函数对象包装器 函数对象包装器(Function Object Wrapper): C11引入了 std::fu…

[MySql]表的增删查改

目录 前言: 1.插入数据 2.查询数据 2.1全列查询 2.2指定查询 2.3别名 2.4去重 2.5排序 2.6条件查询 2.7聚合查询 2.7.1group by语句 2.7.2havin语句 2.8联合查询 2.8.1内连接 2.8.2外连接 2.8.3自连接 2.8.4子查询 3.修改 4.删除 前言: 本次大多数使用…

ADRC控制算法在多旋翼飞行器上的应用

基础理论知识: 程序中涉及的部分知识点参考如下链接: ADRC算法以及参数整定: 关于ADRC算法以及参数整定(调参)的一些心得体会_西涯先生的博客-CSDN博客_adrc控制算法 ADRC算法的程序实现: ADRC与Matlab/S…

多旋翼飞行器设计与控制(五)—— 坐标系和姿态表示

多旋翼飞行器设计与控制(五)—— 坐标系和姿态表示 一、坐标系 一般的,对坐标轴与旋转正方向的定义采用右手定则。介绍两种坐标系:地球固联坐标系 与 机体坐标系 。 地球固联坐标系用于研究多旋翼飞行器相对于地面的运动状态&a…

多旋翼飞行器设计与控制(七)—— 传感器标定和测量模型

多旋翼飞行器设计与控制(七)—— 传感器标定和测量模型 一、三轴加速度计 三轴加速度计是一种惯性传感器,能够测量物体的比力,即去掉重力后的整体加速度或者单位质量上作用的非引力。当加速度计保持静止时,加速度计能…

四旋翼飞行器结构和原理

四旋翼飞行器结构和原理 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 前言:前年做电赛时留下的一套四旋翼飞行器如今只剩下四个旋翼和电机(不知道被谁给拆了,组装零件找不到了),趁着国庆几天假…