Skip to main content

Classic Sources of Nonlinearity in Mechanical Systems: A Comprehensive Review for the Control-Affine Framework

theory-core
Examines how geometry, contact, elasticity, and muscle actuator limits interact, providing explicit models and counterfactuals for athletic motion.
Author

Dieter Olson

Published

March 10, 2026

A mechanical system can be nonlinear in its motion and still be affine in a specified control input. That distinction makes it possible to analyze how current state and available action jointly shape a golf swing, a walking step, or a robot’s contact motion. It does not make separate trajectories additive, remove actuator limits, or turn every zero-input experiment into a measurement of passive tissue. This review develops the distinction through explicit models of inertia, friction, contact, transmission, elasticity, fluid forces, and muscle dynamics. The recurring questions are what state is retained, which physical input is changed, whether the contact mode remains feasible, and what output is compared over what interval. Worked examples check mechanics, memory, and force production independently of a desired conclusion about the swing.

1 Introduction: Nonlinearity and Affinity

A golfer’s action changes joint moments, but its effect also depends on body configuration, segment velocities, muscle activation, tendon deformation, shaft motion, and contact conditions. The same joint torque can therefore produce different accelerations at different moments. This is compatible with a linear dependence on torque at each fixed state. Understanding both statements is the starting point for a useful technical account of the swing.

For a specified model and input \(u\), a control-affine equation has the form \[ \dot x=f(x)+G(x)u. \] At a fixed \(x\), the columns of \(G\) multiply the input components linearly; \(f\) need not vanish and may be nonlinear in \(x\). A coefficient such as \(\sin(q)u\) is affine in \(u\). An expression such as \(u^2\), \(\sin(u)\), or a clipped command generally is not affine in that command across its full domain. State-dependent coefficients can occur in both \(f\) and \(G\).

Here, “zero input” means zero at the declared input port: commanded voltage, realized torque, excitation, or another stated quantity. These interventions differ. Setting excitation to zero leaves existing activation and tendon strain in the state; setting a net joint torque to zero does not identify the underlying muscle activity. Calling all such interventions “muscle off” conceals the mechanism being investigated.

For a general input-nonlinear equation \(\dot x=F(x,u)\), the exact instantaneous difference \[ \Delta F(x,u)=F(x,u)-F(x,0) \] still exists whenever both evaluations are well defined. Affinity is the stronger assertion that this difference equals a single \(G(x)u\) over the stated input domain. If zero input violates a selected contact mode, the comparison must resolve the physically admissible mode rather than extrapolate an invalid branch. If the evolution is a differential inclusion, a solution or selection rule must be specified before treating the difference as one vector.

Throughout this article, illustrative parameters define teaching models. They are not measurements of a golfer, universal muscle constants, or recommended swing targets.

2 Geometric Nonlinearities

2.2 Coriolis Terms and the Energy Check

One Christoffel construction is \[ c_i=\sum_{j,k}\Gamma_{ijk}v_jv_k,\qquad \Gamma_{ijk}=\tfrac12(\partial_kM_{ij}+\partial_jM_{ik}-\partial_iM_{jk}). \] It produces velocity-quadratic generalized inertial terms. The gravitational Jacobian \(\partial g/\partial q\) is a stiffness-like matrix relevant to linearization; it is not another Coriolis torque to add to \(c\).

A matrix \(C\) satisfying \(Cv=c\) is not unique. A convenient choice for this model is \[ C=B\sin q_2\begin{bmatrix}-v_2&-(v_1+v_2)\\v_1&0\end{bmatrix}. \] For this choice, \(\dot M-2C\) is skew-symmetric. Consequently, \[ \frac{d}{dt}(T+U) =v^TM\ddot q+\tfrac12v^T\dot Mv+g^Tv =v^Tu. \] This identity is a stronger check than assigning plausible names to individual terms. Coupling redistributes motion; it does not generate energy. A generalized Coriolis term is part of the coordinate description of inertia, not an extra physical energy source. Individual coordinate contributions can have nonzero apparent power while the complete balance remains correct.

2.3 Gravity, Input Gains, and Acceleration Addition

With upward height \(h\), gravitational potential is \(mg_0h\). For a pendulum measured from downward vertical, \(h=-l\cos\theta\), so \(\partial U/\partial\theta=mg_0l\sin\theta\) and the applied gravitational torque is its negative. Declaring the axis and angle zero prevents sign errors. Zero actuator torque generally leaves inertia, gravity, elasticity, damping, and contacts active; it does not mean motion under gravity alone.

For a general force map \(B(q)u\), \[ f(q,v)=\begin{bmatrix}v\\M^{-1}r(q,v)\end{bmatrix},\qquad G(q,v)=\begin{bmatrix}0\\M^{-1}B(q)\end{bmatrix}, \] where \(r\) is the signed sum of the remaining generalized forces, including the appropriate inertial terms. The force map \(B\) and full state input map \(G\) have different dimensions and meanings.

At the same fixed state, \(M^{-1}\) is a linear operator. If \(a(u)\) is acceleration and \(a_0=a(0)\), then \[ a(u_1+u_2)-a_0=[a(u_1)-a_0]+[a(u_2)-a_0]. \] Adding the two total accelerations instead would count the baseline twice. Neither varying inertia nor off-diagonal coupling invalidates this fixed-state increment identity. Across separately evolving trajectories, however, the states and therefore the operators change. The identity is not a rule for adding two swings or two finite displacement histories.

2.4 Three-Dimensional Rotations

Orientation belongs to \(SO(3)\). No single globally nonsingular, one-to-one three-coordinate chart covers it. A unit quaternion uses four constrained components and has a double-cover ambiguity; it does not have an Euler gimbal-lock singularity. Rotation matrices also provide a redundant representation with algebraic constraints.

For body-frame angular velocity and a constant body inertia, \[ I\dot\omega+\omega\times(I\omega)=\tau,\qquad \dot R=R[\omega]_\times. \] The angular dynamics are affine in body torque, and the orientation dynamics are part of the full state equation. A world-frame formulation instead uses the rotating world inertia and consistent inertial derivatives. Mixing the frames loses required terms.

If generalized speeds are not coordinate derivatives, write \(\dot q=N(q)v\). Quaternions and floating-base humanoid models often require this distinction. Nonlinear orientation kinematics do not by themselves destroy torque affinity. Euler angle rates are also not physical angular velocity components; their associated generalized moments must be transformed in a power-consistent way.

