Yes, this agrees with my estimates. The most counter-intuitive part is Cf.

Friction losses come from the following components:

Force of rolling resistance in floor tiles, tires, and weight bearing (adj) bearings (noun) which is proportional to the mass of the robot:

[INDENT] Frr = Crr1 * Fnormal = Crr1 * mg = Crr * m

[/INDENT]

Force of kinetic friction in drivetrain gear teeth, sprokets, and axles depends on Fnormals which proportional to the transmitted drive force:

[INDENT] Fdtf = Cdtf1 * MotorOutputTorque = Cdft1 * Fdrive / wheel_radius = Cdtf * Fdrive

[/INDENT]

This lets us write Newton’s Law formula as:

[INDENT]ma = (Fdrive - Ffriction) = (Fdrive - Fdtf - Frr)

ma = Fdrive - Cdf*Fdrive - Crr * m
ma = Fdrive * (1-Cdtf) - Crr * m
ma = C1*(Vpwm - Vemf)

*(1 - Cdtf) - Crr*m

ma = C1*(1-Cdtf) * Vpwm - C1*(1-Cdtf)

*Vemf - Crr*m

ma = C1*(1-Cdtf) * Vpwm - C1*(1-Cdtf)

*C2*velocity - Crr*m

a = (C1*(1-Cdtf)/m) * Vpwm - (C1*(1-Cdtf)*C2/m)*velocity - Crr

a = dv/dt = (C3/m) * Vpwm - (C4/m) * v - Crr

[/INDENT]

Solving this differential equation will lead to a familiar formulas:

[INDENT]a(t) = ((Cp/m)*Vpwm - Cf) * exp(-t/(m*Ct))

v(t) = ((Cp/m)*Vpwm - Cf) * m*Ct * ( 1 - exp(-t/(m*Ct)) )
s(t) = ((Cp/m) Vpwm - Cf) * mCt * ( t - m*Ct

*(1 - exp(-t/(m*Ct)) ) )

[/INDENT]

Essentially, Cp and Ct have absorbed Cdtf (kinetic friction coefficients in the drivetrain). While Cf absorbed all rolling resistance coefficients and kinetic friction coefficient between wheel axles and weight bearing bearings (where friction is proportional to the robot mass).

An intuitive explanation to this may be that since Cf signifies power losses then it should not decrease as the robot mass increases.

At the end of the day Cf will roughly stay the same. Finding analytical formulas without any “roughlys” is beyond my expertise in solving partial differential equations so we will depend on filter to smooth out any rough approximations.

And now another tricky question: What will happen to the formulas if we double number of our drivetrain motors while everything else stays the same?

As engineers we could be cavalier about roughness of our coefficients while adding new motors but we will certainly remove some metal to keep robot mass the same.