Inference From Inverse Dynamics in a Nonlinear Affine System
What Inverse Dynamics Can Identify
With a declared mechanical model, mass properties, motion derivatives and known external loads, inverse dynamics estimates the net generalized input needed to reproduce that motion. It already accounts for gravity and inertial coupling. Control-affine analysis reorganizes the same equations and supplies explicit interventions; it does not recover a missing input by subtracting gravity a second time.
What remains difficult is identifying the physiological source of that input. Multiple muscle recruitment patterns, bilateral hand-force distributions and impedance states can be compatible with the same motion. Separating those possibilities requires additional evidence.
Applied Load, Drift and Resultant
Use one force convention throughout. In independent generalized coordinates \(z=(q,\eta)\), let \(v=\dot z\) and write
\[ M(z)\dot v+h(z,v)=\bar B(z)u,\qquad h=Cv+\nabla_z V+d,\qquad \bar B=\begin{bmatrix}B\\0\end{bmatrix}. \]
Here \(h\) contains the terms written on the left of the mechanical balance; their signed contribution to acceleration is \(a_d=-M^{-1}h\). Known external loads must either be included with their signs in \(h\) or declared separately. These are the standard forward/inverse dynamics conventions (Lynch and Park 2017; Featherstone 2008).
Inverse dynamics estimates the applied generalized load. Its output is
\[ \tau_{\mathrm{ID}}=\mathrm{ID}(z,v,\dot v)=M\dot v+h=\bar B u. \]
Consequently, \(\mathrm{ID}(z,v,a_d)=0\) for an exactly matched zero-input model, up to numerical error. It does not return a nonzero gravity, elastic, or interaction-force contribution. A constrained model can simultaneously have zero actuator torque and nonzero constraint reactions; the solver’s actuator and reaction outputs must be distinguished.
A resultant-force partition is a different quantity. If we retain \(\tau_{\text{total}}\) for the net generalized right-hand side of \(M\dot v\), the consistent definitions are
\[ \tau_{\text{total}}:=M\dot v, \qquad \tau_{\text{drift}}:=-h=M a_d, \qquad \tau_{\text{input}}:=\bar B u=\tau_{\mathrm{ID}}. \tag{1}\]
Thus
\[ \tau_{\text{input}}=\tau_{\text{total}}-\tau_{\text{drift}} =M(\dot v-a_d). \tag{2}\]
These symbols denote generalized loads, whose units depend on the coordinate: torque for an angle, force for a translation, and the corresponding conjugate load for a normalized modal coordinate. They are not individual muscle forces. The rigid rows require the full acceleration vector: \([M_{qq}\ M_{q\eta}]a_d\) includes recoil; \(M_{qq}(a_d)_q\) alone does not.
For example, an unforced pendulum at an inclined angle has nonzero gravitational acceleration. Applying inverse dynamics to that free fall returns zero pivot torque. Holding it stationary instead requires the gravity-balancing torque. The same distinction persists in a coupled golfer–club model.
A forward ZTCF follows its own state after release. In a shared local chart,
\[ \frac{d}{dt}(x-x_0)=f(x)-f(x_0)+G(x)u, \]
where \(x_0\) is the zero-input trajectory, not the initial-state symbol in this equation. Only at a common state does the drift difference vanish. A later trajectory difference contains the accumulated effect of changed geometry, velocity, deformation, and contact; it is not an instantaneous input-force sample. Specify the output, comparison time or event, horizon, and admissible input set before interpreting closeness to a ZTCF as control authority.
From Generalized Torque to Actuator Input
Use the full generalized-input map \(\bar B\) defined above, including its unactuated rows. If \(\bar B u=\tau_{\mathrm{ID}}\) and \(\bar B\) has full column rank, a consistent load has a unique input, \(u=\bar B^+\tau_{\mathrm{ID}}\). First check that \(\bar B\bar B^+\tau_{\mathrm{ID}}=\tau_{\mathrm{ID}}\): a residual indicates inconsistency or noise, not an identified hidden muscle. In an unactuated row, this is a consistency check on the passive dynamics, not a request for a hidden actuator.
With redundant actuators and a consistent load, \(u=\bar B^+\tau_{\mathrm{ID}}+n\) for \(n\in\ker\bar B\). Muscle nonnegativity, force–length/velocity properties, activation dynamics and independent measurements restrict this family. A minimum-norm solution is an assumption about allocation, not an observation of the nervous system.
An inverse-dynamics implementation that omits passive tissue forces estimates a net joint load that includes them. A model that explicitly subtracts those forces estimates a different residual input. Declare that boundary before comparing results. This is especially important when impedance was identified from an actively contracting subject.
Configuration Loads and Counterfactual Trajectories
The ZVCF is a state evaluation, not a trajectory held in equilibrium. With \(z=(q,\eta)\) and \(v=\dot z\), evaluate \(h_0(z)=h(z,0)\) while retaining the declared deformation, parameters, other internal states, and contact mode. For stationary constraints and the smooth mechanical model used here,
\[ \tau_{\mathrm{ZVCF}}:=-h_0(z),\qquad a_{\mathrm{ZVCF}}=-M(z)^{-1}h_0(z). \tag{3}\]
This uses the signed drift-force convention. Software that reports the positive holding load instead returns \(h_0\); label the sign explicitly. In particular,
\[ \mathrm{ID}(z,0,0)=h_0(z),\qquad \mathrm{ID}(z,0,a_{\mathrm{ZVCF}})=0. \tag{4}\]
Holding every coordinate of an underactuated model may require fictitious actuators: \(h_0\) need not lie in \(\operatorname{range}(\bar B)\). The formal holding load remains a useful diagnostic, not an executable policy. For time-dependent constraints, zero velocity may be inadmissible; use a constraint-consistent evaluation rather than silently resetting the state.
At the same configuration, define
\[ \tau_{\mathrm{vel.\,drift}}:=-[h(z,v)-h(z,0)],\qquad \tau_{\text{drift}}=\tau_{\mathrm{ZVCF}}+ \tau_{\mathrm{vel.\,drift}}. \tag{5}\]
This difference contains every retained term that changes under the specified velocity reset, including viscous damping. It is not generally a purely inertial term. Velocity reset does not remove stiffness, stored elastic energy, activation, or history encoded in retained internal states.
Force evaluation does not identify stiffness. Tangent stiffness is a derivative of force with respect to displacement under stated loading and boundary conditions. Material elasticity and geometric stiffness from prestress can both contribute at zero velocity. For a beam under constant tension \(N>0\), the transverse restoring operator contains \(EI\,w_{ssss}-N\,w_{ss}\) even when \(w_t=0\). Centrifugal loading is one possible source of prestress; it is not the definition of geometric stiffness. ZVCF subtraction is one reproducible way to partition loads. Direct evaluation of the declared equation terms is another. Neither establishes material and geometric stiffness separately without the tangent model.
The useful golf question is therefore precise: how much does a specified load change when velocity is reset, and how sensitive is the answer to retained shaft deformation, grip conditions, and contact? This exposes interactions without calling a hypothetical frozen state a physically passive golfer.
Hand Forces and Energy Transfer
Recover the Net Wrench Before Interpreting It
Take the club as the system boundary and use one inertial frame. Let \(C\) be its center of mass, \(P\) a grip reference point, and \(\mathbf g\) gravitational acceleration. For a rigid club with known mass \(m\) and inertia \(I_C\), the net hand-on-club wrench satisfies
\[ \mathbf F_h=m\mathbf a_C-m\mathbf g-\mathbf F_a, \tag{6}\]
\[ \mathbf M_{h,C}=I_C\boldsymbol\alpha+ \boldsymbol\omega\times(I_C\boldsymbol\omega)-\mathbf M_{a,C}. \]
The subscript \(a\) collects declared non-hand external loads such as aerodynamics; gravity has zero moment about \(C\) in a uniform field. Include collision or turf loads when present. Inertia, angular velocity, acceleration and moments must be expressed consistently. For a flexible club, use the sum of segment momentum balances or the distributed model; one rigid-body inertia is an approximation.
Translate the same hand wrench using
\[ \mathbf M_{h,P}=\mathbf M_{h,C} +(\mathbf r_C-\mathbf r_P)\times\mathbf F_h. \tag{7}\]
For any two reporting points, the general rule is
\[ \mathbf M_{h,Q}=\mathbf M_{h,P} +(\mathbf r_P-\mathbf r_Q)\times\mathbf F_h. \tag{8}\]
The sign follows directly from moments of the original forces. A pure couple is independent of reference point; the moment component of a general wrench with nonzero force is not. These are standard wrench transformations (Lynch and Park 2017, 3).
For example, a force \((0,4,0)\) N applied at \((0.5,0,0)\) m produces a moment \((0,0,2)\) N m about the origin and zero moment about its application point. The physical load did not change. It is inappropriate to label the two reported moments different twisting actions by the hands.
What Remains Unidentified
For two contact points with forces \(\mathbf F_1,\mathbf F_2\) and local couples \(\mathbf C_1,\mathbf C_2\), the net wrench gives six balance equations:
\[ \mathbf F_h=\mathbf F_1+\mathbf F_2,\qquad \mathbf M_{h,P}=\sum_{i=1}^2 \left[(\mathbf r_i-\mathbf r_P)\times\mathbf F_i+\mathbf C_i\right]. \]
There are generally more unknowns than observations. Even with zero local couples, an equal-and-opposite force pair along the line joining the two contact points leaves both net force and moment unchanged. Thus a known resultant does not identify bilateral grip squeeze, finger pressures or joint tissue loading. An instrumented grip or independently validated contact model adds information; a pseudoinverse only selects a solution according to a mathematical metric.
The relation \(\tau=J^\mathsf{T}w\) maps a specified external wrench to its generalized load by virtual power. It does not turn an arbitrary net actuator torque into the uniquely measured wrench at one hand. A pseudoinverse requires a consistency check, its null space, a force/moment scaling convention, and a physical allocation model.
Power Is Invariant Under a Consistent Reference Change
For two material points on the same rigid body, \(\mathbf v_Q=\mathbf v_P+\boldsymbol\omega\times(\mathbf r_Q-\mathbf r_P)\). Consequently,
\[ \mathbf F_h\cdot\mathbf v_P+\mathbf M_{h,P}\cdot\boldsymbol\omega =\mathbf F_h\cdot\mathbf v_Q+\mathbf M_{h,Q}\cdot\boldsymbol\omega. \]
The force and moment power components can change separately while their sum does not. A comparison of “force-driven” and “couple-driven” power must declare the reporting point. For a flexible grip/shaft, use velocities at the actual ports and include deformation power; rigid transport is not exact.
Account for Missing Loads Without Double Counting
If aerodynamic force and moment are omitted while measured motion is held fixed, the inferred hand wrench is biased by
\[ \Delta\mathbf F_h=\mathbf F_a,\qquad \Delta\mathbf M_{h,P}=\mathbf M_{a,C} +(\mathbf r_C-\mathbf r_P)\times\mathbf F_a=\mathbf M_{a,P}. \]
The omitted force’s change in moment arm is already included in this wrench translation. Do not add it again to a drag moment already reported about \(P\). For the illustrative force \((0,-8,0)\) N at \((0.6,0,0)\) m relative to the grip, with zero intrinsic aerodynamic couple, the omitted moment is \((0,0,-4.8)\) N m. These are chosen numbers, not measurements of a particular club or golfer.
Drag opposes velocity relative to the air; lift and aerodynamic couples need separate directions. The coefficient, projected area, orientation, relative wind and center of pressure must be supplied to make a quantitative estimate. The fractional error in a small inferred grip moment can be large even when the aerodynamic force is small relative to another load. That is a sensitivity statement, not a general percentage correction to every swing.
Why the Mechanisms Are Intertwined
Earlier muscle work changes segment motion and shaft deformation. The resulting state changes current gravitational leverage, inertial coupling and the effect of a new torque. A force can redirect club motion with little power in its normal direction, while another component supplies work. The complete wrench power must be calculated before inferring energy transfer.
A zero-input branch answers what a specified model predicts after one declared intervention. It does not establish what a golfer would feel, whether a motion is effortless, or which coaching cue improves it. A frozen-impedance branch and a muscle-relaxation experiment are different interventions.
An Evidence-Driven Analysis
- Define the question and measured outcome: net grip wrench, club speed, segment energy, or a tissue-specific load.
- State the model boundary, coordinate conventions, external loads and passive-force treatment.
- Propagate motion, force, parameter and filtering uncertainty into the inferred quantities.
- Check forward/inverse consistency and analytic limits before making a same-state attribution.
- Test whether conclusions survive alternative contact, muscle and shaft models.
- Use independent measurements to assess external validity. Agreement between two rearrangements of the same equations establishes consistency only.
A useful falsifier is a model that reproduces the measured motion but predicts hand forces outside independent measurement uncertainty. Another is a sign or ranking of an attribution that reverses under plausible parameter changes. Report such outcomes rather than presenting a mechanically possible explanation as the unique cause.
In Plain Language
Watching a car travel down a hill does not reveal engine effort from speed alone. Given acceleration, slope, mass and resistance, ordinary mechanics can estimate the net driving force. It still cannot tell how the driver produced that force or how hard the driver felt they were working. The golf-swing distinction is the same: net mechanical input can be estimated under a model; muscle recruitment, sensation and strategy need further evidence.
References
Citation
@online{olson2025,
author = {Olson, Dieter},
title = {Inference {From} {Inverse} {Dynamics} in a {Nonlinear}
{Affine} {System}},
date = {2025-11-28},
url = {https://affinedrift.com/articles/inverse-dynamics-inference.html},
langid = {en}
}