OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
123
返回列表 发新帖

新手平衡小车卡尔曼滤波算法总结

  [复制链接]

14

主题

225

帖子

3

精华

高级会员

Rank: 4

积分
623
金钱
623
注册时间
2014-7-8
在线时间
26 小时
 楼主| 发表于 2015-4-25 07:51:23 | 显示全部楼层
回复【100楼】电子音符:
---------------------------------
回复【98楼】魂淡:
---------------------------------
检查程序对不对,如果可能,把波形绘在上位机上。
正点原子逻辑分析仪DL16劲爆上市
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2015-4-14
在线时间
0 小时
发表于 2015-4-25 10:31:11 | 显示全部楼层
回复【101楼】2013的弹子球:
---------------------------------
谢谢楼主,问题解决了,原因是卡尔曼滤波出现角度延迟太大造成的,修改一下参数就好了
回复 支持 反对

使用道具 举报

3

主题

27

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
423
金钱
423
注册时间
2015-3-8
在线时间
39 小时
发表于 2015-4-26 13:17:59 | 显示全部楼层
感谢楼主分享~~~
回复 支持 反对

使用道具 举报

16

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2014-4-12
在线时间
0 小时
发表于 2015-5-18 08:38:38 | 显示全部楼层
[mw_shl_code=c,true]//(1) PID_Control.OUT+=PID_Speed.I*Position; //(2) void TIM4_IRQHandler(void) //TIM4中断 { if (TIM_GetITStatus(TIM4, TIM_IT_Update) != RESET) //检查指定的TIM中断发生与否:TIM 中断源 { static u8 ms1=0,ms2=0,ms3=0; ms1++; ms2++; ms3++; if(ms1==2) { ms1=0; MPU6050_Pose(); } if(ms2==4) { ms2=0; Calculate_Pwm(Pitch); } if(ms3==20) { Lowpass_Filter();//20ms 计算一次积分的值 } TIM_ClearITPendingBit(TIM4, TIM_IT_Update ); //清除TIMx的中断待处理位:TIM 中断源 }[/mw_shl_code]

目前我的小车已经能只用角度环站起来了(挺稳的 几乎不动) 还没加速度环。因为对速度环的理论还没完全搞清楚。所以想在论坛上讨教清楚。

看了很多的PID资料,里面都会提到KI(积分系数),Ti(积分时间),T(采样周期)。那么问题来了?

PS:代码附在上面 1我是每个20ms  采一次速度的积分值。许多人说这就是积分时间。我也是这么觉得的。那采样周期T在哪呢?(在代码(2)中)

[/mw_shl_code]

2代码中的I是指什么呢? 是积分时间Ti呢,还是积分系数KI呢?

(在代码(1)中) (PS:这两个问题困扰我好久了,不知道你是怎么理解的呢)

[/mw_shl_code]
回复 支持 反对

使用道具 举报

16

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2014-4-12
在线时间
0 小时
发表于 2015-5-18 09:56:55 | 显示全部楼层
。、、
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2015-5-27
在线时间
0 小时
发表于 2015-5-28 10:53:35 | 显示全部楼层
楼主,


上面公式用的是Angle。 而你的代码用的是Q_angle 。能不能解释一下?角度误差是个什么东西?

回复 支持 反对

使用道具 举报

14

主题

225

帖子

3

精华

高级会员

Rank: 4

积分
623
金钱
623
注册时间
2014-7-8
在线时间
26 小时
 楼主| 发表于 2015-5-28 23:47:40 | 显示全部楼层
回复【106楼】chopininoctober:
---------------------------------
角度的协方差
回复 支持 反对

使用道具 举报

4

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2015-6-4
在线时间
7 小时
发表于 2015-6-4 10:47:38 | 显示全部楼层
楼主大大 。。你的解释帮了我很大的忙谢谢 。。
但是我太笨 还有点弄不懂

五,最后一步对矩阵P进行更新,因为下一次滤波时要用到

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;

P(k|k)=I-Kg(k) HP(k|k-1) ……… (5)//跟预测方差阵


这一块的PP[0][0] -= K_0 * t_0;右边式子是怎么换算到左边的啊
回复 支持 反对

使用道具 举报

4

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2015-6-4
在线时间
7 小时
发表于 2015-6-4 10:54:27 | 显示全部楼层
已经算出来啦不过还是谢谢提供这么好的解析 没看之前完全弄不懂那些死板文章写的是什么
回复 支持 反对

