【问题标题】:Find movement of a device查找设备的运动
【发布时间】:2019-02-07 10:54:42
【问题描述】:

我正在开展一个项目,该项目需要找到设备运动产生的模式(例如高尔夫挥杆)。我已经搜索了很多,但仍然无法为此获得任何预打包的库。 现在我正在尝试从头开始构建一个。为了做到这一点,我从设备中检索了陀螺仪数据以找到这些模式,但到目前为止还没有成功。 这些是我在坚果壳中提到的案例。

  • 案例 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();
    }

非常感谢任何形式的帮助/指导。

【问题讨论】:

  • 请分享一些你已经拥有的代码
  • 添加了相同的@jrswgtr

标签: android accelerometer gyroscope


【解决方案1】:

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

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

https://github.com/ko5tik/accanalyser

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-02
    • 1970-01-01
    • 1970-01-01
    • 2012-01-15
    • 1970-01-01
    • 2012-03-31
    相关资源
    最近更新 更多