5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
楼主: KGJ
打印 上一主题 下一主题

KGJ飞控不同传统的算法

[复制链接]
21
发表于 2018-2-8 00:49 | 只看该作者
电调输出影响角加速度,角加速度影响角速度,角速度影响姿态角。
楼主把第一步与第二步用一个算法整合了,第三步则忽略。

有没有实际飞行的录像,想向楼主学习一下。

欢迎继续阅读楼主其他信息

主题

  • 没有相关信息
  • 没有相关信息
  • 没有相关信息
22
 楼主| 发表于 2018-2-8 04:59 | 只看该作者
极速F1 发表于 2018-2-7 23:38
所以,你得控制效果的是,水平,动杆,然后松杆,然后保持当前角度,还是说动杆,倾斜到一定角度,松杆。自 ...

我这个控制效果是动杆,倾斜到一定角度,松杆。自动回中。

23
 楼主| 发表于 2018-2-8 05:05 | 只看该作者
极速F1 发表于 2018-2-7 23:28
陀螺仪的零点漂移以及温度漂移呢?

在实际飞行期间,电池电耗尽之前,没发现有影响。
如果仔细看算法和实际测试,就会发现陀螺仪的输出零飘在+/–1之内。

24
 楼主| 发表于 2018-2-8 05:12 | 只看该作者
本帖最后由 KGJ 于 2018-2-8 06:18 编辑
skypup 发表于 2018-2-8 00:49
电调输出影响角加速度,角加速度影响角速度,角速度影响姿态角。
楼主把第一步与第二步用一个算法整合了, ...

这个控制算法的核心就是,摇杆的动作量直接控制四个电机的转速,陀螺仪的闭环控制角速度为零,从而实现自稳。
这个算法与KK的不同之处在于:KK 的PID(无论是Rolf R Bakke,还是Minsoo Kim 修改的算法)算法,摇杆给定的是目标角速度,他们闭环控制的核心是摇杆动作量 - 陀螺仪输出的角速度 KGJ 的核心则是“0 - 陀螺仪输出的角速度”。

另外,大家没必要太纠结 PID 中的各项,P、PI、PD、PID 都统称为 PID,只不过系数不同而已,根据自己的实际控制效果作取舍。

实际飞行前面有段小视频,当时主要看悬停,下次再拍一段飞行范围稍大点的视频吧。

我是五十多岁才接触实际航模的,准确的说就是四轴飞行器,我现在也就会飞自稳模式,即使在自稳模式也只能做到对尾飞行,标准的KK算法,我在家里小客厅根本就不敢飞的,我的飞行水平是很烂的

这个论坛唯一不足的就是我无法上传附件



25
发表于 2018-2-8 07:43 | 只看该作者
现在少见这样的帖子了,顶一下吧
26
发表于 2018-2-8 09:49 | 只看该作者
大致理解你的算法了。

不过现在的手动飞控,特别是直机陀螺仪,一般不再关注稳定性,而是关注飞行器的阶跃和冲激响应特性,所以设计思路明显不同。
要做机动,以及在狂风中飞行(5~8级),和室内飞行所使用的算法要求是完全不同的。
27
发表于 2018-2-8 09:59 | 只看该作者
很多四轴玩厌了的玩家,想飞直升机,有一定的像真姿态的美观,多轴飞起来犹如一堆螺旋桨漂浮在空中,缺少乐趣。但是现在的直升机很闭塞很传统,以至于玩过四轴的玩家也无法上手直升机,不如给直升机写个飞控玩玩?
来自苹果客户端来自苹果客户端
28
 楼主| 发表于 2018-2-8 10:29 | 只看该作者
这个原本是给中学生的创客教育做的一个方案,他们又想玩流行的东西,又想能自己编程,还能够理解控制原理和算法程序,现有教育类可编程的四轴飞行器并不是真正的飞控编程,而是对遥控器的操作编程,也就是替代人操控摇杆,所以编程的内容基本上都是“上升5秒 -- 前进4秒 -- 往左3秒 ……”。但实际情况是,中学生的课业压力大,基本上都没有时间去玩,所以转给非电子专业的新手去玩,如果不会代码编程的,也可用Mixly的图形编程方式来玩了。
29
发表于 2018-2-8 10:40 | 只看该作者
KGJ 发表于 2018-2-8 10:29
这个原本是给中学生的创客教育做的一个方案,他们又想玩流行的东西,又想能自己编程,还能够理解控制原理和 ...

