paper: Analysis of “a torque-actuated module” used for strafing in an H-drive.

Thread created automatically to discuss a document in CD-Media.

Analysis of “a torque-actuated module” used for strafing in an H-drive.
by: GeeTwo

This is an analysis of the forces in a torque-actuated strafe drive, to determine what angles of tilt are required to prevent wheel slip. It is shown that for wheels with a coefficient of friction greater than one, any angle will work.

Through analysis of a free-body diagram of the wheel on the floor, it is shown that the wheels will not slip if [quote]R sec θ /r + tan θ – 1/μ >= 0[/quote] where [list]
[]R is the wheel radius
]r is the gear pitch radius
[]θ is the angle between the drive and wheel axle relative to horizontal
]μ is the coefficient of friction of the wheel on the floor[/list]

Torque-Strafe-Module.docx (443 KB)

I’ll look at this more in-depth during the weekend, but just wondering, should there be some part of the equation that would involve the torque coming from the motor… or is my brain too focused on the upcoming finals week to physics?

The key to an elegant solution to a physics problem is finding the right system to analyze, and the right coordinate system to perform the analysis. The torque coming from the motor feeds in to this via D. The results I found here seem to indicate that if you have “too much torque”, you don’t get wheels spinning out against the floor, but rather the module continuing down and lifting the robot (presumably until the module rotates past 90 degrees, when it will eventually spin freely in the air). Of course, many modules will be designed with “stops” to keep this from happening, which will introduce a considerable force not accounted for in my analysis.

As an example of an inelegant solution, one of my earlier attempts found me proving through a number of trigonometric identities that:

cos (θ - Ф) + sin (θ - Ф) tan θ = sec θ cos Ф

I’ve learned over the years that when you prove something like this, it’s time to look for a different coordinate system. This is why I analyzed forces perpendicular to B rather than vertical and horizontal components.

Thanks Gus. It’s nice to have an analysis of this module done up - it really speeds up the design process

I’m still not sure I would prefer a torque-actuated design over the same thing with an air cylinder pushing down, but I guess this would be useful if you don’t otherwise have a compressor on the robot.

I would certainly be far more comfortable doing one now that I understand how it works than a week ago when it seemed like voodoo. One of the key takeaways is that this must be a gear-based system; using belts or chains, the forces would not push the wheel into the carpet with the same authority. I have not bothered yet to prove to myself that belt or chain systems **cannot **work, but I am confident that it would be a lot trickier at best, and would not be surprised to learn that it is impossible.

Is this assuming a value of θ that’s fairly close to 90°? For small values of θ, it seems like assumption 1 for the B force no longer holds - the primary limitation on the normal force will come from the lever action of the module.

Here’s my derivation for small values of θ:

  • Rwheel - the radius of the wheel
  • Rlever - the distance between the drive/pivot axle and the wheel axle
  • θ - angle between the drive and wheel axle, relative to horizontal
  • Rmoment - the distance between the drive axle and the contact point of the wheel on the ground
  • ρ - the gear ratio between the drive axle and the wheel axle. (driven gear teeth)/(driving gear teeth)
  • μ - coefficient of friction
  • τ - motor torque about the drive axle
  • N - normal component of the reactive force of the ground on the wheel
  • F - frictional reactive force of the ground on the wheel
  • Fmax - the maximum frictional force, μ*N using Coulomb friction

F = τρ/Rwheel
Fmax = μ
N = τ/Rmoment*cos(θ)

