Improving Stability of Pitch and Roll Measurements in MPU6050 Flight Controller

Hello guys, I'm working on a flight controller using an mpu6050 and I'm wondering if the pitch and roll fluctuate too much. These values represent the output of a complementary filter where I used a 0.98 weight for the gyro estimate and 0.02 weight for acc measurement. I didn't calibrate the acc yet so I know there will be an offset, but what bothers me is the fluctuation. After a little research I stumbled upon some ideas of filtering the accelerations using moving average filter. Isn't this a bit overkill? Or is it necessary? Then I was simply thinking to implement a Kalman F instead. I'm not sure if I should follow the Kalman or stick with the current implementation. What do you think? Thanks in advance.
attachment 0
3 Replies
wafa_ath
wafa_ath2mo ago
I’ve noticed that the pitch and roll fluctuations in my flight controller with the MPU6050 are more pronounced during quick movements. This makes me wonder if it’s due to the complementary filter's handling of fast changes or sensor noise. I'm considering switching to a Kalman filter, but I’m also curious if tuning the weights of my current filter might help. Have any of you faced similar issues?
Enthernet Code
Enthernet Code2mo ago
@wafa_ath It seems like your issue could be caused by the complementary filter not handling fast movements or sensor noise well. Before switching to a more complex Kalman filter, you might want to try adjusting the filter weights to better balance the gyroscope and accelerometer data. This could help smooth out the fluctuations. However, if tuning doesn't solve the problem, a Kalman filter may offer better results, as it handles rapid and complex movements more effectively. You can start by tweaking the complementary filter and then decide if switching to Kalman is necessary. Let me know how it works out!
wafa_ath
wafa_ath2mo ago
I tried adjusting the filter weights, but now the pitch and roll seem more unstable
Want results from more Discord servers?
Add your server