我的项目的目标是提出一种工具来测量和计算设备在Y轴上上下移动的时间。假设手机正坐在滑轮系统上,每次它向上移动一段距离,比如说1英尺,然后向下移动,我想把它算作1次重复。甚至可以到达图表上显示运动的位置。
到目前为止,我的研究为我提出了一些结论: 加速度计噪音很大,我需要过滤我收到的任何数据。 我需要将陀螺仪与acclerometer结合使用。 互补滤波器可以更轻松地平滑传感器的数据。 在传感器开始“聆听”重复之前,我需要获得传感器的方向(基于重力?)。
所以根据我的理解,首先我需要获得方向。接下来,让传感器听取运动。然后存储数据,对其进行过滤以获得振荡模式,将其应用于峰值检测算法并存储结果。
我参考此链接获取信息备用互补过滤器:http://web.mit.edu/first/segway/#misc 从这篇文章: Combine Gyroscope and Accelerometer Data
这对于了解如何将它组合在一起非常有帮助。
有没有人有任何类似于我的项目的代码?我甚至很难开始使用代码。
感谢您阅读
答案 0 :(得分:3)
自2.3版以来,它已内置于Android API中。使用Sensor.TYPE_LINEAR_ACCELERATION
代替Sensor.TYPE_ACCELEROMETER
:
Sensor.TYPE_ACCELEROMETER = Sensor.TYPE_LINEAR_ACCELERATION + Sensor.TYPE_GRAVITY
当使用传感器融合时(Sensor.TYPE_LINEAR_ACCELERATION
是传感器融合的结果),Android使用所有可用的传感器来获得最佳的加速度计读数而无需重力。
http://www.youtube.com/watch?v=C7JQ7Rpwn2k&feature=results_main&playnext=1&list=PL29AD66D8C4372129