Law of cosines:
Rmoment = sqrt(Rwheel^2+Rlever^2-2RwheelRlevercos(90+θ))
= sqrt(Rwheel^2+Rlever^2+2

In order for the wheel not to slip, F <= Fmax

Thus, τρ/Rwheel <= μτ/Rmoment*cos(θ)

ρ <= μRwheel/Rmomentcos(θ)
ρ <= μRwheelcos(θ)/sqrt(Rwheel^2+Rlever^2+2RwheelRlever*sin(θ))

I was only assuming that θ was between 0° and 90°. My point with assumptions 1 and 2 regarding B was that the forces applied perpendicularly to the line connecting the drive and wheel axes were approximately zero. If θ is small, then the approximation is just that much better.

As you note, for small θ, the term deriving from B (the one with tan θ) is much less important than the term deriving from D (the one with sec θ).

I think I follow now. However, it seems to me that you’re missing a term in equation 3: the force on the module by the pivot axle’s bearings. Without this, you have forces at the wheel pushing up and force at the interface between the gears pushing down (from the frame of reference of the module), so there’s an unresolved torque moment that will cause the module to rotate counterclockwise.

By pivot axle, do you mean the drive axle (coming from the motor)? This should be the same magnitude and direction as B, with slight adjustments for supporting the weight of the module and wheels. Because of the constraint of the drive bearings, any linear force (not torque, but that’s assumed zero because of the bearings) applied to the module at these bearings can only act on the wheel in the direction shown for B.

Yes, sorry for the confusion.

Imagine that you have a beam supported on both ends, and you apply a downward force in the middle.

There are reaction forces on both ends of the beam, and the sum of all three force must be 0. I see this as the same case here: the beam is the module, one end is supported by the wheel bearings (and transitively by the wheel on the carpet), the other end is supported by the the bearings on the drive axle.

I think you have to separate the two, because only the part of the force that’s being experienced at the wheel is ending up as normal force.

I’m not sure if this is the correct analysis, but as a general point, I’m bothered that your derivation doesn’t incorporate the distance between the drive axle and the wheel axle. If you increase this distance, then the torque load on the motor imposed by turning the wheel won’t increase, but the torque load imposed by the normal force does. At some point, turning the wheel will be much easier for the motor than applying normal force, so the wheel will spin with very little normal force applied, causing the wheel to slip and the robot won’t move.

In this case, there is no reaction force on the left end of the beam as shown in my diagram; the left wheel is off of the carpet. The beam in this case would be the module bracket. The forces on it are gravity and those applied at each of the three axle bearings.

  • When no torque is applied through the drive axle, the forces on the wheel bearings reduce to the weight of the wheels and wheel gears. Presumably the CoG of the module including the wheels and gears is somewhat offset from the drive axle, so the module will enter a pendular motion to place that CoG below the drive axle.
  • When torque is applied through the drive axle, note that (assuming good bearings) it is not applied to the module frame, but to the wheel gears. This torque is then transmitted to the module frame until a wheel touches the carpet and encounters a normal force. This is the case I analyzed in the paper. Note that the module cannot apply any significant torque to the robot, except through the drive shaft (and particularly not through the bearings). Assuming that the applied torque is appropriate to moving the robot, the weight of the wheels and module are relatively insignificant. This means that the force B applied by the module to the wheel on the floor is balanced by a force -B applied by the module to the robot. This force provides all of the translational force from the module to the robot, and a portion of the weight bearing of the wheel (the remainder is through the reaction of the drive gear to providing force D).

If the distance between the drive axle and the wheel axle is increased (and the wheel and wheel gear geometry remains constant), this means that the force D is being applied by the drive gear at the end of a longer moment arm from the drive axle, so of course it will require a greater torque from the drive shaft, though it will turn at a lower angular speed. For a given robot acceleration, the torque load required by the motor system will increase, though D remains the same.

The beam I was considering was the half-module from the drive axle to the wheel that was touching the floor. I was ignoring the other wheel.

Agreed, but in that case, since D and N are being applied at different points on the lever arm, equation 3 needs to incorporate that.


  • analyze it from a force perspective, where you have to consider all 3 forces (D, reactive force from wheel axle bearings, reactive force from drive axle bearings), or
  • analyze it from a torque perspective, which allows you to choose your origin so that r*F is 0 for one of the forces, but you have to include the radius for the other two

Looking at these three forces:

  • D acts on the wheel/gear and reacts on the drive gear.
  • force from wheel axle bearings acts on the module arm and the chassis
  • force from drive axle bearings acts on the module arm and the wheel/gear

There is no single part which experiences all three of these forces. Note that D is eventually transmitted to the chassis through a combination of the wheel axle bearings and the motor bearings (and cluster gear bearings if you have a multi-stage gearbox), so it is actually applied to the chassis as linear forces rather than a torque. Changing the gear ratios will result in different proportions of D being applied at each bearing. I do not see how this affects what D is at the wheel gear, as long as it does not actually lift one side of the robot off the floor and change θ.

I apologize for having been a bit lax with the rigor of my arguments. Let me try to clean some of that up.

In my physics classes, we were always told that the first step of solving a mechanics problem is to define your system. Forces between bodies in the system are internal forces and must sum to 0, because both halves of the force pairs are included. Forces from bodies outside the system acting on those inside the system are external forces. Since the internal forces sum to 0, then the external forces make up the F[sub]net[/sub] as used to calculate Newton’s 2nd law, F[sub]net[/sub] = m*a.

My interpretation of your paper was that the system being considered consists of

  • the strafing module arm
  • the wheel
  • the gear attached to the wheel (“the driven gear”)

If we take a fairly idealized version of the problem, the external interactions are the following contact and frictional forces:

  • the drive axle -> the strafing module arm.
  • the driving gear -> the driven gear. You label this D
  • the ground -> the wheel (contact force). You label this N
  • the ground -> the wheel (frictional force). You label this F

Equation 3 accounts for the last three, but not the first, unless you can present an argument that the first force is completely parallel to B.

Did I misinterpret your paper? Did you use a different system definition when doing your analysis?

The system I analyzed was simply the wheel with the attached gear and axle, though I incorporated knowledge about the construction of the module to simplify the forces it could exert on the wheel system.

Ah ok. Let me revise my list of interactions then:

  • the strafing module arm -> the wheel. You label the radial (relative to the drive axle) component of this B, and I think the tangent component L (though this isn’t defined clearly in the paper)
  • the driving gear -> the wheel gear. You label this D
  • the ground -> the wheel (contact force). You label this N
  • the ground -> the wheel (frictional force). You label this F

The part that I was missing was fully understanding why L = 0.

I think I’ve discovered the divergence in reasonings: I analyzed the normal force under the condition where the wheel is locked to the strafing module arm, which implies that there are additional torques(forces) in the system than there actually are.

A nice way to see this (if there was anyone else who was confused) is to imagine that you have a wheel mounted on the end of an arm, kind of like a pinwheel, and you support the stick near where the wheel is attached. 1) If the wheel were fixed rotationally to the arm, then if you try to spin the wheel, a torque would be induced on the arm, cause it to spin as well. 2) However, if the wheel is free to spin, then spinning the wheel does not induce this torque on the arm.

