EKF3 large position offset after startup using UWB beacons

I am using an indoor positioning system based on UWB beacons. This system is composed of four UWB MDEK1001 anchors placed in the four corners of a room with a size of 10m x 5m. The system appears to work properly, the distances to the various beacons are logged correctly, the position is accurate and the drone hovers maintaining the position precisely.

The problem is that approximately one minute after startup the EKF3 position jumps, gaining an offset of several meters, after which it stabilizes again. This makes it impossible to use waypoints consistently between flights since, although the relative accuracy of the system remains good this offset applies an absolute and random error in the position preventing the use of autonomous missions.

Below, I am going to plot the positions of the EKF3 in conjunction with the position reported by the UWB system. At 19 seconds the EKF3 initializes and its position jumps to the position reported by the UWB system (4m in X, -2m in Y). But at 49 seconds the position suddenly jumps in a random direction gaining a large offset before stabilizing again.


This behavior is consistently repeated in all the tests I have performed with this position jump always occurring at 49s as explained above.

I attach two logs in which this behavior can be observed in the beginning of the log.

LOGs: Logs UWB - Google Drive

If someone with a deeper knowledge on the subject could advise me on why this phenomenon occurs or how to solve it, I would appreciate it.

I have also encountered it before, it should be ekf3, the reason for constantly setting the origin.

Do you have any more details on why this behavior is happening or how to solve it?

From what I understand, everything starts with the vehicle being level on the ground, all IMUS indicate this, with beacons indicating a constant and fixed position. And then the EKF3 goes nuts, changes position abruptly creating a change of speed and even a change of attitude to later stabilize again.

Is this due to EKF3 setting the origin wrong or what? I fail to understand what is causing the change of position.

Another thing I have noticed is that this change of position is not completely random. After analyzing a multitude of logs in which this behavior is observed, what I have concluded is that the final position is 6 times the initial position. That is, if the initial position on an axis is for example -3m, (as indicated by the UWB position output) when the jump/change occurs the new position at which the EKF3 stabilizes will be more or less -18m, six times the initial one.

This value of ≈ 6, that multiply the position is consistent in more than 5 logs analyzed and makes me think that something may not be working right in this whole system.

@priseborough can you take a look at this?

Yesterday I performed new test flights, and exactly the same behavior as described so far is still occurring.

I leave the new flight log here as well:

Log day 2: Test day 2 - Google Drive