Skip to main content

Screw Theory Reference for Control-Affine Multibody Dynamics

reference
Twists, wrenches, Jacobians, and forward dynamics: what screw coordinates establish about golf swing mechanics and what requires a separate physical model.
Author

Dieter Olson

Published

November 28, 2025

Modified

October 3, 2026

Abstract
Twist and wrench duality gives a consistent language for spatial mechanics. This reference derives the required frame maps, qualifies wrench inversion, and connects rigid-body balances to constrained multibody dynamics and explicitly defined counterfactuals.

Plain-Language Summary

Screw theory connects turning, moving, forces, and moments. Those connections help keep golf models consistent. They do not reveal muscle effort by themselves. This reference separates how motion is represented, how loads are mapped, and how a complete model predicts acceleration.

Key Takeaways

  • A twist represents instantaneous rigid motion; an entire swing generally has changing screw axes.
  • Wrench transformations preserve power, while inversion of joint effort requires compatibility and a chosen metric.
  • A complete forward model defines drift and control; geometry alone does not identify physiological effort.

What This Shows / What It Does Not Show

What This Page Establishes (Evidence Level: Mathematical identities and manufactured numerical examples)

  • Consistent angular-first twist and wrench maps, with explicit reference frames and moment origins.
  • Conditional load inversion and forward dynamics for the declared rigid, modal, and ideal-constraint models.

What This Page Does Not Establish

  • A unique distribution of two-hand forces or individual muscle activity from club motion alone.
  • A validated human swing model, a universal coaching prescription, or trajectory superposition.

Introduction

Screw theory connects a rigid body’s turning and translation to the forces and moments acting on it. Its value is consistency: motion and effort can be expressed at different frames without changing their physical pairing. A golf model then needs a separate dynamics model to predict acceleration and a separate measurement argument to identify loads. Keeping those steps distinct prevents a geometric identity from becoming an unsupported claim about player effort.

This reference uses angular-first conventions associated with Lynch and Park (Lynch and Park 2017). It develops instantaneous geometry, load duality, forward dynamics, and counterfactual evaluation in that order. The numerical examples are manufactured checks of the stated equations. The source notes identify the author-provided transcripts used for the standard definitions.

Configurations, Twists, and Screw Axes

A Configuration and Its Instantaneous Velocity

Let \(s\) be a fixed inertial frame and \(b\) a frame attached to a rigid body. The transform \(T_{sb}\) maps body coordinates into space coordinates:

\[ T_{sb}= \begin{bmatrix}R&\mathbf r\\0&1\end{bmatrix}\in SE(3), \qquad R\in SO(3),\quad\mathbf r\in\mathbb R^3. \]

Here \(R\) gives orientation and \(\mathbf r\) is the body origin’s position in \(s\). The hat operator satisfies \(\widehat{\boldsymbol\omega}\mathbf y=\boldsymbol\omega\times\mathbf y\). For an angular-first twist \(\mathcal V=[\boldsymbol\omega^\top,\mathbf v^\top]^\top\), its matrix representation is

\[ [\mathcal V]^\wedge= \begin{bmatrix}\widehat{\boldsymbol\omega}&\mathbf v\\0&0\end{bmatrix}. \]

The spatial and body twists follow from \([\mathcal V_s]^\wedge=\dot T_{sb}T_{sb}^{-1}\) and \([\mathcal V_b]^\wedge=T_{sb}^{-1}\dot T_{sb}\). Multiplying these matrices gives Equation 1:

\[ \mathbf v_s=\dot{\mathbf r}-\boldsymbol\omega_s\times\mathbf r, \qquad \mathbf v_b=R^\top\dot{\mathbf r}, \qquad \boldsymbol\omega_b=R^\top\boldsymbol\omega_s. \tag{1}\]

The spatial linear component \(\mathbf v_s\) is the rigid velocity field evaluated at the space origin. It need not equal the velocity of the body’s own origin. At a material point whose space position is \(\mathbf y\), the velocity is \(\dot{\mathbf y}=\mathbf v_s+\boldsymbol\omega_s\times\mathbf y\). The field also has a mathematical extension to points outside the body.

