I disagree that this is the maximum (sizing) load case. This load case is to overcome the friction of the wheel scrubbing on the carpet as you try to turn it. But there is another load case that is larger that needs to be considered:
When the drive motor applies a torque to drive the wheel, this torque will also try to spin the module due to the reaction torque at the 90 degree bevel gear. If the wheels were unable to turn (such as when you are in a pushing match) and the motor were at max stall torque, the reaction trying to spin the module would be the motor’s stall torque times the gear ratio of the gearing between the motor and the bevel.
For our swerve module, we use a NEO motor for drive and then run with either 3:1 or 4:1 before the bevel and 2:1 after the bevel gear.
So, if you take the stall torque of our NEO motor @40A, times this gearing (we will take the worst case which is the 4:1), you get 2.92 ft-lb of torque trying to spin the module.
I believe that this is the highest load that the steering motor needs to react. So this is what we use to assess our steering motor options.
You can plug this in to the JVN calculator if you want, but the math is pretty simple.
Taking the NEO 550 steering motor, you have 0.215 ft-lbs of stall torque available @30A. Our module uses a 33.3:1 total steering ratio (10:1 in a VP gearbox and 100:30 in the final drive ratio), so if you multiply the NEO 550 stall torque times the 33.3:1 ratio and you get 7.15 ft-lbs of torque available to resist the spinning of the module. This is 2.45 times the maximum torque from the drive motor described above. So, this gives us a decent factor of safety and ensures that we are not running the motor at excessive amperage at stall as we are resisting the torque of the drive motor. Taking the 30 Amps divided by 2.45, we get 12.25 Amps. REVs testing of the NEO550 says that it can sustain up to 20 amps continuously (over a minute) without failing, so 12 amps seems pretty safe.
Running the same math with a 30:1 ratio shows a similar result with 13.6 Amps at stall needed on the NEO 550 to resist the torque imparted by the NEO drive motor.
20:1 is getting marginal - with slightly over 20 amps needed to resist the drive motor torque.
Our limit has always been controllability rather than torque. In previous years, the steering control loop was in the main robot code and the absolute encoder was fed back to the RIO. The loop time of the main code limited how fast we could spin the module and still have a stable control loop. In 2018 and 2019 we were running 150 RPM module speed with an RS550 (banebots) motor. We probably could have run faster, but we spent our time iterating other aspects of the designs instead.
But this year with the NEO550 we tried something new which was to run the steering control in the motor controller using the motor encoder itself for control rather than the absolute encoder. This allowed a much faster control loop without any jitter associated with the deadband due to geartrain backlash. So now the torque limit has become a much bigger factor. We believe we are still control limited, but our main goal was to reduce the VP gearbox from 2 stages to 1 stage, so once we had done that, we didn’t go any further.