我正在开发一个用Android手机在空中画画的应用程序。
当我的手机移动时,由于重量计,我检索每个轴上的加速度ax,ay,az。我感兴趣的是:x,y,z。
从我在论坛和一些教程中读到的内容中,将加法两次集成会产生很大的错误。
那么,获取有关移位电话的信息的最佳解决方案是什么?
感谢您的帮助。
答案 0 :(得分:1)
不完全符合您的要求:
Store orientation to an array - and compare
跟踪方向效果很好。也许您可以使用加速度计数据执行类似操作(无需任何集成)。
正如您在帖子中提到的,将加速度两次积分不起作用。
<强>更新强>
如果精确度根本不重要,那么双积分可能会工作几秒钟,但预计结果非常差。
然而,在我看来,陀螺鼠是更好的选择。见
中的37:00-38:25Sensor Fusion on Android Devices: A Revolution in Motion Processing
答案 1 :(得分:0)
看看:
http://www.youtube.com/watch?v=C7JQ7Rpwn2k
http://www.freescale.com/files/sensors/doc/app_note/AN3397.pdf
此外,我正在开展一个类似的项目,我认为你不需要对加速度进行双重整合并计算移动的距离。而是使用加速本身来移动。
但是如果你坚持使用距离,通过在短时间间隔(t0,t1,...,tn)中采样加速度(a0,a1,...,a)并假设你在这个时间间隔内的加速度是边界,你可以有类似的东西;
Vs=(t1-t0)*(a1+a0)/2 + (t2-t1)*(a2+a1)/2 + ... + (t[n]-t[n-1])(a[n]+a[n-1])/2
T=t[n]-t[0]
Xs=Vs*T
与双重整合略有不同。祝你好运。