What Triggers "Vibration Compensation On"? It's not vibrations!

I’ve got a copter that has given me trouble w/ vibration compensation and EKF Variance messages since I built it. Its vibes in the logs are around 3 to 5. Very low. But still, high speed runs triggered vibration compensation messages. That seemed odd that such low vibes would cause it, but more throttle = more vibes so ok.
BUT, today the copter is just sitting here on the bench, not being moved in any way, motors not spinning, and a vibration compensation on message just popped up on the HUD in MP.

What triggers that?

Have you got a .bin log where it does that. Also enable LOG_DISARMED and leave it sit again.

I Maybe… I might have been armed at the time… No battery connected, though, so motors were not spinning…
No, I cleared my logs before taking a flight, so that one is gone.

I have a log of a flight today where my vibes average at about 2, and peak to just over 5, where it enables frequently.

I’ll see if I can reproduce it on the ground again…

My guess is your accel offsets look like vibration

so an ever increasing accel offset, and the copter thinks it is moving? Well, the copter definitely thinks it is moving… I can see that on the map in MP.

But it doesn’t look like vibrations in the logs… So, it’s using a different metric to choose when to enable it, than what the logs show for vibration.
I’m curious what that is because it might help solve all the problems I’ve been having ( and you’ve been trying to help me w/) on these kakute copters.

And still, why… What am I doing differently than you and others using this FC. I have multiple, and they all do the same things… The phantom vibrations, the leaning… urg…

(It has been a benefit, though… I’ve learned a lot by getting the vibes down to around 2 on these kakute copters. I applied all the improvements to my already well running Omnibus copters, and they are amazing now. Almost perfect.)

There have been several posts with logs showing where vibration compensation was activated yet the vibe levels logged were not that high. It prompted me to ask where Ardupilot is getting the clip info from. Is it an error code/interrupt from the IMU or is it registered in firmware from sampling live accel data. The former I would assume but I didn’t get a reply. In any case those examples were unexplained also.

In my flight today, the times where it activates when vibes are under 5, the position trace on the map in the log viewer goes very far off. Hm… I was going to say “so something is going wrong at the time”. But actually, maybe that is a result of vibration compensation turning on. It changes the way it is estimating its position, and maybe the pos line in the logs changes because of it.

Maybe by looking at PSC TY/TPY and TX/TPX you can see where it goes wonky relative to the Error code.

OK, happened again today.
I was flying, landed, then armed to take off again, and the moment I armed, it popped up “EKF Variance” “vibration compensation on”.

I land under some big trees, so GPS does lose satellites around that time.
It occurs around line 149 in MP, and APM Planner has it at about 135000. Not sure what the difference is. It’s the last time I power up… I just fly for a second to move the copter closer to myself, and that’s the end of the log.
Here’s a link to a log.

I’ve had this happen a few more times. Both simply hovering in the air, and sitting stationary on the ground.
I’ve noticed it pops up in relation to GPS issues. But certainly it’s not vibrations causing the error. They’re below 3 in the logs. Or zero, because the copter is sitting on the ground! In both cases yesterday it shows “GPS Glitch”. second later… “Vibration Compensation On”.

I’m assuming it’s by design, but a poorly worded error… And since there’s no official response about what triggers it, I figured I’d mention it again in case others have issues w/ it. It’s not always vibrations that cause it, so maybe don’t waste time going down that path to fix the error.

1 Like

Hey @wicked1
Sorry I missed this post. You had directed me here from my post about the crash and Vib Compensation coming on. I am starting to think this function is buggy.
I notice a similar issue. GPS glitch and EKF variance at the same time as the compensation kicking in. While my vibes are not as clean as yours. They still should not have resulted in the crash I had today.
500 bucks worth of parts argh.

In your case the timing is a bit different. Vibe compensation is activated and ~1s later a GPS Glitch. Like Mike said, it’s not clear what caused it in the 1st place.

Ya I know…but it sucks no matter what.= and I can’t help but think something is off with this function.
But thats life with drones. Build fly crash repeat

1 Like

This is not the only post regarding false vibration compensation.

Maybe it’s time to have @tridge or @rmackay9 or other relevant dev’s to have a look at what is going on?

Thanks for the report.

The vibration compensation uses the EKF’s health reporting (aka variances and innovations) to decide if the altitude hold vibration compensation should be switched on or not. The heuristics used are described on the wiki but in short they are:

  • EKF’s vertical velocity innovations are positive (see onboard log’s NKF4.IVD value)
  • EKF’s vertical position innovations are positive (see NKF4.IPD)
  • EKF’s velocity variance is 1 or higher (see NKF4.SV)

The EKF is a little tricky to understand but together this means that the EKF doesn’t have a good climb rate estimate and the most common reason is high vibrations. In this case, I suspect it is bad GPS data that is tricking the check. In particular the EKF fuses the GPS’s vertical velocity into the climb rate estimate so bad GPS data could make the EKF unhappy in similar ways.

Below is the section of the logs where the vibration compensation comes on and it looks like the EKF3 is not happy.

I guess there are three things that stand out here:

  • The vehicle is not actually flying when the vibration compensation comes on
  • The vehicle is in stabilize mode so it should not have been affected by the vibration compensation. I.e. the message is innocuous and is really only a warning in case the pilot wnats to switch to a mode like AltHold, Loiter, Auto, etc
  • EKF3 is being used, in general we recommend sticking with EKF2 in 4.0.x. In 4.1.0 we will switch to the EKF3 by default and during the 4.1 beta period we can better dig into any issues that arise.
  • The log has a fair bit of corruption so I’m unable to see any of the parameter values. @peterbarker tells me that the Kakutef7Mini board being used doesn’t have an SD card so the logging is on FRAM and there are significant reliability improvements to this logging coming in Copter-4.1.0.

So I think although the vibration compensation came on in this log it didn’t actually cause a problem.

@rickyg32, I’ll check your post here next.


For curiosity: above seems it climbed to 185.6m, and that happened before “Vibration compensation on”. Was that real and on purpose?

Hi it looks like you like me have a lot of noise in your Compass signal (interference?) this plot should in a perfect world be straight

Has your problem been solved? I am also facing a similar kind of problem.
Help me with this.

Nope. Still does it. Unless a dev can tell us what is really triggers this, I’m out of ideas. Seems to be something w/ GPS or compass.

Today i got same issue as @wicked1 my quad running on 4.0.7 with CUAV V5nano.

my vibration levels are below 20 only but still I’m getting lot of clipping on primary and tertiary.

during manual flying getting clipping and loitering also keep affecting when very minimal wind also oscillations and more clipping .but during this there is no much noticeable vibration .then what could cause this. log file attaching here: