Boat - EKF2 or Gyro Failure

Hi all,

This is my first rover build, previously build both copters and planes, and I’ve run into a problem that’s got me stumped. A bit of background, I’ve build a boat for a bathymetric survey of a mine tailings dam which has a PH of 1.8. The boat is a bit of an ugly duckling, but its build for a purpose and fingers crossed with it will get the job done.

Craft – 1m mono displacement hull with two Blue Robotics T200 thruster, skid steering. The airmotor is a backup propulsion and steering system.
Autopilot – 3DR Pixhawk – APM:Rover v3.1.2

I’ve done a basic tune of the boat and I’m very happy with the performance, it navigates very well even in relatively strong wind.

The issue I’m having happens intermittently, usually only 15min or more into the mission. The boat begins to consistently track left of the navigated line and in the HUD the boat appears to be rolling to the right which it isn’t. Sometime the boat continues navigating consistently left of the line and other time it quickly diverges and is no longer able to navigate at all.

I’ve attached the logs of a mission where it diverged rapidly and lost total navigation. The conditions were dead calm with no wind or chop on the lake. The mission is a simple repeating X pattern which the rover completes successfully four times (See image 1) before it begins to navigate left of the line appear to roll right. This rapidly gets worse till the boat can no longer navigate and had to bring it back manually. I beached the boat on the slipway and the roll read 15 degrees which is incorrect and the position is also incorrect by approximately 5m to the north. I rebooted the pixhawk and roll correctly reads close to 0 again. See image 2 – The positions GPS and Pos progressively diverge during the mission with the GPS reporting position being correct.

With my limited log analysing skills I’ve noticed the following:
Plotting the roll and pitch for both instances of EKF2 it appears that only in first instance of EKF2 on IMU1 is affected. It looks like the gyro bias GX in IMU1 is the cause of the issue, see image 3 and 4. Is this a gyro or EKF failure?

Lastly what are the parameters PIDA and PIDS? I assume PIDS is the steering PID loop and PIDA the throttle, is this correct? My PIDA is poorly tuned as the I-term accumulates quickly but without knowing exactly what PIDA I can’t begin to fix it.

Any help or suggestions will be greatly appreciated.


Bin log, Tlog and parameter -