使用加速度计和陀螺仪的 6DOF

Posted

技术标签:

【中文标题】使用加速度计和陀螺仪的 6DOF【英文标题】:6DOF using accelerometer and gyroscope 【发布时间】:2011-04-25 12:10:28 【问题描述】:

是否有人仅使用 iPhone 传感器而不是视频开发了 6DOF 姿势估计?加速度计和陀螺仪的漂移是可以理解的。

陀螺仪提供相当可靠的相对定位率。我已经能够使用陀螺仪数据进行开发了。

但是,我在从加速度计进行平移时遇到了更多问题。加速度的双重积分会很快(不到半秒)导致无用的位置数据。

我尝试通过校准步骤消除偏差,但位置仍然很差。更糟糕的是,偏差不是恒定的。它会随着时间而变化,噪声会淹没信号。

我很感兴趣是否有人能够仅使用加速度计和陀螺仪来开发 6DOF,该加速度计和陀螺仪能够可靠地工作 5-10 秒,并且平移和方向的漂移都很少。

【问题讨论】:

投了这个“过于本地化”的人愿意给出一个理由吗?我似乎没有本地化。 cbroaddus 你能贴出你用来做双重集成的代码吗?我这样做的方式是使用 userAcceleration 属性来获取设备加速度,然后使用陀螺仪姿态的倒数将其转换为世界坐标(在将其重置为具有参考姿态的世界坐标之后),然后我整合加速度计值.我还没有完成编码,所以我还不能粘贴我的代码,我还没有测试它,所以我没有把它放在答案部分...... 如果您使用 userAcceleration 属性,则偏差和重力分量已被估计并移除。你提到的应该可以正常工作。姿态偏航漂移,但俯仰和横滚稳定。我做过类似的事情,噪音、量化、偏差和准确性使翻译完全不可靠。如果您使用原始加速度计数据,则必须结合陀螺仪和/或外部测量值自行移除重力分量。 陀螺仪给出非常稳定的数值。它的加速度的整合完全爆炸了,因为没有什么可以关闭循环并向它表明它是对还是错。我的模型几乎立即飘到远处。我想人们必须在系统上坚持一个更可靠的先验模型,例如用户的手几乎总是返回到相同的位置或多或少,这意味着一个非常容易泄漏的积分器在这里是有效的。 我也得到了类似的结果;没有低频过滤,结果完全没用,有足够的过滤,它们大多是无用的。 【参考方案1】:

刚开始更新时使用DeviceMotion的陀螺偏航有漂移,尽量不要拿那些样本,每个人都会高兴的。

【讨论】:

【参考方案2】:

我发了一篇关于这个的帖子:Get orientation device in the iPhone for Opengl Es,我遇到了同样的问题,我只是想制作一个过滤器,但效果不好,有一本关于这些的书 http://www.amazon.com/ios-Sensor-Programming-Augmented-Location/dp/1449382657,但我没有不读这本书。

【讨论】:

以上是关于使用加速度计和陀螺仪的 6DOF的主要内容,如果未能解决你的问题,请参考以下文章

使用陀螺仪和加速度计获取方向

使用加速度计和陀螺仪移动鼠标光标

使用加速度计和陀螺仪获取手机在太空中的大致位置

使用 BLE 从智能手表接收加速度计和陀螺仪信号

使用陀螺仪和加速度计计算位置

结合陀螺仪和加速度计数据