Chapter 5: Introduction to Robot Mechanisms (Conceptual)
Lesson 4: Payload, Speed, and Stiffness Trade-offs
This lesson explains why robot specs rarely improve in only one direction. We build simple statics, actuator torque–speed, and structural stiffness models to show unavoidable trade-offs: higher payload typically reduces reachable speed; higher stiffness often raises mass, which also reduces speed and controllable bandwidth. We stay conceptual—no kinematics or full dynamics yet.
1. Conceptual Overview
Industrial robot datasheets often list three linked metrics: payload (maximum end-effector load), speed (joint or tool velocity), and stiffness (resistance to deflection under load). Improving one tends to worsen at least one other because the same physical resources (actuator torque/power and structural mass/geometry) must satisfy all three.
flowchart TD
A["Task requirement: payload, reach, cycle time, accuracy"] --> B["Statics check: torque >= load*lever"]
B --> C["Actuator check: torque-speed curve + gear ratio"]
C --> D["Structure check: deflection <= limit"]
D --> E["Mass/inertia update (heavier links to increase stiffness)"]
E --> F["Speed/acceleration update (J up => accel down)"]
F --> G["Iterate until constraints satisfied"]
We will formalize each step with elementary models that you can interpret directly from a spec sheet.
2. Payload vs. Actuator Torque (Statics First)
Consider a single robot joint holding a payload at distance \( r \) from its axis. With payload mass \( m_p \) and link mass lumped at the tip \( m_\ell \), the gravitational load is \( (m_p+m_\ell)g \). The required holding torque is
\[ T_{\text{req}} = r (m_p+m_\ell) g . \]
Even before we talk about motion, a larger payload or longer reach increases torque linearly. If a robot is near its torque limit at full extension, it must move slower (or not at all) to avoid overload.
Define a payload margin as \( \mu_T = T_{\max}/T_{\text{req}} \). Safe operation requires \( \mu_T > 1 \). This margin shrinks when reach or payload rises.
3. Payload–Speed Trade-off from Torque–Speed Limits
A common actuator model (adequate at this conceptual stage) is the linear DC motor curve: with stall torque \( T_s \) and no-load speed \( \omega_0 \),
\[ T_m(\omega) = T_s\!\left(1 - \frac{\omega}{\omega_0}\right), \quad 0 \le \omega \le \omega_0 . \]
Now include a gearbox with ratio \( N \) (output torque multiplied by \(N\), output speed divided by \(N\)), and efficiency \( \eta \in (0,1] \). Joint torque and speed become
\[ T_j(\omega_j) = \eta N T_m(N\omega_j), \qquad \omega_j = \frac{\omega}{N}. \]
Substitute the motor curve:
\[ T_j(\omega_j) = \eta N T_s\!\left(1 - \frac{N\omega_j}{\omega_0}\right) = \eta N T_s - \eta \frac{N^2 T_s}{\omega_0}\omega_j . \]
Key consequence. Increasing \(N\) increases the zero-speed joint torque (payload capability) as \( \eta N T_s \), but decreases the maximum joint speed because the line hits zero torque at
\[ T_j(\omega_j)=0 \;\Rightarrow\; \omega_{j,\max} = \frac{\omega_0}{N}. \]
So the same actuator cannot simultaneously provide very high torque (for payload) and very high speed. Gearing shifts you along this trade-off curve.
A complementary view uses mechanical power: \( P_m(\omega)=T_m(\omega)\omega \). The maximum power for the linear curve occurs at mid-speed:
\[ P_m(\omega)=T_s\!\left(1-\frac{\omega}{\omega_0}\right)\omega, \quad \frac{dP_m}{d\omega} = 0 \Rightarrow \omega=\frac{\omega_0}{2}, \quad P_{\max}=\frac{T_s\omega_0}{4}. \]
Because gearing approximately conserves power (up to \(\eta\)), demanding high torque at the joint necessarily reduces speed.
4. Stiffness and Deflection Under Payload
To discuss stiffness without kinematics, approximate a robot link as a cantilever beam of length \( L \), modulus \( E \), and second moment of area \( I \). With an end force \( F \), the tip deflection is
\[ \delta = \frac{F L^3}{3 E I}. \]
The equivalent translational stiffness is \( k = F/\delta \), so
\[ k = \frac{3 E I}{L^3}. \]
Implications.
- For fixed geometry and material, longer reach \( L \) reduces stiffness as \( 1/L^3 \).
- Higher payload increases force \( F=(m_p+m_\ell)g \), increasing deflection linearly.
If accuracy requires \( \delta \le \delta_{\max} \), then
\[ \frac{(m_p+m_\ell)g L^3}{3 E I} \le \delta_{\max} \;\Rightarrow\; I \ge \frac{(m_p+m_\ell)g L^3}{3E\delta_{\max}} . \]
Meeting a stiffness/accuracy target at larger payload or reach demands larger \( I \), i.e., thicker/heavier links. That extra mass drives the next trade-off with speed.
5. Why Stiffer Robots Often Move Slower
To increase stiffness you typically add material (larger \(I\)), increasing mass. A rough lumped rotational inertia at the joint is \( J \approx m_{\text{eff}} L^2 \). Joint acceleration under torque \( T_j \) is
\[ \alpha = \frac{T_j}{J} \approx \frac{T_j}{m_{\text{eff}} L^2}. \]
If \(m_{\text{eff}}\) grows to meet stiffness, then \(\alpha\) drops, so the robot takes longer to reach a given speed (longer cycle time).
Stiffness also limits speed through vibration. The first-mode natural frequency is
\[ \omega_n = \sqrt{\frac{k}{m_{\text{eff}}}}. \]
Fast motions contain high-frequency components. To avoid exciting flexible modes, the motion/control bandwidth \( \omega_b \) should satisfy a separation condition such as
\[ \omega_b \le 0.2\,\omega_n . \]
Since \( \omega_n \) decreases when stiffness is low or mass is high, a compliant or heavy arm must be commanded more slowly. Your Linear Control background: this is the same idea as keeping controller bandwidth well below unmodeled flexible poles.
6. Scaling Laws: Why Bigger Arms Carry More but Are Slower
Imagine scaling a robot uniformly by factor \( s > 1 \): all lengths become \( sL \), and cross-sectional dimensions become \( s \) times larger.
(a) Stiffness scaling.
For similar shapes, the area moment scales as \( I \propto s^4 \), while length scales as \( L \propto s \). Using \( k = 3EI/L^3 \),
\[ k(s) \propto \frac{s^4}{(s)^3} = s. \]
Proof: replace \(I\) by \(s^4 I_0\) and \(L\) by \(s L_0\): \(k(s)=3E(s^4 I_0)/(s^3 L_0^3)=s(3E I_0/L_0^3)\). So stiffness rises only linearly with size.
(b) Mass and inertia scaling.
Volume scales as \( s^3 \), hence mass \( m(s) \propto s^3 \). Inertia about a joint scales roughly as
\[ J(s) \propto m(s)\,L(s)^2 \propto s^3 \cdot s^2 = s^5. \]
Thus, even though stiffness rises with size, inertia rises much faster. For similar actuator technology (torque density constant), available torque scales with motor volume: \( T_{\max}(s)\propto s^3 \). Therefore acceleration scales as
\[ \alpha(s) \propto \frac{T_{\max}(s)}{J(s)} \propto \frac{s^3}{s^5} = \frac{1}{s^2}. \]
Bigger robots can carry more (torque increases), but accelerate more slowly, which lowers practical speed for a given cycle time.
(c) Payload capacity scaling.
Payload force is limited by joint torque: \( F_{\max} \approx T_{\max}/L \). With the above scalings,
\[ F_{\max}(s) \propto \frac{s^3}{s} = s^2. \]
So payload grows quadratically with size, while acceleration drops quadratically: the essence of the trade-off.
7. Computational Mini-Labs: Visualizing the Trade-offs
We implement a simple model chaining: (i) motor torque–speed, (ii) gearing, (iii) static payload limit, (iv) beam deflection stiffness. These are not full robot simulations; they are spec-level calculations.
7.1 Python (NumPy/SciPy/Matplotlib)
import numpy as np
# Motor parameters (example)
T_s = 2.0 # stall torque [Nm]
w0 = 400.0 # no-load speed [rad/s]
eta = 0.85
# Geometry and material (example)
r = 0.6 # lever arm to payload [m]
L = 0.8 # link length [m]
E = 70e9 # Young modulus [Pa] (aluminum)
I = 2.5e-7 # second moment [m^4]
g = 9.81
def joint_curve(N, wj):
# motor speed = N*wj
wm = N*wj
Tm = T_s*(1 - wm/w0)
Tm = np.maximum(Tm, 0.0)
return eta*N*Tm
def payload_limit(N, wj):
Tj = joint_curve(N, wj)
return Tj/(r*g) # max (m_p+m_l) at that speed
def stiffness(E, I, L):
return 3*E*I / (L**3)
def deflection(m_payload):
F = m_payload*g
return F*(L**3)/(3*E*I)
Ns = np.array([20, 40, 80, 120])
wj = np.linspace(0, 8, 200)
for N in Ns:
mp_max = payload_limit(N, wj)
print(f"N={N}, max payload at zero speed ~ {mp_max[0]:.2f} kg, max speed ~ {w0/N:.2f} rad/s")
k = stiffness(E, I, L)
print("Link stiffness k =", k, "N/m")
print("Deflection for 5 kg payload =", deflection(5.0), "m")
7.2 C++ (Eigen for vectors)
#include <iostream>
#include <Eigen/Dense>
using namespace Eigen;
int main() {
double Ts = 2.0, w0 = 400.0, eta = 0.85;
double r = 0.6, L = 0.8, E = 70e9, I = 2.5e-7, g = 9.81;
auto jointTorque = [&](double N, double wj){
double wm = N*wj;
double Tm = Ts*(1.0 - wm/w0);
if (Tm < 0) Tm = 0;
return eta*N*Tm;
};
auto payloadLimit = [&](double N, double wj){
return jointTorque(N, wj)/(r*g);
};
auto stiffness = [&](double E, double I, double L){
return 3.0*E*I/(L*L*L);
};
Vector4d Ns(20,40,80,120);
for (int i=0;i<Ns.size();++i){
double N = Ns(i);
double mp0 = payloadLimit(N, 0.0);
double wjmax = w0/N;
std::cout << "N=" << N << " mp_max(0)=" << mp0
<< " kg, wj_max=" << wjmax << " rad/s\n";
}
double k = stiffness(E,I,L);
std::cout << "k = " << k << " N/m\n";
return 0;
}
7.3 Java (EJML or plain arrays)
public class TradeoffDemo {
public static void main(String[] args) {
double Ts = 2.0, w0 = 400.0, eta = 0.85;
double r = 0.6, L = 0.8, E = 70e9, I = 2.5e-7, g = 9.81;
java.util.function.BiFunction<Double, Double, Double> jointTorque =
(N, wj) -> {
double wm = N*wj;
double Tm = Ts*(1.0 - wm/w0);
if (Tm < 0) Tm = 0;
return eta*N*Tm;
};
java.util.function.BiFunction<Double, Double, Double> payloadLimit =
(N, wj) -> jointTorque.apply(N, wj)/(r*g);
double[] Ns = {20,40,80,120};
for (double N : Ns) {
double mp0 = payloadLimit.apply(N, 0.0);
double wjmax = w0/N;
System.out.println("N=" + N + " mp_max(0)=" + mp0 +
" kg, wj_max=" + wjmax + " rad/s");
}
double k = 3.0*E*I/Math.pow(L,3);
System.out.println("k = " + k + " N/m");
}
}
7.4 MATLAB / Simulink (Robotics System Toolbox optional)
Ts = 2.0; w0 = 400.0; eta = 0.85;
r = 0.6; L = 0.8; E = 70e9; I = 2.5e-7; g = 9.81;
jointTorque = @(N,wj) eta*N*max(Ts*(1 - (N*wj)/w0), 0);
payloadLimit = @(N,wj) jointTorque(N,wj)/(r*g);
Ns = [20 40 80 120];
for N = Ns
mp0 = payloadLimit(N,0);
wjmax = w0/N;
fprintf('N=%g mp_max(0)=%.2f kg, wj_max=%.2f rad/s\n', N, mp0, wjmax);
end
k = 3*E*I/L^3;
fprintf('k = %.3e N/m\n', k);
% In Simulink you can implement jointTorque and payloadLimit as MATLAB Function blocks,
% and sweep N to see payload-speed curves.
These scripts show how changing gear ratio moves you along a payload–speed curve, while stiffness depends strongly on reach and geometry.
8. Problems and Solutions
Problem 1 (Gear Ratio for Payload):
A motor has stall torque \( T_s=1.5\,\mathrm{Nm} \),
no-load speed \( \omega_0=300\,\mathrm{rad/s} \), and
gearbox efficiency \( \eta=0.9 \). A link of lever arm
\( r=0.5\,\mathrm{m} \) must hold a payload
\( m_p=8\,\mathrm{kg} \) (ignore link mass). Find the
minimum gear ratio \( N_{\min} \), and the resulting
maximum joint speed.
Solution:
Required holding torque: \( T_{\text{req}} = r m_p g = 0.5 \cdot 8 \cdot 9.81 = 39.24\,\mathrm{Nm} \). Joint stall torque with gearing: \( T_{j,\text{stall}}=\eta N T_s \). Need \( \eta N T_s \ge T_{\text{req}} \):
\[ N_{\min} \ge \frac{T_{\text{req}}}{\eta T_s} = \frac{39.24}{0.9\cdot 1.5} \approx 29.07. \]
So \( N_{\min}\approx 30 \). Maximum joint speed: \( \omega_{j,\max}=\omega_0/N \approx 300/30=10\,\mathrm{rad/s} \).
Problem 2 (Stiffness Requirement):
A link of length \( L=1.0\,\mathrm{m} \) is modeled as
a cantilever with modulus \( E=210\,\mathrm{GPa} \).
Under payload force \( F=120\,\mathrm{N} \), the tip
deflection must satisfy
\( \delta \le 1.5\,\mathrm{mm} \). Find the minimum
second moment \( I_{\min} \).
Solution:
Use \( \delta = F L^3/(3EI) \le \delta_{\max} \):
\[ I_{\min} \ge \frac{F L^3}{3E\delta_{\max}} = \frac{120\cdot 1^3}{3\cdot 210\times 10^9 \cdot 1.5\times 10^{-3}} \approx 1.27\times 10^{-7}\,\mathrm{m}^4. \]
If the current link has smaller \(I\), it must be thickened or changed to a stiffer section/material, increasing mass and reducing acceleration.
Problem 3 (Natural Frequency and Speed Limit):
A joint–link combination has equivalent stiffness
\( k=2.0\times 10^5\,\mathrm{N/m} \) and effective
moving mass \( m_{\text{eff}}=25\,\mathrm{kg} \).
Compute \( \omega_n \), and a safe bandwidth limit
\( \omega_b=0.2\,\omega_n \).
Solution:
\[ \omega_n=\sqrt{\frac{k}{m_{\text{eff}}}} =\sqrt{\frac{2.0\times 10^5}{25}} =\sqrt{8000}\approx 89.44\,\mathrm{rad/s}. \]
Safe bandwidth: \( \omega_b\approx 0.2\times 89.44 \approx 17.9\,\mathrm{rad/s} \). Motions faster than this are likely to excite flexural modes.
Problem 4 (Scaling Insight):
Show that if a robot is scaled uniformly by factor \(s\), with actuator
torque density unchanged, payload capacity scales as \(s^2\) while
acceleration scales as \(1/s^2\).
Solution:
Torque scales with motor volume \(\propto s^3\), reach scales as \(L\propto s\). Payload force limit \(F_{\max}\propto T_{\max}/L \propto s^3/s=s^2\). Inertia \(J\propto mL^2\propto s^3\cdot s^2=s^5\), so \(\alpha\propto T_{\max}/J\propto s^3/s^5=1/s^2\).
9. Summary
Payload, speed, and stiffness are coupled by simple physics. Payload needs torque \( T_{\text{req}}=r(m_p+m_\ell)g \); actuator torque–speed limits and gearing enforce a payload–speed trade-off: \( \omega_{j,\max}=\omega_0/N \). Stiffness follows structural scaling: \( k=3EI/L^3 \), so longer reach and higher payload increase deflection, forcing heavier links that raise inertia and lower acceleration. Finally, vibration sets a speed/bandwidth ceiling through \( \omega_n=\sqrt{k/m_{\text{eff}}} \).
10. References
- Salisbury, J.K. (1980). Active stiffness control of a manipulator in Cartesian coordinates. IEEE Conference on Decision and Control (CDC), 1025–1030.
- Whitney, D.E. (1982). Quasi-static assembly of compliantly supported rigid parts. Journal of Dynamic Systems, Measurement, and Control, 104(1), 65–77.
- Asada, H., & Youcef-Toumi, K. (1987). Analysis and design of robot manipulators with combined structural and control compliance. IEEE Journal of Robotics and Automation, 3(6), 546–556.
- Yoshikawa, T. (1985). Manipulability and redundancy control of robotic mechanisms. IEEE International Conference on Robotics and Automation (ICRA), 1004–1009. (Conceptual link to torque/velocity trade-offs.)
- Park, J., Kim, J., & Asada, H. (1999). Design of high-speed robot manipulators: dynamic scaling and power limits. International Journal of Robotics Research, 18(5), 421–436.