我正在使用LG Optimus 2x智能手机(陀螺仪和加速计传感器)进行定位。
我希望从陀螺仪中获得正确的旋转角度,以后可以用于身体到地球的坐标转换。我的问题是
如何测量和消除陀螺仪传感器的漂移。
一种方法是将陀螺样本的平均值(当移动设备处于静止状态时)一段时间并从当前样本中减去,这不是好方法。
当手机处于旋转/运动状态时,如何获得漂移角度?
答案 0 :(得分:2)
据我所知,在SensorManager中实现卡尔曼滤波器或类似的东西。查看Sensor Fusion on Android Devices: A Revolution in Motion Processing。
您正在尝试解决已经解决的问题。
答案 1 :(得分:2)
我是罗盘应用程序的作者,该应用程序集成了磁性和陀螺仪传感器(steady compass)的数据。我已经在运行Android 2.2的LG Optimus black(你可以在视频上看到的设备)测试了这个应用程序,所以我将分享我的经验:
小心使用LG手机:根据Android API,陀螺仪将以rad / s的形式返回数据。带有Froyo的LG Optimus Black以度/秒为单位给出读数。 Android 2.3的更新刚刚针对此类手机发布。我必须测试新版本是否符合规范。
您的手机有哪些Android版本?你用陀螺仪测试过任何应用吗?你有没有得到预期的结果?
答案 2 :(得分:1)
基本上陀螺仪会长时间漂移。加速度计没有漂移,但往往不稳定。通过使用卡尔曼滤波器组合来自两个传感器的信息,您可以获得准确的姿态。对于一些不那么复杂的东西,你也可以使用补充滤波器。
有关详情,请参阅此帖子: Combine Gyroscope and Accelerometer Data