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