2.5 Geometric Stiffening and Preload

The tangent stiffness of a loaded structure can differ from its unloaded stiffness. For example, a straight rod rotating radially about one end develops axial tension from the distributed centrifugal loading. In a small transverse-vibration approximation, tensile preload contributes a restoring term; compressive preload can reduce stability. Rotation about the rod’s own longitudinal axis is a different problem and does not justify the same axial-tension argument.

Whether a prestress effect belongs in drift depends on how it is supplied and modeled. A retained deformation or angular speed can determine it through the state. A commanded load may instead change it directly. A prescribed speed can require external motor work. Thus “geometric stiffness” names a mechanism, not a universal classification of input dependence or passivity. Check the assembled model and its boundary work.

3 Friction and Contact Nonlinearities

3.1 Static Friction and Stick–Slip Selection

Static friction is an adjustable reaction within an admissible bound, not always its maximum value. Consider a one-dimensional block with \[ m\dot v=u+L+F_f, \] where \(L\) contains other applied loads. At rest, sticking is feasible when \(|u+L|\leq F_s\), with \(F_f=-(u+L)\) and \(\dot v=0\). During sliding, a simple law is \(F_f=-F_c\operatorname{sgn}v\), with \(0\leq F_c\leq F_s\). At breakaway, specify the transition convention; the simple example below selects the direction of the excess applied load.

For \(m=1\) kg, \(F_s=5\) N and \(F_c=4\) N, a 3 N input alone can be balanced at rest. A 6 N input produces an initial sliding acceleration of 2 m/s². With another 4 N load present, a 3 N input produces 3 m/s² instead. This is why a threshold rule that examines only the actuator misses gravity, springs, or other loading.

The reduced acceleration map is piecewise and not globally affine across sticking and sliding. The physical forces still sum. Within a feasible sticking mode, the zero acceleration map is itself affine, with zero gain; the reaction adjusts to the input. In a fixed sliding direction with constant friction magnitude, the acceleration is affine with a nonzero gain. Non-smoothness, loss of a unique branch and failure of one global affine map are distinct issues.

At rest, friction can exert a finite force while its instantaneous power \(F_fv\) is zero. This is not a measurement of a zero damping coefficient. A regularization such as \(-F_c\tanh(v/\varepsilon)\) can aid numerical integration but does not reproduce exact static holding without further structure; slow creep and sensitivity to \(\varepsilon\) must be checked.

3.2 Coulomb, Stribeck, and Viscous Models

For known normal load \(N\), sliding Coulomb force is \(-\mu N\operatorname{sgn}v\). If \(N\) is determined by an input-dependent contact solve, the reduced friction force need not be a state-only drift term. At zero velocity, the set-valued static law and a consistent reaction selection are needed.

A common illustrative sliding model adds Stribeck decay and viscous resistance: \[ F_f(v)=-\left[F_c+(F_s-F_c)e^{-(|v|/v_s)^2}\right]\operatorname{sgn}v-c_vv, \qquad v\ne0. \] The speed scale \(v_s>0\) gives a dimensionless exponent. The viscous term, when included, supplies the increasing high-speed contribution; the exponential alone decays toward the Coulomb level. This formula does not by itself define exact sticking at \(v=0\).

Linear viscous resistance \(-c_vv\) is a useful idealization. More generally, resistance can depend on temperature, normal load, direction, lubrication or an internal friction state. Declaring all friction “in the drift” is justified only after those variables and their dependence on the chosen input have been accounted for.

The LuGre model of Canudas de Wit and colleagues retains a bristle-deflection state. In its one-dimensional notation, \[ \dot z=v-\frac{|v|}{g_f(v)}z,\qquad F=\sigma_0z+\sigma_1\dot z+\sigma_2v. \] Here \(g_f\) has length units and \(F\) is the resisting-force convention; the force on the moving body is \(-F\). Replacing \(g_f\) by a force-valued Stribeck curve without the stiffness conversion is dimensionally wrong. The internal state permits presliding memory. Its physical fit, parameter domain and energy properties still require checking; adding a memory variable does not establish a universal friction law.

3.3 Unilateral Contact and Impacts

Let \(\phi(q)\) be normal separation, positive when bodies are apart. An ideal nonadhesive rigid contact obeys \[ \phi\geq0,\qquad\lambda_n\geq0,\qquad\phi\lambda_n=0. \] Friction adds tangential feasibility and stick/slip conditions. The ambient state dimension can remain fixed while the active constraints change the allowable motion. A leg does not have a universal three degrees of freedom simply because its foot is in swing.

Rigid contact does not mean perfectly inelastic impact. For a fixed contact geometry with no prescribed moving-boundary velocity, a simple frictionless restitution law is \[ M(v^+-v^-)=J_n^Tp,\qquad J_nv^+=-eJ_nv^-, \] with restitution coefficient \(0\leq e\leq1\) and a feasible normal impulse \(p\). Here \(J_nv\) is normal relative velocity; both bodies’ degrees of freedom must be included for a two-body collision. A prescribed moving boundary adds its velocity to that relative-velocity relation and can supply energy. Configuration is continuous in this idealization while velocity may jump. A plastic impact is the special case \(e=0\); it removes the closing normal relative velocity. Tangential velocity requires its own friction law. Simultaneous contacts need a compatible multibody impact rule, not independent scalar resets applied in an arbitrary order.

Compliant contact instead resolves deformation and force over time. An elastic Hertz-type normal law has a penetration-to-the-\(3/2\) dependence under its contact-geometry and material assumptions. Damping, separation and tangential response must be added consistently; a naive spring-damper expression can otherwise create an unphysical tensile normal force. Resolving a short impact continuously is a model choice, not proof that every actual contact event is smooth.

3.4 Affinity Within a Feasible Contact Mode

For a fixed independent constraint Jacobian \(J\), write \[ Ma=r+Bu+J^T\lambda,\qquad Ja=\gamma, \] where \(\gamma\) includes velocity and any prescribed-boundary acceleration terms. If \(W=JM^{-1}J^T\) is invertible, elimination gives \[ a=P(r+Bu)+M^{-1}J^TW^{-1}\gamma, \] \[ P=M^{-1}-M^{-1}J^TW^{-1}JM^{-1}. \] This is affine in \(u\) at the fixed state and mode. Constraint bias must be counted once in an acceleration decomposition. The solved reactions must then satisfy normal-force and friction conditions. An input that makes them infeasible changes the mode, invalidating extension of this branch. Tedrake’s multibody notes develop the corresponding generalized-speed and constraint equations.

