我在我的电路板上有一个MPU9250,我使用带有Madgwick滤波器的AHRS系统来获得偏航角。我从这里获取了源代码:https://github.com/sonphambk/MPU9250/tree/master/Src,并更改了MadgwickAHRSupdate函数,就像有人在这里说的:基于LSM9DS0的Madgwick传感器融合。现在偏航角度是相当准确的,但有一个问题。当我移动我的PCB,而不旋转它时,偏航角会发生这样的变化:

如果我不旋转我的PCB,为什么偏航角会改变?我要在代码中修改什么?
发布于 2021-12-11 10:18:04
你必须记住,AHRS是一个数学上非常复杂的问题。数据处理开始时的一个小错误可能会在稍后的某个时候造成巨大的偏差。如果您确实知道,提供的代码被其他人使用并且他们没有漂移,那么我建议检查传感器的原始数据流。如果MPU9250是从中国供应商或Ebay购买的,那么它们很有可能无法使用。检测电压、输出信噪比、采样率一致性是必须的。
如果您认为硬件部分工作得很好,请尝试卡尔曼滤波器或过滤输入数据。此外,环境条件可能会影响传感器读数-磁场、热量等。
没有旋转的移动PCB并不像你猜的那么天真。人类的手不断地颤抖并产生噪音。
https://stackoverflow.com/questions/70242354
复制相似问题