智能车制作

 找回密码
 注册

扫一扫,访问微社区

123
返回列表 发新帖
楼主: 赵露
打印 上一主题 下一主题

[软件类] 请教大家关于卡尔曼滤波的问题

  [复制链接]

1

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
362
威望
184
贡献
116
兑换币
117
注册时间
2013-9-9
在线时间
31 小时
毕业学校
杭州电子科技大学
21#
发表于 2016-1-15 20:21:37 | 只看该作者
一叶落尘 发表于 2012-2-23 18:24
R_angle=0.5这个参数有问题,调到0.001去试试。但你的程序我估计是抄的,参数基本都是错的。

你好,void Kalman_Filter(int Gyro,int Accel)//{
        Angle+=(Gyro - Q_bias) * dt;//X(k|k-1),先验估计

        Pdot[0]=Q_angle - PP[0][1] - PP[1][0];

        Pdot[1]=- PP[1][1];
        Pdot[2]=- PP[1][1];
        Pdot[3]=Q_gyro;

        PP[0][0] += Pdot[0] * dt;
        PP[0][1] += Pdot[1] * dt;
        PP[1][0] += Pdot[2] * dt;
        PP[1][1] += Pdot[3] * dt;

        Angle_err =Accel-Angle;//测量值-系统预测值

        PCt_0 = C_0 * PP[0][0];
        PCt_1 = C_0 * PP[1][0];

        E = R_angle + C_0 * PCt_0;

        K_0 = PCt_0 / E;
        K_1 = PCt_1 / E;

        t_0 = PCt_0;
        t_1 = C_0 * PP[0][1];

        PP[0][0] -= K_0 * t_0;//更新协方差矩阵
        PP[0][1] -= K_0 * t_1;
        PP[1][0] -= K_1 * t_0;
        PP[1][1] -= K_1 * t_1;

        Angle        += K_0 * Angle_err;//计算角度最优估计值
        Q_bias        += K_1 * Angle_err;//更新静态偏差最优估计偏差
        Gyro_x   = Gyro - Q_bias;


}卡尔曼三个参数的物理意义是什么啊,看了好长一段时间了,Q_angle,Q_gyro,R_angle,我的理解是Q_angle是角度预测系统噪声,是陀螺仪静态偏差预测系统噪声,R_angle是加速度记测量噪声;Q_angle是陀螺仪的测量噪声吗,Q_gyro是陀螺仪温度引起静态偏差噪声吗,迷糊了有论文上说Q_angle是加速度计测量噪声,Q_gyro是陀螺仪测量噪声??求解
回复 支持 反对

使用道具 举报

4

主题

172

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1674
威望
826
贡献
502
兑换币
529
注册时间
2015-1-22
在线时间
173 小时
毕业学校
铃兰高校
22#
发表于 2016-1-22 10:49:31 | 只看该作者
666666
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-26 23:27 , Processed in 0.046889 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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