For golf, this distinction separates an admissible foot/grip constraint from ball impact and from a foot beginning to slip or lift. Contact reactions redistribute force and affect acceleration. Their contribution to energy depends on force dotted with material-point velocity, not on force magnitude alone.

4 Backlash, Deadzone, and Transmission Nonlinearities

4.1 Backlash Requires Memory

A kinematic play operator is a simple model of a transmission gap. For input position \(r_n\), retained output \(y_{n-1}\) and half-gap \(\Delta\), its discrete update is \[ y_n=\operatorname{clip}(y_{n-1},r_n-\Delta,r_n+\Delta). \] The old output is retained inside the admissible interval and follows an edge when the input moves beyond it. At the same current input, the output can differ because of previous engagement. This is the kind of positional play represented by the Simulink Backlash block; it is not a complete motor/load torque model.

For a dynamic transmission, retain motor and load positions and velocities, inertias, and engagement or deformation states. An applied motor torque can enter the motor equation linearly while gap forces depend on the retained state. Individual free and engaged modes can be affine in that torque, although transitions and the reduced load response are nonlinear. It is therefore incorrect to classify all backlash as globally non-affine without specifying the state and input.

Two identical net torques applied through the same port at the same complete state cannot become different merely because one is described as a sum. Different actuators, contact locations, histories or saturations define different experiments. Memory explains non-additive trajectory responses without violating force summation.

4.2 Deadzone and Threshold Models

A continuous symmetric deadzone is \[ d(u)=\begin{cases} u+u_0,&u<-u_0,\\0,&|u|\leq u_0,\\u-u_0,&u>u_0. \end{cases} \] It is a memoryless nonlinear input map. A discontinuous rule that jumps directly from zero to \(u\) at a threshold is a different idealization and should be named explicitly. With \(u_0=1\), two separate evaluations at \(u=0.75\) give zero, while the evaluation at their summed command gives \(d(1.5)=0.5\). The failure is command-map additivity, not addition of already-realized physical forces.

A zero response is still a defined response. It may prevent identification of a small-signal gain or other hidden parameters from that experiment; it does not make the output difference mathematically unmeasurable. Use excitation that distinguishes the relevant branches and report what remains unidentifiable.

4.3 Transmission Geometry, Slip, and Slack

A coordinate-dependent ideal transmission can supply \(\tau_l=n(q)\tau_m\), remaining affine in realized motor torque at fixed configuration. Its corresponding velocities and power balance must use the same ratio convention; arbitrary torque scaling without the dual velocity relation creates or destroys power on paper.

Slip and slack introduce additional contact conditions and state dependence. Modeling a motor and load separately often reveals where torque enters linearly and where engagement changes the response. A reduced algebraic command-to-load map can have a different input structure from that full system. Document what was eliminated and why the reduced model remains adequate for the timescale of interest.

5 Saturation and Limiting

5.1 Commanded Input Versus Realized Torque

If a command \(u_c\) is clipped to \(\tau=\operatorname{sat}(u_c;\tau_{\max})\), the mechanics are generally not globally affine in \(u_c\). They may remain exactly affine in the realized torque \(\tau\), with the admissible set \(|\tau|\leq\tau_{\max}\). In the unsaturated region, the command map is linear; on a saturated branch its local slope can be zero. No single gain describes all branches.

Even for the clipped command, the exact zero-command difference \(F(x,u_c)-F(x,0)\) remains available under a well-defined model. What fails is replacing it by one constant-at-\(x\) matrix times every possible command. Saturation neither invalidates Newton’s law nor makes an explicitly defined counterfactual inherently approximate.

5.2 Motor Speed, Voltage, and Joint Stops

A simple constant-parameter DC motor model is \[ L\dot i=V-Ri-k_e\omega,\qquad J\dot\omega=k_ti-\tau_{\rm load}. \] Retaining current \(i\) makes the system affine in voltage \(V\). Back-EMF is a speed-dependent voltage term; it is not a saturation of the torque/current proportionality in this model. A voltage bound and load determine attainable steady speeds and transient acceleration. Eliminating electrical dynamics requires a stated approximation and can change the interpretation of the input.

Position limits, speed bounds and voltage limits are different constraints. A hard joint stop is a contact problem; smooth resistance near a limit is an approximate constitutive model. Inequality constraints alone do not prove loss of affinity within a feasible mode. They restrict which states, accelerations or inputs can be realized.

5.3 Power Bounds

For a rotational actuator, \(|\tau\omega|\leq P_{\max}\) restricts the admissible torque at a fixed nonzero speed. It does not change an otherwise affine torque-to-acceleration equation. At zero speed, this mechanical-power bound alone supplies no finite torque bound; current, force, thermal or structural limits must also be modeled. Motoring and regeneration can have different limits, so a symmetric absolute bound is only one possible idealization.

In a golf model, analogous capacity constraints should be attached to the selected actuator representation. A feasible net joint moment is not automatically a feasible set of muscle excitations. Force–length, force–velocity, activation and tendon states connect those levels.

6 Elastic and Hysteretic Nonlinearities

6.1 Nonlinear Stiffness and Stored Energy

For displacement \(s\) measured from a declared reference, consider \[ F_e=-k_1s-k_3s^3,\qquad U_e=\tfrac12k_1s^2+\tfrac14k_3s^4. \] The tangent stiffness is \(k_1+3k_3s^2\), whereas the secant coefficient relating restoring force to displacement is \(k_1+k_3s^2\). These are not interchangeable. A positive cubic coefficient gives hardening in this model. A negative coefficient is only a local softening approximation: without additional stabilizing terms, its potential is unbounded below at large displacement. State the intended deformation domain.

A fixed constitutive force can enter the drift as a nonlinear function of deformation. If an input changes a spring’s rest length, stiffness, routing or preload, inspect that input dependence explicitly. An affine mechanical model can also have an input-dependent tangent stiffness because stiffness differentiates force with respect to position. That fact alone does not establish nonlinear dependence on the input.

6.2 Flexible Shafts and Transmissions

