From what I understand, in EV3-g you can use "move steering" or "move tank" blocks to regulate two motors proportionally to each other as they have a built-in PID controller to do that. If one motor falls behind, the faster motor will be slowed down and vice versa...
My question is how to realize this with 3 or more motors? E.g.: I have motor A which I want to run at full speed. Motor B which I want to run at 30% of the speed of motor A. Motor C which I want to run at 50% of the speed of motor A. I also want that if any motor is slowed down (e.g. because of friction), this is compensated by slowing the other motors down.
Will I need to code extensive PID loops myself? Does anyone have any references or examples in that case? Or is there a simpler way ?
The application I have in mind is an omni platform. This is a robot that has three wheels on axes that are 120 degrees separated. By correctly setting the speeds of the three motors, one should be able to get the robot to drive in any direction without it having to turn (although it can turn in place if needed).