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

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

共轴双桨自动驾驶直升机

[复制链接]
401
发表于 2008-8-8 15:36 | 只看该作者
楼主厉害啊

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

402
发表于 2008-8-8 15:39 | 只看该作者

不定不行了

中国要是多几个你这样的人,就是国之幸事了!
头像被屏蔽
403
发表于 2008-8-8 15:41 | 只看该作者
高手云集.......
404
 楼主| 发表于 2008-8-9 16:24 | 只看该作者
把这个算法放到了LAMA上,然后修改了舵量的控制部分,增加了舵量百分比控制。
效果还是很好的,虽然没有做到100%抑制飘逸,但凡是大幅度的漂移都会被检测到然后里马修正。

不过目前问题还是存在的,最最麻烦的问题就是安装的问题。
由于控制板不可能完全垂直于地面,所以代码里飞机要等到卡尔曼滤波给出接近于0偏角的数据后才能允许飞行。如果没有达到,那么就要增加些补偿值。

但我不能保证在飞机自动校准的时候,陀螺仪板的垂直位置就是飞机起飞后稳定飞行时的位置。所以如果我放到一个本身就不平的平台上,飞机校准到了一个错误的数据上,起飞后就会往一个方向偏过去。

新问题不断啊....
405
 楼主| 发表于 2008-8-9 21:31 | 只看该作者
上个图



这是舵机的调整动作和俯仰角的变化图,目前只有一个简单地比例调整。调整的效果并不好,中等幅度的漂移还是不能完全消除。
看来又需要PID算法出马了。
406
发表于 2008-8-10 00:28 | 只看该作者
原帖由 c_nmusic 于 2008-8-9 16:24 发表
把这个算法放到了LAMA上,然后修改了舵量的控制部分,增加了舵量百分比控制。
效果还是很好的,虽然没有做到100%抑制飘逸,但凡是大幅度的漂移都会被检测到然后里马修正。

不过目前问题还是存在的,最最麻烦 ...

这个帖子看了个开头我就在想,有没有一种传感器能测出重力的方向,然后根据给出的信号调整飞机为水平,剩下的调整可能会简单得多。不懂电子方面,瞎猜的。
407
 楼主| 发表于 2008-8-10 08:49 | 只看该作者
原帖由 yplin 于 2008-8-10 00:28 发表

这个帖子看了个开头我就在想,有没有一种传感器能测出重力的方向,然后根据给出的信号调整飞机为水平,剩下的调整可能会简单得多。不懂电子方面,瞎猜的。


有重力计这种东西,但是,贵!
而且体积还挺大的。
408
 楼主| 发表于 2008-8-10 11:22 | 只看该作者
看起来我似乎应该把俯仰角的角速度作为被控对象。目前一直把角度作为被控对象,
结果虽然可以让角度控制到小幅度偏转,但飞机有惯性,控制到后来就变成一直朝前冲了。



图里可以看到俯仰角越“冲”越快。到最后舵机已经最大了,但已经无法纠正飞机的前飞了。
409
 楼主| 发表于 2008-8-12 20:25 | 只看该作者
经过几天的碰壁,发现了一些问题。

首先,直接对卡尔曼滤波得出的角度进行PID就可以了。我以前对这个数据又取了一次均值,结果造成调整反映非常慢。

中立点的设定也是一个大问题,经常设置不准后造成飞机超一个方向偏。开始采用启动时设置中立点,但后来发现也有问题,放置的位置不容易找准。目前打算采用参数的形式,不在启动时设置好了。
410
发表于 2008-8-12 20:57 | 只看该作者
隔了几天来顶一下。
411
发表于 2008-8-12 21:36 | 只看该作者
记号
412
 楼主| 发表于 2008-8-13 11:24 | 只看该作者
