A pleasure to hear from you
Couple of critical questions:
1) is the "perfect" situation that both motors equally share the load at all times and respond identically?
The motors should share the load but this does not need to be exactly matched. They are not now with my current control method.
2) How Dynamic is the system. Ie if you applied full torque or full load, what is the maximum rate of change of rotational speed
Well the motors themselves will accelerate fast. So fast that they can trip out due to the shock to the system that generates some fault that the drive reacts to. The torque slope starts out at default of 10'000 which is 0-max in 0.1s, it can be increased 2'000'000'000, if anything I go down from 10'000 . obviously once loaded the acceleration will depend on the load.
The answers will dominate what the best control architecture is!
If we assume the answer to 1) is YES (50:50 share is ideal) and the answer to 2) is say 1 second to reach max speed from zero speed
then it's clearly going to be best and easiest to do external speed control, ie to calculate a total torque value, then just split this 50:50 and send out that half torque command to each motor, and you'll need to be able to do this at between 10 and 20 times a second in order to maintain sufficient control bandwidth
This is what I currently do and well it sounds OK when running but updating every 18ms it's you can hear it wobble. The test rig is inherently very wobbly and certainly a worse case scenario (by accident haha). If I increase the update speed it does not necessarily make it better. I can err on the rapid updates with fast change rates, but this can just get silly as really I'm at the point of updating a system that does not have the finesse so fast that a human can't hear it not working right. Alternatively I update less frequently so that the sound of it changing speed is maybe accepted as it deals with a load change at a slower rate. if the load was to be changing as it gets to the new settling torque then maybe that would combine to a smooth ride but the load will be totally unknown and believe it or not 1000 steps of torque are not enough and my simulated 2000 steps still not enough.
There are other options which could be possible but which very much depend on the system dynamics, for example putting both in local speed control mode, but calibrating the PIDs differently to avoid detructive interference (you can have one motor doing all the P and one doing all the I for example)
The other question is what is fundamental oscialtion frequency of the system, ie you say the drives are "elastic", what is the natural frequency of this and will you control system operate above or below it (it really can't operate IN this zone!) Now if the load is varriable, then that no-go control bandwidth zone can be quite wide, so care will be required. For most mechanical systems, it's generally preffered to be above the natural frequency as normally things get "less stiff with time / condition / load" etc
The final question is
"How critical is the speed control accuracy and convergence" Ie, At what point does it actually matter that the speed is "wrong"? If you're making a machine to stir custard, then clearly, you've probably got a lot of tollerance to varriable speed, but a system to drive an elevator full of people, less tollerance. As you know the application, you can make some qualified estimation of the errorband/deadband that your system can tollerate, and this will drive the mechanical and software/controls architecture as appropriate...
Ideally each motors torque should be matched although there is plenty of acceptable tolerance. Basically as they act on from the two sides of the load via a rubber interface there is give but I don't want all the power coming from one side. Speed changes do not need to be rapid, 0-full speed can take several seconds and the speed input would be left constant once the machine is going so a torque controlled motor that updates fast enough can, I think, easily keep up and I suspect that the motor drivers speed control will be much less lumpy than mine as it has access to 65536 PWM steps for current/torque control rather than the puny 1000 steps that I have from the outside plus it's had way more development put into it than I ever could.
Speed controlled the machine runs nicely, it's just that the load will never share.