Madgwick过滤器中最好的beta值是多少?

时间:2017-12-01 08:20:13

标签: filter beta sensor-fusion

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

1 个答案:

答案 0 :(得分:1)

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

  

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

后来,它说:

  

滤波器计算{^S_E}q_est作为陀螺仪测量的方向变化率{^S_E}q_ω,其中陀螺仪测量误差的大小,β,在估算误差的方向{^S_E}q_e,根据加速度计和磁力计测量值计算得出。

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

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

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

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