【发布时间】:2012-05-22 14:17:58
【问题描述】:
我正在开发一个自行车电脑应用程序。我希望使用加速度计计算出斜坡的倾斜度,但效果不太好。
我已经输入了测试代码来获取传感器数据,我只是以 UI 速率进行扫描,并在 128 个样本上保持移动平均值,大约需要 6 秒。拿着手机,数据很好,与我的校准平面矢量相比,我可以计算出一个很好的角度。
如果手机安装在自行车上,情况就一点也不好了。我希望得到一点噪音,但我希望在大时间窗口内的大量样本能够消除振动效应和一般的自行车运动。不幸的是,这不起作用,加速度矢量的幅度并没有真正保持在 9.8 左右,而是下降得更低,这对我来说表明某处不正确。
这是来自试驾的部分数据的图表。
正如您所看到的,在开始时静止时,幅度还可以,但一旦我开始,它就会下降。我很确定问题与振动有关。我最初下降时振动很大,然后爬升,振动较小,震级回到 9.8,但随后我在糟糕的道路上迅速下降,震级小于 3 .
这是与使用BMA250 sensor 的 SonyErricson Xperia Active 一起使用的,datasheat 看起来传感器应该有能力。我对问题原因的唯一理论是范围设置为 2g 范围,并且振动导致数据超出范围,这导致了我的问题。
有人见过这样的吗?
有没有人对问题的原因有任何想法?
有什么办法可以改变我没有找到的敏感度?
附加信息。
好的,我在过滤之前记录了原始传感器数据。这里展示的一小部分 主轴是绿色的,在平坦的地方,我相信这应该没有振动,它应该是大约 8.5。数据没有明显的限制,但我得到的低于 8.5 的值多于高于 8.5 的值。即使传感器设置为最灵敏的 2g 范围,它看起来振动应该没问题 我这里的最大值刚刚超过 15 并且最小值为 -10 以及 +- 20 ragnge 只是没有正确居中在8.5应该是。
我会找出我的另一部手机,它看起来有一个稍微不同的传感器 BMA150 并尝试使用它,但除非它是完美的,否则我认为我将不得不放弃这个想法。
【问题讨论】:
-
等一下。你下降,G下降,你爬升,G上升??这不正是应该发生的吗?至少,在你减速或加速的时候。顺便说一句,为精彩的数据 +1。
-
我以缓慢的速度向下加速,反向向上。图上的 x 轴以秒为单位,因此在图中大约需要 10 分钟。如果我真的能连续几分钟做那种加速,我会很高兴....
标签: android accelerometer