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

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

DIY飞控项目

[复制链接]
21
 楼主| 发表于 2011-6-14 13:33 | 只看该作者
原帖由 heuyck 于 2011-6-14 11:19 发表
呵呵,又有个想diy的,主要是搜索、分析、总结资料的能力。
国内的论文没技术含量,不过最后面写的引用参考资料找找会发现好东西。国外的资料比较多。
把一些理论、伪代码、源代码综合起来看,就会总结出一些实用的 ...

确实如此

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

22
发表于 2011-6-16 17:39 | 只看该作者
个人建议上好的陀螺仪芯片,至少我现在在用的L3G4200D在掌握了漂移情况后,还是很听话的。

之前看c_nmusic的文章,碰到的许多问题,比如干扰,在这个陀螺上就不存在。

目前,我这边要解决的问题是,怎么让一个3轴陀螺仪自己,不考虑漂移,能基本反应出模型的姿态。单纯的3轴积分是不行的。比如,把陀螺仪一段抬起90度,水平方向旋转90度,维持这个姿势放下90度,再把它放平。最后的3轴积分数据绝对不是0。LZ不妨试一试?

要解决,就得做空间变换,8位AVR的运算能力太差。目前正在学习arm7中。。。
23
发表于 2011-6-16 18:41 | 只看该作者
原帖由 dongfang 于 2011-6-16 17:39 发表
个人建议上好的陀螺仪芯片,至少我现在在用的L3G4200D在掌握了漂移情况后,还是很听话的。

之前看c_nmusic的文章,碰到的许多问题,比如干扰,在这个陀螺上就不存在。

目前,我这边要解决的问题是,怎么让一个 ...

你的L3G4200D,在静止时做简单积分,不加人姿态微分方程,漂移情况如何?5秒飘多少?
个人觉得,这个陀螺其实虽然稳定,但因为是数字的,反而不太适合做飞控
因为其最高采样率才800次/秒所以后续数据处理余地有限,而且无法采用模拟滤波(数字滤波太消耗CPU,内建滤波器又功能太弱)
“怎么让一个3轴陀螺仪自己,不考虑漂移,能基本反应出模型的姿态”---------姿态计算的微分方程就是做这个的,某轴的旋转角,不仅跟此轴陀螺转角有关,跟其他轴和姿态都有关,所以微分方程里面必须同时考虑三轴联动情况,四元数就是做这个的。当然也不一定就那么死板非得四元数,你自己根据三角函数推导个微分方程也是可以的,刚开始分析的时候是有点难,但如果三角函数和几何学得好最后也是能得出个大概可用的方程的,不想动脑就去翻捷联惯导书,上面都有的,只不过书上讲的计算量特大,对CPU要求很高,arm7是绝对不行的,我采用简化的微分方程用stm32算起来都很恰,富于不多,完全照书上的公式来的话估计够呛,要学新的最好直接上stm32或pic32,最好是dsp如tms320
24
发表于 2011-6-16 18:50 | 只看该作者
还有个,最近反复分析了下卡尔曼的原理,发现这个在固定翼上用好像不太适合?除非陀螺相当好,可信度很大。固定翼尤其是很重推重比又小的飞机,比如2kg以上天行者,可能存在的持续加速时间长达十几、二十多秒,这个期间加速度计的信息基本上是错误的,这时只能更多相信陀螺,但如果陀螺不好或姿态计算累积误差较大,十多秒就飘了好几度甚至十几度了,就不可用了

陀螺不好的话,互补滤波也不行的,采用廉价陀螺,数据融合也是个大问题,必须研究新的滤波方法
25
发表于 2011-6-17 07:18 | 只看该作者
原帖由 dstdx72 于 2011-6-16 18:41 发表

你的L3G4200D,在静止时做简单积分,不加人姿态微分方程,漂移情况如何?5秒飘多少?
个人觉得,这个陀螺其实虽然稳定,但因为是数字的,反而不太适合做飞控
因为其最高采样率才800次/秒所以后续数据处理余地有限 ...

L3G4200D的Z轴在静止时是非常稳定的,一分钟也不超过4~5度,XY轴就比较难看了,温漂没法完全消除。关于加速度计加速时的不可靠性,我觉得引入发动机推力数据,进行修正可能可以。我认为800次已经是很高了,不仅单片机的计算能力有限,而且采样越快,噪声问题也是越严重。
一直在考虑制作一种自我学习的模式,能让飞控能知道每个舵机的控制~反馈的函数关系式。这样飞控装在新的飞机上,先按一个学习路线遥控飞几圈,然后飞控就能适应这架飞机了。
26
发表于 2011-6-17 07:31 | 只看该作者