For two fixed-axis inertias connected by a torsional spring, \[ I_m\ddot q_m=\tau_m-k(q_m-q_l),\qquad I_l\ddot q_l=k(q_m-q_l)-\tau_l. \] The spring stores \(k(q_m-q_l)^2/2\). Summing the two kinetic-energy rates and this storage rate gives \[ \dot E=\tau_m\dot q_m-\tau_l\dot q_l. \] The spring can supply positive power to one rotor while absorbing power at the other and changing its own stored energy. It is not an additional independent source. Adding a relative damper gives loss \(c(\dot q_m-\dot q_l)^2\); damping each absolute angle against ground is a different physical system.

A distributed shaft has a deformation field, mass distribution and boundary conditions. Modal reduction replaces selected field coordinates by a finite set of states. The retained modes, excitation bandwidth, damping and moving boundaries determine whether that approximation is adequate. A flexible golf shaft also interacts with grip motion and clubhead loading; measured shaft deflection cannot be interpreted without those boundary conditions. Torque affinity may survive a modal expansion, but model truncation and input classification are separate questions.

6.3 Hysteresis and Internal Variables

Different loading and unloading force paths indicate memory. A constitutive model may represent that memory with internal variables, an operator such as Preisach hysteresis, or a hereditary integral. Some descriptions require a distributed state; a finite-dimensional approximation must be justified over the intended histories and frequencies.

The area of a stable closed force–displacement loop can quantify net mechanical loss under a declared sign convention. Over an open path, work also changes stored energy and internal state, so it cannot all be called dissipation. Releasing a preloaded element does not reset its memory. A zero-input comparison must start with the same specified internal variables unless changing them is part of the intervention.

State augmentation makes memory explicit. It does not guarantee control affinity: the internal-state evolution might itself contain a nonlinear function of the selected input. This distinction matters when a model combines passive material memory with active force regulation.

7 Damping Nonlinearities

7.1 Viscous and Quadratic Resistance

For one-dimensional motion relative to a stationary medium, \[ F_d=-cv-\beta v|v|,\qquad c,\beta\geq0, \] and its power is \(F_dv=-cv^2-\beta|v|^3\leq0\). The second term is nonlinear in velocity while both terms are state-only forces when their parameters and the medium are fixed. Rotational damping uses torque and angular velocity with different coefficient units; a translational force law cannot be inserted unchanged into a joint-torque equation.

If damping parameters depend on activation, temperature or deformation, retain those dependencies. A negative fitted coefficient may represent an active mechanism, an unstable approximation or a sign error; it should not automatically be described as passive damping. Energy checks constrain the interpretation of fitted models.

7.2 Structural Damping and Frequency-Domain Models

For positive-frequency harmonic motion under an \(e^{i\omega t}\) convention, a complex stiffness \(k(1+i\eta)\) can describe the phase relation between an imposed displacement and its required balancing force. With real displacement amplitude \(X\), this idealization gives cycle loss \(\pi k\eta X^2\). Holding the amplitude fixed is part of that statement. It is not a general instantaneous force law for an arbitrary transient.

A frequency-domain loss factor does not justify adding an unexplained term proportional to acceleration. A real time-domain model must specify a causal response, initial internal state and the frequency range of its approximation. Passive relaxation branches or other realizable filters can approximate measured loss over a finite band. Their extra states belong in the model; their energy storage and losses should be checked rather than inferred solely from a complex coefficient.

7.3 Viscoelastic Examples With an Energy Balance

A Kelvin–Voigt element has force \(ks+cv\) opposing deformation and needs no independent internal state beyond \(s\) in that idealization. A Maxwell branch, with a spring and damper in series, can instead be written in terms of its transmitted force \(z\): \[ \dot z=k(v-z/c),\qquad U_z=\frac{z^2}{2k}. \] For \(k,c>0\), \[ \dot U_z=zv-z^2/c. \] The deformation power is divided between spring storage and a nonnegative viscous loss. This simple relation explains why an observed resisting force cannot be classified as “all damping” without identifying its internal storage. Generalized models combine branches to resolve multiple relaxation times; fitted parameters and usable bandwidth remain model-specific.

8 Fluid Dynamic Nonlinearities

8.1 Drag, Lift, and Correct Dimensions

Let \(w=v_{\rm body}-v_{\rm air}\) be velocity relative to the local air. A standard drag parameterization is \[ F_D=-\tfrac12\rho A C_D|w|w. \] The reference area \(A\), air density \(\rho\) and dimensionless coefficient \(C_D\) must be declared. The coefficient can depend on Reynolds number, orientation, spin, surface properties and other regime variables. A constant coefficient is an approximation, not a general law that every fluid force is quadratic in speed.

For a chosen lift direction \(n_L\) perpendicular to \(w\), \[ F_L=\tfrac12\rho A C_L|w|^2n_L. \] This is the coefficient convention summarized by NASA’s lift equation. The combination \(\rho A|w|^2\) has force units. For an axisymmetric spinning-sphere Magnus component, a common direction is parallel to \(\omega\times w\); the coefficient model supplies magnitude and, if needed, sign reversal. A cross-product direction is undefined when its magnitude vanishes, so that limiting case requires an explicit rule. Other asymmetric aerodynamic effects need not follow this simplified model.

The expression \(C_L\rho A(\omega\times w)\) is dimensionally missing a length when \(C_L\) is dimensionless. For example, a local approximation \(C_L\approx c_S R|\omega_\perp|/|w|\) would instead give \[ F_L\approx\tfrac12\rho A c_SR(\omega\times w), \] within the regime where that coefficient approximation is appropriate. It is not a universal golf-ball lift law. With independently chosen illustrative values \(\rho=1.2\) kg/m³, \(A=0.0015\) m², \(C_L=0.2\) and \(|w|=50\) m/s, the coefficient equation gives 0.45 N of lift. A missing length or speed factor would change both the units and the prediction.

For moving air, drag is dissipative relative to that air but may do positive work on the body in the ground frame. The surrounding flow is then an energy-transfer channel. For a golf shot, launch speed, direction, spin, wind and coefficient regime jointly determine flight; “Magnus force is linear in velocity” is not sufficient to specify it.

8.2 Vortex Shedding, Added Mass, and Flow State

A prescribed periodic disturbance can be included in \(f(x,t)\) without changing affinity in the actuator input. Vortex shedding, however, can depend on wake state, body motion and fluid–structure interaction; it is not necessarily a clock-driven external sinusoid. A reduced wake oscillator or a flow model may be needed when synchronization or feedback matters.

