Depth Hold without heading control

Hello everyone

We are using BlueOS in the AUV with custom frame.


The vehicle has prolonged shape. There are two horizontal thrusters mounted in parallel at one end of the AUV. Both thrusters are used for forward motion and yaw control.

Due to the frame we have a side effect in the Depth Hold mode. In this mode ArduSub also keeps heading. When our AUV just stands in one point (no forward motion) from time to time it rotates to keep heading and when it rotates it also moves forward a little bit.

So in practice we have an AUV gradually moving away even when it’s not indented.

Is there any way to disable heading control in the Depth Hold mode? Ideally we need to be capable of disabling/enabling it while keeping the desired depth.

Regards, Sergei

Hi @schashni,

Fascinating setup - thanks for sharing! :slight_smile:

It will hopefully be sufficient to set the yaw angle controller gain to zero to disable the yaw stabilisation, then back to whatever value it currently is to re-enable it. That’s just a proportional controller, so as long as you send some kind of angle input before/when you re-enable it it shouldn’t jerk too much / need extra steps to reset it.

If need be you could also zero out the pitch and roll angle controller gains, and/or the yaw, pitch, and roll angle rate controller gains (which are used for managing the pilot inputs, and for an extra 250ms when slowing down after the last pilot input)

Given this is an AUV you should just be able to set those values in your control code. If you do happen to be controlling this manually at some point though, you could set up something like a custom Cockpit Action to set the parameter(s) as relevant.

@EliotBR thank you very much for the detailed and quick reply!
I will try this trick with PID and write here about the results.

1 Like