I'm trying to work out the wheel force and torque required for a TWIP robot, so that I can size a motor.

I've calculated a maximum traction force of $\small6.51\mathrm N$. My understanding is that a torque force at the wheels of up to and including $\small6.51\mathrm N$ can be applied, to drive the robot without the wheels slipping. This would give the robot a maximum acceleration of $\small3.92\mathrm{ms}^{-2}$

So, assuming I wanted to achieve the maximum force to drive the robot, and hence the maximum acceleration (assuming pendulum is balanced), I would need a wheel force of $\small6.51\mathrm N$.

There is also resistance against the direction of motion/driving force of the robot, in the form of rolling resistance and aerodynamic drag. From what I've read rolling resistance (a type of static friction) is a resistive moment to wheel rotation, which needs to be overcome by the wheel torque force in order to produce acceleration.

rolling resistance

I've calculated a rolling resistance value of $\small0.16\mathrm N$. The robot is intended for indoor use but in case I take it outside I calculated an aerodynamic drag value of $\small0.14\mathrm N$, using an average wind flow velocity of $\small3\frac{\mathrm m}{\mathrm s}$ for my location. Taking these resistive forces into account I calculated a wheel force of $\small6.81\mathrm N$ and axle torque of $\small0.20\mathrm{Nm}$, for maximum acceleration of the robot.

I've considered the maximum torque exerted by the pendulum i.e. when it's pitch angle/angle of inclination is at +- 90° from the stable vertical position at 0°.

This torque needs to be matched (or exceeded) by the torque/moment exerted about the pivot by the wheel force, accelerating the robot horizontally. The wheel force and axle torque required to stabilise the pendulum I've calculated as $\small13.7340\mathrm N$ and $\small0.4120\mathrm{Nm}$ respectively, and an axle torque of $\small\approx0.2\mathrm{Nm}$ for one motor. I ignored rolling resistance and aerodynamic drag for these calculations.

The motor will be a brushed DC motor, so I think $\small0.2\mathrm{Nm}$ should be 25% or less of the motor's stall torque.

Can you please tell me if this is correct?

Here are my calculations and FBD:$$$$

Maximum tractive force

$\begin{align} F_{t(max)}&=μN\qquad\qquad\qquad\qquad\qquad\qquad Mass\,of\,robot: 1.66\mathrm{kg}\\ &=(0.4)*(16.28\mathrm N)\qquad\qquad\qquad\,\,\,\,Weight\,of\,robot:16.28\mathrm N\\ &=6.51\mathrm N\qquad\qquad\qquad\qquad\qquad\,\,\,\,\,\,Number\,of\,wheels:2\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\,\,\,\,\,Wheel\,radius: 0.03\mathrm m\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\,\,\,\,\,Mass\,of\,pendulum:1.4\mathrm{kg}\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\,\,\,\,\,Distance\,from\,axle\,to\,pendulum\,COM:0.2575\mathrm m \end{align}$

$F_{t(max)}$: Maximum tractive force

$μ$: Coefficient of friction

$N$: Normal force at wheel$$$$

Maximum acceleration of robot

$\begin{align} a_{r(max)}&=\frac{F_{t(max)}}{m}\\ &=\frac{6.51\mathrm N}{1.66\mathrm{kg}}\\ &=3.92\mathrm{ms}^{-2}\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad \end{align}$

$a_{r(max)}$: Maximum acceleration of robot

$F_{t(max)}$: Maximum tractive force

$m$: Mass of robot$$$$

Rolling resistance force

$\begin{align} F_{rr} &= C_{rr}N\\ &=(0.01)*(16.28\mathrm N)\\ &=0.16\mathrm N\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad \end{align}$

$F_{rr}$: Rolling resistance force

$C_{rr}$: Rolling resistance coefficient

$N$: Normal force at wheel$$$$

Drag resistance force

$\begin{align} F_{d} &= C_{d}\left(\frac{ρ*v^2}{2}\right)A\\ &=1.28\left(\frac{1.2\frac{\mathrm {kg}}{\mathrm m^3}*(3\frac{\mathrm m}{\mathrm s})^2}{2}\right)0.06\mathrm m^2\\ &=0.14\frac{\mathrm{kg}\cdot\mathrm m}{\mathrm s^2}=0.14\mathrm N\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad \end{align}$