回复 楼主 aband 的帖子

:em26:
27
 楼主| 发表于 2011-6-17 20:23 | 只看该作者
本帖最后由 aband 于 2012-9-20 01:53 编辑
原帖由 dongfang 于 2011-6-16 17:39 发表
个人建议上好的陀螺仪芯片,至少我现在在用的L3G4200D在掌握了漂移情况后,还是很听话的。

之前看c_nmusic的文章,碰到的许多问题,比如干扰,在这个陀螺上就不存在。

目前,我这边要解决的问题是,怎么让一个 ...

RT

[ 本帖最后由 aband 于 2011-6-17 20:37 编辑 ]
28
 楼主| 发表于 2011-6-17 20:30 | 只看该作者
原帖由 dstdx72 于 2011-6-16 18:50 发表
还有个,最近反复分析了下卡尔曼的原理,发现这个在固定翼上用好像不太适合?除非陀螺相当好,可信度很大。固定翼尤其是很重推重比又小的飞机,比如2kg以上天行者,可能存在的持续加速时间长达十几、二十多秒,这个期 ...

卡尔曼做传感器信息融合 可以综合各类传感器的优点 并获得更高的精度 至于你说的长时间加速度的问题 跟卡尔曼没啥关系呀 它不是处理这个问题的 应该在做卡尔曼之前把有害加速度去掉
这几天正在实验一个卡尔曼滤波方案 还比较顺利 就是计算量实大太大 用在普通ARM7上比较勉强 不管他 先验证算法

[ 本帖最后由 aband 于 2011-6-17 20:38 编辑 ]
29
 楼主| 发表于 2011-6-17 20:34 | 只看该作者
原帖由 dongfang 于 2011-6-17 07:18 发表

L3G4200D的Z轴在静止时是非常稳定的,一分钟也不超过4~5度,XY轴就比较难看了,温漂没法完全消除。关于加速度计加速时的不可靠性,我觉得引入发动机推力数据,进行修正可能可以。我认为800次已经是很高了,不仅单 ...

呵呵这个自我学习很有难度呀 控制关系应该是很难显式表达的
30
 楼主| 发表于 2011-6-23 01:19 | 只看该作者
本帖最后由 aband 于 2012-9-20 01:53 编辑



[ 本帖最后由 aband 于 2011-6-23 01:31 编辑 ]
31
发表于 2011-6-23 14:42 | 只看该作者

纯粹的靠低价陀螺,你再好的算法也没用。

我所见过的自驾仪,都是非常依靠GPS的信号的,我最早玩的AP50,就是三个村田陀螺增稳阻尼,就能飞航线,而且还是三角翼。

不要试图去提高你姿态系统的性能,这个估计很难,要试图把GPS的信号引入你的姿态系统,让GPS的航向啊,位置点漂移啊,对你的姿态起到反馈作用。

没有什么飞机能只变化姿态,而不变化航迹的。GPS只要检测到航迹变化,就意味着你的姿态发生变化了。
32
发表于 2011-6-23 14:45 | 只看该作者

飞机的航迹变化,可以直接理解为飞机的姿态产生变化了

没有什么飞机会有了滚转角,而继续不偏航的前向飞行的。

在廉价的飞控中,GPS是唯一没有积累误差的,只有用好了GPS,才有可能研制出好的飞控。
33
发表于 2011-6-23 18:51 | 只看该作者
原帖由 hifiafrica 于 2011-6-23 14:45 发表
没有什么飞机会有了滚转角,而继续不偏航的前向飞行的。

在廉价的飞控中,GPS是唯一没有积累误差的,只有用好了GPS,才有可能研制出好的飞控。

理论上讲,可以用GPS从航机上分析是否发生了横滚,但俯仰又该如何去判断呢?靠速度?
不知是否我用的GPS不好的原因,速度显示和真实值有相当大的延迟和误差(接近1S)
而如果平衡仪因某种因素变得不可用,俯仰姿态变化是极快的,零点几秒的变化即可达到十几度,炸鸡是瞬间的事,靠GPS显然来不及,除非是速度很慢很轻那种
靠GPS修正姿态,估计只能在特定的机种上进行,飞控根据载机特点做专门调整
想要做出适用各种机型的恐怕悬哈
依靠廉价陀螺其实是可行的,前提是陀螺漂移不要太离谱
只要陀螺能维持足够长时间,等待加速度消失,就可以用加速度计去修正漂移了
问题的关键在于,用加速度计修陀螺正存在一个矛盾,一方面为了避免加速度影响姿态,修正速率和量越低越好
可是反复运动之后存在的姿态积累误差,又需要加速度计尽可能快地修正它
因此,需要找到对应于陀螺器件和载机的一个平衡点,找到了之后整个系统就非常可靠了
我这段时间就在反复试验,寻找最佳参数,虽然很费时,但估计还是很有效的
34
 楼主| 发表于 2011-6-23 20:15 | 只看该作者
