Gyros / Accel Inconsistent

Hi Friends,
On a Quadcopter with Black Cube 2.1, AP 3.6.11, there are many occurrences in which we get pre-arm checks failures due to Gyros or Accel. inconsistent.
After enabling logging while disarmed, we see a significant deviation of IMU2 readings from the other IMUs:

Also, the slope of the deviation seems to follow the temperature rise (as measured by IMU1) very closely, although with a negative coefficient:

We noticed that the IMU2.T is always 0, which may be the reason for IMU2 behaving differently from IMU1 and 3 with temperature changes.

I understand that the IMU2 temperature is deliberately not read due to its proximity to IMU1 (so IMU1.T can be used) - is this correct?

Of course, this only happens on “cold start”, before Cube is heated to to its target Temperature.
Reset after reaching the target Temp. solves the issue, but it is not an acceptable workaround.

This issue happens on different Cubes (identical builds, but different drones) in different locations around the world.

Is this a known feature / issue?
Did you happen to experience this as well?


1 Like

…same over here…

There was a thread on this about a year ago. The solution is to boot up, wait for the cube to get up to temperature, then reboot. It is not documented anywhere to do this and I doubt it ever will be.

Yes, I saw this thread, and, unfortunately, reboot after the Cube is heated is not an option (from logistical point) …
I read somewhere that it is possible to force the Gyro to re-calibrate after the cube reaches the target temp.
Is anyone familiar with this?
I guess there is always an option to disable the IMU2, but that reduces the redundancy of the system, which is one of the key points here…

Rebooting is the only way I am aware of to re-initialized the EKF. Only by allowing the EKF to measure the bias of the sensor when it is at operating temperature can the EKF properly work. More details are included in the PR linked in the other thread.

In summary, the only way to handle this issue is to reboot after the IMU has reached temperature. At least now IMU temperature is sent over MAVLink (added in Plane 4.0.2) so there should be some indicator as to when the EKF can be re-initialized.

I made some tests with my Black Cube:

  • I put the Cube in the freezer waiting for it to cool

  • Powered it on and waited for it to heat up

  • Tried to arm it

I got different results with AP Copter 3.5.7, AP Copter 3.6.11.

In all cases IMU2.GyroZ deviated significantly as temperature increased

With AP Copter 3.5.7 there were no problems arming the drone while all IMUs were enabled (INS_USE==1, INS_USE2==1 and INS_USE3==1_)

With AP Copter 3.6.11 I wasn’t able to arm the drone because of Gyros inconsistent warning, all IMUs were enabled (INS_USE==1, INS_USE2==1 and INS_USE3==1_)

With AP Copter 3.6.11 I was able to arm it in the same conditions only when disabling IMU2 (INS_USE2==0).

My goal is to be able fly with AP Copter 3.6.11 without having to reboot the cube after it warms up.

@philip Can you help me with this one?

Attached are pictures from the logs:
AP Copter 3.6.11 with all IMUs enabled:

AP Copter 3.5.7 with all IMUs enabled:

AP Copter 3.6.11 with only IMU1 and IMU3 enabled:

I have the same graph with the imu2 with 4 and 4.01, if you leave the drone too much time on the floor without moving , you got that behavior.

No solution was giving to me, just reboot the FC…

We test all the black cubes we get, and majority follow this trend.