智能车制作

标题: 融合互补滤波的一些问题 [打印本页]

作者: bobo_12300    时间: 2012-11-30 20:31
标题: 融合互补滤波的一些问题
    本人菜鸟,最近在调融合互补滤波算法。我对算法的理解大概如下。陀螺仪的短期测得的值比较准,但是由于存在温漂,进过积分,长期就不能用了。所以要通过加速度计进行修正角度,但是加速度计的短期不行,噪声比较大,所以要将陀螺仪高通,加速度计低通后进行一定比列的融合。才能比较准确的反应角度的变化。
我是这样做的:陀螺仪和加速度计分别进行了递推和一阶滤波,得到的滤波结果再按一定的比例进行拟合,滤波周期为0.2ms(测试过,整个滤波时间需90+毫秒),融合周期为2ms。但是出来的效果不理想。我不明白陀螺仪存在温漂,但是滤波后出来的角度应该是准确的,但是陀螺仪的温漂还是存在的呀~~最终直立控制量=P*(融合滤波后的角度)+D*(角速度(即陀螺仪的值))    ,这里的陀螺仪出来应该还是飘着的,应该是对控制量有影响啊~~

作者: yukunlinykl    时间: 2012-11-30 20:56
角度 = (角度+陀螺仪测得的角速度)*0.99 + 加速度计测得的角度*0.01;
作者: 644822830    时间: 2012-11-30 20:59

作者: bobo_12300    时间: 2012-11-30 21:09
yukunlinykl 发表于 2012-11-30 20:56
角度 = (角度+陀螺仪测得的角速度)*0.99 + 加速度计测得的角度*0.01;

参数调了,控制周期不同,系数也不同啊~~还是存在一个误差~
作者: bobo_12300    时间: 2012-11-30 21:10
644822830 发表于 2012-11-30 20:59

分享下调试经验和心得呗

作者: 644822830    时间: 2012-11-30 21:13
嘻嘻   我是做硬件的   
作者: 644822830    时间: 2012-11-30 21:13
滤波这一块我不太了解
作者: bobo_12300    时间: 2012-11-30 21:16
644822830 发表于 2012-11-30 21:13
滤波这一块我不太了解

呵呵~~西南交大貌似很猛的啊~
作者: yukunlinykl    时间: 2012-11-30 21:29
bobo_12300 发表于 2012-11-30 21:09
参数调了,控制周期不同,系数也不同啊~~还是存在一个误差~

那是啊,根据实际情况调整一下系数呗,应该没问题的。

作者: bobo_12300    时间: 2012-11-30 21:54
yukunlinykl 发表于 2012-11-30 21:29
那是啊,根据实际情况调整一下系数呗,应该没问题的。

我觉得软件应该没问题,硬件上因为有过错,按照论坛上普遍的做法,我把陀螺仪高通部分去掉了,这个可能会使温漂问题更加显现出来,运放用 轨对轨 LMV358 ,有点被这个搞晕了
作者: yukunlinykl    时间: 2012-11-30 21:58
bobo_12300 发表于 2012-11-30 21:54
我觉得软件应该没问题,硬件上因为有过错,按照论坛上普遍的做法,我把陀螺仪高通部分去掉了,这个可能会 ...

其实那个高通根本没有。
温漂的频率在0.5Hz一下,是一个非常非常低的频率。
实际上加速度计就是用来小温漂的,于是根本没必要用高通滤波了。
陀螺仪硬件稳定些的话,根本用不着加速度计。
用路程环完全可以立得很稳。

作者: zangfan    时间: 2012-11-30 21:59
不懂不懂
作者: HKD_WCS    时间: 2012-11-30 22:09
陀螺仪和加速度计如何进行了递推和一阶滤波能详细的说一下吗?
作者: 644822830    时间: 2012-11-30 22:14
bobo_12300 发表于 2012-11-30 21:16
呵呵~~西南交大貌似很猛的啊~

只是我我很水