如果给中学生看的话,非常好!
30
 楼主| 发表于 2018-2-8 11:38 | 只看该作者
skypup 发表于 2018-2-8 00:49
电调输出影响角加速度,角加速度影响角速度,角速度影响姿态角。
楼主把第一步与第二步用一个算法整合了, ...

上午在小客厅里又录了一小段视频,不知道是否符合你的要求。

?spm=a2h0k.8191407.0.0&from=s1.8-1-1.2[/media]

31
发表于 2018-2-8 14:02 | 只看该作者
“我看基本上都是从国外抄搬过来的,国内的博士论文抄,硕士论文抄,现在的本科论文也在抄,不抄这些,就显示不出水平来,也就拿不到各种学位了。”
不知道lz什么水平,但这句话太以偏盖全,国内控制方面做得还是很好的,顶级期刊有很大一部分都是华人。

32
 楼主| 发表于 2018-2-8 19:16 | 只看该作者
本帖最后由 KGJ 于 2018-2-8 20:42 编辑
牛牛苑苑加油 发表于 2018-2-8 14:02
“我看基本上都是从国外抄搬过来的,国内的博士论文抄,硕士论文抄,现在的本科论文也在抄,不抄这些,就显 ...

第一,我这里用的是“基本上都”,这个“基本上”也就是“大体上”的意思,是一程度副词,是指十个中有九个或八个是这样的。而“都”是一范围副词,是指在不同层次、不同区域是这样的。
你说的“国内控制方面做得还是很好的,顶级期刊有很大一部分都是华人”这个可能就是十分之一,最多十分之二的人群了。


第二,“国内的博士论文抄,硕士论文抄,现在的本科论文也在抄”,这里用了一个“现在”,说明博士、硕士那是过去的事了,是在多旋翼飞行器普及的“前夜”的事了。


这种现象在我接触到的范围内的确比比皆是,这可能与我国改革开放之初学习国外的先进科学技术有关,由学习变成依赖性,再加上评价体系出现的问题,很多学习就变成了抄袭(很有技巧的抄袭),但愿随着发展,我国自主创新的东西越来越多,这种现象逐渐消失,但“八二定律”可能依然是存在的。


33
发表于 2018-2-9 13:33 | 只看该作者
KGJ 发表于 2018-2-8 11:38
上午在小客厅里又录了一小段视频,不知道是否符合你的要求。

?spm=a2h0k.8191407.0.0&from=s1.8-1-1.2 ...

比我之前预期的要稳。

34
 楼主| 发表于 2018-2-9 14:04 | 只看该作者
skypup 发表于 2018-2-9 13:33
比我之前预期的要稳。

我自己飞的感觉跟没有定高的玩具飞行器差不多,与仅有MPU6050传感器的MWC飞控的效果也差不多,稳定,也很好操控。

35
发表于 2018-2-9 16:41 | 只看该作者
KGJ 发表于 2018-2-9 14:04
我自己飞的感觉跟没有定高的玩具飞行器差不多,与仅有MPU6050传感器的MWC飞控的效果也差不多,稳定,也很 ...

根据我对 KGJ 算法的理解。飞起来的手感可能与 MWC 飞控不开 ANGLE,也不开 HORIZON 模式的操作方式一致。
MPU6050 不仅有陀螺仪的数据,还有三轴加速度计的数据。如果 MWC 开了 ANGLE 或者 HORIZON 模式之一,则松开遥控器的摇杆让它回中,飞机是自动修正到水平姿态的。
而不是,松开遥控器之后,飞机仅保持当前姿态,不会自主恢复水平。

看上去楼主飞的四轴是一个有刷电机+减速器动力的,可能会比较轻不太抗风,可以找一个没有风的较大的场地。试一试飞个四边航线(可以一直对尾飞),这样我可以有更直观的理解了。

