智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 6897|回复: 44
打印 上一主题 下一主题

卡尔曼 角度 波型 求指导 谢谢

  [复制链接]

2

主题

48

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2603
威望
1282
贡献
807
兑换币
851
注册时间
2012-11-2
在线时间
257 小时
毕业学校
华电
跳转到指定楼层
1#
发表于 2013-10-4 17:49:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

蓝色的是加速度计算出的角度
红色是卡尔曼滤出来的
但是红色的那个尖角一直都消不掉
也不知道什么样的波形算可以使用
希望知道的学长给说说  谢谢啦

本帖子中包含更多资源

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

x

51

主题

1633

帖子

0

精华

版主

Rank: 9Rank: 9Rank: 9

积分
7556

活跃会员奖章优秀会员奖章在线王奖章论坛元老奖章论坛骨干奖章

威望
3701
贡献
2453
兑换币
1398
注册时间
2012-5-3
在线时间
701 小时
2#
发表于 2013-10-4 19:36:52 | 只看该作者
这卡尔曼搞的跟没有有啥区别
回复 支持 反对

使用道具 举报

21

主题

896

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4068
威望
2252
贡献
1296
兑换币
1483
注册时间
2012-7-30
在线时间
260 小时
毕业学校
克莱德大学
3#
发表于 2013-10-4 19:37:10 | 只看该作者
你这明显有问题啊,滤波后的为什么尖峰比滤波前还要大,是不是哪里写错了。
回复 支持 反对

使用道具 举报

2

主题

48

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2603
威望
1282
贡献
807
兑换币
851
注册时间
2012-11-2
在线时间
257 小时
毕业学校
华电
4#
 楼主| 发表于 2013-10-4 22:22:02 | 只看该作者
本帖最后由 Eternalve 于 2013-10-4 22:31 编辑

还想问下  原始数据处理 有什么比较好的方法吗我是加速度计的两个轴算一个角度
陀螺仪读出角加速度

现在的一个数据
紫色的是陀螺仪的数据


感觉还是很粗糙
没有官方教程和大家的那种光滑的感觉

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

2

主题

48

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2603
威望
1282
贡献
807
兑换币
851
注册时间
2012-11-2
在线时间
257 小时
毕业学校
华电
5#
 楼主| 发表于 2013-10-4 22:24:49 | 只看该作者
rubick 发表于 2013-10-4 19:37
你这明显有问题啊,滤波后的为什么尖峰比滤波前还要大,是不是哪里写错了。

额 晚上找出问题了
陀螺仪极性反了
现在调了一下  有一个大范围的平衡
谢谢

一直都没注意这个问题   调多了才慢慢反应过来
还是应该吧加速度计和陀螺仪的数据都用曲线画出来
然后把卡尔曼的参数向想要的的方向调整
回复 支持 反对

使用道具 举报

2

主题

48

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2603
威望
1282
贡献
807
兑换币
851
注册时间
2012-11-2
在线时间
257 小时
毕业学校
华电
6#
 楼主| 发表于 2013-10-4 22:34:45 | 只看该作者
glacier0 发表于 2013-10-4 19:36
这卡尔曼搞的跟没有有啥区别

学长  请帮忙看下这个图
感觉很粗糙 是我原始数据处理的不好还是什么问题呀

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

51

主题

1633

帖子

0

精华

版主

Rank: 9Rank: 9Rank: 9

积分
7556

活跃会员奖章优秀会员奖章在线王奖章论坛元老奖章论坛骨干奖章

威望
3701
贡献
2453
兑换币
1398
注册时间
2012-5-3
在线时间
701 小时
7#
发表于 2013-10-5 19:51:06 | 只看该作者
你确定你这是卡尔曼滤波?
连代码都不愿意传上来谁知道你这是啥问题
回复 支持 反对

使用道具 举报

2

主题

48

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2603
威望
1282
贡献
807
兑换币
851
注册时间
2012-11-2
在线时间
257 小时
毕业学校
华电
8#
 楼主| 发表于 2013-10-5 20:35:13 | 只看该作者
