Model Predictive Control

Definition

Model predictive control (MPC) casts a control problem as a finite-horizon optimal-control problem (OCP)
that is solved repeatedly online: at each step the controller predicts the state over an -step
horizon from a model, optimizes a sequence of inputs that minimizes a cost while satisfying the dynamics
and the state/input constraints, applies only the first input, then re-solves at the next step from
the freshly measured state — the receding-horizon principle (ekal2021online).
This explicit handling of input and state constraints, and the ability to swap in an updated model
on-the-fly, is what distinguishes MPC from fixed-gain feedback. MPC is regime-agnostic at the level of
the OCP: it inherits whatever dynamics model it is given, so it applies equally to a free-flying
fully-actuated base and to terrestrial/aerial plants; the two cited sources here use it on an Astrobee
free-flyer (genuine actuated-base space robot) and on a generic linear plant illustrated with a
ground/aerial vehicle, respectively — neither is free-floating.

Key Equations

Symbols per notation.md.
The optimal-control symbols below (, model ) are the
generic OCP symbols used by both sources; they are not the FFSM-specific glyphs of
notation.md (no conflict — in particular is not reused here).
The discrete-time prediction model is
(linear in dixit2023risk).
The nominal receding-horizon OCP solved at each step (the RATTLE low-level NMPC, ekal2021online eq. 11 with information weight ) is

subject to, for ,

with and horizon ; only is applied before re-solving.
A risk-aware generalization wraps a coherent risk measure around the stage-cost sum
and replaces the hard constraints with risk constraints (dixit2023risk,
Problem 1) — see risk_aware_mpc:

Notation note. here is RATTLE’s scalar information-richness weight (zeroed for the
low-level NMPC); it is distinct from the impedance-derate ramp in
notation.md. is the risk-confidence level (already in notation.md); the
coherent-risk operator is introduced source-faithfully and is not yet in notation.md.

Source Support

  • ekal2021onlineprimary. RATTLE runs a low-level nonlinear MPC
    on the Astrobee free-flyer (a fully-actuated 6-DOF space base — our regime). Gives the explicit
    receding-horizon OCP (eq. 11), the “solve, apply first input, re-solve” definition, the rationale for
    NMPC (on-the-fly model/parameter updates, hard input/state constraints), and the ~10 Hz vs. mid-level
    replan timescale split. Note: it controls the free-flyer base, not a redundant arm.
  • dixit2023risk — supporting. States the receding-horizon MPC structure
    (Problem 1) for a generic linear discrete-time plant and generalizes the cost/constraints to a
    coherent risk measure (CVaR/EVaR/TVD) with an affine disturbance-feedback policy.
    Application is terrestrial/aerial (drone, 2D system; cites automotive adaptive-cruise and bipedal
    case studies) — not a space robot. Used here for the receding-horizon scaffold and as the bridge
    to the risk layer.
  • nonlinear_mpc — MPC with a nonlinear prediction model ; the RATTLE controller
    (ekal2021online) is exactly this, needed because the free-flyer/manipulator
    dynamics are nonlinear so the OCP is a nonlinear program rather than a QP.
  • receding_horizon_control — the underlying “predict-optimize-apply-first-recompute”
    principle; MPC is receding-horizon control with an explicit model and constraints.
  • risk_aware_mpc — the uncertainty-layer specialization: replace the expected cost /
    hard constraints with a coherent risk measure (dixit2023risk).
  • trajectory_optimization — the OCP solved at each MPC step is a (finite-horizon)
    trajectory-optimization problem; MPC re-solves it online in a loop rather than once offline.
  • optimal_control_bvp — the indirect/two-point-boundary-value view of the same
    OCP; MPC takes the direct, repeatedly-solved-online route instead of solving the BVP once.

Open Questions

  • The primary on-regime source (ekal2021online) controls the free-flyer
    base alone; how does the NMPC scale to the coupled base + redundant arm of our FFSM, where the
    dynamics carry strong base–arm dynamic_coupling (ffsm_dynamics)?
  • Both formulations assume the OCP is solved fast enough for receding-horizon stability; RATTLE reports
    NMPC at ~10 Hz while dixit2023risk reports per-iteration solve times of
    “a few seconds” (too slow for real-time). What horizon and solver give a real-time NMPC for the
    full FFSM near a kinematic/dynamic_singularity?
  • Neither cited source provides closed-loop stability/recursive-feasibility guarantees for an actuated
    space manipulator: dixit proves recursive feasibility for a linear plant, ekal demonstrates NMPC
    empirically. Do those guarantees survive the nonlinear, circumcentroidally-decoupled FFSM dynamics?