【问题标题】:calculating position with the LinearAcceleration使用 LinearAcceleration 计算位置
【发布时间】:2013-05-24 19:10:47
【问题描述】:

我正在尝试基于 Sensor.TYPE_LINEAR_ACCELERATION 计算一个新的 X 位置,我将应用于我的 android 游戏。

我从以下变量全部设置为 0 开始:

float newX=0;
float lastX0 =0;
float lastX1 =0;

我的时间变量最初是这样设置的:

float newTime = System.currentTimeMillis()/1000;
float lastTime0 = lastTime1 = newTime;

然后我的 On SensorChange 看起来像这样:

public onSensorChanged(SensorEvent evt){
if (type == Sensor.TYPE_LINEAR_ACCELERATION) {

                    newTime = System.currentTimeMillis()/1000;
                    float oldDeltaTime = lastTime1-lastTime0;
                    float newDeltaTime = newTime- lastTime1;
                   if(oldDeltaTime<1)oldDeltaTime =1;

                    newX = lastX1 + ((lastX1 - lastX0)/oldDeltaTime)*newDeltaTime +(evt.values[0]/2)*(newDeltaTime*newDeltaTime);
                    lastX0 = lastX1;
                    lastX1 = newX;
                    lastTime0 = lastTime1;
                    lastTime1 = newTime;

                    Log.v("SENSOR MAN LINEAR", "new X:"+newX);


                }
}

但我的日志中的 newX 一直为 0。

有没有人成功地将 LinearAcceleration 翻译成位置? 谁能弄清楚我做错了什么..

我在里面哭!

【问题讨论】:

    标签: android accelerometer linear-algebra android-sensors sensor-fusion


    【解决方案1】:

    我的经验是,与测量 Sensor.TYPE_LINEAR_ACCELERATION 相关的错误使得仅从 Sensor.TYPE_LINEAR_ACCELERATION 无法获得良好的位置估计。

    我不知道为什么你总是得到零。要调试它,我只需 Log.v 你的所有变量来找出问题所在。

    我也不确定您的 newX 公式是否充分利用了传感器值。加速是速度的变化,而你的实现似乎并不对应。

    最后,事件值取决于设备的方向。因此,为了获得任何成功的机会,您需要结合罗盘传感器读数来尝试找出Sensor.TYPE_LINEAR_ACCELERATION 值如何映射到现实世界中的方向。

    【讨论】:

    • 在我的传感器管理器中,我还使用加速度计和指南针融合在一起来创建设备方向的 rotaionMatrix .. 你能不能告诉我你会如何写这个,我也有一个纬度和经度以及当前设备 gps 位置
    • 我不确定你在问什么。我对此的最新想法是尝试使用卡尔曼滤波器,因为卡尔曼滤波器擅长处理具有与其相关联的误差线的估计。我在问一些关于使用卡尔曼滤波器进行位置和速度的问题(这里)[dsp.stackexchange.com/questions/8860/….还可以扩展为在卡尔曼滤波器中具有位置+速度+加速度状态向量。无论如何,这是一个非常重要的问题,目前我不知道有什么令人满意的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2017-12-28
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多