用Android手机在空中画画

时间:2011-11-27 22:24:47

标签: android accelerometer android-sensors gyroscope

我正在开发一个用Android手机在空中画画的应用程序。

当我的手机移动时,由于重量计,我检索每个轴上的加速度ax,ay,az。我感兴趣的是:x,y,z。

从我在论坛和一些教程中读到的内容中,将加法两次集成会产生很大的错误。

那么,获取有关移位电话的信息的最佳解决方案是什么?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

不完全符合您的要求:

Store orientation to an array - and compare

跟踪方向效果很好。也许您可以使用加速度计数据执行类似操作(无需任何集成)。

正如您在帖子中提到的,将加速度两次积分不起作用。

<强>更新

如果精确度根本不重要,那么双积分可能会工作几秒钟,但预计结果非常差。

然而,在我看来,陀螺鼠是更好的选择。见

中的37:00-38:25

Sensor 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

与双重整合略有不同。祝你好运。