Redundancy Resolution

Definition

Redundancy resolution is the choice of one joint-space command among the continuum admitted by
a kinematically redundant manipulator (joints exceeding task dimension , see
kinematic_redundancy): the inverse-kinematics map is ill-posed, so a
resolution scheme must single out a unique . The classical resolution operates
at velocity level — the pseudoinverse_jacobian returns the minimum-norm
solution and the residual freedom is steered through the Jacobian
null_space_projection to serve secondary objectives. The page is regime-general:
the resolution math is identical for fixed-base and space arms, but what counts as the task and how
base motion enters differs by regime
— note the assumption of each source. dambrosio2024redundant
treats a free-flying chaser (6-DOF actively controlled base + 7-DOF arm, one degree of redundancy
for a 6-DOF end-effector pose task) and resolves the redundancy with a learned policy rather than a
pseudoinverse, sidestepping the ill-posed IK at run time.

Key Equations

Symbols per notation.md.

Velocity-level (resolved-motion-rate) redundancy resolution for a desired end-effector twist
, with minimum-norm primary term plus a null-space secondary command
:

The redundancy is the non-trivial kernel: ,
which is exactly what projects onto.

The learning-based alternative used by dambrosio2024redundant
replaces the analytic inverse with a trained PPO policy mapping the observed pose error to
the desired joint rates (notation source-faithful, not canonicalized in notation.md):

where the policy output is the desired joint rate (source Eq. 10) — distinct from
the observed current rate in — and its time-integral ,
together with , is passed to a feedback-linearizing PD law

(source = our ).

Source Support

  • dambrosio2024redundant — primary; explicitly a free-flying
    7-DOF redundant arm on a fully-actuated 6-DOF base. Motivates redundancy resolution by the “ill-posed
    inverse kinematics” of the redundant arm, then resolves it with a PPO/DRL guidance policy that outputs
    the 7 joint rates directly (no pseudoinverse / null-space projection), avoiding real-time optimization.
  • kinematic_redundancy — the condition () that creates the solution
    continuum this technique must resolve.
  • pseudoinverse_jacobian — supplies the minimum-norm primary term
    of the classical resolution.
  • null_space_projection — the projector that routes the
    redundant freedom to secondary objectives without disturbing the end-effector task.
  • task_priority_redundancy — the priority-ordered generalization, where
    lower-priority tasks live in the null space of higher-priority ones.
  • resolved_motion_rate_control — the velocity-level IK framework in
    which the resolution equation above is posed.

Open Questions

  • D’Ambrosio’s policy resolves redundancy implicitly (no closed-form null-space command): can a
    secondary objective — base-reaction minimization, manipulability, joint limits — be guaranteed, or
    only encouraged through the reward shaping?
  • The source is free-flying with the base held at a synchronized state by a separate PD loop; classical
    free-floating resolution folds momentum conservation into a generalized Jacobian
    (generalized_jacobian). For our actively-actuated base, is the plain
    kinematic resolution sufficient, or should base reaction still shape the
    null-space command?
  • Learned resolution gives no a-priori guarantee of avoiding kinematic singularities of
    ; how does the policy behave as ?