PreArm: Gyros inconsistent + 4.5.x

Does anyone also face the PreArm: Gyros inconsistent message consistently appearing under 4.5.x?

This drone flew and hold the position well (4.1.0) before moving to 4.4.x and above. I had also done the IMU temperature calibration, and redo compass calibration. Still, this message repeatedly appears. Well, it will disappear after around 30 secs. We have changed from Here to Here3 GPS too. I have set up the Quicktune, preparing to redo the yaw tune. I am not sure whether it causes a loading and results in a timing issue.

I am concerned it will appear in the middle of the flight.

v4.1.0

Show your IMU temperature calibration graphs and results.


INS_TCAL1_ENABLE 1
INS_TCAL1_TMIN -13.6
INS_TCAL1_TMAX 59.5
INS_TCAL1_ACC1_X 1939.362338071
INS_TCAL1_ACC1_Y -554.187568083
INS_TCAL1_ACC1_Z 1688.396247451
INS_TCAL1_ACC2_X -5.613178470
INS_TCAL1_ACC2_Y -8.081226916
INS_TCAL1_ACC2_Z -27.184715789
INS_TCAL1_ACC3_X 0.039632460
INS_TCAL1_ACC3_Y 0.091594080
INS_TCAL1_ACC3_Z 0.574393618
INS_TCAL1_GYR1_X -300.376683380
INS_TCAL1_GYR1_Y 48.676591480
INS_TCAL1_GYR1_Z 125.156010421
INS_TCAL1_GYR2_X 2.302461492
INS_TCAL1_GYR2_Y -0.896771732
INS_TCAL1_GYR2_Z -1.918985685
INS_TCAL1_GYR3_X 0.108553615
INS_TCAL1_GYR3_Y -0.064986216
INS_TCAL1_GYR3_Z -0.014374726
INS_TCAL2_ENABLE 1
INS_TCAL2_TMIN -13.3
INS_TCAL2_TMAX 59.9
INS_TCAL2_ACC1_X 463.335034135
INS_TCAL2_ACC1_Y -2323.392362832
INS_TCAL2_ACC1_Z -4858.114144922
INS_TCAL2_ACC2_X 14.835226952
INS_TCAL2_ACC2_Y 29.525575915
INS_TCAL2_ACC2_Z 22.774787971
INS_TCAL2_ACC3_X -0.410330766
INS_TCAL2_ACC3_Y 0.878967419
INS_TCAL2_ACC3_Z 0.115655688
INS_TCAL2_GYR1_X -38.260576775
INS_TCAL2_GYR1_Y -31.397342952
INS_TCAL2_GYR1_Z -170.526964641
INS_TCAL2_GYR2_X -0.503284624
INS_TCAL2_GYR2_Y 0.271679625
INS_TCAL2_GYR2_Z 0.415153958
INS_TCAL2_GYR3_X 0.037741787
INS_TCAL2_GYR3_Y 0.016131007
INS_TCAL2_GYR3_Z -0.015183546
INS_TCAL3_ENABLE 1
INS_TCAL3_TMIN -8.9
INS_TCAL3_TMAX 49.9
INS_TCAL3_ACC1_X -3615.507678814
INS_TCAL3_ACC1_Y 1062.413384520
INS_TCAL3_ACC1_Z 4890.130266319
INS_TCAL3_ACC2_X 75.087498182
INS_TCAL3_ACC2_Y -14.146285857
INS_TCAL3_ACC2_Z -109.223797083
INS_TCAL3_ACC3_X 2.131124390
INS_TCAL3_ACC3_Y -1.080486979
INS_TCAL3_ACC3_Z -4.664176674
INS_TCAL3_GYR1_X -72.959348437
INS_TCAL3_GYR1_Y 20.617437053
INS_TCAL3_GYR1_Z -17.321579978
INS_TCAL3_GYR2_X -1.376233255
INS_TCAL3_GYR2_Y -1.234594042
INS_TCAL3_GYR2_Z -0.301245595
INS_TCAL3_GYR3_X -0.015163424
INS_TCAL3_GYR3_Y -0.016235922
INS_TCAL3_GYR3_Z 0.026986356

