Mechanical Design & Kinematics
Kutzbach-Gruebler Planar Mechanism Mobility (DOF) Formula
Calculate planar linkage degrees of freedom M = 3*(L - 1) - 2*J_1 - J_2 + r_red in Excel and Arte Sheets to distinguish 1-DOF mechanisms, trusses, hyperstatic frames, and parallel-crank paradoxes.
Count rigid links, lower pairs, and higher pairs without forgetting the ground link
Every unconstrained rigid body in a 2D plane has 3 degrees of freedom (x, y, theta). Fixing the stationary ground frame removes 3 DOF, each 1-DOF lower-pair joint J_1 (revolute pin or prismatic slider) removes 2 DOF, and each 2-DOF higher-pair contact J_2 (rolling-sliding cam or gear tooth mesh) removes 1 DOF — giving the Kutzbach-Gruebler equation M = 3 * (L - 1) - 2 * J_1 - J_2!
The #1 beginner mistake is forgetting to include the fixed ground frame in link count L (counting 3 moving bars instead of L = 4 for a four-bar linkage!). Test on the sheet: a four-bar linkage (L = 4 in B2, J_1 = 4 pins in B3, J_2 = 0 in B4) yields M = 3*(3) - 8 = 1 DOF; a triangular truss (L = 3, J_1 = 3) yields M = 0; a cross-braced frame (L = 4, J_1 = 5) yields M = -1 (hyperstatic); and a railway locomotive double-parallelogram rod (L = 5, J_1 = 6) gives nominal M = 0 until redundant parallel constraint r_red = 1 (B5) restores true M_eff = 1!
| Kinematic Assembly | Counts (L, J_1, J_2, r_red) | Mobility M_eff & Classification |
|---|---|---|
| Four-Bar or Slider-Crank Linkage | L=4, J_1=4, J_2=0, r_red=0 | M = 1 (Single-Actuator Mechanism) |
| Disk Cam & Pivoted Follower | L=3, J_1=2, J_2=1, r_red=0 | M = 1 (Single-Actuator Mechanism) |
| Pin-Jointed Triangular Truss | L=3, J_1=3, J_2=0, r_red=0 | M = 0 (Statically Determinate) |
| Locomotive Parallel Coupling Rod | L=5, J_1=6, J_2=0, r_red=1 | M_nom = 0 -> M_eff = 1 (Redundant Tie) |
Nominal Gruebler Mobility vs Redundancy-Corrected Kutzbach DOF Formula
Guard against L < 2 (no moving link relative to ground) or negative joint counts inside LET, and add optional redundant-constraint count r_red >= 0 for parallel-geometry audits.
=LET(l_cnt, B2, j_low, B3, j_high, B4, r_red, B5, IF(OR(l_cnt < 2, j_low < 0, j_high < 0, r_red < 0), "Invalid Linkage Count", 3 * (l_cnt - 1) - 2 * j_low - j_high + r_red))Kinematic Regime Classification Formula
Translate integer mobility directly into engineering design guidance: hyperstatic frame (M < 0), determinate structure (M = 0), single-input mechanism (M = 1), or multi-actuator differential/robotic chain (M >= 2).
=LET(m_dof, E3, IF(ISTEXT(m_dof), m_dof, IF(m_dof < 0, "Hyperstatic / Preloaded Frame", IF(m_dof = 0, "0-DOF Determinate Structure", IF(m_dof = 1, "1-DOF Constrained Mechanism", "Multi-DOF Robotic Chain")))))Try the example
Use the original values or change them to test your understanding.