Android传感器数据位移

时间:2012-07-01 20:01:15

标签: c++ accelerometer android-sensors

我有从Android手机计算的传感器数据。我使用xyz坐标上的矩阵进行变换。然后,我从手机中获取加速度以找到速度和位移。这是我找到位移和速度的代码。它始终是相应的先前值:

 velocity[e]   = (accel[e-3]) * (time[i]-time[i-1])+velocity[e-3];

 velocity[e+1] = (accel[e-2]) * (time[i]-time[i-1]) +velocity[e-2];

 velocity[e+2] = (accel[e-1]) * (time[i]-time[i-1])+ velocity[e-1];



      displacement[e] = (velocity[e-3])*(time[i]-time[i-1])+.5*(accel[e-3])*pow((time[i]-time[i-1]),2) + displacement[e-3];
      displacement[e+1] = (velocity[e-2])*(time[i]-time[i-1])+.5*(accel[e-2])*pow((time[i]-time[i-1]),2) + displacement[e-2];
      displacement[e+2] = (velocity[e-1])*(time[i]-time[i-1])+.5*(accel[e-1])*pow((time[i]-time[i-1]),2) + displacement[e-1];

然而,我得到的数字像-3436.0 19206.2 11373.5这样的位移不应该接近那么高。我甚至制作了一个测试文件来测试我的公式,一切都是正确的我得到的数字。但是,它与实际数据不相同。另外,我读了一些关于从加速度,速度和位移中去除均值的东西,但是不太明白,那么有人可以解释一个解决方案,以获得正确的数字吗?

1 个答案:

答案 0 :(得分:1)

It won't work,这些传感器不够精确,无法计算位置。

令人惊讶的是这个问题出现了多少次。