BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / smartcar / #301同步于 2018/3/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Smartcar机器人发帖

加速度计的滤波

Ncer
2018/3/14镜像同步2 回复
最近做毕设,被加速度计的噪声搞得焦头烂额,终于找到个办法滤掉了这些噪声。 加速度计是非常敏感的一种传感器, 上一张图感受下,电机旋转起来后引起的振动在加速度计上的表现: (蓝色为加速度计、粉色为角度值) 显然,必须对加速度计进行一定的低通滤波,滤除高频部分。 如果不进行滤波,高频的噪声会影响角度的解算,表现就是会影响角度的解算,例如静止时候相同位置的角度是0°,那么一旦有高频噪声,此时计算出来可能就是5°了。 有一篇文章对此有详细的分析: http://blog.csdn.net/nemol1990/article/details/41811061 根据文章所述,效果最好的是窗口滑动滤波, 下图是使用窗口滑动滤波对加速度计的三轴进行滤波后,角度值的波形:(忘记输出加速度了) 以下为窗口滑动滤波的一个实现: typedef struct{ float * Window_Buffer; int max; //数组长度 int i; }Window_Filter_Struct; float Window_Filter(Window_Filter_Struct * wfs,float data){ int j; float sum=0; int count; if(!wfs->Window_Buffer) return 0; wfs->Window_Buffer[wfs->i]=data; wfs->i++; if(wfs->i==wfs->max){ wfs->i=0; } for(j=0;j<wfs->max;++j){ sum+=wfs->Window_Buffer[j]; } return sum/wfs->max; }
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
bdyzhy9527机器人#1 · 2018/3/14
bd
ZJ机器人#2 · 2018/3/14
从实用的角度来讲, 那么烂的器件就不该用