c++ - 安卓传感器数据位移

标签 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 应该不会那么高。我什至制作了一个测试文件来测试我的公式,就我得到的数字而言,一切都是正确的。但是,它不适用于真实数据。另外,我读到了一些关于从加速度、速度和位移中去除平均值的内容,但不太明白,所以有人可以解释一个解决方案以获得正确的数字吗?

最佳答案

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

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

关于c++ - 安卓传感器数据位移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11285227/

相关文章:

android - 如何在Android中启用接近传感器

c++ - 如何做一个常量对象的工厂

c++ - 在 C 或 C++ 中以编程方式删除非空目录

android - 加速度计 : shake the phone detector

accelerometer - 使用加速度计获取距离高度

java - 数字第二次小于 100

C++ 在堆上分配大数组给出 "out of memory exception"

c++ - 跟踪目标问题的均值漂移算法计算搜索窗口的质心更新

android - 加速度计在运行几分钟后同时触发多次

android - 在 Android 应用程序中阻止模拟器