首页 文章

陀螺传感器漂移和正确角度估计

提问于
浏览
6

我正在使用LG Optimus 2x智能手机(陀螺仪和加速计传感器)进行定位 .

我想从陀螺仪中获得正确的旋转角度,以后可以用于身体到地球的坐标转换 . 我的问题是

我如何测量和消除陀螺仪传感器的漂移 .

一种方法是取陀螺样本的平均值(当移动设备处于静止状态时)一段时间并从当前样本中减去,这不是好方法 .

当移动设备处于旋转/运动状态时,如何获得无漂移角度?

3 回答

  • 1

    据我所知,在SensorManager中实现卡尔曼滤波器或类似的东西 . 看看Sensor Fusion on Android Devices: A Revolution in Motion Processing .

    您正在尝试解决已经解决的问题 .

  • 2

    我是罗盘应用程序的作者,该应用程序集成了磁性和陀螺仪传感器的数据(steady compass) . 我已经在运行Android 2.2的LG Optimus black(你可以在视频上看到的设备)测试了这个应用程序,所以我将分享我的经验:

    • 陀螺仪读数非常准确 . 这个传感器与加速度计和磁传感器正好相反,它给读数带来了很多抖动 .

    • 陀螺仪的读数(即角速度)根本不会漂移 . 如果只是整合陀螺仪读数,你将会对方向的估计有所偏差 . 由于您要在不同时间集成样本,因此您将获得一种在每个集成步骤后都会降级的方法 .

    • 为了避免方向估计出现这种偏差,必须考虑其他输入源来校正陀螺仪数据积分的结果 . 解决方案是集成来自方向传感器(磁加速度)的数据和来自陀螺仪的数据 .

    小心LG手机:根据Android API,陀螺仪将以rad / s返回数据 . 带有Froyo的LG Optimus Black以度/秒为单位给出读数 . Android 2.3的更新刚刚针对此类手机发布 . 我必须测试新版本是否符合规范 .

    您的手机有哪些Android版本?你用陀螺仪测试过任何应用吗?你有没有得到预期的结果?

  • 2

    基本上陀螺仪在很长一段时间内漂移 . 加速度计没有漂移,但往往不稳定 . 通过使用卡尔曼滤波器组合来自两个传感器的信息,您可以获得准确的姿态 . 对于一些不那么复杂的东西,你也可以使用补充滤波器 .

    有关详细信息,请参阅此帖子:Combine Gyroscope and Accelerometer Data

相关问题