【发布时间】:2019-11-25 16:40:34
【问题描述】:
全部。
所以基本上我正在尝试使用accelerometer 计算 g 力的加速度。为此,我决定使用带有低通滤波器的Linear accelerometer(因为我将测试汽车驾驶行为)。
在这里可以找到实现代码:code
所以现在我得到了 x、y、z 值。我想要做的是使用以下公式计算 G 力:
sqrt(x*x + y*y + z*z) / 9.8
每当我走路时,我都会得到从 0.3 到 0.6 克力的 fgorce,但我不确定这是否是计算 gforce 的正确方法。 我尝试进行试驾,每当我进行硬制动时,我无法获得负加速(我应该得到什么,每当我进行硬制动时)。另外,获得 0.3 - 0.6 gforce 是不是太多了?
我感觉计算出的 gforce 太大了。真的吗?我的解决方案中是否缺少某些内容?
一般的想法是不仅要捕捉加速,还要捕捉减速 - 这应该是负数。
【问题讨论】:
-
sqrt(x*x + y*y + z*z)产生一个幅度。它不能是负面的。sqrt()不能返回负数。您需要测量相对于某个 轴 的加速度。见here。 -
@greeble31 感谢您指出我的公式产生了一个量级。从您的链接中,我了解到我需要的是水平加速度?好吧,这包括 sqrt() 仍然会导致非负数,对吗?也许小的示例代码会帮助我更好地理解。对不起,这已经是一个漫长的夜晚,哈哈
-
该链接不会直接解决您的问题;我明白。我没有任何好的例子可以为您提供您正在寻找的东西。我建议您在用手移动手机时转储 x/y/z 加速度值,并尝试准确了解它们的含义。这只是您必须解决的许多问题中的第一个问题。我不知道您的库是否会在设备坐标或世界坐标中产生加速度。如果坐标系不合适,您可能不得不立即放弃该库。祝你好运。
标签: android accelerometer