智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 8265|回复: 26
打印 上一主题 下一主题

卡尔曼滤波算法

[复制链接]

15

主题

315

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5440

热心会员奖章优秀会员奖章活跃会员奖章论坛元老奖章资源大师奖章在线王奖章

威望
1409
贡献
3421
兑换币
109
注册时间
2011-10-9
在线时间
305 小时
跳转到指定楼层
1#
发表于 2012-2-11 15:46:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

上图是我用MATLAB仿真出来的卡尔曼滤波效果图。
绿色表示实际值,蓝色表示由加速度计测得的角度值,红色是融合了陀螺仪和加速度计测量数据经卡尔曼滤波处理后的到的估计值。
想问的是上图效果是不是就是卡尔曼滤波器正常工作时所得到的效果?

本帖子中包含更多资源

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

x

15

主题

315

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5440

热心会员奖章优秀会员奖章活跃会员奖章论坛元老奖章资源大师奖章在线王奖章

威望
1409
贡献
3421
兑换币
109
注册时间
2011-10-9
在线时间
305 小时
推荐
 楼主| 发表于 2012-2-11 18:52:33 | 只看该作者
xinhuaH 发表于 2012-2-11 16:50
小弟刚开始做车,懂得很少,有问题请教1楼的哥哥或姐姐,请帮帮忙!
上面是清华的方案的架构图,我自己对原 ...

首先说说为什么要通过加权融合加速度计和陀螺仪的数据以获得角度值。
先说加速度计,测量静态角度时比较准确,但是当被测物体处于运动状态时,由于物体本身运动会引入相对加速度,从而使得加速度计测得数据不能反应其当前角度。{:soso_e140:}
至于陀螺仪,测得是角加速度,要得到角度,只需要进行积分,但是积分会累积误差,随着时间推移积累的误差将使得其得到的角度值严重失真。{:soso_e126:}
综上所述,要获得比较准确的角度值,只能将两者的测量值融合起来。{:soso_e100:}
可以认为,在短时间内测得的数据,由陀螺仪积分得到的数据比较准确,故而在融合角度时,以陀螺仪的数据为基准,即角度值=初始值+由陀螺仪数据积分得到的角度变化值。而每隔一段时间后,就需要用加速度计的数值来修正陀螺仪的数值,这时,应该加大加速度计的权重,从而实现消除陀螺仪积累误差的目的。{:soso_e104:}
以上只是提供一种便于理解的思路,你可以在调试过程中不断进行再完善。{:soso_e130:}
回复 支持 1 反对 0

使用道具 举报

15

主题

315

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5440

热心会员奖章优秀会员奖章活跃会员奖章论坛元老奖章资源大师奖章在线王奖章

威望
1409
贡献
3421
兑换币
109
注册时间
2011-10-9
在线时间
305 小时
2#
 楼主| 发表于 2012-2-11 15:51:53 | 只看该作者
希望大家可以踊跃发表意见。
回复 支持 反对

使用道具 举报

26

主题

96

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1507
威望
824
贡献
283
兑换币
0
注册时间
2012-2-10
在线时间
200 小时
3#
发表于 2012-2-11 16:12:43 | 只看该作者
程序发出来看看...
回复 支持 反对

使用道具 举报

1

主题

70

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1821
威望
859
贡献
456
兑换币
152
注册时间
2010-10-14
在线时间
253 小时
4#
发表于 2012-2-11 16:34:18 | 只看该作者
把代码贴出来看一下就知道了!
回复 支持 反对

使用道具 举报

17

主题

170

帖子

0

精华

高级会员

Rank: 4

积分
927
威望
625
贡献
152
兑换币
0
注册时间
2012-2-9
在线时间
75 小时
5#
发表于 2012-2-11 16:50:56 | 只看该作者
小弟刚开始做车,懂得很少,有问题请教1楼的哥哥或姐姐,请帮帮忙!
上面是清华的方案的架构图,我自己对原理图的理解:1、加速度传感器输出地是加速度的值,其加速度 a=g×sinα,在角度α很小的时候,g×sinα≈g×α,这样,就能算出角度α,但是,当被测物体运动时,他的加速度一方面是由重力引起,另一方面是由其外部运动引起,所以测出的α就不准了2、陀螺仪测的是瞬时角速度,将其与时间Dt积分,便得到瞬时角度问题就是:为什么求两者的加权就能得到角度?或者说,我理解错了,能不能帮我解释一下,原理框图是怎么实现测角度的?
回复 支持 反对

使用道具 举报

17

主题

170

帖子

0

精华

高级会员

Rank: 4

积分
927
威望
625
贡献
152
兑换币
0
注册时间
2012-2-9
在线时间
75 小时
7#
发表于 2012-2-11 20:04:26 | 只看该作者
好的,谢谢,明白多了。我对你说的其中的一句话“而每隔一段时间后,就需要用加速度计的数值来修正陀螺仪的数值,这时,应该加大加速度计的权重,从而实现消除陀螺仪积累误差的目的。”我可不可以这么理解:加大加速度计的权值就是增加其比重,如可以(3倍(初始值+由陀螺仪数据积分得到的角度变化值)+7倍加速度计测的角度)/10,是这样进行修正吗?
第一次做车,问题多,谢谢啊!
回复 支持 反对

使用道具 举报

15

主题

315

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5440

热心会员奖章优秀会员奖章活跃会员奖章论坛元老奖章资源大师奖章在线王奖章

威望
1409
贡献
3421
兑换币
109
注册时间
2011-10-9
在线时间
305 小时
8#
 楼主| 发表于 2012-2-11 21:04:06 | 只看该作者
xinhuaH 发表于 2012-2-11 20:04
好的,谢谢,明白多了。我对你说的其中的一句话“而每隔一段时间后,就需要用加速度计的数值来修正陀螺仪的 ...

可以这么理解先,这东西都是边做边体会的,做到后面理解自然就会深刻多了。
PS:目前本人没有权限加好友。
回复 支持 反对

使用道具 举报

10

主题

247

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2320
QQ
威望
1335
贡献
471
兑换币
99
注册时间
2012-2-8
在线时间
257 小时
毕业学校
西北师大
9#
发表于 2012-2-11 21:59:35 | 只看该作者
学习了....
回复 支持 反对

使用道具 举报

17

主题

170

帖子

0

精华

高级会员

Rank: 4

积分
927
威望
625
贡献
152
兑换币
0
注册时间
2012-2-9
在线时间
75 小时
10#
发表于 2012-2-12 08:37:28 | 只看该作者
云端暮雪 发表于 2012-2-11 21:04
可以这么理解先,这东西都是边做边体会的,做到后面理解自然就会深刻多了。
PS:目前本人没有权限加好友 ...

真的非常感谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 11:22 , Processed in 0.179322 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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