模吧

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

1509查看 | 2回复

MWC和FF算法比较

[复制链接]
发表于 2013-10-2 19:42:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一、刚才看了玉兔被破解后,还有多次失控过程,不得不让自己深入挖掘一下MWC的代码,最后发现了一个很搞笑的问题。

其实MWC根本没有用到任何卡尔曼滤波,也就是说,以加速度计取值,然后忽略+-2之内的变化,然后用取平均值校准陀螺。陀螺仪限幅+-500°。

虽然很简单有效,但是被移植到STM32有很多地方需要修改。如果依样画葫芦肯定会出现,侧翻等情况。


二、FF用了四元数姿态解算,这部分是学习了MK的代码,使用这种方式解算,不必担心加速度计会因为震动产生数据混乱,这点可以搜索一下关于卡尔曼滤波的视频。使用卡尔曼滤波解算姿态角度的优势就是,准确,速度快,比加速度计求平均值后用陀螺积分去控制来得准确,且有效。

FF在作者的的笔下也做了点小小的优化。特别是平滑输出部分,为了能发挥STM32高速的特点。

缩小很多变量希望能不变补偿参数的情况下能够支持更多尺寸的机架。这是早期的想法,但是经过试验,现在已经可以用默认参数兼容从230-600的机架不用调试参数即可飞行。

这个时候大家就会问我了,为什么FF会失去自稳。其实MWC在调试初期,你也可能看到飞机对角线的乱跳,然后炸鸡。这点原理是一样的,早期FF把陀螺仪的感度调节的过高,这样姿态角度值相等精确,但是飞机的电机和桨的补偿不够的时候,或者说补偿量过大了就会进入震荡,这个时候就失去自稳了。

解决办法:从MWC的角度是缩小LEVEL值,其实缩小这个值等同于缩小陀螺仪的感度,也就是等比例缩小了PID的补偿。

后期的FF已经把感度缩小了,相对来说对机架的兼容性也有所提高


这是我对MWC和FF姿态算法的比较。希望对大家有些帮助。

兰色精灵 该用户已被删除
发表于 2014-3-16 03:11:12 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2014-3-16 03:11:35 | 显示全部楼层
求沙发
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于模吧|APP下载|广告报价|小黑屋|手机版|企业会员|商城入驻|联系我们|模吧 ( 冀公网安备13080502000084号 )

© 2013-2020 Moz8.com 模吧,玩出精彩!