For an illustrative body origin fixed at \(\mathbf r=(1,0,0)\ \mathrm m\), take \(\boldsymbol\omega_s=(0,0,2)\ \mathrm{rad/s}\). Equation Equation 1 gives \(\mathbf v_s=(0,-2,0)\ \mathrm{m/s}\) even though \(\dot{\mathbf r}=0\). Evaluating the field at \(\mathbf y=\mathbf r\) recovers the stationary body origin.

General Pitch and Degenerate Cases

A general instantaneous screw includes translation along its axis. For \(\boldsymbol\omega\ne0\), its pitch \(h\) and closest axis point \(\mathbf a_\perp\) satisfy Equation 2:

\[ \mathbf v=-\boldsymbol\omega\times\mathbf a+h\boldsymbol\omega, \qquad h=\frac{\boldsymbol\omega^\top\mathbf v}{\|\boldsymbol\omega\|^2}, \qquad \mathbf a_\perp=\frac{\boldsymbol\omega\times\mathbf v}{\|\boldsymbol\omega\|^2}. \tag{2}\]

Every point \(\mathbf a=\mathbf a_\perp+\ell\boldsymbol\omega/\|\boldsymbol\omega\|\) describes the same axis line, where \(\ell\) is a signed length. The cross-product identity reconstructs \(\mathbf v\) from that line and \(h\). The shorter formula \(\mathbf v=-\boldsymbol\omega\times\mathbf a\) applies to zero-pitch motion.

For a manufactured example, let \(\boldsymbol\omega=(0,0,2)\ \mathrm{rad/s}\), \(\mathbf a=(1,0,0)\ \mathrm m\), and \(h=0.3\ \mathrm{m/rad}\). The resulting \(\mathbf v=(0,-2,0.6)\ \mathrm{m/s}\) includes an axial component that a zero-pitch formula would lose. The two quotients recover the stated pitch and closest axis point.

Pure translation has \(\boldsymbol\omega=0\) and \(\mathbf v\ne0\). Its direction is defined, but the quotients above do not define a finite pitch or a unique axis location. The conventional description as an infinite-pitch screw is a limiting interpretation. At rest, neither a rotation axis nor a translation direction is determined. Small angular speeds also make axis recovery sensitive to velocity errors.

Finite Displacement and a Whole Swing

Chasles’ displacement theorem concerns the rigid displacement between two poses. For spatial poses \(T_0\) and \(T_1\), that displacement is \(\Delta T_s=T_1T_0^{-1}\). A screw exponential can represent it, with branch choices and degeneracies that must be specified. A finite displacement axis need not equal an instantaneous axis at either endpoint.

A changing swing is a curve \(T(t)\) whose instantaneous screw generally changes with time. A single constant generator describes the whole curve only for that special motion family. Packaging motion into screw coordinates preserves the body’s six kinematic degrees of freedom; it does not reduce their number.

Wrenches, Frames, and Power

A wrench combines a force \(\mathbf f\) and its moment \(\mathbf m\) about a stated origin:

\[ \mathcal F=\begin{bmatrix}\mathbf m\\\mathbf f\end{bmatrix}, \qquad \mathcal P=\mathcal F^\top\mathcal V =\mathbf m^\top\boldsymbol\omega+\mathbf f^\top\mathbf v. \]

For forces acting on one rigid body, this pairing gives their mechanical power when the twist and wrench share the same origin and coordinates. A moment includes both applied couples and the moment of any offset force. Changing the origin therefore changes its moment components.

The adjoint \(A=\operatorname{Ad}_{T_{sb}}\) and its dual give Equation 3:

\[ \begin{aligned} A&=\begin{bmatrix}R&0\\\widehat{\mathbf r}R&R\end{bmatrix}, &\mathcal V_s&=A\mathcal V_b,\\ \mathcal F_s&=A^{-\top}\mathcal F_b, &\mathcal F_b&=A^\top\mathcal F_s. \end{aligned} \tag{3}\]

Substitution proves power invariance: \(\mathcal F_s^\top\mathcal V_s=\mathcal F_b^\top\mathcal V_b\). The corresponding three-vector relations are \(\mathbf f_s=R\mathbf f_b\) and \(\mathbf m_s=R\mathbf m_b+\mathbf r\times R\mathbf f_b\). A twist map applied directly to a wrench generally violates these relations. The six components form dual objects, not interchangeable lists of numbers.

Home Joint Screws and the Current Jacobian

