Pitch/Roll drift

We lately experience a strange behavior of the ROV while in stabilize or depth hold mode, the pitch/roll start to drift slowly which leads to the ROV swimming with increased pitch or/and roll, so that every few minutes we need to switch to manual mode and than back to stabilize mode to level it again.
Anyone experienced anything similar or can offer a solution?

Not seen this with Blue yet, but on Drones I have seen this a few times two causes one was not properly calibrating the system away from all Metal or magnetic objects, once when I legit had bad accelerometer you could put it on stable platform arm it and watch over time the drift happen when the drone has not moved a mm in any axis.

Hi @nfored
On the bench it holds steady and keeps leveled, it only happens during a dive as the ROV moves around and not necessarily near metallic objects. Calibration passes fine but doesn’t seem to help with this problem.

We’ve seen this. Seems to happen more when in depth hold mode, and not so much of an issue in position hold (with DVL). Also seems to happen quite rapidly when using a gamepad- we’ve switched to a joystick and it seems to be less/not an issue. It was happening on every dive, even with constant pre-calibration (away from metal objects).
The strange thing is that the artificial horizon clearly shows that the ROV is pitched/rolled, like we’ve been inputting pitch/roll commands, when obviously we haven’t. If it was an IMU issue I’d imagine that the pitch and roll drift would not be reflected in the artificial horizon indicator, as the ROV would ‘think’ it was level.

I forgot to mention that in addition to that the ROV behaves erratically very often, like it’s glitching and momentarily going out of balance. Its relatively a new phenomenon that we haven’t seen before on the same vehicle.

Hi @odedezra,

I asked about this and @williangalvani said it’s a known issue with one of ArduSub’s internal controllers. He thought it had already been fixed in a recent beta release, but then checked the codebase and it apparently hasn’t been fixed yet, so we’ll need to look into it and figure out the best way to resolve the problem.

Hi @EliotBR
Thanks for the update.
Any idea what would cause this behavior to suddenly appear when everything was working fine before? and is there a way to reset it back to its normal behavior, regardless of fixing the code?