飞控编程中用到的“宽容”处理方法
请看下图:
这个图片里的红蓝两条曲线中,两条线基本是完全重合的,不同之处在于红线在跟随蓝线的过程中,并没有随着蓝线的抖动而抖动,其他基本都能完全反应蓝线的动向。如果使用蓝线控制舵机,就能感到舵机在不断的抖动,而如果使用红线来控制舵机,既能够完全体现蓝线的动态,又能够避免蓝线的所有抖动,这个不但能减少舵机耗电,还能减少舵机磨损,延长舵机寿命!
那么这个红线是怎么形成的呢?就是如下两行语句:
ax=compAngleX;
if(ax>ax0+0.5) ax0=ax-0.3;
if(ax<ax0-0.5) ax0=ax+0.3;
由ax获取蓝线数据(陀螺仪),通过上述方法将数值传递给ax0,同时忽略了蓝线在0.5内的抖动,使得舵机工作的非常安静平稳。
具体在使用中,自行调整宽容范围,使之既能紧紧跟随,又能避免抖动。