0

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

在这里使用了这个库

我改变了这些行

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

我这样设置我的俘虏(我在这里使用 Adafruit lib )

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每次我的俘虏提供新价值时,我都会打电话给我

4

0 回答 0