Let’s say I want to run a drive train with a sonic shiftier run off two cims (although I don’t think the # of cims is important). Cim motors have an approximate free speed of 5310rpm. The sonic shifter I want has a 30:1 low gear reduction and a 7.5:1 high gear reduction which will be spinning two 22 tooth sprockets each attached to a 24 tooth sprockets on the center two 4" diameter wheel. From there, two sprockets of the same size (not sure what size yet) will attach the center two wheels to the outer two wheels. The wheels will have the blue mcmaster-carr tread running on standard frc carpet from 2013. Assuming the robot is roughly 130 lbs with a battery, how do I go about calculating theoretical speeds in high and low gear?

I understand the basics of gear ratios, so I guess the bigger question I have is the friction and weight factor. However, if someone could run through the entire process, I think it would be very beneficial to other teams. Thanks in advance!

So you want a theoretical calculation that includes friction?

Friction is highly variable and difficult to model accurately. It is therefore typically modeled with an adjustable parameter(s), whose value(s) are obtained empirically, and may be different from one drivetrain to the next, even if they are the same design.

However, if someone could run through the entire process, I think it would be very beneficial to other teams.

Here’s an Excel-based drive-train model. It allows the drivetrain parameters to be specified (including losses) and includes wheel slippage. The included paper provides the mathematical basis.

As for weight, this will mostly have an effect on acceleration. Heavier could cause increased frictional losses, but it there is enough time, weight won’t directly affect the final speed. However, if you don’t have enough acceleration, you won’t reach the final speed in the match, because there isn’t enough runway, so to speak.

In addition, due to the pliability of the carpet and wheel tread, more weight will mean more loss to rolling resistance.

The friction and acceleration models taught in high school physics classes are usually not complete enough to be accurate in FRC. I recommend testing for the top speed of your robots, then weighing them down and testing again. I doubt you’ll produce the same numbers.

This is why I used the word directly – I agree that weight makes a difference indirectly, and that this needs to be modeled if you want to really understand what is going on and design for optimal performance (which has to be defined in the context of the requirements). Losses through interaction with the carpet can be considered a form of friction, again with a dependency on weight…

I often write too much, but I guess I wrote too little before!

Rolling resistance has nothing to do with friction unless the wheels are slipping, which they aren’t if the drivetrain is moving in a straight line. Rather, the losses are the result of deformation within the contacting surfaces.

I think the point he was making is that in terms of modeling a system and seeing it’s speed, rolling resistance can be lumped in with friction. A single friction term that covers all sources of “friction”.

It’s a fair point, and simple models are commonly done that way.

You are correct that rolling resistance isn’t friction, but it shows up in the same way.

Drivetrain Acceleration Model with C source code. Drivetrain and rolling resistance losses modeled with 3 adjustable parameters. Numerical integration with Heun’s Method for speed and accuracy. Creates CSV output file which can be directly imported into Excel for graphing.
The 3 adjustable parameters for losses account for torque-dependent drivetrain friction (drivetrain efficiency fraction) and speed-dependent rolling resistance (carpet compression loss etc).

This does a great job of answering the original question, thanks for doing this!

If people have data from real robots and can fit the plot to match this data by adjusting the constants, it would be very good to share the values for different robots – this would allow the gear ratio(s) to be engineered so a robot will perform as desired, using values that at least were realistic for another machine. It also provides another way to compare drivetrains.