小四轴9轴数据融合成功

前两天二代硬件终于到齐了,室友风风火火焊出来两架新硬件,没想到电路板上产生的磁场比地磁场还强,导致磁力计数据变化不明显,害得我们以为是焊接问题(毕竟DataSheet说不推荐手工焊接且温度不能超过260度),算是坑了室友一把呵呵~,其实进行一下校正就好了。磁力计的问题解决,果断换上早写好的九轴融合代码,妥妥的。11月22日,值得纪念的日子,算是完成了此前计划的12月前搞定姿态解算的计划。晒个图喽~

版权声明
原创文章,转载请说明出处:sheng-blog.cn
原文出处




吐槽下二代买的新桨叶,又硬又丑又效率低,一代的桨叶电机给4成占空比就飞起来了,新桨叶要加到7成~而且震动比旧桨高出N倍,导致姿态解算结果有1度左右的抖动。最重要的是卡在电机上拆不下来了。。。。
附所用九轴融合算法图解:

另有梯度下降法版本:

补充:随后发现高兴得太早,当开启电机之后,由于电机产生的磁场,磁力计根本无法分辨方向,由于电机磁场是变化的,所以无法通过校正来排除干扰。在随后的第三版硬件里尝试过使用单独一块小板放置磁力计,并架离电机平面(因为电机平面处受影响最大,通常采用架离处理,如大疆精灵系列就将磁力计隐藏在了脚架中),然而在能接受的高度范围内,依然无法得到有效数据。所以在PCB四轴上应该是无法使用磁力计的,目前也未看到市面上有使用了磁力计的PCB小四轴出现。
另:小四轴程序上主要是两大部分,一个是姿态解算,一个是PID控制。由于PID控制没什么可总结的,一成不变的公式一套就是,主要是参数调整比较磨人。所以直接在此补充PID框图如下:
单环PID控制,参数好调,但效果不稳定:

串级PID,内环难调,效果很赞:

你可能感兴趣的:(STM32)