types.control_advanced.MHEResult

types.control_advanced.MHEResult()

Moving Horizon Estimation (MHE) result.

MHE is the dual of MPC - optimal state estimation over a receding horizon using past measurements and control inputs.

Fields

state_estimate : StateVector Current optimal state estimate x̂[k] (nx,) covariance_estimate : CovarianceMatrix Estimated covariance P̂[k] (nx, nx) state_trajectory : StateTrajectory Estimated trajectory over horizon (N, nx) cost : float Estimation objective value success : bool Whether optimization succeeded solve_time : float Computation time in seconds innovation_sequence : OutputSequence Measurement residuals y - Cx̂ (N, ny)

Examples

>>> # Setup MHE
>>> mhe = MovingHorizonEstimator(
...     system, horizon=10, Q_process=0.01*np.eye(2), R_meas=0.1*np.eye(1)
... )
>>>
>>> # Update with new measurement
>>> y_meas = np.array([1.2])
>>> u_applied = np.array([0.5])
>>> result: MHEResult = mhe.update(y_meas, u_applied)
>>>
>>> # Use state estimate
>>> x_hat = result['state_estimate']
>>> P_hat = result['covariance_estimate']
>>>
>>> # Check innovation
>>> innovations = result['innovation_sequence']
>>> innovation_norm = np.linalg.norm(innovations[-1])