三角翼航模尾翼混控原理探索
最近几天突然想自己diy一个航模——三角翼航模。在研究三角翼的姿态控制的时候,涉及到了混控的知识,我在网上找了好久也找不到相关的原理介绍,或者具体的算法。要么就是让你看遥控器的说明书进行相关设置,要么就是随意敷衍几句,根本不谈实质性的内容。我对此感到十分失望,难道大家都如此吝法了吗?没办法,找不到就只能自己摸索着做了。
说实话,在做三角翼航模之前,并没有想到有关舵面混控的问题。只是简单的想着推动遥控器的摇杆就能发出不同的控制量信号,然后就能控制飞机的姿态,可事实要比这个复杂。因为要实现用两个信号去控制一对舵面,这个就比较难。就好比两个领导同时指挥一个员工去工作,关键是两个领导提出的需求不同,侧重点不同,所以员工就要综合考虑领导的要求,有所取舍,统筹兼顾。这就是我理解的所谓的混控。
现在摆在面前的问题就是如何实现两个通道的信号的叠加处理。首先对于这个问题,你要先理解摇杆向不同的方向移动都代表着什么。我的理解是:摇杆横向移动控制两个舵面之间的开合程度,纵向移动控制两个舵面同向运动的程度。下一步重点就是要研究这两个信号量能通过什么样的数学表达式合二为一,也就是找寻他们之间的运动联系。
请看下面两幅图:
![](/assets/blank.gif)
![](/assets/blank.gif)
仔细看这两幅图,我不知道您诸位能不能看出点联系。在这里我给大家解释一下,不论移动方向如何,摇杆的移动幅度有大有小,就像靶子上的圈有大小之分;靶子和摇杆的面都是圆的,摇杆也可以做圆周运动,如果摇杆在半径比较小的圈里面动,就代表着其输出信号的幅值比较小,同理,如果摇杆在大圈里面动就代表遥控输出的信号幅值比较大。
顺着这个想下去,有圆形、有垂直量和水平量。大家能不能想到三角函数和坐标向量的相关知识。举例:如图所示,平面中的向量p,其水平分量为x = |p|sinα,垂直分量为y = |p|cosα。向量p的长度大小就相当于摇杆晃动的幅度大小,这两个分量x、y就相当于两个控制通道的输出信号。这里命名为信道x和信道y。
现在我们假设摇杆的运动幅度为1,初始位置为0度,运动方向为逆时针方向。如上图所示,即长度为1的p向量从0°开始逆时针转动,这样我们可以据此绘制出两个分量——x,y 的变化曲线。如下图所示:图1为y轴方向的信号变化曲线,图2为x轴方向的信号变化曲线。这里说明一下,模拟摇杆做圆周运动的目的就是为了更直观的观察摇杆指向各个方向时两个控制通道信号量的大小。
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
了解了摇杆转动时两个信号通道的信号量变化曲线之后还不够,因为我们最终要得到的是摇杆在不同位置时和飞机舵面张开的不同角度之间的对应关系。关于这些我们最直观的认知就是摇杆向左平推时,左舵面向上,同时右舵面对称的向下运动;相上平推摇杆时,两个舵面同时向上。有了这个认识基础之后,再往下接着分析。
先看左舵面:假设摇杆运动时信道x的输出信号不输出,则摇杆在做圆周运动时左舵面的运动变化量如图1所示;再假设摇杆运动时y信道的信号不输出,则摇杆在做圆周运动时左舵面的运动变化量如图3所示(感觉这么分析就像高数求偏导一样)。右舵面的分析与之同理,不再赘述。那么我们猜想一下,是否将这两个波形直接叠加起来,就是舵面真正的运动状态波形图了呢?
试试看,叠加结果如下图所示:
![](/assets/blank.gif)
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)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
大家现在所看到的波形就时我用simulink仿真出来的输出信号波形。上边前两个图中的蓝线代表的分别是 左舵面和 右舵面的合成控制信号。在最后一幅图中蓝色线就是左舵面的控制信号,黄色线就是右舵面的控制信号,这样放在一起可以更好的表现它俩的配合关系。通过观察这几个图可以看到,舵面的控制信号不再超调,并且观察他们的波形可以得知其舵面变化角度和遥控姿态控制相呼应,这样就基本实现了混合控制的要求。
如果我有说错的地方或者大家有什么不同的见解,可以给我留言,也欢迎在评论区讨论。仓促成文,甚是潦草,改日有时间再做修改。最后也鼓励大家把自己知道的、网上不太好找的内容分享出来,这样可以提携后进者,促进大家共同进步。
三角翼航模尾翼混控原理探索相关推荐
- 开源自制的6通道航模遥控器(三)-遥控器端增加MIX混控模式
1.了解什么是混控 要了解混控,需要先对比一般的遥控模式.一般遥控的每个操作控制都是一个通道,比如美国手的遥控器,左边摇杆前后控制油门,左右控制方向舵:右边摇杆前后控制升降舵,左右控制副翼(横滚).混 ...
- px4直升机混控逻辑整理
目录 一.直升机混控矩阵的介绍: 二.源代码解读 一.直升机混控矩阵的介绍: 直升机混控: 直升机混控将三个控制输入(roll,pitch,thrust)组合为四个输出(斜盘伺服系统和主电机ESC设置 ...
- px4机架和混控文件读取
在px4启动文件RCS中,可以看到对autostart文件的读取 # # Set parameters and env variables for selected AUTOSTART. # if ! ...
- 富斯FS-T6 APM飞控四种飞行模式设置方法_MIX混控设置
来源于5iMX论坛的这篇帖子 富斯FS-T6 APM飞控两种飞行模式设置方法点击打开链接 但是我按照作者的设置MIX的方法,怎么都只有三种通道 先上图吧: 1.我的混控设置: OFFSET是偏移量,向 ...
- 纯手写F3飞控的直升机固件(2.直升机倾斜盘混控了解)
首先,对于一个直升机无副翼控制系统(FBLSystem),遥控器设定的倾斜盘类型必须为 Normal 或 H-1,也就是说,Pit.Ail.Ele三个通道无混控关系,倾斜盘混控由直升机无副翼控制系统完 ...
- [App探索]JSBox中幽灵触发器的实现原理探索
前言 幽灵触发器是钟颖大神的JSBox中的一个功能,在app进程被杀死的情况下,也可以将通知固定在通知栏,即便用户点击清除,也能马上再弹出,永远不消失,除非用户关闭App的通知权限或者卸载App,才可 ...
- [App探索]JSBox中幽灵触发器的实现原理探索 1
建了一个面试题解答的项目,大家可以看一看,希望大家帮忙给一个star,谢谢了! 项目地址:https://github.com/NotFound9/interviewGuide 前言 幽灵触发器是钟颖 ...
- Next.js性能优化之ISR渲染入门和原理探索
前言 术语说明: SSR -- 服务端渲染 SSG -- 静态生成 ISR -- 增量静态化 Date Fetch 函数 -- 本文特指服务端数据获取的几种函数 getStaticProps . ge ...
- webpack 热加载原理探索
前言 在使用 dora 作为本地 server 开发一个 React 组件的时候,默认使用了 hmr 插件.每次修改代码后页面直接更新,不需要手动 F5 ,感觉非常惊艳,这体验一旦用上后再也回不去了. ...
最新文章
- 在Java中将Double转换为Integer
- 【iCore4 双核心板_ARM】例程三十八:DSP MATH库测试
- 自学ng2 -生命周期钩子
- 线程对象Android 开发之多线程处理、Handler 详解
- JEECG 3.7.8 补丁代码提交通知
- 解决宿主机Ping不通虚拟机的问题
- 04-06 session,cookie,token 区别
- C/C++ inline 函数
- 易语言夜神模拟器操控模块调用方法
- 分享这几个在线语音转文字的方法,快快收藏好
- Ubuntu虚拟机中无法使用罗技鼠标滚轮功能
- 在Excel中批量删除换行符
- 软件开发工程师工作总结(转)
- 陈婉芬老师的精髓金玉良言----相信篇,观念篇
- 【历史上的今天】7 月 4 日:第一本电子书问世;磁条卡的发明者出生;掌上电脑先驱诞生
- 计算机的防呆接口,PC接口全释:防呆口很重要,小心硬插烧硬件!
- RGB-D相机(Azure Kinect DK)SDK安装
- 深刻理解Linux进程间通信(IPC)
- EN 14339地下消防栓—CE认证
- C语言,实现从键盘输入20个整数,统计非负数个数,并计算非负数之和