Iphone 相对位置加速度计

Iphone 相对位置加速度计,iphone,filter,integration,accelerometer,motion,Iphone,Filter,Integration,Accelerometer,Motion,在我重新发明轮子之前,我想看看是否有人可以分享以下代码或提示: 为了获得iPhone的相对位置,需要 设置加速计的读取速率 噪声滤波器用于加速度计响应 将其转换为向量 对矢量进行低通滤波以找到重力 从原始读数中减去重力,找出用户引起的加速度 过滤用户引起的加速度,以获得您感兴趣的频率(可能是带通,取决于应用) 积分求相对速度 整合定位 所以我希望人们已经写了上面的部分或全部内容,并且可以提供提示,或者更好的代码 有几个问题我还没有找到答案: iPhone加速计的频率响应是多少?加速计和模数转

在我重新发明轮子之前,我想看看是否有人可以分享以下代码或提示:

为了获得iPhone的相对位置,需要

  • 设置加速计的读取速率
  • 噪声滤波器用于加速度计响应
  • 将其转换为向量
  • 对矢量进行低通滤波以找到重力
  • 从原始读数中减去重力,找出用户引起的加速度
  • 过滤用户引起的加速度,以获得您感兴趣的频率(可能是带通,取决于应用)
  • 积分求相对速度
  • 整合定位
所以我希望人们已经写了上面的部分或全部内容,并且可以提供提示,或者更好的代码

有几个问题我还没有找到答案:

iPhone加速计的频率响应是多少?加速计和模数转换器之间存在哪些硬件滤波器

在不复制读取值的情况下,可以调用加速计委托的最快读取速率是多少

不同手机的上述差异

有没有设计滤波器的好方法,比如分离重力和用户运动的截止频率

有关于集成步骤的代码或提示吗?有没有理由将其集成到笛卡尔坐标系中而不是作为向量,或者反之亦然


在实现此功能之前,您还需要了解其他的经验、技巧或信息吗?

当我发现这些信息时,我将在下面的回答中收集这些信息

硬件 3GS使用3轴±2g/±8g数字加速度计

iPhone 4和iPad使用3轴±2g/±4g/±8g数字加速度计

它们都能够以100Hz和400Hz的频率读取,尽管在iPhone 3G(iOS 4.1下)上,即使设置了setUpdateInterval以加快更新速度,调用加速计委托的频率也不会超过100Hz。我不知道API是否允许在iPhone4上进行更快的更新,苹果的文档仅仅说明了最大更新速度是由iPhone的硬件决定的。(待定)

A/D转换器与MEM传感器位于同一硅上,这有利于抗噪性

DL版本是8位(3GS),而DLH版本是12位(iPhone4)。DL版本中的最大偏差(偏移)是DLH(0.04g vs 0.02g)版本偏差的两倍

DLH数据表报告了加速度噪声密度,但DL数据表中未报告该值。噪声密度在218μg时相当低/√DLH的频率为Hz

两个传感器都提供100Hz或400Hz采样速度,没有自定义速率。如果iPhone没有以设定的采样率读取输出寄存器,传感器将丢弃值

DL传感器的“典型”满标度值为±2.3g,但ST仅保证其至少为±2g

温度对传感器的影响是存在且可测量的,但不是非常显著

待定:

  • 硬件过滤器打开了吗?过滤特性是什么
  • 加速计的电源噪音有多大?(有谁碰巧有iPhone示意图摆在周围?)
  • 加速计使用内部时钟为采样率和A/D转换提供定时。数据表未说明该时钟的精度、精度或温度灵敏度。为了进行准确的时间分析,iPhone必须使用中断来感知样本何时完成,并在中断中记录时间。(这是否完成尚不清楚,但这是获得准确计时信息的唯一途径)
美国石油学会 请求低于100Hz的采样率会导致获得选定的样本,而丢弃其余的样本。如果在软件中要求的采样率不是100Hz的系数,则实际传感器读数之间的时间间隔不可能均匀。即使使用了系数100,苹果也不保证采样率均匀

API似乎没有提供软件过滤

API将原始加速计值缩放为表示Gs的双精度值。所使用的比例因子未知,并且每个手机的比例因子是否不同(即,已校准),以及校准是否持续进行以考虑fo传感器漂移未知。在线报告似乎表明,当iPhone平放在表面上时,它有时会重新校准自己

简单测试的结果表明,API将3GS的传感器设置为±2g,这通常适用于手持移动

待定:

  • 苹果是否对每个单元进行校准,以便UIAccelerator报告1G为1G?苹果的文档特别警告不要将该设备用于敏感测量应用
  • 报告的NSTimeInterval是否表示从加速计读取值的时间,或加速计中断指示新值准备就绪的时间

    • 我只是在处理同样的问题。你的方法唯一的不同是我不想依靠低通滤波器来寻找重力。(TBH我不知道如何从加速度计读数可靠地判断重力矢量)
      我现在正在用陀螺仪试试。

      附加说明:是的,这很难。是的,一个人不能得到绝对位置,只能得到相对运动。是的,漂移是一个大问题,特别是在两个集成中。继续告诉我这些事情,特别是如果你有更多的细节和经验,但是请不要在没有进一步解释和细节的情况下提交一个“这件事不可能完成”的答案。最近这方面运气好吗?我对这个主意很感兴趣。由于双重积分是如此不精确,我想我必须结合摄像机数据和目标跟踪来获得更多细节。肯定有很多工作要做。如果您已经为此编写或找到了任何有用的代码,我将感兴趣