One unit is ~3 months old, and the other is ~3 years old. The issue started on the 3-year-old unit.
During a vessel inspection, Depth Hold suddenly became unstable. The ROV sometimes dives downward aggressively, shoots upward, or cannot hold depth.
We formatted the SD card and reinstalled BlueOS and firmware (as we usually do when software is corrupted).
Normally this fixes the problem, but now we see rolling/pitching behavior like in the attached video.
*We increased the speed only to make the symptom clearer in the video; the same behavior occurs even at 25% speed. Please refer to the Attitude Indicator shown in the video.
We already tried the following hardware actions, but the issue did not improve:
Replaced the Navigator flight controller and did full initialization.
Replaced all Basic ESC (200).
Replaced the tether.
Replaced one suspect thruster motor.
Both ROVs are running the same software versions: BlueOS 1.5.0 Beta 25, ArduPilot (Navigator) 4.5.7 Stable.
Could you suggest additional troubleshooting steps we should try?
Hi @nowtwind13 -
To rule out software being an issue, please use 1.4.3 STABLE BlueOS. When using beta versions, especially 1.5, things are not guaranteed to work as they should! Can you share why you were testing 1.5 beta?
If you can also share a vehicle .BIN log for this video, that would be helpful in troubleshooting as well.
Has the pressure sensor on the older unit ever been submerged for more than 24 hours? If the gel coating over the sensor has begun to dissolve from overexposure, then strange values can be reported, which can cause erratic behavior in the autopilot. If switching to stabilize mode helps, then I’d suspect the Bar30…
Note that the joystick-controller “gain” only affects joystick inputs - it is not a general speed limiter, so it has no effect on the automated depth hold functionality
To reduce depth hold’s speed you can adjust the PILOT_SPEED_UP/DN parameters, but that doesn’t seem relevant to your situation
A target
The depth target is most commonly provided when depth hold is enabled / when the operator stops using the joystick to change the vehicle’s depth
The attitude target defaults to 0, but can be adjusted using the roll/pitch trim buttons on the joystick, or set with joystick axes if you have enough of them or are using the roll-pitch toggle functionality (which we believe is very rarely used)
Targets are also possible to specify programmatically, but that doesn’t seem to be what you’re doing
There was a recent bug fix for incorrect depth target determination when switching modes, which is currently only available in the Dev firmware (not yet Sub-4.5)
If that seems to describe your behaviour then it may be worth installing the Dev firmware to see whether it fixes your issue
It will have no effect on pitch/roll issues
If the normal checks don’t seem to help, please try flashing on the “Dev” ArduSub firmware to see whether it is better, and if not try older firmware versions to see whether the problematic behaviour is a recent change. I don’t believe there have been any relevant changes in a release after 4.5.0, so you could try 4.1.2 and 4.1.0 as the previous two releases where related code was modified.