android - 如何获得陀螺仪计算的初始方向?

标签 android orientation accelerometer sensors gyroscope

我的问题可能非常简单,但也可能是我完全错了 - 因此我决定问一下。最后,我将借助陀螺仪传感器的数据计算手机的方向。我知道我应该使用卡尔曼滤波器或互补滤波器之类的东西来应对陀螺漂移。我将在第二步执行此操作,但我在这里提出的问题对于两种方法都是相同的。所以,真正的问题是:

从陀螺仪我只能得到角度变化(积分后)。所以我需要的是一些初始值,我可以将当​​前测量的变化添加到。但是我如何获得这个起点呢?我是否使用加速度计和磁力计来确定手机的方向?或者这还有什么更好的办法吗?

如果重要的话,我为此使用 Android 并有一个实现来借助加速度计和磁力计来确定手机的方向,但它非常不准确。

最佳答案

使用任意方向作为初始方向。

任何合理的过滤器必须从中恢复并快速收敛到实际方向。

我使用了 Direction Cosine Matrix IMU: Theory 中描述的过滤器.我照顾了 integral windup通过限制 TotalCorrection(第 27 页)。就像一个魅力!

关于android - 如何获得陀螺仪计算的初始方向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8874397/

相关文章:

Android/C++ - 命令 ""\bin\ant.bat"以代码 3 退出

ios - nil 模态视图 Controller 错误

r - 使用 R 和传感器加速度计数据检测跳跃

android - 模拟器没有运行

java - 从 Service 向 Activity 发送一条简单的消息

iphone - 启动方向错误

android - 动态添加的 View 在 Android 的方向上消失

javascript - 标准化加速度计输出

JavaScript addEventListener 延迟

android - 在 Froyo 上 move 文件