使用道具 举报

4

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2015-6-4
在线时间
7 小时
发表于 2015-6-4 11:34:28 | 显示全部楼层
 请问各位大大
#define dt                  0.02//卡尔曼滤波采样频率 
#define R_angle          0.5 //测量噪声的协方差(即是测量偏差)
#define Q_angle          0.0001//过程噪声的协方差 
#define Q_gyro           0.0003 //过程噪声的协方差  
这几个值怎么确定?是都要调吗?
回复 支持 反对

使用道具 举报

头像被屏蔽

65

主题

280

帖子

0

精华

高级会员

Rank: 4

积分
674
金钱
674
注册时间
2013-8-11
在线时间
29 小时
发表于 2015-6-5 13:32:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

10

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
146
金钱
146
注册时间
2014-8-7
在线时间
4 小时
发表于 2015-8-9 09:50:02 | 显示全部楼层
回复【5楼】login_FAE:
---------------------------------
你的头像真搞笑
回复 支持 反对

使用道具 举报

2

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2015-6-19
在线时间
7 小时
发表于 2015-8-9 10:10:14 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

12

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
125
金钱
125
注册时间
2015-6-7
在线时间
41 小时
发表于 2015-8-9 12:48:42 | 显示全部楼层
有东西分享不错,但是解释里面写的不明不白,看的好纠结.......希望楼主能纠正一下哪里写的不明白的地方.谢谢啦
回复 支持 反对

使用道具 举报

12

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
125
金钱
125
注册时间
2015-6-7
在线时间
41 小时
发表于 2015-10-6 17:40:06 | 显示全部楼层
Pdot[0]=Q_angle - P[0][1] - P[1][0]; 
Pdot[1]= - P[1][1];
Pdot[2]= - P[1][1];/
Pdot[3]=Q_gyro;  //这里为什么等于Q_gyro?

//以下几步为什么用到叠加?
PP[0][0] += dot[0] * dt;   
PP[0][1] += dot[1] * dt; 
PP[1][0] += dot[2] * dt;
PP[1][1] += dot[3] * dt;
回复 支持 反对

使用道具 举报

32

主题

223

帖子

0

精华

高级会员

Rank: 4

积分
694
金钱
694
注册时间
2015-9-23
在线时间
120 小时
发表于 2015-10-6 17:47:28 | 显示全部楼层
谢谢分享~~~
回复 支持 反对

使用道具 举报

14

主题

225

帖子

3

精华

高级会员

Rank: 4

积分
623
金钱
623
注册时间
2014-7-8
在线时间
26 小时
 楼主| 发表于 2015-10-6 22:55:34 | 显示全部楼层
回复【104楼】魂淡:
---------------------------------
自平衡小车用双输入单输出这种控制策略才能真正稳定,闭环是两个闭环
回复 支持 反对

使用道具 举报

14

主题

225

帖子

3

精华

高级会员

Rank: 4

积分
623
金钱
623
注册时间
2014-7-8
在线时间
26 小时
 楼主| 发表于 2015-10-6 22:56:43 | 显示全部楼层
回复【104楼】魂淡:
---------------------------------
有换算关系。T和积分时间,网上查一下
回复 支持 反对

使用道具 举报

12

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
125
金钱
125
注册时间
2015-6-7
在线时间
41 小时
发表于 2015-10-6 23:17:53 | 显示全部楼层
回复【118楼】2013的弹子球:
------------------------
请问楼主,
五,最后一步对矩阵P进行更新,因为下一次滤波时要用到
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;
P(k|k)=(I-Kg(k) H)P(k|k-1) ……… (5)//跟预测方差阵

这里的I是不是为1 的二阶矩阵?我算出的结果跟上面的不一样,我算的结果如下,不知道哪里出错
        P[0][0] -= K_0 * t_0+PP[1][0];
PP[0][1] -= K_0 * t_1+PP[1][1];
PP[1][0] -= K_1 * t_0+PP[0][0];
PP[1][1] -= K_1 * t_1+PP[0][1];
还有,
 dot[0]=Q_angle - P[0][1] - P[1][0]; 
Pdot[1]= - P[1][1];
Pdot[2]= - P[1][1];/
Pdot[3]=Q_gyro;

