我想从加速度计事件中找到行进距离和速度。就像iphone的gMeter应用程序一样。
任何建议,我应该使用哪个价值或公式?
提前致谢。
答案 0 :(得分:9)
您可以使用加速度计的加速度值来测量速度和距离。有很好的论文(Implementing Positioning Algorithms Using Accelerometers)解释了你从加速度计得到的错误以及从加速度值中获得速度和位置的技巧。
一些伪代码:
velocity[i] = (acceleration[i] + acceleration[i-1])/2 * interval + velocity[i-1]
distance[i] = (velocity[i] + velocity[i-1])/2 * interval + distance[i-1]
interval
是acceleration/velocity[i]
和acceleration/velocity[i-1]
之间的时间,与加速度计的更新频率相关。
要提高准确度,您必须在正手中过滤加速度值。我已经在iPhone 3GS上实现了这样的算法,它运行得非常好。加速度计让您测量30厘米的距离,误差约为1厘米。我还没有测试更长的距离。