发现几点注意的:
1、卡尔曼滤波算得要快,目前使用频率最高的定时器来算这个。不然在飞机飞行后,陀螺仪和加速度计的数据有干扰的情况下,如果还是慢慢吞吞地计算,就造成了卡尔曼滤波无法准确地得出目前的正确姿态。在我这里的表现是,开始飞得还不错,稍过几秒钟就一头像前冲去,毫不犹豫。数据显示卡尔曼滤波认为这时候飞机正在后仰,于是需要往前飞来纠正姿态。

2、PID的P参数不能大了。以前弄大了,结果飞机像钟摆那样,忽前忽后。

目前P参数已经能控制住飞机了,但是还需要I和D参数配合。

光有P,给人的感觉是刹不住车,虽然机头正了,但飞机还在向前冲。

[ 本帖最后由 c_nmusic 于 2008-8-13 11:28 编辑 ]
413
发表于 2008-8-13 17:40 | 只看该作者
P只对当前误差比例负反馈,I计算的是历史误差累积,要搭配使用
414
 楼主| 发表于 2008-8-13 20:22 | 只看该作者
目前I是记录了20条历史记录,以前全都记录,但后来发现有问题。

修改了串口的代码,可以实时调整参数,不过飞机的升空时间很短,所以基本还是降落后调整的。
目前已经有点眉目了,可以稳定住飞机。但就是需要一点时间和空间。

卡尔曼滤波的结果是非常重要的,现在通过加快计算速度来提高精度。
提高了16倍的计算频率,同时降低噪声,目前获得的数据还是比较能够反映当前的飞机状态了。
校准频率维持25Hz不变。

以前做不出的时候,经常不知道问题出在哪里。看记录,飞机姿态也差不多啊,可为什么飞起来很快就往一个方向偏过去了。
后来发现,卡尔曼滤波器的数据在飞行了一段时间后开始过于发散。明明俯仰角一直是负的,到后来由于数据发散的关系卡尔曼
滤波会给我得出一个正的值,结果飞机就越飞越快了。

现在通过加快计算频率,降低噪音,目的都是减少卡尔曼的数据发散速度。毕竟直升机俯仰角变化不会像固定翼那样快。
目前看起来效果还不错。

[ 本帖最后由 c_nmusic 于 2008-8-13 20:50 编辑 ]
415
 楼主| 发表于 2008-8-14 15:57 | 只看该作者
今天,修正了一个困扰我一个星期的问题。

以前飞行时间稍长一点,卡尔曼给出的俯仰角就会逐渐都成正值。一直不知道原因是什么,修改了噪声参数效果也不好,反而造成在快速变化的情况下卡尔曼的数据不能很快地回归到正确值。

今天忽然想到是不是那个陀螺仪板的固定问题造成的。以前一直是用两根绑带绑在机架上,这回用热熔胶把它直接粘在机架上。

效果明显,以前的现象不再出现了。
416
发表于 2008-8-14 16:14 | 只看该作者

人才阿

417
发表于 2008-8-14 16:28 | 只看该作者
原帖由 c_nmusic 于 2008-8-10 08:49 发表


有重力计这种东西,但是,贵!
而且体积还挺大的。


真的飞机上都有水准仪,就是你经常在电影里面看到的那个圆形仪表,里面是一个球,上下漆成不同颜色。面板玻璃上有刻度,还画着飞机的剖面图,里面的球一直保持和地面水平。早期的水准仪里面有一个两轴的机械陀螺,现在已经被电子陀螺取代。

http://en.wikipedia.org/wiki/Attitude_indicator
418
 楼主| 发表于 2008-8-15 11:42 | 只看该作者
挂掉2块电了,都是充电很快充满,然后飞不了几分钟就没电。

看来是有些过放电了,每次都是飞不起来了才去冲。估计这时候已经低于7.4V了。
看来有必要我也做一个小的电量显示器。
419
发表于 2008-8-15 14:27 | 只看该作者
帮lz顶贴 需然不是很能理解 但对lz的精神坚决支持!!。
420
发表于 2008-8-15 17:46 | 只看该作者
楼主你真是我的偶像!要是能跟楼主学习就好了!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

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

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