PP[0][0] += dot[0] * dt;   
PP[0][1] += dot[1] * dt; 
PP[1][0] += dot[2] * dt;
PP[1][1] += dot[3] * dt;  
这几步我还是没看明白,楼主能不能再说明一下?谢谢啦
回复 支持 反对

使用道具 举报

12

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
125
金钱
125
注册时间
2015-6-7
在线时间
41 小时
发表于 2015-10-6 23:22:17 | 显示全部楼层
回复【118楼】2013的弹子球:
---------------------------------
这里的H是不是[1 1]啊?
回复 支持 反对

使用道具 举报

1

主题

12

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2013-7-17
在线时间
0 小时
发表于 2015-10-8 17:45:29 | 显示全部楼层
留个脚印,做收藏
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2015-12-8
在线时间
0 小时
发表于 2015-12-8 21:33:39 | 显示全部楼层
请问程序中的C_0是什么
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
31
金钱
31
注册时间
2015-11-12
在线时间
2 小时
发表于 2016-1-3 22:12:43 | 显示全部楼层
楼主,你好,想向你问个问题,我在用串口调试助手显示mpu6050的输出角度是不一会就会不出数据了,好像卡死了一样,不知什么情况?不知你遇到过吗,谢谢
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
31
金钱
31
注册时间
2015-11-12
在线时间
2 小时
发表于 2016-1-3 22:15:00 | 显示全部楼层
坡坡 发表于 2016-1-3 22:12
楼主,你好,想向你问个问题,我在用串口调试助手显示mpu6050的输出角度是不一会就会不出数据了,好像卡死 ...

@2013的弹子球
回复 支持 反对

使用道具 举报

51

主题

1456

帖子

3

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2611
金钱
2611
注册时间
2011-1-25
在线时间
175 小时
发表于 2016-1-4 09:24:46 | 显示全部楼层
谢谢分享。
回复 支持 反对

使用道具 举报

1

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2016-1-18
在线时间
7 小时
发表于 2016-1-18 22:26:54 | 显示全部楼层
   很厉害啊
回复 支持 反对

使用道具 举报

6

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
454
金钱
454
注册时间
2015-11-29
在线时间
50 小时
发表于 2016-3-18 21:17:45 | 显示全部楼层
好贴 不错
回复 支持 反对

使用道具 举报

11

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
339
金钱
339
注册时间
2016-3-31
在线时间
41 小时
发表于 2016-4-4 10:19:19 | 显示全部楼层
2013的弹子球 发表于 2015-1-3 17:56
楼上看一下这个。。MIT的超经典无数人看过的互补滤波器

        &nbsp ...

谢谢啊。。
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2016-3-18
在线时间
6 小时
发表于 2016-4-27 17:30:07 | 显示全部楼层
mark收藏一下,最近正想了解这方便的知识,谢谢分享。
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2016-5-6
在线时间
6 小时
发表于 2016-5-6 11:59:08 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

6

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
411
金钱
411
注册时间
2016-1-26
在线时间
51 小时
发表于 2016-5-24 10:26:51 | 显示全部楼层
66666666666666
回复 支持 反对

使用道具 举报

0

主题

17

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2016-5-19
在线时间
4 小时
发表于 2016-5-24 13:21:46 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

1

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2016-1-7
在线时间
13 小时
发表于 2016-5-24 16:37:33 | 显示全部楼层
MARK,学习了,我也想研究研究
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2016-6-16
在线时间
0 小时
发表于 2016-6-16 15:15:58 | 显示全部楼层
楼主关于卡尔曼的是哪本参考书?
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2016-6-16
在线时间
2 小时
发表于 2016-6-16 19:12:31 | 显示全部楼层
很好,很多产品都要用到,谢谢.
回复 支持 反对

使用道具 举报

0

主题

19

帖子

0

精华

高级会员

Rank: 4

