Base Disturbance Rejection
Definition
Base disturbance rejection is the control objective of holding the end-effector on its
desired inertial-space trajectory despite unknown motion of the manipulator’s base, by
commanding compensating joint motion at the velocity (kinematic) level. In Holt & Desrochers
(holt1992inertial) the base (“platform”) disturbance enters as an
exogenous, unmeasured signal in the platform joints: the arm does not actuate or
stabilize the base — it treats the base motion as a disturbance to be cancelled at the end-effector
through resolved-motion-rate control. Note the regime: this is neither the free-floating case
(where arm motion reacts back onto an uncontrolled base via momentum coupling) nor our
free-flying case (where the base is fully actuated). It is a driven mobile platform — the base
is moved by an external agent and the arm rejects that motion kinematically. For our free-flying
system the analogous problem is rejecting residual base-attitude/translation error left by the base
controller; the same singularity caveats below apply.
Key Equations
Symbols per notation.md.
Holt’s source uses paper-local symbols (, , , , , );
these are not in notation.md and are reproduced source-faithfully here, not
canonicalized (the wiki’s , are the corresponding
velocity-level objects).
The differential end-effector displacement splits into the measured arm contribution and the
unknown base-disturbance contribution (Eq. 14):
The disturbance-rejection control law commands joint displacements that approximately cancel the
inertial-space error via an inverse Jacobian (Eq. 19):
Here is the approximate pseudoinverse (block-SVD of the sub-Jacobians,
thresholded at ) used so the law stays well-defined through singular regions — a
large disturbance can drive the arm into a singularity, so avoidance alone is insufficient.
Source Support
- holt1992inertial — primary. Experimentally rejects step,
sinusoidal, and random disturbances in a 3-DOF platform’s rotational axis using a 6-DOF PUMA;
introduces the approximate-pseudoinverse control law and shows it behaves as a
high-pass filter (low-frequency base disturbances attenuated most), with stability/performance set
by disturbance amplitude and frequency.
Related Topics
- singularity_robust_inverse — Holt’s is a
singularity-robust inverse: it stays bounded through singular regions a disturbance may force the
arm into, where the exact blows up. - inertial_space_tracking — the rejection objective is stated in
inertial space (); rejecting base motion is exactly holding the inertial-space
track against an unknown base term. - damped_least_squares — the canonical alternative to Holt’s thresholded
block-SVD for keeping the inverse bounded near singularities (our notation.md
, Chiaverini variable damping). - trajectory_tracking — disturbance rejection is the
trajectory-tracking problem with an additive exogenous base term on the output. - resolved_motion_rate_control — the rejection law is RMRC:
inertial-space error is mapped to joint rates through the (approximate) inverse Jacobian.
Contrast with base_disturbance_minimization: minimization
(reaction-null-space, free-floating) keeps arm motion from exciting the base in the first place,
whereas rejection (here) lets the base move and actively cancels its effect at the end-effector.
Open Questions
- Holt treats the base disturbance as exogenous and unmeasured (driven platform). For our
free-flying system the base is actuated and its state is estimated — does the kinematic-only
rejection still suffice, or must base and arm be co-designed (coordinated control)
rather than the arm merely reacting? - The high-pass-filter behavior attenuates low-frequency base disturbances least at DC. A standing
base-pose offset (our cruise-lag floor, see trajectory_tracking) is
effectively DC — how much steady-state EE error does pure kinematic rejection leave? - Holt’s stability bound depends on knowing the maximum base deviation a priori. What
replaces that bound when the base disturbance is the (bounded but coupled) residual of a dynamic
base controller rather than an independent platform?