36
 楼主| 发表于 2018-2-9 16:59 | 只看该作者
本帖最后由 KGJ 于 2018-2-9 17:37 编辑

我这个与MWC飞控的ANGLE模式是相同的,摇杆回中后,飞行器自动回到水平姿态呀!

KGJ 算法中根本就没有姿态运算,与KK算法是不同的,KK算法闭环控制的是角速度,但他的目标角速度是摇杆的偏移量,所以KK飞控摇杆回中时,角速度为0,保持回中前一时刻的姿态不变,不能回复到水平姿态,这也就是MWC飞控不开ANGLE模式时的情况,如果KGJ与此相同,我就不会发这个帖子了。
KGJ 实现姿态(稳态时)控制的方法,就是摇杆舵量在四个电机上的分配量,在摇杆回中时,四个电机产生的升力相同(通过摇杆微调消除四个升力的系统误差),陀螺仪的作用仅是抵抗外部的扰动,控制的角速度目标值是“零”,所以实现了稳定。在摇杆偏离中心某个位置时,四个电机产生升力对应的稳态差是一定的,所以可以保持某个姿态飞行。



37
 楼主| 发表于 2018-2-10 16:33 | 只看该作者
极速F1 发表于 2018-2-7 23:28
陀螺仪的零点漂移以及温度漂移呢?

今天没事测试和分析了 KGJ 飞控陀螺仪的零飘以及温度漂移,测试方法与结果如下。
1、每秒读取一次陀螺仪的数据
2、测试过程中有两种状态
(1)自然状态
(2)微型风扇吹陀螺仪表面
3、持续测试时间为25秒
4、原始数据变化范围:-2 ~ +3
5、滤波后的变化范围:0 ~ 2

陀螺仪感度调整的算法如下:
int SensitivityAdjustment(int x, char y) {
  int r;
  r = x / 4;
  r = r * y;
  return r / 8;
}


其中:x 为陀螺仪的角速度,y 为感度
从中我们可以看陀螺仪上述的零飘经 r = x / 4 整除运算后几乎没有任何影响。飞行器每次解锁时首先对陀螺仪进行校准,而空心杯四轴飞行器的有效飞行时间最多 8 分钟,所以在整个飞行过程中,陀螺仪的零飘和温飘没有任何影响。


38
发表于 2018-3-5 21:45 | 只看该作者
熟悉的nano和kk。
来自安卓客户端来自安卓客户端
39
发表于 2018-6-20 01:53 | 只看该作者
相当同意极速F1的说法 楼主应该没有飞过手动的的多轴 也很少去室外飞

如果陀螺仪在d^2(theta)/dt^2数值很大的时候 这个控制器会失控 一个Kp解决不了问题 结果是又回到PID去了
同样在遥控输入的时候也会有这样的问题

为什么视频上看不出这样的效果呢 不知道楼主设置的looptime是多少 如果时间很长的话输出有点像低通滤波后的效果


现在的四轴飞控的算法基本上都离不开双环PID,欧拉角,四元素,互补滤波,卡尔曼滤波,这些都是哪来的呢?我看基本上都是从国外抄搬过来的,国内的博士论文抄,硕士论文抄,现在的本科论文也在抄,不抄这些,就显示不出水平来,也就拿不到各种学位了。

这一点我完全不赞同 楼主应该也没有PID真正工业环境下的经验 也没有太多学术经验 PID kalman fuzzylogic 这类控制器只是一个大框架
如果要求一个博士去研究一个新的控制算法出来 大多数情况也是辣鸡
现在学术是允许站在别人的肩膀上研究新东西 或者对大的理论细化优化在某一应用
很多细节的部分 光一个Iterm就可以让一个中等规模公司玩1年更不要说Dterm了
BF这几年的发展楼主可以去关注一下  RC input滤波 Iterm 和Dterm处理逻辑都是根据飞行要求优化的不错
40
发表于 2018-6-20 19:52 | 只看该作者
技术贴,顶起。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /2 下一条

快速回复 返回顶部 返回列表