做飞思卡尔的平衡车有三年了,我今天想分享一下自己的一点互补滤波上的一点心得解释,欢迎拍砖。
公式:Angle = (0.98)*(Angle + Gyro * dt) + (0.02)*(Acc);
1、其中Angle+Gyro*dt是积分部分。(角度+角速度*取样周期)。
2、(0.98)*(Angle + Gyro * dt),是高通部分,作用于陀螺仪上。
3、(0.02)*(Acc)是低通部分,作用于加速度计。
4、其中0.98,0.02是可以根据自己的情况修改的。公式原样应该是Angle = (a)*(Angle + Gyro * dt) + (1-a)*(x_acc);
时间常数t=(a*dt)/(1-a) , 得到a=t/(t+dt)。dt为取样周期,t为时间常数自己设定,一般小于1。
比如取样周期为100HZ,也就是0.01s,那么dt=0.01。时间常数设为0.5(对于不同的系统都不一样,自己试验),那么a=0.5/(0.5+0.01)=0.9804。
那么Angle = (0.9804)*(Angle + Gyro * dt) + (0.0196)*(Acc);
5、对于第4点,如果觉得有问题,我觉得还可以这么理解:陀螺仪采集回来的总是有滞后的,但是加速度计总是超前的,两者是需要综合的,我们相信陀螺仪多一点,相信加速度计少一点,是采集回来的角度可以更好的适应我们的系统。
PS:对于平衡车这个系统,个人认为互补滤波已经足够,没必要用那么高深的卡尔曼。说的错的地方请大神指出,也希望自己没误导友友们。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
仅仅是平衡闭环的话是无法消除零漂的问题的,加了速度环之后,零漂的现象才能有效消除,只是一直没有很好的办法彻底根治这个问题,空调房和外界调试还是能感觉区别的,这也许也是组委会限用陀螺仪的原因吧。
漂不漂跟你采用什么控制是没关系的,之所以加了速度闭环效果好点,更加稳的住,是从速度上去抑制漂移带来的移动,抑制的是移动而不是传感器漂移
能 分享 清华方案吗?
是的,确切的说我想表述的是消除零漂带来的负面影响,学术要严谨,请原谅我没有水准的表述。
这里的清华方案是指竞赛秘书处智能车设计指南上所说的平衡方案,由于最初是清华提供的,所以称清华方案,竞赛官网上可以下载的,清华大学参赛队的方案就不得而知了。
一周热门 更多>