连续线性加速度下的AHRS算法


9

我尝试了几种算法来获得连续线性加速度和振动(小于0.4g,频率小于10HZ)下的俯仰,侧倾和偏航。它们均未提供良好的结果,因为读数可能漂移或受线性加速度的影响太大。我要实现的是,当外部加速度小于+ -0.4g时,俯仰和横滚的误差应小于+ -1deg。

我已经尝试过这些算法:

  1. 麦格威克算法。当Beta增益设置得很高时,收敛速度很快,但是角度更容易受到线性加速度的影响。我将其调低,并将线性加速度下的误差降低至+ -0.5deg。但是,如果振动是连续的,则读数将漂移,并且需要很长时间才能收敛到真实值。这是有道理的,因为在线性加速度下,陀螺仪受到更多的信任,并且计算出的角度随着陀螺仪积分的漂移而漂移。

  2. Mahony的算法。与Madgwick的相反,无论我为Ki和Kp使用什么值,它都不会漂移。但是,它始终受线性加速度的影响。(误差大于+ -6deg)

  3. 传统卡尔曼滤波器。在调整那些巨大的R和Q向量上已经花费了很多时间。到目前为止,它具有与Mahony相同的性能。

我正在使用剃刀IMU。我知道使用廉价的传感器不可能获得与这一传感器相同的结果。

还有更多类似UKF的选项,但是很难理解或实施。

任何建议都欢迎。


您如何整合Kalman?
C. Towne Springer 2014年

使用Euler积分,但是旋转严格是一个轴,以避免DCM。@ C.TowneSpringer
Timtianyang 2014年

那应该行得通吗?上次我这样做(ALCM)时,Euler不适合。欧拉是一阶方法,其局部误差与步长的平方成正比,而总误差与步长成正比。我们使用带有卡尔曼滤波器的四阶Runge-Kutta。我认为Newton-Feynman或Euler可以初步猜测要启动Runge-Kutta。您是否有处理程序可以以较高的更新率进行处理?
C. Towne Springer 2014年

感谢您的建议。欧拉积分法的局部误差被忽略了。我们计划在后期进行过滤,因此我们对计算复杂度没有主要限制。@ C.TowneSpringer
Timtianyang 2014年

Answers:


3

首先,请确保您了解以下两个关键点:

  1. 在存在线性加速度的情况下,仅从IMU数据确定姿态本身就模棱两可。如果没有其他有关加速度性质的知识,则始终会达到可以达到的精度上限。

  2. 集成陀螺仪测量中的漂移会限制精度。有了完美的陀螺仪数据和集成,就根本不需要加速度计数据。您越接近完美,就越可以忽略加速度。

定向算法的选择在这里基本上无关紧要。它们都遵循相同的原理:使用重力加速度的方向进行漂移校正校正的陀螺仪数据,两者之间的权重有所不同。如果您尝试调整参数但未获得所需的结果,则使用其他算法不太可能做得更好。

因此,基本上可以做两件事。

  1. 提高陀螺仪集成的准确性。
  2. 以某种方式对线性加速度的性质进行建模。

第二种选择很难讨论,因为它取决于您正在研究的运动的细节。有一些简单的技巧,例如在给定范围之外丢弃或减轻加速度的权重。从本质上讲,这些只是将线性加速度建模为短暂的情况。如果您的系统处于连续运动状态,它们将无济于事。

不过,您可以采取几种措施来改善陀螺仪的集成度:

  1. 获得对陀螺仪偏差的最佳估计。在使用前立即获取静态陀螺仪读数几秒钟,然后对它们进行平均以获取偏移值。不要依赖一次性校准。
  2. 尽量减少由于温度引起的漂移。在校准/使用之前,让IMU预热到稳态工作温度。在运行过程中,请尝试使其保持稳定的温度。
  3. 改善您的校准模型。考虑包括跨轴效应和非线性以及比例和偏移。
  4. 使用更好的集成方法。在您的问题的评论中已经有一些想法。
  5. 看看是否可以追踪陀螺仪漂移。如果定向算法必须始终如一地校正特定方向上的漂移,则可以检测到该漂移并使用它来轻轻调整偏差值。

没错,您使用的传感器不是可用的最高等级。但是,如果足够好地表征和校准,则可以从消费类传感器中获得非常好的结果。


有没有推荐的消费类传感器?
Timtianyang 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.