首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android传感器

Android传感器
EN

Stack Overflow用户
提问于 2010-12-06 02:57:35
回答 2查看 1.5K关注 0票数 1

关于传感器,我有一个非常基本的问题:

磁性传感器是返回手机初始方位的读数w.r.t,还是返回世界坐标?

那加速计呢?它们是返回之前读数的w.r.t值,还是每个值都是相对于世界坐标系的独立加速度?

我知道陀螺仪会返回相对于手机初始方向的读数。那么,如何将陀螺仪的偏航、俯仰和滚转读数转换为智能手机磁性传感器的方位、俯仰和滚转读数(我使用的是HTC hero)

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2011-03-05 00:05:31

安卓传感器(最高可达FroYo)为应用程序提供“原始”数据。

只涉及最少的“烹调”(即加工)。

accel和compass设备分别提供绝对accel和磁性数据。

陀螺仪提供相对角速度。

陀螺仪不提供任何特定状态/位置的相对数据wrt。

你需要理解的是,陀螺数据是角速度。

角速度很简单,就是手机旋转的速度(每秒度数)。

所以一旦你保持它不动,陀螺仪就会说(0,0,0) &

当你旋转时,你会得到它旋转的速度。

这会一直持续下去,直到你再次按住它不动

当陀螺读数再次变为(0,0,0)时。

从理论上讲,陀螺仪可以用来“校准”罗盘。

但要做到这一点,您需要进行大量的实验。

理想的摆弄地方应该是传感器-HAL。

注意:您需要打开所有传感器的硬件,即使

仅需要指南针数据。因为你将会交叉引用

陀螺/加速度计数据。这将意味着更大的功耗&

电池续航时间极短。所有连续开启的传感器都可以

在4-5小时内耗尽标准Android手机的电量。

你可以阅读更多的。

票数 0
EN

Stack Overflow用户

发布于 2012-06-03 19:57:56

如前所述,陀螺仪测量角速度。返回的第三个值(values2)是相对于z轴的角速度。您可以将该值与磁力计的初始值一起使用来计算当前航向:θ(i+1)=θ(I)+Wgyro*ΔT

您可以从“方向”测量(值)中获得初始航向方向。此测量仅取决于磁力计。(你可以把磁铁或第二部手机放在智能手机附近,看着输出变得疯狂)

“方向”的第二个和第三个值取决于加速度计的读数。由于加速度计测量重力,因此可以根据Y轴和X轴上的加速度计读数来计算俯仰和侧滚角度。

希望这能有所帮助

Ariel

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4360548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档