A joint’s home screw describes its axis at a chosen reference configuration. For a revolute joint with unit direction \(\mathbf e_i\) through \(\mathbf a_i\), its home screw is \(\mathbf S_i=[\mathbf e_i^\top,(-\mathbf e_i\times\mathbf a_i)^\top]^\top\). A prismatic joint has \(\mathbf S_i=[\mathbf0^\top,\mathbf e_i^\top]^\top\) with the appropriate displacement coordinate. Let \(\mathbf q\) collect the joint coordinates.

Upstream joint motion changes downstream axes in space. For an open chain described by the product of exponentials, the current column is

\[ J_{s,i}(\mathbf q)= \operatorname{Ad}_{e^{[\mathbf S_1]^\wedge q_1}\cdots e^{[\mathbf S_{i-1}]^\wedge q_{i-1}}}\mathbf S_i, \qquad \mathcal V_s=J_s(\mathbf q)\dot{\mathbf q}. \]

The product is the identity for the first joint. Stacking fixed home screws is generally correct only at the home configuration. Alternatively, an author may define each screw as the already-transformed current column, but must say so. The body Jacobian is \(J_b=A^{-1}J_s\).

In an illustrative planar two-revolute-joint chain, let the second home axis pass through \((1,0,0)\ \mathrm m\) and point along \(z\). A first-joint rotation of \(\pi/2\ \mathrm{rad}\) about the origin moves that axis to \((0,1,0)\ \mathrm m\). Its angular-first column changes from \((0,0,1,0,-1,0)^\top\) to \((0,0,1,1,0,0)^\top\) in SI coordinates. The latter generates zero point velocity on the current second-joint axis, as required.

Load Duality and the Limits of Wrench Inversion

A Forward Load Map

Virtual power maps an applied endpoint wrench to generalized load:

\[ \boldsymbol\tau_{\mathrm{load}}=J_s^\top\mathcal F_s, \qquad \boldsymbol\tau_{\mathrm{load}}^\top\dot{\mathbf q} =\mathcal F_s^\top J_s\dot{\mathbf q}. \]

This identity states the contribution of that specified load. An actuator’s total generalized effort also participates in acceleration, other applied loads, and constraint reactions. It need not be the image of one endpoint wrench. The body-frame form gives the same generalized load because \(J_b^\top\mathcal F_b=J_s^\top\mathcal F_s\).

Compatibility, Residuals, and Metrics

Set \(L=J_s^\top\in\mathbb R^{n\times6}\) and suppose a generalized load \(\boldsymbol\tau\) is supplied. Exact recovery requires \(\boldsymbol\tau\in\operatorname{range}(L)\). The ordinary Moore–Penrose estimate and its residual are

\[ \mathcal F_*=L^+\boldsymbol\tau, \qquad \boldsymbol\rho=\boldsymbol\tau-L\mathcal F_*, \qquad L^\top\boldsymbol\rho=0. \tag{4}\]

Equation Equation 4 is a least-squares result in the chosen numerical coordinates. A nonzero residual means that this endpoint-wrench model cannot reproduce all supplied generalized efforts. When the residual vanishes, all exact solutions are \(\mathcal F_*+\mathbf n\) with \(\mathbf n\in\ker L\). The minimum Euclidean norm solution itself is unique, including when the physical solution family is not.

Consider the manufactured, nondimensional algebraic map \(L=[I_6;\mathbf e_1^\top]\) and \(\boldsymbol\tau=(1,0,0,0,0,0,-1)^\top\). Its columns are independent, yet \(L^\top\boldsymbol\tau=0\). The estimate is \(\mathcal F_*=0\) and \(\|\boldsymbol\rho\|=\sqrt2\). Full column rank guarantees uniqueness of a compatible wrench; it does not make every load compatible. This matrix example specifies no robot posture or physiological force distribution.

A norm also requires a scale and a purpose. Moments and forces have different units, and arbitrary numerical rescaling changes an unweighted minimum. A physically specified optimization may instead minimize \(\mathcal F^\top Q\mathcal F\), for a declared positive-definite metric \(Q\). Residual weighting likewise needs an explicit choice when generalized coordinates mix units or measurement uncertainties.

