gpt4 book ai didi

accelerometer - LSM9DS0 上的 Madgwick 传感器融合

转载 作者:行者123 更新时间:2023-12-04 03:44:32 26 4
gpt4 key购买 nike

我正在尝试实现 Madgwick 传感器融合算法 from here在 STM Cortex M3 微 Controller 上的 LSM9DS0 传感器(加速度计、陀螺仪和磁力计)上。

所有传感器的原始数据似乎都没有问题。

我的问题是:当我将传感器的 z 轴水平或向下(即横滚角或俯仰角超过 90 度)时 - 来自过滤器的四元数变得非常不稳定并随机翻转 180 度。更准确地说,q0 和 q3 不断改变符号,导致旋转 180 度翻转。

我尝试使用常量值而不是实际传感器输出,但仍然出现这种行为。

当 z 轴或多或少垂直时,四元数似乎是合理的。

我还没有在示例视频中看到过这样的内容。

我试图忽略磁力计数据并使用 6DOF 版本的过滤器,但这是一场灾难;四元数只是飞来飞去,不受控制地旋转。

我必须将 beta 参数设置得非常大(~100),因为较小的值会在突然翻转时产生非常不稳定的结果。我确实觉得这很奇怪,因为通常 beta 约为 0.5-0.05。

滤波器更新频率为 1KHz。

谁能帮帮我?

最佳答案

Here据说madgwick filter的代码有错误!

梯度体面的步骤应该是这样的:

s0= -_2q2*(2*(q1q3 - q0q2) - ax)    +   _2q1*(2*(q0q1 + q2q3) - ay)   +  -_4bz*q2*(_4bx*(0.5 - q2q2 - q3q3) + _4bz*(q1q3 - q0q2) - mx)   +   (-_4bx*q3+_4bz*q1)*(_4bx*(q1q2 - q0q3) + _4bz*(q0q1 + q2q3) - my)    +   _4bx*q2*(_4bx*(q0q2 + q1q3) + _4bz*(0.5 - q1q1 - q2q2) - mz);
s1= _2q3*(2*(q1q3 - q0q2) - ax) + _2q0*(2*(q0q1 + q2q3) - ay) + -4*q1*(2*(0.5 - q1q1 - q2q2) - az) + _4bz*q3*(_4bx*(0.5 - q2q2 - q3q3) + _4bz*(q1q3 - q0q2) - mx) + (_4bx*q2+_4bz*q0)*(_4bx*(q1q2 - q0q3) + _4bz*(q0q1 + q2q3) - my) + (_4bx*q3-_8bz*q1)*(_4bx*(q0q2 + q1q3) + _4bz*(0.5 - q1q1 - q2q2) - mz);
s2= -_2q0*(2*(q1q3 - q0q2) - ax) + _2q3*(2*(q0q1 + q2q3) - ay) + (-4*q2)*(2*(0.5 - q1q1 - q2q2) - az) + (-_8bx*q2-_4bz*q0)*(_4bx*(0.5 - q2q2 - q3q3) + _4bz*(q1q3 - q0q2) - mx)+(_4bx*q1+_4bz*q3)*(_4bx*(q1q2 - q0q3) + _4bz*(q0q1 + q2q3) - my)+(_4bx*q0-_8bz*q2)*(_4bx*(q0q2 + q1q3) + _4bz*(0.5 - q1q1 - q2q2) - mz);
s3= _2q1*(2*(q1q3 - q0q2) - ax) + _2q2*(2*(q0q1 + q2q3) - ay)+(-_8bx*q3+_4bz*q1)*(_4bx*(0.5 - q2q2 - q3q3) + _4bz*(q1q3 - q0q2) - mx)+(-_4bx*q0+_4bz*q2)*(_4bx*(q1q2 - q0q3) + _4bz*(q0q1 + q2q3) - my)+(_4bx*q1)*(_4bx*(q0q2 + q1q3) + _4bz*(0.5 - q1q1 - q2q2) - mz);

官方网站上的代码已经过时,很快就会被替换。

纠正这个问题产生了令人满意的结果。

我的另一个错误是没有正确阅读函数原型(prototype)。我复制了稍微修改过的代码版本,其中加速度计和陀螺仪的值被互换了。

关于accelerometer - LSM9DS0 上的 Madgwick 传感器融合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25902186/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com