$F_{d}$: Drag resistance force

$C_{d}$: Drag coefficient

$ρ$: Mass density of fluid

$v$: Flow velocity of fluid relative to object

$A$: Reference area/projected frontal area of object$$$$

Wheel force/tractive force for maximum acceleration of robot

$\begin{align} F_t-F_{rr}-F_d&=ma_{r(max)}\\ F_t-0.16\mathrm N -0.14\mathrm N &=(1.66\mathrm{kg})*(3.92\mathrm{ms}^{-2})\\ F_t&=(1.66\mathrm{kg})*(3.92\mathrm{ms}^{-2})+0.16\mathrm N +0.14\mathrm N\\ &=6.81\mathrm N \end{align}$

$\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad$ OR $\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad$

$\begin{align} F_w&=F_{t(max)}+F_{rr}+F_d\\ &=6.51\mathrm N +0.16\mathrm N +0.14\mathrm N\\ &=6.81\mathrm N\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad \end{align}$

$F_t$: Tractive force

$F_{rr}$: Rolling resistance force

$F_{d}$: Drag resistance force

$m$: Mass of robot

$a_{r(max)}$: Maximum acceleration of robot

$F_w$: Wheel force

$F_{t(max)}$: Maximum tractive force$$$$

Axle/wheel torque for maximum acceleration of robot

$\begin{align} T_a&=F_w r\\ &=(6.81\mathrm N)*(0.03\mathrm m)\\ &=0.20\mathrm{Nm}\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad \end{align}$

$T_a$: Axle/wheel torque

$F_w$: Wheel force

$r$: Wheel radius (lever arm length)$$$$

Maximum torque exerted by pendulum

Pendulum at +/- 90 degrees

$\begin{align} T_{p(max)}&=F_p r\\ &=(1.4\mathrm{kg}*9.81)*(0.2575\mathrm m)\\ &=3.5365\mathrm{kg}\cdot \mathrm m\\ &=3.5365\mathrm{Nm}\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad \end{align}$

$T_{p(max)}$: Maximum torque exerted by pendulum

$F_p$: Force applied to pendulum

$r$: Distance from axle to pendulum COM (lever arm length at +/- 90° )$$$$

Wheel force to stabilise pendulum

$\begin{align} T_{p(max)}&=F_w r\\ 3.5365\mathrm{Nm}&=F_w*(0.2575\mathrm m)\\ F_w&=\frac{3.5365\mathrm{Nm}}{0.2575\mathrm m}\\ &=13.7340\mathrm N\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad \end{align}$

$T_{p(max)}$: Maximum torque exerted by pendulum

$F_w$: Wheel force

$r$: Distance from axle to pendulum COM$$$$

Axle/wheel torque to stabilise pendulum

$\begin{align} T_a&=F_w r\\ &=13.7340\mathrm N*(0.03\mathrm m)\\ &=0.4120\mathrm{Nm}\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad \end{align}$ $\therefore$

$\begin{align} T_{a(one\,motor)}&=\frac{0.4120\mathrm{Nm}}{2}\\ &=0.2060\mathrm{Nm}\\ &\approx0.2\mathrm{Nm}\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad \end{align}$

$T_a$: Axle/wheel torque

$F_w$: Wheel force

$r$: Wheel radius (lever arm length)