原帖由 hifiafrica 于 2011-6-23 14:42 发表
我所见过的自驾仪,都是非常依靠GPS的信号的,我最早玩的AP50,就是三个村田陀螺增稳阻尼,就能飞航线,而且还是三角翼。

不要试图去提高你姿态系统的性能,这个估计很难,要试图把GPS的信号引入你的姿态系统,让 ...

用GPS那是必须的
我这才开头,得一步一步来 现在的目标就是把AHRS做好 把低端传感器的能力尽量发挥出来 再去进行下一步的工作
35
 楼主| 发表于 2011-6-23 20:28 | 只看该作者
原帖由 dstdx72 于 2011-6-23 18:51 发表

理论上讲,可以用GPS从航机上分析是否发生了横滚,但俯仰又该如何去判断呢?靠速度?
不知是否我用的GPS不好的原因,速度显示和真实值有相当大的延迟和误差(接近1S)
而如果平衡仪因某种因素变得不可用,俯仰姿 ...

获得可靠的轴向速度,利用速度与角速度就可以用来修正有害加速度
另外我觉得整个控制过程中应该有预测姿态的的环节,这样当某些传感器数据暂时不可用时,可以起一定的作用
兄弟有没有用压力传感器?
36
发表于 2011-6-23 20:38 | 只看该作者
原帖由 aband 于 2011-6-23 20:28 发表

获得可靠的轴向速度,利用速度与角速度就可以用来修正有害加速度
另外我觉得整个控制过程中应该有预测姿态的的环节,这样当某些传感器数据暂时不可用时,可以起一定的作用兄弟有没有用压力传感器?


我用了bmp085气压定高,不过不是用于姿态的,是用于3D航点的
可靠的轴向速度不是那么好获得的,有害加速度的去除不是那么简单的事
因为不单单是要去除加速度,同时还要抑制陀螺漂移,修正姿态计算积累误差
通常满足了这个就无法满足那个
等你做到这个环节的时候就晓得了,这个必须上机试,反复修改参数,直到找到合理值
姿态传感器必须时时刻刻有效,一旦任何一个出了故障,整个系统都将失效,没有传感器的测量作为基础,任何姿态估计都是没意义的,除非搞器件双备份
37
 楼主| 发表于 2011-6-23 21:25 | 只看该作者
原帖由 dstdx72 于 2011-6-23 20:38 发表


我用了bmp085气压定高,不过不是用于姿态的,是用于3D航点的
可靠的轴向速度不是那么好获得的,有害加速度的去除不是那么简单的事
因为不单单是要去除加速度,同时还要抑制陀螺漂移,修正姿态计算积累误差
通 ...

嗯 我的意思不是失效,是某个传感器数据短时间不可信
这种情况下姿态估计还是有作用的
38
 楼主| 发表于 2011-6-23 21:34 | 只看该作者
原帖由 dstdx72 于 2011-6-23 20:38 发表


我用了bmp085气压定高,不过不是用于姿态的,是用于3D航点的
可靠的轴向速度不是那么好获得的,有害加速度的去除不是那么简单的事
因为不单单是要去除加速度,同时还要抑制陀螺漂移,修正姿态计算积累误差
通 ...

利用4HZ的GPS,甚至不需要气压传感器,足够用来修正有害加速度了,没有想像的那么复杂
我是弄过的:em15:
39
发表于 2011-6-23 21:50 | 只看该作者
原帖由 aband 于 2011-6-23 21:34 发表

利用4HZ的GPS,甚至不需要气压传感器,足够用来修正有害加速度了,没有想像的那么复杂
我是弄过的:em15:

怎么弄的?大概讲讲原理撒:em15:
40
 楼主| 发表于 2011-6-23 23:52 | 只看该作者
原帖由 dstdx72 于 2011-6-23 21:50 发表

怎么弄的?大概讲讲原理撒:em15:

大概就是角速度叉乘速度等于加速度,这个加速度就是有害加速度
《理论力学》里有:em15:

[ 本帖最后由 aband 于 2011-6-23 23:55 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

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

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