@@ -70,71 +70,66 @@ for more detailed examples.
7070
7171## Features
7272
73- ### Legend
74-
75- - [x] implemented feature
76- - [ ] planned feature
77-
7873### Model Predictive Control Features
7974
80- - [x] linear and nonlinear plant models exploiting multiple dispatch
81- - [x] model linearization based on automatic differentiation (exact Jacobians)
82- - [x] supported objective function terms:
83- - [x] output setpoint tracking
84- - [x] move suppression
85- - [x] input setpoint tracking
86- - [x] terminal costs
87- - [x] custom economic costs (economic model predictive control)
88- - [x] adaptive linear model predictive controller
89- - [x] manual model modification
90- - [x] automatic successive linearization of a nonlinear model
91- - [x] objective function weights and covariance matrices modification
92- - [x] explicit predictive controller for problems without constraint
93- - [x] online-tunable soft and hard constraints on:
94- - [x] output predictions
95- - [x] manipulated inputs
96- - [x] manipulated inputs increments
97- - [x] terminal states to ensure nominal stability
98- - [x] custom economic inequality constraints (soft or hard)
99- - [x] supported feedback strategy:
100- - [x] state estimator (see State Estimation features)
101- - [x] internal model structure with a custom stochastic model
102- - [x] automatic model augmentation with integrating states for offset-free tracking
103- - [x] support for unmeasured model outputs
104- - [x] feedforward action with measured disturbances that supports direct transmission
105- - [x] custom predictions for:
106- - [x] output setpoints
107- - [x] measured disturbances
108- - [x] easy integration with ` Plots.jl `
109- - [x] optimization based on ` JuMP.jl ` :
110- - [x] quickly compare multiple optimizers
111- - [x] nonlinear solvers relying on automatic differentiation (exact derivative)
112- - [x] additional information about the optimum to ease troubleshooting
113- - [x] real-time control loop features:
114- - [x] implementations that carefully limits the allocations
115- - [x] simple soft real-time utilities
75+ - linear and nonlinear plant models exploiting multiple dispatch
76+ - model linearization based on automatic differentiation (exact Jacobians)
77+ - supported objective function terms:
78+ - output setpoint tracking
79+ - move suppression
80+ - input setpoint tracking
81+ - terminal costs
82+ - custom economic costs (economic model predictive control)
83+ - adaptive linear model predictive controller
84+ - manual model modification
85+ - automatic successive linearization of a nonlinear model
86+ - objective function weights and covariance matrices modification
87+ - explicit predictive controller for problems without constraint
88+ - online-tunable soft and hard constraints on:
89+ - output predictions
90+ - manipulated inputs
91+ - manipulated inputs increments
92+ - terminal states to ensure nominal stability
93+ - custom nonlinear inequality constraints (soft or hard)
94+ - supported feedback strategy:
95+ - state estimator (see State Estimation features)
96+ - internal model structure with a custom stochastic model
97+ - automatic model augmentation with integrating states for offset-free tracking
98+ - support for unmeasured model outputs
99+ - feedforward action with measured disturbances that supports direct transmission
100+ - custom predictions for:
101+ - output setpoints
102+ - measured disturbances
103+ - easy integration with ` Plots.jl `
104+ - optimization based on ` JuMP.jl ` :
105+ - quickly compare multiple optimizers
106+ - nonlinear solvers relying on automatic differentiation (exact derivative)
107+ - additional information about the optimum to ease troubleshooting
108+ - real-time control loop features:
109+ - implementations that carefully limits the allocations
110+ - simple soft real-time utilities
116111
117112### State Estimation Features
118113
119- - [x] supported state estimators/observers:
120- - [x] steady-state Kalman filter
121- - [x] Kalman filter
122- - [x] Luenberger observer
123- - [x] internal model structure
124- - [x] extended Kalman filter
125- - [x] unscented Kalman filter
126- - [x] moving horizon estimator
127- - [x] easily estimate unmeasured disturbances by adding one or more integrators at the:
128- - [x] manipulated inputs
129- - [x] measured outputs
130- - [x] bumpless manual to automatic transfer for control with a proper initial estimate
131- - [x] estimators in two possible forms:
132- - [x] filter (or current) form to improve accuracy and robustness
133- - [x] predictor (or delayed) form to reduce computational load
134- - [x] moving horizon estimator in two formulations:
135- - [x] linear plant models (quadratic optimization)
136- - [x] nonlinear plant models (nonlinear optimization)
137- - [x] moving horizon estimator online-tunable soft and hard constraints on:
138- - [x] state estimates
139- - [x] process noise estimates
140- - [x] sensor noise estimates
114+ - supported state estimators/observers:
115+ - steady-state Kalman filter
116+ - Kalman filter
117+ - Luenberger observer
118+ - internal model structure
119+ - extended Kalman filter
120+ - unscented Kalman filter
121+ - moving horizon estimator
122+ - easily estimate unmeasured disturbances by adding one or more integrators at the:
123+ - manipulated inputs
124+ - measured outputs
125+ - bumpless manual to automatic transfer for control with a proper initial estimate
126+ - estimators in two possible forms:
127+ - filter (or current) form to improve accuracy and robustness
128+ - predictor (or delayed) form to reduce computational load
129+ - moving horizon estimator in two formulations:
130+ - linear plant models (quadratic optimization)
131+ - nonlinear plant models (nonlinear optimization)
132+ - moving horizon estimator online-tunable soft and hard constraints on:
133+ - state estimates
134+ - process noise estimates
135+ - sensor noise estimates
0 commit comments