加速度计的速度

时间:2017-08-25 03:39:31

标签: android accelerometer android-sensors kalman-filter

我得出的结论是,无法确定Android设备中加速度计的速度。假设我的初始速度为零,用于获得速度的积分模式将是

v_ib_b = old_v_ib_b + f_ib_b * dt ,

其中v_ib_b是沿着体轴分解的惯性体框架中的速度,f_ib_b是加速度计测得的力。
如果我想在本地导航框架ENU中计算智能手机的速度,可以使用以下公式(简化的Bortz方程忽略科里奥利/划桨和传输速率):

v_eb_n = old_v_eb_n + (C_b_n * (f_ib_b + 0.5 * cross(omega_ib_b, f_ib_b)) - g) * dt

其中C_b_n是ENU的旋转矩阵体 我试图使用Sensor.TYPE_ROTATION_VECTOR,MadgwickAHRS和我自己的传感器融合分别获得ENU框架中的方向,从而获得旋转矩阵。无论使用哪一个,这都是在骑自行车的同时将速度整合几分钟(智能手机安装在面向天空的车把上): enter image description here

这是集成的原始数据: enter image description here

我认为加速计表现不佳,噪音很大并且随着时间的推移取消任何测量,因此无法获得速度。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

加速度的相对非常小的变化将与噪音混合在一起。阻止使用GPS数据的东西是什么?另一个方向是将陀螺仪数据与加速度计数据相结合,以便更好地降低噪声,从而创建完整的IMU。