Prescribed Performance Control
Definition
Prescribed performance control (PPC) is a design paradigm that forces a tracking error to evolve
inside a predefined, time-varying envelope, so that its transient (convergence rate, maximum
overshoot) and steady-state (residual band) behaviour are guaranteed a priori rather than merely
emerging from gain tuning. The envelope is a decaying performance function ; the error
is held within it either by an error transformation (mapping the constrained error to an
unconstrained variable) or, as in yao2021adaptive, by an asymmetric
time-varying barrier Lyapunov function whose value blows up as the
error approaches the bound. In that source the constrained quantity is the generalized position
error (joint angles plus base attitude), giving a
collision-avoidance / safety guarantee between base and arm.
Regime caveat. The cited source calls its system “free-flying” but uses the attitude-controlled
sub-type: base rotation is actively controlled while base translation is left free
(yao2021adaptive §2). That is not our fully-actuated 6-DOF base; its stacks base
attitude and joint angles only, and the demo is a planar two-link arm. PPC is a controller-side
guarantee and is regime-agnostic in principle, but the plant model here is not our free-flying FFSM.
Key Equations
Symbols per notation.md.
PPC-specific symbols below () are
not in the canonical registry; they are reproduced source-faithfully from yao2021adaptive. In
particular here is the scalar decay rate of the performance function — unrelated to the
load-bearing matrix (the coordinate transform) in notation.md.
Performance envelope on the generalized position error (Eq. 14–15):
\qquad \mathbf{e}_1=\mathbf{q}-\mathbf{q}_d,$$ $$\delta_i(t)=\bigl(e_{1i,0}-e_{1i,\infty}\bigr)\,e^{-\gamma_i t}+e_{1i,\infty}, \qquad e_{1i,0}>e_{1i,\infty}>0,$$ with $\mathbf{k}_{a}=[\,h_{ai}\delta_i\,]$, $\mathbf{k}_{b}=[\,h_{bi}\delta_i\,]$; $e_{1i,0}$ sets the initial bound, $e_{1i,\infty}$ the steady-state band, and $\gamma_i$ the guaranteed convergence rate. (The condition $e_{1i,0}>e_{1i,\infty}>0$ is what makes $\delta_i$ *decay*; the source's inline text states $e_{1i,\infty}>e_{1i,0}>0$ just after Eq. 15, but that is a typo in `yao2021adaptive` — contradicted by its own numerical example $e_{1i,0}=0.3>e_{1i,\infty}=0.01$ and by the decaying-envelope intent. The sense is corrected here.) Asymmetric time-varying BLF that enforces the envelope (Eq. 16): $$V_1=\frac{1}{2}\sum_{i=1}^{n}\!\left[\,p(i)\,\ln\frac{k_{bi}^2}{k_{bi}^2-e_{1i}^2} +\bigl(1-p(i)\bigr)\ln\frac{k_{ai}^2}{k_{ai}^2-e_{1i}^2}\right], \quad p(i)=\begin{cases}1,&e_{1i}>0\\0,&e_{1i}\le 0\end{cases}$$ Keeping $V_1$ bounded in the closed loop keeps $|e_{1i}|<k_{ai},k_{bi}$ for all $t$, so the bound is never violated in theory provided $-\mathbf{k}_a(0)<\mathbf{e}_1(0)<\mathbf{k}_b(0)$. ## Source Support - [yao2021adaptive](../sources/yao2021adaptive.md) — primary; defines the prescribed performance bounds (Eq. 14), the exponential performance function (Eq. 15), and the asymmetric time-varying BLF (Eq. 16) used to enforce them under parametric uncertainty, disturbances, and actuator saturation; proves semi-global uniform ultimate boundedness of the closed loop while the position error stays in the envelope. Surveys the alternative *error-transformation* route (its Refs. 35, 36) for PPC. ## Related Topics - [barrier_lyapunov_function](barrier_lyapunov_function.md) — the mechanism that enforces PPC here: a Lyapunov-like function diverging at the envelope boundary, so bounded $V$ implies the bound holds. - [trajectory_tracking](trajectory_tracking.md) — PPC is the *quality-of-tracking* guarantee layered on the tracking problem; it shapes the error transient/steady-state rather than just driving it to zero. - [high_gain_observer](high_gain_observer.md) — the source's output-feedback variant estimates velocity with a high-gain observer, retaining the PPC guarantee without velocity measurements. - [task_space_error_dynamics](task_space_error_dynamics.md) — contrast: this source enforces PPC on the *generalized/joint* error; mapping the envelope onto a task-space (end-effector) error is a distinct construction relevant to our circumcentroidal EE setup. - [ffsm_dynamics](ffsm_dynamics.md) — the plant: $\mathbf{M}(\mathbf{q})\ddot{\mathbf{q}}+ \mathbf{C}(\mathbf{q},\dot{\mathbf{q}})\dot{\mathbf{q}}=\operatorname{sat}(\boldsymbol\tau)+ \mathbf{d}$, here in the attitude-controlled (translation-free) form, not our 6-DOF actuated base. ## Open Questions - The source enforces PPC on the **generalized/joint** error of an *attitude-controlled* base (translation free). Does the guarantee, and the BLF construction, carry over to a task-space EE-pose error on our **fully-actuated 6-DOF** free-flying base, where base translation is an actuated DOF? - The envelope decay rate $\gamma_i$ and steady band $e_{1i,\infty}$ are chosen a priori. How should they be reconciled with our cruise-lag / steady-state error floor $\tilde{\boldsymbol x}_{ss}$, which the outer loop is *forced* to hold during cruise — can a fixed PPC band ever be tighter than that floor? - The bound holds only if the initial error already lies inside the envelope ($-\mathbf{k}_a(0)<\mathbf{e}_1(0)<\mathbf{k}_b(0)$). How is that precondition met when capturing a non-cooperative target with uncertain initial relative pose?