gpt4 book ai didi

Android 传感器旋转角度

转载 作者:行者123 更新时间:2023-11-29 13:59:18 28 4
gpt4 key购买 nike

我正在使用 TYPE_MAGNETIC_FIELD/TYPE_ACCELEROMETER 传感器基本上创建一个指南针。

我调用 getRotationMatrix,然后调用 remapCoordinateSystem(始终横向)以交换轴,然后调用 getOrientation,然后我获取当前需要索引 0 的轴,然后我调用 toDegrees,然后我将其设置为 0-360 范围

val= (val+ 360) % 360;

现在一切正常,除了它波动有点大所以我去搜索上帝(谷歌)并查找低通滤波器那里分配和大多数不工作那么好但我发现一个几乎工作。

newval = oldVal + ALPHA * (newval-oldVal);

阿尔法约为 0.2-0.5

所以现在在 180(-180 旋转)它快速跳到 0 然后它转到 181(-179 旋转)但是如果我删除过滤器它不会这样做。

过滤器可能出了什么问题,或者我该如何解决这个问题。

Android 2.2 所以没有 TYPE_LINEAR_ACCELERATION 或 TYPE_ORIENTATION(已弃用)

谢谢

最佳答案

您遇到的问题是方向角是周期性的。 180 度旋转与 -180 度(如指出的)相同,也与 540 度等相同。因此,虽然低通滤波器的算法没有改变,但您需要的数字字段必须是周期性的才能给您好的答案。你得到了一个代表你的方向的旋转矩阵,这些矩阵构成了一个非常好的数字系统。因此,如果您对旋转矩阵执行所有过滤算法,然后仅在最后一分钟转换为角度,您的过滤器就可以正常工作。

关于Android 传感器旋转角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10305162/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com