使用加速度计和陀螺仪的6自由度运动控制

11

有没有人使用iPhone传感器而非视频开发6自由度姿态估计?加速度计和陀螺仪的漂移已经被理解。

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

然而,我在从加速度计中推导出平移时遇到了更多问题。对加速度的双重积分会很快产生无用的位置数据(不到半秒钟)。

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

我想知道是否有人能够仅使用加速度计和陀螺仪开发出一个6自由度姿态估计,在5-10秒内可靠地实现平移和旋转的小漂移。


谁投票认为这个问题“过于局限”,能否给出一个理由?在我看来,它并不是局限的。 - Jasarien
cbroaddus,你能否发布一下你用于进行双重积分的代码?我的方法是使用userAcceleration属性获取设备加速度,然后使用陀螺仪姿态的逆转换为世界坐标系(在参考姿态下将其重置为世界坐标系),然后再对加速度计值进行积分。我还没有完成编码,所以我不能粘贴我的代码,也没有测试过,所以我不会将其放在答案部分... - twerdster
2
如果您使用userAcceleration属性,则偏差和重力分量已经被估计并移除。您提到的应该可以正常工作。姿态偏航漂移,但俯仰和滚转是稳定的。我做过类似的事情,噪声、量化、偏差和精度使得翻译完全不可靠。如果您使用原始加速度计数据,则必须自己结合陀螺仪和/或外部测量去除重力分量。 - paul
2
陀螺仪提供非常稳定的值。它的加速度积分完全失控,因为没有任何东西来关闭循环并指示它是否正确或错误。我的模型几乎立即漂浮到远处。我想人们必须将一个更可靠的先验模型粘贴到系统上,例如用户的手几乎总是返回到相同的区域,这意味着在这里非常泄漏的积分器是有效的。 - twerdster
我也得到了类似的结果;如果没有进行低频滤波,结果是完全没有用处的,而足够的滤波则使它们大部分没有用处。 - Tommy
2个回答

1

使用DeviceMotion的陀螺仪偏航在首次更新时会出现漂移,请尽量避免采集这些样本,这样大家都会很开心。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接