gpt4 book ai didi

accelerometer - 使用原始加速度计和磁力计数据计算磁航向

转载 作者:行者123 更新时间:2023-12-04 08:38:37 26 4
gpt4 key购买 nike

我有一个加速度计和磁力计,每个都产生原始 X、Y 和 Z 读数。由此我需要确定一个物体的磁航向。

我不太擅长三角,但我整理了一个公式,该公式确实对设备的旋转做出了很好的 react ,但也对人们认为不相关的运动做出了 react ,例如将设备倾斜成这样的角度对指向的方向没有影响的方式。例如将其平放并“滚动”设备。

我认为计算磁航向的公式很好,但我认为输入的俯仰和滚动弧度是错误的。

所以我想我的问题的核心(除非有人真的有一个公式可以做到这一点),是你如何计算角度,以弧度为单位,使用加速度计进行俯仰和滚动。

其次,有关标题公式本身的任何信息都会很棒。

最佳答案

根据您的应用程序所需的精度,您可能需要解决几个问题:

  • 加速度计轴是否已校准?我见过 MEM 加速度计的轴不相互垂直,并且每个轴的响应特性明显不同(通常 X 和 Y 会匹配,Z 会不同)。您需要从设备提供的任何物理读数中合成理想的 XYZ 轴。 (谷歌“加速度计校准”。)
  • 磁力计轴是否已校准?与上述类似的问题,除了更难检查:很难产生均匀的校准磁场。如果您使用环境地磁场,则需要仔细控制工作环境和工具的局部磁场。 (谷歌“磁力计校准”。)
  • 在对加速度计和磁力计进行单独校准后,需要对它们的轴进行相对校准。由于这两种器件通常都焊接到 PCB 上,因此几乎可以保证存在明显的错位。在许多情况下,电路板布局和设备参数甚至可能不允许 XYZ 轴相互对应!从实验室的角度来看,这可能是最难做到的部分,因此我建议您使用具有这两种传感器并且已经校准的其他硬件(例如 iPhone 或 Android 手机 - 但先验证设备)进行直接比较采用)。通常,这是通过调整之前的两个校准矩阵来完成的,直到它们生成相对于彼此正确对齐的向量。
  • 只有在您生成相互校准的磁矢量和加速度计矢量后,您才能应用其他受访者建议的解决方案。

  • 我只描述了静态解决方案,其中磁力计和加速度计相对于本地的重力和磁场都是静止的。如果您需要在系统快速移动时实时生成响应,则需要考虑每个传感器的时间行为。有两种基本方法可以做到这一点: 1) 对每个传感器应用时域滤波器,以便它们的输出共享一个公共(public)时域(通常会增加一些延迟)。 2) 使用预测模型实时修改传感器输出(延迟更少,但噪声更多)。

    我已经看到用于此类应用的卡尔曼滤波器,但在矢量域中应用它们可能需要使用四元数而不是欧拉矩阵。四元数在计算上更容易使用(与矩阵相比需要更少的操作),但我发现它们更难理解和正确。

    或者,您可以选择一条完全不同的路径,并使用统计和数据拟合来一步完成上述所有工作。考虑如下问题:给定 6 个输入值(XYZ 均来自未校准的磁力计和加速度计)和对设备的引用(假设它是手持的,并且外壳上有一个箭头),输出一个表示表壳上的箭头所指的磁轴承,以及箭头相对于重力矢量的高度(表壳的倾斜度)。

    使用经过校准的引用设备(如上所述),将其与要校准的设备配对,并在设备处于不同方向时采集数百个数据点。然后使用强大的数学软件包,如 Matlab、MathCAD、R 或 SciPy 来设置和求解非线性方程,以创建变换矩阵。

    关于accelerometer - 使用原始加速度计和磁力计数据计算磁航向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3120954/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com