The other half of the issue is to see that there is no torque induced directly on the strafing module arm by the motor. Thus, the only forces that could generate L are reaction forces. If it weren’t for the meshed gears, the strafing module would be free to rotate about the drive axle, so there isn’t any resistance in the tangential direction, thus nowhere for a reaction force to come from.

tl;dr I think I agree with your (Gus’s) reasoning now.

I spent far more time thinking about this than I would have hoped to.

I think I understand your reasoning, and based on that, only disagree on one minor point:

Thus, the only forces that could generate L are reaction forces.

There is also the weight of the module, which is applied at the CoG, presumably a bit below the drive bearing when the module is horizontal, and thus will provide a slight torque about the drive bearing, and produce a bit of L in the upward/right direction. However, I have already argued that this force is negligible compared to the drive forces.

Agreed; I’ve been concerned with the idealized analysis of the system - massless and frictionless (except for the wheel/ground interaction) - so I’ve been ignoring the weight forces.

A full analysis of this system would also incorporate the weight of the robot. This would have place an upper bound on the normal force produced, and thus inform the choice of final gear ratio.

Also agreed. This analysis would be fairly typical for FRC, though focused on acceleration much more than top speed. If the robot were anticipated to be strafing at anything close to top speed, a less isotropic holonomic drive (mecanum, kiwi, or killough) or a crab or swerve drive would be in order.