Superposition in Affine Control Systems via Newton–Euler, Lagrangian, and Screw-Theoretic Formulations
This article develops a rigorous derivation of superposition with respect to inputs for mechanical systems whose dynamics are affine in control. We work in three parallel formalisms: Newton–Euler equations, Lagrangian mechanics (including Lagrange–d’Alembert), and screw-theoretic / spatial vector mechanics. In each framework we explicitly derive the control-affine structure
\[ \dot x = f(x) + \sum_{i=1}^m g_i(x) u_i, \]
for finite-dimensional mechanical systems actuated by generalized forces, and prove that the mapping from inputs to generalized accelerations, generalized forces, and wrenches is linear at fixed state. This yields a precise superposition principle: although trajectories in state space do not superpose in general (due to nonlinearity), the effects of distinct input channels on generalized forces and accelerations do. We provide worked examples in each formulation (a single pendulum, a planar 2R manipulator, and a spatial single-link model) and show how to decompose motion into contributions from gravity, Coriolis/centrifugal effects, and individual actuators.
In the broader context of the AffineDrift framework, this linearity explains why the Zero Torque Counterfactual (ZTCF) family is well-defined inside a control-affine model. Because the input enters linearly, we can mathematically set the modeled torque input to zero (\(u=0\)) without changing the passive drift vector field \(f(x)\). This supports a model-level separation between the history-dependent passive layer (Drift) and the instantaneous active layer (Input).
This article answers a deceptively simple question: in a system as complicated as a golf swing, can you study one force at a time and then add them up?
The Snapshot Principle
Imagine freezing a golfer mid-swing — like pressing pause on a video. In that frozen instant, every force acting on the system (gravity, muscle torque, centrifugal effects) has a perfectly predictable effect on the club's acceleration. And here's the key: these effects add up exactly, just like they would for a simple pendulum. Gravity pulls down by X, your shoulder pushes by Y, and the club accelerates by X + Y. No surprises, no interactions, no "nonlinear weirdness."
Why This Matters
Because forces add up at each instant, we can study them one at a time. We can ask: "How much does gravity contribute to clubhead speed right now?" or "What would happen if we turned off the shoulder torque?" These are meaningful, well-defined questions — not because the swing is simple, but because at each frozen moment, the physics IS simple.
The Catch: Trajectories Don't Add Up
Here's what does NOT work: you can't take two complete swings, add them together, and get a third valid swing. That's because the forces at each instant depend on WHERE you are and HOW FAST you're moving — and those change as the swing progresses. Forces superpose. Trajectories don't.
1 Introduction
The superposition principle developed below is instantaneous and pointwise (tangent-space) in state. For the control-affine system \(\dot x = f(x) + G(x)(u_1 + u_2)\), the statement we prove is that the response at each fixed state \(x\) to the input \(u_1 + u_2\) equals the sum of responses to \(u_1\) and \(u_2\) at that same state \(x\). It is not a statement about finite-time trajectories: because \(f\) is generally nonlinear in \(x\), the trajectory generated by \(u_1 + u_2\) is not the pointwise sum of the trajectories generated by \(u_1\) and \(u_2\) separately. Forces superpose instantaneously at each state; trajectories do not.
Superposition is often invoked informally in robotics and biomechanics: one speaks of “the gravitational torque,” “the Coriolis torque,” “the control torque,” as if these were independently meaningful and add linearly to produce the net motion. At the same time, the underlying dynamics are nonlinear in configuration and velocity, so naïve trajectory superposition is false. This tension is a constant source of conceptual confusion.
The correct statement is more modest but powerful:
For a mechanical system whose dynamics are affine in generalized forces, the mapping from inputs to generalized accelerations is linear at fixed state. Therefore, the generalized acceleration (and the corresponding wrench) at any instant can be written as a sum of contributions induced by different input channels or physical effects.
This paper makes that statement precise and derives it in three parallel languages:
- classical Newton–Euler mechanics,
- Lagrangian mechanics (including Lagrange–d’Alembert),
- screw theory / spatial vector mechanics.
In each setting, we:
- Define the configuration, state, and control spaces.
- Derive the equations of motion in a form that is affine in the control inputs.
- Prove a superposition theorem for inputs at fixed state.
- Give a concrete worked example showing how to decompose torques and accelerations.
We will be uncomfortably explicit with notation; this is deliberate. The target audience is assumed to be comfortable with manifolds, linear algebra, and multibody dynamics, but the goal is to close all “hand-wavy” gaps.
2 Control-Affine Systems and Superposition in Inputs
2.1 Control-Affine Systems on a Manifold
Let \(Q\) be an \(n\)-dimensional configuration manifold, with local coordinates \(q \in \mathbb{R}^n\) on some chart. Let the state be \(x = (q, \dot q) \in TQ\), the tangent bundle. Let the control input be \(u \in \mathbb{R}^m\).
A control-affine system is a system of ODEs of the form
\[ \dot x = f(x) + \sum_{i=1}^m g_i(x) u_i \tag{2.1} \]
where
- \(f: TQ \to T(TQ)\) is a smooth drift vector field,
- \(g_i: TQ \to T(TQ)\) are smooth control vector fields.
The key structural property is affinity in \(u\): for fixed \(x\), the right-hand side is an affine function of \(u\).
It will be convenient to write (component-wise in some coordinate system)
\[ \dot x = f(x) + G(x) u, \tag{2.2} \]
where \(G(x) \in \mathbb{R}^{(2n)\times m}\) is the matrix whose \(i\)th column is \(g_i(x)\).
2.2 Superposition With Respect to Inputs
We now define precisely the type of “superposition” we will use.
Let \(x\) be fixed. Consider the map
\[ \mathcal{F}_x : \mathbb{R}^m \to T_x(TQ), \qquad \mathcal{F}_x(u) := f(x) + G(x) u. \tag{2.3} \]
This is an affine map. If we remove the drift,
\[ \tilde{\mathcal{F}}_x(u) := \mathcal{F}_x(u) - f(x) = G(x) u, \tag{2.4} \]
then \(\tilde{\mathcal{F}}_x\) is linear in \(u\). Hence, for any \(u^{(1)},u^{(2)} \in \mathbb{R}^m\) and scalars \(\alpha,\beta \in \mathbb{R}\),
\[ \tilde{\mathcal{F}}_x\left(\alpha u^{(1)} + \beta u^{(2)}\right) = \alpha \tilde{\mathcal{F}}_x\left(u^{(1)}\right) + \beta \tilde{\mathcal{F}}_x\left(u^{(2)}\right). \tag{2.5} \]
In particular, if we decompose \(u\) as a sum of input components
\[ u = u^{(g)} + u^{(c)} + u^{(d)} + \cdots, \tag{2.6} \]
(ranging over, say, “gravity compensation”, “control”, “disturbance”, etc.), then
\[ G(x) u = G(x) u^{(g)} + G(x) u^{(c)} + G(x) u^{(d)} + \cdots. \tag{2.7} \]
This is the basic superposition statement: at a fixed state \(x\), the incremental effect of each input component on \(\dot x\) is linear and additively separable.
This additive separability is the engine behind the Drift–Input Decomposition. It implies that the “Input Acceleration” is additively separable from the “Drift Acceleration”—the two combine by simple vector addition at a fixed state, with no cross-coupling term (this is separability, not geometric orthogonality in any inner-product sense). Consequently, the operation of subtracting the total observed acceleration from the passive drift acceleration to recover the input is not just an approximation—it is an exact algebraic inversion permitted by the fiber-linear structure of the tangent bundle.
What is not true in general is that full solutions \(x(t)\) of the nonlinear ODE (2.1) can be written as linear sums of solutions for different inputs. That would require \(f\) and \(g_i\) to be linear in \(x\) as well; we do not assume that.
The rest of this paper is devoted to showing that standard rigid-body dynamics models admit the structure (2.1), with the controls entering as generalized forces, and that in each formulation the map from those generalized forces to accelerations is linear.
3 Newton–Euler Derivation of Control Affinity and Superposition
We start from the most classical picture: Newton–Euler equations for rigid bodies.
3.1 Single Rigid Body in 3D
Let \(B\) be a rigid body, with body-fixed frame \(\mathcal{F}_B\) and spatial (inertial) frame \(\mathcal{F}_0\). For simplicity, assume:
- mass \(m > 0\),
- inertia tensor (about the body frame origin) \(I_B \in \mathbb{R}^{3\times 3}\), symmetric positive definite,
- position of the body frame origin \(p \in \mathbb{R}^3\),
- rotation matrix \(R \in SO(3)\) mapping body frame coordinates to spatial coordinates.
Define:
- linear velocity \(v = \dot p \in \mathbb{R}^3\),
- angular velocity \(\omega \in \mathbb{R}^3\) (in body or spatial coordinates; we choose body for definiteness).
Let \(f^\text{ext} \in \mathbb{R}^3\) be the net external force on the body, expressed in the chosen frame, and \(n^\text{ext} \in \mathbb{R}^3\) the net external moment about the body frame origin.
The Newton–Euler equations in body coordinates can be written as
\[\begin{align} m \dot v &= m g^B + f^\text{ext}, \tag{3.1a} \\ I_B \dot \omega + \omega \times (I_B \omega) &= n^\text{ext}, \tag{3.1b} \end{align}\]
where \(g^B\) is the gravity vector expressed in the body frame.
3.1.1 Identification of Inputs
We can regard \((f^\text{ext}, n^\text{ext})\) as control-like inputs \(u \in \mathbb{R}^6\), decomposed as
\[ u = \begin{bmatrix} f^\text{ext} \\ n^\text{ext} \end{bmatrix}. \tag{3.2} \]
Then the state is \(x = (p, R, v, \omega)\) and the dynamics can be written in first-order form:
Kinematics: \[\begin{align} \dot p &= R v^B \quad \text{(if $v^B$ is body velocity; or simply $\dot p = v$ if $v$ spatial)}, \tag{3.3a} \\ \dot R &= R \widehat{\omega}^B, \tag{3.3b} \end{align}\] where \(\widehat{\omega}\) is the skew-symmetric matrix representing the cross product: \(\widehat{\omega} x = \omega \times x\).
Dynamics: \[\begin{align} \dot v &= g^B + \frac{1}{m} f^\text{ext}, \tag{3.4a} \\ \dot \omega &= I_B^{-1}\left(n^\text{ext} - \omega \times (I_B \omega)\right). \tag{3.4b} \end{align}\]
Writing this as \(\dot x = f(x) + G(x) u\), we identify:
- Drift term \(f(x)\) (terms present without external input \(u\)),
- Input matrix \(G(x)\) (linear mapping from \(u\) to \(\dot x\)).
Explicitly, for \(x = (p, R, v, \omega)\):
\[ f(x) = \begin{bmatrix} R v^B \\ R \widehat{\omega}^B \\ g^B \\ -I_B^{-1}\big(\omega \times (I_B \omega)\big) \end{bmatrix}, \quad G(x) = \begin{bmatrix} 0_{3\times 3} & 0_{3\times 3} \\ 0_{3\times 3} & 0_{3\times 3} \\ \frac{1}{m} I_{3} & 0_{3} \\ 0_{3} & I_B^{-1} \end{bmatrix}. \tag{3.5} \]
Then
\[ \dot x = f(x) + G(x) u. \tag{3.6} \]
Note that \(G(x)\) is constant (independent of \(x\)) in this simple rigid-body case, but this is not essential; in multibody systems \(G(x)\) will depend on configuration.
3.2 Superposition in Inputs for the Single Body
Let us decompose the external wrench \(u\) as a sum
\[ u = u^{(g)} + u^{(c)} + u^{(d)} + \cdots, \tag{3.7} \]
for example:
- \(u^{(g)}\) := wrench generated by a gravity-compensating actuator,
- \(u^{(c)}\) := “control” wrench from a motor,
- \(u^{(d)}\) := disturbance wrench (contact, aerodynamic drag, etc.).
Define
\[ \dot x(u) := f(x) + G(x) u. \tag{3.8} \]
Then
\[ \begin{aligned} \dot x(u) &= f(x) + G(x) \left(u^{(g)} + u^{(c)} + u^{(d)} + \cdots \right) \\ &= f(x) + G(x)u^{(g)} + G(x)u^{(c)} + G(x)u^{(d)} + \cdots. \end{aligned} \tag{3.9} \]
Define
\[ \Delta \dot x^{(i)} := G(x) u^{(i)} \tag{3.10} \]
the incremental contribution of \(u^{(i)}\) to \(\dot x\) relative to the drift. Then
\[ \dot x(u) = f(x) + \sum_i \Delta \dot x^{(i)}. \tag{3.11} \]
This is the Newton–Euler superposition principle for inputs: the instantaneous state derivative is the drift plus a linear sum of contributions from each input.
Again, note the limitation: integrating (3.6) over time, the trajectories \(x^{(i)}(t)\) obtained under each \(u^{(i)}\) do not in general sum to the trajectory under \(u = \sum_i u^{(i)}\).
3.3 Multibody System and Generalized Coordinates
Now consider a multibody system with \(n\) generalized coordinates \(q \in \mathbb{R}^n\) and generalized velocities \(\dot q \in \mathbb{R}^n\). Let \(x = (q, \dot q)\) be the state.
Using Newton–Euler and constraint kinematics, one arrives at the standard manipulator form of the equations,
\[ M(q) \ddot q + C(q,\dot q) \dot q + g(q) + d(q,\dot q) = \tau + J^\top(q) f^\text{ext}, \tag{3.12} \]
where:
- \(M(q) \in \mathbb{R}^{n\times n}\) is the symmetric positive definite mass matrix,
- \(C(q,\dot q)\dot q\) collects Coriolis and centrifugal terms,
- \(g(q)\) is the generalized gravity vector,
- \(d(q,\dot q)\) lumps other dissipative terms (e.g., joint friction),
- \(\tau \in \mathbb{R}^n\) is the vector of joint torques (controls),
- \(J(q)\) is the task Jacobian at the contact point(s),
- \(f^\text{ext}\) is the stacked external contact wrench vector.
We can group the right-hand side as a sum of generalized forces:
\[ Q(q,\dot q, u) := \tau + J^\top(q) f^\text{ext}, \tag{3.13} \]
where we think of the controls as
\[ u := \begin{bmatrix} \tau \\ f^\text{ext} \end{bmatrix}. \tag{3.14} \]
3.4 Control-Affine Structure
Solve (3.12) for \(\ddot q\):
\[\begin{align} \ddot q &= M(q)^{-1} \Big( \tau + J^\top(q) f^\text{ext} - C(q,\dot q) \dot q - g(q) - d(q,\dot q) \Big) \\ &= M(q)^{-1} \Big( - C(q,\dot q) \dot q - g(q) - d(q,\dot q) \Big) \\ &\quad + M(q)^{-1}\tau \\ &\quad + M(q)^{-1} J^\top(q) f^\text{ext}. \tag{3.15} \end{align}\]
Define
\[ f(x) := \begin{bmatrix} \dot q \\ M(q)^{-1} \big( - C(q,\dot q) \dot q - g(q) - d(q,\dot q) \big) \end{bmatrix}, \tag{3.16} \]
\[ G_\tau(x) := \begin{bmatrix} 0_{n\times n} \\ M(q)^{-1} \end{bmatrix}, \quad G_f(x) := \begin{bmatrix} 0_{n\times r} \\ M(q)^{-1} J^\top(q) \end{bmatrix}, \tag{3.17} \]
where \(r\) is the dimension of \(f^\text{ext}\). Then
\[ \dot x = \begin{bmatrix} \dot q \\ \ddot q \end{bmatrix} = f(x) + G_\tau(x)\tau + G_f(x) f^\text{ext}. \tag{3.18} \]
Again we see a control-affine system with \(m = n + r\) input channels (\(n\) joint torques and \(r\) external wrench components). At fixed \(x\), the map from \((\tau,f^\text{ext})\) to \(\ddot q\) is linear.
3.5 Newton–Euler Superposition Theorem
We can now formalize the Newton–Euler version of superposition.
Let a multibody system with generalized coordinates \(q \in \mathbb{R}^n\) satisfy (3.12). Define the mapping
\[ \Phi_{(q,\dot q)} : \mathbb{R}^n \times \mathbb{R}^r \to \mathbb{R}^n, \quad \Phi_{(q,\dot q)}(\tau, f^\text{ext}) := \ddot q. \]
Then, for each fixed \((q,\dot q)\), the map \[ (\tau, f^\text{ext}) \mapsto \Phi_{(q,\dot q)}(\tau, f^\text{ext}) - \Phi_{(q,\dot q)}(0, 0) \] is linear in \((\tau,f^\text{ext})\).
Proof. From (3.15),
\[ \ddot q = A(q,\dot q) + M(q)^{-1} \tau + M(q)^{-1} J^\top(q) f^\text{ext}, \]
where
\[ A(q,\dot q) := M(q)^{-1} \big( - C(q,\dot q) \dot q - g(q) - d(q,\dot q) \big) \]
depends only on \((q,\dot q)\), not on \((\tau,f^\text{ext})\).
Hence,
\[ \Phi_{(q,\dot q)}(\tau, f^\text{ext}) = A(q,\dot q) + M(q)^{-1} \tau + M(q)^{-1} J^\top(q) f^\text{ext}, \]
and
\[ \Phi_{(q,\dot q)}(0, 0) = A(q,\dot q). \]
Thus,
\[ \Phi_{(q,\dot q)}(\tau, f^\text{ext}) - \Phi_{(q,\dot q)}(0, 0) = M(q)^{-1} \tau + M(q)^{-1} J^\top(q) f^\text{ext}. \]
The right-hand side is a linear map of \((\tau,f^\text{ext})\). ∎
This theorem is the precise superposition statement: for fixed state, generalized accelerations superpose linearly with respect to inputs.
3.6 Example: Planar Simple Pendulum (Newton–Euler Flavor)
Consider a planar pendulum: point mass \(m\) at end of rigid massless rod length \(l\), pivot at the origin. Let \(q\) be the angle from the vertical, positive counterclockwise. Generalized coordinate \(q \in \mathbb{R}\). We use a sign convention where \(q=0\) is vertical downward.
- Gravity acts along \(-y\) with magnitude \(mg\).
- Applied torque \(\tau\) acts at the pivot.
3.6.1 Equation of Motion
Elementary Newtonian derivation yields:
\[ I \ddot q + mgl \sin q = \tau, \quad I = m l^2. \tag{3.19} \]
Rewrite as
\[ \ddot q = -\frac{g}{l} \sin q + \frac{1}{m l^2} \tau. \tag{3.20} \]
Define state \(x = (q,\dot q)\) and input \(u := \tau\). Then
\[ \dot x = \begin{bmatrix} \dot q \\ -\frac{g}{l} \sin q \end{bmatrix} + \begin{bmatrix} 0 \\ \frac{1}{m l^2} \end{bmatrix} u. \tag{3.21} \]
This is clearly of the form (2.1) with \(m=1\) input.
3.6.2 Superposed Contributions
Suppose we decompose the torque \(u\) as
\[ u = u^{(g)} + u^{(c)}, \tag{3.22} \]
where:
- \(u^{(g)}\) is a “gravity-compensating” component,
- \(u^{(c)}\) is an additional control component.
At some fixed \((q,\dot q)\), the gravitational acceleration term is
\[ \ddot q^{(\text{drift})} = -\frac{g}{l} \sin q. \tag{3.23} \]
The incremental accelerations from each torque component are
\[ \Delta \ddot q^{(g)} = \frac{1}{m l^2} u^{(g)}, \qquad \Delta \ddot q^{(c)} = \frac{1}{m l^2} u^{(c)}. \tag{3.24} \]
The total acceleration is
\[ \ddot q = \ddot q^{(\text{drift})} + \Delta \ddot q^{(g)} + \Delta \ddot q^{(c)}. \tag{3.25} \]
For instance, if \(u^{(g)} = mgl \sin q\) (exact gravity compensation), then
\[ \Delta \ddot q^{(g)} = \frac{1}{m l^2} (mgl \sin q) = \frac{g}{l} \sin q, \tag{3.26} \]
which cancels the drift term (3.23), and we are left with
\[ \ddot q = \frac{1}{m l^2} u^{(c)}. \tag{3.27} \]
This is a very concrete illustration of Newton–Euler superposition: the gravitational component and control component of acceleration add linearly.
4 Lagrangian Derivation of Control Affinity and Superposition
We now re-derive the same structure using Lagrangian mechanics, which highlights the geometric origin of the mass matrix and generalized forces.
4.1 Lagrangian Mechanics and Lagrange–d’Alembert Principle
Let \(Q\) be the configuration manifold, \(q \in Q\) generalized coordinates, \(\dot q \in T_q Q\) generalized velocities. A mechanical system is defined by a Lagrangian
\[ L(q,\dot q) = T(q,\dot q) - V(q), \tag{4.1} \]
with kinetic energy \(T\) and potential energy \(V\).
4.1.1 Kinetic Energy and Mass Matrix
Assume standard mechanical type:
\[ T(q,\dot q) = \frac{1}{2} \dot q^\top M(q) \dot q, \tag{4.2} \]
with \(M(q)\) symmetric positive definite. Then
\[ \frac{\partial L}{\partial \dot q} = M(q)\dot q. \tag{4.3} \]
4.1.2 Generalized Forces
Let \(Q(q,\dot q, t)\) denote the generalized forces, defined by
\[ Q_k = \sum_{j} f_j \cdot \frac{\partial r_j}{\partial q_k}, \tag{4.4} \]
where:
- \(f_j\) are physical forces acting at points with position vectors \(r_j(q)\),
- \(k = 1,\dots,n\) indexes generalized coordinates.
By construction, \(Q\) is linear in the physical forces \(f_j\). We will exploit this linearity.
4.1.3 Lagrange–d’Alembert Equations
The Lagrange–d’Alembert principle yields
\[ \frac{d}{dt} \frac{\partial L}{\partial \dot q_k} - \frac{\partial L}{\partial q_k} = Q_k, \quad k=1,\dots,n, \tag{4.5} \]
or in vector form,
\[ \frac{d}{dt} \frac{\partial L}{\partial \dot q} - \frac{\partial L}{\partial q} = Q. \tag{4.6} \]
Substituting (4.2) and \(L = T-V\) gives the standard manipulator form:
\[ M(q)\ddot q + C(q,\dot q)\dot q + g(q) = Q. \tag{4.7} \]
Here, \(C\) and \(g\) emerge from the time derivative and the potential term (we do not re-derive them in detail; the important point is that they depend on \((q,\dot q)\) but not on \(Q\)).
4.2 Control Decomposition of Generalized Forces
We now decompose the generalized forces \(Q\) into components induced by distinct physical effects and control channels.
Suppose the physical forces present are:
- internal actuation forces (joint torques, muscle forces, etc.),
- gravity,
- external contact forces,
- dissipative forces (viscous friction),
- etc.
Let \(f^{(1)},\dots,f^{(m)}\) denote a collection of force components (or wrenches) we treat as independent. For instance:
- \(f^{(1)}\) = actuator force from motor 1,
- \(f^{(2)}\) = actuator force from motor 2,
- …
- \(f^{(m)}\) = some external load.
By construction of (4.4), the generalized forces are
\[ Q(q,\dot q) = \sum_{i=1}^m Q^{(i)}(q,\dot q), \quad Q^{(i)}(q,\dot q) := \sum_j f^{(i)}_j \cdot \frac{\partial r_j}{\partial q}. \tag{4.8} \]
Define an input vector \(u \in \mathbb{R}^m\) that scales each force component:
\[ f^{(i)} = u_i \bar f^{(i)}, \tag{4.9} \]
where \(\bar f^{(i)}\) is a unit “shape” of the \(i\)th force (for example a fixed direction at a given attachment point). Then
\[ Q^{(i)}(q,\dot q;u_i) = u_i \bar Q^{(i)}(q,\dot q), \tag{4.10} \]
where
\[ \bar Q^{(i)}(q,\dot q) = \sum_j \bar f^{(i)}_j \cdot \frac{\partial r_j}{\partial q}. \tag{4.11} \]
Therefore,
\[ Q(q,\dot q; u) = \sum_{i=1}^m u_i \bar Q^{(i)}(q,\dot q). \tag{4.12} \]
In matrix form,
\[ Q(q,\dot q;u) = B(q,\dot q) u, \tag{4.13} \]
with columns \(B_i(q,\dot q) = \bar Q^{(i)}(q,\dot q)\).
4.3 Control-Affine Lagrangian Dynamics
Substitute (4.13) into the Lagrange equations (4.7):
\[\begin{align} M(q)\ddot q + C(q,\dot q)\dot q + g(q) &= B(q,\dot q) u, \\ \ddot q &= - M(q)^{-1} \left( C(q,\dot q)\dot q + g(q) \right) + M(q)^{-1}B(q,\dot q) u. \tag{4.14} \end{align}\]
Define state \(x=(q,\dot q)\) and vector fields:
\[ f(x) := \begin{bmatrix} \dot q \\ - M(q)^{-1} \left( C(q,\dot q)\dot q + g(q) \right) \end{bmatrix}, \quad G(x) := \begin{bmatrix} 0_{n\times m} \\ M(q)^{-1}B(q,\dot q) \end{bmatrix}. \tag{4.15} \]
Then
\[ \dot x = f(x) + G(x) u. \tag{4.16} \]
Hence, the Lagrangian equations of motion yield a control-affine system exactly as in (2.1).
4.4 Lagrangian Superposition Theorem
We obtain the Lagrangian analog of the Newton–Euler superposition theorem.
Consider a mechanical system with Lagrangian \(L(q,\dot q)\) and generalized forces of the form \(Q(q,\dot q;u) = B(q,\dot q) u\). Then, for each fixed state \((q,\dot q)\), the mapping \(u \mapsto \ddot q\) given by (4.14) is affine in \(u\), and the incremental effect of \(u\) on \(\ddot q\) (relative to \(u=0\)) is linear in \(u\).
Proof. From (4.14),
\[ \ddot q = - M(q)^{-1} \left( C(q,\dot q)\dot q + g(q) \right) + M(q)^{-1}B(q,\dot q) u. \]
For fixed \((q,\dot q)\), define
\[ A(q,\dot q) := - M(q)^{-1} \left( C(q,\dot q)\dot q + g(q) \right), \quad L(q,\dot q) := M(q)^{-1} B(q,\dot q). \]
Then
\[ \ddot q = A(q,\dot q) + L(q,\dot q) u. \]
Thus the map \(u \mapsto \ddot q\) is affine, and the incremental map
\[ u \mapsto \ddot q - \ddot q\big|_{u=0} = L(q,\dot q) u \]
is linear. ∎
4.5 Example: Planar Pendulum (Lagrangian Derivation)
Re-derive the pendulum example from §3.6 using Lagrange–d’Alembert.
- Coordinate: \(q\) (pendulum angle).
- Kinetic energy: \(T = \frac{1}{2} m l^2 \dot q^2\).
- Potential energy: \(V = -m g l \cos q\) (zero at \(q = 0\) is arbitrary).
- Lagrangian: \(L = T - V = \frac{1}{2} m l^2 \dot q^2 + m g l \cos q\).
Compute
\[ \frac{\partial L}{\partial \dot q} = m l^2 \dot q, \quad \frac{d}{dt} \frac{\partial L}{\partial \dot q} = m l^2 \ddot q, \]
\[ \frac{\partial L}{\partial q} = - m g l \sin q. \]
Joint torque \(\tau\) is the generalized force:
\[ Q = \tau. \]
Lagrange–d’Alembert equation:
\[ m l^2 \ddot q - (- m g l \sin q) = \tau \quad\Rightarrow\quad m l^2 \ddot q + m g l \sin q = \tau, \]
which is identical to (3.19). We then repeat the decomposition in (3.22)–(3.27); all linear superposition steps follow directly from the linearity of \(Q\) in \(\tau\).
5 Screw-Theoretic / Spatial Vector Derivation
Screw theory packages translational and rotational quantities into unified twists (velocities) and wrenches (forces/torques). This formalism makes linearity properties especially transparent.
5.1 Twists, Wrenches, and Spatial Inertia
A twist is a 6D vector
\[ V = \begin{bmatrix} \omega \\ v \end{bmatrix}, \tag{5.1} \]
with angular velocity \(\omega \in \mathbb{R}^3\) and linear velocity \(v \in \mathbb{R}^3\) of a body frame.
A wrench is a 6D vector
\[ F = \begin{bmatrix} n \\ f \end{bmatrix}, \tag{5.2} \]
with moment \(n \in \mathbb{R}^3\) and force \(f \in \mathbb{R}^3\) about the body frame origin.
The spatial inertia matrix of a rigid body is a symmetric \(6\times 6\) matrix of the form
\[ \mathcal{I} = \begin{bmatrix} I & m c^\times \\ m c^\times & m I_3 \end{bmatrix}, \tag{5.3} \]
where
- \(I\) is the \(3\times 3\) rotational inertia about the body frame origin,
- \(m\) is the mass,
- \(c\) is the vector from body frame origin to center of mass,
- \(c^\times\) is the skew-symmetric matrix s.t. \(c^\times x = c \times x\).
The spatial momentum is \(h = \mathcal{I} V\), and Newton–Euler dynamics become
\[ \mathcal{I} \dot V + \mathrm{ad}^\ast_V \mathcal{I} V = \sum F^\text{ext}, \tag{5.4} \]
where \(\mathrm{ad}^\ast_V\) is the dual of the Lie algebra adjoint operator (encoding Coriolis and gyroscopic terms), and the sum runs over all external wrenches applied to the body.
5.2 Multibody Dynamics in Screw Form
For a chain of rigid bodies, the dynamics can be written compactly (Featherstone-style) as
\[ \mathcal{M}(q) \dot V + \mathcal{C}(q,\dot q) V = \mathcal{W}(q) u + \mathcal{F}^\text{ext}(q), \tag{5.5} \]
where:
- \(\mathcal{M}(q)\) is the global spatial inertia,
- \(\mathcal{C}(q,\dot q)\) collects Coriolis and centrifugal-like terms,
- \(\mathcal{W}(q)\) is a “wrench-shaping” matrix mapping generalized forces \(u\) to body-frame wrenches,
- \(\mathcal{F}^\text{ext}(q)\) collects gravity and other known wrenches.
In minimal coordinate form, one recovers the manipulator equation
\[ M(q)\ddot q + C(q,\dot q)\dot q + g(q) = \tau + J(q)^\top f^\text{ext}, \tag{5.6} \]
but the spatial formalism keeps wrenches and twists as first-class objects.
5.3 Linearity of Wrench Mapping and Superposition
The crucial property is:
- The mapping from generalized forces \(u\) to wrenches at any point is linear,
- The mapping from wrenches to joint accelerations is linear at fixed state.
5.3.1 Jacobian Mapping From Joint Torques to Wrenches
Consider a manipulator with end-effector twist \(V_e\) and Jacobian \(J(q)\) such that
\[ V_e = J(q)\dot q. \tag{5.7} \]
The joint torques \(\tau\) produce end-effector wrench \(F_e\) related by the power duality
\[ \tau^\top \dot q = F_e^\top V_e, \tag{5.8} \]
i.e., mechanical power at the joints equals mechanical power at the end-effector. Using (5.7),
\[ \tau^\top \dot q = F_e^\top J(q)\dot q = (J(q)^\top F_e)^\top \dot q. \tag{5.9} \]
Since this must hold for all \(\dot q\), we obtain
\[ \tau = J(q)^\top F_e. \tag{5.10} \]
Thus, for fixed configuration \(q\), the mapping \(F_e \mapsto \tau\) is linear (matrix multiplication by \(J(q)^\top\)).
If the end-effector wrench \(F_e\) is itself decomposed as
\[ F_e = \sum_{i=1}^m u_i F_e^{(i)}, \tag{5.11} \]
then
\[ \tau = \sum_{i=1}^m u_i J(q)^\top F_e^{(i)}. \tag{5.12} \]
So each input component \(u_i\) contributes an additive joint torque component \(J(q)^\top F_e^{(i)}\).
5.3.2 From Wrenches to Accelerations
The spatial equations (5.5) can be written as
\[ \mathcal{M}(q) \dot V = - \mathcal{C}(q,\dot q) V + \mathcal{W}(q) u + \mathcal{F}^\text{ext}(q). \tag{5.13} \]
At fixed state \((q,\dot q)\), the matrix \(\mathcal{M}\), operator \(\mathcal{C}\), and mapping \(\mathcal{W}\) are fixed. Solving,
\[ \dot V(q,\dot q; u) = \mathcal{M}(q)^{-1} \left(- \mathcal{C}(q,\dot q) V + \mathcal{W}(q) u + \mathcal{F}^\text{ext}(q) \right). \tag{5.14} \]
Thus,
\[ \dot V(q,\dot q; u) = A(q,\dot q) + B(q,\dot q) u, \tag{5.15} \]
with \(A(q,\dot q)\) and \(B(q,\dot q)\) independent of \(u\). The dependence on \(u\) is linear.
This leads directly to:
For fixed state \((q,\dot q)\), the spatial acceleration \(\dot V\) is an affine function of the generalized input \(u\), and its incremental dependence on \(u\) is linear. Therefore, the acceleration contribution from each input channel superposes linearly in the screw-theoretic formulation.
The proof is simply (5.14)–(5.15).
5.4 Example: Spatial Single-Link Actuator
Consider a single rigid link actuated by a spatial wrench \(F^\text{act}\). Let the link’s twist \(V\) obey
\[ \mathcal{I} \dot V + \mathrm{ad}^\ast_V \mathcal{I} V = F^\text{grav} + F^\text{act}, \tag{5.16} \]
where \(F^\text{grav}\) is the gravity wrench, and \(F^\text{act}\) is the actuator-applied wrench. Writing explicitly,
\[ \dot V = \mathcal{I}^{-1} \left( - \mathrm{ad}^\ast_V \mathcal{I} V + F^\text{grav} + F^\text{act} \right). \tag{5.17} \]
Decompose \(F^\text{act}\) into basis wrenches:
\[ F^\text{act} = \sum_{i=1}^m u_i \bar F^{(i)}. \tag{5.18} \]
Then
\[ \dot V = \mathcal{I}^{-1} \left( - \mathrm{ad}^\ast_V \mathcal{I} V + F^\text{grav} \right) + \mathcal{I}^{-1} \sum_{i=1}^m u_i \bar F^{(i)}. \tag{5.19} \]
Define
\[ A(V) := \mathcal{I}^{-1} \left( - \mathrm{ad}^\ast_V \mathcal{I} V + F^\text{grav} \right), \quad B := \mathcal{I}^{-1} \begin{bmatrix} \bar F^{(1)} & \cdots & \bar F^{(m)} \end{bmatrix}. \tag{5.20} \]
Then
\[ \dot V = A(V) + B u, \tag{5.21} \]
where \(u \in \mathbb{R}^m\). This is the same control-affine structure as before, now in terms of twists and wrenches; the superposition in \(u\) is again immediate.
6 Cross-Comparison of the Three Formulations
We now summarize and compare the Newton–Euler, Lagrangian, and screw-theoretic versions of the same underlying structure.
6.1 Common Structure
All three approaches lead to equations of the form
\[ \ddot q = f_2(q,\dot q) + H(q,\dot q) u, \tag{6.1} \]
with state \(x=(q,\dot q)\), drift \(f(x)\), and input matrix \(G(x)\) such that
\[ \dot x = f(x) + G(x) u. \tag{6.2} \]
- Newton–Euler: \(M(q)\) arises from summing link inertias; \(H(q,\dot q)\) is \(M(q)^{-1}\) times a matrix that maps torques and external wrenches to generalized forces.
- Lagrangian: \(M(q)\) arises from the kinetic energy metric; \(H(q,\dot q) = M(q)^{-1} B(q,\dot q)\) where \(B\) encodes generalized forces from physical forces.
- Screw theory: the spatial inertia \(\mathcal{I}\) yields \(M(q)\) after coordinate transformation; \(H(q,\dot q)\) is the composition of wrench mappings and \(M(q)^{-1}\).
In each approach, linearity in \(u\) is inherited from:
- The linearity of forces and wrenches in their scalar magnitudes (Newton’s second law is linear in force).
- The linearity of the generalized force mapping from physical forces/wrenches to \(Q\) (via Jacobians).
- The linear solution of the linear system \(M(q)\ddot q = \cdots\) at fixed \(q\).
6.2 What Superposition Does Not Give You
It is essential to stress what we do not get:
- For a general nonlinear mechanical system, if \(x^{(1)}(t)\) solves \(\dot x = f(x) + G(x) u^{(1)}(t)\) and \(x^{(2)}(t)\) solves \(\dot x = f(x) + G(x) u^{(2)}(t)\), then in general \[ x(t) \neq x^{(1)}(t) + x^{(2)}(t) \] except in special linear cases.
- Superposition in this paper refers to linear decomposition of instantaneous generalized forces and accelerations with respect to input channels at a fixed state, not linear combination of trajectories.
Still, this local superposition is extremely useful in practice: it allows you to calculate, at each time, how much of the instantaneous acceleration or joint torque is attributable to gravity, inertial coupling, specific actuators, or external loads, etc.
6.3 The Snapshot Principle: Why Instantaneous Suffices
A natural question arises: “If superposition only holds at a fixed state, how is that useful? Control and motion happen over time, not at frozen moments.”
The answer reveals why instantaneous superposition is exactly what we need.
The key insight: Superposition is instantaneous because that is precisely the level at which causation and force accounting operate in mechanics. Newton’s second law is a local statement:
\[ F_{\text{net}} = m a \quad \text{(at each instant)} \]
The trajectory—the path through state space—is nonlinear and unfolds over time. But at each slice of time, the force decomposition is exact and linear. The trajectory emerges from integrating these instantaneous force rules forward in time.
A physical analogy: Imagine photographing a ballet dancer mid-leap using a high-speed flash. The frozen image captures the dancer suspended in air. The position is complex, the pose is nonlinear, the motion is chaotic—but at that frozen moment, you can ask: “What forces are acting? Gravity? Muscle tension? Air resistance?” The forces decompose cleanly. The jump as a whole is a complex, nonlinear arc. But each frame of the motion obeys superposed forces.
The temporal picture: As time steps forward, the state \(x(t)\) evolves according to \(\dot x = f(x) + G(x)u(t)\). At time \(t_1\), the state is \(x(t_1)\), and superposition tells us exactly how much acceleration each input channel contributes at that instant. At time \(t_2 = t_1 + \Delta t\), the state has moved (nonlinearly) to \(x(t_2)\), and superposition again applies—now at a different state. The nonlinear trajectory emerges from gluing together these locally linear force decompositions.
Why this matters for control: When you design a controller, you often ask: “At the current state, if I apply force \(u_1\), what happens?” or “How do I decompose the current acceleration into what gravity is doing versus what my actuators need to do?” These are instantaneous questions, and superposition answers them perfectly. The fact that the long-term trajectory is nonlinear doesn’t invalidate this—it just means you need to re-evaluate the decomposition as the state changes.
At any fixed state \(x_0 = (q_0, \dot{q}_0)\), the mapping from control inputs to generalized accelerations is exactly linear:
\[ \ddot{q}(u_1 + u_2; x_0) = \ddot{q}(u_1; x_0) + \ddot{q}(u_2; x_0) - \ddot{q}(0; x_0) \]
We call this the Snapshot Principle: freeze time, freeze the state, and the system behaves as if it were linear. This is not an approximation — it is an exact consequence of the control-affine structure. The nonlinearity of the system manifests only when the state evolves — when we release the snapshot and let time flow.
This principle is the mathematical foundation for the force decomposition used throughout this site. It justifies analyzing the contributions of individual muscles, gravity, and Coriolis effects independently, then summing them — provided we evaluate all contributions at the same instantaneous state.
6.4 Coordinate Invariance of the Decomposition
One might worry: “If I change coordinates on the configuration space \(Q\), does the decomposition into drift and control change? Is the conclusion somehow dependent on my choice of basis?”
The answer is subtle and important: the components change, but the geometric content does not.
Component-level changes: If you perform a coordinate transformation \(q \to q'(q)\) on the configuration manifold, the drift vector field \(f(x)\) and control distribution \(G(x)u\) do not have the same numerical coordinates in the new frame. Just as the velocity of a car is different in mph vs. km/h (the number changes), the components of \(f\) and \(G\) change under coordinate transformation.
Geometric invariance: However, the geometric objects underlying the decomposition are coordinate-independent:
- The drift vector field \(f(x)\) is a section of the tangent bundle \(T(TQ)\). It is a vector field, and vector fields transform naturally under coordinate changes—the field itself is invariant; only its components change.
- The control distribution (spanned by the columns of \(G(x)\)) is a subspace of the tangent space at each point in \(TQ\). As a geometric object—a subspace—it is independent of the coordinates used to describe it. You can describe a line through the origin in hundreds of ways, but it remains the same line.
- The linearity of the input is a property of the equations themselves, not of any particular representation. If \(\dot x = f(x) + G(x)u\) is affine in \(u\) in one coordinate system, it remains affine in any other.
Physical meaning: The decomposition into “passive” and “active” forces has direct physical meaning: gravity and Coriolis are passive; actuator torques are active. This decomposition doesn’t depend on your choice of coordinates. The numerical coefficients might change, but the identity of which forces are passive and which are active is invariant.
Example: In a 2-link robot, you might measure joint angles in degrees or radians. The equations look different numerically. But the geometric fact—“there is a drift from gravity and Coriolis; the control input adds torque additively”—is true in both coordinate systems. The decomposition is real, even though its numerical form is not.
7 The Modeling Question: Why Control-Affine?
At this point, a critical reader should ask: Is the affine structure actually true, or is it a convenient fiction? The equations \(\dot x = f(x) + G(x)u\) look clean and mathematically beautiful, but does nature really obey them?
The honest answer: The affine structure is a modeling choice, not a physical truth. And understanding why it’s the right choice reveals something deep about abstraction in physics and engineering.
7.1 The Muscle Reality: Why Raw Biology Isn’t Affine
Consider a muscle actuated by neural activation \(a\) (a signal from the nervous system). A detailed biomechanical model might include:
- Activation dynamics: \(a\) doesn’t instantly produce force; there are calcium dynamics, actin-myosin binding kinetics, etc.
- Force-velocity relationship: the force a muscle can produce depends on how fast it’s shortening (Hill’s equation). This is fundamentally nonlinear and couples force to length and velocity.
- Force-length relationship: passive fibers have spring-like properties; active fibers have length-dependent strength.
- Tendon compliance: tendons aren’t rigid; they store and release elastic energy.
If you try to model a robot arm using activation as the control input—that is, \(u = a\) (neural signals)—the system is decidedly not affine. The muscle’s force depends on its current length, its current velocity, and its activation history. Force enters the equations in a deeply nonlinear, state-dependent way.
So why does the robotics and biomechanics literature routinely use affine models?
7.2 The Right Level of Description: Abstraction and Torque
The answer is that we choose a different level of abstraction. Instead of using neural activation as the control input, we use torque at the joint as the input:
\[ u = \tau_{\text{joint}} \]
At this level, the affine structure emerges naturally. Here’s why:
The muscle complex as a constraint: When you set the model input to be joint torque, all the details of muscle activation, force-velocity coupling, and tendon compliance don’t disappear—they become constraints on the feasible input set \(\mathcal{U}(x)\). You cannot arbitrarily command any joint torque; your neuromuscular system can only produce torques within a certain range that depends on the current configuration, velocity, and fatigue state. But that constraint is about which torques are feasible, not about whether torque enters linearly into the dynamics.
The physics of the joint: At the joint level, Newton’s laws are unambiguous:
\[ I(q) \ddot q + C(q,\dot q) \dot q + g(q) = \tau \]
Torque is torque. It enters the equations linearly. The fact that a particular \(\tau\) value is hard or impossible for the muscle to produce is a separate question—a question about the constraints on the input space, not about the structure of the differential equation itself.
Analogy from mechanics: This is like choosing coordinate systems in physics. You can describe a particle’s motion in Cartesian or polar coordinates. The laws of motion are “simpler” in some coordinates than others (gravity is simpler in Cartesian; circular motion is simpler in polar). But the underlying physics doesn’t depend on your choice. Once you make the choice, you get a definite equation of motion, and that equation has structural properties (like affinity or linearity) that reflect the coordinate choice as much as the physics.
7.3 The Modeling Philosophy: Physics Doesn’t Care
Here’s the key philosophical point, in Feynman’s spirit: The question isn’t whether nature is affine. The question is whether, at the level of description we care about, the affine decomposition captures the physics correctly.
You might object: “But muscles aren’t linear springs! They’re complex biological systems with activation dynamics, force-velocity coupling, and all sorts of nonlinearities!”
And you’d be absolutely right. But consider: when an engineer asks “What torque is the shoulder joint producing?” they don’t care about the molecular details of actin-myosin sliding. The torque is defined at the joint, and it enters the equations of motion linearly. The fact that complex biology underlies that torque is irrelevant to the question being asked.
An analogy: Imagine a thermometer. Thermometers work because mercury or a gas expands with temperature, and we calibrate that expansion to read out a number. The microscopic physics of the glass, the mercury, and thermal equilibration is fantastically complex. But when a doctor reads the thermometer, they don’t care about any of that complexity. The thermometer abstracts away the details and gives a clean, linear-looking relationship: higher temperature → higher reading. The abstraction is useful and valid even though the underlying physics is complex.
The same is true for the affine control model:
- At the muscle-activation level, you’d need a detailed, nonlinear, state-coupled model. That level is correct if you’re studying how neural signals drive movement or how fatigue affects performance.
- At the joint-torque level, the system is affine. This level is correct if you’re studying robotics, biomechanical motion, or control strategy. You don’t need to (and shouldn’t) model the details of muscle biology at this level—that would be like asking your thermometer to explain quantum mechanics.
7.4 Affinity as an Abstraction, Not a Constraint
A final insight: the affine structure is not a constraint imposed by physics—it’s a consequence of the abstraction we choose.
Different abstractions give different structures:
- Muscle-activation level: System is nonlinear, with state-dependent force production. Affinity fails.
- Joint-torque level: System is affine. Superposition holds for torques and accelerations.
- End-effector wrench level: Wrench (force + moment) enters linearly, but may be in a different state space (end-effector pose rather than joint angles). Affinity still holds geometrically.
Which level you use depends on your question. A neural motor control researcher cares about the first. A roboticist cares about the second. A biomechanist studying the operational space might use the third.
The article proves that at the joint-torque level, superposition is rigorous and powerful. It doesn’t claim that biological reality is secretly affine. It claims that when you abstract to joint torques—a sensible and natural level of description—you get an affine, superposable system. And that’s exactly what you need for the control theory and physics on which the AffineDrift framework rests.
8 Applications and Worked Examples Across Formulations
To make the parallels concrete, we now present two more worked examples: a planar 2R manipulator and a brief screw-theoretic example.
8.1 Example: 2R Planar Robot Arm (Newton–Euler / Lagrangian)
Consider a 2-link planar robot arm with joint angles \(q_1,q_2\), link lengths \(l_1,l_2\), link masses \(m_1,m_2\), and moments of inertia \(I_1,I_2\) about their centers of mass. Gravity acts in \(-y\).
The equations of motion can be written as
\[ M(q) \ddot q + C(q,\dot q)\dot q + g(q) = \tau, \tag{8.1} \]
with \(q = [q_1;q_2]^\top\), \(\tau = [\tau_1;\tau_2]^\top\).
Explicit expressions (standard textbook result, shown here to emphasize structure):
\[ M(q) = \begin{bmatrix} a + 2b \cos q_2 & d + b \cos q_2 \\ d + b \cos q_2 & d \end{bmatrix}, \tag{8.2} \]
where
\[ a = I_1 + I_2 + m_2 l_1^2, \quad b = m_2 l_1 c_2, \quad d = I_2, \]
and \(c_2\) is the COM distance of link 2 from joint 2.
The Coriolis/centrifugal term is
\[ C(q,\dot q)\dot q = \begin{bmatrix} - b \sin q_2 \, (2\dot q_1 \dot q_2 + \dot q_2^2) \\ b \sin q_2 \, \dot q_1^2 \end{bmatrix}, \tag{8.3} \]
and the gravity vector
\[ g(q) = \begin{bmatrix} (m_1 c_1 + m_2 l_1)g \cos q_1 + m_2 c_2 g \cos(q_1 + q_2) \\ m_2 c_2 g \cos(q_1 + q_2) \end{bmatrix}. \tag{8.4} \]
Rewrite (8.1) as
\[ \ddot q = - M(q)^{-1}\big(C(q,\dot q)\dot q + g(q)\big) + M(q)^{-1}\tau. \tag{8.5} \]
At a fixed \((q,\dot q)\), define:
\[ \ddot q^{(\text{drift})}(q,\dot q) := - M(q)^{-1}\big(C(q,\dot q)\dot q + g(q)\big), \]
\[ L(q,\dot q) := M(q)^{-1}. \]
Then
\[ \ddot q = \ddot q^{(\text{drift})}(q,\dot q) + L(q,\dot q) \tau. \tag{8.6} \]
As before, if we decompose
\[ \tau = \tau^{(g)} + \tau^{(c)} + \tau^{(d)}, \tag{8.7} \]
corresponding to gravity compensation, control, and disturbance, we have
\[ \ddot q = \ddot q^{(\text{drift})} + L(q,\dot q) \tau^{(g)} + L(q,\dot q) \tau^{(c)} + L(q,\dot q) \tau^{(d)}. \tag{8.8} \]
Each term \(L(q,\dot q) \tau^{(i)}\) is the instantaneous acceleration contribution of the corresponding torque component.
8.1.1 Lagrangian Viewpoint
From the Lagrangian viewpoint, the same equations arise from
- \(L = T - V\) with appropriate kinetic and potential energy expressions,
- generalized forces \(Q = \tau\).
The key distinction is interpretive: Lagrangian mechanics frames \(M(q)\) as a metric on \(Q\), and \(g(q)\) as the gradient of a potential. But the linearity in \(u\) (here \(u=\tau\)) is identical to the Newton–Euler derivation.
8.2 Example: Planar End-Effector Wrench (Screw-Theoretic Flavor)
For the same 2R planar manipulator, consider the end-effector exerting a planar force \(f_e = [f_x;f_y]^\top\) (moments ignored for simplicity). The Jacobian \(J(q) \in \mathbb{R}^{2\times 2}\) satisfies
\[ \begin{bmatrix} \dot x \\ \dot y \end{bmatrix} = J(q) \begin{bmatrix} \dot q_1 \\ \dot q_2 \end{bmatrix}, \tag{8.9} \]
so that the power duality implies
\[ \tau = J(q)^\top f_e. \tag{8.10} \]
Decompose the end-effector force as
\[ f_e = f_e^{(1)} + f_e^{(2)}, \tag{8.11} \]
with, say,
- \(f_e^{(1)}\) = commanded interaction force,
- \(f_e^{(2)}\) = environmental force (contact).
Then
\[ \tau = J(q)^\top f_e^{(1)} + J(q)^\top f_e^{(2)} = \tau^{(1)} + \tau^{(2)}. \tag{8.12} \]
Substituting into (8.6),
\[ \ddot q = \ddot q^{(\text{drift})} + L(q,\dot q) \tau^{(1)} + L(q,\dot q) \tau^{(2)}. \tag{8.13} \]
If we are interested in the acceleration “due to environment forces” versus “due to commanded forces,” we can compute each term separately at a given \((q,\dot q)\):
\[ \Delta \ddot q^{(1)} = L(q,\dot q)\,J(q)^\top f_e^{(1)}, \quad \Delta \ddot q^{(2)} = L(q,\dot q)\,J(q)^\top f_e^{(2)}. \tag{8.14} \]
This is a direct screw-theoretic superposition: the total acceleration is the sum of accelerations induced by separate wrenches.
9 Conclusions
We have shown, in three formulations (Newton–Euler, Lagrangian, screw-theoretic), that:
- Multibody mechanical systems with actuation via generalized forces admit control-affine dynamics of the form \[ \dot x = f(x) + G(x) u, \] where \(x = (q,\dot q)\) and \(u\) parameterizes joint torques and/or external wrenches.
- For each fixed state \(x\), the mapping \(u \mapsto \dot x\) (or \(u \mapsto \ddot q\)) is affine, and the incremental dependence on \(u\) (relative to \(u=0\)) is linear.
- This yields a rigorous superposition principle for inputs: the instantaneous contributions of different input channels (actuators, gravity compensation, disturbances, contact forces) to generalized accelerations and wrenches add linearly.
- The principle is identical in essence across Newton–Euler, Lagrangian, and screw-theoretic settings; they differ in how the mass matrix and generalized forces are constructed, not in the linearity structure.
At the same time, we emphasized that trajectory-level superposition is false in general for nonlinear systems. Superposition here is a local statement about the linear structure of forces and wrenches and their mapping into accelerations at a given state.
This clarified view of superposition is particularly valuable for:
- decomposition of motion into gravity, inertial coupling, external, and control contributions;
- design and analysis of gravity compensation and feedforward controllers;
- counterfactual simulations (e.g., “what would the motion be under zero gravity?”, “what if a particular actuator were disabled?”);
- screw-theoretic modeling of force transmission and manipulability.
In applications ranging from robotics to biomechanics, this perspective allows us to speak precisely about the share of motion “caused by” different inputs, without pretending that nonlinear trajectories themselves superpose.
This structural insight connects directly to the Drift–Control Ratio. While the input map \(u \mapsto \dot{x}\) is linear, the drift field \(f(x)\) typically scales quadratically with velocity (due to \(\omega^2\) terms in Coriolis/centrifugal forces). This creates the Dominant Attractor phenomenon: at high swing speeds, the passive drift vector \(f(x)\) energetically dwarfs the maximum available control authority \(G(x)u_{\text{max}}\), rendering the superposition “lopsided”—the golfer can steer, but the train is driving itself.
10 References
(Indicative only; you can replace or expand with your preferred bibliography.)
- Featherstone, R. Rigid Body Dynamics Algorithms. Springer, 2008.
- Murray, R. M., Li, Z., Sastry, S. S. A Mathematical Introduction to Robotic Manipulation. CRC Press, 1994.
- Spong, M. W., Hutchinson, S., Vidyasagar, M. Robot Modeling and Control. Wiley, 2005.
- Bullo, F., Lewis, A. D. Geometric Control of Mechanical Systems. Springer, 2004.
- Greenwood, D. T. Advanced Dynamics. Cambridge University Press, 2003.
Every theory faces scrutiny. Here's what skeptics and alternative perspectives say:
Is "Zero Torque" Biologically Possible?
The "Zero Torque Counterfactual" assumes we can mathematically remove the golfer's input ($u=0$) to reveal a pure passive drift. However, biological muscles aren't electric motors that can be switched off instantly. Even with zero neural excitation, muscle-tendon units have passive stiffness and damping that depend on length and velocity. A "zero active torque" state is physically distinct from a "zero tissue presence" state, making the baseline drift field $f(x)$ difficult to isolate empirically.
Linearity Does Not Imply Control Authority
Emphasizing that "input enters linearly" might mislead readers into thinking the golfer has symmetric or unlimited control. In high-speed swings, the drift forces (Coriolis and Centrifugal) scale quadratically with velocity ($v^2$), while human torque limits are roughly constant or decreasing with speed. At 100 mph, the "linear" input term is numerically overwhelmed by the nonlinear drift term. The mathematical elegance of affine systems hides the practical reality that the golfer is often a passenger, not a driver.
Frame-Dependent "Forces" Cause Confusion
The article treats "drift acceleration" (including Coriolis and centrifugal terms) as a physical entity to be subtracted. However, these are inertial forces that vanish in a non-rotating frame. Teaching superposition this way risks confusing students who learned Newton's Second Law in inertial frames ($F=ma$). If you change the reference frame, the "drift" changes, which makes the decomposition seem arbitrary rather than fundamental.