$T_{a(one\,motor)}$: Axle/wheel torque for one motor$$$$



  • $\begingroup$ Could you please provide diagrams and equations you used to get to those values? It's difficult/impossible to help you understand how to apply your terms if you don't tell us what they are or how you calculated them. Static friction is.. static, so it shouldn't have anything to do with moving your robot, unless you're referring to the static friction between the wheel and road/surface, where it provides traction. You want the wheel location to be static with respect to the road or you're slipping. It's not really clear what you're talking about though. Again, please post your methods. $\endgroup$ – Chuck Jul 17 '17 at 14:31
  • $\begingroup$ @Chuck I was referring to traction. Though I thought tractive force and friction were used interchangeably. I understand that the wheel location must be static relative to the road or else there will be slippage. I'll post my calculations as soon as I can, thanks. $\endgroup$ – somers Jul 17 '17 at 18:02
  • 1
    $\begingroup$ There's a bunch of similar sounding terms that are related but distinctly different. Rolling resistance is, as you said, the force it takes to roll one kind of material over another, and has to do with the energy dissipated by deforming the wheel and surface at the point of contact. Static friction is required to get the wheel to rotate, so as long as the rolling resistance is less than the static friction between the wheel and surface, the wheel rotates instead of sliding, but that's it - the static friction doesn't play any part in the math except to guarantee the wheel rolls. $\endgroup$ – Chuck Jul 17 '17 at 18:22
  • 1
    $\begingroup$ That is, traction is generally an all-or-nothing event (unless you get into stick-slip). If your analysis says you have traction (static friction is greater than rolling resistance), you go to the rolling resistance analysis and completely disregard the static friction. It's important to realize that every joint that experiences relative motion between the members also experiences friction, like motor bearings and gear trains, so it's important to characterize that in addition to your wheel's static friction and rolling resistance terms. $\endgroup$ – Chuck Jul 17 '17 at 18:26
  • 1
    $\begingroup$ Note: If you are asking this because you are trying to size the motor, the diagram you drew seems to indicate the motor will be experiencing both static torque and possible dynamic torque due to the weight and Center of Gravity of the robot and also the lifting arm. You will also need to consider that. $\endgroup$ – markshancock Jul 19 '17 at 20:47

I've calculated a max. traction force of 6.51N. Does this mean a torque force at the wheels of up to and including 6.51N can be applied, to drive the robot without the wheels slipping?


$max(F_{t}) = μN$

Yes, the traction force equation means that the wheels can push on that surface with up to and including that force (and the surface pushes back with an equal and opposite force, accelerating the robot) without the wheels slipping.

Also, I've calculated a rolling resistance value of 0.16N. Am I correct in thinking this value needs to be added to the wheel force, so as to provide enough force to overcome it?


$F_{rr} = C_{rr}N$

Yes, Wikipedia defines "specific rolling resistance" $C_{rr}$ as "the force per unit vehicle weight required to move the vehicle on level ground at a constant slow speed where aerodynamic drag (air resistance) is insignificant and also where there are no traction (motor) forces or brakes applied."

Newton's second law $\vec{F} = m\vec{A}$ applies to this free body diagram -- the acceleration of your vehicle, times its mass, equals the net total force. The net total force in the horizontal direction on your vehicle appears to be the traction force $F_t$ of the ground on the contact patch of the wheel (this actual traction force is almost always far less than the maximum traction force $max(F_{t})$), the (effective) rolling resistance $F_{rr}$, and the force due to aerodynamic drag -- forces that in some cases may align in the same direction and add up, but in more common cases are opposing and partially cancel out.

| improve this answer | |
  • $\begingroup$ So the driving force in the horizontal direction is $F_{Net}=F_{t}−F_{rr}−F_{d}$ and $F_{Net}=ma$? $\endgroup$ – somers Jul 21 '17 at 20:09
  • 1
    $\begingroup$ Yes, $F_t - F_{rr} - F_d = F_{Net} = ma$ is correct for the most common cases -- accelerating, holding speed, and coasting to a halt. However, TWIP robots often rapidly decelerate (regenerative braking or normal braking), and during those times $F_t + F_{rr} + F_d = F_{Net} = ma$. $\endgroup$ – David Cary Jul 24 '17 at 14:30
  • $\begingroup$ Dai, Gao, Jiang, Guo, Liu. "A two-wheeled inverted pendulum robot with friction compensation". doi.org/10.1016/j.mechatronics.2015.06.011 -- is that article helpful? $\endgroup$ – David Cary Jul 24 '17 at 14:34
  • $\begingroup$ Thanks David, I realise I'll need a Newtonian/Lagrangian mathematical model - just trying to work out the wheel force/torque required to size the motor. I've updated my post. $\endgroup$ – somers Jul 28 '17 at 11:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.