For an illustrative constraint \(m/(1\ \mathrm m)+f=2\ \mathrm N\), an unweighted norm in numerical \(\mathrm{N\,m}\) and \(\mathrm N\) selects \((m,f)=(1\ \mathrm{N\,m},1\ \mathrm N)\). Using numerical \(\mathrm{N\,mm}\) instead, the same unweighted prescription selects approximately \(2\times10^{-6}\ \mathrm{N\,m}\) and \(1.999998\ \mathrm N\). Converting the original metric to \(\operatorname{diag}(10^{-6},1)\) restores the original physical answer. These calculations use one fixed moment origin. Under the wrench map in Equation 3, the same quadratic form requires \(Q_s=AQ_bA^\top\); a fixed Euclidean norm is not generally invariant to an origin shift.

Generalized Actuation and Boundary Wrenches

An actuation matrix \(B(\mathbf q)\in\mathbb R^{n\times m}\) maps declared inputs \(\mathbf u\in\mathbb R^m\) to generalized effort: \(\boldsymbol\tau_{\mathrm{act}}=B\mathbf u\). Its rows refer to generalized coordinates, not the six Cartesian components of a twist. Changing the Cartesian expression frame therefore does not justify premultiplying \(B\) by a spatial adjoint. A change of generalized coordinates is a separate transformation of generalized efforts.

If the input actually specifies a boundary wrench, define a six-row distribution matrix \(W_b\). For the same input components \(\mathbf u\) in both descriptions, the correct maps are

\[ \mathcal F_{\mathrm{input},b}=W_b\mathbf u, \qquad W_s=A^{-\top}W_b, \qquad \boldsymbol\tau_{\mathrm{load}}=J_s^\top W_s\mathbf u. \tag{5}\]

Equation Equation 5 requires a physical boundary and an input definition. Representing an arbitrary \(B\) this way additionally requires each column of \(B\) to lie in \(\operatorname{range}(J_s^\top)\). A pseudoinverse cannot supply the missing physical premise.

In a rigid-club idealization, the two hand-on-club wrenches add after transport to one origin:

\[ \mathcal F_{\mathrm{grip},s} =\operatorname{Ad}_{T_{sL}}^{-\top}\mathcal F_L +\operatorname{Ad}_{T_{sR}}^{-\top}\mathcal F_R. \]

The local frames \(L\) and \(R\) locate the two interfaces; both wrenches act on the club. Gravity and other external loads enter the club’s total balance separately. One net six-component wrench generally does not determine two unrestricted six-component hand wrenches. Contact geometry, admissible load directions, instrumented forces, and additional constitutive assumptions can constrain that distribution. Club motion plus assumed inertia can support an inverse-dynamics estimate, but differentiated motion and uncertain external loads propagate into that estimate.

From Wrench Balance to Forward Dynamics

One Rigid Body

Let \(I_b\) be the constant spatial inertia in a body-fixed frame, and let \(\mathcal F_{\mathrm{applied},b}\) include every applied wrench on that body. With angular-first ordering, define

\[ \operatorname{ad}_{\mathcal V_b} =\begin{bmatrix}\widehat{\boldsymbol\omega_b}&0\\ \widehat{\mathbf v_b}&\widehat{\boldsymbol\omega_b}\end{bmatrix}, \qquad \operatorname{ad}_{\mathcal V_b}^*=-\operatorname{ad}_{\mathcal V_b}^\top. \]

Newton–Euler balance is \(I_b\dot{\mathcal V}_b+\operatorname{ad}_{\mathcal V_b}^*I_b\mathcal V_b=\mathcal F_{\mathrm{applied},b}\). The inertial terms belong on the demand side of that equation. Adding those terms to gravity and elastic loads does not define an autonomous applied wrench.

Suppose the applied wrench is \(\mathcal F_{0,b}(x;p)+W_b(x;p)\mathbf u\), where \(x\) is the retained state and \(p\) specifies the fixed model settings. Solving the balance gives the conditional affine acceleration in Equation 6:

\[ \dot{\mathcal V}_b =I_b^{-1}\!\left(\mathcal F_{0,b}-\operatorname{ad}_{\mathcal V_b}^*I_b\mathcal V_b\right) +I_b^{-1}W_b\mathbf u. \tag{6}\]

