DIY飞控技术心得
来源:苏州航拍 作者:杭州航拍 发布时间:2014-08-19 23:20 已经有:人看过
一.软件的差异性和重要性
以上是三款国外开源飞控,外表看起来差不多,但是性能和价格相差很大。为什么呢?
读了开源程序发现,KK飞控只有200行左右,MK有4000多行,软件才是真正区分飞控的关键。
硬件制板只要10天,软件调试少则半年、多则一年,
可以毫不夸张的说,硬件、外设是瓶,软件才是瓶中酒。而大多数用户雾里看花,看不到飞控软件的区别。
软件调一年?夸张了吧?要调试什么呢?请往下看:
二.没有好的算法,传感器啥都测不到
油门变大,传感器变得惨不忍睹。不同的滤波算法,图中蓝色、红色、黄色、棕色几根线(4个值求平均、8值平均、16平均,卡尔曼滤波)区别就很大了。
即使传感器选型一样,不同工程师选取算法不同,区别很大。抗震性能,会完全不一样。
做无人机的会用大名鼎鼎的“卡尔曼算法”。该算法的好处,可以从混乱的值中,找到真值。为了做好算法,要调试好几个月。
三.干扰加速度影响
飞控靠重力测垂直,有时候会很不靠谱。比如坐在过山车里,车子加速会感到“推背感”,转弯的时候会感到“往外甩”,在过山车里挂一个坠子,坠子会甩得乱七八糟。所以重力测定,会很不准确。
干扰加速度大的时候可以达到3-4倍重力。很吓人吧,如果不做软件估算并补偿,重力会被完全淹没掉,现在大多数飞控都有“加速度健康值”一项显示,但此值没有计算标准,有可能同样的飞行,A飞控“健康值”为0,但B飞控“健康值”能为50,这与工程师设计、调试也有关。
这是模友的飞行截图,可以看到139km/h以上时,健康值只剩下5了。
四.姿态解算
刚才讲了传感器容易不准确,再用这不准确的测量值,计算飞行姿态,
欧拉角、四元数算法(分为一阶、二阶、有的无人机用十六阶),不同的姿态解算办法,准确性也有差异,看看下图两曲线的吻合度。这些差异都是“动态误差”,也就是说地面看不出来,只有飞起来才看得出来:
为了做得更准,又要调试好几个月。
五.PID--“飞行控制算法”
在百度文库搜索“PID”论文,结果共1453197篇。PID种类丰富。有简单的、微分先行、模糊控制、神经网络控制、自适应(自学习)控制……..本人对模糊控制情有独钟,不同设计师也会选取不同的算法。
PID调节需要一个工程师长期经验。通常是要测量系统响应曲线、分析系统极点(震荡点),搞无人机的兄弟还会做matlab仿真,画很多的响应图、极点分析。写很多论文。
然后调啊调,终于有一天,发现调得很稳了,就像下面这张图,“模糊控制”曲线比“变PID控制”曲线震荡小,更稳。
升级一点,采用微分先行(避免控制值突变)、增加各种智能控制、限幅之类。
花这么多时间调这个有什么用呢?调好了,看看大疆的四轴漂亮的“锁点”、老外用四轴打乒乓球、用四轴盖房子,相当之稳定,锁在空中跟静止了似的。
六关于螺旋失速
微风+2212电机+2200mah电池,相当好飞,相信极少有人能把它飞螺旋掉。
查资料说,螺旋是因为气流分离,舵量无效。拿扔扑克作比方。如果扑克“切着风”扔,可以飞很远;如果扑克“气流分离”了,那么它会像一张纸片一样飘落。
于是在PID控制算法里,增加防止气流分离的办法(慢速控制),问题迎刃而解。