行走时加速计传感器的世界参考值

时间:2013-04-21 20:27:44

标签: android sensor projection coordinate-systems dead-reckoning

我一直在尝试为Android开发 Pedestrian Dead Reckoning 应用程序,在处理了步骤检测和步长组件后,我决定解决方向确定问题。

在发现关于coordinate transformation的几篇帖子(甚至经常与answerer聊天)后,我的结果逐渐好转,但仍有一些事情打扰我。

实验:

我向北走去,转过身,然后向南走去。重复向西,然后东方的程序。

的问题:

  1. 我期待着,在几个方向直行,有 X和Y值的值随着足迹而振荡 在整个中具有相对稳定的Z值。相反, Y. 值的行为方式 Z值具有预期值 行为即可。怎么会?它与我有什么关系没有 使用 remapCoordinates() ? (见图1)

  2. 我预计角度曲线会在<180>和-180º之间跳跃,但是 为什么他们也这样做35º? (见图2)

  3. 注意:

    • 我正在使用重力和磁力计值来计算旋转 矩阵,并使用OpenGL的 multiplyMV();
    • 进行乘法运算
    • 我没有使用 remapCoordinates(),因为我认为我不需要: 我的口袋里的手机是直立的(Y点向上/向下,Z通常向前) 并且应该向后和向前移动45º,at 最坏的;
    • 方位角值似乎没问题,并且没有问题2中描述的振荡。(见图3)

    图表:

    世界参考重力加速 World reference frame acceleration (蓝色为X,红色为Y,绿色为Z)

    世界参考重力角 Atan2 values from the world coordinates (蓝色为atan2(Y / X),红色为atan2(Z / Y),绿色为atan2(Z / X))

    方向值 Orientation values (蓝色是方位角,红色是俯仰,绿色是滚动)

0 个答案:

没有答案