I took a decently quick read and had a few questions.
1. I may be misunderstanding what you are stating here:
Are you saying that a 4 CIM drive should be limited to 38% per a motor in order to keep your robot below 200amps of power usage? If so, I think that the 200 Amp number is actually pretty far from the limit of the power system of a modern FRC robot; we have run 4 CIM drives without any voltage ramping and never had any issues with brownouts.*
2. Would limiting the current draw of a motor be similar to limiting voltage? I.e. would limiting max current have a similar effect to limiting a CIM's output to .5 (In terms of limiting the speed at which the CIM will approach maximum acceleration?)
3. Why not simply control the Max RPM of the CIM in code rather than using a current PID?
*I suspect that part of this has been our somewhat low final RPMS from our gearbox reductions. These have both resulted in very short acceleration periods.
Thanks in advance for the answers!