I am having a persistent EKF issue on my copter build that I can’t seem to resolve.
The Problem: When I push the copter aggressively (tilting 30 to 40 degrees at speeds around 80 to 90 km/h), I immediately get the following errors in the GCS:
EKF variance
EKF yaw reset
GPS or compass glitch
Additionally, in Stabilize mode, the copter is unable to maintain a level hover. It constantly drifts and stays tilted/leaning to either the left or the right. I have to constantly correct it manually to keep it level.
What I have checked and done so far:
GPS Signal: During these glitches, my satellite count is rock solid (consistently 25+ satellites) and HDOP is perfect. There are absolutely no drops in satellite count or GPS signal quality.
Compass Calibration: I have performed the onboard compass calibration multiple times.
Hardware Layout: I physically moved all power cables and ESC lines as far away as possible from the GPS/Compass module to eliminate any potential current-induced magnetic interference.
Despite these steps, the EKF yaw reset and compass glitch errors keep happening under high speed and high tilt angles.
I would highly appreciate any help or advice on what parameters to look at in my logs. I have attached my log file below.
Your VIBE entries occasionally reach almost 25, and their magnitude is bigger in higher speed / higher acceleration regions of the flight. 25 is pretty high, and the actual vibration environment within the frame can be even worse.
In these conditions, if you have your GPS module mounted without enough vibration dampening, it may feel very high accelerations. And high accelerations are automatically treated by a commercial GPS unit as an attempt to use it on a weapon - so it stops sending updates unless accelerations get below the limit. This might be the source of your glitches.
Yes ı am used mehodic configurator and @andypiper yt videos tuning the copter. My fc f405 and ı cant magfit flight. How can we confirm the problem compass or GPS? In Stabilize mode, the aircraft’s level attitude drifts to the right or left; the EKF perceives the attitude as level, even though it has actually drifted.
I’m going to try to bring the vibration levels below 15. However, if I place an anti-vibration mount under the flight controller, the harmonic notch filters don’t work properly. My propellers are high-quality T-Motor ones.And If the GPS data stream had cut out, it would have shown up in the logs; the GPS accurately displays the routes I’ve flown.
EKF has no idea what the “true level” is. If your machine drifts in Stabilise with zero stick inputs, it might be to a variety of different reasons, including wind. As for the attitude angles, the machine reports pitch and roll with respect to what the machine is configured to treat as “level”, not with the respect to some imaginary levels which prevent a drift.
So, if you think that initial accel configuration is perfectly enough to zero out the drift, it is not enough. In my machines, I tend to fine-tune AHRS_TRIM_X and AHRS_TRIM_Y manually to values which correspond to a near-zero drift, by keeping the machine as motionless as possible manually, then looking for offsets in the logs. There are also few RC functions that do a similar thing for you.
There are few sources for drift even when the machine is perfectly levelled. For instance, temperature-related drift, which is especially “fun” if your flight controller is AIO and all the ESC-induced heat is yours. For this reason, I compile the IMU temperature compensation and perform temperature calibration for all AIO-based machines I build.
I have no idea where you took this from. In these words, the statement is plainly false.
For the purpose of handling potential GPS issues (which may or may not be your cause), I was mostly speaking about dampening the GPS module itself, not adding more dampening to the flight controller.