@Sylvie
With V5, when you tell a motor to move a certain velocity the motor does specific internal calculations to alter the power sent to the motor so the output matches your requested velocity. Too fast?
Less power is sent Too slow? More power is sent. It knows if it is too fast or too slow by taking measurements from the internal encoder and comparing it to the target value. The process of taking measurements and applying appropriate changes is called a feedback loop. This is the term for the logic that you were looking for. From what I have seen, the feedback control that v5 motors have is very accurate, however it is not suited for all applications. If you want two intakes to move at the same velocity, using the built in velocity control is perfectly fine. If you are programming a flywheel, I would 100% advise you against the built in velocity controller since it accelerates as fast as possible and can apply backwards power if it overshoots the target velocity. Both of these can easily destroy the motor. That is why, if you are trying to design your own feedback controller for the motors, I would recommend using voltage control. As theo suggested, using voltage control lets you control the motor exactly how you want – without the built-in feedback overriding it. What this means is that if two identical motors receive the same voltage but work against different loads, then the motor with the lighter load will spin faster. You can use a feedback loop to fix this issue. The terms you see above such as PID etc are just abbreviated names of popular feedback loops. PID loops clicked in my head when I read the guide linked on this vf post. I highly recommend reading the rest of the thread too. It’s a bit more advanced, but very informative. When you think that you have mastered the concepts found within PID, I encourage you to look up more forms of feedback loops online, theres a lot to learn!