Can you share a log?

That looks very good.

I guess you need to wait 30 seconds.
Previous versions did not test consistency as good as newer versions.

1 Like

IMU temp calibration log or the Gyros inconsistent log?

Gyros inconsistent log - so a LOG_DISARMED log from boot

An indoor log will also appear.

There’s nothing obviously wrong here. It’s a CubeOrange - I wonder if its to do with the first IMU being a bit problematic. Be worth trying to disable it to see if the problem goes away.

I see, I will give it a try. appreciate for looking into the issue.

apologies for the late response due to other commitments.
I tried, and no Gyro inconsistent message is still there. logs.

Have I set it correctly?
EK3_IMU_MASK,6
INS_USE,0

I am not sure if I need to highlight, that the following quick-tune parameters went missing at the same time in the log. Is it due to LOG_DISARMED, enabled?
QUIK_AUTO_FILTER,1
QUIK_AUTO_SAVE,0
QUIK_AXES,4
QUIK_DOUBLE_TIME,10
QUIK_ENABLE,0
QUIK_GAIN_MARGIN,60
QUIK_MAX_REDUCE,20
QUIK_OPTIONS,0
QUIK_OSC_SMAX,5
QUIK_RC_FUNC,300
QUIK_RP_PI_RATIO,1
QUIK_Y_PI_RATIO,10
QUIK_YAW_D_MAX,0.01
QUIK_YAW_P_MAX,0.5

I am using 2 Pixhawk 6x both with minor differences with setup. They are recieving this Gyro not healthy message with 4.5.3 firmware. It does not appear when loaded with 4.5.2 and able to fly with 4.5.2 Arducopter.

This is a different issue for which there will be a fix in 4.5.4.

2 Likes

Glad to hear. I was about to chime in with the same report.

I just give 4.5.4 a try on CubeOrange, putting IMU0 back.

EK3_IMU_MASK,7
INS_USE,1
log.

1559	0001-01-01 00:00:13.628	MSG	13628611	ArduCopter V4.5.4 (fd1bcc61)
1560	0001-01-01 00:00:13.628	MSG	13628620	ChibiOS: 6a85082c
1562	0001-01-01 00:00:13.628	MSG	13628639	CubeOrange 00420019 3239510C 38363839
1563	0001-01-01 00:00:13.628	MSG	13628682	Param space used: 1772/5376
1564	0001-01-01 00:00:13.628	MSG	13628690	RC Protocol: SBUS
1565	0001-01-01 00:00:13.628	MSG	13628700	RCOut: PWM:1-14
1566	0001-01-01 00:00:13.628	MSG	13628706	New mission
1567	0001-01-01 00:00:13.628	MSG	13628735	New rally
1568	0001-01-01 00:00:13.628	MSG	13628748	New fence
1569	0001-01-01 00:00:13.628	MSG	13628758	Frame: HEXA/X
1620	0001-01-01 00:00:13.768	MSG	13768373	RC10: MotorEStop LOW
1968	0001-01-01 00:00:14.473	MSG	14473764	EKF3 waiting for GPS config data
1969	0001-01-01 00:00:14.473	MSG	14473779	EKF3 waiting for GPS config data
1970	0001-01-01 00:00:14.473	MSG	14473791	EKF3 waiting for GPS config data
1985	0001-01-01 00:00:14.524	MSG	14524459	Quicktune for multicopter loaded
3770	0001-01-01 00:00:17.113	MSG	17113692	CAN[125] 0
3772	0001-01-01 00:00:17.114	MSG	17114814	CAN[125] idle 84.02% (4201337/5000015)
4261	0001-01-01 00:00:17.868	MSG	17868353	GPS 1: specified as DroneCAN1-125
4945	0001-01-01 00:00:18.871	MSG	18871253	EKF3 IMU0 initialised
4946	0001-01-01 00:00:18.871	MSG	18871828	EKF3 IMU1 initialised
4947	0001-01-01 00:00:18.872	MSG	18872345	EKF3 IMU2 initialised
4948	0001-01-01 00:00:18.873	MSG	18873441	AHRS: EKF3 active
4950	0001-01-01 00:00:18.873	MSG	18873519	EKF primary changed:1
5838	0001-01-01 00:00:20.318	MSG	20318230	EKF3 IMU0 tilt alignment complete
5839	0001-01-01 00:00:20.320	MSG	20320769	EKF3 IMU1 tilt alignment complete
5840	0001-01-01 00:00:20.323	MSG	20323309	EKF3 IMU2 tilt alignment complete
5899	0001-01-01 00:00:20.408	MSG	20408473	EKF3 IMU2 MAG0 initial yaw alignment complete
5900	0001-01-01 00:00:20.415	MSG	20415966	EKF3 IMU0 MAG0 initial yaw alignment complete
5902	0001-01-01 00:00:20.418	MSG	20418543	EKF3 IMU1 MAG0 initial yaw alignment complete
6980	0001-01-01 00:00:22.114	MSG	22114247	CAN[125] 0
6981	0001-01-01 00:00:22.115	MSG	22115023	CAN[125] idle 82.66% (4133348/5000235)
10127	0001-01-01 00:00:27.114	MSG	27114280	CAN[125] 0
10128	0001-01-01 00:00:27.115	MSG	27115093	CAN[125] idle 82.62% (4131485/5000016)
12264	0001-01-01 00:00:30.469	MSG	30469604	PreArm: Hardware safety switch
12265	0001-01-01 00:00:30.469	MSG	30469627	PreArm: Gyros inconsistent
13281	0001-01-01 00:00:32.114	MSG	32114096	CAN[125] 0
13282	0001-01-01 00:00:32.115	MSG	32115130	CAN[125] idle 82.63% (4131893/5000016)
16426	0001-01-01 00:00:37.114	MSG	37114354	CAN[125] 0
16427	0001-01-01 00:00:37.115	MSG	37115144	CAN[125] idle 82.62% (4131408/5000015)
19572	0001-01-01 00:00:42.114	MSG	42114489	CAN[125] 0
19573	0001-01-01 00:00:42.115	MSG	42115298	CAN[125] idle 82.61% (4130782/5000137)
22718	0001-01-01 00:00:47.114	MSG	47114246	CAN[125] 0
22719	0001-01-01 00:00:47.115	MSG	47115390	CAN[125] idle 82.58% (4129451/5000015)
25870	0001-01-01 00:00:52.114	MSG	52114313	CAN[125] 0
25871	0001-01-01 00:00:52.115	MSG	52115378	CAN[125] idle 82.63% (4131973/5000015)
29015	0001-01-01 00:00:57.114	MSG	57114482	CAN[125] 0
29016	0001-01-01 00:00:57.116	MSG	57116584	CAN[125] idle 82.65% (4132890/5000173)
31777	0001-01-01 00:01:01.469	MSG	61469803	PreArm: Hardware safety switch
32164	0001-01-01 00:01:02.115	MSG	62115140	CAN[125] lpwork_thread : 224 free
32165	0001-01-01 00:01:02.116	MSG	62116181	CAN[125] idle : 80 free
32166	0001-01-01 00:01:02.116	MSG	62116332	CAN[125] can_thread : 136 free
32167	0001-01-01 00:01:02.116	MSG	62116613	CAN[125] hpwork_thread : 24 free
32168	0001-01-01 00:01:02.117	MSG	62117011	CAN[125] noname : 208 free
32169	0001-01-01 00:01:02.117	MSG	62117551	CAN[125] exceptions : 104 free
32170	0001-01-01 00:01:02.117	MSG	62117689	CAN[125] 0
32171	0001-01-01 00:01:02.119	MSG	62119140	CAN[125] idle 82.60% (4131739/5001767)
35316	0001-01-01 00:01:07.116	MSG	67116623	CAN[125] 0
35317	0001-01-01 00:01:07.117	MSG	67117429	CAN[125] idle 82.59% (4129986/5000015)
38467	0001-01-01 00:01:12.116	MSG	72116526	CAN[125] 0
38468	0001-01-01 00:01:12.117	MSG	72117796	CAN[125] idle 82.61% (4131199/5000390)
41615	0001-01-01 00:01:17.116	MSG	77116356	CAN[125] 0
41616	0001-01-01 00:01:17.119	MSG	77119180	CAN[125] idle 82.65% (4132840/5000339)

