Unexpected EKF lane change

I was experiencing unexpected EKF lane changes on my hexcopter with a Cube Orange Plus. I switched the primary EKF from lane 0 to lane 1 and have not had problems since.

I looked at the logs of a few flights and noticed that lane 0 shows consistently worse performance (larger XKF3[n].ErSc) values, so it’s a mystery to me why it is the default. I know one of the the IMUs inside the Cube is not vibration isolated so I am wondering if something is screwed up here.

I have also turned off the Cube’s internal magnetometer as it is mounted too close to the battery to be effective. Therefore the only sensor that is different between the three lanes should be the IMU.

Logs: logs 2023-01-04.zip

There are still high vibration levels on the isolated IMUs. Those will need to be addressed. The tuning could also be improved. I suggest once the vibrations are under control you run autotune again.

I am not really sure what is going on with the vibration levels. Is there a configuration issue or a mechanical issue? What is most puzzling is that the “un-isolated” IMU 2 has the lowest VIBE values. Is it possible for a configuration issue to affect VIBE values? The manual says they are based on raw data, which I guess means pre-filtering.

Here are more logs. I tried tying down the FC and simply using its stock isolation mounts. I tried just hovering and some movement. Full rate pre and post filtering IMU batch sampling is enabled for all logs.

Link: logs 2023-01-24.zip

The non-damped IMU (2) does indeed show less vibrations than the damped IMUs (0 and 1) which will be a resonance issue with the damping material right at 100HZ. Your base frequency is 50Hz so you appear to have the HNOTCH configured correctly except for the REF value.


This will turn off that full rate logging of pre- and post-filter, it’s not needed and wont help you now the HNOTCH is already good.

You will definitely have to do more to reduce vibrations, or mount the Cube and carrier board slightly differently to reduce the effect of harmonics.
Once the vibes and resonance issue is solved you can resume tuning.

Vibes are high and need to be addressed but a question about the IMU configuration here:
This is what this FC has (so 1st gen Cube Orange+)
INS_ACC_ID,3408930- ICM42688
INS_ACC2_ID,2883874- ICM20948
INS_ACC3_ID,3015690- ICM20649

And you have:
Is the ICM20948 really what you want as the primary IMU? I think not.

Yes, that’s the new Cube Orange default config - that IMU has proven to be more reliable because of IMU resets on IMU0. Firmware 4.3.3 should be in use for the proper fix, but 4.3.2 does mitigation.

I think that’s what the reasons are, there might be a much better technical explanation somewhere.

True of the Cube Orange with the problem ICM20602 as the default primary but the + doesn’t have one of those. 4.3.3 brought fast reset of that IMU but shouldn’t apply to +.

You are correct Dave
The Cube Orange and Cube Orange+ are different - thanks for pulling me up on that.
It’s probably not drastic but certainly more correct to have
EK3_PRIMARY 1 for a Orange
EK3_PRIMARY 0 for Orange+

1 Like

Yes, I agree. He changed the primary IMU but the root cause is probably high vibes so I would suggest setting it back.

BTW-When the 2nd gen + come’s out that looks like a truly impressive IMU suite.

Okay, I will make a note to change it back. I changed it by default because of the lane changes. Where do the IDs come from exactly? Are they mappable directly back to model numbers?

In MissionPlanner / Setup / Mandatory… / HW ID