智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1509|回复: 1
打印 上一主题 下一主题

[咨询] 高手帮忙看看这个卡尔曼程序。。。

[复制链接]

11

主题

290

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3405
威望
1240
贡献
731
兑换币
334
注册时间
2012-4-9
在线时间
717 小时
跳转到指定楼层
1#
发表于 2013-1-23 16:12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  我看了一些关于卡尔曼的资料之后自己写了一个卡尔曼的程序,不知是参数设的不对还是怎么回事,滤波之后的输出完全跟随加速度计的波形 没有一点儿滤波的效果 各位大神给看看怎么回事 小弟先行谢过
附程序及示波器图

程序:
#define dt 0.02
#define Q  1
#define R  9

void KalmanFilter(void)
{
   static float GyroIntegral = 1,
                Covariance = 1,
                KalmanGain = 1;
               
    g_fGravityAngle = g_fGravityAD*GRAVITY_ANGLE_RATIO;
    g_fGyroscopeAngleSpeed = g_fGyroscopeAD*GYROSCOPE_ANGLE_RATIO-1;
   
    OutData[0] = (int)g_fGravityAngle;
    OutData[1] = (int)g_fGyroscopeAngleSpeed;
   
   GyroIntegral += g_fGyroscopeAngleSpeed*dt;
   Covariance = Covariance + Q;
   KalmanGain = Covariance/(Covariance + R);
   GyroIntegral = GyroIntegral + KalmanGain*(g_fGravityAngle - GyroIntegral);
   Covariance = (1 - KalmanGain)*Covariance;
   
   g_fCarAngle = GyroIntegral;
   g_fCarAngleSpeed = g_fGyroscopeAngleSpeed;
   
   
    OutData[2] = (int)g_fCarAngle;
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

11

主题

290

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3405
威望
1240
贡献
731
兑换币
334
注册时间
2012-4-9
在线时间
717 小时
2#
 楼主| 发表于 2013-1-23 16:49:23 | 只看该作者
每一个人愿意帮忙么?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-29 21:49 , Processed in 0.044811 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表