繁体   English   中英

android:具有检测设备倾斜角度的主要概率

[英]android: major prob with detecting angle of device inclination

对于项目,我需要检测android设备的倾斜度。 为此,我使用了加速度传感器和磁场传感器,并且一切正常。 该设备可以悬挂在钟摆上来回移动。 如果我有摆锤/设备的角度,则可以计算加速度。 问题是:所有这些仅能正常工作。 如果设备在正在行驶的汽车中,则无法再使用。 当汽车在制动时,摆会向前移动并且倾斜度会发生变化,但是该设备无法检测到这种情况,因为该力仍然沿y轴“向下”作用。

在这种情况下是否可以检测倾斜角度?

不知道我是否已经清楚地解释了我的问题。 我需要的是由设备传感器检测到的摆锤的角度。

<<编辑>>

我需要的是即使摆锤在行驶中的汽车中也要正确测量的角度(请查看我放置在Dropbox中的pdf文件): https : //dl.dropboxusercontent.com/u/5655235/sensors.pdf

如您在图像上看到的,如果盒子在加速,则测得的角度不正确。

这是我的代码:

if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
        acc = event.values;
if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD)
        mag = event.values;

if (acc != null && mag != null) {
    float R[] = new float[9];
    float I[] = new float[9];
    boolean success = SensorManager.getRotationMatrix(R, I, acc, mag);
    if (success) {
      float orientation[] = new float[3];
      SensorManager.getOrientation(R, orientation);

      phiRad = orientation[1];
      phi = Math.toDegrees(phiRad);
    }
}

我希望我能正确理解你的问题! 因此,当设备在行驶中的汽车中时,您要检测设备的倾斜度...

首先,当您说:

当汽车在制动时,摆会向前移动并且倾斜度会发生变化,但是该设备无法检测到这种情况,因为该力仍然沿y轴“向下”作用。

您确定设备保持垂直笔直吗?

因此,当汽车行驶时,摆锤将使汽车向前加速。 在这里,前进并不意味着它指向设备的x轴,而是指向汽车/地面的x轴。 根据我的理解,您正在尝试检查摆向x轴的运动,但是您应该检查设备的位置。 如果我正确理解您的问题,希望对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM