This would be a great off season project. In addition to the theory, which is indeed interesting, there are several practical engineering aspects of such machines you won't really appreciate until you try building one. 2077 built a
robot almost exactly like you're describing last year. Some interesting things we learned...
Beyond the discussed-ad-nauseum limits on "pushing power" due to traction, there are a new set of speed and acceleration limits. Theory, of course, predicts and explains these things, but their significance may not jump out at you from the equations:
- Your total available motor power is only 75% of that of a four-motor machine, for obvious reasons.
- The arrangement makes some motor power available for acceleration in any direction at any time, but it also never makes ALL motor capacity available in any one direction.
- Since you're always moving two or three wheels "sideways" to at least a degree, some of your already-limited motor power is consumed by the friction in the omni-wheel rollers and against the ground. With the small roller diameter the latter can be significant on carpet.
Taken together, these mean you won't be winning any drag races with well-designed four motor tank drives. They can pretty much fully utilize the full power of four motors going forward or back; the three-wheel omni ends up applying closer to one CIM's worth of output to actually accelerating the mass of the machine. Don't let this scare you (too much); few robots you compete against will be optimally engineered anyway. It does mean you have little room to be wasteful in your design.
It will be surprisingly difficult to make the machine drive in a straight line, especially in directions other than the three where two wheels are turning the same speed and the third is stopped. The problem is that the beautiful theoretical math only works as expected with beautiful theoretical hardware. In particular, the math solves for wheel speeds, and unless you have a good wheel/motor regulation arrangement, what you're actually setting is motor drive (e.g. PWM) level. How this translates to wheel speed depends on the voltage/speed linearity of the motor and even more on the load. While this problem in principle affects other drive systems, it's worse on 3-wheel omni because you're almost always at different speed/load points for each wheel. We dealt with it using gyro feedback. Another approach would be closed-loop PID on each wheel so you really do get the wheel speeds your program asks for.
Another amusing thing we observed was behavior under hard acceleration. The fact that the wheels tend to be driving all different speeds means typically one will break loose and start spinning before the two. For something like a car where all the pushing wheels are going the same way, one wheel spinning means maybe a moderate swerve to one side. For a 3-wheel omni with the wheels 120 degrees apart, the behavior is more "interesting". We saw this on hard surfaces and were a bit baffled by it (blaming it on the software) until we figured out what was happening. It was not a problem on carpet.
Whether or not you choose to use such a system in competition, knowledge of how to make one will be an asset to your team. Your software people will enjoy it too. There are already written drive programs available, but they're not too hard to program from scratch (another thing I'd recommend doing as a learning experience). Have fun.