In suitable fluid models, added inertia modifies the mechanical mass matrix. A fixed configuration-dependent added-mass approximation can preserve input affinity, provided the corresponding velocity terms and boundary conditions are included consistently. More general unsteady flow introduces memory, distributed states or additional forcing. If an actuator directly changes the flow, fluid forces may also depend on the input. The label “aerodynamic” does not establish that a force belongs only in drift.

9 Biological and Muscle Nonlinearities

9.1 Force–Length and Force–Velocity at a Declared Input

A common Hill-type idealization separates active and passive fiber force: \[ F_m=F_{\max}\left[a f_l(l_m)f_v(v_m)+f_{pe}(l_m)\right]. \] The activation \(a\), fiber length \(l_m\) and fiber velocity \(v_m\) have different roles. At fixed fiber length and velocity, the displayed expression is affine in activation, despite the nonlinear force–length and force–velocity curves. The passive curve is not the active curve continued beyond its optimum. A Gaussian can be a teaching approximation to active force–length shape, but its positive tails do not literally reach zero at finite lengths.

Millard and colleagues describe the simplifying assumptions, curve construction and muscle–tendon equilibrium used in several computational muscle models. Their work supports treating these as explicit approximations, with numerical and biological limits. It does not make one curve or parameter set universal across muscles or establish a golf-specific mechanism.

For shortening-positive speed \(v_s\), the classical Hill relation can be written \[ (F+a_H)(v_s+b_H)=(F_0+a_H)b_H, \qquad F=\frac{F_0b_H-a_Hv_s}{v_s+b_H}. \] Here \(a_H\) has force units and \(b_H\) has speed units; neither is activation. With \(v_{\max}=F_0b_H/a_H\), the equivalent normalized form is \[ F=F_0\frac{v_{\max}-v_s}{v_{\max}+(F_0/a_H)v_s}. \] The curvature factor is \(F_0/a_H\), not its reciprocal. For the illustrative \(F_0=100\) N, \(a_H=25\) N and \(b_H=1\) m/s, forces at shortening speeds 0, 1 and 4 m/s are 100, 37.5 and 0 N. These values check the algebra; they are not physiological parameter recommendations.

Use this branch over its declared shortening domain. Extending it blindly to negative speed crosses a singularity and does not provide a valid eccentric law. Lengthening forces need a separate calibrated description; isometric force is therefore not the largest force under every contraction condition. The relation concerns fiber shortening and force at specified conditions, not a direct relationship between clubhead speed and wrist contribution or between fist speed and impact force.

9.2 Excitation and Activation Dynamics

In the simple model \[ \dot a=(e-a)/\tau_a, \] excitation \(e\) is the input and activation is a state. With constant positive \(\tau_a\), this equation is affine in excitation. If the mechanical equations depend on the current activation, the augmented state \((q,v,a,\ldots)\) can be affine in \(e\) while having no instantaneous mechanical acceleration increment when only \(e\) changes at that fixed state. Excitation changes \(\dot a\) first, and its mechanical consequences develop along the trajectory.

Zero excitation does not instantly eliminate force. With \(a(0)=0.6\), \(\tau_a=0.04\) s and \(e=0\), the model gives \(a(t)=0.6e^{-t/0.04}\). At 20 ms, activation remains about 0.364. At fixed illustrative fiber conditions \(F_{\max}=100\) N, \(f_l=0.8\) and \(f_v=0.5\), the active force is still about 14.6 N. A “zero-excitation” and a “zero-active-force” counterfactual therefore start with different dynamics unless the state is changed as well.

More detailed activation models can use different activation/deactivation branches, lower bounds and state-dependent time constants. OpenSim’s activation documentation describes such choices. If the branch depends on whether excitation exceeds activation, the equation may be piecewise affine in excitation at a fixed state, rather than have one global \(G\). Nonlinear recruitment or other excitation terms need their own analysis. Extending the state is not a promise of global affinity.

9.3 Tendon Compliance, Pennation, and Elimination

Under a massless quasistatic series-force balance, a pennated fiber transmits \(F_t=F_m\cos\alpha\) to the tendon. The equal-force expression \(F_t=F_m\) is the zero-pennation special case. A simple geometric relation is \[ l_{mt}=l_t+l_m\cos\alpha. \] Differentiating it shows how tendon stretch and changing pennation separate whole muscle–tendon speed from fiber speed. Musculoskeletal routing also makes \(l_{mt}\) depend on the joint configuration. A club or hand velocity alone cannot resolve these internal quantities.

A linear tendon relation \(F_t=k_t(l_t-l_{t0})\) is a specified tensile approximation; tendon slack and nonlinear force–length behavior may require a different law. In equilibrium muscle models, solving the force balance for fiber velocity can involve inversion of a force–velocity curve and division by activation-dependent factors. Thus an expression linear in activation at fixed fiber velocity does not guarantee that the reduced fiber-state ODE is affine in activation when velocity is solved implicitly. Singularity handling and admissible fiber states are part of the model, not incidental numerical details.

9.4 Co-Contraction and Joint Stiffness

Agonist and antagonist forces can nearly cancel their joint moments while both remain substantial. Force summation still holds. A local two-muscle example makes the distinction explicit. Let the moment arm magnitude be \(r\), and suppose \[ F_1=a_1(F_0-krq),\qquad F_2=a_2(F_0+krq). \] Over a domain where both tensile forces are admissible, \[ \tau=rF_0(a_1-a_2)-kr^2(a_1+a_2)q. \] At \(q=0\) with \(a_1=a_2\), net torque is zero while the local restoring stiffness is \(kr^2(a_1+a_2)\). For \(r=0.03\) m, \(k=10{,}000\) N/m and \(a_1=a_2=0.5\), that stiffness is 9 N·m/rad. The torque is still affine in \((a_1,a_2)\) at fixed \(q\). State-dependent gains and input-dependent stiffness coexist without violating affinity or force addition.

This is a local model, not a universal quantitative law of biological stiffness. Real moment arms, tendon compliance, activation dynamics, reflexes and measurement bandwidth change the interpretation. With excitation as the input, the current activations and their stiffness contribution remain in the state when excitation is set to zero. A net-torque model alone cannot identify co-contraction or metabolic cost.

9.5 Stretch–Shortening and History

