【问题标题】:What is the best beta value in Madgwick filter?Madgwick 过滤器的最佳 beta 值是多少?
【发布时间】:2017-12-01 08:20:12
【问题描述】:

当我使用默认值 0.0041 或 0.033 时,当我将四元数数据发送到 Unity 3D 时,旋转很奇怪。当我将 beta 值更改为 0.001 时,旋转很好,但随着时间的推移会有轻微的漂移。我正在使用 LSMD9S0 IMU 传感器。 这是我的代码Madgwick_Arduino

【问题讨论】:

  • 欢迎来到StackOverflow,请在提问时更具体一点:到目前为止,您对代码示例进行了哪些尝试? / 您有什么期望? / 您遇到什么错误? *请查看“How to ask

标签: filter beta sensor-fusion


【解决方案1】:

查看original article written by Sebastian Madgwick,我们可以找到以下关于beta值的段落:

β是{^S_E}q_ω的发散率,表示为a的大小 陀螺仪测量误差对应的四元数导数。

后来,它说:

滤波器将{^S_E}q_est 计算为陀螺仪测量的方向变化率{^S_E}q_ω,其中陀螺仪测量误差的幅度β在估计的方向上被移除误差,{^S_E}q_e,由加速度计和磁力计测量计算得出。

因此,beta 幅度与陀螺仪的误差直接相关(我将偏差理解为这里最重要的误差来源),但直接在四元数梯度的分量上表示。这意味着它没有可理解的单位,也没有直观的最佳幅度

另一方面,Madgwick 滤波器假设加速度计测量重力。这意味着它受到水平加速度的影响。需要根据您的具体情况调整滤波器参数(它具有的两个参数),在陀螺仪偏差校正和对水平加速度的灵敏度之间进行权衡。

根据经验:增加 beta 会导致 (a) 更快的偏差校正,(b) 对横向加速度的更高灵敏度。

我之前使用此过滤器的经验需要几个小时的实验 + 手动调整,直到我们达到令人满意的结果。我们再也不需要触及这些价值观了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-17
    • 2020-03-13
    • 2021-09-24
    • 1970-01-01
    相关资源
    最近更新 更多