6

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

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

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

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

当手机在旋转/运动时如何获得无漂移角度?

4

3 回答 3

2

据我所知,卡尔曼滤波器或类似的东西都是在 SensorManager 中实现的。查看Android 设备上的传感器融合:运动处理的革命

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

于 2011-11-09T08:57:12.220 回答
2

我是一个指南针应用程序的作者,该应用程序集成了来自磁性和陀螺仪传感器(稳定指南针)的数据。我主要在运行 Android 2.2 的 LG Optimus black(您可以在视频中看到的设备)上测试了这个应用程序,所以我将分享我的经验:

  • 陀螺仪读数非常准确。该传感器与加速度计和磁传感器正好相反,它们给出的读数有很多抖动。
  • 陀螺仪的读数(即角速度)根本不会漂移。如果您只集成陀螺仪读数,您将在估计方向时产生偏差。由于您在不同时间集成样本,因此您将获得一种在每个集成步骤后都会降级的方法。
  • 为了避免方向估计中的这种漂移,您必须考虑其他输入源来纠正来自陀螺仪数据集成的结果。解决方案是将来自方向传感器(磁+加速度)的数据与来自陀螺仪的数据集成。

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

你的手机是什么安卓版本?您是否使用陀螺仪测试过任何应用程序?你得到预期的结果了吗?

于 2011-12-05T19:27:45.280 回答
1

基本上陀螺仪会长时间漂移。而加速度计没有漂移,但往往不稳定。通过使用卡尔曼滤波器组合来自两个传感器的信息,您可以获得准确的姿态。对于一些不太复杂的情况,您还可以使用互补过滤器。

有关更多信息,请参阅此帖子: 结合陀螺仪和加速度计数据

于 2011-08-30T17:14:17.540 回答