Reaction Null Space

Definition

The Reaction Null Space (RNS) is the kernel of the coupling inertia matrix — the off-diagonal block of the system inertia matrix that couples an unactuated (or attitude-only-actuated) base to the manipulator joints. Joint velocities, accelerations, or torques drawn from this kernel produce reactionless motion: arm motion that imposes zero net momentum or spatial force on the base, achieving complete dynamical decoupling of base from arm without spending base actuation. RNS control projects an arbitrary joint command onto this kernel via the projector , then layers redundant subtasks (orientation tracking, vibration damping) inside it. The defining sources assume the free-floating regime (base attitude conserved by passive joint motion); our free-flying system instead actuates the 6-DOF base directly through the circumcentroidal map, so for us RNS is a choice (exploit redundancy to spare actuation) rather than a necessity — see free_flying_vs_free_floating.

Key Equations

Notation

The defining sources write joint rates as and the coupling inertia as (Nenchev) / (Sone). Here joint rates use the canonical (notation.md); and the projector are NOT yet in notation.md and are flagged for central addition. is the identity; is the Moore–Penrose pseudoinverse.

Coupling inertia and the conservation law. Referencing spatial momentum to the base frame, the composite-rigid-body momentum splits into a locked-base term plus a coupling term, with the coupling inertia matrix (coupling_inertia_matrix):

(nenchev2013reaction eq 4)

Under zero initial momentum (), the reaction momentum equals minus the coupling momentum, . Reactionless motion (complete decoupling) is achievable iff the coupling momentum is conserved:

(nenchev2013reaction eq 12)

The RNS projector. The general redundant solution decomposes into a particular reaction-cancelling part plus a homogeneous reactionless part living in :

(nenchev2013reaction eq 11; projector form per sone2016reactionless eq 4)

is an arbitrary joint-rate parameter; the set is the Reaction Null Space and captures the entire reactionless set (sone2016reactionless eq 4). With the Moore–Penrose pseudoinverse the two components are orthogonal, so the reaction-cancelling part locally minimizes the coupling kinetic energy rather than the total kinetic energy (nenchev2013reaction).

Dimension and the attitude-only relaxation. For a redundant arm the projector has when both base translation and attitude are decoupled; relaxing to base attitude only (drop the 3 translational rows, ) raises the kernel dimension to , enlarging the reactionless set — the relevant case for free-floating space robots where only base attitude matters. A 7-DOF arm then yields a 4-DOF reactionless manifold, of which the positioning DOF is essentially one, so orientation-prevailing tasks fit the manifold far better than positioning (sone2016reactionless).

Prioritized reactionless control law. RNS subtasks are stacked by consecutive null-space projection: a restricted Jacobian carries a wrist-orientation task inside the reactionless kernel, with lower-priority position stabilization in its residual null space:

(sone2016reactionless eq 6)

Dynamic singularity of the kernel. Fixed points of the reactionless vector field coincide with rank deficiency of the coupling inertia matrix — a dynamic singularity (dynamic_singularity) where becomes ill-defined:

(sone2016reactionless §5)

These are distinct from kinematic singularities () and algorithmic singularities of the restricted Jacobian; only the latter corrupt the control law and are handled by damped-least-squares or singularity-consistent inverses (sone2016reactionless).

Source Support

  • coupling_inertia_matrix — RNS is defined as its kernel; its rank deficiency is the dynamic singularity that breaks .
  • reactionless_motion — the physical phenomenon RNS control produces (zero base disturbance from arm motion).
  • base_disturbance_minimization — RNS is the redundancy-exploiting route to it; our circumcentroidal control is the actuated-base alternative.
  • dynamic_singularity — where collapses the reactionless manifold.
  • free_flying_vs_free_floating — RNS lives in the free-floating regime; contrast our free-flying actuated-base ( circumcentroidal) approach.
  • null_space_projection — RNS is a specific (dynamics-defined) instance of null-space task prioritization.
  • circumcentroidal_motion — our regime’s alternative: actuate the base via instead of exploiting .

Open Questions

  • For a fully-actuated base (free-flying), what is the optimal split between reactionless arm planning (free) and active base actuation under a fuel/torque cost? Nenchev enables but does not pose this trade.
  • How do the dynamic singularities of (where collapses) relate geometrically to the kinematic singularities of and to the conditioning of our map ()?
  • Does the near-minimum-energy equivalence (, sone2016reactionless) survive the full 4-DOF spatial reactionless manifold, beyond the planar reduction it was shown on?

Implementation (sims wiki)

External — into the code wiki via the sims_wiki/ symlink (resolves in Obsidian, not GitHub).

  • robot — assembles the generalized Jacobian whose kernel defines the RNS (the redundant self-motion freeze lives in the controller).