The optimal solution is when **D** is zero. I'm just going to stipulate this, but intuitively it means that we don't have so much torque or speed that we need to make the wheels extra large or extra small. They are "just right." So:*4 * r0 / r1 = 1*

Since **r1** is related to torque, we can keep all the other parameters the same as solve for torque:*4 * r0 * f / t = 1*

*t = 4 * f * r0*

For our case this works out to 1.6 Nm, only about 20% more than originally specified. This is 4 motors at about 55 oz-in each. If the discriminant is zero then the equation for *r* becomes simply:*r = r1 / 2*

So with our stronger motors we need wheels about 12" in diameter to hit the target uphill speed. If we back-compute some other numbers we find that the RPM is also reduced in half. Our wheels are rotating at 30 RPM. What's going on is that the optimal solution splits the difference perfectly between speed and load. The motor has cut its RPM in half in order to provide force to move against gravity. More force and the speed would be lower; more speed and the force would be lower.

Perhaps you don't have old LPs lying around, so you'd like to find motors to fit the wheels you have. If you have a target radius for your wheel **R**, you just have to assure that **r1** is twice that size:*r1 = 2 * R*

*t / f = 2 * R*

*t = 2 * R * f*

Since **r1** is four times **r0**, we can also compute the no-load RPM from the desired speed.*4 * r0 = r1*

*4 * 10 * s / p0 = 2 * R*

*p0 = 20 * s / R*

By the one-half rule we discovered earlier, this is twice the RPM you'd need to get the desired speed if the bot wasn't going uphill.

Plugging in the numbers from the first post we get a torque of 0.8 N and 120 RPM. For four continuous-rotation servos you'd need 30 oz-in with a speed of 0.08 sec/60 degrees.

## Bookmarks