智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 9059|回复: 19
打印 上一主题 下一主题

[分享] 给正在用或打算用卡尔曼滤波的同学的一点建议

  [复制链接]

21

主题

273

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2915
威望
1628
贡献
643
兑换币
264
注册时间
2012-1-15
在线时间
322 小时
跳转到指定楼层
1#
发表于 2012-4-26 22:50:21 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 yssdsz 于 2012-4-26 22:52 编辑

一个月后,重新焊了一块板,重新调整,解决了电路板上的种种问题,今天又用卡尔曼滤波站起来了。
MMA8451,陀螺仪短掉高通电容,P,D参数。

写了两个程序,只是中断时间不同。

一个是5ms。调整滤波参数,PD参数,只有角度控制,车可以前后摆动。轻轻地推一下也可以站好。

一个是7ms。考虑了5ms中断不足以完成采样均值滤波直立控制速度控制方向控制。将5ms程序中的定时中断参数,以及卡尔曼滤波中的时间参数全部改掉,车子根本无法静止。P参数调小不足以使角度恢复到0,稍大便引起车子的抖动,在原地跳。滤波的参数用CW带的波形显示看的,由于只能精确到整数,所以很难精确的看到微调参数后角度的变化(现在突然想到可以乘以个1000然后再看。。。)只能认为角度大体合适。只调PD没有结果,试着改了一下滤波中的参数pangle还有时间dt。由于pangle是角度测量协方差,所以P越大滤波后角度也会越平缓,但是Pangle很大时滤波产生延时。dt用来计算陀螺仪得到的角度。可能由于我陀螺仪值计算有误,将dt减小后,车子抖动的现象缓解了很多。再加上PD参数的调整,车子可以向前加速。

在车后放一小重物,车子便不会一直向前加速,也会向前减速,甚至后退一点。如果加的再重,可能达到前后晃动的效果。(这如果是飘移的问题,我确实希望它存在,只不过抖动一定要很小,不能干扰直立,速度控制应该是能将它解决的。)

但是有个问题。在过零点时车子有轻微抖动,经参数调整将抖动减到尽可能小。抖动较大时车子会不稳,都一段时间后想一个方向加速跑出去。

卡尔曼滤波的原理未知,参数调整方法需要不断探索,而且参数很多。卡尔曼滤波速度快,但是飘忽不定,这论坛上有一个互补卡尔曼滤波的对比,可以看到卡尔曼在变到一个角度时总是有一点飘,再加上滤波不太好,直接导致了我的车在零点的抖动。想用卡尔曼的同学一点要仔仔细细认认真真调整参数,是滤波后的角度值达到最优。

PS:速度快真的不一定好。稍微慢一点才最优。

有一个老外写的关于互补滤波的ppt,讲得很详细,维基百科英文板里也有关于低通滤波的详细介绍,认真看完之后是可以明白互补滤波的道理的,这,对于调整参数很有帮助。建议正在用或打算用卡尔曼滤波的同学的,能互补还是互补吧,两行式子就搞定,或者直接照抄参考方案的滤波方案,别再纠结于卡尔曼了,站起来跑起来是最重要的,其次才是速度。

欢迎各路高来指点,交流!

17

主题

105

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1791
威望
921
贡献
480
兑换币
403
注册时间
2012-5-5
在线时间
195 小时
20#
发表于 2013-6-24 11:38:53 | 只看该作者
wo520 发表于 2012-4-27 22:09
卡尔曼其实还不错,就是开机一瞬间会抖,而且会修正陀螺仪温飘,总体还可以吧!!

难道就不能解决这个开机抖动么!!!???

回复 支持 反对

使用道具 举报

17

主题

202

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1235
威望
626
贡献
417
兑换币
385
注册时间
2012-11-9
在线时间
96 小时
19#
发表于 2013-5-15 22:18:56 | 只看该作者
一开始不用卡尔曼滤波,速度提上去之后在考虑!
回复 支持 反对

使用道具 举报

4

主题

185

帖子

0

精华

高级会员

Rank: 4

积分
849
QQ
威望
439
贡献
322
兑换币
34
注册时间
2012-6-30
在线时间
44 小时
18#
发表于 2013-4-17 21:29:38 | 只看该作者
回复 支持 反对

使用道具 举报

1

主题

139

帖子

0

精华

高级会员

Rank: 4

积分
714
威望
333
贡献
227
兑换币
227
注册时间
2012-12-17
在线时间
77 小时
17#
发表于 2013-4-6 20:44:16 | 只看该作者
学习了,感谢
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
493
威望
262
贡献
109
兑换币
40
注册时间
2012-5-20
在线时间
62 小时
毕业学校
是打发打发
16#
发表于 2012-7-29 12:52:09 | 只看该作者
回复 支持 反对

使用道具 举报

18

主题

423

帖子

0

精华

知名人物

我是特种兵

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
22199

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

QQ
威望
10210
贡献
8815
兑换币
5686
注册时间
2011-9-11
在线时间
1587 小时
15#
发表于 2012-6-13 18:40:03 | 只看该作者
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
150
威望
178
贡献
62
兑换币
0
注册时间
2012-5-11
在线时间
20 小时
毕业学校
烟汽大
14#
发表于 2012-6-13 17:15:17 | 只看该作者
我想找个同学学习一下,愿意赐教的请留个qq号
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
150
威望
178
贡献
62
兑换币
0
注册时间
2012-5-11
在线时间
20 小时
毕业学校
烟汽大
13#
发表于 2012-6-13 17:13:06 | 只看该作者
小弟我今年第一次做,至今还没站起来,想问一下卡尔曼滤波后得到的角度还受惯性影响吗?
回复 支持 反对

使用道具 举报

0

主题

34

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1167
威望
452
贡献
219
兑换币
146
注册时间
2012-1-8
在线时间
248 小时
12#
发表于 2012-6-12 23:05:59 | 只看该作者
学习了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-1 07:02 , Processed in 0.057834 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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