Very cool design! What are your plans for using additional motors or pneumatics?
So you are right in that the steady state response of a flywheel to a change in voltage across the motor should be relatively linear. However, the transient response of the flywheel (how it acts when you change the input until it has reached stead state) is not necessarily first order.
If we assume that you have linearly mapped the motor input to the voltage across the motors it simplifies the problem like you mentioned. For a step function input (I.E. if you decide to change your flywheel speed from 1000rpm to 1500rpm ASAP), the flywheel will have a second order transient response. In this case, a PID (not necessarily all of those terms) or lead/lag controller would give much more flexibility and precision in achieving design goals (overshoot/settling time/ss error) than a P controller with overshoot control. With a ramp input the response should linearize and you should increase your flexibility with, but still not the the degree of the other controllers.
Now let’s say we are going to have the flywheel change speed as we drive around so that it is always ready to shoot. There will be some known function that relates distance to goal to the required flywheel speed. We could do this theoretically (a major pain) or use experimental data to generate a function. Obviously the first is going to be of an unknown order (until we calculate it, have fun with that!) and for the second we can choose the order, to some degree (which would be my preference). Even if we do this, distance to goal is an unknown function of time because it changes as we drive around and we don’t know where the driver will go before the match. As a result, the constant transient response of the flywheel speed is unknown and therefore uncontrollable (by which I mean you can’t optimize a controller to a set of design goals that works at all times).
Now for autonomous we know where the bot will go to a decent degree. In this case we could design a controller to optimize the system and meet our design goals.
Long story short, the TBH will be easier to use than a PID and may give better results because it can be very difficult to tune a full blown PID controller correctly, but it can’t be optimized to the level that a PID controller could for this system.
Also, keep in mind that I said that the voltage across the motors was already linearly “mapped” to the input values (-127 to 127). If you don’t do this, then figuring out the order of the response will get interesting