Work and force following active lengthening can differ from a reference shortening trial because of retained elastic storage, activation history, reflex contributions and contractile mechanisms. Which explanation is supported depends on the measurement and model. A trunk/pelvis separation angle does not establish tissue deformation, and a motion sequence does not measure a stretch–shortening benefit by itself.

Define a fair comparison: the matched variables, the prior loading, the activation protocol, the interval and the force or work output. Changing prehistory can change internal states even when the joint angles and velocities at the comparison instant match. A history model may need additional contractile or material states beyond \((q,v,a)\). A zero-input drift is not required to be an equilibrium, so nonzero stored energy or continuing motion does not invalidate a counterfactual. It instead makes the initial state and the intervention essential to its meaning.

10 Thermal and Environmental Nonlinearities

Temperature-dependent stiffness or resistance can be treated as measured parameters or retained states. A local approximation such as \(k(\Theta)=k_0[1-\alpha(\Theta-\Theta_0)]\) has a limited temperature domain and must not be extended into negative stiffness without physical justification. Quasistatic parameter treatment concerns model accuracy and timescale, not an automatic theorem about affinity.

Input choice matters for heating. In an electrical model with current retained as a state, Joule heating \(Ri^2\) can be a state-dependent term in the thermal equation while voltage enters linearly elsewhere. If current is instead an ideal commanded input, that same thermal equation is quadratic in the input. Adding temperature to the state therefore can reveal a non-affine input dependence that was absent from a mechanical-only reduction.

Wear, damage and environmental changes similarly alter parameters and internal states. Their evolution may depend on load, accumulated work, temperature or chemistry; it is not universally a monotone increase in friction or decrease in stiffness. For a short trial, a fixed-parameter approximation may be useful, but repeated-trial comparisons must account for drift in those parameters. A parameter-changing intervention is different from a zero-input comparison at the same model and state.

11 The Control-Affine Framework and Nonlinearity

11.1 A Classification That Preserves the Conditions

The test for affinity is whether the complete evolution equation, at the declared state and within the declared domain, can be written with an input-independent \(f\) and \(G\). Naming a physical mechanism is not enough.

Mechanism and Model Selected Input Result and Boundary
Regular rigid-body inertia, gravity and specified passive forces Realized joint torque Affine at fixed state; finite trajectories are generally nonlinear.
Command clipping Unclipped command Piecewise affine; generally no single global gain.
Same torque-limited mechanics Realized torque Affine equation with a restricted admissible input set.
Independent rigid constraints with feasible reactions Realized torque Affine within the fixed active mode; changing feasibility requires another solve.
Motor/load backlash with retained state Motor torque Can be affine within modes; engagement and memory affect trajectories.
Constant-time-constant activation with activation retained Excitation Affine augmented dynamics; zero excitation retains current muscle force.
Input-dependent heating or recruitment Depends on the chosen port Inspect the augmented equations; state extension alone is insufficient.

Physical forces and moments add after expressing them consistently and applying them to the same system. They are not necessarily independently identifiable or independently adjustable. Inverse dynamics typically identifies a resultant, not a unique allocation among muscles, friction, passive tissue and residual forces. An apparently good fit to one zero-input trial can conceal several compensating errors.

11.2 Instantaneous Increments and Finite Counterfactuals

An instantaneous evaluation holds the complete state fixed. A finite intervention integrates a new trajectory and allows the state to change. For nominal \(\bar x(t),\bar u(t)\) in a smooth affine mode, first-order variations obey \[ \delta\dot x=A(t)\delta x+G(\bar x(t))\delta u, \qquad A=Df(\bar x)+\sum_j\bar u_jDg_j(\bar x), \] where \(g_j\) is a column of \(G\). With matched initial state, \[ \delta x(T)=\int_{t_0}^T\Phi(T,s)G(\bar x(s))\delta u(s)\,ds \] to first order. The state-transition operator \(\Phi\) carries each early perturbation through the subsequent dynamics. It is precisely the missing ingredient when a finite motion difference is equated directly with \(G(x)u\).

For an output \(y=h(x)\) at fixed time, apply \(Dh\) to the terminal variation. For ball contact defined by an event surface, include the altered contact time and any impact/reset map. If the intervention changes contact order or reaches a different mode, one smooth-mode formula is insufficient. Finite differences from direct simulation can be useful, but they remain conditional on the model, intervention and solver’s treatment of events.

The site’s zero-torque counterfactual family should therefore report the torque or excitation port, retained activation and elastic states, contact rule, model version, and output interval. It is a way to pose a controlled comparison, not a unique physically observable partition of an entire swing. An input-nonlinear comparison can be exact without being representable by the affine increment formula.

12 Practical Examples: Where the Mechanisms Interact

12.1 Golf: Preparation, Motion, and Remaining Action

During a swing, preparation changes the configuration and internal state from which later action begins. Geometry changes the inertia and muscle moment arms; activation history changes current force capacity; tendon and shaft deformation retain energy; the feet and hands constrain admissible motion. Continuing active work and redistribution of existing energy occur together. None of these facts supports replacing the combined dynamics with a universal “hips drive, wrists only follow” rule.

Consider two trials with similar club speed but different hand paths. Grip force can do different work because its application-point velocity differs. That changes club energy even if the net grip couple is similar. Changing the hand path also changes geometric coupling and the feasible future trajectory. Conversely, equal joint angles and velocities need not mean equal muscle or shaft states. A meaningful comparison must state which of these variables is matched.

Near impact, remaining time, actuator bandwidth, feasible torque and output sensitivity jointly constrain what an intervention can change. A large instantaneous drift norm is not, by itself, proof of negligible remaining authority, optimal technique, or a particular neural latency. Club orientation, strike location and contact timing can respond differently from speed. The useful question is how an admissible change affects a specified outcome with uncertainty included.

Ball impact introduces a new contact; it is not backlash. The club remains connected to the hands before and after that ball-contact interval unless a separate grip-release event is specified. Gravity can help or oppose a chosen motion depending on configuration and direction; it is not universally destabilizing. These concrete distinctions keep the model connected to what a golfer actually does.

12.2 Humanoid Locomotion and Manipulation

Walking combines floating-base inertia, active joint forces, compliant tissues, and changing ground contacts. A foot can transmit external momentum while its ideal stationary contact does no work. Work can still enter through the actuators and be stored, transferred or dissipated elsewhere. A planned torque may require a ground reaction outside the friction cone, so torque feasibility and contact feasibility must be checked together.

