I’m trying to decide on a good gear ratio for our drive system, but I’m kind of stuck on one thing - I can’t figure out how to calculate the force the robot could inflict on another robot while pushing (not momentarily). I alraedy have the torqe of each wheel, I’m just missing the next step.
Would the number of wheels make a difference?
from personal experience gearing for about 5fps and using any high grip wheel (plaction, colson, traction ect) will give you a very strong pushy bot. you still won’t have enough torque to break traction with the carpet though.
I actually want to do the math… And to know how to. The thing is I already have the built robot and all I want to do is decide whether I want to chaneg the gear ratio or not. Besides, I don’t want to have a very strong pushy robot, I want a combination of strength and speed that would be the best for the robot out of several options I have.
For each drive motor, multiply the motor’s torque by the total gear ratio (gearbox and sprockets etc) and divide by the wheel [strike]diameter[/strike] radius. Then add those up. Watch your units. Post your results here and we’ll check it for you.
If you’d look at JVN’s Mechanical Design Calculator, you can see the effects of gear ratio, # of wheels, # of motors, etc. on the effective pushing power of a robot. It allows for easy “prototyping”, as the numbers are as simple to change as the push of a button.
I would defer the mathematical explanation to somebody of more knowledge, but for starters you can look at the formulas that he uses in this spreadsheet. JVN’s Design Calculator may be found here:
Draw a “free body diagram” with all the forces you think are relevant and post it here. In your post, tell us all the assumptions that you have made. From there we can create some simple equations and walk through it. The math is actually quite easy - the hard part is finding all the things that affect it.
Pushing force is basically your static friction force between your wheels and the ground. The max static friction force is equal to your [Normal Force (the weight of the robot on a level surface)]x[coefficient of static friction].
The max weight of a robot including bumpers and battery is around 150 lbs.
Assuming a coefficient of static friction between the wheels and carpet of ~1.5, you can create about 225 lbs of pushing force before your wheels start to slip. Once they start to slip, that number will drop.
Keep in mind that you also can only draw 40 amps per motor before you start popping breakers. The trick is to get your gearing such that your wheels will begin to slip just before you get to 40 amps to avoid popping your breakers. Once the wheels slip, the resistance force goes down and your current draw should decrease.
That’s an over simplified look at it, but it’s a place to start. There are many other factors such as type of drive-train, number of wheels, type of tread, weight distribution of robot, etc. All can affect your pushing power.
Torque applied to wheels (in*lbs)/Radius of Wheel (in) = Pushing Force (lbs)
Assuming you’re not slipping.
I’d also ding about 5% per gearing stage you have (gears sets and sprocket/chain sets). Easiest way is to multiply your end result by 0.95^(number of gear reductions). You can apply more realistic numbers with some minor research.
If each wheel gets 20 ft-lbs of torque, and the wheel is 6" in diameter, the force acting on the carpet* is 20 / 0.25 = 80 Lbf. (20 is the torque in ft-lbs, 0.25 is the radius of the wheel in ft, and Lbf is “pounds force” (different from pounds weight)).
*Theoretically. Remove maybe 5% for losses (as suggested above), you get 76 Lbf.
Be aware that if you are powering 2 wheels with 1 motor, each wheel gets half the torque. Similarly, if you are powering 3 wheels with 2 motors, each wheel gets 1/3 the torque produced by adding the torques of the 2 motors together (and factoring that torque up by the gear ratio, of course). That’s why I worded my post in terms of drive motors instead of wheels.
Bardd: note that this would require a wheel tread with a coefficient of friction of around 2.0, much higher that commonly used tread materials. When you finish your calculation you should double-check it with other potentially limiting factors such as traction and component strength.
Ether is right that the torque delivered by the wheels (assuming no wheel slip) is the maximum pushing force that can be provided by the robot.
However, in my experience (at least with 1519 robots), we haven’t been able to actually get that much pushing force due to a different limiting factor. However, the limiting factor isn’t the wheels slipping (in recent years we have used very grippy wheels) but rather the robot starting to flip itself over. (See photo below for an example.) Once teams design robots with sufficient torque and traction, the robot’s own weight distribution and geometry is the next limiting factor.
For robots with high torque capabilities and very grippy wheels, “lift up” seems to be the limiting factor. Figuring this out is something that we’ve never actually done before on our team, but would probably be good to do. There’s little point in having more torque or traction in a pushing contest than the amount that starts to result in the robot being lifted up, as that torque (or traction) can’t be effectively used.
(By the way, I was hoping that this thread was taking these other factors into account…)
Assuming you’re pushing against an identical robot, this limits pushing force F to approximately (W*k-tau)/h, where h is the height (above the horizontal witness line through the center of the wheels) of the effective contact point of the pushing force and tau is the torque on the rear wheels
Note that if F is below the horizontal witness line through the center of the rear wheels, then “h” is negative.
Awesome diagram! I hadn’t ever really tried to figure out the solution before, but with your diagram, it’s pretty easy! Thanks, Ether!
However, I think there’s an extra variable (tau) in your solution. From looking at your diagram, I get the maximum pushing force as being (Wk)/h, with F=tau. However, I think I must be missing the reason that you have included “tau” in the calculation. Can you explain? I set the rotational torques about the ground contact point equal to one another (Fh = W*k) and then solved for F. However, either I’m missing something (the reason for tau being in the answer) or you made a minor mistake.
When coming up with physical solutions like this, I like considering each of the independent variables and how making them bigger / smaller effects the result, particularly at the extremes. (W*k)/h seems to make sense from a number of practical ways:
The lower you can get the pushing point (“h”), the harder the robot can push without tipping over. If the height can be made to be zero, then this constraint (tipping over) is never a limiting factor. Very tall robots can’t push well at all, as they’ll simply tip over instead.
The heavier you can make the robot (“W”), the harder the robot can push. A weightless robot can’t push at all, and an infinitely heavy robot won’t have it’s pushing power limited by tipping over.
The further you can move the CG forward of the rear wheels (“k”), the harder the robot can push. If the CG is directly over the rear wheels (k=0), then the slightest push will tip the robot over. If the CG is infinitely far in front of the rear wheels, then the robot isn’t limited in pushing by tipping over, either.
In any case, thanks, Ether! I’ll have to encourage our team to consider this factor when designing gear ratios for pushing next year – we’ve definitely had more pushing power than we could use during these past few years! Accordingly, we probably could have geared higher to get a little more speed without compromising our pushing ability (barring electrical energy considerations.)
PS: “You must spread some Reputation around before giving it to Ether again.”
Nice catch. In my haste I labelled “h” as the vertical distance from the force to the ground. It should be the vertical distance from the force to the horizontal witness line through the center of the rear wheels.
See corrected diagram in original post.
In the corrected diagram, you get Fh + tau = Wk,
so F = (W*k -tau)/h (as originally posted).
If you then assume tau = F*r in the above equation (where “r” is wheel radius),
you get F = k*W/(h+r), where “h+r” in the new diagram is the “h” in the old one.
So yes, the formula for the original diagram should have been F = W*k/h.
For the corrected diagram, it is F=W*k/(h+r), which amounts to the same thing.
Oops! I actually liked where you had it the first time – changing the diagram has now gone and made my earlier post invalid – except it now agrees with my calculations! Whew!
Ah, I didn’t consider that. I re-attached the original diagram to provide context for your post.
What I think I was probably missing in my calculation from the earlier diagram and might have been why you had included “tau” in the equations was considering the rotational torque of the wheels on the floor. Is that it?
Yes, the rotational reaction torque on the robot due to the torque on the wheels.
In that case, though, it would be necessary to consider the radius of the wheels (which is not necessarily the same as “h”).
Yes. I think you posted this while I was busy wordsmithing my previous post:) It now explains the role of “r”, the wheel radius.