We are using ArduIMU (V3) as our Quadrotor's inertial measurement unit. (we have a separate board to control all motors, not with ArduIMU itself).
Now we have a problem with ArduIMU's sensors output. When we put our quadrotor steady on the ground with motors on, instead of getting 0 degree in roll and pitch we have a noisy output something like the image below( -6 to 6 degree error ):
delta_t = 0.2s
We are sure that this isn't a mechanical problem, because we checked the mechanical joints and everything.
I should mention that with motors off everything is going well. Also we checked that if we vibrate the device slowly on yaw axis or any other axis, it still shows the noisy output.
We are using DCM filter inside ArduIMU, also we tested with Kalman filter but no difference.
We also tested FRI low-pass filter, results is good but there is about 3 seconds delay in the output.
We also checked that if we separate the ArduImu's power from our circuit, it still no difference.
What's the problem with ArduIMU and how we can get rid off this noisy output ?
Update: We think that the problem with our PID controller is because of these noises ... Is this a true assumption ? We can't tune our PID parameters ( using Ziegler–Nichols method ) when we have noisy data. We tested Ziegler–Nichols method when we have low rate noises and we successfully tuned our PID but when noise appears we are unable to tune PIDs. Is there anyway for us for tuning our PID in such situation ? Is this problem is because of the noises or the PID itself can get rid of them ?