glacier0 发表于 2013-10-5 19:51
你确定你这是卡尔曼滤波?
连代码都不愿意传上来谁知道你这是啥问题

额   没发过贴呀=。。=、

谢谢啦
用的是这种   输入角度(0~180)和 角加速度

float kf_again(float accelerometer_angle,float gyroscope_rate)         
{
        Q = 1,R = 6;                                                                                       

        NowData = RealData + gyroscope_rate*0.005;           
        //1.预估计 X(k|k-1) = A(k,k-1)*X(k-1|k-1) + B(k)*u(k)
        NowData_P = sqrt(Q*Q+RealData_P*RealData_P);      
        //2.计算预估计协方差矩阵   P(k|k-1) = A(k,k-1)*P(k-1|k-1)*A(k,k-1)'+Q(k)       
        Kg = sqrt(NowData_P*NowData_P/(NowData_P*NowData_P+R*R));
        //3.计算卡尔曼增益矩阵 K(k) = P(k|k-1)*H(k)' / (H(k)*P(k|k-1)*H(k)' + R(k))       
        RealData = NowData + Kg*(accelerometer_angle - NowData);  
        //4.更新估计 X(k|k) = X(k|k-1)+K(k)*(Z(k)-H(k)*X(k|k-1))
        RealData_P = sqrt((1-Kg)*NowData_P*NowData_P);           
         //5.计算更新后估计协防差矩阵 P(k|k) =(I-K(k)*H(k))*P(k|k-1)

        return RealData;
}

回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

高级会员

Rank: 4

积分
566
威望
303
贡献
161
兑换币
181
注册时间
2013-1-21
在线时间
51 小时
9#
发表于 2013-10-7 23:33:31 | 只看该作者
NowData = RealData + gyroscope_rate*0.005;     gyroscope_rate前面好像还要乘一个系统参数B可以调的,我之前也是有那个尖角,然后把B调成互补滤波里面的那个陀螺仪的比例系数就解决了   
后面的图好像也是控制量没给够,所以导致跟踪缓慢了   
看你第一张图好像是对加速度计的信任程度太大了.我的Q和R都差好几个数量级...  
不知道说的对不对
现在抖动频率低的时候能跟踪的很好,抖动频率高了就会偏移不知道为啥,还望调出来以后求教!!!
回复 支持 反对

使用道具 举报

2

主题

48

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2603
威望
1282
贡献
807
兑换币
851
注册时间
2012-11-2
在线时间
257 小时
毕业学校
华电
10#
 楼主| 发表于 2013-10-11 08:08:34 | 只看该作者
本帖最后由 Eternalve 于 2013-10-11 08:12 编辑
ちl小丑. 发表于 2013-10-7 23:33
NowData = RealData + gyroscope_rate*0.005;     gyroscope_rate前面好像还要乘一个系统参数B可以调的,我 ...

谢谢 回复这几天重新弄了一下滤波之前的原始数据

给加速度计加了一些限制  比如x轴受全部重力(静态)时  读回来的值是4100  
就if(X_axis>4100)X_axis=4100;
完全不受重力也这样限制一下
因为看数据的时候发现有一些太大的值  已经超过1g了

我之前的输出角度是0~180
后面直接用0~4096来衡量     
我想这样加速度计  和 陀螺仪 的数据处理以后量纲可能不一样
乘以一个系数把它们调到合理范围比较好
这个可能和系统参数B是一个意思  不知道我这样理解的对不对

目前波形还好
Q=1,R=100这样
我的也是高频有延迟
不知道小车的系统允不允许这样一个滞后
类似的算法是不是都有滞后呀

在调pid的时候发现  
人不扶着车的话  就算给较大的P   也会直接向一边倒下
可能是我们的机械结构有问题
所以在弄机械结构

再谢谢回复
加油^_^

波形还是一般般  
但是比之前好了些
没有微调
蓝色acc   紫色gyro    红色kalman

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-18 15:03 , Processed in 0.091138 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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