微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Madgwick 算法不稳定

如何解决Madgwick 算法不稳定

我正在使用 Madgwick 算法。所以我有一个 LSM6DSO32 传感器设置为 208Hz 数据速率,我还将我的 Madgwick 滤波器设置为 208Hz 采样率。但是我在实角和四元数之间有延迟。我发现如果我改变 betaDef 延迟减少但四元数不稳定,我怎样才能实现实时四元数?我做错了什么?

我使用了这个库 here

我已经改变了这些行

#define sampleFreqDef   200.0f          // sample frequency in Hz
#define betaDef         8.0f            // 2 * proportional gain

我这样设置我的捕获器(我使用 Adafruit lib here

dso32.setAccelDatarate(LSM6DS_RATE_208_HZ);
dso32.setAccelRange(LSM6DSO32_ACCEL_RANGE_32_G);
dso32.setGyroDatarate(LSM6DS_RATE_208_HZ);
dso32.setGyroRange(LSM6DS_GYRO_RANGE_2000_DPS);

通过这种设置,我得到了不错的结果,但四元数不稳定。每次我的捕获者提供新值时,我都会调用我的主 updateIMU

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。