Is set(ControlMode.PercentOutput,1.0) setting the motor voltage to 100% of the battery voltage or 100% of 12V?
I’ve seen reference that percent output is a percent of battery voltage, but I’ve but I can’t find anything in the docs that say that. configVoltageCompSaturation() doesn’t say what happens when it’s not set, nor does it stipulate a max.
It’s percent of the input voltage, so yes, it’s proportional to the current battery voltage. Meaning if you’re approaching the brownout limits of the rio, and trying to drive at 50%, then your motors may only be seeing ~3V
Also keep in mind the voltage drop from resistance in the input wires. If you have a long wire with significant current flowing through it you can see a drop of almost 2 Volts between the battery and motor controller input.