For a robot holding an object, the same principle applies to grasp forces and actuator limits. A controller can request a motion that is algebraically attainable in an unconstrained model yet requires slip, excessive grip force or unavailable current. Retaining transmission and actuator states helps distinguish delayed delivery, saturation and geometry-induced sensitivity. Force addition remains a balance law; it does not promise that arbitrary force allocations are realizable.

13 Addressing Nonlinearities: Modeling and Control Strategies

13.1 Choose and Test the State

Start with coordinates, speeds, actuator states and the internal deformation or friction variables required by the model. Declare the contact mode or mode-selection rule. Resolve algebraic constraints consistently. If two histories with the same recorded state produce different modeled futures under the same input, either the state is incomplete, parameters changed, an external disturbance differs, or the evolution is not uniquely specified.

Extra states have a cost: parameters may be unidentifiable from the available measurements, and the model may become stiff or expensive. Compare alternative resolutions against the outputs and perturbations that matter, not just one unperturbed trajectory. A simple model with declared limits can be more informative than a detailed model whose added mechanisms cannot be distinguished experimentally.

13.2 Linearization and Feedback Linearization

At a fixed operating pair \((x_*,u_*)\), a Taylor expansion of \(F\) contains the constant term \(F(x_*,u_*)\) as well as \(A\delta x+B\delta u\). The constant disappears in a perturbation equation about an equilibrium or after subtracting a dynamically consistent nominal trajectory. If the nominal path is not a solution, its defect remains. The operating input matters because \(A\) contains derivatives of the input vector fields multiplied by that input.

The full-state input matrix of an \(n\)-joint second-order torque-driven system typically has \(2n\) rows and \(n\) columns. It cannot be inverted as a square matrix to cancel an arbitrary full-state drift. For fully actuated unconstrained joint mechanics with realized torque input, the specific computed-torque choice \[ u=M(q)\nu+c(q,v)+g(q) \] gives \(\ddot q=\nu\) in the exact model, if the requested torque is feasible. This is an acceleration-level result, not an inverse of the full \(G\).

For chosen outputs, feedback linearization requires an appropriate relative degree and a nonsingular decoupling map on the operating domain. Internal dynamics, model error, contact feasibility and actuator limits remain relevant. An invertible nonlinear actuator map can sometimes be compensated locally; a saturated flat branch cannot be inverted to obtain arbitrary output. Non-affinity alone is not a complete controllability or feedback-linearization verdict.

13.3 Uncertainty, Identification, and Discriminating Tests

Before interpreting a term as dominant, check units, signs, coordinate conventions, limiting cases and mechanical energy balance. Use held-out motions or interventions to test whether the same parameters explain new conditions. A residual may reflect sensor bias, unmodeled boundary work, an incorrect contact mode or missing compliance; it is not automatically muscle work or dissipation.

Static loading, prescribed motion at different speeds, relaxation trials, force measurements and small perturbations can distinguish mechanisms when designed around the competing models. A single drift observation generally cannot separate gravity, friction and elastic preload uniquely. Report which quantities were measured, inferred or imposed. Uncertainty in internal states should propagate into the counterfactual output, especially near impacts or feasibility boundaries.

Adaptive, robust and impedance controllers address different aspects of uncertainty under specific assumptions. Impedance control shapes a force–motion relationship; it does not automatically guarantee stability or performance for arbitrary contacts, delays and parameter errors. The relevant guarantee must be stated for the actual closed-loop system and admissible domain.

14 In Layman’s Terms: Nonlinearity in Everyday Mechanical Systems

A sticky door illustrates a threshold: a small push can be balanced by static friction, while a larger combined push starts motion. Once it moves, a different friction law may apply. The pushes still add; the door’s response changes because the contact state changes.

A loose transmission illustrates memory. After reversing the input, it may take motion to reach the opposite edge of the gap. The current input position alone cannot tell you which edge is engaged. This differs from a memoryless electronic deadzone that ignores all commands within a fixed interval.

A faucet that is already fully open illustrates a limit: asking for more opening does not create unlimited flow. The analogy concerns an output bound, not a claim that knob angle is a force or that valve flow is linear everywhere. Motor torque limits similarly require a model of how the command becomes a realized force.

For ideal low-slip bicycle geometry, fixed wheel steering angle \(\delta\) and wheelbase \(L\) give curvature \(\kappa=\tan\delta/L\), independent of forward speed. What increases with speed is lateral acceleration, approximately \(v^2\kappa\). At higher speeds, tire dynamics and force limits may invalidate that geometric approximation. This illustrates why stating the output matters: curvature and acceleration are different quantities. There is no universal rule that the same steering angle yields less authority merely because speed is higher.

A muscle also has several distinct outputs. Fiber force at a specified shortening speed, joint moment, hand acceleration and collision force are not interchangeable. Tendons, geometry, other muscles and the object being struck intervene. Fast club motion can coexist with useful active muscle work; the relevant evidence is a consistent force, motion and energy analysis.

The common lesson is to ask what is being held fixed. State dependence explains why the same action can work differently at different moments. Input dependence explains why doubling a command may fail to double its immediate effect. Memory explains why matching a visible pose may still leave different futures. A rigorous swing explanation needs all three distinctions.

15 Synthesis and Scope

The strongest use of the control-affine framework is to state a precise, testable relationship between a complete current state and a specified action. It accommodates many geometric, elastic and actuator-state nonlinearities. It does not erase contact transitions, make finite motions additive, identify individual muscle forces from net moments, or guarantee that an arbitrary state extension produces an affine equation.

For golf and humanoid modeling, the important connection is between preparation, retained state, feasible action and outcome. Preparation changes geometry, activation and storage. Those states determine both natural evolution and the response to remaining action. Contacts and capacity bounds constrain what can be delivered. Time and output sensitivity determine what that action can still change. An argument is technically stronger when it shows these relationships and their measurement limits than when it attributes performance to one named force or one sequence of speed peaks.

The models here are deliberately bounded. They establish algebraic distinctions and mechanical checks, not a validated physiological explanation of every swing. Broader empirical claims require measured inputs and outputs, independent validation and uncertainty analysis. Read the related treatments of superposition, force taxonomy, flexible systems, nonlinear control, inverse dynamics, Lagrangian mechanics, and spatial mechanics with the same state, input and system-boundary discipline.

16 Reproduce the Mechanical Checks

