Pixhawk lean in stabilize mode


I have a Pixhawk since January 2014, and I realized a couple of weeks ago that I have an issue since the beginning. I’ve always found that level is not perfect, especially after a few minutes of flight (I compensate it with my sticks). I thought it was normal, but I recently watched some videos on Youtube and realized that the behaviour of my Pixhawk is not normal.
It happens in stabilize mode, at the beginning everything is okay, but after a couple of curves in the sky I let the sticks centered and realize that pitch is not level (nose upward, between 5° and 10°), and roll neither (but not as marked). So I decided to let the copter by itself, sticks centerd for about 10 secs. The results are there :

From this log, I extracted the att, ahr2 and ekf1 pitch and the desPitch (4 curves at the bottom), same curves at the top for roll : image 1.
We can clearly see that Pitch and desPitch values both are close to zero, which means that the attitude PID is doing what it is supposed to. But the Pitch values from ahr2 and EKF1 collapse between 5° and 10° above, which looks like the “right” level my copter should try to follow. The same behaviour is observed on roll.

I made a second log view : image 2. I plotted AccX and AccY, GyrX and GyrY from IMU and IMU2. Acc values seems to be in accordance from the two IMUs, although the primary IMU seems to suffer from a little glitch every 1.5 seconds. GyrX are in really good accordance from IMU and IMU2, but there is a little offset between GyrY_IMU and GyrY_IMU2.

I heard a lot about vibrations causing bad accel readings, but I think that my logs show low vibration levels. I tried to set AHRS_EKF_USE = 1, seems better most of the time, but I experienced two times a really fast and sudden pitch offset (about 25°) that I managed to control and land with my stick (and heart beat at 180bpm).

Can somebody help me about this ? Thank you very much !

Related link : an interesting discussion about Gyro discrepancies.

My config :

  • dji F450 frame
  • 3DR Pixhawk with AC V3.2.1, fixed on the frame with foam
  • 3DR uBlox Lea-6H GPS + Compass
  • 3DR Power module
  • 4 T-Motor MS2216 kv1100
  • 4S LiPo 3.7 AH
  • Graupner 9x5 carbon-plastic propellers
  • HobbyKing F-30A ESC flashed SimonK

Your IMU mismatch is off the charts (3.83 if you do an auto-analysis in MP). You can also see “whiskers” on the MPU6K data (IMU one). So yes I think you might have a bad pixhawk.
The whiskers were a 3.3rc1 feature so not sure why they are showing up in 3.2.1, it might be worth trying 3.3rc5 to see if its any better.