Altering/Creating my own PID controller for ArduSub

Hello Everyone, I’m in a team and we are trying to build a buoyancy UUV. I’m wondering does anyone have any idea on how to or could help to alter the PID in the open source code. I have looked at the source code control_auto.cpp, but i’ts just very confusing as there are so many different functions being called. Does anyone have a good document that explains how the PID here works? Where to find the parameters or update the frequency of the controller? It would be most helpful! I’m all ears for any information that anyone can give me and would appreciate it a ton!

Thank you again for your time and I hope to get some good responses!

Best regards

Per Frivik

Hi @PerFrivik, welcome to the forum :slight_smile:

These are a couple of the forum posts that may be of interest:

Beyond that, the main relevant parameters are the ATC Parameters, and the following conference presentations may also be applicable.

I’ve also asked our software team if there are other resources that would be useful for this :slight_smile:

Hey EliotBR! I’m super thankful for your help and the resources you have gathered for me :). I’ll take a look at it all and get back to you, and thank you for asking the software team too, I look forward to what they have to say :))!

Best regards,

Per Frivik