The full state derivative also contains pose kinematics, \(\dot T_{sb}=T_{sb}[\mathcal V_b]^\wedge\), and any retained internal-state dynamics. A wrench alone is not that state derivative. In spatial coordinates, inertia becomes \(I_s=A^{-\top}I_bA^{-1}\) and generally varies with pose. The equivalent balance retains the declared coadjoint sign: \(\mathcal F_s=I_s\dot{\mathcal V}_s-\operatorname{ad}_{\mathcal V_s}^\top I_s\mathcal V_s\).

A manufactured torque-free body at its center of mass illustrates the sign. Take principal moments \((2,3,4)\ \mathrm{kg\,m^2}\) and body angular velocity \((1,2,3)\ \mathrm{rad/s}\). Euler’s equation gives body angular acceleration \((-3,2,-0.5)\ \mathrm{rad/s^2}\). The six-vector balance produces the same result; zero applied torque does not require constant angular-velocity components.

A Coupled, Constrained Multibody Model

A whole-player model assembles all retained bodies and deformation coordinates. Let \(\mathbf q\) denote its generalized configuration, \(z\) its other internal states, \(M\) its mass matrix, and \(\mathbf h\) the terms placed on the left of its effort balance. For ideal stationary equality constraints with velocity Jacobian \(J_c\), the equations are

\[ \begin{bmatrix}M&-J_c^\top\\J_c&0\end{bmatrix} \begin{bmatrix}\ddot{\mathbf q}\\\boldsymbol\lambda\end{bmatrix} = \begin{bmatrix}B\mathbf u-\mathbf h\\-\dot J_c\dot{\mathbf q}\end{bmatrix}, \qquad J_c\dot{\mathbf q}=0. \tag{7}\]

Here \(\boldsymbol\lambda\) denotes constraint reactions; gravity, elasticity, damping, and other retained terms enter \(\mathbf h\) with the stated balance’s signs. If \(M\) is positive definite and \(J_c\) has independent rows, the block system is invertible. At a fixed complete state and constraint mode, solving Equation 7 gives both acceleration and reaction as affine functions of \(\mathbf u\). Workless reactions can therefore depend on control input. Their classification cannot be inferred from zero constraint power alone.

For a manufactured two-coordinate system, choose \(M=\operatorname{diag}(2,3)\ \mathrm{kg}\), \(J_c=(1,1)\), applied autonomous load \((0,-3)\ \mathrm N\), and input force along the first coordinate. At zero velocity, input \(u=0\ \mathrm N\) gives acceleration \((0.6,-0.6)\ \mathrm{m/s^2}\) and reaction \(1.2\ \mathrm N\). Input \(u=5\ \mathrm N\) gives \((1.6,-1.6)\ \mathrm{m/s^2}\) and reaction \(-1.8\ \mathrm N\). Both satisfy the constraint, and their fixed-state dependence is affine.

The construction assumes a valid, fixed constraint mode. Redundant constraints, unilateral contact transitions, sliding friction, and prescribed moving boundaries require their own solution conditions. Explicit time or driver phase must be retained when needed. These requirements belong to the dynamics model; a change to screw coordinates does not eliminate them.

Flexible Shafts and Fixed-State Affinity

Modal coordinates describe deformation beyond a single rigid pose. For a linear modal model with coordinates \(\boldsymbol\eta\), constant stiffness \(K\), and damping \(D\), define generalized restoring effort by

\[ \mathbf Q_{\mathrm{shaft}}=-K\boldsymbol\eta-D\dot{\boldsymbol\eta}. \]

The signs refer to effort acting on the shaft in the positive modal-coordinate directions. For symmetric \(K\succeq0\) and \(D\succeq0\), the modal elastic energy is \(U=\boldsymbol\eta^\top K\boldsymbol\eta/2\). The balance \(\dot U+\mathbf Q_{\mathrm{shaft}}^\top\dot{\boldsymbol\eta}=-\dot{\boldsymbol\eta}^\top D\dot{\boldsymbol\eta}\le0\) verifies the restoring and damping signs.

A modal shape is not automatically a boundary wrench. If a boundary velocity map is \(\mathcal V_{\mathrm{boundary}}=H_\eta\dot{\boldsymbol\eta}\), virtual power gives \(\mathbf Q_\eta^{\mathrm{external}}=H_\eta^\top\mathcal F_{\mathrm{boundary}}\). Inferring a boundary wrench from generalized effort raises the same compatibility and uniqueness questions discussed above. Internal distributed elasticity need not be representable by one endpoint wrench at all. A beam or finite-element reduction must supply the actual load and kinematic maps.

