智能车制作
标题: 互补滤波公式的解释 [打印本页]
作者: 共和时代 时间: 2013-9-29 12:22
标题: 互补滤波公式的解释
x_acc = (float)(x_acc_ADC – x_acc_offset) * x_acc_scale;
gyro = (float)(gyro_ADC – gyro_offset) * gyro_scale;
angle = (0.98)*(angle + gyro * dt) + (0.02)*(x_acc);
谁能给我解释这几个的意思?我看见有很多版本,都不知道该信谁了?
作者: 共和时代 时间: 2013-9-30 11:52
angle = (0.98)*(angle + gyro * dt) + (0.02)*(x_acc);
1、其中angle+gyro*dt是积分部分。(角度+角速度*取样周期)。
2、(0.98)*(angle + gyro * dt),是高通部分,作用于陀螺仪上。
3、(0.02)*(x_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)*(x_acc);
5、然后有不对的大家讨论一下啊。
作者: wmslecz 时间: 2014-3-11 16:27
共和时代 发表于 2013-9-30 11:52
angle = (0.98)*(angle + gyro * dt) + (0.02)*(x_acc);
1、其中angle+gyro*dt是积分部分。(角度+ ...
哥们..你还有互补平衡的资料吗?可以分享一点给我吗?谢谢哈..
作者: hymwgk 时间: 2014-4-12 11:13
这个程序好像和官方的不一样啊,官方的变换之后好像没有高通低通之前的系数啊 搞不懂
作者: zhang116 时间: 2014-4-19 22:28
不是卡尔曼?
作者: 仪124 时间: 2014-8-29 10:47
共和时代 发表于 2013-9-30 11:52
angle = (0.98)*(angle + gyro * dt) + (0.02)*(x_acc);
1、其中angle+gyro*dt是积分部分。(角度+ ...
解释的很详细,多谢。多问一句,角速度积分乘0.01之后再乘一个常数可以不·?我看一些文档里这样写的。
作者: 尖峰大鲨鱼。 时间: 2014-10-2 16:07
作者: CRZH 时间: 2014-10-3 12:59
第一个 第二个是 获得零偏之后的 值 第三个是互补滤波 就是
请看附件 有视频解释 和程序
作者: 々律°~ 时间: 2014-10-10 13:11
作者: baikunfeng 时间: 2014-10-27 23:03
CRZH 发表于 2014-10-3 12:59
第一个 第二个是 获得零偏之后的 值 第三个是互补滤波 就是
请看附件 有视频解释 和程序
能不能发给我下?
249205649@qq.com 谢谢了
作者: 刘德华 时间: 2017-4-22 20:02
本帖最后由 刘德华 于 2017-4-22 20:08 编辑
、其中angle+gyro*dt是积分部分。(角度+角速度*取样周期)。
我以为是角度+角加速度*取样周期????
作者: znjqr 时间: 2017-4-23 11:11
这个程序好像和官方的不一样啊,官方的变换之后好像没有高通低通之前的系数啊 搞不懂
欢迎光临 智能车制作 (http://dns.znczz.com/) |
Powered by Discuz! X3.2 |