Affine Control Interpretation of the Golf Swing: Drift, Input, and Model-Conditioned Attribution - Part I: Theoretical Foundations
These entries remain visible until evidence-backed adjudication changes their governed status.
- Open / Unknown: Critique: Neglecting Aerodynamics in High-Speed Swing Analysis (
crit-aerodynamics) - Responded / High: Critique: Control Causality vs. Mechanical Causality (
crit-control-causality-mechanical) - Open / Medium: Critique: Causal Masking in Drift Superposition (
crit-drift-superposition) - Open / High: Critique: The Effective Plant Fallacy (Task-Dependent Impedance) (
crit-effective-plant-fallacy) - Open / Medium: Critique: Geometric Stiffness and Centrifugal Stiffening Omission (
crit-geometric-stiffness-omission) - Open / Unknown: Critique: The Impact Evasion (
crit-impact-evasion) - Open / High: Critique: Input-Dependent Boundary Conditions (The Grip Paradox) (
crit-input-dependent-boundary-conditions) - Open / High: Critique: The Fallacy of Passive Drift and the "Skeletal Baseline" (
crit-muscle-physiology) - Open / Unknown: Critique: The Illusion of Open-Loop Control (
crit-neuromuscular-control) - Open / High: Critique: Null Space Forces and Closed-Chain Indeterminacy (
crit-nullspace-interpretation) - Open / Medium: Critique: Parameter Causality Leakage (
crit-parameter-causality-leakage) - Open / Medium: Critique: The Passive-Active Boundary Ambiguity (The "Effective Plant" Tautology) (
crit-passive-active-boundary-ambiguity) - Open / Medium: Critique: Passive Overshoot Artifact (Simulink "Proof") (
crit-passive-overshoot-artifact) - Open / Medium: Critique: The Simulation Tautology (Circular Validation) (
crit-simulation-tautology) - Open / Medium: Critique: The Static Fallacy (Zero Velocity Counterfactual) (
crit-static-fallacy-zvcf) - Open / High: Critique: Conflation of Active and Passive Muscle-Tendon Dynamics (
crit-stretch-shortening-blindspot) - Open / Medium: Critique: Teleological Blindness (Mechanics \(\neq\) Intent) (
crit-teleological-blindness) - Open / High: Critique: Identifiability and "Input" as a Residual (
crit-ztcf-identifiability)
Foundational Monograph: This monograph develops the unabridged mathematical foundations of the control-affine golf swing formulation, establishing the coupled rigid–flexible equations of motion, zero-torque counterfactuals, and exact force decompositions referenced throughout the Theory Series.
Abstract
The golf swing is a high-speed, full-body motion executed by a mechanically complex, constrained multibody system. Conventional inverse dynamics can estimate net generalized loads consistent with motion and external-force measurements, but it does not identify individual-muscle forces, neural intent, or a unique real-world cause. This paper develops a strictly theoretical control-affine model and separates its instantaneous vector field into autonomous (drift) and declared-input terms. The Zero Torque Counterfactual (ZTCF) family, Zero Velocity Counterfactual (ZVCF), and force taxonomy are model-conditioned diagnostics; empirical interpretation requires parameter identification, qualifying measurements, and validation.
The identity \(\dot{x}=f_p(x)+G_p(x)u\) separates the autonomous and declared-input terms for a specified model at a fixed state. Its interpretation is conditional on the model boundary, coordinates, declared input, parameters and frozen variables, and the intervention being evaluated (a pointwise evaluation or a stated simulation horizon). This additivity does not imply orthogonality: under a chosen metric, \(f_p(x)\) and \(G_p(x)u\) may align, oppose, or be oblique. Without a separate identifiability argument and qualifying measurements, this bookkeeping does not identify neural intent, individual-muscle forces, biological effort, or a unique real-world cause.
A plain-language overview for readers without a technical background in control theory or biomechanics.
What This Article Is About
At a specified state, this article separates the model's autonomous dynamics from its declared input channel. It does not directly separate muscle forces, intent, or biological effort from "physics."
Why Does This Matter?
Inverse dynamics estimates net generalized loads consistent with a model and measurements. The affine form adds reproducible bookkeeping for autonomous and declared-input terms, while physiological interpretation still needs separate evidence.
The Two Key Concepts
Drift (f(x)): This is what the model predicts would happen if the driving torques were turned off while the current state was left unchanged. The club would keep moving due to momentum, gravity would pull things down, and the flexible shaft would spring around. It is a model-based counterfactual, not a literal claim that a real golfer instantly goes limp.
Input term (G(x)u): This is the contribution of the declared generalized-torque input channel at the current state. The label does not establish deliberateness or physiological origin.
The Practical Insight
In this modeling framework, during the fastest parts of a golf swing, the "drift" forces can become large relative to newly applied control torques. That suggests the setup and early swing may matter enormously, and that late-swing corrections may be limited even when the golfer is still actively stabilizing the motion.
Introduction
Traditional biomechanical analyses of the golf swing rely heavily on inverse dynamics to estimate generalized joint torques and hand forces from measured kinematics and external forces. Inverse dynamics provides net generalized loads consistent with the declared model and measurements; it does not by itself identify individual-muscle forces, intent, or biological effort.
This distinction is fundamental. Autonomous terms can be large during rapid phases, but their magnitude is not a direct indicator of biological effort. A decomposition can assign retained equation terms; it cannot determine a unique real-world cause from kinematics alone.
The aim of this manuscript is to establish a rigorous, strictly theoretical foundation for decomposing the chosen equations into two additive components: - Drift terms in the autonomous, state-dependent dynamics, and
- Input terms produced by the declared generalized-torque channel.
The key mathematical observation is that the golfer–club–shaft system can be modeled as a nonlinear control-affine mechanical system. Control-affine systems admit an additive decomposition of their dynamics into passive drift and linear control input channels. Once the affine structure is established, counterfactual tools such as the Zero Torque Counterfactual (ZTCF) and Zero Velocity Counterfactual (ZVCF) follow naturally and enable clean mechanical attribution of forces within the model.
This paper is Part I of a broader project. It develops the theoretical architecture only—no simulation, numerical results, or empirical data are presented here. Subsequent papers (Parts II and III) will implement and validate this framework using high-fidelity multibody simulations, flexible-shaft modeling, and experimental motion-capture data. By isolating the theory in this manuscript, we ensure that the mathematical structure is complete, self-contained, and available for independent scrutiny before numerical or empirical layers are added.
The remainder of the paper is organized as follows. Section 3 defines the golfer–club–shaft system, the modeling assumptions, and the state and input variables. Section 6 derives the unified control-affine form for the coupled rigid–flexible system. Section 7 formalizes the drift–input decomposition. Section 8 and Section 9 introduce the ZTCF and ZVCF constructions. Section 10 discusses drift invariance and input constraints. Section 12 presents a force taxonomy based on the affine mapping. Section 14 summarizes the theoretical limitations of the framework, and Section 15 concludes with directions for future theoretical and empirical work. Detailed derivations, modal approximations, and toy examples are collected in the Appendices.
To rigorously distinguish ‘drift’ from ‘input’, we must first define the mechanical universe in which these forces exist. The concepts of active and passive are not absolute; they are defined relative to the system boundary. A force that is ‘external’ to a sub-component may be ‘internal’ to the whole. Therefore, before deriving equations, we must explicitly fix the boundaries of the golfer–club–shaft system, specifying exactly which degrees of freedom are malleable (flexible modes) and which are directly actuated (joints).
System Definition and Modeling Assumptions
In this section we define the mathematical structure of the golfer–club–shaft system and state the modeling assumptions that bound the theoretical framework. The goal is not to fix a unique anatomical model but to specify a general class of multibody systems for which the subsequent analysis is valid.
Modeling Assumptions for the Theoretical Framework
These assumptions apply strictly to the theoretical decomposition presented in this manuscript (Part~I). They define the mathematical boundaries of the model; empirical validation and relaxation of these assumptions will be addressed in later work.
- Rigid body segments. All anatomical segments of the golfer (torso, arms, hands) are modeled as rigid bodies with fixed mass and inertia properties.
- Flexible shaft via finite-dimensional modal approximation. The shaft is modeled using \(m\) vibration modes obtained from standard beam theory (e.g., Euler–Bernoulli or Timoshenko). Modal truncation approximates the distributed dynamics with a finite-dimensional representation.
- No ball–club impact phase (Theory of Delivery). Ball impact is excluded from the domain of analysis due to its hybrid (non-smooth) dynamics. The model applies to the pre-impact phase (“Delivery”) and post-impact phase. This framework analyzes the generation of impact conditions, not the collision itself. Since the golfer’s control authority effectively ends at the moment of contact, the drift-input decomposition is valid for analyzing how the system arrives at the terminal state.
- No aerodynamic forces. Drag and lift forces on the clubhead and shaft are omitted in this theoretical treatment. All modeled external forces arise from gravity or internal mechanical interactions. Note that aerodynamic forces \(F_{aero}(q, \dot{q})\) are strictly state-dependent and thus mathematically compatible with the affine structure \(\dot{x} = f(x) + G(x)u\). Their inclusion would simply enrich the drift vector field \(f(x)\) with dissipative terms. They are omitted here to isolate the inertial and elastic energy exchange fundamental to the swing, but the theoretical framework generalizes to include them without modification.
- Torques treated as generalized inputs. Muscular physiology (activation dynamics, force–velocity, force–length, tendon elasticity) is abstracted into a net generalized torque vector \(\tau = B(q) u\). These torques serve as the control inputs in the affine control formulation.
- Mathematical Justification: At fixed state, \(\tau = \tau_{\max} f_{\text{FL}}(q) f_{\text{FV}}(\dot{q})a\) is linear in the declared input at fixed state when activation \(a\) is the input; the force–length and force–velocity factors form a state-dependent input map \(G(x)\). Such state-dependent input gains do not by themselves break control-affinity. Nonlinear activation dynamics in excitation, saturation, hysteresis, recruitment, or input-dependent impedance can require a different non-affine or hybrid model. This manuscript declares net generalized torque at the mechanical boundary, with biological feasibility represented separately by \(\mathcal{U}(x)\). The ZTCF holds the declared effective plant and its frozen impedance parameters fixed while setting that torque input to zero; it is not a model of relaxed muscles.
A careful reader will note that muscular co-contraction alters the effective stiffness and damping of joints without producing net torque. This appears to violate Drift Invariance—the assumption that \(f(x)\) does not depend on \(u\).
We resolve this as follows. The input vector \(u\) represents net generalized torques at each joint. Co-contraction is an internal muscular strategy that modulates the effective impedance (stiffness and damping) of the joint, but does not appear as a net generalized force in the equations of motion. In our formulation, the effect of co-contraction is captured by treating the effective impedance as a state-dependent parameter that evolves on a slower timescale than the mechanical dynamics.
More precisely, if we decompose muscle activation into agonist and antagonist components \(a_+\) and \(a_-\), then: - Net torque: \(\tau = \tau(a_+ - a_-)\) (enters as input \(u\)) - Net stiffness: \(K = K(a_+ + a_-)\) (enters as a modulation of the drift field)
For the AffineDrift framework to hold rigorously, we require that \(K\) varies slowly relative to the mechanical dynamics—an assumption validated by the 50–100 ms timescale of neural activation transients versus the \(<10\) ms timescale of impact dynamics.
When this separation of timescales breaks down (e.g., during the “stiffness pulse” near impact described in the Intentional Constraint Collapse article), we transition to a switched affine model where \(f(x)\) takes different forms in different temporal phases, each phase individually satisfying Drift Invariance.
- Ground contact modeled as holonomic constraint. Feet–ground interaction is simplified as a fixed base with no slip or compliance; the golfer is treated as rooted at the ground.
- Smooth dynamical evolution (no discontinuities). Between impacts, the system evolves via smooth ordinary differential equations. Shaft deformation and all segmental interactions are continuous in time.
The framework assumes \(C^1\) (continuously differentiable) system dynamics, excluding impacts, friction with stiction, muscle activation saturation, and ground contact transitions. These are significant physical phenomena in golf biomechanics.
We address this as follows. The AffineDrift framework applies rigorously to smooth phases of the swing: the backswing, downswing before ground contact, and the follow-through. Within these phases, the system evolves according to smooth differential equations satisfying the control-affine structure.
At discontinuous events (ball impact, ground contact transitions, muscle activation saturation at maximum effort), the framework naturally extends via three mechanisms:
Hybrid Dynamical Systems: Model the swing as a piecewise-smooth system where each smooth phase has its own affine structure \(\dot{x} = f_i(x) + g_i(x)u\) for phase \(i\), with discrete transition rules between phases. Each phase individually satisfies Drift Invariance.
Filippov Solutions for Friction/Stiction: When sliding friction or stiction prevents smooth evolution, the differential inclusion \(\dot{x} \in f(x) + G(x)u\) can be analyzed using Filippov convex regularization, maintaining a declared additive separation of drift and input through convex combinations.
Input Saturation as Constraint: Muscle activation saturation (e.g., maximum isometric torque) is modeled not as a nonlinearity in the drift field \(f(x)\), but as a constraint on the feasible input set: \(u \in \mathcal{U}(x) = \{u: \|u\|_\infty \leq u_{\max}\}\). The control-affine structure remains intact; only the available inputs are bounded.
Future work will implement hybrid extensions to address the transition from backswing through impact and into the follow-through, treating each phase as a separate affine system with well-defined switching conditions.
- No measurement noise or parameter uncertainty. The theoretical decomposition assumes perfect state knowledge and exact model parameters. Sensitivity to uncertainty and noise is a topic for subsequent empirical work.
To translate these assumptions into a rigorous mathematical structure, we must first define the geometric manifold on which the system evolves. The assumptions above simplify the biomechanical reality into a deterministic state space, allowing us to describe the golfer not as a collection of tissues, but as a point moving along a curved surface defined by the joint constraints.
Generalized Coordinates and State
{#subsec:coords_state}
The golfer’s anatomy is modeled as a multibody kinematic chain with generalized coordinates \(q \in \mathbb{R}^{n}\), each representing a rotational degree of freedom (e.g., shoulder rotations, elbow flexion, wrist deviations, spinal rotations). Any standard representation (Denavit–Hartenberg parameters, exponential coordinates, or spatial vectors) is admissible. The configuration space for the rigid segments is a smooth manifold \(\mathcal{Q}_r\), typically a product of Lie groups (e.g., \(SE(3) \times \mathbb{T}^k\)).
The flexible shaft is modeled via a finite-dimensional modal approximation with modal coordinates
\[\eta = [\eta_{1}, \dots, \eta_{m}]^{T} \in \mathbb{R}^{m},\]
where each \(\eta_{i}\) represents the amplitude of a particular bending or deformation mode. The total configuration manifold is the smooth product manifold \(\mathcal{Q} = \mathcal{Q}_r \times \mathbb{R}^m\) of dimension \(N = n+m\).
We formalize the golfer–club system as a simple mechanical system \((Q, \mathbb{G}, V)\), where the configuration space \(Q\) is a smooth manifold of dimension \(N = n+m\). We endow \(\mathcal{Q}\) with a Riemannian metric \(\mathbb{G}\) defined by the kinetic energy tensor \(M(q, \eta)\). For any tangent vector \(v_q \in T_q \mathcal{Q}\), the kinetic energy is given by the quadratic form: \[T(v_q) = \frac{1}{2} \langle v_q, v_q \rangle_{\mathbb{G}} = \frac{1}{2} v_q^T M(q,\eta) v_q.\]
The dynamics of the system evolve on the tangent bundle \(T\mathcal{Q}\), the smooth manifold formed by the union of all tangent spaces: \[T\mathcal{Q} = \bigcup_{p \in \mathcal{Q}} T_p \mathcal{Q}.\] We define the full state vector \(x\) as a point in this bundle. In local coordinates: \[x = [q^{T}, \dot{q}^{T}, \eta^{T}, \dot{\eta}^{T}]^{T} \in T\mathcal{Q} \cong \mathbb{R}^{2(n+m)}.\]
The control-affine formulation assumes that the state vector \(x = (q, \dot{q}, \eta, \dot{\eta})\) contains all information needed to predict future evolution—the Markov property. This is mathematically exact for ideal rigid-body and linear-elastic systems. However, biological systems may contain hidden states not captured in our model: muscle fatigue, calcium buffering dynamics, proprioceptive adaptation, and short-term motor learning.
We argue this omission is acceptable for the following reason: the AffineDrift framework is designed to analyze the mechanical dynamics of a single trial (one swing, one throw, one stride). Over the timescale of a single movement (\(\sim1\)–2 seconds), fatigue accumulation is negligible, calcium dynamics are fast enough to be quasi-static, and motor learning does not occur. The hidden states that would violate the Markov assumption operate on timescales of minutes to hours, not milliseconds to seconds.
For analysis of motor variability across trials, the Markov assumption must be relaxed, and the framework would need to be extended to include slow state variables representing neuromuscular adaptation.
The equations of motion are generated by the Levi-Civita connection \(\nabla\) associated with the metric \(\mathbb{G}\). The drift vector field \(f(x)\) is formally the geodesic spray \(S: T\mathcal{Q} \to TT\mathcal{Q}\) of the metric, modified by the vertical lift of the potential and dissipative forces.
In local coordinates \((x^1, \dots, x^N)\), the covariant acceleration \(\nabla_{\dot{x}}\dot{x}\) is expressed using Christoffel symbols of the second kind, \(\Gamma^k_{ij}\): \[ (\nabla_{\dot{x}}\dot{x})^k = \ddot{x}^k + \sum_{i,j} \Gamma^k_{ij} \dot{x}^i \dot{x}^j. \] The unforced dynamics (drift) satisfy the geometric equation of motion: \[ \nabla_{\dot{x}}\dot{x} = -M^{-1}(\nabla V + F_{dissip}). \] This identifies the drift vector field components. The “inertial drift” corresponds to the term \(-\Gamma^k_{ij} \dot{x}^i \dot{x}^j\), which appears in the mechanical equations as \(-M^{-1} C(x)\dot{x}\). This geometric definition treats \(f(x)\) as a coordinate-independent object—a global section of the tangent bundle—so the drift term is tied to the mechanics rather than to a particular coordinate chart.
Note on Constrained Subsystems (The Wrist)
While the global system evolves on \(T\mathcal{Q}\), specific joints may have internal constraints that reduce the local degrees of freedom. For example, the wrist joint functions as a universal joint with a constrained third axis (forearm rotation). These local constraints generate internal constraint torques that reside in the null space of the actuation map \(B(q)\) but are critical for force transmission. For a detailed derivation of these constraint dynamics, see Constraint Torques at the Wrist.
The manifold \(\mathcal{Q}\) and metric \(M\) describe the model’s configuration and kinetic-energy structure. To represent externally supplied generalized torque at the selected boundary, we now declare an input channel; this declaration does not identify intent or physiological origin.
Torque Inputs and Actuation Mapping
{#subsec:inputs}
Muscular torques are abstracted as control inputs
\[u \in \mathbb{R}^{m_{u}}, \quad m_{u} \leq n,\]
with
\[\tau = B(q)\, u,\]
where \(\tau \in \mathbb{R}^{n}\) is the generalized joint torque vector and \(B(q) \in \mathbb{R}^{n \times m_{u}}\) encodes actuation pathways and moment arms. Formally, \(B(q)\) is a mapping from the input space to the cotangent bundle \(T^*\mathcal{Q}\) (forces/torques). In the simplest case, \(B\) is constant; more generally, it may depend on configuration. In either case, torques enter linearly in the equations of motion.
Throughout this paper we treat \(u\) as the exogenous input at the mechanical level. The mapping from neural commands to \(u\) is outside the scope of this theoretical work.
While inputs drive the system, they do not act in a vacuum. The golfer must contend with—and exploit—the environmental and inertial field. The effectiveness of any torque input is conditioned by the external forces that define the system’s potential energy landscape and reaction constraints.
The Effective Plant at state \(x\) and impedance configuration \(\sigma\) is the instantaneous linear mapping from controls to task-space accelerations:
\[ \mathcal{P}(x, \sigma) = J(q) M^{-1}(q, \sigma) B \]
where \(J(q)\) is the task Jacobian (mapping joint accelerations to task-space accelerations), \(M(q, \sigma)\) is the mass matrix (potentially modified by co-contraction impedance \(\sigma\)), and \(B\) is the input selection matrix.
This definition unifies three perspectives used across this site:
Kinematic Effective Plant (used in Force Mobility Matrices): \(J(q)\) alone, describing the geometric leverage available at the current configuration.
Dynamic Effective Plant (used in this article): \(J(q)M^{-1}(q)B\), describing the full force-to-motion transmission including inertial effects.
Impedance-Modified Effective Plant (used in Intentional Constraint Collapse): \(J(q)M^{-1}(q, \sigma)B\), where the mass matrix is augmented by neuromuscular stiffness, describing the transiently stiffened mechanism near impact.
All three are evaluations of the same underlying object at different levels of modeling fidelity.
External Forces and Constraints
{#subsec:external_forces}
External forces included in the model are: - gravitational loading,
inertial, Coriolis, and centrifugal effects arising from the multibody kinematics,
passive joint contributions (if modeled explicitly),
elastic and damping forces from shaft deformation. Aerodynamic forces, impact forces, and non-holonomic contact effects are excluded under the assumptions of Section 4. Ground contact is modeled as a holonomic constraint that effectively fixes the base of the kinematic chain.
With the environmental forces defined, one critical boundary remains. The golfer does not act directly on the ball; they act on the handle. This interface—the grip—is the sole conduit for energy transfer between the biological actuator and the synthetic payload. It is here that the impedance mismatch between the articulated rigid body and the flexible beam creates the most complex dynamic interactions.
Hand–Club Kinematic Interface and Jacobian Formulation
{#subsec:hand_club}
The structural coupling between the golfer (actuator) and the club (payload) is the critical boundary where active kinematics meet passive dynamics. We model this interface rigorously using differential kinematics.
Let the hand reference frame \(\mathcal{F}_h\) be attached to the distal segment of the kinematic chain. Its spatial configuration \(T_{wh}(q) \in SE(3)\) relative to the world frame is determined by the forward kinematics of the rigid body chain. The spatial velocity of the hands, \(\mathcal{V}_h \in \mathbb{R}^6\) (twist), is related to the joint velocities by the geometric Jacobian \(J_h(q) \in \mathbb{R}^{6 \times n}\): \[\mathcal{V}_h = J_h(q) \dot{q}.\]
The clubshaft is modeled as a flexible beam clamped at the hands. The position of a material point \(s \in [0, L]\) along the shaft in the world frame, denoted \(p(s, q, \eta)\), is the superposition of the rigid hand motion and the local elastic deformation. Using the assumed modes method, the deformation relative to the hand frame is \(w(s, t) = \sum_{i=1}^m \phi_i(s) \eta_i(t)\), where \(\phi_i(s)\) are the spatial mode shapes.
The velocity of any differential mass element \(dm = \rho(s)ds\) on the shaft is obtained by differentiating the position vector with respect to time. Applying the chain rule to \(p(s, q, \eta)\): \[ v(s) = \frac{d}{dt} p(s, q, \eta) = \frac{\partial p}{\partial q} \dot{q} + \frac{\partial p}{\partial \eta} \dot{\eta}. \] Identifying the partial derivatives with the geometric Jacobians of the system:
- Rigid-Body Jacobian: \(J_{\text{rigid}}(s, q) \equiv \frac{\partial p}{\partial q} \in \mathbb{R}^{3 \times n}\). This Jacobian captures the transport velocity of the point \(s\) induced by the articulation of the golfer’s joints.
- Modal Jacobian: \(\Phi(s) \equiv \frac{\partial p}{\partial \eta} \in \mathbb{R}^{3 \times m}\). This is the matrix of mode shapes, mapping generalized modal rates \(\dot{\eta}\) to spatial velocities.
Thus, the velocity field \(v(s)\) is the vector superposition of rigid-body transport and local elastic deformation: \[v(s) = \underbrace{J_{\text{rigid}}(s, q) \dot{q}}_{\text{Rigid Transport}} + \underbrace{\Phi(s) \dot{\eta}}_{\text{Elastic Velocity}}.\]
The total kinetic energy of the shaft, \(T_{\text{shaft}}\), is the integral of the differential kinetic energy \(dT = \frac{1}{2} \| v(s) \|^2 dm\) over the shaft’s mass distribution. Letting \(dm = \rho(s)ds\): \[ T_{\text{shaft}} = \frac{1}{2} \int_0^L \rho(s) \| v(s) \|^2 ds. \]
We expand the squared norm of the velocity vector explicitly. Let \(J\) denote \(J_{\text{rigid}}(s,q)\). \[ \| v(s) \|^2 = v(s)^T v(s) = (J\dot{q} + \Phi\dot{\eta})^T (J\dot{q} + \Phi\dot{\eta}) \] \[ = \dot{q}^T J^T J \dot{q} + \dot{q}^T J^T \Phi \dot{\eta} + \dot{\eta}^T \Phi^T J \dot{q} + \dot{\eta}^T \Phi^T \Phi \dot{\eta}. \] Since the kinetic energy is a scalar quantity, the two middle cross-terms are identical: \[ (\dot{q}^T J^T \Phi \dot{\eta})^T = \dot{\eta}^T \Phi^T J \dot{q}. \] We group these terms and integrate the local density over the shaft domain \(s \in [0, L]\). The total kinetic energy \(T_{\text{club}}\) includes both the distributed mass of the shaft and the discrete mass properties of the clubhead at the tip (\(s=L\)). Letting \(m_{head}\) and \(I_{head}\) denote the clubhead mass and inertia tensor, and exploiting the linearity of the integral operator:
\[ T_{\text{club}} = \frac{1}{2} \dot{q}^T \left( \int_0^L \rho J^T J \, ds + m_{head} J(L)^T J(L) \right) \dot{q} + \dot{q}^T \left( \int_0^L \rho J^T \Phi \, ds + m_{head} J(L)^T \Phi(L) \right) \dot{\eta} + \frac{1}{2} \dot{\eta}^T \left( \int_0^L \rho \Phi^T \Phi \, ds + m_{head} \Phi(L)^T \Phi(L) \right) \dot{\eta}. \]
(Note: For brevity, we omit the rotational inertia terms \(I_{head}\) in the expanded block form, though they follow the same structure using angular velocity Jacobians.)
This derivation explicitly identifies the block components of the system mass matrix \(M(q, \eta)\):
- Rigid Inertia \(M_{qq}\): The standard manipulator inertia, augmented by the “locked-mode” inertia of the shaft and clubhead. \[ M_{qq} \equiv \int_0^L \rho(s) J_{\text{rigid}}(s,q)^T J_{\text{rigid}}(s,q) \, ds + m_{head} J_{\text{rigid}}(L,q)^T J_{\text{rigid}}(L,q) \]
- Modal Inertia \(M_{\eta\eta}\): The mass matrix of the flexible coordinates. By convention, the mode shapes \(\phi_i(s)\) are chosen to be orthonormal with respect to the mass distribution \(\rho(s)\) (shaft + tip mass), such that: \[ \int_0^L \rho(s) \phi_i(s)^T \phi_j(s) \, ds + m_{head} \phi_i(L)^T \phi_j(L) = \delta_{ij}. \] Under this normalization, \(M_{\eta\eta}\) simplifies to the identity matrix \(I_m\).
- Inertial Coupling \(M_{q\eta}\): The cross-term that couples the rigid and flexible subspaces. \[ M_{q\eta} \equiv \int_0^L \rho(s) J_{\text{rigid}}(s,q)^T \Phi(s) \, ds + m_{head} J_{\text{rigid}}(L,q)^T \Phi(L) \]
The existence of the non-zero block \(M_{q\eta}\) is the physical mechanism by which hand acceleration (\(\ddot{q}\)) creates an instantaneous inertial load on the shaft (via \(-M_{q\eta}^T \ddot{q}\)), and conversely, how shaft vibration recoil exerts reaction torques on the hands. This coupling exists purely due to the mass distribution of the shaft and is independent of stiffness.
This inertial coupling transmits the effect of the declared generalized-torque channel to the club and transmits club reaction loads through the same model. To represent that bidirectional energy flow, we move from kinematics to dynamics and construct the system Lagrangian.
Before proceeding to the dynamical derivation, we summarize the mathematical symbols that will be used to describe these interactions.
Notation Table
{#subsec:notation}
For reference, Table 1 summarizes the main symbols used in the manuscript.
| Symbol | Meaning |
|---|---|
| \(q \in \mathbb{R}^{n}\) | Generalized joint coordinates (rigid segments) |
| \(\dot{q}, \ddot{q}\) | Joint angular velocities and accelerations |
| \(\eta \in \mathbb{R}^{m}\) | Modal coordinates of the flexible shaft |
| \(\dot{\eta}, \ddot{\eta}\) | Modal velocities and accelerations |
| \(x \in \mathbb{R}^{2(n+m)}\) | Full system state: \(x = [q,\dot{q},\eta,\dot{\eta}]^{T}\) |
| \(u \in \mathbb{R}^{m_{u}}\) | Control input vector (abstracted muscular torques) |
| \(\tau \in \mathbb{R}^{n}\) | Generalized torque vector: \(\tau = B(q) u\) |
| \(B(q)\) | Input mapping matrix from control channels to generalized torques |
| \(M(q,\eta)\) | Inertia matrix for coupled rigid–flexible system |
| \(C(q,\dot{q},\eta,\dot{\eta})\) | Coriolis/centrifugal matrix |
| \(g(q)\) | Gravitational torque vector |
| \(K_{s}\) | Modal stiffness matrix of the shaft |
| \(C_{s}\) | Modal damping matrix of the shaft |
| \(f(x)\) | Drift vector field (passive dynamics) |
| \(G(x)\) | Input vector fields defining linear influence of torque inputs |
| \(F_{\text{drift}}\) | Generalized drift force (passive component) |
| \(F_{\text{input}}\) | Generalized input force (torque-driven component) |
| \(F_{\text{total}}\) | Total generalized force |
| ZTCF | Zero Torque Counterfactual |
| ZVCF | Zero Velocity Counterfactual |
| \(\phi_{i}\) | Coefficients associated with shaft mode shapes |
| \(t\) | Time |
Unified Control-Affine Derivation (Rigid + Flexible System)
The kinematic analysis in the previous section established the mass matrix structure and the coupling mechanism. We now embed these elements into the full dynamical framework.
To identify the model-conditioned contribution of the declared generalized-torque channel, we derive the equations of motion in a form that explicitly isolates the control inputs. Standard Kane’s method or Newton-Euler formulations often yield a single implicit system of equations. Here, we employ the Lagrangian formalism to reveal the control-affine structure that makes the declared torque enter linearly in the chosen model.
Lagrangian Formulation
We define the composite configuration vector \(q_{\text{sys}} = [q^T, \eta^T]^T \in \mathbb{R}^{n+m}\). The system dynamics are governed by the Euler-Lagrange equations: \[ \frac{d}{dt}\left(\frac{\partial \mathcal{L}}{\partial \dot{q}_{\text{sys}}}\right) - \frac{\partial \mathcal{L}}{\partial q_{\text{sys}}} + \frac{\partial \mathcal{R}}{\partial \dot{q}_{\text{sys}}} = \tau_{\text{ext}}, \] where \(\mathcal{L} = T - V\) is the Lagrangian and \(\mathcal{R}\) is the Rayleigh dissipation function.
1. Kinetic Energy and the Inertia Tensor
The total kinetic energy \(T\) is the integral of the squared velocity over the system’s mass distribution. As derived in the kinematic interface section, the velocity is linear in \(\dot{q}_{\text{sys}}\), implying \(T\) is a quadratic form: \[T(q_{\text{sys}}, \dot{q}_{\text{sys}}) = \frac{1}{2} \dot{q}_{\text{sys}}^T M(q_{\text{sys}}) \dot{q}_{\text{sys}}.\] The inertia matrix \(M(q_{\text{sys}})\) (the Riemannian metric of the configuration manifold) exhibits a dense block structure due to the kinematic coupling: \[M(q, \eta) = \begin{bmatrix} M_{qq}(q, \eta) & M_{q\eta}(q, \eta) \\ M_{\eta q}(q, \eta) & M_{\eta\eta} \end{bmatrix}.\] Here: * \(M_{qq} \in \mathbb{R}^{n \times n}\) is the effective inertia of the rigid segments, augmented by the instantaneous “locked-mode” inertia of the shaft. * \(M_{\eta\eta} \in \mathbb{R}^{m \times m}\) is the modal mass matrix (typically identity, \(I\), by orthonormal mode normalization). * \(M_{q\eta} = M_{\eta q}^T \in \mathbb{R}^{n \times m}\) is the inertial coupling matrix. This term captures the “recoil” forces: it maps shaft accelerations to torques at the joints and joint accelerations to modal forces. In a Newton-Euler formulation, these terms correspond exactly to the d’Alembert forces propagated back up the chain from the accelerating flexible element.
theory-part4.qmd) uses the equivalent $(r, f)$ convention (r = rigid, f = flexible): $M_{qq} \equiv M_{rr}$, $M_{\eta\eta} \equiv M_{ff}$, $M_{q\eta} \equiv M_{rf}$, $M_{\eta q} \equiv M_{fr}$.
2. Coriolis and Centrifugal Fields
Expanding the time derivative \(\frac{d}{dt}(M \dot{q}_{\text{sys}})\) yields velocity-dependent inertial forces: \[\frac{d}{dt}(M \dot{q}_{\text{sys}}) = M \ddot{q}_{\text{sys}} + \dot{M} \dot{q}_{\text{sys}}.\] Combined with the partial derivative \(-\frac{\partial T}{\partial q_{\text{sys}}}\), these form the Coriolis and centrifugal matrix \(C(q_{\text{sys}}, \dot{q}_{\text{sys}})\), defined component-wise by Christoffel symbols of the first kind: \[C_{kj} = \sum_{i=1}^{n+m} \frac{1}{2} \left( \frac{\partial M_{kj}}{\partial q_i} + \frac{\partial M_{ki}}{\partial q_j} - \frac{\partial M_{ij}}{\partial q_k} \right) \dot{q}_i.\] A critical property for stability analysis is that \(\dot{M} - 2C\) is skew-symmetric, reflecting the conservation of energy in the absence of work-doing forces.
3. Potentials and Dissipation
We define the scalar potential energy \(V\) and Rayleigh dissipation function \(\mathcal{R}\) explicitly to derive the conservative and non-conservative forces.
Potential Energy (\(V\)): \[ V(q, \eta) = \underbrace{V_{\text{gravity}}(q, \eta)}_{\text{Gravitational}} + \underbrace{\frac{1}{2} \eta^T K_s \eta}_{\text{Elastic Strain}} \] where \(K_s = \text{diag}(\omega_1^2, \dots, \omega_m^2)\) is the modal stiffness matrix. The generalized gravitational vector is \(G(q_{\text{sys}}) = \nabla_{q_{\text{sys}}} V_{\text{gravity}}\). The elastic restoring force arises from the partial derivative with respect to \(\eta\): \[ \nabla_\eta V = K_s \eta. \]
Dissipation (\(\mathcal{R}\)): To model passive energy loss, we define a Rayleigh dissipation function that includes both internal shaft damping and passive joint impedance: \[ \mathcal{R}(\dot{q}, \dot{\eta}) = \underbrace{\frac{1}{2} \dot{\eta}^T C_s \dot{\eta}}_{\text{Shaft Damping}} + \underbrace{\frac{1}{2} \dot{q}^T D_{joint} \dot{q}}_{\text{Joint Friction}} \] where \(C_s = \text{diag}(2\zeta_1\omega_1, \dots, 2\zeta_m\omega_m)\) provides modal damping. The dissipative forces are obtained by differentiating \(\mathcal{R}\) with respect to velocities: \[ F_{\text{dissip}} = \nabla_{\dot{q}_{\text{sys}}} \mathcal{R} = \begin{bmatrix} D_{joint} \dot{q} \\ C_s \dot{\eta} \end{bmatrix}. \]
With the energetic scalar fields (\(T, V, \mathcal{R}\)) fully defined, we can now invoke the variational principle to generate the vector field of the dynamics. The Euler-Lagrange operator transforms these energy landscapes into a balance of forces, ensuring that the resulting motion adheres to the principle of least action.
4. The Underactuated Equation of Motion
We substitute the block-partitioned energy terms into the Euler-Lagrange equations. For the rigid coordinates \(q\): \[ \frac{d}{dt} (M_{qq}\dot{q} + M_{q\eta}\dot{\eta}) - \frac{\partial T}{\partial q} + g(q) + D_{joint} \dot{q} = \tau. \] For the flexible coordinates \(\eta\): \[ \frac{d}{dt} (M_{\eta q}\dot{q} + M_{\eta\eta}\dot{\eta}) - \frac{\partial T}{\partial \eta} + K_s \eta + C_s \dot{\eta} = 0. \] Grouping the inertial terms and identifying the Coriolis components leads to the standard coupled block system: \[ \begin{bmatrix} M_{qq} & M_{q\eta} \\ M_{\eta q} & M_{\eta\eta} \end{bmatrix} \begin{bmatrix} \ddot{q} \\ \ddot{\eta} \end{bmatrix} + C(q_{\text{sys}}, \dot{q}_{\text{sys}}) \dot{q}_{\text{sys}} + G(q_{\text{sys}}) + \begin{bmatrix} \tau_{\text{pas}}(q, \dot{q}) \\ K_s \eta + C_s \dot{\eta} \end{bmatrix} = \begin{bmatrix} \tau \\ 0 \end{bmatrix}. \]
We explicitly include the term \(\tau_{\text{pas}}(q, \dot{q})\) (here modeled as \(D_{joint} \dot{q}\)) to represent passive joint impedance. In a more complex biomechanical model, this term would also include ligament stiffness gradients \(\nabla_q V_{\text{ligament}}\).
The zero vector in the lower block of the forcing term is the defining feature of this system: it is underactuated. The golfer has no direct actuator on the shaft modes; control authority over \(\eta\) is achieved solely through dynamic coupling (the \(M_{q\eta}\) term).
Control-Affine State Space Form
The Lagrangian formulation above preserves the usual energy bookkeeping of the model, but it presents the dynamics as an implicit balance of forces (\(\text{Inertia} + \text{Coriolis} + \dots = \text{Input}\)). To disentangle cause from effect, we must invert this relationship. We need an explicit mapping that reveals how a unit of torque translates into instantaneous acceleration, accounting for the complex inertial coupling between the hands and the flexible shaft.
To isolate the accelerations, we require the inverse inertia matrix \(H(q) = M^{-1}(q)\). However, a numerical inversion would obscure the mechanism of transmission. We instead derive the blockwise inverse analytically using the Schur Complement. This algebraic decomposition is essential because it explicitly separates the ‘Effective Mobility’ of the hands from the ‘Reflected Inertia’ of the shaft. We seek a matrix \(H\) such that: \[ \begin{bmatrix} M_{qq} & M_{q\eta} \\ M_{\eta q} & M_{\eta\eta} \end{bmatrix} \begin{bmatrix} H_{qq} & H_{q\eta} \\ H_{\eta q} & H_{\eta\eta} \end{bmatrix} = \begin{bmatrix} I & 0 \\ 0 & I \end{bmatrix}. \] Expanding the first column of the product yields the system: 1. \(M_{qq} H_{qq} + M_{q\eta} H_{\eta q} = I\) 2. \(M_{\eta q} H_{qq} + M_{\eta\eta} H_{\eta q} = 0\)
From equation (2) (\(M_{\eta q} H_{qq} + M_{\eta\eta} H_{\eta q} = 0\)), we isolate the off-diagonal block \(H_{\eta q}\). Assuming \(M_{\eta\eta}\) is positive-definite (as it is a principal submatrix of the metric), we pre-multiply by its inverse \(M_{\eta\eta}^{-1}\): \[M_{\eta\eta}^{-1} M_{\eta q} H_{qq} + H_{\eta q} = 0 \quad \Rightarrow \quad H_{\eta q} = - M_{\eta\eta}^{-1} M_{\eta q} H_{qq}.\] This algebraic relationship reveals that the cross-mobility \(H_{\eta q}\) is not an independent property; it is a linear mapping of the rigid-body mobility \(H_{qq}\), determined by the Inertial Coupling Ratio: \[\Gamma \equiv - M_{\eta\eta}^{-1} M_{\eta q}.\] We define \(\Gamma\) as the system’s mechanical ‘gear ratio,’ dictating how much ‘kick’ (acceleration) the flexible shaft receives for every unit of acceleration the golfer produces at the hands. Crucially, this transmission is purely inertial—it depends on the mass distribution of the club (\(M_{q\eta}\)), not its stiffness (\(K_s\)). This means the golfer cannot ‘turn off’ the interaction by relaxing their grip; the coupling is a fixed property of the club’s mass matrix.
Substituting this expression for \(H_{\eta q}\) into the first row equation (\(M_{qq} H_{qq} + M_{q\eta} H_{\eta q} = I\)): \[M_{qq} H_{qq} + M_{q\eta} \left( - M_{\eta\eta}^{-1} M_{\eta q} H_{qq} \right) = I.\] Grouping the terms that multiply \(H_{qq}\) yields the fundamental constraint on the rigid-body motion: \[\left( M_{qq} - M_{q\eta} M_{\eta\eta}^{-1} M_{\eta q} \right) H_{qq} = I.\] The term in parentheses is the Schur Complement of \(M_{\eta\eta}\) in \(M\), denoted \(\Delta\): \[\Delta \equiv M_{qq} - M_{q\eta} M_{\eta\eta}^{-1} M_{\eta q}.\] Physically, \(\Delta\) represents the Articulated Body Inertia projected into the joint space. It is the effective inertia felt by the golfer when the shaft modes are free to accelerate. This differs from the locked-mode inertia \(M_{qq}\) because the shaft “gives way” under load, effectively reducing the perceived inertia in certain directions.
Thus, the primary diagonal block of the inverse mass matrix is the inverse of the articulated inertia: \[H_{qq} = \Delta^{-1} = \left( M_{qq} - M_{q\eta} M_{\eta\eta}^{-1} M_{\eta q} \right)^{-1}.\]
This derivation reveals the mechanical structure of the transmission. \(H_{qq}\) represents the Effective Mobility of the joints after accounting for the inertial relief provided by the flexible shaft. It is physically distinct from the inverse of the locked-mode inertia (\(M_{qq}^{-1}\)); it captures the enhanced responsiveness of the hands due to the dynamic compliance of the club. Crucially, the off-diagonal block \(H_{\eta q}\) dictates how joint torques propagate to the flexible modes via the Inertial Coupling Ratio.
Multiplying the equation of motion by \(H\) isolates the acceleration vector: \[ \begin{bmatrix} \ddot{q} \\ \ddot{\eta} \end{bmatrix} = \underbrace{-M^{-1} \left( C\dot{q}_{\text{sys}} + G + \text{Elastic/Damping} \right)}_{\text{Passive Drift Acceleration } a_{\text{drift}}} + \underbrace{M^{-1} \begin{bmatrix} B(q) \\ 0 \end{bmatrix}}_{\text{Control Efficacy } A_{\text{input}}} u. \]
We examine the Input Acceleration term \(A_{\text{input}} u\) specifically. Using the block inverse structure: \[ \begin{bmatrix} \ddot{q} \\ \ddot{\eta} \end{bmatrix}_{\text{input}} = \begin{bmatrix} H_{qq} & H_{q\eta} \\ H_{\eta q} & H_{\eta\eta} \end{bmatrix} \begin{bmatrix} B(q)u \\ 0 \end{bmatrix} = \begin{bmatrix} H_{qq} B(q) u + H_{q\eta} \cdot 0 \\ H_{\eta q} B(q) u + H_{\eta\eta} \cdot 0 \end{bmatrix} = \begin{bmatrix} H_{qq} B(q) u \\ H_{\eta q} B(q) u \end{bmatrix}. \]
The flexible mode acceleration \(\ddot{\eta}_{\text{input}}\) is thus driven by the off-diagonal block of the inverse mass matrix. Substituting the expression for \(H_{\eta q}\) derived via the Schur complement (\(H_{\eta q} = - M_{\eta\eta}^{-1} M_{\eta q} H_{qq}\)): \[ \ddot{\eta}_{\text{input}} = H_{\eta q} B(q) u = \left( - M_{\eta\eta}^{-1} M_{\eta q} H_{qq} \right) B(q) u. \] This equation provides the rigorous mechanical definition of Input Forces:
- Direct Drive: \(\ddot{q}_{in} = H_{qq} B(q) u\). The input torque generates joint acceleration scaled by the effective mobility \(H_{qq}\) (the inverse of the articulated body inertia).
- Transmission to Flexible Modes: \(\ddot{\eta}_{in}\) depends on the Inertial Coupling Ratio \(-M_{\eta\eta}^{-1} M_{\eta q}\). Within this model, that means hand torque influences “lag” or “lead” deflection only through the inertial coupling pathway represented by the matrix product above.
In this parameterization, \(\Gamma\) is fixed by the chosen club model. The golfer creates the acceleration (\(\ddot{q}\)), but the coupling (\(\Gamma\)) determines how that acceleration reaches the shaft modes at the same modeled state. Technique can still change the state and torque history; what it does not do is change the inertial-coupling matrix without changing the model or the club parameters.
This explicit derivation reveals the instantaneous mapping from the declared torque channel to generalized acceleration. The term \(H_{qq}B(q)\) can support a control-efficacy or mobility analysis after a metric, input bounds, output, and horizon are declared. Drift magnitude alone does not establish reduced path-control authority.
Substituting the actuation model, we separate the drift and input terms.
Define the drift acceleration
\[a_{\text{drift}}(x) = - M^{-1}(q,\eta) \left( C(q,\dot{q},\eta,\dot{\eta}) \begin{bmatrix} \dot{q} \\[0.2em] \dot{\eta} \end{bmatrix} + g(q) + \begin{bmatrix} 0 \\[0.2em] K_{s}\eta + C_{s}\dot{\eta} \end{bmatrix} \right),\]
and the input acceleration mapping
\[A_{\text{input}}(x) = M^{-1}(q,\eta) \begin{bmatrix} B(q) \\[0.2em] 0 \end{bmatrix}.\]
Then the acceleration equation becomes
\[\begin{bmatrix} \ddot{q} \\[0.2em] \ddot{\eta} \end{bmatrix} = a_{\text{drift}}(x) + A_{\text{input}}(x)\,u.\]
With the accelerations isolated, we can now package the system into its final canonical form. This step is not merely notational; it formally separates the system into a drift vector field (representing the system’s unforced evolution) and control vector fields (representing the actuator’s leverage).
The second-order formulation above describes accelerations in the configuration space. However, the standard language of control theory operates on first-order flows on the tangent bundle. To utilize the geometric tools of nonlinear control, we must promote the system to state-space form, converting the \(N\) second-order differential equations into \(2N\) first-order equations.
First-Order State-Space Form
We now express the dynamics in first-order form. Recall
\[x = [q^{T}, \dot{q}^{T}, \eta^{T}, \dot{\eta}^{T}]^{T}.\]
The state derivative is
\[\dot{x} = \begin{bmatrix} \dot{q} \\[0.2em] \ddot{q} \\[0.2em] \dot{\eta} \\[0.2em] \ddot{\eta} \end{bmatrix} = f(x) + G(x)\,u,\]
where
\[f(x) = \begin{bmatrix} \dot{q} \\ [a_{\text{drift}}(x)]_{1:n} \\ \dot{\eta} \\ [a_{\text{drift}}(x)]_{n+1:n+m} \end{bmatrix}, \qquad G(x) = \begin{bmatrix} 0 \\ [A_{\text{input}}(x)]_{1:n,:} \\ 0 \\ [A_{\text{input}}(x)]_{n+1:n+m,:} \end{bmatrix}. \]
This is a nonlinear control-affine system:
\[\dot{x} = f(x) + G(x)\,u.\]
All nonlinearities—including those introduced by shaft flexibility—are contained in the drift vector field \(f(x)\), while the input vector fields \(G(x)\) multiply the control input \(u\) linearly. The purely rigid-body model is recovered by setting \(m = 0\).
Structural Consequences
Three structural observations follow: 1. Flexibility enriches drift but preserves input linearity. Shaft flexibility introduces additional passive degrees of freedom and modifies \(M, C,\) and the elastic terms, but all shaft forces remain in the drift. The control input still enters linearly through joint torques.
All torque-driven effects are confined to \(G(x)u\). Any change in the dynamics caused by altering the torque profile must pass through the input term; the drift term depends only on the state and parameters.
The affine structure is independent of parameter values. The decomposition does not rely on particular numerical values of masses, inertias, or shaft stiffness, only on the linearity of torque in the equations of motion. In practice, parameter uncertainty affects the accuracy of the decomposition but not its algebraic form.
This control-affine structure is the backbone for the drift–input decomposition and the counterfactual constructions developed in the next sections.
Geometric Control Interpretation (Lie Brackets)
The separation of dynamics into drift \(f(x)\) and input directions \(G(x)\) allows controllability or accessibility to be analyzed using geometric control theory. One relevant object is the Lie Bracket: \[ [f, g](x) = \nabla_x g \cdot f - \nabla_x f \cdot g. \] This vector field represents a direction generated by alternating flows. If the Lie algebra generated by \(\{f, g_1, \dots, g_m\}\) spans the tangent space under the theorem’s regularity conditions, the model may be locally accessible. A large drift magnitude or bounded input does not by itself prove loss of controllability; that claim requires a specified model, input bounds, horizon, and rank or reachability analysis.
By isolating the declared torque input \(u\) in \(G(x)u\), we obtain a mathematically precise operation. The term \(f(x)\) evaluates the autonomous dynamics represented at the current state, while \(G(x)u\) evaluates the instantaneous declared-input contribution.
The derivation provides an additive, model-conditioned map of the instantaneous vector field. It assigns one term to the autonomous dynamics and one to the declared input channel. This algebraic separation does not identify player agency or a unique physical cause; those interpretations require an explicit intervention, identifiable parameters, and qualifying measurements.
Drift vs. Input Decomposition
Equation 1 represents the chosen mechanical model. We now pivot from description to reproducible, model-conditioned diagnostics.
The affine form gives additive separation, not mechanical orthogonality: under a chosen metric, \(f(x)\) and \(G(x)u\) may align, oppose, or be oblique. We now formalize the equation-level separation of autonomous (drift) and declared-input contributions.
Passive Drift Dynamics
The drift dynamics are defined by setting the declared generalized-torque input to zero while retaining the declared effective plant:
\[ \dot{x}_{\text{drift}} = f(x). \]
Physically, this includes: - inertia of all rigid segments,
Coriolis and centrifugal forces,
gravitational torques,
passive joint contributions (if modeled),
elastic and damping forces from shaft deformation. Drift represents what the system would do “on its own” given its current configuration, velocities, and shaft deformation, under the modeling assumptions of Section 4.
While the drift field encapsulates the system’s inertial persistence—its resistance to change and its memory of past movement—the input field defines its malleability. It represents the available avenues for the golfer to intervene and reshape that momentum.
Torque-Driven Input Dynamics
The input dynamics are defined as the torque-driven component:
\[ \dot{x}_{\text{input}} = G(x)\,u. \]
Key properties: - The dependence on \(u\) is strictly linear.
The mapping \(G(x)\) depends on configuration and shaft deformation, but does not multiply \(u\) nonlinearly.
The number of effective torque channels is \(m_{u} \le n\), reflecting anatomical underactuation at the joint level. This term is the instantaneous contribution assigned to the declared generalized-torque channel at the mechanical level of description.
Total Evolution and Model-Conditioned Interpretation
Combining the two contributions yields
\[ \dot{x} = f(x) + G(x)\,u = \dot{x}_{\text{drift}} + \dot{x}_{\text{input}}. \]
Within the model, this additive structure supports the following interpretation: - the drift term \(f(x)\) captures the passive mechanical response to the current state,
- the input term \(G(x)u\) captures the incremental effect of the applied torques on top of that passive response. The decomposition is analytically exact for the chosen multibody model; in practice it is limited by parameter accuracy and the validity of the modeling assumptions.
This analytical separation defines two explicit interventions: set the declared input to zero to evaluate or integrate drift, or set the declared velocity coordinates to zero to evaluate configuration loads. Each result is conditional on its model, coordinates, parameters, initial state, and horizon. Neither operation alone establishes a unique real-world causal explanation.
To operationalize this decomposition, we cannot simply look at the equations; we must observe the behavior they dictate. The drift field \(f(x)\) is not static; it describes a flow. To understand the burden of “passive dynamics,” we must follow this flow over time. We need a counterfactual history—a timeline of what would have happened if the golfer had ceased to intervene.
Role in Counterfactual Analysis
The drift–input decomposition underlies the counterfactual tools introduced later: - The Zero Torque Counterfactual (ZTCF) trajectory integrates the drift-only dynamics from a given initial state, isolating the passive evolution of the system.
- The Zero Velocity Counterfactual (ZVCF) evaluates forces at the same configuration with velocities set to zero, isolating configuration-dependent contributions.
By comparing total forces to these counterfactual constructions via inverse dynamics, we can separate drift and input forces. This process moves us from the instantaneous vector fields of Part I to the temporal domain of Part II. It allows us to simulate the “Shadow Swings”—the unobserved trajectories that would have occurred had the golfer chosen differently—revealing the invisible inertial currents that shape the visible swing.
Zero Torque Counterfactual (ZTCF)
Canonical definition: The four distinct constructions in the ZTCF family (Pointwise ZTCF sample \(f(x(t))\), Stitched pointwise ZTCF trace, Forward ZTCF trajectory, and Branched ZTCF trajectory) are defined in the glossary of the standalone article: Zero-Torque Counterfactual — canonical definitions and
NOTATION.md. The construction used in this section is the Forward ZTCF trajectory with initial condition \(x_0\).
The drift–input decomposition separates the dynamics into a passive component \(f(x)\) and a torque-driven component \(G(x)u\). The Zero Torque Counterfactual (ZTCF) formalizes the idea of “what the system would have done under identical conditions if the golfer had applied no torques at all.” It is defined strictly within the mechanical model and is used as a reference against which the actual, torque-driven motion can be compared.
The vector fields \(f(x)\) and \(G(x)\) derived in the previous section define the instantaneous tendencies of the system: \(f(x)\) dictates how the state evolves passively, while \(G(x)\) dictates how it responds to input. However, the golf swing is not an instant; it is a ballistic process where past inputs shape current passive dynamics. The ‘drift’ forces experienced at impact are not merely functions of the current configuration; they are the legacy of momentum generated earlier in the downswing. To capture this history-dependent nature of drift, we must move from the tangent bundle (velocities) to the integral curves (trajectories). The ZTCF performs this integration, extending the instantaneous decomposition into a full counterfactual history.
Definition as a Drift-Only Trajectory
Consider the control-affine system defined on \(T\mathcal{Q}\):
\[ \dot{x} = f(x) + G(x)\,u, \qquad x(t_{0}) = x_{0}. \tag{1}\]
Let \(\Phi^f_t: T\mathcal{Q} \to T\mathcal{Q}\) denote the flow of the drift vector field \(f(x)\). This flow represents the natural evolution of the system under its own passive dynamics (inertia, gravity, elasticity) in the absence of control input.
We define the Zero Torque Counterfactual trajectory, denoted \(x^{\mathrm{ZTCF}}(t)\), as the integral curve of the drift field starting from the initial state \(x_0\):
\[ x^{\mathrm{ZTCF}}(t) = \Phi^f_{t-t_0}(x_0), \quad t \in [t_{0}, t_{f}]. \tag{2}\]
Explicitly, it is the solution to the differential equation
\[ \dot{x}^{\mathrm{ZTCF}}(t) = f\big(x^{\mathrm{ZTCF}}(t)\big), \qquad x^{\mathrm{ZTCF}}(t_{0}) = x_{0}. \]
By construction: - The initial condition is identical to that of the actual swing.
All mechanical parameters (masses, inertias, shaft stiffness, etc.) are identical.
The only difference is that the torque input is set to zero: \(u(t) \equiv 0\). Thus \(x^{\mathrm{ZTCF}}(t)\) is the unique trajectory predicted by the model when the system is released from the same initial state but allowed to evolve purely under passive dynamics.
The physical significance of the ZTCF becomes clear when we contrast its evolution with the actual observed motion. The divergence between these two paths is the direct measure of the golfer’s intervention.
Relationship to Drift and Input Terms
Along the actual trajectory \(x(t)\), the state derivative is
\[ \dot{x}(t) = f\big(x(t)\big) + g\big(x(t)\big)\,u(t), \]
while along the ZTCF trajectory \(x^{\mathrm{ZTCF}}(t)\) the derivative is purely
\[ \dot{x}^{\mathrm{ZTCF}}(t) = f\big(x^{\mathrm{ZTCF}}(t)\big). \]
The drift vector field \(f(x)\) is invariant with respect to the instantaneous torque input: it depends only on the state and model parameters, not on \(u\). In contrast, the input term \(G(x)u\) vanishes identically when \(u = 0\).
Conceptually, ZTCF isolates the drift dynamics by providing a full trajectory that is generated only by \(f(x)\). The difference between the actual trajectory and its ZTCF counterpart, when interpreted via the equations of motion, captures the incremental effect of the torque input.
The drift–input decomposition and the ZTCF provide the theoretical basis for separating passive and active forces. To make this operational, we must connect these differential equations to the practical tools of biomechanics—specifically, inverse dynamics.
Using ZTCF With Inverse Dynamics
In practice, we are often given a measured or simulated swing trajectory in terms of kinematics,
\[ \big(q(t), \dot{q}(t), \eta(t), \dot{\eta}(t)\big), \qquad t \in [t_{0}, t_{f}], \]
and we obtain the generalized torque vector \(\tau_{\text{total}}(t)\) from inverse dynamics:
\[ \tau_{\text{total}}(t) = \text{ID}\big(q(t), \dot{q}(t), \ddot{q}(t), \eta(t), \dot{\eta}(t), \ddot{\eta}(t)\big), \]
where \(\text{ID}(\cdot)\) denotes the inverse dynamics operator for the coupled rigid–flexible model.
From the equations of motion, the generalized torques can be written as
\[ \tau_{\text{total}}(t) = \underbrace{\tau_{\text{drift}}\big(x(t)\big)}_{\text{passive component}} + \underbrace{\tau_{\text{input}}(t)}_{\text{torque-driven component}}. \tag{3}\]
where the drift torque is defined by evaluating the passive terms at the actual state:
\[ \tau_{\text{drift}}\big(x(t)\big) = M_{q}(q,\eta)\,\big[a_{\text{drift}}(x(t))\big]_{1:n}, \]
and \(M_{q}\) denotes the block of the inertia matrix mapping rigid accelerations to generalized torques (see Section 16 for details).
The input torque is then given by
\[ \tau_{\text{input}}(t) = \tau_{\text{total}}(t) - \tau_{\text{drift}}\big(x(t)\big). \tag{4}\]
These equations provide an algebraically exact decomposition of the total generalized torque into drift and input components within the model.
The ZTCF trajectory is not strictly required to compute this decomposition: evaluating the drift terms \(a_{\text{drift}}(x)\) along the actual trajectory \(x(t)\) is sufficient. However, the ZTCF provides a useful conceptual and computational tool: - Conceptually, it is the trajectory that realizes the drift dynamics in isolation.
- Computationally, simulating \(x^{\mathrm{ZTCF}}(t)\) gives a concrete motion that can be analyzed or visualized alongside the actual swing to illustrate the effect of the torque input.
There is a useful model interpretation hidden in this construction. In phases of low velocity (takeaway), the ZTCF is one of many possible paths, and the golfer retains higher authority to deviate from it. As swing speed increases, the passive drift field \(f(x)\) grows in magnitude while the input authority \(G(x)u\) remains bounded. In this high-energy regime, the ZTCF can become a closer reference trajectory for the modeled passive dynamics. The swing trajectory is increasingly shaped by inertial terms, meaning the ZTCF becomes a stronger baseline prediction within the model rather than a claim of inevitability for real swings.
Interpretational Scope and Limitations
The ZTCF is a counterfactual within the model. It answers the question: > “Given the same initial state, declared effective plant, model parameters, and integration horizon, what trajectory does the model predict when its declared generalized-torque input is set to zero?”
It does not claim that such a motion could actually be achieved by a real golfer, nor that the nervous system ever selects “zero torque” as a control policy during a swing. Instead, ZTCF is a mathematical device that: - isolates the passive mechanical contribution to the dynamics,
provides a baseline against which torque-driven effects can be quantified, and
makes the drift–input decomposition explicit and reproducible.
All attribution statements made in this paper are conditional on the mechanical model and the modeling assumptions in Section 4. Within that scope, the decomposition \[ \tau_{\text{total}}(t) = \tau_{\text{drift}}\big(x(t)\big) + \tau_{\text{input}}(t) \] and the associated ZTCF construction are analytically exact. Outside that scope, their interpretation must be made with care and with explicit reference to model fidelity, parameter uncertainty, and unmodeled physiological effects.
Decomposing the Drift
The ZTCF removes the declared torque input from the equation while retaining the effective plant. The remaining autonomous term contains configuration- and velocity-dependent contributions. Separating those retained terms motivates the Zero Velocity Counterfactual.
Zero Velocity Counterfactual (ZVCF)
The Zero Velocity Counterfactual (ZVCF) isolates configuration-dependent forces by evaluating the system at the same configuration as the actual swing but with all generalized velocities set to zero. Whereas the ZTCF is a trajectory-level counterfactual that simulates the drift dynamics forward in time, the ZVCF is an instantaneous construction. It identifies the passive mechanical forces that arise only from configuration (such as gravity and elastic shaft deformation), without contributions from inertial, Coriolis, or velocity-dependent damping terms.
While the ZTCF successfully isolates the system’s passive dynamics from the golfer’s active input, the passive drift itself remains a composite phenomenon. It aggregates both motion-dependent forces (such as centrifugal, Coriolis, and inertial coupling) and configuration-dependent forces (such as gravity and elastic stiffness). In high-speed motions like the golf swing, velocity-driven terms often obscure the underlying static loads. To fully deconstruct the drift, we require a second analytical slice—one that freezes motion to reveal the forces arising purely from the system’s instantaneous shape.
Definition
Let the actual swing at time \(t\) be characterized by the state \(x(t) \in T\mathcal{Q}\). Locally, \(x(t) = (q(t), \eta(t), \dot{q}(t), \dot{\eta}(t))\).
We formally define the Zero Velocity Counterfactual operator using the fiber bundle structure of the state space. Let \(\mathcal{Q}\) be the configuration manifold. The state evolves on the tangent bundle \(T\mathcal{Q}\). Let \(\pi: T\mathcal{Q} \to \mathcal{Q}\) be the canonical projection (bundle map) that maps a state vector to its configuration: \(\pi(q, v) = q\). Let \(\zeta_0: \mathcal{Q} \to T\mathcal{Q}\) be the zero section of the tangent bundle, which embeds the configuration manifold into the state space as the locus of zero velocities: \(\zeta_0(q) = (q, 0)\).
The ZVCF operator \(\mathcal{Z}: T\mathcal{Q} \to T\mathcal{Q}\) is the composition of projection and zero-section embedding: \[ \mathcal{Z}(x) = (\zeta_0 \circ \pi)(x). \] Applied to the state \(x(t) = (q(t), \eta(t), \dot{q}(t), \dot{\eta}(t))\), this yields:
\[ x^{\mathrm{ZVCF}}(t) = \mathcal{Z}(x(t)) = (q(t), \eta(t), 0, 0). \tag{5}\]
Physically, this operation “freezes” the system in its current configuration. It is a projection onto the submanifold of static states.
Evaluating the equations of motion at this zero-velocity state yields the ZVCF generalized torque:
\[ \tau_{\mathrm{ZVCF}}(t) = \text{ID}\!\left(q(t),\, 0,\, \eta(t),\, 0,\, \ddot{q}^{\mathrm{ZVCF}}(t),\, \ddot{\eta}^{\mathrm{ZVCF}}(t)\right). \tag{6}\]
where the ZVCF accelerations are computed from the passive terms of the dynamics evaluated at zero velocity:
\[ \begin{bmatrix} \ddot{q}^{\mathrm{ZVCF}} \\[0.2em] \ddot{\eta}^{\mathrm{ZVCF}} \end{bmatrix} = a_{\text{drift}}\big(q(t),0,\eta(t),0\big). \tag{7}\]
Intuitively, \(\tau_{\mathrm{ZVCF}}(t)\) represents the generalized torques the model predicts at that configuration if: - the system were held momentarily at rest,
the shaft retained its instantaneous deformation \(\eta(t)\),
but no velocity-dependent forces were present.
What ZVCF Isolates
Evaluating the drift terms at zero velocity eliminates: - Coriolis and centrifugal forces (all terms proportional to \(\dot{q}\) or \(\dot{\eta}\)),
velocity-proportional damping in the shaft,
any passive joint damping,
all torque input contributions.
What remains in \(\tau_{\mathrm{ZVCF}}(t)\) are: - gravitational torques \(g(q)\),
elastic shaft restoring forces \(K_s \eta(t)\),
configuration-dependent components of the multibody dynamics (e.g., coupling due to mass distribution),
geometric projection effects (due to Jacobians and inertia coupling).
Thus the ZVCF isolates forces arising purely from the system’s instantaneous shape.
Relation to ZTCF and Drift–Input Decomposition
ZVCF and ZTCF play complementary roles: - ZTCF (trajectory-level) removes torque input but preserves velocity, allowing inertial, history-dependent drift forces to act naturally.
- ZVCF (instantaneous) removes all velocity contributions, freezing the system in place to expose purely configuration-dependent loads.
Within the drift–input decomposition, \[ \tau_{\mathrm{total}}(t) = \tau_{\mathrm{drift}}(t) + \tau_{\mathrm{input}}(t), \] the ZVCF satisfies \[ \tau_{\mathrm{ZVCF}}(t) = \tau_{\mathrm{drift}}(q(t),0,\eta(t),0), \] so ZVCF should be viewed as the zero-velocity slice of the drift torque field.
The full drift torque can be written as
\[ \tau_{\text{drift}}(t) = \tau_{\mathrm{ZVCF}}(t) + \tau_{\mathrm{vel.\,drift}}(t). \tag{8}\]
where \(\tau_{\mathrm{vel.\,drift}}(t)\) contains all velocity-dependent passive forces (Coriolis, centrifugal, shaft damping, etc.).
Interpretational Cautions
The ZVCF is not intended to represent a physically realizable motion: - A real golfer cannot instantaneously set all joint and shaft velocities to zero while holding the same configuration.
- The system would generally not remain in equilibrium under \(\tau_{\mathrm{ZVCF}}(t)\); internal and external forces would cause instantaneous acceleration.
Instead, ZVCF is a mathematical probe of the model used to answer: > “At this exact configuration, ignoring all motion, what passive torques does the system geometry and shaft deformation impose?”
This makes it especially useful for: - quantifying shaft bending loads independent of motion history,
separating gravity from inertial effects,
identifying configuration-driven mechanical biases (e.g., favored directions of passive motion),
analyzing torque effectiveness by comparing total torque to ZVCF and ZTCF baselines.
Note on Dynamic Relevance (The “Static Fallacy” Defense). A common scientific objection is that static forces (gravity, elastic stiffness) are negligible compared to inertial forces in a high-speed swing (e.g., \(1g\) vs \(100g\)), rendering the ZVCF physically irrelevant. This critique, termed the ‘Static Fallacy’, misses the analytical purpose of the counterfactual. We do not calculate ZVCF because we believe gravity “steers” the downswing; we calculate it to mathematically subtract the configuration-dependent baseline from the total passive force. Without the ZVCF, one cannot analytically distinguish “Geometric Stiffness” (a velocity-dependent stiffening effect) from “Elastic Stiffness” (a static material property). The ZVCF is the necessary “tare” operation for the dynamic scale—it zeros out the scale so that the “weight” of the velocity-dependent terms can be measured accurately.
ZVCF therefore complements ZTCF in building a full picture of drift forces across both configuration and velocity dimensions.
We have now constructed two counterfactual baselines: the ZTCF for the declared zero-input evolution, and the ZVCF for configuration loads at declared zero velocity. Their equation-level interpretation requires the autonomous term to have no direct dependence on the declared instantaneous input. If impedance, inertia, or another retained plant property changes with that input, the model boundary must be expanded or the quantity frozen explicitly; algebra alone does not supply causal independence.
Drift Invariance and Input Constraints
The drift–input decomposition
\[ \dot{x} = f(x) + G(x)u \]
has the declared interpretation only if \(f(x)\) has no direct dependence on the instantaneous input at the selected model boundary. This section states that equation-level property and discusses what must be frozen or reclassified when input-dependent impedance is present.
Definition of Drift Invariance
The drift vector field \(f(x)\) is said to be input-invariant if
\[ \frac{\partial f(x)}{\partial u} = 0. \tag{9}\]
meaning \(f(x)\) depends only on the state \(x\) and model parameters, and is strictly independent of the instantaneous control input \(u\).
To see this rigorously, we state the property as a formal proposition.
Proposition 1 (Drift Invariance). The drift vector field \(f(x)\) is invariant with respect to the control input \(u\), meaning the passive evolution of the system is independent of the instantaneous actuation. Formally: \[ \nabla_u f(x) \equiv 0. \]
Proof. Recall the definition of \(f(x)\) derived in Section 6. \[ f(x) = \begin{bmatrix} \dot{q} \\ \dot{\eta} \\ -M^{-1}(q,\eta) \left( C(q,\dot{q},\eta,\dot{\eta}) \begin{bmatrix} \dot{q} \\ \dot{\eta} \end{bmatrix} + G(q,\eta) + \begin{bmatrix} 0 \\ K_s \eta + C_s \dot{\eta} \end{bmatrix} \right) \end{bmatrix}. \] We compute the Jacobian of the drift field with respect to the control input vector \(u\). Let \(u_k\) be the \(k\)-th component of the input. \[ \frac{\partial f(x)}{\partial u_k} = \begin{bmatrix} \frac{\partial \dot{q}}{\partial u_k} \\ \frac{\partial \dot{\eta}}{\partial u_k} \\ \frac{\partial \ddot{q}_{\text{drift}}}{\partial u_k} \\ \frac{\partial \ddot{\eta}_{\text{drift}}}{\partial u_k} \end{bmatrix}. \] We proceed by evaluating the gradient of the passive acceleration term. Since the drift acceleration is a composition of state-dependent functions: \[ \frac{\partial a_{\text{drift}}}{\partial u} = \frac{\partial}{\partial u} \left( -M^{-1}(x) \big( h(x) \big) \right). \] Applying the product rule: \[ \frac{\partial a_{\text{drift}}}{\partial u} = - \left( \frac{\partial M^{-1}}{\partial u} \right) h(x) - M^{-1} \left( \frac{\partial h(x)}{\partial u} \right). \] By definition of the mechanical system parameters: 1. Inertia: \(M(q,\eta)\) depends only on configuration, so \(\frac{\partial M}{\partial u} = 0 \implies \frac{\partial M^{-1}}{\partial u} = 0\). 2. Coriolis/Centrifugal: \(C(x)\) depends only on state, so \(\frac{\partial C}{\partial u} = 0\). 3. Potentials: \(g(q)\) and \(K_s \eta\) depend only on configuration, so \(\frac{\partial V}{\partial u} = 0\). 4. Damping: \(F_{dissip}\) depends linearly on velocity, so \(\frac{\partial F_{dissip}}{\partial u} = 0\).
Since none of the constituent terms contain the variable \(u\), the partial derivative vanishes identically: \[ \frac{\partial a_{\text{drift}}}{\partial u} = - (0) \cdot h(x) - M^{-1} \cdot (0) = 0. \] The control input \(u\) appears exclusively in the term \(M^{-1} [B(q)u; 0]^T\). Therefore, the Jacobian of the drift field with respect to the input is the zero matrix: \[\nabla_u f(x) \equiv 0.\] Within this modeling setup, this separation means the “passive” dynamics can be evaluated without direct torque dependence.
Assumption of Viscous-Only Damping
This invariance proof strictly relies on the assumption that all dissipative forces \(h_{\text{dissip}}\) depend only on state \((q, \dot{q})\). Specifically, we assume damping is viscous (linear in velocity). If the system included Coulomb friction (\(\tau_{fric} = \mu F_N \operatorname{sgn}(\dot{q})\)), where the normal force \(F_N\) depends on constraint forces (and thus on input \(u\)), the drift term \(f(x)\) would become input-dependent (\(\nabla_u f \neq 0\)), violating the affine structure. For the high-speed ballistic phases of the golf swing, we assume inertial forces dominate frictional forces (\(F_{\text{inertia}} \gg \mu F_N\)), justifying this viscous-only approximation.
\(\square\)
For mechanical systems with generalized torques entering linearly,
\[\ddot{q} = M^{-1}(q,\eta)\big(\tau - h(q,\dot{q},\eta,\dot{\eta})\big),\]
where \(h(\cdot)\) collects all passive terms, linearity of \(\tau\) ensures that
\[a_{\text{drift}}(x) = -M^{-1}(q,\eta)\,h(q,\dot{q},\eta,\dot{\eta})\]
contains no torque dependence.
\[ f(x) = \begin{bmatrix} \dot{q} \\ a_{\text{drift}}(x) \\ \dot{\eta} \\ [a_{\text{drift}}(x)]_{\text{flex}} \end{bmatrix} \]
is an intrinsic property of the system’s geometry, inertia, shaft deformation, and velocities, but not of the applied torques.
This invariance is what makes ZTCF (Section 8) a well-defined counterfactual: setting \(u=0\) removes the input term entirely, with no hidden torque dependence remaining inside \(f(x)\).
Consequences of Drift Invariance
Drift invariance has three key consequences for the force decomposition.
(1) Passive and active forces are formally separable. The total generalized torque from inverse dynamics satisfies \[ \tau_{\text{total}}(t) = \tau_{\text{drift}}\big(x(t)\big) + \tau_{\text{input}}(t), \] where \(\tau_{\text{drift}}\) is computed by evaluating the passive terms at the actual state. Because \(f(x)\) is input-invariant, \(\tau_{\text{drift}}\) depends only on the state and model parameters, not on the golfer’s actions.
(2) Torque effectiveness can be evaluated cleanly. Comparisons between \[
\tau_{\text{total}}(t),\qquad \tau_{\text{drift}}(t),\qquad \tau_{\mathrm{ZVCF}}(t),\qquad \tau_{\mathrm{input}}(t)
\] are meaningful because the drift component is unaffected by any instantaneous torque adjustment.
This allows ZVCF and ZTCF to serve as consistent baselines.
(3) Parameter changes affect drift, control changes do not. Any modification to: - segment masses or inertias,
shaft stiffness or damping,
kinematic constraints,
anthropometry, changes \(f(x)\).
In contrast, changing the torque profile \(u(t)\) leaves \(f(x)\) unchanged. This separation is the foundation for counterfactual analysis, optimization of torque profiles, and sensitivity studies.
It is crucial to distinguish between invariance to input and invariance to state. The drift field is immune to the former, but defined by the latter.
Velocity Dependence vs. Torque Dependence
Although the drift is independent of torque, it may depend strongly on velocity.
In particular, - Coriolis and centrifugal forces scale with velocity,
shaft damping and flexible-body coupling can depend on \(\dot{\eta}\),
inertial coupling between segments depends on motion history.
Thus, drift invariance means: \[ f(x) \ \text{independent of } u, \qquad \text{but not independent of } \dot{q}, \dot{\eta}. \]
This distinction motivates the role of ZVCF, which isolates the configuration-dependent subset of drift forces by removing all velocity dependence.
While the dynamics (the vector fields \(f(x)\) and \(G(x)\)) are input-invariant, the controller (the golfer) is not omnipotent. The set of available inputs is physically bounded by the architecture of the muscles and joints.
Input Constraints
{#subsec:input_constraints}
The affine structure admits input constraints of the form
\[ u(t) \in \mathcal{U}(x(t)). \tag{10}\]
where \(\mathcal{U}(x)\) may depend on configuration or state. For example: - joint torque limits that vary with posture,
strength reductions near extreme joint angles,
actuation limits from tendon moment arms,
bilateral couplings or coordination constraints.
These constraints do not break the affine structure.
They restrict the admissible inputs but leave \[
f(x) \quad \text{and} \quad G(x)
\] unchanged.
Thus, even with realistic physiological limitations, - the decomposition \(\dot{x} = f(x) + G(x)u\) remains valid,
the torque decomposition \(\tau_{\text{total}} = \tau_{\text{drift}} + \tau_{\text{input}}\) remains valid,
ZTCF and ZVCF remain fully defined,
model-conditioned attributions remain defined within the declared equations.
Interpretational Scope
Drift invariance preserves the declared additive bookkeeping, but does not by itself establish real-world causality. Real neuromuscular systems impose: - activation dynamics,
delays,
coupling between muscle groups,
physiological force limits,
state-dependent strength variations.
These appear in the present framework only through the feasible input set \(\mathcal{U}(x)\). The affine decomposition is agnostic to the internal physiology; it models only the net mechanical torque transmitted to the joints.
Interpretations must therefore remain explicitly mechanical.
Having declared the model, coordinates, inputs, and force partition, we can map each retained term in the equations to a bookkeeping category. The vector fields \(f(x)\) and \(G(x)\) can contain modeled phenomena such as gravity, motion-dependent terms, and net generalized inputs. Those labels are conditional on the chosen equations and do not uniquely identify muscles, intent, or real-world causal origin.
Force and Torque Taxonomy via the Affine Mapping
Having established the control-affine form (Part I), defined the selected decomposition (Part II), and constructed temporal and configurational counterfactuals (Part II), we can synthesize these elements into a Force Taxonomy. The taxonomy records how the declared model assigns retained terms to configuration drift, velocity drift, or input. It is an algebraic bookkeeping device, not a unique reconstruction of anatomical source, human intent, or every physical force acting in a measured swing.
With the drift–input decomposition formalized, we now classify the generalized forces acting within the golfer–club–shaft system. The taxonomy presented here is purely mechanical and applies directly to any control-affine multibody model of the form \[ \dot{x} = f(x) + G(x)u. \] It separates declared model terms into mathematical categories based on their location in the equations rather than their magnitude or timing. Calling these categories causal requires a separately declared intervention and identifiability argument.
This taxonomy applies to: - generalized torques at joints,
internal forces transmitted through the kinetic chain,
shaft reaction forces,
hand forces, whether measured or derived. The categories are defined algebraically and can be computed from simulation or from motion-capture data via inverse dynamics.
The mathematical separation of drift and input forces allows us to label every component of the generalized torque vector according to its physical origin. We are no longer limited to reporting ‘net torque’; we can now decompose that net torque into a sum of distinct mechanical species.
Total Generalized Force
At any time \(t\), inverse dynamics yields the total generalized torque:
\[ \tau_{\text{total}}(t) = \text{ID}\big(x(t),\dot{x}(t)\big). \tag{11}\]
consistent with the equations of motion and the decomposition in Eq.~Equation 3. This total force is the sum of all mechanical contributions and is the unique torque vector that reproduces the observed motion.
We now partition \(\tau_{\text{total}}\) into components.
Category 1: Configuration-Dependent Drift Forces
These are modeled forces present due to configuration alone, independent of velocity and the declared torque input. They are obtained from the instantaneous Zero Velocity Counterfactual (ZVCF) evaluation: \[ x^{\mathrm{ZVCF}} = (q,\, 0,\, \eta,\, 0), \] and are defined as:
\[ \tau_{\mathrm{ZVCF}}(t) = \tau_{\text{config}}\big(q(t),\eta(t)\big). \]
Explicitly, this torque corresponds to the gradient of the potential energy (gravity and elasticity) projected into the joint space: \[ \tau_{\text{config}} = G(q,\eta) + J_{s}^T K_s \eta, \] where \(G(q,\eta)\) is the generalized gravitational vector and \(J_s^T K_s \eta\) represents the projection of shaft elastic forces onto the rigid-body coordinates. These forces include: - gravitational torques,
elastic shaft forces (restoring stiffness),
geometric coupling forces that depend on configuration,
static interaction forces between rigid and flexible components.
They represent the “static loading” the system experiences if momentarily frozen in place at the same posture.
Category 2: Velocity-Dependent Drift Forces
These are passive forces that depend on velocities but not on applied torques. Subtracting the ZVCF torque from the full drift torque gives:
\[ \tau_{\mathrm{vel.\,drift}}(t) = \tau_{\text{drift}}(t) - \tau_{\mathrm{ZVCF}}(t). \tag{12}\]
Analytically, this term isolates the velocity-dependent nonlinearities: \[ \tau_{\mathrm{vel.\,drift}} = C(q,\dot{q},\eta,\dot{\eta}) \dot{q}_{\text{sys}} + \text{Damping Terms}. \] Velocity-dependent drift forces include: - Coriolis and centrifugal forces,
inertial coupling terms induced by multi-segment motion,
geometric stiffness (centrifugal stiffening) forces, which act as a velocity-dependent restoration term,
shaft damping forces proportional to \(\dot{\eta}\),
any passive joint damping.
These forces can be large—often dominant—in fast regions of the swing (e.g., late downswing).
Note on State History
Terms classified as drift have no direct dependence on the instantaneous declared input \(u(t)\), but the current state generally depends on prior inputs and disturbances. The decomposition alone does not identify which past input, effort, or external event produced that state.
Category 3: Input (Torque-Driven) Forces
These terms are assigned to the model’s declared generalized-torque input and are defined by:
\[ \tau_{\mathrm{input}}(t) = \tau_{\text{total}}(t) - \tau_{\text{drift}}(t). \tag{13}\]
Here, \(\tau_{\text{drift}}\) is the passive drift torque evaluated along the actual trajectory, using the same \(x(t)\) as the total torque:
\[ \tau_{\text{drift}}(t) = M_q(q,\eta)\,[a_{\text{drift}}(x(t))]_{1:n}. \]
By construction, \(\tau_{\mathrm{input}}\) contains the mechanical effect of applied torques and nothing else. It is the only category that changes when the golfer changes their motor command.
Category 4: Mixed Forces (Interaction Effects)
Although drift and input contributions add linearly in the equations of motion, \[ \tau_{\text{total}} = \tau_{\text{drift}} + \tau_{\text{input}}, \] the external hand forces and internal forces observed along the chain may reflect nonlinear interactions between torque-driven accelerations and drift-induced accelerations. These are best understood by examining: - the ZTCF trajectory (removing input entirely),
the ZVCF evaluation (removing velocity-dependent drift),
the difference between ZTCF and ZVCF forces,
how hand forces change relative to these baselines.
We define:
\[ \tau_{\mathrm{mixed}}(t) = \tau_{\text{total}}(t) - \tau_{\mathrm{ZTCF}}(t) - \tau_{\mathrm{ZVCF}}(t). \tag{14}\]
understanding that this term does not represent a new physical force, but a nonlinear structural interaction within the model. It serves as a diagnostic metric for the “coupling gain”—a measure of how the input torque, by altering the system’s trajectory, has indirectly shifted the drift landscape compared to the passive baseline.
Taxonomy Summary
Table 2 summarizes the categories.
| Category | Definition (Eq.) | Physical Origin |
|---|---|---|
| Total Force | \(\tau_{\text{total}} = \text{ID}(q,\dot{q},\ddot{q})\) | Net force required to produce the observed motion. |
| Config. Drift | \(\tau_{\text{config}} = g(q) + J_s^T K_s \eta\) | Passive forces due to shape (gravity, elasticity). |
| Velocity Drift | \(\tau_{\text{vel}} = \tau_{\text{drift}} - \tau_{\text{config}}\) | Passive forces due to motion (Coriolis, damping). |
| Input Force | \(\tau_{\text{input}} = \tau_{\text{total}} - \tau_{\text{drift}}\) | Forces directly caused by active joint torque \(u\). |
Interpretation and Practical Use
The taxonomy provides a framework for interpreting joint torques, hand forces, or shaft loads in practice: - Comparing \(\tau_{\text{total}}\) to \(\tau_{\mathrm{drift}}\) reveals how much of the motion is mechanically self-propelled.
Comparing \(\tau_{\mathrm{drift}}\) to \(\tau_{\mathrm{ZVCF}}\) quantifies inertial loading.
Comparing \(\tau_{\mathrm{input}}\) to \(\tau_{\mathrm{ZTCF}}\) reveals torque effectiveness.
The interaction term \(\tau_{\mathrm{mixed}}\) helps diagnose when torque amplifies or attenuates passive dynamics.
In simulation (Parts II and III of this project), these categories enable: - decomposition of power flow,
isolation of passive shaft recoil,
identification of torque timing patterns,
mapping of how individual torque bursts shape the club path.
This taxonomy completes the theoretical framework required to interpret forces and torques in the golf swing using control-affine decomposition.
This taxonomy completes the theoretical framework by providing a model-conditioned bookkeeping map from declared force terms to selected mathematical categories. It does not turn observed forces into a unique map of real-world causes: different force partitions, coordinates, parameters, constraints, and unobserved inputs can be compatible with the same motion or net wrench. The algebra is exact only for the declared equations and partition. Its application to a golfer remains limited by Section 4, measurement uncertainty, and identifiability.
Limitations (Theoretical Scope)
The framework provides a mathematically rigorous decomposition of a declared nonlinear control-affine model. Its algebra is exact for the chosen equations, but interpretation is bounded by the following theoretical and identification limitations.
Model-Form Limitations
Rigid-Body Anatomical Representation.
All anatomical segments of the golfer (torso, arms, hands) are modeled as rigid bodies with fixed inertial properties. Compliance in soft tissue, joint capsules, musculotendinous structures, and skin-mounted marker dynamics are excluded. While grip compliance acts as a low-pass filter on input transmission, it does not break the affine structure of the equations of motion on the handle side. However, assuming rigidity likely overestimates the control authority at high frequencies.
Finite-Dimensional Shaft Model.
The shaft is represented using a truncated set of bending modes. Modal truncation introduces approximation error, particularly during high-frequency events (late downswing, impact). Although the affine structure is preserved, the magnitude and timing of drift forces may shift with a more complete flexible-body representation.
No Aerodynamic or Contact Modeling.
Air resistance on the clubhead and shaft, ground–body compliance, and ball–club impact forces are excluded. Since these forces do not enter linearly in torque, adding them would require additional modeling choices and affect the passive drift term.
Holonomic Base Constraint.
The feet are assumed to be rigidly fixed to the ground. In reality, golfers produce substantial torques through foot pressure modulation, shear forces, and center-of-pressure shifts. These are outside the scope of the current model and will be addressed in subsequent work.
Input-Dependent Boundary Conditions (Grip Impedance).
Theoretically, variable grip stiffness would make the mass matrix input-dependent (\(M(u)\)). We adopt the Constant Impedance Assumption, treating the grip as a fixed mechanical constraint that defines the ‘Effective Plant’.
Coulomb Friction and Input-Dependent Resistance.
The affine decomposition \(\dot{x} = f(x) + G(x)u\) assumes that all dissipative forces are viscous (state-dependent). If significant Coulomb friction \(\tau_{fric} = \mu F_N \operatorname{sgn}(\dot{q})\) is present, and if the normal force \(F_N\) depends on input torque \(u\) (via constraint forces), the drift term \(f(x)\) becomes input-dependent. We assume that for high-speed ballistic motions like the golf swing, inertial forces dominate frictional forces (\(F_{\text{inertia}} \gg \mu F_N\)), justifying the viscous-only approximation.
The Stiffness Pulse Paradox (Time-Varying Impedance).
The “Effective Plant” defense assumes that impedance parameters (\(K, D\)) are constant for the duration of the counterfactual analysis to preserve Drift Invariance. However, mechanisms such as “Intentional Constraint Collapse” imply a rapid “Stiffness Pulse” (high \(\dot{K}\)) near impact. Because this pulse is timing-dependent and correlated with the input strategy, the drift field \(f(x)\) becomes effectively time-varying and input-correlated during this transient phase. The ZTCF in this regime must be interpreted as a parametric counterfactual (preserving the impedance schedule) rather than a purely passive one.
Physiological Limitations
Closed-Chain Indeterminacy.
The golfer-club system (specifically the two-handed grip) forms a closed kinematic chain. In such topologies, the mapping from joint torques to generalized motion is not unique due to the existence of a null space (e.g., antagonistic co-contraction or internal forces between the arms). Inverse dynamics recovers only the net motion-producing torque. Internal forces that do not produce motion are mechanically real and metabolically costly but are invisible to this decomposition. Thus, \(\tau_{\text{input}}\) represents the net effective torque, likely underestimating the total magnitude of muscle force.
Torques as Abstract Control Inputs.
The model uses joint torque inputs \(u(t)\) as the control channels. This abstracts away: - muscle activation dynamics,
force–velocity and force–length effects,
neural delays,
muscle coordination constraints. Thus, the decomposition is strictly mechanical: it attributes forces to torques, not to muscular effort or neural intent.
State-Dependent Torque Limits.
The feasible set of torques \(\mathcal{U}(x)\) may depend on configuration, strength, fatigue, or coordination. These constraints do not break the affine structure but do restrict the set of realizable torque profiles. Interpretations must therefore distinguish between “mechanically possible” and “physiologically plausible.”
Data and Parameter Limitations
Parameter Identification and Causality.
When stiffness or damping parameters are identified from active motion, they may capture task-conditioned effective impedance such as co-contraction. The drift term then represents that identified effective plant. The ZTCF is a frozen-parameter baseline: it holds those parameters fixed while setting the declared torque input to zero. It does not simulate a flaccid collapse or prove that plant and input are physiologically independent.
Defense: The Effective Plant Fallacy
Critics argue that an “Effective Plant” that depends on the task renders the baseline tautological (“The plant is what the plant does”). We defend this by acknowledging that the ZTCF represents “Impedance-Conditioned Drift”. While a truly passive (cadaveric) baseline exists in theory, it is biologically inaccessible during high-speed motion. The “Effective Plant” baseline is the only relevant counterfactual for analyzing control around the intended trajectory.
Exact Parameter Knowledge.
The decomposition assumes perfect knowledge of: - segment masses and inertias,
joint axes and kinematics,
shaft stiffness and damping parameters. Real data introduces parameter uncertainty, which propagates into drift and input estimates. In practice, parameter sensitivity analysis is required for empirical interpretation.
Residual Nature of Input Estimation.
Because \(\tau_{\text{input}}\) is calculated as a residual (\(\tau_{\text{total}} - \tau_{\text{drift}}\)), it absorbs all unmodeled external forces (e.g., aerodynamics) and measurement errors. For example, unmodeled aerodynamic drag will reduce the observed acceleration, causing inverse dynamics to compute a lower total torque; the decomposition will attribute this deceleration to a negative “braking” input by the golfer. Thus, \(\tau_{\text{input}}\) should be interpreted as the “Net Non-Conservative Forcing” rather than pure muscular torque in the presence of significant modeling errors.
Noise-Free Kinematics and Differentiability.
Inverse dynamics requires accurate positions, velocities, and accelerations. Marker noise, filtering choices, and numerical differentiation introduce error that may distort the partition of drift and input torques.
High-Speed Phases of Motion.
During rapid transitions (late downswing), small errors in acceleration estimation can produce disproportionately large drift torques. These phases require careful filtering and high-frame-rate motion capture.
Conceptual Limitations
Interpretation of Counterfactuals.
ZTCF trajectories and ZVCF evaluations are mathematically defined but physically unrealizable diagnostics. They answer precise mechanical questions but should not be interpreted as physiological or behavioral alternatives available to a real golfer.
Equation-Level Attribution vs. Physiological Causality.
Reflex loops can make the realized input \(u\) depend on state \(x\) without changing the algebraic form of a torque-level model. AffineDrift attributes terms in that declared model; it does not identify why the nervous system selected a torque or which actuator generated it. The ZTCF asks what the same declared plant predicts under a zero-input intervention. Physiological causality requires a richer model, qualifying measurements, and an identifiability argument.
Ambiguity of “Braking” (Impedance vs. Drive) – Teleological Blindness.
The decomposition identifies the net torque vector \(\tau_{\text{input}}\) but is structurally blind to the intent behind it. Specifically, it cannot distinguish between torque applied to accelerate the system (work) and co-contraction torque applied to increase stiffness (stability) if the latter results in a net bias. A negative or “braking” input \(\tau_{\text{input}}\) may represent a functional strategy to stabilize the clubhead against impact disturbances rather than an inefficient opposition to the swing’s momentum.
Defense: The Efficiency Fallacy
We explicitly warn against the Efficiency Fallacy—the assumption that all “braking” torque is error. “Fighting the drift” should be interpreted neutrally as “modulating the drift,” a process that may serve robustness (minimizing variance) rather than speed. The framework diagnoses the mechanical cost of control, not the tactical utility of that cost.
No Claims About Optimality or Intent.
The decomposition quantifies how torques shape motion, but it does not imply: - how golfers choose torque policies,
whether they “should” apply different torques,
anything about coaching cues, training goals, or intent. Those require empirical studies (Parts II and III).
Linearity in Torque Does Not Imply Linearity in Outcomes.
Although torque enters linearly in the equations of motion, its effect on the motion is highly nonlinear due to state-dependent inertia and coupling. Therefore, the taxonomy partitions forces cleanly but cannot be interpreted as a “simple additive explanation” of the swing’s motion.
Scope of Applicability
Within these assumptions, the decomposition \[ \tau_{\text{total}}(t) = \tau_{\text{drift}}\big(x(t)\big) + \tau_{\text{input}}(t) \] is exact for the model and provides a well-defined mechanical basis for analyzing forces in the golf swing. Outside this scope, interpretations must be made with explicit reference to model fidelity, parameter uncertainty, and empirical validation.
Conclusion and Future Directions
This manuscript developed a theoretical framework for decomposing the forces of the golf swing within a nonlinear control-affine mechanical model. By formulating the golfer–club–shaft system as \[ \dot{x} = f(x) + G(x)u, \] we derived a clean separation between passive drift forces and torque-driven input forces. The model’s affine structure enabled two mathematically rigorous counterfactual tools—the Zero Torque Counterfactual (ZTCF) and the Zero Velocity Counterfactual (ZVCF)—which isolate the contributions of inertia, configuration, shaft deformation, and applied torques.
The resulting taxonomy (Section 12) classifies generalized forces into configuration drift, velocity drift, input forces, and nonlinear interaction effects. This provides a principled basis for interpreting torques and hand forces at any instant of the swing. Within the modeling assumptions stated in Section 4, the decomposition is analytically exact and reproducible. It offers a mechanical explanation of how the swing evolves over time, distinguishing forces that arise “on their own” from those produced directly by applied torques.
This paper is intentionally limited to theory. No simulation data, parameter estimation, or empirical results have been presented. These will appear in subsequent phases of the project:
Part II: Simulation and Numerical Implementation.
This follow-up manuscript will implement the full drift–input decomposition in a high-fidelity multibody simulation environment, including flexible-shaft modeling, inverse dynamics pipelines, ZTCF trajectory integration, and numerical evaluation of the force taxonomy. It will also study sensitivity to parameter uncertainty and filtering choices for motion derivatives.Part III: Experimental and Coaching Applications.
The third manuscript will apply the theoretical tools to real motion-capture data. It will quantify drift and input forces in measured swings, examine player-to-player variability, evaluate torque-timing strategies, and identify mechanical signatures associated with clubhead delivery. Practical implications for coaching and equipment design will be evaluated in the context of the “Application of Research” section required by the journal.
Beyond these immediate goals, several broader research directions emerge:
Modeling extensions.
Incorporating foot-ground shear forces, aerodynamic loading, and non-smooth impact dynamics will generalize the framework to capture more phases of the swing.Physiological modeling.
Embedding simplified muscle activation dynamics or state-dependent torque limits into the control space \(\mathcal{U}(x)\) may bridge the gap between mechanical torques and neuromuscular effort.Optimization and control.
The affine structure lends itself to optimal control formulations aimed at identifying torque policies that reproduce desired trajectories or optimize clubhead delivery metrics.Data-driven extensions.
The drift–input decomposition may support machine-learning models that predict declared torque-channel accelerations. Inferring biological effort would require independent labels, physiological measurements, and identifiability validation.Generalization to other athletic motions.
The same decomposition applies directly to pitching, striking, kicking, and other ballistic sporting movements where passive and torque-driven dynamics interact through coupled multibody systems.
In summary, this manuscript establishes the mathematical foundation for model-conditioned mechanical attribution. The drift–input decomposition, ZTCF and ZVCF interventions, and force taxonomy provide a reproducible framework for analyzing how declared torque inputs enter a compliant multibody model. Subsequent simulation and experimental work must establish parameter validity, uncertainty, and any stronger causal interpretation.
Application of Research
The framework provides a mechanical bookkeeping method for a declared golf-swing model. It separates autonomous equation terms from a declared generalized-torque input term. It does not, without further validation, determine what forces a golfer’s muscles must create, why a player moved, or which pattern is more efficient.
For future validated applications, the decomposition frames several testable questions: - When is modeled drift acceleration large? A simulation can compare the autonomous and declared-input acceleration terms at specified states, coordinates, and parameters.
Where does the declared torque channel have mechanical authority? Reachability and sensitivity analyses can identify phases where bounded torque inputs strongly change a selected output.
How do input and drift align? A declared metric or projection can show whether the two modeled terms align or oppose; efficiency and biological cost require separate definitions.
For equipment professionals, the framework provides a mechanically grounded way to analyze how shaft stiffness, club mass distribution, and player-specific kinematics interact. The drift–input decomposition allows shaft behavior and player torque strategies to be examined independently, improving the matching process between golfers and equipment.
For researchers, the approach offers a reproducible method for evaluating model-conditioned torque-channel effects and testing whether those attributions remain stable under parameter and measurement uncertainty.
Overall, the framework supplies hypotheses for simulation and measurement studies. Coaching, equipment-fitting, or player-development claims remain outside its present validation envelope.
Appendices: Mathematical Derivations
This appendix provides detailed derivations supporting the unified control-affine formulation presented in Section 6. The goal is to show explicitly how the coupled rigid–flexible dynamics produce the affine decomposition \[ \dot{x} = f(x) + G(x)u \] and to document all assumptions required for the formulation.
A.1 Coupled Rigid–Flexible Equations of Motion
We partition the generalized coordinates into \[ q \in \mathbb{R}^{n}, \qquad \eta \in \mathbb{R}^{m}, \] where \(q\) describes the rigid-body degrees of freedom and \(\eta\) contains the modal coordinates of the flexible shaft.
Let
\[
v = \begin{bmatrix} \dot{q} \\ \dot{\eta} \end{bmatrix}
\] denote the generalized velocity.
The equations of motion for the coupled system may be written in compact form:
\[ M(q,\eta)\,\dot{v} + C(q,\dot{q},\eta,\dot{\eta})\,v + g(q) + F_{s}(\eta,\dot{\eta}) = \begin{bmatrix} \tau \\[0.2em] 0 \end{bmatrix}. \tag{15}\]
where: - \(M(q,\eta)\) is the full inertia matrix of the rigid–flexible system,
\(C(q,\dot{q},\eta,\dot{\eta})\) contains Coriolis and centrifugal terms,
\(g(q)\) contains gravitational torques acting on the rigid-body DOFs,
\(F_{s}(\eta,\dot{\eta}) = \begin{bmatrix} 0 \\ K_s \eta + C_s \dot{\eta} \end{bmatrix}\) contains shaft restoring and damping forces,
\(\tau = B(q)\,u\) is the generalized torque vector induced by the input \(u\).
The flexible DOFs have no direct torque inputs.
A.2 Block Structure of the Inertia and Coriolis Matrices
The inertia matrix has the block form \[ M(q,\eta) = \begin{bmatrix} M_{rr}(q,\eta) & M_{rf}(q,\eta) \\ M_{fr}(q,\eta) & M_{ff}(q,\eta) \end{bmatrix}, \] where: - \(M_{rr}\) is the rigid-body inertia matrix,
\(M_{ff}\) is the modal inertia matrix for the flexible shaft,
\(M_{rf}\) and \(M_{fr}\) represent rigid–flexible coupling.
Similarly, the Coriolis matrix has the block structure: \[
C(q,\dot{q},\eta,\dot{\eta})
=
\begin{bmatrix}
C_{rr} & C_{rf} \\
C_{fr} & C_{ff}
\end{bmatrix},
\] with the usual property that
\[
\dot{M} - 2C \quad \text{is skew-symmetric}.
\]
These blocks arise from standard manipulator equations extended to include flexible-body contributions.
A.3 Solving for Accelerations
Writing \(\dot{v} = [\ddot{q}^{T}, \ddot{\eta}^{T}]^{T}\), equation~Equation 15 becomes:
\[ M \begin{bmatrix} \ddot{q} \\ \ddot{\eta} \end{bmatrix} = - C \begin{bmatrix} \dot{q} \\ \dot{\eta} \end{bmatrix} - g(q) - F_s(\eta,\dot{\eta}) + \begin{bmatrix} B(q)\,u \\ 0 \end{bmatrix}. \tag{16}\]
Assuming \(M\) is invertible (true for all admissible configurations of a well-defined multibody system), we solve for the generalized accelerations:
\[ \begin{bmatrix} \ddot{q} \\ \ddot{\eta} \end{bmatrix} = - M^{-1} \left( C\,v + g + F_{s} \right) + M^{-1} \begin{bmatrix} B(q)\,u \\ 0 \end{bmatrix}. \tag{17}\]
A.4 Drift Acceleration
We define the drift acceleration as
\[ a_{\mathrm{drift}}(x) = -M^{-1}(q,\eta) \left( C(q,\dot{q},\eta,\dot{\eta})\,v + g(q) + F_{s}(\eta,\dot{\eta}) \right). \tag{18}\]
All passive mechanical terms are explicitly included: - inertia coupling,
Coriolis and centripetal terms,
gravity,
elastic and damping forces from shaft deformation.
Importantly, \[ a_{\mathrm{drift}}(x) \quad \text{is independent of } u. \]
This constitutes the drift invariance property formalized in Section 10.
A.5 Explicit Block Matrix Inversion (Schur Complement)
The input-driven acceleration is defined by the action of the inverse inertia matrix on the input torque vector. To show explicitly how joint torques produce flexible mode accelerations, we perform a block inversion of the partitioned mass matrix \(M\).
Let \(H = M^{-1}\) be the mobility matrix. Given the block structure: \[ M = \begin{bmatrix} M_{rr} & M_{rf} \\ M_{fr} & M_{ff} \end{bmatrix}, \] we require the corresponding blocks of \(H\): \[ H = \begin{bmatrix} H_{rr} & H_{rf} \\ H_{fr} & H_{ff} \end{bmatrix}. \] Using the Schur Complement of the flexible inertia block, \(\Delta = M_{rr} - M_{rf} M_{ff}^{-1} M_{fr}\), the block inversion lemma yields:
Rigid-body effective mobility (\(H_{rr}\)): \[ H_{rr} = \Delta^{-1} = (M_{rr} - M_{rf} M_{ff}^{-1} M_{fr})^{-1}. \] This term represents the inverse inertia seen at the joints, modified by the “reflected mass” of the flexible shaft.
Cross-mobility (\(H_{fr}\)): \[ H_{fr} = -M_{ff}^{-1} M_{fr} H_{rr}. \] This term is the crucial transmission gain that maps joint torques to flexible mode accelerations. It explicitly depends on the inertial coupling term \(M_{fr}\).
The input-driven acceleration is then: \[ \begin{bmatrix} \ddot{q} \\ \ddot{\eta} \end{bmatrix}_{\text{input}} = \begin{bmatrix} H_{rr} & H_{rf} \\ H_{fr} & H_{ff} \end{bmatrix} \begin{bmatrix} B(q)u \\ 0 \end{bmatrix} = \begin{bmatrix} H_{rr} B(q) u \\ H_{fr} B(q) u \end{bmatrix}. \]
This result rigorously justifies the form of the input field \(G(x)\): \[ G(x) = \begin{bmatrix} 0 \\ 0 \\ H_{rr} B(q) \\ H_{fr} B(q) \end{bmatrix}. \] It shows that flexible mode acceleration (\(\ddot{\eta} \propto H_{fr} B(q) u\)) is physically caused by the torque input \(u\), but mediated by the inertial coupling \(M_{fr}\). If the system were decoupled (\(M_{fr} = 0\)), then \(H_{fr} = 0\), and joint torque would not excite the shaft modes.
The input matrix is:
\[ A_{\mathrm{input}}(x) = \begin{bmatrix} H_{rr} B(q) \\ H_{fr} B(q) \end{bmatrix}. \tag{19}\]
Linearity of the torque input is preserved even in the presence of: - flexible-body modes,
rigid–flexible coupling,
configuration-dependent \(B(q)\),
velocity-dependent \(C\) terms.
A.6 First-Order State-Space (Affine) Form
Define the full state \[ x = \begin{bmatrix} q \\ \dot{q} \\ \eta \\ \dot{\eta} \end{bmatrix}. \]
The first-order dynamics follow directly from the definitions: \[ \dot{x} = \begin{bmatrix} \dot{q} \\ \ddot{q} \\ \dot{\eta} \\ \ddot{\eta} \end{bmatrix} = f(x) + G(x)u, \] with
\[ f(x) = \begin{bmatrix} \dot{q} \\[0.2em] \left[a_{\mathrm{drift}}(x)\right]_{1:n} \\[0.2em] \dot{\eta} \\[0.2em] \left[a_{\mathrm{drift}}(x)\right]_{n+1:n+m} \end{bmatrix}, \]
\[ G(x) = \begin{bmatrix} 0 \\[0.2em] \left[A_{\mathrm{input}}(x)\right]_{1:n,:} \\[0.2em] 0 \\[0.2em] \left[A_{\mathrm{input}}(x)\right]_{n+1:n+m,:} \end{bmatrix}. \]
This establishes the nonlinear control-affine structure used throughout the manuscript.
A.7 Notes on Coordinate Choices
The derivations above are independent of the coordinate representation used for the rigid-body DOFs, provided: - the coordinates are minimal and smooth, or
- redundant coordinates are supplemented with constraint forces.
The formulation is consistent with: - Denavit–Hartenberg (DH) joint coordinates,
spatial vector formulations,
exponential coordinates for rigid-body motion,
Euler angles (with appropriate domain restrictions),
quaternion-based internal representations (converted to minimal coordinates for dynamics).
The drift and input mappings depend only on the mechanical structure and remain unchanged by a different choice of coordinates or frames.
A.8 Summary
The derivations in this appendix demonstrate explicitly that: - the golfer–club–shaft system admits a nonlinear control-affine representation,
drift forces arise solely from passive dynamics,
input forces arise solely from the torque inputs,
all rigid–flexible coupling remains in the drift term,
counterfactual constructions (ZTCF and ZVCF) follow naturally from the structure.
This provides the mathematical backbone for the force decomposition and torque taxonomy developed in the main text.
Modal Approximation for the Flexible Shaft
This appendix details the finite-dimensional modal approximation used to model shaft deformation in the unified rigid–flexible dynamics of the golfer–club system. The goal is to show how a continuous beam model reduces to the generalized modal coordinates \(\eta \in \mathbb{R}^{m}\) used in Section 6, and why this representation preserves the linearity of the torque input in the final control-affine form.
B.1 Continuous Beam Model
The golf shaft is modeled as a uniform Euler–Bernoulli beam of length \(L\), with transverse displacement field \[ w(s,t), \qquad s \in [0,L], \] where \(s\) is the arc-length coordinate from the butt (grip) end. For small deflections, the beam equation is
\[ \rho A \,\frac{\partial^2 w}{\partial t^2} + c_b \frac{\partial w}{\partial t} + EI \,\frac{\partial^4 w}{\partial s^4} = f_{\mathrm{base}}(s,t). \tag{20}\]
where: - \(\rho A\) is the linear mass density,
\(c_b\) is distributed damping,
\(E I\) is the bending rigidity,
\(f_{\mathrm{base}}(s,t)\) contains forces transmitted from the handle motion.
Boundary conditions depend on grip modeling. We assume: \[ w(0,t) = 0, \qquad w_s(0,t) = 0, \] for a clamped handle, and free-tip conditions at \(s=L\): \[ EI\,w_{ss}(L,t) = 0, \qquad EI\,w_{sss}(L,t) = 0. \]
These constraints define the mode shapes used in the modal expansion.
B.2 Modal Expansion
The transverse displacement is approximated using a finite set of vibration modes:
\[ w(s,t) \approx \sum_{i=1}^{m} \phi_i(s)\,\eta_i(t). \tag{21}\]
where: - \(\phi_i(s)\) are the eigenfunctions of the beam operator with the boundary conditions above,
\(\eta_i(t)\) are the modal amplitudes,
\(m\) is the number of modes retained.
The mode shapes satisfy the (fourth-order) eigenvalue problem obtained from the Euler–Bernoulli beam PDE above: \[ EI \,\phi_i'''' = \omega_i^2 \rho A \,\phi_i, \] with orthogonality relations \[ \int_0^L \rho A \,\phi_i(s)\,\phi_j(s)\,ds = \delta_{ij}. \]
Substituting~Equation 21 into the beam equation and projecting onto each \(\phi_i\) yields the modal equations of motion.
B.3 Modal Equations of Motion
The projected dynamics have the form:
\[ \ddot{\eta}_i + 2\,\zeta_i \omega_i\,\dot{\eta}_i + \omega_i^2 \eta_i = Q_i(q,\dot{q}). \tag{22}\]
for \(i = 1,\dots,m\), where: - \(\omega_i\) is the natural frequency of mode \(i\),
\(\zeta_i\) is the modal damping ratio (derived from \(c_b\)),
\(Q_i(q,\dot{q})\) are generalized modal forces induced by handle motion.
Collecting terms, \[ \ddot{\eta} + C_s \dot{\eta} + K_s \eta = Q(q,\dot{q}), \] where: \[ K_s = \mathrm{diag}(\omega_1^2,\dots,\omega_m^2),\qquad C_s = \mathrm{diag}(2\zeta_1\omega_1,\dots,2\zeta_m\omega_m). \]
These matrices match those used in Section 6, where the shaft forces enter the drift term.
B.4 Rigid–Flexible Coupling
Motion of the hands introduces base excitation into the beam. If \(r_h(q)\) denotes the handle position, the kinematic constraint yields: \[ w(0,t) = r_h(q(t)) \quad \Rightarrow \quad f_{\mathrm{base}}(s,t) \propto \ddot{r}_h(q,\dot{q},\ddot{q}). \]
Projected modal forcings then take the form: \[ Q(q,\dot{q}) = - M_{fr}(q,\eta)\,\ddot{q} - C_{fr}(q,\dot{q},\eta,\dot{\eta})\,\dot{q} - \cdots, \] matching the coupling seen in the full equations of motion.
Critically: \[ Q(q,\dot{q}) \quad \text{contains no direct dependence on } u. \]
All torque influence on the shaft is mediated through rigid-body acceleration.
B.5 Preservation of Linear Torque Input
From the full equations of motion: \[ M(q,\eta)\,\ddot{v} + C(q,\dot{q},\eta,\dot{\eta})\,v + g(q) + F_s(\eta,\dot{\eta}) = \begin{bmatrix} B(q)u \\ 0 \end{bmatrix}, \] the modal forces enter entirely through the drift term: \[ F_s(\eta,\dot{\eta}) = \begin{bmatrix} 0 \\ K_s \eta + C_s \dot{\eta} \end{bmatrix}. \]
Because \(u\) appears only in the block \(B(q)u\) associated with rigid-body torques: \[ u \mapsto \ddot{\eta} \quad \text{is filtered through} \quad \ddot{q}. \]
Hence: \[ **The modal representation does not create any nonlinear torque dependence.** \]
All flexible-body dynamics remain embedded in the drift vector field \(f(x)\).
B.6 Influence of Mode Truncation
Using \(m < \infty\) modes introduces model reduction error: - High-frequency shaft vibration is omitted.
Tip deflection accuracy depends on \(m\).
Stiffness estimates become approximate near impact.
However, the structure of the drift–input decomposition is preserved for any \(m\).
Increasing \(m\) simply increases the dimension of the drift term, never the form of the input term.
B.7 Summary
The modal shaft model presented here: - originates from a continuous beam,
reduces to a finite-dimensional ODE system via orthogonal mode projection,
produces stiffness and damping forces that appear only in the drift,
preserves the linearity of torque input,
maintains the control-affine structure central to the force and torque taxonomy.
This makes the modal approximation both computationally efficient and theoretically compatible with the full decomposition presented in the main text.
Pendulum Examples: Rigid and Flexible, 2D and 3D
This appendix presents simplified pendulum-based examples that illustrate the control-affine structure and the superposition of drift and input forces in explicit form. We treat: - a planar (2D) pendulum with and without a flexible shaft, and
- a spatial (3D) pendulum with and without a flexible shaft. In each case, we show that the equations of motion can be written as \[ \dot{x} = f(x) + G(x)u, \] with all flexible-shaft contributions confined to the drift term, preserving linearity in the torque input \(u\).
C.1 Planar Rigid Pendulum With Torque Input
Consider a simple planar pendulum of length \(L\) and mass \(m\), pivoted at the origin and moving in the vertical plane. Let \(\theta\) be the angle from the downward vertical, positive counterclockwise. A torque input \(u\) is applied at the pivot.
The kinetic and potential energy are: \[ T = \frac{1}{2} m L^2 \dot{\theta}^2, \qquad V = m g L (1 - \cos\theta), \] and the Lagrangian is \(\mathcal{L} = T - V\).
The Euler–Lagrange equation with generalized torque \(u\) is:
\[ \frac{d}{dt}\left( \frac{\partial \mathcal{L}}{\partial \dot{\theta}} \right) - \frac{\partial \mathcal{L}}{\partial \theta} = u. \]
This yields:
\[ m L^2 \ddot{\theta} + m g L \sin\theta = u. \tag{23}\]
Defining the state \(x = [\theta, \dot{\theta}]^T\), we obtain the first-order system:
\[ \dot{x} = \begin{bmatrix} \dot{\theta} \\ -\frac{g}{L} \sin\theta \end{bmatrix} + \begin{bmatrix} 0 \\ \frac{1}{m L^2} \end{bmatrix} u. \]
Thus, \[ f(x) = \begin{bmatrix} \dot{\theta} \\ -\frac{g}{L} \sin\theta \end{bmatrix}, \qquad G(x) = \begin{bmatrix} 0 \\ \frac{1}{m L^2} \end{bmatrix}, \] and the system is clearly control-affine.
Superposition of drift and input.
For any two inputs \(u_1,u_2\) and associated accelerations \(\ddot{\theta}_1, \ddot{\theta}_2\) solving~Equation 23, we have: \[
\ddot{\theta}_i
=
-\frac{g}{L}\sin\theta
+
\frac{1}{mL^2}u_i, \quad i=1,2.
\] Then for a convex combination \(u_\lambda = \lambda u_1 + (1-\lambda)u_2\), \[
\ddot{\theta}_\lambda
=
-\frac{g}{L}\sin\theta
+
\frac{1}{mL^2}u_\lambda
=
\lambda \ddot{\theta}_1 + (1-\lambda)\ddot{\theta}_2,
\] so the torque contribution superposes linearly on top of the same drift term. This is the simplest explicit instance of the structure used in the main manuscript.
C.2 Planar Pendulum With Flexible Shaft (Single Bending Mode)
We now attach a single bending mode to the pendulum to emulate a flexible shaft aligned with the pendulum rod. Let \(\eta\) be the modal coordinate representing transverse deflection of the shaft relative to the rigid rod.
We model the shaft deformation as a linear oscillator attached at the end of the rigid pendulum:
\[ \ddot{\eta} + 2\zeta\omega \dot{\eta} + \omega^2 \eta = -\alpha \ddot{\theta}. \tag{24}\]
where: - \(\omega\) is the natural frequency of the mode,
\(\zeta\) is its damping ratio,
\(\alpha\) scales how base rotation \(\ddot{\theta}\) drives shaft bending.
The augmented kinetic and potential energy can be written as
\[ \begin{align} T &= \frac{1}{2} I_{\mathrm{eff}}(\eta)\,\dot{\theta}^2 + \frac{1}{2} m_\eta \dot{\eta}^2 + \text{(coupling terms)},\\ V &= m g L_{\mathrm{eff}}(\eta) (1 - \cos\theta) + \frac{1}{2} k_\eta \eta^2, \end{align} \]
where \(I_{\mathrm{eff}}\) and \(L_{\mathrm{eff}}\) capture the effect of shaft deformation on the effective inertia and center of mass. The exact forms are not required to demonstrate linearity in \(u\).
The resulting equations of motion can be written schematically as:
\[ M(\theta,\eta) \begin{bmatrix} \ddot{\theta} \\[0.2em] \ddot{\eta} \end{bmatrix} + C(\theta,\dot{\theta},\eta,\dot{\eta}) \begin{bmatrix} \dot{\theta} \\[0.2em] \dot{\eta} \end{bmatrix} + G(\theta,\eta) + \begin{bmatrix} 0 \\[0.2em] k_\eta \eta + c_\eta \dot{\eta} \end{bmatrix} = \begin{bmatrix} u \\[0.2em] 0 \end{bmatrix}. \tag{25}\]
where \(k_\eta\) and \(c_\eta\) are the modal stiffness and damping derived from \(\omega,\zeta\), and all coupling terms have been absorbed into the matrices \(M,C,G\).
Solving for accelerations:
\[ \begin{bmatrix} \ddot{\theta} \\[0.2em] \ddot{\eta} \end{bmatrix} = -M^{-1} \left( C \begin{bmatrix} \dot{\theta} \\ \dot{\eta} \end{bmatrix} + G + \begin{bmatrix} 0 \\ k_\eta \eta + c_\eta \dot{\eta} \end{bmatrix} \right) + M^{-1} \begin{bmatrix} 1 \\ 0 \end{bmatrix} u. \tag{26}\]
Defining \[ a_{\mathrm{drift}}(x) = -M^{-1} \left( C \begin{bmatrix} \dot{\theta} \\ \dot{\eta} \end{bmatrix} + G + \begin{bmatrix} 0 \\ k_\eta \eta + c_\eta \dot{\eta} \end{bmatrix} \right), \qquad A_{\mathrm{input}}(x) = M^{-1} \begin{bmatrix} 1 \\ 0 \end{bmatrix}, \] we obtain \[ \begin{bmatrix} \ddot{\theta} \\ \ddot{\eta} \end{bmatrix} = a_{\mathrm{drift}}(x) + A_{\mathrm{input}}(x)\,u. \]
Superposition still holds.
Even though the dynamics are now richer and nonlinear in \((\theta,\eta)\), the torque input still appears linearly as \(A_{\mathrm{input}}(x)\,u\). The drift term contains all flexible-shaft effects; any two solutions corresponding to inputs \(u_1,u_2\) differ by the same linear map \(A_{\mathrm{input}}(x)\) applied to the difference in inputs.
C.3 Spatial (3D) Rigid Pendulum With Torque Input
We now consider a 3D pendulum: a point mass \(m\) at the end of a massless rod of length \(L\), pivoted at the origin and free to move in 3D under gravity. Let \(R \in SO(3)\) describe the orientation of the rod, so the mass position is \[ p = R\,\begin{bmatrix} 0 \\ 0 \\ -L \end{bmatrix}. \]
Let \(\omega \in \mathbb{R}^3\) be the body angular velocity, and let \(\tau = u \in \mathbb{R}^3\) be the control torque in body coordinates.
The rigid-body equations of motion for a 3D pendulum are:
\[ \begin{align} \dot{R} &= R \hat{\omega}, \\ I \dot{\omega} + \omega \times (I\omega) &= \tau + \tau_g(R), \end{align} \]
where: - \(I\) is the inertia tensor about the pivot,
\(\hat{\omega}\) is the skew-symmetric matrix such that \(\hat{\omega}v = \omega \times v\),
\(\tau_g(R)\) is the gravitational torque.
Rewriting,
\[ \dot{\omega} = I^{-1}\big( -\omega \times (I\omega) + \tau_g(R) \big) + I^{-1} \tau. \]
Defining the state \(x = (R,\omega)\), we have: \[ \dot{x} = \begin{bmatrix} R \hat{\omega} \\ I^{-1}\big( -\omega \times (I\omega) + \tau_g(R) \big) \end{bmatrix} + \begin{bmatrix} 0 \\ I^{-1} \end{bmatrix} u, \] i.e., \[ f(x) = \begin{bmatrix} R \hat{\omega} \\ I^{-1}\big( -\omega \times (I\omega) + \tau_g(R) \big) \end{bmatrix}, \qquad G(x) = \begin{bmatrix} 0 \\ I^{-1} \end{bmatrix}, \]
Once again, the system is control-affine: all nonlinearities are encapsulated in \(f(x)\), and the input enters linearly via \(G(x)u\).
C.4 Spatial (3D) Pendulum With Flexible Shaft
We now attach a flexible shaft (modeled via a small set of bending modes) to the 3D pendulum. The shaft deformation is represented by modal coordinates \(\eta \in \mathbb{R}^m\), just as in Section 17.
The full state is \[ x = (R,\omega,\eta,\dot{\eta}), \] and the equations of motion may be written schematically as:
\[ \begin{bmatrix} I(\eta) & I_{rf}(\eta) \\ I_{fr}(\eta) & M_{ff} \end{bmatrix} \begin{bmatrix} \dot{\omega} \\[0.2em] \ddot{\eta} \end{bmatrix} + \begin{bmatrix} C_{rr}(\omega,\eta,\dot{\eta}) & C_{rf}(\omega,\eta,\dot{\eta}) \\ C_{fr}(\omega,\eta,\dot{\eta}) & C_{ff}(\omega,\eta,\dot{\eta}) \end{bmatrix} \begin{bmatrix} \omega \\[0.2em] \dot{\eta} \end{bmatrix} + \begin{bmatrix} \tau_g(R,\eta) \\[0.2em] K_s \eta + C_s \dot{\eta} \end{bmatrix} = \begin{bmatrix} \tau \\[0.2em] 0 \end{bmatrix}. \tag{27}\]
Solving for \((\dot{\omega},\ddot{\eta})\):
\[ \begin{bmatrix} \dot{\omega} \\[0.2em] \ddot{\eta} \end{bmatrix} = -\tilde{M}^{-1}(R,\eta) \left( \tilde{C}(\omega,\eta,\dot{\eta}) \begin{bmatrix} \omega \\ \dot{\eta} \end{bmatrix} + \begin{bmatrix} \tau_g(R,\eta) \\ K_s \eta + C_s \dot{\eta} \end{bmatrix} \right) + \tilde{M}^{-1}(R,\eta) \begin{bmatrix} I_3 \\ 0 \end{bmatrix} u, \]
where \(\tilde{M},\tilde{C}\) compact the block matrices and \(I_3\) is the \(3\times3\) identity.
Defining \[ a_{\mathrm{drift}}(x) = -\tilde{M}^{-1}(R,\eta) \left( \tilde{C}(\omega,\eta,\dot{\eta}) \begin{bmatrix} \omega \\ \dot{\eta} \end{bmatrix} + \begin{bmatrix} \tau_g(R,\eta) \\ K_s \eta + C_s \dot{\eta} \end{bmatrix} \right), \] \[ A_{\mathrm{input}}(x) = \tilde{M}^{-1}(R,\eta) \begin{bmatrix} I_3 \\ 0 \end{bmatrix}, \] we have \[ \begin{bmatrix} \dot{\omega} \\[0.2em] \ddot{\eta} \end{bmatrix} = a_{\mathrm{drift}}(x) + A_{\mathrm{input}}(x)\,u, \] and \(R\) evolves as \(\dot{R} = R \hat{\omega}\). The full first-order dynamics again take the control-affine form \[ \dot{x} = f(x) + G(x)u, \] with all flexible-shaft contributions embedded in \(f(x)\).
Superposition in 3D with flexibility.
Despite the complexity of the 3D coupled dynamics, any change in the torque input \(u\) influences \((\dot{\omega},\ddot{\eta})\) only through the linear operator \(A_{\mathrm{input}}(x)\). For a given state \(x\), the mapping \[
u \mapsto \dot{x}
\] is affine; the difference between two trajectories at the same state due to different inputs is always given by \(G(x)(u_1-u_2)\). This is the same structural property exploited in the full golfer–club model.
C.5 Summary: Superposition and Affine Structure
Across all four cases—planar rigid pendulum, planar flexible pendulum, 3D rigid pendulum, and 3D flexible pendulum—the same pattern holds: - Flexible dynamics (shaft modes) modify the drift term \(f(x)\) by adding state-dependent inertia, Coriolis, and restoring forces.
The torque input \(u\) enters linearly through an input matrix \(G(x)\) that depends only on configuration and flexible coordinates, not on \(u\).
For any fixed state \(x\), the acceleration (and hence \(\dot{x}\)) is an affine function of \(u\); the passive part and active part superpose exactly.
These examples provide explicit, low-dimensional realizations of the general control-affine structure used in the main text and highlight why the drift–input decomposition, ZTCF, and ZVCF constructions remain valid and interpretable in the presence of shaft flexibility.
Simulink Forward Dynamics Modeling and Counterfactual Evaluation
While the preceding appendices provided the analytical derivations and simplified toy examples (pendulums) to verify the internal consistency of the AffineDrift logic, the application to a full golf swing requires a numerical proof-of-concept. The pendulums of Section 18 demonstrate that the affine superposition holds algebraically, but they do not capture the numerical challenges associated with high-speed gyroscopic coupling and stiff flexible modes.
The following section documents the forward-dynamics implementation used to validate these concepts in a realistic multibody environment. This serves as a necessary bridge between the idealized theory and the experimental applications, ensuring that the abstract ZTCF and ZVCF counterfactual definitions remain robust under integration error and discrete-time sampling.
To complement the theoretical framework developed in this manuscript, a forward‐dynamics implementation of the golf swing was constructed in MATLAB/Simulink. The goal of this implementation was not to present simulation results (these will appear in Parts II and III), but to test and validate the counterfactual concepts introduced in Section 8–Section 9 using an operational multibody model with a flexible shaft, joint torques, and realistic momentum transfer.
The model is a planar two–hand, multi–link system with a flexible beam shaft, based on the publicly released “Two Hand Golf Swing Model” (MathWorks File Exchange). The kinematics were iteratively tuned to produce a representative downswing with clubhead speed and segmental angular velocities comparable to measured professional swings. The structure of the model and its evaluation are documented in Olson (2024).
Model Construction
The model consists of: - a linked two–hand upper‐body chain confined to a plane,
multiple revolute joints, each driven by a torque input,
a flexible golf shaft modeled using a finite‐dimensional modal approximation,
clubhead and hand coordinate frames for computing interaction forces.
Shaft flexibility was represented using modal bending dynamics, similar to Section 17, and interacted with the rigid segments through base excitation. All shaft forces entered the drift term, while all applied joint torques entered linearly into the input term, consistent with the control‐affine decomposition.
Note on parameter validity (Validation Scope). The stiffness and damping parameters used in this simulation represent the “effective” passive dynamics of the system. While treated as constant for the counterfactual analysis, we acknowledge that in a biological system, these would vary with activation. The model thus represents the “Effective Plant” for the swing. Crucially, this simulation uses constant coefficients and therefore does not validate the “Stiffness Pulse” or “Intentional Constraint Collapse” mechanisms discussed in the theoretical articles. It validates only the algebraic consistency of the ZTCF subtraction under constant impedance.
Zero‐Torque Counterfactual Evaluation via “Kill Switches”
To compute the Zero Torque Counterfactual (ZTCF) within a forward dynamics environment, the Simulink model incorporated “kill switches” at every joint. These switches instantaneously set applied joint torques to zero at a prescribed time while leaving the system state untouched.
A total of 56 kill‐switch times were distributed uniformly across the downswing. For each run: 1. the model evolved normally until a scheduled kill time,
all joint torques were set to zero at that instant,
the model continued to evolve under drift dynamics only,
the resulting hand–on–club forces were recorded at the kill instant.
This procedure produced a sampled version of the drift forces across the downswing. The resulting “counterfactual” points represent the purely passive momentum contribution to the hand–club interaction forces.
Comparison With Total Forces
For each kill‐switch instant, the interaction forces produced under drift‐only dynamics were compared to the forces produced during the corresponding instant of the full torque‐driven swing. The difference between these two represents the torque‐driven contribution.
The analysis showed: - Passive momentum contributes substantially to both normal and axial hand forces.
The passive component can reverse direction prior to the reversal of the total force.
The lead hand experiences a larger passive axial force contribution than the trail hand late in the downswing.
Passive momentum contributions can exceed total forces temporarily, indicating competing active and passive effects.
Note on Damping and Overshoot: This “overshoot” of passive momentum—where drift forces exceed the total force required for the path—implies a negative (braking) input. While this effect may be amplified by the minimal damping in the skeletal baseline model, it correctly identifies the net non-conservative effort required to restrain the system’s inertia. Whether this braking is achieved via active eccentric contraction or by tuning passive tissue impedance, it represents a deviation from the purely ballistic trajectory defined by \(f(x)\).
These findings match the theoretical prediction that drift forces do not vanish when torque inputs are removed and can dominate the interaction forces during high‐velocity phases of the swing.
Zero Velocity Counterfactual Computation and Validation
The Simulink implementation has been extended to compute the Zero Velocity Counterfactual (ZVCF) as well. For each state \(x(t)\) on the simulated trajectory: 1. generalized velocities were set to zero,
the drift term \(a_{\mathrm{drift}}(q,0,\eta,0)\) was evaluated,
inverse dynamics was used to compute \(\tau_{\mathrm{ZVCF}}(t)\).
A key numerical result was verified. At the kill instant \(t_0\), where the ZTCF state equals the actual state, the ZTCF run records the full drift force \(F_{\mathrm{ZTCF}}(t_0) = \tau_{\mathrm{drift}}(x(t_0))\), so removing it from the total leaves exactly the input force: \[ F_{\text{total}}(t_0) - F_{\mathrm{ZTCF}}(t_0) = F_{\mathrm{input}}(t_0). \] Separately, the configuration-only slice of the drift satisfies \[ F_{\mathrm{drift}}(t_0) - F_{\mathrm{vel.drift}}(t_0) = F_{\mathrm{ZVCF}}(t_0), \] both following directly from the force taxonomy \(\tau_{\mathrm{total}} = \tau_{\mathrm{ZVCF}} + \tau_{\mathrm{vel.drift}} + \tau_{\mathrm{input}}\) in Section 12. The equality is exact only at \(t_0\); for \(t > t_0\) it is approximate, as the ZTCF trajectory diverges from the actual one. This serves as a numerical consistency check on the implementation (not a validation of the model against reality): it verifies that the discrete-time integration algorithms and “kill-switch” logic preserve the algebraic structure of the theory without introducing numerical artifacts.
Implications for Future Work
The current Simulink model provides: - a working numerical platform for evaluating drift, ZTCF, ZVCF, and input forces,
a validation of the affine decomposition under realistic multibody dynamics,
a method for quantifying the effect of momentum on hand–club interaction forces,
a pathway toward full Part II (simulation) and Part III (experimental) papers.
Future research will incorporate these counterfactual calculations into high‐fidelity 3D multibody simulations, explore sensitivity to shaft stiffness and segment masses, and apply the decomposition to motion capture data to understand timing, effort, and mechanical efficiency in real swings.
The specific numerical algorithms employed to enforce the “kill switches” and compute the ZVCF within the discrete-time solver environment are detailed in the final appendix below.
Numerical Computation of ZTCF and ZVCF
{#app:ztcf_zvcf}
This appendix documents the numerical procedures used to compute the Zero Torque Counterfactual (ZTCF) and Zero Velocity Counterfactual (ZVCF) in simulation. The algorithms described here were developed using MATLAB and Simulink and apply to any multibody system that can be expressed in the control–affine form \[ \dot{x} = f(x) + G(x)u, \] with inverse dynamics available for evaluating generalized forces from kinematic states and accelerations.
The methods presented are general and will serve as the computational backbone in future simulation (Part II) and experimental (Part III) work.
D.1 Notation and Discretization
Let the continuous-time state be \[ x(t) = [q(t),\dot{q}(t),\eta(t),\dot{\eta}(t)]^T, \] and let the simulation produce samples at discrete times \[ t_k = t_0 + k\,\Delta t, \qquad k = 0,\dots,N. \]
Let: - \(x_k\) denote the state at time \(t_k\),
\(u_k\) denote the applied torque input,
\(a_{\mathrm{drift}}(x_k)\) denote the drift acceleration,
\(\tau_{\mathrm{ID}}(x_k,\dot{x}_k)\) denote inverse-dynamics torques.
The goal is to compute: - ZTCF trajectory: \(x^{\mathrm{ZTCF}}_k\),
ZVCF torque: \(\tau_{\mathrm{ZVCF}}(t_k)\),
drift torque: \(\tau_{\mathrm{drift}}(t_k)\),
input torque: \(\tau_{\mathrm{input}}(t_k)\).
D.2 Algorithm for ZTCF Computation
The ZTCF requires simulating the drift-only evolution of the system from an initial state \(x(t_0)\). For each time sample in the original simulation, we compute the counterfactual trajectory starting from the same state but with all torques removed.
Procedure (Conceptual):
\[ \dot{x}^{\mathrm{ZTCF}} = f\big(x^{\mathrm{ZTCF}}\big), \qquad x^{\mathrm{ZTCF}}(t_0) = x(t_0). \]
Discrete-Time Implementation:
For each time step \(k\): 1. Extract the state \(x_k\) from the full simulation.
Reinitialize the Simulink model at \(x_k\).
Set all joint torques to zero via kill-switch logic.
Integrate forward for one simulation step \(\Delta t\) to obtain: \[ x^{\mathrm{ZTCF}}_{k+1} = x^{\mathrm{ZTCF}}_k + \Delta t\, f\big(x^{\mathrm{ZTCF}}_k\big) + \mathcal{O}(\Delta t^2). \]
In the full-scale implementation, the kill-switch approach replaces step 4 with a fully integrated natural evolution under drift dynamics.
Numerical Stability.
ZTCF computation is especially sensitive during periods of large curvatures (late downswing). Stiff ODE solvers (e.g., ode15s, ode23t) or low step-size solvers are recommended to maintain trajectory fidelity.
D.3 Algorithm for ZVCF Computation
ZVCF is computed instantaneously, not via simulation. It examines the forces that would occur if the system were held at the same configuration but with all velocities zero.
Procedure:
For each time sample \(t_k\): 1. Define: \[ x^{\mathrm{ZVCF}}_k = (q_k,\, 0,\, \eta_k,\, 0). \]
Compute drift acceleration at zero velocity: \[ a^{\mathrm{ZVCF}}_k = a_{\mathrm{drift}}(q_k,0,\eta_k,0). \]
Use inverse dynamics to compute: \[ \tau_{\mathrm{ZVCF}}(t_k) = \mathrm{ID}\big(q_k,0,\eta_k,0,a^{\mathrm{ZVCF}}_k\big). \]
This gives the configuration-dependent drift torque.
D.4 Drift, Input, and ZVCF Consistency
From the equations of motion: \[ \tau_{\mathrm{total}}(t_k) = \tau_{\mathrm{drift}}(x_k) + \tau_{\mathrm{input}}(t_k), \] where the drift term is evaluated along the actual trajectory: \[ \tau_{\mathrm{drift}}(x_k) = \mathrm{ID}\!\left(q_k,\dot{q}_k,\eta_k,\dot{\eta}_k,a_{\mathrm{drift}}(x_k)\right). \]
Decomposing the drift into ZVCF and velocity-dependent components: \[ \tau_{\mathrm{drift}}(x_k) = \tau_{\mathrm{ZVCF}}(t_k) + \tau_{\mathrm{vel.\,drift}}(t_k), \] where: \[ \tau_{\mathrm{vel.\,drift}}(t_k) = \mathrm{ID}\big(q_k,\dot{q}_k,\eta_k,\dot{\eta}_k\big) - \mathrm{ID}\big(q_k,0,\eta_k,0\big). \]
In the Simulink implementation, at the kill instant \(t_k = t_0\) it was observed that: \[ \tau_{\mathrm{total}}(t_0) - \tau_{\mathrm{ZTCF}}(t_0) = \tau_{\mathrm{input}}(t_0), \] since the post-kill (ZTCF) run records the full drift torque \(\tau_{\mathrm{drift}}(x(t_0))\) and \(\tau_{\mathrm{total}} - \tau_{\mathrm{drift}} = \tau_{\mathrm{input}}\) by the affine decomposition.
This numerical equality is an implementation consistency check: the difference \(F_{\mathrm{total}} - F_{\mathrm{ZTCF}}\) isolates the input force, not the configuration (ZVCF) force. The configuration slice is recovered separately as \(F_{\mathrm{drift}} - F_{\mathrm{vel.drift}} = F_{\mathrm{ZVCF}}\). Equating the input force with the configuration force would be a category error (input \(\neq\) configuration drift in the taxonomy of Section 12).
D.5 Pseudocode Summary
for k = 1:N
#--- Compute Total Torque ---------------------------
tau_total[k] = ID(x[k], dx[k])
#--- Compute Drift Acceleration ----------------------
a_drift[k] = f(x[k]) # passive dynamics only
#--- Compute Drift Torque ----------------------------
tau_drift[k] = ID(x[k], a_drift[k])
#--- Input Torque ------------------------------------
tau_input[k] = tau_total[k] - tau_drift[k]
#--- Compute ZVCF -------------------------------------
x_zvcf = (q[k], 0, eta[k], 0)
a_zvcf = a_drift at zero-velocity
tau_zvcf[k] = ID(x_zvcf, a_zvcf)
#--- Compute ZTCF (kill-switch) -----------------------
# Simulate forward with all torques set to zero
x_ztcf[k] = simulate_drift_only(x[k])
endD.6 Practical Considerations
Filtering and Numerical Derivatives.
ZVCF and drift torques are sensitive to acceleration estimates; use low-pass filtered velocities and accelerations or employ smooth differentiators (e.g., Savitzky–Golay).
Consistent Parameter Sets.
All inverse-dynamics evaluations must use the exact same inertia, stiffness, and damping parameters as the forward simulation to ensure identity between: \[ F_{\mathrm{total}} - F_{\mathrm{ZTCF}} \quad\text{and}\quad F_{\mathrm{input}}. \] The difference recovered here is the input term, not the ZVCF. The ZTCF run records the full drift, so subtracting it from the total returns the input. The configuration-only ZVCF force is a separate slice, \(F_{\mathrm{ZVCF}} = F_{\mathrm{drift}} - F_{\mathrm{vel.drift}}\), and differs from \(F_{\mathrm{total}} - F_{\mathrm{ZTCF}}\) by the velocity-dependent drift.
Solver Matching.
ZTCF trajectories require the same ODE solver, tolerances, and step sizes as the original forward simulation to avoid numerical drift between trajectories.
D.7 Summary
The algorithms in this appendix show how ZTCF and ZVCF are computed numerically and how they integrate with inverse dynamics to yield drift, input, and configuration torque components. These numerical procedures provide the operational backbone for validating the theoretical framework and are used extensively in the forward-dynamics modeling described in Section 19.
Every theory faces scrutiny. Here's what skeptics and alternative perspectives say:
Is the "Zero Torque" Baseline Biologically Valid?
Skeptics argue that defining a "Zero Torque" baseline ($u=0$) while maintaining the high stiffness of a swinging golfer ("Effective Plant") is physically contradictory. In a biological system, high impedance requires high muscle activation. Therefore, a true $u=0$ state would be a flaccid ragdoll, making the ZTCF trajectory structurally unstable and dynamically irrelevant compared to the actual stiffened swing.
Does Gravity Matter at 100 mph?
The Zero Velocity Counterfactual (ZVCF) analyzes static forces like gravity and shaft droop. Critics point out that in a high-speed swing, centripetal accelerations exceed $100g$, making gravity negligible ($<1\%$). They argue that analyzing ZVCF is akin to studying the aerodynamics of a parked car to understand racing.
For a driver swing at 100 mph (44.7 m/s) with a 45-inch (1.14 m) shaft, the centripetal acceleration acting on the clubhead is:
Equivalently, using angular velocity $\omega = v/r \approx 39.2\,\text{rad/s}$:
Gravity ($9.8\,\text{m/s}^2$) is therefore $\approx 0.56\%$ of the centripetal load — confirming the critique. Yet the ZVCF baseline is not evaluated to measure gravity's magnitude; it is evaluated to isolate configuration-dependent stiffness from velocity-dependent geometric stiffening.
The Limits of Rigid-Body Analogies
The framework frequently employs rigid double-pendulum analogies to explain "drift" versus "input". However, the primary mechanism of the golf shaft is the "Catapult Effect"—the storage and release of elastic potential energy. A rigid model is structurally blind to this mechanism, potentially leading readers to underestimate the role of the shaft as an energy buffer.