【问题标题】:Getting 3D Android device orientation获取 3D Android 设备方向
【发布时间】:2014-04-02 08:08:23
【问题描述】:

大多数智能手机都配备 3 轴陀螺仪、3 轴磁力计和 3 轴加速度计。以一种巧妙的方式(卡尔曼滤波器)结合这些传感器的测量值,应该会产生快速、准确、无噪声和绝对的设备方向。这可以存储为四元数或偏航/俯仰/滚动值。

在 Android 中实现这一目标的最简单方法是什么?操作系统是否已经为您完成了这些计算?是否有可以使用的开源实现?

我能找到的大多数示例/教程只关注一种类型的传感器。但对于我的用例,只有通过适当的过滤融合所有三个传感器才是有意义的......

【问题讨论】:

    标签: android accelerometer gyroscope magnetometer kalman-filter


    【解决方案1】:

    您需要实现 SensorEventListener 接口。 在您的班级中,您必须声明这些:

    Sensor sensor;
    SensorManager sensorManager;
    

    并覆盖这些方法:

    public void onAccuracyChanged(Sensor sensor,int accuracy)
    {
    
    }
    
    public void onSensorChanged(SensorEvent event)
    {
    }
    

    在你的类的构造函数中(Activity 或...)

    sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
    sensorManager.registerListener(this,sensor,SensorManager.SENSOR_DELAY_GAME);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多