查找设备的运动

时间:2019-02-07 10:54:43

标签: android accelerometer gyroscope

我正在从事一个项目,该项目需要找到由设备移动(例如,例如高尔夫挥杆)制成的图案。我进行了很多搜索,但仍然无法为此获得任何预打包的库。 现在,我正在尝试从头开始构建一个。为了做到这一点,我从设备中检索了陀螺仪数据以找到那些模式,但到目前为止还没有成功。 简而言之,我就是这些情况。

  • 情况1:找到像高尔夫挥杆一样的波动。
  • 案例2:绘制此图 在3D平面中运动,以便用户可以查看设备的运动。

当前源代码(来自陀螺仪的数据)

    float[] values = event.values;

    // Movement
    float x = values[0];
    float y = values[1];
    float z = values[2];

    xAxis.setText("X : " + (int)x + " rad/s");
    yAxis.setText("Y : " + (int)y + " rad/s");
    zAxis.setText("Z : " + (int)z + " rad/s");

    boolean waveFactor = (((int)z) > 3) && (((int)x) > 1);
    if(waveFactor) {
        Toast.makeText(context, "Horizontal wave success", Toast.LENGTH_SHORT).show();
    }

任何帮助/指导都很好。

1 个答案:

答案 0 :(得分:0)

陀螺仪不足以满足您的计划。您还将需要加速度计数据。并且还要考虑到,来自事件的轴信息位于与设备关联的坐标系中-而不是真实世界。因此,您将需要更复杂的代码来检测和评估运动。我做了一些小项目,以记录和显示来自加速度计的FFT分析数据。随时从中汲取灵感。

https://github.com/ko5tik/accmeter/blob/master/src/main/java/de/pribluda/android/accmeter/Sampler.java

https://github.com/ko5tik/accanalyser