I may have found the cause.

when I was setting up a new drone (4.5.3), I noticed the PreArm: Gyros inconsistent message appeared if I set the BRD_BOOT_DELAY,5000. if I set it BRD_BOOT_DELAY,0, it did not appear. Both software and hardware reboot do not appear the message with BRD_BOOT_DELAY,0.
or when RC is not turn on.

16/7/2024 10:29:41 am : PreArm: RC not found
16/7/2024 10:29:10 am : PreArm: RC not found
16/7/2024 10:28:39 am : PreArm: RC not found
16/7/2024 10:28:08 am : PreArm: Gyros inconsistent
16/7/2024 10:28:08 am : PreArm: Hardware safety switch
16/7/2024 10:28:08 am : PreArm: RC not found
16/7/2024 10:27:52 am : EKF3 IMU0 MAG0 initial yaw alignment complete
16/7/2024 10:27:52 am : EKF3 IMU2 MAG0 initial yaw alignment complete
16/7/2024 10:27:52 am : EKF3 IMU1 MAG0 initial yaw alignment complete
16/7/2024 10:27:52 am : EKF3 IMU2 tilt alignment complete
16/7/2024 10:27:52 am : EKF3 IMU1 tilt alignment complete
16/7/2024 10:27:52 am : EKF3 IMU0 tilt alignment complete
16/7/2024 10:27:50 am : EKF primary changed:1
16/7/2024 10:27:50 am : AHRS: EKF3 active
16/7/2024 10:27:50 am : EKF3 IMU2 initialised
16/7/2024 10:27:50 am : EKF3 IMU1 initialised
16/7/2024 10:27:50 am : EKF3 IMU0 initialised
16/7/2024 10:27:48 am : GPS 1: specified as DroneCAN1-125
16/7/2024 10:27:48 am : RCOut: PWM:1-8 DS600:9-12 PWM:13-14
16/7/2024 10:27:48 am : AHRS: DCM active
16/7/2024 10:27:48 am : ArduPilot Ready
16/7/2024 10:27:48 am : INS: alloc 6144 bytes for ISB (free=604104)
16/7/2024 10:27:48 am : Barometer 2 calibration complete
16/7/2024 10:27:48 am : Barometer 1 calibration complete
16/7/2024 10:27:46 am : Calibrating barometer
16/7/2024 10:27:43 am : Initialising ArduPilot

Going back to the old drone (4.5.4), software reboot does not appear for BRD_BOOT_DELAY,0, but will appear for hardware reboot sometime.

Both three INS_USEx are enabled.

I do not seem to be able to reproduce this PreArm: Gyros inconsistent with 4.5.6 when BRD_BOOT_DELAY,0 but when BRD_BOOT_DELAY,3000 or BRD_BOOT_DELAY,5000, I can both hardware reboot cycle or software reset.

Nice catch, you might be up to something here. There might be a bug causing the correlation.

Can you test it a bit more and open an issue on github if you can prove the correlation?

Any suggestions? LOG_DISARMED,1 for the following tests, then upload the logs to Ardupilot GitHub?

BRD_BOOT_DELAY,0
BRD_BOOT_DELAY,3000
BRD_BOOT_DELAY,5000

Yes, with at least 3 runs from each. Thanks for helping us out.

1 Like