作者: fmadot    时间: 2012-11-30 22:26
我是刚开始就拿掉高通电容的 自夸一句 那时候还没人提到过要拿掉高通呢。。。 不过你拿掉高通,就需要在每次开机前都读一下中位值啊 然后你还可以再加一个0.0001的积分量 不过这个可能有点小 这样也可以消除车跑起来以后可能存在的温漂
作者: bobo_12300    时间: 2012-12-1 08:10
fmadot 发表于 2012-11-30 22:26
我是刚开始就拿掉高通电容的 自夸一句 那时候还没人提到过要拿掉高通呢。。。 不过你拿掉高通,就需要在每次 ...

嗯嗯~~厉害,那么早就想到了。我在开机去了1024次陀螺仪的平均。积分时间是0.005s,软件我觉得可以了,下周试下官网的电路。之前一直用买的模块去高通的~
作者: bobo_12300    时间: 2012-12-1 08:18
HKD_WCS 发表于 2012-11-30 22:09
陀螺仪和加速度计如何进行了递推和一阶滤波能详细的说一下吗?

递推滤波就是把采集到的数据放入一个队列(其实就是数组。。。),然后求平均,下次采集的最新值替换原先队列中的最老值,在求平均,每次重复这个过程,一阶滤波就是一个公式   本次滤波值=a*上次滤波值+(1-a)*最新采样值,a需要根据实际效果调整,具体你可以去百度文库看看,一个叫12种常用滤波算法的文档记得是~~
作者: wang505    时间: 2012-12-1 10:22

作者: fmadot    时间: 2012-12-1 10:34
你有没有单观察过陀螺仪的输出 平放时也会有温漂?
作者: 静静的等待    时间: 2012-12-1 18:19

作者: HKD_WCS    时间: 2012-12-2 12:20
谢谢楼主:):):)
作者: xiaojiong    时间: 2013-1-26 14:28
二阶互补的你们有研究没?有的一起讨论哈!
作者: yufenghua1989    时间: 2013-4-13 10:25
yukunlinykl 发表于 2012-11-30 20:56
角度 = (角度+陀螺仪测得的角速度)*0.99 + 加速度计测得的角度*0.01;

请问这个角度和陀螺仪测出的角度不是一个值么?店铺是通过积分得出来的啊
作者: sdsunhui    时间: 2013-4-21 22:29
fmadot 发表于 2012-11-30 22:26
我是刚开始就拿掉高通电容的 自夸一句 那时候还没人提到过要拿掉高通呢。。。 不过你拿掉高通,就需要在每次 ...

如何温漂不是特别明显的话    是不是可以不用每次开机检测中位值?


作者: 小通通    时间: 2013-6-21 15:50
bobo_12300 发表于 2012-12-1 08:18
递推滤波就是把采集到的数据放入一个队列(其实就是数组。。。),然后求平均,下次采集的最新值替换原先 ...

您好,怎么找不到你说的那个12种常用滤波算法的文档呀?

作者: 林JJ    时间: 2014-2-27 11:44
小通通 发表于 2013-6-21 15:50
您好,怎么找不到你说的那个12种常用滤波算法的文档呀?

[attach]56216[/attach]就这个

作者: 明星春    时间: 2014-6-12 15:22
hehe
作者: anyangyuxin    时间: 2015-1-17 15:08
赞一个。
作者: xhrc    时间: 2016-3-7 18:28
小通通 发表于 2013-6-21 15:50
您好,怎么找不到你说的那个12种常用滤波算法的文档呀?

百度搜:11种常见的AD滤波算法
作者: 阿达的礼物    时间: 2016-11-27 00:29
yukunlinykl 发表于 2012-11-30 20:56
角度 = (角度+陀螺仪测得的角速度)*0.99 + 加速度计测得的角度*0.01;

请问一下 这个就 一阶滤波吗?


作者: znjqr    时间: 2016-11-27 13:07
谢谢楼主,支持分享

作者: 刘德华    时间: 2017-4-22 19:55
我用互补滤波调试波形时,左右移动车身,融合后的波形在正负范围内变化的特别厉害是怎么回事。求救





欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2