amobbs.com 阿莫电子技术论坛

标题: 新手对平衡小车卡尔曼滤波算法的总结 [打印本页]

作者: 2013的弹子球    时间: 2014-11-22 22:21
标题: 新手对平衡小车卡尔曼滤波算法的总结
由于做平衡小车,然后对那段滤波算法很疑惑,然后网上讲的又比较少,我看了一段时间的书。。。。。。。。。。。这是小弟的对这段卡尔曼滤波程序的一点理解,因为基础薄弱(大二),有错的请多多包涵。
先上程序,这是抄的不知道谁的代码。。。抱歉了。。不过这程序好像都写的差不多。。。附程序。。

作者: Wisen    时间: 2014-11-22 23:25
顶起来,谢谢分享!
作者: openm4    时间: 2014-11-22 23:29
谢谢分享。收了。
作者: yanjiesh    时间: 2014-11-26 21:17
学习了楼主,  谢谢 啊 ,我这两天 正愁着着这个呢!楼主还有其他的资料么?
作者: zhenghe    时间: 2014-11-26 21:52
才大二,能看懂很不错了。既然在大学,不如多放精力在理论上。
作者: shaojianbuguai    时间: 2014-11-26 22:05
比我大二时候牛多了
作者: 2013的弹子球    时间: 2014-11-26 22:17
yanjiesh 发表于 2014-11-26 21:17
学习了楼主,  谢谢 啊 ,我这两天 正愁着着这个呢!楼主还有其他的资料么? ...


作者: 2013的弹子球    时间: 2014-11-26 22:49
shaojianbuguai 发表于 2014-11-26 22:05
比我大二时候牛多了

你们那会不一样,条件没这么好,那会的人到现在才牛逼
作者: 2013的弹子球    时间: 2014-11-26 22:50
yanjiesh 发表于 2014-11-26 21:17
学习了楼主,  谢谢 啊 ,我这两天 正愁着着这个呢!楼主还有其他的资料么? ...

啊啊啊啊,电脑修好了再发,现在用的别人的。。。
作者: 2013的弹子球    时间: 2014-11-26 22:58
zhenghe 发表于 2014-11-26 21:52
才大二,能看懂很不错了。既然在大学,不如多放精力在理论上。

谢谢前辈
作者: dxzky    时间: 2014-11-27 00:16
赞一个,大三开始做平衡车一开始也搞不明白卡尔曼...也是花了很长时间和很多人交流过后,才明白一点...
作者: 老谷    时间: 2014-11-27 07:21
谢谢分享
作者: xiangbin099    时间: 2014-11-28 10:52
谢谢分享……
作者: chun2495    时间: 2014-11-28 11:15
zhenghe 发表于 2014-11-26 21:52
才大二,能看懂很不错了。既然在大学,不如多放精力在理论上。

我不认为这样 ,我觉得在大学实践更重要, 因为理论理解的再透彻,也不顶做成一个东西。
作者: 2013的弹子球    时间: 2014-11-28 12:30
嗷,都有道理。
作者: franki    时间: 2014-11-28 19:39
才大二就搞 卡尔曼滤波啦 !  现在孩子懂的真多
作者: qwe2231695    时间: 2014-11-28 22:10
写的不错~~!!!!
作者: tooper2    时间: 2014-11-28 22:23
正式我要找的东西,学习了!
作者: 大田    时间: 2014-11-28 22:29
我当时只会51单片机。。。
作者: dukang    时间: 2014-11-29 18:00

顶起来,谢谢分享!
作者: Krise@pasion    时间: 2014-11-29 18:12
下载看过,资料不错
作者: jiang887786    时间: 2014-11-29 18:29
谢谢楼主,收下了,希望我以后不走弯路。
作者: dory_m    时间: 2014-11-29 19:07
学习,谢谢!!!
作者: Ray______    时间: 2014-12-6 11:13
我看不懂就直接用了
作者: yzh    时间: 2014-12-10 22:04
本人也想学习这个,先收下了,谢谢分享!
作者: lf8013    时间: 2015-1-2 22:09
正想学习这个,收下了,谢谢分享!
作者: sissigg    时间: 2015-1-8 15:12
谢谢分享
作者: makeflyeasy    时间: 2015-1-8 21:41
本帖最后由 makeflyeasy 于 2015-1-8 21:49 编辑
chun2495 发表于 2014-11-28 11:15
我不认为这样 ,我觉得在大学实践更重要, 因为理论理解的再透彻,也不顶做成一个东西。 ...


同意,理论就像织网的线,经验就像线中的结,理论再多没有经验照样是一盘散线,钓不上大鱼,不如来一点线打一个结实的结,时间长了才能学有所成,所以我非常反感现在的大学教育,4年教出的大部分是废材,到头来大学知识大部分白学,工作中才慢慢走上正道,某些专家还美其名曰多学理论增长见识,放屁,一群误人子弟的蠢货。

此外,楼主程序中的这里感觉有点问题:
void count_Acc_angle()                                                                                                                                                                                                       
//反正切计算倾角值
{
        Read_Acc();
          if(temp_acc_y>0)
        {
                Acc_angle = atan2((float)temp_acc_y,(float)temp_acc_z)*(180/3.14159265);                          
        }
                else
                {
                   Acc_angle = atan2((float)temp_acc_z,(float)temp_acc_y)*(180/3.14159265)-90;               
                        Acc_angle = -Acc_angle;
                }
}
这样计算是不靠谱的哈,你这是计算Y轴的值,我万一把车朝X轴偏移了45度呢?输出的值就是不准的,解算姿态要XYZ3轴加速度值都得用上。
举个例子:AngleAx=atan(Angle_ax/sqrt(Angle_ay*Angle_ay+Angle_az*Angle_az))*180/3.141592657;
作者: 2013的弹子球    时间: 2015-1-9 12:29
makeflyeasy 发表于 2015-1-8 21:41
同意,理论就像织网的线,经验就像线中的结,理论再多没有经验照样是一盘散线,钓不上大鱼,不如来一点线 ...

