Covariance-Steering World-Model MPC
Implementation & benchmark of arXiv:2608.07765 — Information-Aware Model Predictive Control for Satellite Inspection
Source paper: Information-Aware Model Predictive Control for Satellite Inspection arXiv:2608.07765 ⓘ · analyzed Sep 1, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Add a differentiable uncertainty state to a learned world model and optimize action sequences using both predicted task reward and the covariance of the latent or target-state estimator. The policy should move or attend toward states that make observations informative, rather than selecting actions only from mean-state predictions.
Formulas
Mathematical statement
Let z_t be a latent target state, s_t the controllable agent state, u_t the action, and Sigma_t the estimator covariance. Use learned dynamics s_(t+1) = f_phi(s_t,u_t), latent dynamics z_(t+1) = A_theta z_t + w_t with w_t distributed as a zero-mean Gaussian with covariance Q, and an observation model y_t = h_psi(s_t,z_t) + v_t with observation noise covariance R. Linearize the observation model with H_t equal to the Jacobian of h_psi with respect to z at the predicted state. Propagate covariance with the Kalman prediction and measurement-update equations. Optimize task cost, control effort, and trace(W_Sigma Sigma_t), optionally requiring terminal trace(W_T Sigma_T) to be below a target. The mechanism is the coupling from action-dependent state geometry to future estimator covariance.
Implementation notes
1. Integration point: place this module between a learned world model and the policy head. At every environment step, encode observations into a mean latent state z_t and covariance Sigma_t, optimize a horizon-H action sequence, execute only its first action, and replan. The covariance may be diagonal, low-rank, or obtained from an ensemble. 2. Pseudocode: initialize s, z, and Sigma; for each candidate action sequence, roll out s_(k+1) = f_phi(s_k,u_k); compute H_k by automatic differentiation through h_psi; apply the covariance prediction and Kalman update equations; accumulate task loss, control penalty, and lambda_Sigma times trace(W_Sigma Sigma_k); backpropagate through the rollout; perform gradient descent or CEM iterations; execute u_0; then update the belief using the real observation. Project actions onto safety bounds. 3. Computed from the paper mechanism: Riccati covariance recursion, geometry-dependent observation Jacobian, information gain, and terminal covariance constraint. Estimated empirically: A_theta, Q, R, model Jacobians, and covariance calibration. Estimate Q and R from held-out prediction residuals. 4. First cheap experiment: use a two-dimensional point-target navigation task with a camera whose observation noise depends on viewing angle. Compare reward-only MPC, random exploration, and covariance-steering MPC. Sweep lambda_Sigma and horizon H. The prediction is monotonic reduction of terminal covariance with cumulative information gain, plus a feasibility transition when the terminal covariance bound falls below the minimum reachable trace. The measured transition should agree with an exhaustive short-horizon search within 20 percent, and covariance steering should reduce terminal trace by at least 20 percent at matched task cost.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Not reproduced ✗
Stage 2 · Practical benchmark result: Significant win ✓
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
How to read this: The implementation beat the baseline, but the claimed mechanism did not reproduce at benchmark scale. The gain may come from another effect; treat the cause as unresolved.
Stage 1 — Mechanism check agent confidence 9/10
Built a readable covariance-steering MPC toy module with Kalman covariance rollout, action-dependent observation Jacobians, information-gain computation, exhaustive MPC, and reproducible sweeps. The mechanism manifested: the information identity matched to 1.6e-15 absolute error, anisotropy-dependent maximum information matched theory below 6e-15 relative error, repeated-observation information scaling matched below 1e-15 relative error, and the restricted action transition occurred between lambda=0.34 and 0.35 versus the predicted 0.342. Covariance steering reduced horizon-2 terminal trace from 7.65 for reward-only MPC to 0.18 at lambda=10, at increased task cost.
- Agent confidence
- 9/10
- Baseline
- Reward-only MPC (lambda=0): task cost 0.0152, terminal covariance trace 7.653.
- Idea
- Covariance-aware MPC: at lambda=0.1, task cost 0.0990 and terminal trace 0.820; at lambda=1, task cost 0.2589 and trace 0.375; at lambda=10, task cost 0.7615 and trace 0.178. Prediction sweeps: anisotropy information relative error <6e-15; cumulative information scaling relative error <1e-15; action-choice threshold observed 0.34-0.35 versus predicted 0.3422.
Limitations: This is a deterministic 2D linear-Gaussian toy verification, not a learned world model or physical environment. It uses exhaustive action-sequence search rather than differentiable optimization, and does not test online belief updates, model misspecification, calibration, sample efficiency, wall-clock performance, or a terminal covariance constraint in a real task.
How to run: python3 covariance_mpc.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2608.07765)
Beats the tuned baseline by 0.0% (p=0.0081, wins 8 / 8 paired seeds; metric: lower is better).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0343
- Idea mean
- 0.0343
- Effect (Δ)
- -0 (−0.0%; negative = idea better)
- Wins
- 8 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Not confirmed ✗
- Practical effect
- Helps
- Baseline tuning
- swept over 3 configs
This is the registered built-in supervised dynamics track, not online MPC or environment interaction. The intervention is a simplified diagonal posterior-trace penalty from the trained model input Jacobian, not a full learned latent Kalman world model with action-sequence planning. The run used 400 training samples and 4 epochs to fit the budget; the observed significant improvement is extremely small, and the mechanism signature failed confirmation.
How to run: python3 bench_covariance_mpc.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Worked ✓
Agent confidence: 6/10
idea better (significant). The covariance-trace regularized rnn_small system achieved mean test MSE 0.0343368845 versus 0.0343382391 for the tuned baseline across 8 paired seeds, with delta_mean=-1.3546e-6 and permutation p=0.0081. However, the trained-model mechanism signature was not confirmed: predicted covariance reduction was only 2.47e-6 and observed perturbation variance slightly increased, so this should be treated as a fragile statistical signal rather than a demonstrated covariance-steering effect.
- Baseline
- dynamics/rnn_small; best lr=0.006, lambda=0, weight_decay=0; 8-seed test MSE mean=0.03433823911473155, std=0.009624454960097603.
- Delta mean
- -1.3546086847782135e-06
- Idea
- dynamics/rnn_small; best lr=0.006, covariance lambda=0.01, weight_decay=0; 8-seed test MSE mean=0.03433688450604677, std=0.009624430288781124.
- Mechanism confirmed
- false
- P value
- 0.0081
Benchmark result
Beats the tuned baseline by 0.0% (p=0.0081, wins 8 / 8 paired seeds; metric: lower is better).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0343
- Idea mean
- 0.0343
- Effect (Δ)
- -0 (−0.0%; negative = idea better)
- Wins
- 8 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Not confirmed ✗
- Practical effect
- Helps
- Baseline tuning
- swept over 3 configs
This is the registered built-in supervised dynamics track, not online MPC or environment interaction. The intervention is a simplified diagonal posterior-trace penalty from the trained model input Jacobian, not a full learned latent Kalman world model with action-sequence planning. The run used 400 training samples and 4 epochs to fit the budget; the observed significant improvement is extremely small, and the mechanism signature failed confirmation.
How to run: python3 bench_covariance_mpc.py
Artifacts
- bench_covariance_mpc.py 7.2 KB View Raw
- bench_report.json 6.1 KB View Raw
- covariance_mpc.py 6.0 KB View Raw
- report.md 1.8 KB View
- report_bench_2026-09-01T021728.md 4.8 KB View
- results.json 6.1 KB View Raw