2012-04-18 132 views
3

我的项目的目标是想出一个工具来测量和计数当设备在Y轴上上下移动时。假设手机坐在滑轮系统上,每次它向上移动一段距离,比如说1英尺,然后退下来,我想把它算作1次重复。甚至可以达到移动在图形上显示的位置。Android滤波加速度计+陀螺仪显示信息

我的研究到目前为止已经指出了我的几个结论: 加速度计是嘈杂的,我需要过滤从它接收的任何数据。 我需要将陀螺仪与加速度计结合使用。 补充过滤器是一种更简单的方法,可平滑来自传感器的数据。 在传感器开始“聆听”重复之前,我需要获取传感器的方向(基于重力?)。

所以从我的理解,首先我需要定位。接下来,让传感器监听运动。然后存储数据,将其过滤以获得振荡模式,将其应用于峰值检测算法并存储结果。

我refered这个链接来获取信息reagerding互补过滤器:http://web.mit.edu/first/segway/#misc 从这个帖子: Combine Gyroscope and Accelerometer Data

这是在获得如何把它一起的想法方面非常有帮助。

有没有人有类似于我的项目的代码?即使开始使用代码,我也很难。

感谢您阅读

回答

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