积分
700
金钱
700
注册时间
2016-7-7
在线时间
84 小时
发表于 2016-7-19 20:57:32 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
39
金钱
39
注册时间
2016-7-5
在线时间
3 小时
发表于 2016-7-19 20:58:07 | 显示全部楼层
谢谢楼主分享~~
回复 支持 反对

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2503
金钱
2503
注册时间
2015-8-17
在线时间
383 小时
发表于 2016-7-20 09:15:18 | 显示全部楼层
http://www.openedv.com/thread-79275-1-1.html
大神,能帮我看一下这个是什么情况吗?
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2016-7-10
在线时间
6 小时
发表于 2016-7-22 16:17:17 | 显示全部楼层
可以的
回复 支持 反对

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2016-5-21
在线时间
32 小时
发表于 2016-7-24 17:26:34 | 显示全部楼层
我想请教一下:为什么用陀螺仪X轴的数据?而不用y轴或者z轴的呢?
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2016-7-27
在线时间
5 小时
发表于 2016-7-27 16:25:36 | 显示全部楼层
谢谢楼主的分享。有个问题想请教下子:如果小车在水平面上运动,这个偏转角度是 否也可以用加速度计计算的角度和陀螺仪的角度来进行卡尔曼滤波,因为我从别的网站上看到说对于飞行器偏转角由于重力加速度和水平面垂直,次偏转角无法有加速度计测的,即加速度的角度和陀螺仪的角度不是同一个角度,这样的话是否做卡尔曼滤波就没有意义?  谢谢
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-5-19
在线时间
14 小时
发表于 2016-8-9 18:23:24 | 显示全部楼层
我用printf("%0.2f    %0.2f    %0.2f\r\n",Angle,Angle_ax,Gyro_y);函数分别读取的加速度,角速度和倾角,我发现当我快速的改变板子的倾角的时候,比如快速变化10度,Angle(卡尔曼滤波后的倾角)瞬时变化非常快,可能会瞬间变化几十度然后回到正常角度,而当我缓慢变化10度的时候,Angle变化是正常线性变化到10度,在这两种变化中,Angle_ax(从MPU6050读取的值经过处理后的陀螺仪的Y轴数据)的变化一直都是线性正常的,并且Angle的值特别接近Angle_ax的值
问题:1,我快速改变板子倾角时Angle的变化正常吗?
      2,Angle正常变化的时候是应该与Angle_ax的值相近吗?

现在情况就是,就算我是在减小倾角,只要我快速地改变,它显示的倾角都会先增大再减小,而如果我慢速改变的话,倾角就会缓慢减小而不会出现中间的角度增大


*************读取数据********************
//定义MPU6050内部地址
#define        SMPLRT_DIV                0x19        //陀螺仪采样率 典型值 0X07 125Hz
#define        CONFIG                          0x1A        //低通滤波频率 典型值 0x00
#define        GYRO_CONFIG                0x1B        //陀螺仪自检及测量范围                 典型值 0x18 不自检 2000deg/s
#define        ACCEL_CONFIG        0x1C        //加速度计自检及测量范围及高通滤波频率 典型值 0x01 不自检 2G 5Hz
#define INT_PIN_CFG     0x37
#define INT_ENABLE      0x38
#define INT_STATUS      0x3A    //只读
#define        ACCEL_XOUT_H        0x3B
#define        ACCEL_XOUT_L        0x3C
#define        ACCEL_YOUT_H        0x3D
#define        ACCEL_YOUT_L        0x3E
#define        ACCEL_ZOUT_H        0x3F
#define        ACCEL_ZOUT_L        0x40
#define        TEMP_OUT_H                0x41
#define        TEMP_OUT_L                0x42
#define        GYRO_XOUT_H    0x43
#define        GYRO_XOUT_L                0x44       
#define        GYRO_YOUT_H        0x45
#define        GYRO_YOUT_L                0x46
#define        GYRO_ZOUT_H        0x47
#define        GYRO_ZOUT_L                0x48

//读取寄存器原生数据
           
        MPU6050_Raw_Data.Accel_X = (buf[0]<<8 | buf[1]);
        MPU6050_Raw_Data.Accel_Y = (buf[2]<<8 | buf[3]);
        MPU6050_Raw_Data.Accel_Z = (buf[4]<<8 | buf[5]);
        MPU6050_Raw_Data.Temp =    (buf[6]<<8 | buf[7]);  
        MPU6050_Raw_Data.Gyro_X = (buf[8]<<8 | buf[9]);
        MPU6050_Raw_Data.Gyro_Y = (buf[10]<<8 | buf[11]);
        MPU6050_Raw_Data.Gyro_Z = (buf[12]<<8 | buf[13]);
      
      
        //将原生数据转换为实际值,计算公式跟寄存器的配置有关
        MPU6050_Real_Data.Accel_X = -(float)(MPU6050_Raw_Data.Accel_X)/8192.0;
        MPU6050_Real_Data.Accel_Y = -(float)(MPU6050_Raw_Data.Accel_Y)/8192.0;
        MPU6050_Real_Data.Accel_Z = (float)(MPU6050_Raw_Data.Accel_Z)/8192.0;
              MPU6050_Real_Data.Gyro_X=-(float)(MPU6050_Raw_Data.Gyro_X - gyroADC_X_offset)/65.5;   
        MPU6050_Real_Data.Gyro_Y=-(float)(MPU6050_Raw_Data.Gyro_Y - gyroADC_Y_offset)/65.5;   
        MPU6050_Real_Data.Gyro_Z=(float)(MPU6050_Raw_Data.Gyro_Z - gyroADC_Z_offset)/65.5;   
    }
   


