Superposition: From Linear to Affine
A golfer’s effort, posture, motion, contact with the ground, and flexible equipment act together. The useful question is not whether one of these explains the swing by itself. It is which mathematical operation allows their effects to be separated, what is held fixed during that operation, and what must be recomputed when the motion changes. This chapter develops that distinction from mechanics, then connects it to energy transfer, constraints, actuator limits, accessibility, and feedback control.
The central result is exact but deliberately local in state: in a declared mechanical model with a fixed contact mode and forces affine in the chosen inputs, input-induced acceleration increments add at the same position and velocity. Entire trajectories generally do not. An instantaneous decomposition can identify how a net joint moment contributes to acceleration now; it cannot, by itself, identify the muscle that supplied that moment, the work done over a downswing, or the result of changing a golfer’s movement strategy.
Three Meanings of Addition
Tangent Vectors and First Variations
At a point on a smooth configuration or state manifold, tangent vectors form a vector space. Their addition is exact. A finite change between two postures, however, is not intrinsically a tangent vector, and vectors attached to different postures cannot be added without a specified identification or transport. Coordinates provide a local representation; they do not make nonlinear geometry disappear.
For a smooth dynamical system, the first variation about a specified reference trajectory satisfies a linear differential equation. Perturbations of that variational equation superpose. Their relationship to finite perturbed trajectories is generally an approximation whose error must be controlled. Thus, exact vector-space algebra and a first-order approximation to a finite response are compatible statements, not competing descriptions.
Exact Input Increments at One State
Theorem 1 (Fixed-State Input Superposition) Let \(F(x,u)=f_0(x)+G(x)u\) on a smooth mode, with \(u\in\mathbb R^m\). At a fixed \(x\), the total derivative is affine in \(u\), while its increment is linear: \[ \Delta F_x(u):=F(x,u)-F(x,0)=G(x)u. \]
Consequently, \[ F(x,u_1+u_2)=F(x,u_1)+F(x,u_2)-F(x,0). \] The zero-input anchor is counted once. For any real coefficients, \(\Delta F_x(\alpha u_1+\beta u_2)=\alpha\Delta F_x(u_1)+\beta\Delta F_x(u_2)\). These are algebraic identities wherever the model is defined; a combined input outside the feasible set remains a mathematical evaluation rather than an executable command. Affine interpolation of total derivatives uses coefficients summing to one.
The anchor also depends on the input definition. Zero net joint torque, zero motor voltage, and zero muscle excitation are different interventions. Muscle activation, tendon tension, shaft deflection, and other stored states can retain forces after a command is set to zero. We will use zero applied generalized effort unless another port is explicitly introduced. Known gravity, passive forces, prescribed external loads, and the active constraint model remain present.
Finite Trajectories and the Evolving Baseline
Write \(x[u](t)\) for the trajectory from one common initial state under an input history \(u\). In a shared coordinate chart, the appropriate baseline comparison is \[ \epsilon(t)=x[u_1+u_2](t)-x[u_1](t)-x[u_2](t)+x[0](t). \] Nonlinear dynamics generally give \(\epsilon\ne0\). The zero-input trajectory evolves; it is not generally the initial state or the zero vector. The trajectories sample different \(f_0\) and \(G\), possibly different contacts, and eventually different domains. There can be exceptional input pairs for which this defect vanishes, including symmetry-related responses of a pendulum. One such pair neither proves a general superposition theorem nor disproves nonlinearity.
For a realizable reference \((\bar x(t),\bar u(t))\), the first variation is \[ \delta\dot x=A(t)\delta x+G(\bar x(t))\delta u, \qquad A=D_x f_0(\bar x)+\sum_j\bar u_jD_xG_j(\bar x). \] Omitting the derivatives of the input directions gives the wrong linearization when the reference effort is nonzero and \(G\) varies with posture. A reference that does not satisfy the dynamics also introduces a residual forcing. In a golf analysis, each of these choices affects the meaning of an estimated sensitivity.
Mechanical Origins of the Affine Map
Kinetic Energy and a Regular Mass Matrix
Use \(n\) independent local coordinates \(q\), with \(v=\dot q\), and \(N_b\) rigid bodies. For a stationary base, each center-of-mass velocity and angular velocity depends linearly on \(v\). Express an angular velocity and its inertia tensor in the same frame, with the inertia taken about that body’s center of mass. Then \[ T=\frac12\sum_{i=1}^{N_b}\left(m_i\|J_{v,i}v\|^2+ (J_{\omega,i}v)^TI_{C,i}(J_{\omega,i}v)\right) =\frac12v^TM(q)v, \] where \[ M=\sum_i\left(m_iJ_{v,i}^TJ_{v,i}+J_{\omega,i}^TI_{C,i}J_{\omega,i}\right). \] This matrix is symmetric and positive semidefinite. It is positive definite when every nonzero admissible generalized velocity produces positive modeled kinetic energy. Independent regular coordinates and a nondegenerate inertial model supply that property. Massless unconstrained freedoms, redundant coordinates, or singular charts require additional treatment. The number of bodies need not equal the number of coordinates. Quaternion coordinates also require a kinematic map \(\dot q=N(q)v\) instead of identifying all coordinate rates with independent velocities.
Force, Acceleration, and Connection Coefficients
For the independent-coordinate model, let \(U(q)\) be potential energy, \(D(q,v)v\) a dissipative force with \(v^TDv\ge0\), and \(Q_e(q,v,t)\) a prescribed external generalized force. The equation is \[ M\dot v+c(q,v)+\nabla U+Dv=B(q)u+Q_e. \] Here \(B\) maps the chosen efforts to generalized forces. It need not be square. Velocity-dependent or time-dependent \(B\) also preserves frozen-state input affinity, provided it does not depend on \(u\). Unknown contact reactions are not arbitrary prescribed loads; they will be solved with constraints below.
The Euler–Lagrange equations give the velocity-product force \[ c_i=\sum_{j,k}\Gamma_{ijk}v_jv_k, \qquad \Gamma_{ijk}=\frac12\left(\partial_jM_{ik}+\partial_kM_{ij}-\partial_iM_{jk}\right). \] These are Christoffel symbols of the first kind. The second-kind coefficients \(\Gamma^i{}_{jk}=\sum_\ell(M^{-1})_{i\ell}\Gamma_{\ell jk}\) act at acceleration level. Adding \(\Gamma^i{}_{jk}v_jv_k\) directly to \(M\dot v\) mixes those levels. One consistent choice is \(C_{ij}=\sum_k\Gamma_{ijk}v_k\), so that \(Cv=c\) and \(\dot M-2C\) is skew symmetric. The matrix \(C\) is not unique, whereas the mechanically specified vector \(c\) is fixed.
With no potential gradient, damping, or applied nonconstraint force, the free equation is \(\ddot q^i+\Gamma^i{}_{jk}\dot q^j\dot q^k=0\): a geodesic of the kinetic metric. A gravity-driven swing is not such a free geodesic merely because commanded torque is zero. For background on the force-level derivation, see the Modern Robotics Lagrangian dynamics transcript.
Solving the regular equation gives \[ a_0=M^{-1}(Q_e-c-\nabla U-Dv),\qquad H=M^{-1}B,\qquad \dot v=a_0+Hu. \] Thus \(f_0=\begin{bmatrix}v\\a_0\end{bmatrix}\) and \(G=\begin{bmatrix}0\\H\end{bmatrix}\). The retained external load stays in \(a_0\). This derivation establishes affinity for the declared effort variables; it does not imply that an arbitrary electrical, neural, or software command enters affinely.
Virtual Work Explains the Force Map
If \(\delta p_i=J_{v,i}\delta q\) and the infinitesimal body rotation is \(\delta\theta_i=J_{\omega,i}\delta q\), virtual work gives \[ \delta W=\sum_i(F_i^T\delta p_i+N_i^T\delta\theta_i) =Q^T\delta q,\qquad Q=\sum_i(J_{v,i}^TF_i+J_{\omega,i}^TN_i). \] All forces, moments, velocities, and lever arms must use compatible points and frames. Generalized forces are dual to generalized velocities: their pairing is power. At fixed geometry this mapping is linear in physical wrenches. If a wrench is nonlinear in a chosen command, the Jacobian transpose does not remove that nonlinearity. Ideal stationary constraint reactions do no virtual work on allowed displacements; this is why they disappear under a valid reduction, not why their numerical values are independent of actuation.
One Arm, Three Consistent Formulations
A Fully Specified Uniform-Rod Model
Consider two uniform planar rods with lengths \(l_1,l_2>0\), masses \(m_1,m_2>0\), fixed proximal endpoint, and center-of-mass inertias \(I_{C,i}=m_il_i^2/12\). Let \(q_1\) be counterclockwise from the horizontal and \(q_2\) the relative elbow angle. Therefore the absolute angles are \(q_1\) and \(q_1+q_2\), and angular velocities are \(v_1\) and \(v_1+v_2\). These conventions determine every trigonometric sign below. Gravity is the Cartesian vector \((0,-g)\).
Set \(e(\theta)=(\cos\theta,\sin\theta)^T\). The centers are \[ p_{C,1}=\frac{l_1}{2}e(q_1),\qquad p_{C,2}=l_1e(q_1)+\frac{l_2}{2}e(q_1+q_2). \] Differentiating these positions and adding the rotational energies gives, with \(\beta=m_2l_1l_2/2\), \(d=m_2l_2^2/3\), and \(a=m_1l_1^2/3+m_2l_1^2+d\), \[ M=\begin{bmatrix}a+2\beta\cos q_2&d+\beta\cos q_2\\d+\beta\cos q_2&d\end{bmatrix}, \qquad c=\beta\sin q_2\begin{bmatrix}-2v_1v_2-v_2^2\\v_1^2\end{bmatrix}. \] The potential and its gradient are \[ U=g\left[\left(\frac{m_1l_1}{2}+m_2l_1\right)\sin q_1+ \frac{m_2l_2}{2}\sin(q_1+q_2)\right], \] \[ \nabla U=g\begin{bmatrix} (m_1l_1/2+m_2l_1)\cos q_1+(m_2l_2/2)\cos(q_1+q_2)\\ (m_2l_2/2)\cos(q_1+q_2) \end{bmatrix}. \] At a horizontal posture gravity therefore gives a clockwise tendency. A sine formula associated with angles measured from the downward vertical cannot be inserted without changing the coordinate convention. Both joint accelerations appear in each coupled balance; a single-link inertia about the base cannot silently replace the two-link mass matrix.
The determinant is \[ \det M=\frac{m_1m_2l_1^2l_2^2}{9} +m_2^2l_1^2l_2^2\left(\frac13-\frac14\cos^2q_2\right)>0. \] Together with \(d>0\), this verifies positive definiteness for this model, including aligned rods. A task Jacobian can lose rank at alignment while \(M\) remains invertible. A condition number, unlike positive definiteness, also depends on parameter values and the scaling chosen for coordinates.
Writing \(h=\beta\sin q_2\), a compatible Coriolis matrix is \[ C=\begin{bmatrix}-hv_2&-h(v_1+v_2)\\hv_1&0\end{bmatrix}. \] Direct multiplication recovers \(c\), and \(v^Tc=\tfrac12v^T\dot Mv\). The factor of one half in \(\beta\) comes from the second rod’s center-of-mass distance. Treating its entire mass as a point at the tip would define a different model and different coefficients.
Newton–Euler Balances Recover the Same Efforts
Let \(F_{12}\) be the elbow force on rod 2, \(F_{01}\) the base force on rod 1, and \(\tau_2\) the counterclockwise actuator moment on rod 2, with reaction \(-\tau_2\) on rod 1. The base moment is \(\tau_1\). Define \(\rho_1=p_{C,1}\) and \(\rho_2=p_{C,2}-l_1e(q_1)\). For any proposed joint acceleration, differentiating the center positions gives their Cartesian accelerations, including velocity-product terms. Force balance requires \[ F_{12}=m_2(a_{C,2}-g_{\rm vec}),\qquad F_{01}=m_1(a_{C,1}-g_{\rm vec})+F_{12}. \] With planar cross products interpreted as signed moments, the center-of-mass moment balances give \[ \tau_2=I_{C,2}(\ddot q_1+\ddot q_2)+\rho_2\times F_{12}, \] \[ \tau_1=I_{C,1}\ddot q_1+\tau_2+ \rho_1\times F_{01}+(l_1e(q_1)-\rho_1)\times F_{12}. \] Eliminating the internal forces yields \(\tau=M\ddot q+c+\nabla U\). Conversely, solving that equation and substituting into these body balances must recover the applied torques. The runnable example is tested in precisely this way, using independently differentiated Cartesian positions. This checks geometry, inertia, gravity signs, and coupling rather than merely evaluating the same mass-matrix formula twice.
These equations used inertial-frame derivatives. In axes rotating with a body, translational balance at its center is \(F=m(\dot v_C^b+\omega^b\times v_C^b)\), and rotational balance is \(N_C=I_C\dot\omega^b+\omega^b\times(I_C\omega^b)\). A dot on body components alone omits the transport term. Origins away from the center require the corresponding inertia and acceleration transformations.
Spatial Vectors Preserve the Same Constraints
In body axes at the center of mass, use an angular-first twist \(V=(\omega,v_C^b)\) and wrench \(W=(N_C,F)\). The pairing \(W^TV\) is power. With \([z]_\times w=z\times w\), \[ \mathcal I=\operatorname{diag}(I_C,mI_3),\qquad \operatorname{ad}_V=\begin{bmatrix}[\omega]_\times&0\\{}[v_C^b]_\times&[\omega]_\times\end{bmatrix}, \qquad W=\mathcal I\dot V-\operatorname{ad}_V^T\mathcal I V. \] The lower block contains \(m(\dot v_C^b+\omega\times v_C^b)\), exactly the force balance above. Wrench transformations are dual to twist transformations; using one transformation for both would generally corrupt power.
For a connected stationary-base chain, stack the body twists as \(V=\mathcal J(q)v\). Then \(\dot V=\mathcal J\dot v+\dot{\mathcal J}v\), and the assembled kinetic metric is \(M=\mathcal J^T\mathcal I\mathcal J\). Project the body balances with the dual map \(\mathcal J^T\), retaining their bias terms and joint compatibility. Ideal internal reactions cancel in this projection. Inverting each free body’s spatial inertia without enforcing the joints instead simulates disconnected bodies. Generalized actuator efforts also do not uniquely specify an arbitrary collection of free-body wrenches.
Newton–Euler, Lagrange, and spatial-vector methods are consequently different organizations of the same model. Agreement requires the same geometry, inertias, loads, coordinate conventions, and constraints. Their agreement is a verification opportunity, not three independent physical explanations of the swing.
Power, Work, and Intersegment Transfer
The actuation power is \[ P_u=(Bu)^Tv=u^Ty,\qquad y=B^Tv, \] not generally \(u^Tv\). At fixed state, \(P_u=\sum_j u_jy_j\). If \(B=I\), each input is a joint torque and each output its corresponding relative angular velocity. Contributions can be negative: an actuator may absorb mechanical energy while the total motion continues to speed up elsewhere.
For \(E=T+U\), differentiating before substituting the dynamics is essential: \[ \dot E=v^TM\dot v+\frac12v^T\dot Mv+(\nabla U)^Tv =u^TB^Tv+v^TQ_e-v^TDv. \] The cancellation uses \(v^Tc=\tfrac12v^T\dot Mv\), with a positive sign. Coriolis and centrifugal terms are not a dissipative sink. Calling \(-(c+\nabla U)^Tv\) the total energy rate misses the changing kinetic metric. Gravity exchanges kinetic and potential energy, whereas damping removes mechanical energy in this model.
For the arm, a shared elbow point has the same velocity on both rods. The equal and opposite elbow forces therefore have equal and opposite powers in the combined balance, while each rod can gain or lose energy through that boundary. The actuator moment pair contributes \[ \tau_2(v_1+v_2)-\tau_2v_1=\tau_2v_2. \] The base force acts at a stationary point and has zero power; the base actuator contributes \(\tau_1v_1\). Summing the two rod energy balances gives \(\dot E=\tau_1v_1+\tau_2v_2\). On individual rods, joint force power and joint moment power both matter. Their division depends on the chosen subsystem boundary and wrench reference point; a consistent total balance does not.
This is the connection to proximal-to-distal sequencing. Proximal slowing and distal speeding are kinematic observations. Demonstrating transfer requires a segment energy balance with boundary force and moment powers, external work, and any elastic storage. A shaft can temporarily store energy while hands and clubhead change speed. A net wrist moment cannot uniquely identify individual muscle forces or co-contraction. The mechanical accounting can support a proposed mechanism, but the timing pattern alone is not its proof.
Finite channel work is \(W_j=\int u_j(t)y_j(t)\,dt\). Along one recorded trajectory these integrals sum exactly. After an intervention changes one channel, all the velocities and possibly the feasible contacts change. Differences between two such experiments are therefore not obtained by adding the original channel works or integrating independent acceleration contributions along their own trajectories.
Constraints Preserve an Affine Map Within a Regular Mode
Reaction Forces Depend on the Input
For a stationary holonomic constraint \(\phi(q)=0\) with full-row-rank \(J=\partial\phi/\partial q\), admissible velocities satisfy \(Jv=0\) and accelerations satisfy \(J\dot v=-\kappa\), where \(\kappa=\dot Jv\). The configuration manifold is a set of positions; its tangent space is the allowed velocity space at one position. Accelerations form an affine set because of the curvature term. General rolling constraints need not integrate to a configuration equation and must not be classified as holonomic without checking integrability.
Use the reaction convention \[ M\dot v=r+Bu+J^T\lambda,\qquad r=Q_e-c-\nabla U-Dv. \] Together with the acceleration constraint this is the regular saddle-point system \[ \begin{bmatrix}M&-J^T\\J&0\end{bmatrix} \begin{bmatrix}\dot v\\\lambda\end{bmatrix} =\begin{bmatrix}r+Bu\\-\kappa\end{bmatrix}. \] Let \(W=JM^{-1}J^T\) and \(P=I-M^{-1}J^TW^{-1}J\). The solution is \[ \dot v=PM^{-1}r-M^{-1}J^TW^{-1}\kappa+PM^{-1}Bu, \] \[ \lambda=-W^{-1}\left(\kappa+JM^{-1}r+JM^{-1}Bu\right). \] Thus the constrained acceleration remains affine in effort, but its slope is \(PM^{-1}B\), and its anchor includes curvature. The reactions vary with \(u\). Holding their values fixed while changing effort generally violates the constraint. \(P\) is a projection orthogonal in the mass metric, not necessarily in the Euclidean metric.
For a particle of mass \(m\) constrained to a circle of radius \(R\), take \(\phi=(q^Tq-R^2)/2\). Then \(J=q^T\) and \(\kappa=v^Tv\). At \(q=(R,0)\) with tangential speed \(s\), the radial acceleration must be \(-s^2/R\), even with zero applied force. An additional radial force changes the reaction; an additional tangential force changes the tangential acceleration. This elementary example makes both the offset and the input-dependent reaction visible.
Reduced Coordinates and Contact Feasibility
In a local configuration chart \(q=\psi(z)\), let \(N=D\psi\) and \(w=\dot z\). Then \(v=Nw\) and \(\dot v=N\dot w+\dot Nw\). Projection gives \[ (N^TMN)\dot w=N^T(r+Bu-M\dot Nw). \] Dropping \(\dot Nw\) removes the geometry-induced acceleration. An arbitrary null-space basis for a velocity constraint may instead define quasi-velocities; it does not automatically define integrable coordinates \(z\).
Stationary ideal reactions have zero total power because \(\lambda^TJv=0\). For \(\phi(q,t)=0\), the velocity condition is \(Jv=-\phi_t\), so reaction power is \(-\lambda^T\phi_t\): a moving boundary can supply or absorb energy. Its acceleration equation also needs the corresponding time derivatives.
Ground contact adds inequalities: a normal reaction cannot pull a unilateral surface together, and tangential reactions must satisfy the selected friction law. The affine expression is usable only while its solved reactions remain admissible in the assumed mode. Lift-off, slip, impact, or a change of constraint rank requires the appropriate new equations. A golf swing model with permanently fixed feet must justify that assumption over the analyzed interval; the projection is not a substitute for that check.
A Pendulum Example That Can Be Reproduced
Frozen-State Arithmetic
Use a point mass \(m=1\) kg at the end of a massless rod of length \(l=1\) m, a frictionless fixed pivot, and \(g=9.81\) m/s\(^2\). Here, unlike the uniform-rod arm, \(q\) is measured counterclockwise from the downward vertical. The pivot inertia is \(I=ml^2=1\) kg m\(^2\), and \[ I\ddot q=-mgl\sin q+\tau,\qquad E=\frac12I\dot q^2+mgl(1-\cos q),\qquad \dot E=\tau\dot q. \] This is a teaching model, not a fitted golf swing. Its standard phase-space and energy structure are described in the MIT Underactuated Robotics pendulum chapter.
At the same state with \(q=\pi/6\), the baseline acceleration is \(-4.905\) rad/s\(^2\). Torques of \(5\), \(2.5\), and \(7.5\) N m give respectively \(0.095\), \(-2.405\), and \(2.595\) rad/s\(^2\). The identity is \[ 2.595=0.095+(-2.405)-(-4.905). \] The incremental gain is \(\partial\ddot q/\partial\tau=1/I\), with units (rad/s\(^2\))/(N m). The ratio of total acceleration to total torque is not that gain when gravity contributes an offset. A torque \(\tau_g=mgl\sin q\) cancels gravity at the current angle. Maintaining this cancellation as the pendulum moves requires updating the torque, and the actuator’s work still appears in the energy balance.
The gravitational contribution is bounded by \(g/l=9.81\) rad/s\(^2\) in magnitude. This simple bound and the sign convention are useful checks on every numerical row before discussing its physical meaning.
Trajectories Under Constant Torques
Start every experiment at \(q(0)=\dot q(0)=0\) and hold its torque constant. The program below integrates with fourth-order Runge–Kutta steps no larger than \(0.001\) s. Table values are rounded to six decimals. Halving the step and comparing with an independently implemented adaptive DOP853 integration both change the sampled state by less than \(2\times10^{-10}\) in the stated SI coordinates for the listed inputs and times. These are checks of this example, not universal error bounds for the algorithm.
For \(\tau=5\) N m:
| \(t\) (s) | \(q\) (rad) | \(\dot q\) (rad/s) | \(\ddot q\) (rad/s\(^2\)) |
|---|---|---|---|
| 0.00 | 0.000000 | 0.000000 | 5.000000 |
| 0.25 | 0.148434 | 1.126321 | 3.549201 |
| 0.50 | 0.508441 | 1.613248 | 0.224337 |
| 1.00 | 1.109439 | 0.456624 | -3.784356 |
| 1.50 | 0.867969 | -1.319704 | -2.485204 |
| 2.00 | 0.133555 | -1.077419 | 3.693713 |
At \(t=1\) s the pendulum is still moving in the positive direction but has negative angular acceleration. At \(t=1.5\) s both its velocity and acceleration are negative; the constant positive torque is then absorbing energy. Torque sign, acceleration sign, velocity sign, and power sign answer different questions. The same distinction prevents incorrect interpretations of joint moment or segment deceleration in a swing.
The zero-torque trajectory stays at the downward equilibrium. The odd equation and symmetric initial state imply exactly \(q[-5]=-q[5]\) and \(\dot q[-5]=-\dot q[5]\). Therefore the pair \(5,-5\) happens to satisfy trajectory addition. To exhibit a nonzero defect, compare the nonsymmetric pair \(5,2.5\) with their sum \(7.5\):
| \(t\) (s) | \(q[5]\) | \(q[2.5]\) | \(q[7.5]\) | \(\epsilon_q\) |
|---|---|---|---|---|
| 0.00 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
| 0.25 | 0.148434 | 0.074215 | 0.222663 | 0.000014 |
| 0.50 | 0.508441 | 0.253779 | 0.764851 | 0.002631 |
| 1.00 | 1.109439 | 0.520651 | 1.844183 | 0.214093 |
| 1.50 | 0.867969 | 0.293486 | 2.561097 | 1.399642 |
| 2.00 | 0.133555 | 0.003088 | 3.981019 | 3.844375 |
The angle and defect entries in this second table are radians on the same unwrapped coordinate. At two seconds the combined input has carried the mass beyond \(\pi\), while the two smaller-input trajectories have returned near the lower posture. Adding those two positions misses nearly \(3.8444\) radians. The underlying cause is the different gravitational acceleration sampled along each history, not a failure of forces to add at a fixed state. An angle can be wrapped for display, but wrapping each trajectory independently before subtraction changes this comparison and can create discontinuities.
For any one constant torque, integrating \(\dot E=\tau\dot q\) gives \[ \frac12\dot q(t)^2+9.81(1-\cos q(t))-\tau q(t)=0 \] for these initial conditions. The numerical residual is below \(2\times10^{-10}\) J at the sampled times. The work term uses the unwrapped angle; a constant torque performs work on every revolution. Relative error against a zero baseline is undefined, so the tables report absolute differences rather than assigning a misleading zero percent.
Passivity, Dissipation, and Contraction Are Different Claims
An Energy Inequality at a Declared Port
A system with input \(u\) and output \(y\) is passive on a stated domain if it has a nonnegative storage function \(S\) satisfying \[ S(x(t))-S(x(0))\le\int_0^t u(s)^Ty(s)\,ds \] for admissible trajectories. A storage bounded below can be shifted by a constant to be nonnegative. Equality describes a lossless system and can hold away from equilibrium. Positive dissipation is a stronger property than passivity; neither should be substituted for the other. See the definitions and pendulum example in Khalil’s passivity lecture.
For the mechanical model, \(S=E-E_{\min}\) is available when energy has a lower bound on the domain. The effort port is \((u,B^Tv)\). A nonzero external load \(Q_e\) must be included as another power port, or its power must be accounted for separately. Omitting it can falsely classify an externally driven subsystem as passive or active. The dissipative assumption is \(v^TDv\ge0\); a general appeal to thermodynamics does not establish that an arbitrary fitted matrix satisfies it.
Bounded input does not imply bounded energy. A unit free mass driven by the constant unit force has \(\dot q=t\), \(q=t^2/2\), and \(E=t^2/2\) from rest. It is lossless with \(\dot E=u\dot q\), yet its energy grows without bound. Adding viscous drag bounds the limiting speed under constant force, but position can still drift without bound. A storage that controls velocity alone cannot bound every state variable. Bounded-state and asymptotic-convergence conclusions require suitable storage growth, dissipation or feedback, existence of solutions, and often an invariance or detectability argument.
For a well-posed negative feedback interconnection of two passive systems, choose \(u_1=r-y_2\) and \(u_2=y_1\) with compatible port dimensions. Their inequalities sum to \(\dot S_1+\dot S_2\le r^Ty_1\) because internal power cancels. This is the interconnection guarantee. To conclude convergence to a particular equilibrium, one must additionally show that the zero-dissipation invariant set contains only the desired motion in the relevant domain. Algebraic loops, unmodeled delays, saturation, and incompatible ports need their own analysis.
Port-Hamiltonian Structure and Its Limits
In canonical mechanical coordinates \(z=(q,p)\), \(p=M(q)v\), the Hamiltonian is \[ \mathcal H(q,p)=\frac12p^TM(q)^{-1}p+U(q). \] With symmetric positive-semidefinite viscous damping and no omitted external port, one representation is \[ \dot z=(\mathcal J-\mathcal R)\nabla\mathcal H+\mathcal G u, \quad \mathcal J=\begin{bmatrix}0&I\\-I&0\end{bmatrix},\quad \mathcal R=\begin{bmatrix}0&0\\0&D\end{bmatrix},\quad \mathcal G=\begin{bmatrix}0\\B\end{bmatrix}. \] Since \(\mathcal J\) is skew symmetric and \(\mathcal R\) is positive semidefinite, \[ \dot{\mathcal H}=-(\nabla\mathcal H)^T\mathcal R\nabla\mathcal H+u^Ty, \qquad y=\mathcal G^T\nabla\mathcal H=B^Tv. \] This representation exposes power exchange and dissipation. Generalized coordinates and momenta cannot be swapped with \((q,v)\) while retaining the same constant canonical matrix unless the transformation is handled correctly. Nor does arbitrary control-affine dynamics automatically possess this physical Hamiltonian and passive port.
Even a positive-definite dissipation matrix in a more general port-Hamiltonian representation does not alone imply \(\dot{\mathcal H}\le-\alpha\mathcal H\) with a uniform \(\alpha>0\). For a scalar example, take \(\mathcal H=x^4/4\), \(\mathcal R=1\), and \(\dot x=-x^3\). Then \(\dot{\mathcal H}=-x^6\) and \(-\dot{\mathcal H}/\mathcal H=4x^2\), which approaches zero near the equilibrium. A uniform exponential bound needs an additional relationship between energy and its dissipative gradient.
A Differential Certificate Must Be Checked Separately
Contraction concerns separation of nearby trajectories under the same specified input or closed-loop law. For \(\dot x=F(x,t)\) and \(A=D_xF\), a sufficient differential certificate on a suitable forward-invariant domain is a smooth metric \(P(x,t)\) with uniform positive bounds and \[ \dot P+A^TP+PA\preceq-2\lambda P,\qquad \lambda>0. \] Here \(\dot P=\partial_tP+\sum_kF_k\partial_{x_k}P\) is the derivative along the flow. The inequality makes \(\delta x^TP\delta x\) decay; domain and path conditions are then needed to translate this into a statement about distances between trajectories. An energy derivative along one trajectory is a different calculation. For a feedback law, \(A\) must include the derivative of the feedback, and robustness needs a quantified perturbation margin in the same metric.
A damped pendulum is passive at its torque–angular-velocity port, yet its upright equilibrium has linearization \[ A_{\rm up}=\begin{bmatrix}0&1\\g/l&-d/I\end{bmatrix}. \] Its determinant is \(-g/l<0\), so one eigenvalue is positive. Damping does not make a domain containing that equilibrium uniformly contracting. The energy Hessian also has a negative angular entry at the upright posture and cannot serve there as a positive-definite contraction metric. Multiple stationary solutions provide another obstruction to uniform incremental convergence on a domain containing them all.
Passivity is therefore useful for power accounting and interconnection, while contraction can certify incremental convergence when its full conditions hold. Neither gives a blanket preference for preserving or cancelling a particular term in a golf controller. A model-based strategy must be evaluated against its actual tracking objective, feasible effort, sensing, uncertainty, and contact assumptions.
Actuator Limits and the Choice of Input
Feasible Sets Do Not Erase Affinity
At a fixed state, allowed inputs \(u\in\mathcal U(x)\) produce the acceleration set \[ \mathcal A(x)=a_0(x)+H(x)\mathcal U(x). \] State-dependent limits change this set, not the affine formula itself. If each scalar channel is independently bounded, \(\mathcal U=\mathcal U_1\times\cdots\times\mathcal U_m\), then \(H\mathcal U\) is the Minkowski sum of the individual sets \(H_j\mathcal U_j\). Coupled electrical power limits, muscle-sharing constraints, or contact feasibility may restrict the allowed combinations; summing independently maximized contributions can then predict an unattainable acceleration.
Voltage, Current, and Torque
For an idealized fixed-field DC motor, with armature inductance \(L\), resistance \(R\), positive torque constant \(k_t\), and back-EMF constant \(k_e\), \[ L\dot i=V-Ri-k_e\omega,\qquad \tau_m=k_t i. \] These are the electrical and torque relations in the University of Michigan DC motor model. Torque and back-EMF constants have different units even when their numerical SI values coincide for consistent ideal conventions.
If electrical transients can be neglected, the algebraic approximation is \[ \tau_m=\frac{k_t}{R}V-\frac{k_tk_e}{R}\omega. \] With symmetric voltage limits \(|V|\le V_{\max}\), its torque interval at a fixed speed is \[ \frac{k_t}{R}(-V_{\max}-k_e\omega) \le\tau_m\le \frac{k_t}{R}(V_{\max}-k_e\omega). \] It is generally offset rather than symmetric about zero. Intersect it with \([-k_ti_{\max},k_ti_{\max}]\) when a current limit is imposed. These are ideal steady electrical feasibility bounds; thermal limits, available regenerative operation, drive switching, and finite current slew can impose further restrictions. Torque at the load also depends on rotor acceleration, friction, and gearing. For a rigid ideal gear ratio \(N=\omega_m/\omega_{\rm load}\), motor inertia contributes \(N^2J_m\) at the load coordinate. The Modern Robotics actuation transcript explains this reflected-inertia effect.
Keeping current as a state instead of eliminating it gives a voltage-affine extended model. At a frozen \((q,v,i)\), voltage initially changes \(\dot i\); it does not instantly replace the existing electromagnetic torque. Similarly, zero excitation in a muscle model can leave activation and elastic tension nonzero. An additional actuator state may preserve command affinity while changing the immediate input directions and the meaning of zero-input motion. Whether it does so must be checked from the chosen actuator equations.
Nonsmoothness Is a Separate Modeling Issue
During sliding, a simple dry-friction law has resisting torque \(-\tau_c\operatorname{sgn}(\dot q)\). This is nonsmooth in velocity but does not itself make applied torque enter nonlinearly. At zero velocity, static friction is a reaction in an interval such as \([-\tau_s,\tau_s]\), selected by force balance and the stick/slip conditions; defining \(\operatorname{sgn}(0)=0\) does not reproduce stiction. Smooth approximations may help a numerical method but alter the near-zero behavior and must be validated for the intended time scale.
Saturation composed with a raw command generally makes the raw-command map piecewise affine rather than globally affine. Nonlinear transmission, muscle recruitment, contact switching, or hysteresis can introduce other departures. State the port, state variables, and mode first, then determine which identity survives. Calling every practical limitation a failure of superposition hides the specific assumption that needs repair.
Lie Brackets, Coupling, and Reachability
The Order of Motions Can Matter
For smooth vector fields, use the convention \[ [f,g](x)=DG(x)f(x)-Df(x)G(x). \] Comparing short flow compositions in opposite orders produces a second-order difference involving this bracket, with a sign determined by the chosen composition order. This describes how the directions change as the state changes. It does not mean that any signed field, especially the uncontrolled drift, is physically reversible on demand.
For second-order mechanics \(f=(v,a_0(q,v))\) and a configuration-dependent input field \(g_j=(0,h_j(q))\), \[ [f,g_j]=\begin{bmatrix}-h_j\\D_qh_j\,v-D_va_0\,h_j\end{bmatrix}. \] The bracket has a configuration component, not merely an acceleration in an unactuated coordinate. Even a fully actuated \(n\)-coordinate system has at most \(n\) immediate input directions in a \(2n\)-dimensional state space; time integration connects acceleration to velocity and position. For the normalized undamped pendulum, \(f=(v,-\sin q)\) and \(g=(0,1)\) give \([f,g]=(-1,0)\), so \(g\) and \([f,g]\) span the two state directions without any intersegment inertia coupling.
Accessibility Is Not Controllability
For smooth driftless systems with reversible controls containing a neighborhood of zero, a bracket-generating distribution yields local connectivity through admissible motions under the hypotheses of the Chow–Rashevskii theorem. The LaValle driftless-system discussion states the setting explicitly. Input bounds and a nonreversible drift require a different conclusion. Accessibility concerns the interior of reachable sets; it does not assert that every nearby state can be reached in arbitrarily short time. Fixed-time accessibility is another distinct property.
A simple illustration is \(\dot x_1=u\), \(\dot x_2=x_1^2\). Its drift and control brackets span both directions, but \(x_2\) never decreases along a physical trajectory, even with both signs of \(u\) available. Starting at the origin, nearby points with negative \(x_2\) are unreachable. This is the counterexample in LaValle’s treatment of systems with drift. Algebraic rank alone does not remove that one-way restriction.
For a golf mechanism, a proposed transfer into an unactuated shaft mode must be established from the actual inertia, elastic coupling, forcing, and boundary conditions. Coupling can arise from a spring even with a diagonal mass matrix. Conversely, an off-diagonal mass entry or a named bracket is not evidence that a particular sequencing maneuver is feasible, beneficial, or robust over a finite downswing. Reachability, energy availability, contact feasibility, and the terminal clubhead objective must be checked together.
Feedback Linearization Has a Local Domain of Validity
For a smooth single-input system \(\dot x=f(x)+G(x)u\) with scalar output \(y=h(x)\), a constant relative degree \(r\) on a neighborhood requires \(L_gL_f^kh=0\) there for \(k=0,\ldots,r-2\), and \(b(x)=L_gL_f^{r-1}h\ne0\). Then \[ y^{(r)}=L_f^rh+b(x)u,\qquad u=\frac{\nu-L_f^rh}{b(x)} \] gives \(y^{(r)}=\nu\) while the feedback and local coordinate transformation remain valid. A decoupling coefficient can vanish elsewhere, the resulting effort can exceed a limit, and the trajectory can leave the coordinate domain. The cancellation is exact for the specified model; its performance under model error requires separate analysis.
If \(r<n_x\), the output chain leaves internal states. Their dynamics when the output and its derivatives are held at zero are the zero dynamics. Local asymptotic stability of those dynamics is the usual minimum-phase condition for this construction. Unstable zero dynamics obstruct stable exact tracking in the corresponding regime; they do not say that every trajectory diverges or that every finite-horizon strategy is impossible. If \(r=n_x\), there is no internal subsystem to classify. A multi-input version additionally requires a nonsingular decoupling matrix and a compatible vector relative degree.
For the pendulum output \(q\), \(r=2=n_x\) and \(\tau=mgl\sin q+I\nu\) gives \(\ddot q=\nu\). This does not erase gravitational work from the physical system; the actuator supplies the compensating moment. If torque is bounded, only the corresponding range of \(\nu\) is feasible at each angle. Tracking a clubhead output in a flexible multibody model is more demanding because internal modes and task singularities can remain after output linearization.
Feedback linearization is a design construction; contraction is a property that a resulting system may or may not possess. They can be used together. A linear time-invariant closed-loop system with a Hurwitz matrix, obtained by exact full-state linearization, has a quadratic contraction metric in its linear coordinates, which can be pulled back locally through a valid transformation. Uniform bounds and the physical domain still need checking. There is no general theorem that one approach is preferable because it preserves a term called drift.
What This Establishes for the Golf Swing
The instantaneous analysis begins with a common measured or simulated state, a declared effort port, a physically consistent inertial model, and an admissible contact mode. Within that model, each effort increment has an exact acceleration contribution. Contributions may act in coordinates far from the actuated joint because the mechanism couples them. The anchor retains gravity, motion-dependent effects, elastic forces, and any declared external loads; it is not synonymous with effortless or purely passive human motion.
To explain a finite swing, propagate the coupled equations after an intervention and report how the state, reaction forces, power flows, and flexible storage change. A useful argument then has several linked pieces: an induced acceleration describes the immediate mechanical effect; a segment power balance tests the proposed energy pathway; a trajectory calculation tests its accumulated effect; and a feasible-input and contact analysis tests whether the maneuver can occur. Impact and ball flight require their own downstream models before a clubhead change can be interpreted as a distance or accuracy benefit.
None of these mathematical tools independently validates a coaching cue. Net moments estimated from inverse dynamics depend on kinematic differentiation, inertial parameters, external loads, and measurement uncertainty. Muscle-level interpretations require additional physiological information. A rigorous presentation makes the model-based conclusion precise, compares it with observations, and states what alternative mechanisms remain consistent with the evidence.
Reproducible Verification
The following NumPy-only program generates the two pendulum tables and the uniform-rod matrices used in the independent verification tests. It needs no site-specific package. Arrays use SI units and the angle conventions stated in the function documentation. The integration is for the smooth constant-torque pendulum only; it is not an impact or stick/slip solver.
# Superposition chapter example
import numpy as np
def rod_arm(
q: np.ndarray,
velocity: np.ndarray,
lengths: np.ndarray,
masses: np.ndarray,
gravity: float = 9.81,
) -> tuple[np.ndarray, np.ndarray, np.ndarray]:
"""Return M, c, and the left-side gravity vector for two uniform rods.
q[0] is counterclockwise from horizontal; q[1] is the relative elbow angle.
The proximal endpoint is fixed. SI units are used throughout.
"""
l1, l2 = lengths
m1, m2 = masses
q1, q2 = q
v1, v2 = velocity
beta = m2 * l1 * l2 / 2
distal = m2 * l2**2 / 3
base = m1 * l1**2 / 3 + m2 * l1**2 + distal
coupling = beta * np.cos(q2)
mass = np.array([[base + 2 * coupling, distal + coupling],
[distal + coupling, distal]])
c = beta * np.sin(q2) * np.array([-2 * v1 * v2 - v2**2, v1**2])
gravity_vector = gravity * np.array([
(m1 * l1 / 2 + m2 * l1) * np.cos(q1) + m2 * l2 / 2 * np.cos(q1 + q2),
m2 * l2 / 2 * np.cos(q1 + q2),
])
return mass, c, gravity_vector
def pendulum_trace(
torque: float, times: np.ndarray, max_step: float = 0.001
) -> np.ndarray:
"""Integrate the unit-mass, unit-length pendulum from rest at q=0.
Columns are q (rad), velocity (rad/s), acceleration (rad/s^2).
Times must increase strictly from zero; the angle remains unwrapped.
"""
times = np.asarray(times, dtype=float)
if (times.ndim != 1 or times.size == 0 or times[0] != 0
or not np.all(np.isfinite(times)) or np.any(np.diff(times) <= 0)):
raise ValueError("Times must increase strictly from zero")
if not np.isfinite(max_step) or max_step <= 0 or not np.isfinite(torque):
raise ValueError("Use finite torque and a positive finite step")
def rhs(state: np.ndarray) -> np.ndarray:
return np.array([state[1], torque - 9.81 * np.sin(state[0])])
state = np.zeros(2)
result = np.empty((times.size, 3))
result[0] = [0, 0, torque]
for index in range(1, times.size):
duration = times[index] - times[index - 1]
steps = int(np.ceil(duration / max_step))
step = duration / steps
for _ in range(steps):
k1 = rhs(state)
k2 = rhs(state + step * k1 / 2)
k3 = rhs(state + step * k2 / 2)
k4 = rhs(state + step * k3)
state += step * (k1 + 2 * k2 + 2 * k3 + k4) / 6
result[index] = [*state, rhs(state)[1]]
return result
times = np.array([0.0, 0.25, 0.5, 1.0, 1.5, 2.0])
trajectories = {u: pendulum_trace(u, times) for u in (0.0, 2.5, 5.0, -5.0, 7.5)}
trajectory_defect = trajectories[7.5] - trajectories[5.0] - trajectories[2.5] + trajectories[0.0]
# Inspect trajectories[5.0] and trajectory_defect to reproduce the tables.Exercises
- A Baseline Counted Once. At \(q=\pi/6\) in the unit pendulum, verify the frozen-state identity for torques \(5\), \(2.5\), and \(7.5\) N m. Repeat it about a nonzero reference torque \(\tau_*\) using increments \(\delta\tau\). Explain why total acceleration divided by torque is not the incremental gain.
- One Model in Two Formulations. Derive the uniform-rod mass matrix from the center velocities and center-of-mass rotational energies. Recover the two torque equations from the separate body balances. Show that the determinant is positive for all angles when both lengths and masses are positive.
- Conditioning Requires a Scale. Use \(l=(0.8,0.6)\) m and \(m=(1.4,0.5)\) kg, with both angles in radians. Compute the spectral condition number of \(M\) over \(q_2\in[-\pi,\pi]\) and refine any candidate maximum. Recompute after scaling one coordinate by ten. Distinguish physical regularity from numerical conditioning.
- Velocity-Product Power. At \(q=(0.4,-0.7)\) rad and \(v=(2.1,-0.8)\) rad/s, verify \(v^Tc=\tfrac12v^T\dot Mv\) using a centered directional difference of \(M\). Explain why a nonzero value is consistent with zero dissipation.
- An Affine Constraint Set. For \(m=2\) kg, \(R=2\) m, \(q=(2,0)\) m, and \(v=(0,3)\) m/s, compute acceleration and reaction under zero force and under \((4,6)\) N, without gravity. Verify the radial acceleration and show that the reaction changes with input.
- A Trajectory Defect. Reproduce both pendulum tables, halve the integration step, and check constant-torque work–energy balance. Explain the \(5,-5\) symmetry exception and why the \(5,2.5\) pair is a more informative comparison. State the angle convention and avoid relative error against a zero reference.
- A Local Nonlinear Counterexample. Solve \(\dot x=x^2+u\) from \(x(0)=0\) for positive constant \(u\), restricting attention to times before the earliest finite-time blow-up. Compare the inputs \(1\), \(2\), and \(3\). Verify fixed-state input affinity despite the nonzero trajectory defect.
- A Passive but Unstable Posture. Derive the damped pendulum’s torque-port storage inequality after choosing an energy offset. Compute the upright linearization and energy Hessian. Identify which conclusion prevents global contraction on a domain containing that posture.
- Motor Feasibility. Let \(R=2\) ohm, \(k_t=0.1\) N m/A, \(k_e=0.1\) V s/rad, \(V_{\max}=24\) V, and \(i_{\max}=10\) A. Find the quasistatic torque interval at \(\omega=100\) rad/s. Explain why voltage has no instantaneous effect on torque when current is retained as a state.
- Bracket Rank and One-Way Motion. Compute \([f,g]\) for the normalized pendulum. For \(\dot x_1=u\), \(\dot x_2=x_1^2\), compute enough brackets to span the plane and explain why negative \(x_2\) remains unreachable from the origin. State why an actuation matrix alone cannot settle the reachability of an unspecified underactuated model.
- Cancellation With a Bound. For a pendulum with \(|\tau|\le\tau_{\max}\), derive the feasible interval of virtual acceleration \(\nu\) under gravity-compensating feedback. State the relative degree and whether internal zero dynamics exist for the angle output.
- A Testable Swing Argument. Propose a model-based test of the claim that proximal slowing transfers energy to the club. Specify subsystem boundaries, measured quantities, joint force and moment powers, shaft storage, external work, uncertainty, and the intervention used to distinguish transfer from simultaneous active work. Identify what the instantaneous acceleration decomposition can and cannot establish.
The next chapter connects these frozen-state decompositions to induced acceleration analysis in biomechanics. The correspondence is strongest when the inertial model, force channels, constraints, and definition of the zero-input anchor are made explicit in both formulations.
Citation
@online{untitled,
author = {},
title = {Superposition: {From} {Linear} to {Affine}},
url = {https://affinedrift.com/articles/The_Geometry_of_Motion/quarto/ch03_superposition.html},
langid = {en}
}