Glad to hear it
This is in the right direction, but more precisely the thruster contribution factors are a tool, and are determined by the vehicle frame designer. They’re generally intended to be used to align thruster contributions with motion axes, so the autopilot has a nice abstraction for its control of the vehicle (e.g. the factors determine how autopilot tries to achieve commands/decisions to move in a particular way).
It is technically possible to do some extra things with the factors though, like if you have several vertical thrusters and they draw more power than you have available, then you could potentially reduce the magnitude of all the vertical and pitch/roll factors to restrict the vehicle’s vertical output.
The vehicle’s motion (and hence the autopilot’s control authority) are affected by the center of buoyancy, but because it’s orientation dependent I don’t believe it’s typically relevant for deciding on (or calculating optimal) thruster motion-axis contribution factors. Same applies for the effects of drag (including from external currents) - they affect how hard it is to move the vehicle from in a given orientation and environment, but for the autopilot that’s all just extrinsic factors it needs to deal with as it tries to achieve its set points.
It would in principle be possible to directly compensate for estimated buoyancy and drag forces with more advanced state estimation and control algorithms, especially if ArduSub supported more advanced control mechanisms and environment sensors, but that’s not currently the case, and is at a higher level than the thruster configuration.
Neutral buoyancy is an equalisation of the total buoyancy force with the gravitational force - it doesn’t actually tell you anything about how the mass and volume are distributed, and also depends on the density of the fluid the vehicle is suspended in (e.g. a vehicle that is neutrally buoyant in brackish, salty water would sink in fresh water).
Buoyancy distribution is relevant for passive stabilisation, but it’s a tradeoff - if the center of buoyancy and center of mass are in the same place then the vehicle is easiest to pitch/roll, whereas if the center of mass is below the center of buoyancy then the vehicle naturally stay upright, with its base effectively ‘hanging down’ like a pendulum. If they’re not horizontally aligned then the vehicle tends to rotate until they are, which also means a vehicle can have a natural tilt and/or roll angle, instead of sitting “flat” in the water.
As above though, those considerations are relevant to vehicle design, but not the thruster motion contribution factors.
My “passive stabilisation” link provides some approaches here, but you can either measure it by physically balancing or weighing the vehicle in different orientations, or using a CAD model with known component weights to calculate it.
That’s probably the most common approach, yes, especially where thrusters are arranged in a sufficiently symmetric pattern.
That would be a viable approach, yes.