使用补偿算法对陀螺仪和电子罗盘进行数据融合,计算方位角
2016-05-11 16:50
447 查看
电子罗盘如 HMC5883L或者 MPU9250的AK8963测方位角时,经常会发现测量角度抖动很厉害。即使不动,角度也在不停的小范围内变化。这时候就需要使用陀螺仪对方位角进行补偿融合,得出稳定的数据。本文只讨论2D空间的方位角,就是电子罗盘X, Y两轴数据融合陀螺仪Z轴数据。
1. 电子罗盘和陀螺仪测量物理意义
电子罗盘:0-360度的方位角,也称为 yaw 。角度为arctan2(y,x)
陀螺仪: 围绕某轴旋转的角速度,这里我们只考虑Z轴,相当于方位角的变化速度速度
2. 融合算法公式
在某个时间点 Tx 上, 电子罗盘值为 YawCompassTx, 陀螺仪值为YawGyroTx, 融合后的数据为 YawFuzeTx
下一个时间点 Tx+1, 陀螺仪计算的角度变化为 delta_Yaw = YawGyroTx+1* delta_t, 其中 delta_t =
Tx+1 - Tx
YawFuzeTx+1 = K * ( YawFuzeTx+ delta_Yaw ) + ( 1 - K ) * YawCompassTx+1
其中K的取值范围一般为 [0.9, 1), 物理意义就是对陀螺仪的信任程度。
在T0时间点, YawFuzeT0 = YawCompassT0
电子罗盘如 HMC5883L或者 MPU9250的AK8963测方位角时,经常会发现测量角度抖动很厉害。即使不动,角度也在不停的小范围内变化。这时候就需要使用陀螺仪对方位角进行补偿融合,得出稳定的数据。本文只讨论2D空间的方位角,就是电子罗盘X, Y两轴数据融合陀螺仪Z轴数据。
1. 电子罗盘和陀螺仪测量物理意义
电子罗盘:0-360度的方位角,也称为 yaw 。角度为arctan2(y,x)
陀螺仪: 围绕某轴旋转的角速度,这里我们只考虑Z轴,相当于方位角的变化速度速度
2. 融合算法公式
在某个时间点 Tx 上, 电子罗盘值为 YawCompassTx, 陀螺仪值为YawGyroTx, 融合后的数据为 YawFuzeTx
下一个时间点 Tx+1, 陀螺仪计算的角度变化为 delta_Yaw = YawGyroTx+1* delta_t, 其中 delta_t =
Tx+1 - Tx
YawFuzeTx+1 = K * ( YawFuzeTx+ delta_Yaw ) + ( 1 - K ) * YawCompassTx+1
其中K的取值范围一般为 [0.9, 1), 物理意义就是对陀螺仪的信任程度。
在T0时间点, YawFuzeT0 = YawCompassT0
相关文章推荐
- 找工作笔试面试那些事儿(13)---操作系统常考知识点总结
- 接口测试的进展
- Fiddler 教程
- 针对Ajax常见错误的总结
- 数据结构实验之链表三:链表的逆置
- 学生信息管理系(二)
- 通过IL分析C#中的委托、事件、Func、Action、Predicate之间的区别与联系
- mysql命令行进入报错ERROR 2002 (HY000)
- Ubuntu16.04下 Matlab2015b安装与激活及注意事项:
- UDP广播通信
- 前端性能优化入门
- java中super的用法;
- poj 2533 N皇后问题 -- 递归回溯(打表)
- 单例
- 关于JavaScript的事件触发
- classPath 三个文章连接
- 你确实应该学习并使用的 10 个 C# 特性
- epoll-4
- Hive vs. HBase
- sql server 查询性能最差的sql语句