For the stated modal law, \(\partial\mathbf Q_{\mathrm{shaft}}/\partial\mathbf u=0\) when the complete state and model settings are held fixed. Inputs can nevertheless change deformation and velocity over time, changing subsequent shaft forces. If the selected input directly changes stiffness, damping, or a constitutive law, the fixed-state premise must be reconsidered. A model can retain activation or impedance as state, but must then include those states and their dynamics consistently.

Wrenches expressed at the same origin add linearly. This force-addition identity does not superpose the trajectories of a nonlinear model. Geometry, inertia, velocity coupling, and retained shaft state all evolve along those trajectories.

Counterfactuals in the Declared Model

The Zero-Torque Counterfactual Family

After solving the chosen forward model, write its complete control-affine state equation as \(\dot x=f_p(x)+G_p(x)\mathbf u\). The canonical notation defines the Zero-Torque Counterfactual (ZTCF) family by zeroing the declared applied-control channel while preserving the stated effective plant. Its constructions answer different questions:

  • A pointwise ZTCF sample evaluates \(f_p(x(t))\) at one achieved state.
  • A stitched pointwise ZTCF trace collects those samples along achieved states; it is not an integrated solution.
  • A forward ZTCF trajectory integrates \(\dot x=f_p(x)\) from a declared initial state.
  • A branched ZTCF trajectory starts that integration from a declared achieved state for comparison with the achieved future.

The retained plant includes the stated inertia, gravity, elasticity, damping, internal memory, and compatible constraints. The zeroed input level must be explicit: generalized torque, boundary wrench, activation command, and impedance command are different model choices. The construction does not identify muscle activation or physiological effort by itself.

Instantaneous Zero-Velocity Counterfactual Acceleration

For unconstrained or appropriately reduced coordinates, write \(M(\mathbf q)\ddot{\mathbf q}+\mathbf h(\mathbf q,\dot{\mathbf q},z;p)=B\mathbf u\). The instantaneous Zero-Velocity Counterfactual (ZVCF) acceleration is

\[ \mathbf a_{\mathrm{ZVCF}}(\mathbf q,z;p) =-M(\mathbf q)^{-1}\mathbf h(\mathbf q,0,z_0;p), \qquad \mathbf u=0. \tag{8}\]

In Equation 8, \(z_0\) zeros the declared velocity-like internal states and preserves the remaining internal state. Configuration, contact mode, and specified model parameters remain fixed. A constrained formulation instead evaluates its compatible constrained solve at those settings; feasibility must be checked for prescribed boundary motion.

The result is an instantaneous acceleration, not a wrench, state, or releasable trajectory. Multiplication by a mass matrix can define a generalized-force representation, but does not turn it into a measured hand wrench. This distinction connects screw geometry to counterfactual mechanics: coordinate consistency is necessary, while the complete forward model determines what is being compared.

Sources and Scope

Lynch and Park’s Modern Robotics supplies the standard geometric-mechanics conventions (Lynch and Park 2017). The author-provided page transcripts used here cover twists, wrenches, space Jacobians, and statics. Further transcripts discuss singularities, manipulability, rigid-body dynamics, and constrained dynamics. The examples above check algebra under explicit assumptions; they report no new golfer experiment.

References

Lynch, Kevin M., and Frank C. Park. 2017. Modern Robotics: Mechanics, Planning, and Control. Cambridge University Press.

Citation

BibTeX citation: Download .bib
@online{olson2025,
  author = {Olson, Dieter},
  title = {Screw {Theory} {Reference} for {Control-Affine} {Multibody}
    {Dynamics}},
  date = {2025-11-28},
  url = {https://affinedrift.com/articles/screw-theory-reference.html},
  langid = {en},
  abstract = {Twist and wrench duality gives a consistent language for
    spatial mechanics. This reference derives the required frame maps,
    qualifies wrench inversion, and connects rigid-body balances to
    constrained multibody dynamics and explicitly defined
    counterfactuals.}
}
For attribution, please cite this work as:
Olson, Dieter. 2025. “Screw Theory Reference for Control-Affine Multibody Dynamics.” November 28. https://affinedrift.com/articles/screw-theory-reference.html.