奥。。。平衡小车是单轴的。。。没有x轴
作者: 2013的弹子球    时间: 2015-1-9 12:32
makeflyeasy 发表于 2015-1-8 21:41
同意,理论就像织网的线,经验就像线中的结,理论再多没有经验照样是一盘散线,钓不上大鱼,不如来一点线 ...

奥。。我觉得我们本科学的那些东西本身是没有问题的。。。只是人的问题。。。
作者: zjk    时间: 2015-1-9 12:43
LZ的分享很适合新人学习
作者: makeflyeasy    时间: 2015-1-9 21:01
2013的弹子球 发表于 2015-1-9 12:29
奥。。。平衡小车是单轴的。。。没有x轴

万一在斜坡上跑呢?程序还是不要有漏洞为好。

也是,没有那些庸人,哪来的精英呢?我们的工资怎么会比别人高呢,精英之所以是精英,就是因为与众不同啊。让那些喜欢打游戏的打游戏去吧,欢迎腾讯再开发几款千万玩家级的游戏,这样工作竞争压力也小点。
作者: 2013的弹子球    时间: 2015-1-9 22:33
makeflyeasy 发表于 2015-1-9 21:01
万一在斜坡上跑呢?程序还是不要有漏洞为好。

也是,没有那些庸人,哪来的精英呢?我们的工资怎么会比别 ...

啊。。。原来是这样。。。从来没想到过。。。。
作者: westloveohyeah    时间: 2015-2-16 16:44
你的去漂移方法不太好,考虑一下降噪
作者: 2013的弹子球    时间: 2015-2-16 22:18
westloveohyeah 发表于 2015-2-16 16:44
你的去漂移方法不太好,考虑一下降噪

你说陀螺仪的?里面有一段对误差的积分可以消除漂移
作者: 2013的弹子球    时间: 2015-2-16 23:34
westloveohyeah 发表于 2015-2-16 16:44
你的去漂移方法不太好,考虑一下降噪

额。。对不起我以为是四旋翼的。。。谢谢你。。确实需要改进的地方很多。
作者: westloveohyeah    时间: 2015-2-23 16:55
2013的弹子球 发表于 2015-2-16 23:34
额。。对不起我以为是四旋翼的。。。谢谢你。。确实需要改进的地方很多。 ...

去漂移的本质是要对漂移数据进行时间序列分析,进而利用误差模型对输出数据进行一次卡尔曼滤波,得到降噪的陀螺仪数据。最后再结合降噪的误差模型和加速度计的误差模型进行第二次卡尔曼滤波,出来的结果才基本能用用
作者: hello_sunny    时间: 2015-3-5 13:13
谢谢分享了
作者: yllyly0454    时间: 2015-3-6 09:22
好文共赏!
作者: R8C    时间: 2015-3-6 09:52
卡尔曼滤波,好东西
作者: 2013的弹子球    时间: 2015-3-7 09:52
有错啊。。。对不起大家,卡尔曼增益的取值~跟初始的Q还有R直接相关,如果不能取精确模型就别用这个。。。。
作者: tangcangeng    时间: 2015-3-7 12:11
本帖最后由 tangcangeng 于 2015-3-7 12:16 编辑
makeflyeasy 发表于 2015-1-8 21:41
同意,理论就像织网的线,经验就像线中的结,理论再多没有经验照样是一盘散线,钓不上大鱼,不如来一点线 ...


恩 没有理论怎么会有这些代码呢 理论还是要学的 不过我个人觉得还是先打个理论基础先  把做练习题的时间变成做产品 就不会白学了 感觉你说的这些话都是先看了人家的代码然后再对照理论的 如果我说错了请不要在意啊 我虽然现在跟你的想法一样 但是我现在除了做产品外有时候还在不断复习课本上的理论 我有时候会想想我现在做的都是别人通过理论验证然后代码都已经可以参考了 但是哪天碰到如果要你开发一个市场没有现成可供参考的 需要从理论开始着手的话 就有点被动了  理论与实际动手都不能太偏 搞技术的不容易啊
作者: 菜鸟飞    时间: 2015-3-28 17:54
顶顶顶顶顶顶顶顶顶
作者: 左岸    时间: 2015-3-30 11:57
makeflyeasy 发表于 2015-1-8 21:41
同意,理论就像织网的线,经验就像线中的结,理论再多没有经验照样是一盘散线,钓不上大鱼,不如来一点线 ...

表示赞同
作者: 左岸    时间: 2015-3-30 14:37
A' 是A的什么矩阵啊?
作者: zxjfun    时间: 2015-11-24 11:20
左岸 发表于 2015-3-30 14:37
A' 是A的什么矩阵啊?

转置矩阵吧。。。
作者: gowin31581191    时间: 2016-2-5 14:02
我看了,還是不懂,還要努力學習了解
作者: gowin31581191    时间: 2016-2-5 14:03
我看了,還是看不懂,還要努力學習
作者: liupanliang    时间: 2016-2-15 17:20

谢谢分享。收了。
作者: 迷茫理工男    时间: 2016-4-25 13:17
谢谢分享
作者: zhanglongbao    时间: 2016-4-25 14:57
谢谢分享
作者: shortking    时间: 2016-5-3 20:14
mark 谢谢分享

作者: hongmark    时间: 2016-5-3 21:52
谢谢分享!!!!!!
作者: sjh306    时间: 2016-6-10 09:48
多系诶分享,正要学习,下了!
作者: 老魏    时间: 2016-6-10 11:27
谢谢分享!




欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4