manifold_rules
¶
Manifold kinematic substitutions applied during EOM derivation.
For S2 (unit sphere) with manifold point q, tangent vector ω, variation vector ξ: - Variation(ω) → ξ̇ - ω × ξ (derived from δ/d/dt commutativity)
For SO3 (rotation group) with tangent vector Ω, variation vector η: - Variation(Ω) → η̇ + Ω × η (body-frame angular velocity convention)
The expansion of δ(ω) follows from the commutativity of δ and d/dt on the action integral. Starting from q̇ = ω × q and δq = ξ × q, setting δ(q̇) = d/dt(δq) and solving for δ(ω) gives δ(ω) = ξ̇ - ω × ξ.
Similarly, for SO3 with Ṙ = R·Hat(Ω) and δR = R·Hat(η), commutativity of δ and d/dt gives δ(Ω) = η̇ + Ω × η.
apply_manifold_rules(expr, variables)
¶
Apply manifold kinematic substitutions to an expression.
Walks the expression tree and replaces Variation(TS2) and Variation(TSO3) nodes with their kinematic expansions.