Which position should it go to? The vehicle firmware doesn’t persistently store its PWM outputs, so it needs to either choose an arbitrary value to start at (the middle seems pretty reasonable for something it thinks is a camera mount), or start without any value (which could have issues if a servo is supposed to be holding up a camera, because it won’t put energy into maintaining its current position if it’s not receiving a position target).
A couple of solutions I can think of:
ArduSub could be modified to include parameters for the default mount PWM values
You could write a program that sends a starting value once the vehicle connects
This could conceivably be dynamic, by reading the last value from the latest available log file
It may be possible to include such a program on the Onboard Computer, or build it into a control station software
Perhaps starting the ROV without any PWM value for a specific servo can be a solution for me, since in this case when starting the ROV, the servo does not support any weight.
Where would that change be made? Through Qgroundcontrol or would Ardusub have to be modified?
I believe that would “only” need to be a change in ArduSub, since QGC only changes the camera mount angles by sending button press events - it has no direct control over the PWMs.
I’m unfortunately not certain where in the codebase the outputs are initialised at the moment, but can potentially go for a trawl for that in the next week or two if need be.