Theory Series, Part 3: Drift Invariance and Force Taxonomy
Drift Invariance and Force Taxonomy
Plain-Language Summary
This article groups the forces in a swing into clear bins. It tests when natural drift stays unchanged and shows where our model assumptions hold true.
Key Takeaways
- Drift invariance means the drift vector contains no instantaneous control inputs at a fixed state.
- Biomechanical forces decompose into passive structural constraints, inertia, and active generalized torques.
- Prior input modifies state trajectories, thereby indirectly shaping subsequent drift sampling.
These entries remain visible until evidence-backed adjudication changes their governed status.
- Open / Medium: Critique: Coulomb Friction Violation of Drift Invariance (
crit-coulomb-friction-violation) - Open / High: Critique: The Effective Plant Fallacy (Task-Dependent Impedance) (
crit-effective-plant-fallacy) - Open / High: Critique: The Stiffness Pulse Paradox (Time-Varying Impedance) (
crit-stiffness-pulse-paradox)
What Remains Fixed When Input Changes
“Drift invariance” has a narrow mathematical meaning: at a fixed complete state and fixed model parameters, the declared drift field contains no current input variable. It does not say that trying harder leaves a human swing unchanged. Prior input changes posture, velocity, deformation and physiological state; those changes alter the drift sampled during the swing.
The useful question is therefore what a particular intervention holds fixed. Changing net joint torque, changing muscle excitation, changing grip stiffness, and changing equipment are different experiments. This part makes those distinctions explicit and connects force bookkeeping to acceleration, power, contact and evidence.
Drift Invariance and Input Constraints
Same-State Definition and Consistent State Ordering
For independent coordinates \(z=(q,\eta)\), velocity \(v=(v_q,v_\eta)\), and complete force balance \(M\dot v+h=\mathcal B u\), let \(a_d=-M^{-1}h\) and \(A=M^{-1}\mathcal B\). With the interleaved state convention of Part 1,
\[ \begin{aligned} x&=(q,v_q,\eta,v_\eta),\\ f(x)&=(v_q,[a_d]_q,v_\eta,[a_d]_\eta),\\ G(x)u&=(0,[Au]_q,0,[Au]_\eta). \end{aligned} \]
The component groups on both sides must have the same order and dimensions. If positions and velocities are instead stacked as \((z,v)\), permute every vector and Jacobian consistently.
Conditional proposition. If \(M\), \(h\) and \(\mathcal B\) contain no instantaneous \(u\) at fixed state and parameters, then the model is affine in \(u\), with
\[ \left.\frac{\partial f}{\partial u}\right|_{x,\mathrm{parameters}}=0, \qquad \left.\frac{\partial\dot v}{\partial u}\right|_x=M^{-1}\mathcal B. \]
The proof is substitution into the force balance and inversion of the positive-definite \(M\). Differentiating \(-M^{-1}h\) with respect to an absent variable gives zero. This is a consequence of the model declaration, not an independent experiment establishing physiological separation.
In standard Lagrangian notation, the velocity load \(C(z,v)v\) is quadratic in \(v\) when \(C\) is chosen linear in \(v\); calling the matrix \(C\) itself quadratic generally misstates the convention. The complete \(h\) also includes retained passive joint forces, modal gravity, shaft elasticity and damping, and declared external loads. Omitting a term changes the model even when its control-affine structure survives.
Smoothness and affinity are separate properties. Any retained state-only damping can enter \(h\), including nonlinear damping. Coulomb friction is nonsmooth at zero slip. Within a fixed sliding mode it can remain affine in input if its normal force is affine; sticking, contact switching and nonlinear input-dependent loads require their own solve or differential inclusion.
Changing the Input Zero Changes the Baseline
The zero-input drift is tied to a specified input convention. Under a new input \(w\) defined by \(u=\alpha(x)+\beta(x)w\),
\[ \dot x=\underbrace{f(x)+G(x)\alpha(x)}_{\widetilde f(x)} +\underbrace{G(x)\beta(x)}_{\widetilde G(x)}w. \]
Setting \(w=0\) keeps the original bias input \(\alpha\); setting \(u=0\) removes it. For a pure unit change with \(\alpha=0\), zero is preserved. For a shifted or feedback-compensated command, the two zero-input experiments differ. Thus drift is not an input-coordinate-independent definition of “what physics alone contributes.”
For a fixed original model, changing the torque history leaves the function \(f\) unchanged but generally changes \(f(x(t))\). In a complete Markov state, previous inputs affect the future through that state; an omitted activation, hysteresis or fatigue variable appears as unexplained history dependence. Parameter changes can alter both \(f\) and \(G\), although a particular value or output can be unchanged by symmetry or cancellation.
A Stiffness Input Can Still Be Affine
Consider a one-coordinate translational model with physical mass \(m>0\), damping \(c\), baseline stiffness \(k_0\), force input \(u_f\) and stiffness increment \(u_k\):
\[ m\ddot q=-k_0q-c\dot q+u_f-u_kq. \]
At fixed \((q,\dot q)\) it is affine in the two inputs, with acceleration gain \((1/m,-q/m)\). The product \(u_kq\) is bilinear in state and input and still control-affine. Stiffness has not been added to the inertia \(m\). Effective frequency-response quantities may combine elastic and inertial effects, but that does not make an elastic coefficient a physical mass.
If stiffness instead depends on a dimensionless command \(e_k\) through \(k=k_0+k_{\mathrm{ref}}e_k^2\), where \(k_{\mathrm{ref}}>0\) has stiffness units, acceleration is generally nonlinear in \(e_k\). Reparameterizing by \(\kappa=e_k^2\) changes the feasible set and can lose sign information; it is not an equivalent unconstrained actuator. If a model genuinely has \(M(x,u)\), its acceleration must be inspected after inversion. Input-dependent inertia is neither required by changing stiffness nor automatically affine.
Prescribed time-varying stiffness is another case. For \(U(q,t)=\tfrac12 k(t)q^2\), the mechanical energy satisfies
\[ \dot E=u_f\dot q-c\dot q^2+\tfrac12\dot k(t)q^2. \]
Maintaining a stiffness schedule can exchange energy through the parameter-changing mechanism. A scheduled-impedance baseline must account for this port; zero driving torque does not imply that the retained model has no active energy source. A fixed clamped boundary, finite grip compliance, and a scheduled stiffness law are distinct models.
Excitation, Torque Bounds and Feasible Interventions
An illustrative activation model uses a state \(a\) and excitation \(e\):
\[ \dot q=v,\qquad I\dot v=\tau_{\max}(q,v)a-h(q,v),\qquad \dot a=(e-a)/T_a. \]
For constant \(T_a>0\), this augmented system is affine in excitation \(e\), even though its torque depends on state. Setting excitation to zero leaves \(a(t)=a(t_b)e^{-(t-t_b)/T_a}\) and initially nonzero torque. Setting a torque-level input to zero is a different intervention. Real activation models require their own parameter identification, bounds and examination of input dependence; this equation is a teaching example.
A feasible set \(u\in\mathcal U(x)\) restricts available inputs without changing an already specified vector field. It does not by itself encode delay, fatigue or activation dynamics. Those require state or history. Moreover, if \(0\notin\mathcal U(x)\), a zero-input branch is outside the feasible control problem. It remains a formal relaxed-model calculation only where that model defines the field at zero. Velocity resets can likewise violate moving constraints or admissible contact states.
For a two-handed grip, multiple actuator or reaction-force allocations can produce the same generalized load. The forward motion for a given admissible load and well-posed initial state can still be unique; it is the inverse allocation that can be nonunique. Net torques cannot resolve antagonistic muscle recruitment or bilateral hand-force distribution without additional observations and assumptions.
Force and Torque Taxonomy via the Affine Mapping
For \(M\dot v+h=\bar B u\), the following quantities have distinct meanings. Evaluate every row at the same declared state and in the same coordinates.
| Quantity | Definition | Interpretation |
|---|---|---|
| Applied Generalized Load | \(\tau_{\mathrm{ID}}=M\dot v+h\) | Net input required by the declared inverse-dynamics model |
| Resultant Generalized Load | \(\tau_{\text{total}}=M\dot v\) | Right-hand side of the acceleration balance |
| Configuration Drift | \(\tau_{\mathrm{ZVCF}}=-h(z,0)\) | Signed load at the specified velocity-reset state |
| Velocity-Dependent Drift | \(-[h(z,v)-h(z,0)]\) | Difference under that reset, including retained damping |
| Declared Input Contribution | \(\tau_{\text{input}}=\bar B u\) | Applied generalized load, not muscle-force allocation |
The first row must not also be called the sum of drift and input. Doing so counts \(h\) twice. In redundant coordinates, constraint forces require their own balance; uniqueness of net reduced torque does not establish unique actuator, muscle, or bilateral hand-force allocation (Lynch and Park 2017).
For a chosen, identifiable reaction output in a fixed smooth contact mode, substituting acceleration into the reaction equations can yield \(r(x,u)=r_d(x)+R_u(x)u\). A same-state subtraction then gives \(r(x,u)-r(x,0)=R_u(x)u\). Declare the reference point, frame, sign and force/moment components. The result for a wrench is not obtained by relabeling an actuator torque. Changes of mode, friction branches or unidentified internal forces require additional treatment.
There is no universal fourth “mixed force” equal to total minus a forward ZTCF load minus a ZVCF load. That expression can subtract overlapping baseline terms at different states. To investigate interactions, define two interventions and a common outcome \(Y\): the contrast \(Y_{11}-Y_{10}-Y_{01}+Y_{00}\) measures nonadditivity for those interventions and that outcome. It is not a new physical force or a unique anatomical cause.
How Geometry, Energy, and Torque Work Together
Past torque changes the present configuration, speed, and elastic deformation. Those states change both the drift and the input-to-acceleration map. Current torque then acts through that changed geometry. A shaft can store and return energy, but it does not create energy; compare complete endpoint energy and work balances when changing shaft or timing parameters.
For time-independent kinetic and potential energy and ideal stationary constraints, the total mechanical energy satisfies
\[ \dot E=v^\mathsf{T}\bar B u-v^\mathsf{T}d+P_{\mathrm{external}}, \qquad E=\tfrac12v^\mathsf{T}Mv+V. \]
In this energy balance, \(d\) denotes the declared dissipative loads and \(P_{\mathrm{external}}\) the power of the remaining external ports. If an external load was absorbed into \(h\) in the dynamics convention, separate it out before using this balance; do not count it in both \(d\) and \(P_{\mathrm{external}}\). Conservative forces represented by \(V\) are already accounted for through stored energy.
The inertial/Coriolis terms redistribute motion consistently with this balance; their individual magnitudes are not independent energy sources. At an internal interface, equal and opposite wrenches cancel in the whole-system balance but can transfer power between segments. A segment slowing down does not by itself show that its energy went into the club: examine joint force power, moment power, elastic storage and external work (Featherstone 2008).
A torque’s sign alone does not identify braking. For one angular coordinate, \(P=\tau\dot q\) is negative when the torque opposes velocity. Zero power does not imply zero muscle effort, and large normal force can redirect motion while doing little instantaneous work at a specified moving point. This distinction connects hand-path geometry, energy transfer and delivery without conflating force, impulse, work, tissue load and neural strategy.
Constraints Change the Acceleration Map
Induced-acceleration analysis requires the correct constraint solve. For an ideal holonomic constraint with full-row-rank Jacobian \(J\), write
\[ M a+h=\mathcal B u+J^\mathsf T\lambda,\qquad Ja+\dot Jv=0. \]
At the same state, an input perturbation obeys
\[ \begin{aligned} \delta a&=P_M\mathcal B\,\delta u,\\ P_M&=M^{-1}-M^{-1}J^\mathsf T (JM^{-1}J^\mathsf T)^{-1}JM^{-1}. \end{aligned} \]
The fixed-state change in \(\dot Jv\) is zero. The projected inverse inertia ensures \(J\delta a=0\); using the unconstrained \(M^{-1}\mathcal B\) can predict inadmissible acceleration. For \(M=\operatorname{diag}(2,1)\), \(J=(1,1)\) and a unit force in the first coordinate, the unconstrained response is \((1/2,0)\) while the constrained response is \((1/3,-1/3)\). Internal reaction changes are part of the response.
Worked Example: The Constrained Acceleration Map
Given: \(M=\operatorname{diag}(2,1)\), full-row-rank constraint Jacobian \(J=(1,1)\) with \(\dot Jv=0\), input matrix \(B=I_2\), and a unit force \(\delta u=(1,0)\).
Steps:
- Call
constrained_affine_fields(mass_matrix=M, bias=[0,0], input_matrix=B, constraint_jacobian=J, constraint_bias=[0]), which returns the constrained drift and the projected input field \(P_M B\). - Apply the field to \(\delta u=(1,0)\): \(\delta a=P_MB\,\delta u\).
Result: drift \(=(0,0)\), projected field \(P_MB=\begin{bmatrix}1/3&-1/3\\-1/3&1/3\end{bmatrix}\), so \(\delta a=(1/3,-1/3)\) — matching the constrained response above and differing from the naive unconstrained \((1/2,0)\).
Computed by src/affine_control/dynamics.py::constrained_affine_fields; checked against this page by tests/test_worked_example_callouts.py::test_theory_part3_constrained_acceleration_map.
For a task point \(p(z)\), acceleration is \(J_p a+\dot J_pv\), and its same-state input contribution is \(J_pP_M\mathcal B\,\delta u\). A measured hand wrench needs a corresponding reaction/output map in a declared frame and reference point. Fixed feet can transmit substantial reaction forces while an ideal stationary support performs no mechanical work. Fixed-base coordinates do not set those reactions to zero or model realistic pressure redistribution automatically.
Instantaneous Contributions, Recorded-Trajectory Analyses and Forward Experiments
An instantaneous decomposition evaluates all terms at one state. A recorded-trajectory analysis can transport contributions using coefficients evaluated on that recorded motion. A forward intervention instead recomputes the coefficients on the freely evolving counterfactual. These answer different questions.
Koike and colleagues’ 2019 study demonstrates direct/indirect torque contributions for a rugby place kick. Its recurrence substitutes measured velocities into motion-dependent coefficients. It supports accounting for earlier input effects along measured motion; it does not validate freely evolving golf ZTCFs or population-wide speed percentages. See Sections 2.2–2.3 of the primary manuscript.
This distinction preserves an important insight: motion-dependent effects are not independent of the inputs that generated the motion. An additive attribution under one declared transport convention need not equal the outcome change when that input is removed and the entire nonlinear trajectory changes.
Limitations and a Testable Research Program
Identification and Residual Loads
The equations are identities for a specified model. Their evaluation uses estimated states and parameters, not perfect knowledge. Inverse dynamics gives a residual consistent with those choices. If the actual system obeys \(Ma+h=\mathcal B u+\tau_{\mathrm{missing}}\), an estimator that omits the final term obtains
\[ \widehat\tau_{\mathrm{ID}}=\mathcal B u+\tau_{\mathrm{missing}} \]
even before measurement and parameter errors are added. This residual is not necessarily a muscular torque or purely nonconservative forcing: omitted gravity, elasticity, constraints and bias errors can also contribute. Underactuation matters. With \(\mathcal B=(1,0)^\mathsf T\) and residual \((3,-2)\), no scalar input reproduces both components; projecting onto the input image leaves an unexplained residual \((0,-2)\).
Equipment inertias, shaft boundary conditions, modal truncation, external loads and motion filtering all influence inference. Increased frame rate alone does not solve differentiation noise, calibration bias or parameter identifiability. Publish sensitivity to these choices, check external-force consistency, and test predictions on measurements not used for fitting.
Joint impedance is a local response to perturbations around a state or motion, not a synonym for net torque. Identifying an effective impedance from active movement does not establish that it would persist after a new neural intervention. Compare explicitly frozen-parameter, prescribed-schedule and augmented-activation models when that distinction affects the question. Their predictions can be compared with controlled perturbation data.
Power, Braking and Stability Are Different Measurements
A negative coordinate torque is not necessarily braking: its conjugate velocity may also be negative, giving positive power. Negative joint power means mechanical absorption at that port, but can coexist with increased clubhead speed through redistribution among segments and stores. A decrease in a segment’s angular speed can also occur while its input supplies positive work, as the pendulum example in Part 2 demonstrates.
Likewise, a local stiffness change does not guarantee stability. Stability concerns a specified reference motion, perturbation dynamics, available feedback, constraints and time horizon. Lower nominal speed could accompany improved contact consistency, or a speed gain could accompany increased sensitivity; neither follows from a force label alone.
Separating these effects requires joint power, shaft energy and strain measurements, reaction-force constraints, perturbation responses and a declared output. Additional sensors can improve observability but do not automatically identify every muscle or causal mechanism. Optimization can compare objectives such as contact accuracy, work or activation under an explicit model; it does not establish the golfer’s objective by reproducing one observed trajectory.
Scope of the Mechanical Approximation
Rigid anatomical segments omit soft tissue and marker motion. A reduced shaft model must converge for relevant displacement, orientation, load and energy outputs over the excitation bandwidth. A compliant interface can introduce resonances as well as attenuation; rigidity does not provide a universal upper bound on high-frequency authority. Aerodynamic, ground-contact and impact models should be included where their omission matters, with mode and reset conditions at transitions.
Same-state identities can remain exact while an inaccurate model predicts the wrong trajectory. Numerical verification and empirical validation therefore need separate evidence. The appendices supply explicit mathematical examples; Part 5 specifies reproducibility and numerical checks. Neither supplies a calibrated, revision-bound full-golfer validation study.
Conclusion and Future Directions
The strongest use of this framework connects three levels. First, inverse dynamics and a declared force balance characterize instantaneous loads. Second, forward and sensitivity calculations explain how input history changes posture, velocity and shaft storage. Third, an event-aware output evaluates the resulting delivery and uncertainty at contact. Each level adds assumptions and evidence requirements to the preceding one.
The force taxonomy has configuration-dependent, velocity-dependent and declared-input terms. A nonlinear interaction between experimental factors is a property of a chosen outcome contrast; it is not an additional universal force. Earlier torque can appear later through a motion-dependent term, and current torque can affect speed, direction, shaft deformation and contact timing together.
Application of Research
For a concrete study, specify the output and intervention first. Comparing two shafts with the same torque history estimates a fixed-policy equipment effect. Allowing each simulated golfer to reoptimize estimates an adaptation permitted by that optimization problem. Testing actual players with both shafts addresses a further empirical question. These comparisons should not be given the same causal label.
Likewise, a timing study can perturb a torque pulse, report its same-state acceleration map, reintegrate the full swing, and compare first-contact outputs with uncertainty. Declare feasibility, input limits, retained grip behavior and contact rules throughout. Report both beneficial and adverse changes in the selected outputs; a large instantaneous gain alone does not show that a usable intervention exists.
This program can test how preparation, momentum transport, flexible storage and late corrections interact. It does not yet justify a coaching prescription, an optimal release time, a universal passive share of speed, or a claim that one player’s strategy is more efficient.
Revision History
2026-09-08: Standardized cross-article category metadata and link targets (#4302).
2026-09-05: Refined mechanics, drift invariance limits, and counterfactual boundaries (#4153, #4195).
2026-08-29: Governed claim and critique adjudication framework (#4051).
2026-03-10: Three-pass professional assessment and formalization.
References
Citation
@online{olson,
author = {Olson, Dieter},
title = {Theory {Series,} {Part} 3: {Drift} {Invariance} and {Force}
{Taxonomy}},
date = {},
url = {https://affinedrift.com/articles/theory-part3.html},
langid = {en},
abstract = {This article establishes the mathematical meaning of drift
invariance in multibody mechanics and constructs an exhaustive
taxonomy of forces in the golf swing. It explores velocity-dependent
passive reactions, muscular actuation, and constraints, setting
boundaries where affine assumptions remain valid.}
}