Covariance Propagation

Definition

Covariance propagation is the recursive computation of the state’s error-covariance matrix forward
along a planned trajectory, so that uncertainty (not just the nominal mean) is known at every step and
can be checked against safety constraints. In zheng2024informed
the system is linearized along a nominal trajectory and closed with a state-feedback law (the
source computes the gains via finite-time LQR) plus a
Kalman filter; under Gaussian motion noise and measurement noise , the state covariance
splits exactly into the closed-loop state-estimate covariance and the estimation-error
covariance, each obeying its own linear recursion. This is the prediction step that lets a
belief_space_planning algorithm evaluate a
chance_constraints collision bound a priori. The source assumes a generic
robot with nontrivial dynamics in a planar obstacle field — a terrestrial / fixed-environment setting,
not a space base (neither free-flying nor free-floating).

Key Equations

Symbols per notation.md.

Source-local covariance symbols () and the estimation-error variable are
taken as written in zheng2024informed and are distinct from
the notation.md accents ( = full-transformed inertia, = tracking
error); they are flagged here to avoid a glyph collision.

Linearized closed-loop error dynamics along the nominal trajectory (the feedback closes the loop):

\check{y}_k = C_k\check{x}_k + D_k v_k.$$ Estimation-error covariance — the Kalman recursion (predict / update): $$\tilde P_{k^-} = A_{k-1}\tilde P_{k-1}A_{k-1}^{\mathsf T} + G_{k-1}G_{k-1}^{\mathsf T},\qquad \tilde P_k = (I - L_k C_k)\,\tilde P_{k^-}.$$ Total state covariance is the **sum** of the estimate and estimation-error covariances (using $\mathbb{E}[\hat x_k\tilde x_k^{\mathsf T}]=0$): $$P_k = \hat P_k + \tilde P_k.$$ For a Gaussian initial state this $P_k$ fully specifies the state distribution along the trajectory, so chance constraints can be evaluated step-by-step (the source approximates the collision probability by Monte Carlo). ## Source Support - [zheng2024informed](../sources/zheng2024informed.md) — primary; its §IV "Covariance Propagation" derives the LQR+Kalman recursions (13a–c), (14) and the split $P_k=\hat P_k+\tilde P_k$ used by the IBBT belief-tree `Propagate` step to evaluate chance constraints. ## Related Topics - [chance_constraints](chance_constraints.md) — the propagated $P_k$ is exactly what the per-step collision-probability bound $\Pr[x_k\in\mathscr X_{\mathrm{obs}}]<\delta$ is evaluated against. - motion_planning_under_uncertainty — covariance propagation is the prediction primitive that turns a deterministic plan into an uncertainty-aware one. - measurement_uncertainty — the $D_k v_k$ / $C_k$ terms enter the Kalman update; state-dependent sensing (information-rich regions) is precisely what reshapes $\tilde P_k$. - belief_space_planning — each belief node stores a covariance ($n.P$, $n.\tilde P$); propagation is how an edge maps one belief node to the next. - [model_predictive_control](model_predictive_control.md) — receding-horizon control likewise propagates covariance to enforce probabilistic constraints over the prediction horizon. ## Open Questions - The source linearizes a generic robot and assumes the trajectory stays near the nominal under feedback; does this Gaussian/linearized split survive the strong base–arm [dynamic_coupling](dynamic_coupling.md) of a free-flying space manipulator, or is a non-Gaussian / unscented propagation needed near singularities? - The split $P_k=\hat P_k+\tilde P_k$ presumes the LQR and Kalman gains are fixed and the cross term $\mathbb{E}[\hat x_k\tilde x_k^{\mathsf T}]=0$; how is it affected when gains are derated near a [dynamic_singularity](dynamic_singularity.md) (impedance derate), where the closed loop is no longer the design LQR?