//******卡尔曼参数************
               
const float Q_angle=0.001;  
const float Q_gyro=0.003;
const float R_angle=0.5;
const float dt=0.01;                          //dt为kalman滤波器采样时间;
const char  C_0 = 1;
float Q_bias, Angle_err;
float PCt_0, PCt_1, E;
float K_0, K_1, t_0, t_1;
float Pdot[4] ={0,0,0,0};
float PP[2][2] = { { 1, 0 },{ 0, 1 } };

/*****************卡尔曼滤波**************************************************/
void Kalman_Filter(float Accel,float Gyro)               
{
        Angle+=(Gyro - Q_bias) * dt; //先验估计
       
        Pdot[0]=Q_angle - PP[0][1] - PP[1][0]; // Pk-先验估计误差协方差的微分

        Pdot[1]= -PP[1][1];
        Pdot[2]= -PP[1][1];
        Pdot[3]=Q_gyro;
       
        PP[0][0] += Pdot[0] * dt;   // Pk-先验估计误差协方差微分的积分
        PP[0][1] += Pdot[1] * dt;   // =先验估计误差协方差
        PP[1][0] += Pdot[2] * dt;
        PP[1][1] += Pdot[3] * dt;
               
        Angle_err = Accel - Angle;        //zk-先验估计
       
        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_y   = Gyro - Q_bias;         //输出值(后验估计)的微分=角速度

}

******************倾角计算*****************
void Angle_Calculate(void)
{

/****************************加速度****************************************/
       
        Accel_x  =  MPU6050_Real_Data.Accel_X;          //读取X轴加速度
        Angle_ax = Accel_x*1.2*180/3.14;     //弧度转换为度

/****************************角速度****************************************/
       
         Gyro_y = MPU6050_Real_Data.Gyro_Y;             
时间dt,所以此处不用积分
/***************************卡尔曼融合*************************************/
        Kalman_Filter(Angle_ax,Gyro_y);       //卡尔曼滤波计算倾角
       

回复 支持 反对

使用道具 举报

3

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
186
金钱
186
注册时间
2015-2-28
在线时间
29 小时
发表于 2016-11-17 09:48:58 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

14

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
356
金钱
356
注册时间
2016-7-20
在线时间
39 小时
发表于 2016-11-21 15:00:24 | 显示全部楼层
果然很好的一个帖子,感谢分享
回复 支持 反对

使用道具 举报

1

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
160
金钱
160
注册时间
2016-8-5
在线时间
23 小时
发表于 2016-12-19 02:51:36 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
160
金钱
160
注册时间
2016-11-25
在线时间
28 小时
发表于 2016-12-19 13:48:36 | 显示全部楼层
mark、、、、
回复 支持 反对

使用道具 举报

8

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
399
金钱
399
注册时间
2016-11-14
在线时间
51 小时
发表于 2017-3-6 10:34:41 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2017-6-13
在线时间
1 小时
发表于 2017-6-13 12:52:06 | 显示全部楼层
你好,我这用了卡尔曼滤波后会滞后。当突然转移一个角度后,它的波形会向上一下,然后在向下,导致滞后了。请问怎么解决呢
k.png
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
金钱
202
注册时间
2017-7-16
在线时间
32 小时
发表于 2017-7-16 01:30:17 | 显示全部楼层
专门注册了账号来感谢楼主,刚好需要的时候看到了,帮助太大了
回复 支持 反对

使用道具 举报

2

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2018-4-11
在线时间
16 小时
发表于 2018-4-16 18:52:48 | 显示全部楼层
请问楼主,6050不是有内置的dmp吗,经过它处理后得到姿态值(pitch roll yaw)之后 ,还需要卡尔曼滤波吗?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-3-28 16:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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