2017-08-25 177 views
0

我得出的结论是,无法确定在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

我假设加速度计执行差,噪音和取消任何测量随着时间的推移,因此无法获得速度。有任何想法吗?

回答

0

加速度相对较小的变化将与噪音混合在一起。是阻止使用GPS数据的东西?另一个方向是将陀螺仪数据与加速度计数据相结合,以获得更好的降噪效果,从而创建完整的IMU。

+0

将陀螺仪与加速度计结合是什么意思?如果你正在谈论传感器融合,我已经做到了这一点,以获得方向。 – optional