The following program implements the stated teaching cases. For the two-link model, use \(m_1=2\) kg, \(m_2=1\) kg, \(l_1=1\) m, \(r_1=0.5\) m, \(r_2=0.4\) m, \(I_1=0.15\) kg·m² and \(I_2=0.05\) kg·m². Tests independently reconstruct the mass matrix from center-of-mass Jacobians, differentiate it to obtain the Christoffel terms, and check energy rate against actuator power. They also test fixed-state acceleration increments, force balance at breakaway, retained play state, Hill-curve limits and nonzero activation after excitation removal. Passing these checks verifies the examples, not a calibrated human model.

# Nonlinearity mechanical checks
import numpy as np

GRAVITY_M_S2 = 9.81


def two_link(q: np.ndarray, velocity: np.ndarray, torque: np.ndarray) -> dict:
    """Two-link teaching model; SI units, angles measured from hanging down."""
    angle_one, angle_two = q
    speed_one, speed_two = velocity
    coupling, distal_inertia, base_inertia = 0.4, 0.21, 1.86
    cosine, sine = np.cos(angle_two), np.sin(angle_two)
    mass = np.array([
        [base_inertia + 2 * coupling * cosine, distal_inertia + coupling * cosine],
        [distal_inertia + coupling * cosine, distal_inertia],
    ])
    coriolis = coupling * sine * np.array([
        -2 * speed_one * speed_two - speed_two**2, speed_one**2,
    ])
    gravity = GRAVITY_M_S2 * np.array([
        2 * np.sin(angle_one) + 0.4 * np.sin(angle_one + angle_two),
        0.4 * np.sin(angle_one + angle_two),
    ])
    potential = -GRAVITY_M_S2 * (2 * np.cos(angle_one) + 0.4 * np.cos(angle_one + angle_two))
    acceleration = np.linalg.solve(mass, torque - coriolis - gravity)
    return {
        "mass": mass, "coriolis": coriolis, "gravity": gravity,
        "acceleration": acceleration,
        "energy": 0.5 * velocity @ mass @ velocity + potential,
    }


def rest_friction(drive: float, load: float) -> tuple[float, float]:
    """Instantaneous onset from rest: 1 kg block, 5 N static/4 N sliding levels."""
    applied = drive + load
    friction = -applied if abs(applied) <= 5 else -4 * np.sign(applied)
    return applied + friction, friction


def play(commands: np.ndarray, half_gap: float = 0.5) -> np.ndarray:
    """Quasistatic position play, retained output initially zero."""
    output = 0.0
    history = []
    for command in commands:
        output = np.clip(output, command - half_gap, command + half_gap)
        history.append(output)
    return np.array(history)


def hill_shortening(speed: np.ndarray, force_zero: float, a: float, b: float) -> np.ndarray:
    """Hill shortening branch only: 0 <= speed <= force_zero*b/a, a,b > 0."""
    return (force_zero * b - a * speed) / (speed + b)


def deactivation(times: np.ndarray) -> tuple[np.ndarray, np.ndarray]:
    """Constant 40 ms time constant, zero excitation, fixed fiber conditions."""
    activation = 0.6 * np.exp(-times / 0.04)
    force = 100 * 0.8 * 0.5 * activation
    return activation, force

17 References and Evidence Boundaries

  • Russ Tedrake, Acrobots, Cart-Poles, and Quadrotors and Multi-Body Dynamics, Underactuated Robotics. Used for the declared multibody and constraint formulations; inertia and coordinate conventions are translated explicitly. The numerical teaching model above is independently derived and checked.
  • C. Canudas de Wit, H. Olsson, K. J. Åström and P. Lischinsky, A New Model for Control of Systems With Friction, IEEE Transactions on Automatic Control 40(3), 1995. The model-definition pages support the internal-state friction example; they do not establish that its parameters or behavior apply to anatomical joints.
  • MathWorks, Backlash. Used to distinguish a positional play operator from a full torque-driven transmission.
  • A. V. Hill, The Heat of Shortening and the Dynamic Constants of Muscle, 1938, pp. 160–162. The original isotonic shortening relation supports the hyperbola and parameter dimensions; its frog-muscle measurements are not universal human parameters. The illustrative values here verify algebra only.
  • M. Millard, T. Uchida, A. Seth and S. L. Delp, Flexing Computational Muscle: Modeling and Simulation of Musculotendon Dynamics, 2013, DOI 10.1115/1.4023390. The model definitions and their stated assumptions inform the muscle/tendon discussion. Their biological comparisons are not golf experiments and are not treated as validation of the examples here.
  • OpenSim, First-Order Activation Dynamics. Used for excitation/activation distinctions and implementation-dependent branches and bounds. The constant-time-constant example is explicitly simpler.
  • NASA Glenn, Lift Equation. Used for the dimensionless coefficient convention, not a golf-ball coefficient fit.

18 Appendix: Notation and Definitions

Here \(q\) denotes generalized coordinates, \(v\) generalized speeds, and \(x\) the complete retained state. In the planar examples \(v=\dot q\); for other representations use the stated map \(\dot q=N(q)v\). The mass matrix \(M\) maps accelerations to generalized inertial forces; \(c=Cv\) is a vector, while \(C\) is a nonunique matrix representation. Gravitational potential is \(U\), with \(g=\nabla_qU\) and applied generalized gravity force \(-g\).

The realized generalized-force map is \(B\); the full state input map is \(G\). Drift is the full state derivative at the specified zero input, including the kinematic upper block and any retained active/internal states. Symbols \(e\) and \(a\) denote excitation and activation in the muscle section; the impact restitution coefficient is separately declared in its own equation. Hill parameters \(a_H,b_H\) are force and speed constants, not activation. Every input and counterfactual must be interpreted using its section’s declared port, mode, interval and boundary conditions.

Citation

BibTeX citation: Download .bib
@online{olson2026,
  author = {Olson, Dieter},
  title = {Classic {Sources} of {Nonlinearity} in {Mechanical}
    {Systems:} {A} {Comprehensive} {Review} for the {Control-Affine}
    {Framework}},
  date = {2026-03-10},
  url = {https://affinedrift.com/articles/sources-of-nonlinearity.html},
  langid = {en}
}
For attribution, please cite this work as:
Olson, Dieter. 2026. “Classic Sources of Nonlinearity in Mechanical Systems: A Comprehensive Review for the Control-Affine Framework.” March 10. https://affinedrift.com/articles/sources-of-nonlinearity.html.