Releases: JuliaControl/ModelPredictiveControl.jl
Releases · JuliaControl/ModelPredictiveControl.jl
v1.0.2
ModelPredictiveControl v1.0.2
- changed: removed code related to Julia 1.6 compatibility (1.10 is the new LTS)
- doc: add compat info to
ModelingToolkit.jl
example - doc: various minor modifications
Merged pull requests:
- Added: details in observability error message, modify CI for new release and MTK exemple debug (#117) (@franckgaga)
- Add compat details on MTK.jl bugfixes (#122) (@franckgaga)
- Doc correction and simple CI fix (#123) (@franckgaga)
- doc: change slmpc speed gain for the real benchmark (#125) (@franckgaga)
- bump (#126) (@franckgaga)
Closed issues:
v1.0.1
ModelPredictiveControl v1.0.1
- changed: more precise error for
LinModel
with non-zero D matrix - doc: MTK example error message for non-strictly proper systems
- doc: MTK example now uses the
p
argument ofNonLinModel
- doc: remove old stuff that no longer applies
- doc: various improvements
Merged pull requests:
- doc: MTK example throw error for non-strictly proper systems (#110) (@franckgaga)
- doc: add the parameter
p
in f and h function signature (#111) (@franckgaga) - doc: remove stuff that no longer applies (#113) (@franckgaga)
- bump version (#114) (@franckgaga)
Closed issues:
v1.0.0
ModelPredictiveControl v1.0.0
- breaking change:
NonLinModel
newp
argument inf
/f!
andh
/h!
function signature - breaking change:
NonLinMPC
newp
argument inJE
function signature - added: support for plant model parameters
$\mathbf{p}$ inNonLinModel
- added: support for economic function parameters
$\mathbf{p}$ inNonLinMPC
- doc: ModelingToolkit integration example on the pendulum model
- test: improve coverage
- debug:
ExplicitMPC
correct error message with the unsupportedsetconstraint!
method - added: validate economic function
$J_E$ argument signature
Merged pull requests:
- Fix #103 (#104) (@baggepinnen)
- Preparation for v1.0.0 release (#105) (@franckgaga)
- Fixing documentation deployement (#107) (@franckgaga)
Closed issues:
v0.24.1
ModelPredictiveControl v0.24.1
- added: print warning if
preparestate!
is called aftermoveinput!
orevaloutput
with current estimators - added: reduce allocations with
linearize!
- added: reduce allocations with
moveinput!
calls with newbuffer
objects - debug:
evaloutput
onInternalModel
now include current stochastic estimate$\mathbf{\hat{y}_s}$ - test: add test to verify
evaloutput
correctness onInternalModel
- test and precompile: add
preparestate!
where needed to avoid the warnings - doc: various improvements
Merged pull requests:
- minor doc correction (#97) (@franckgaga)
- doc: minor doc correction (#99) (@franckgaga)
- debug: make it work on Julia nightly (#100) (@franckgaga)
- Reduce allocations in
linearize!
(#101) (@franckgaga) - Warning
preparestate!
, debugInternalModel
, reduce allocPredictiveController
(#102) (@franckgaga)
v0.24.0
ModelPredictiveControl v0.24.0
- breaking change:
MovingHorizonEstimator
now default todirect=true
- added: the current/filter formulation of the
MovingHorizonEstimator
- doc: explicitly list all the keyword arguments of all the state estimator
- added: soft real time utilities
- added:
InternalModel
now produces 0 allocation withpreparestate!
andupdatestate!
calls - tests: new integration tests that compare unconstrained MHE to UKF and KF results
- tests: new integration that compare
LinModel
andNonLinModel
Merged pull requests:
- Added: soft real time utilities (#94) (@franckgaga)
- added: MovingHorizonEstimator support for
direct=true
, initialized withP̂(-1|-1)
(#96) (@franckgaga)
Closed issues:
- Real-time loop tools (#85)
v0.23.1
ModelPredictiveControl v0.23.1
Luenberger
,SteadyKalmanFilter
,KalmanFilter
andUnscentedKalmanFilter
now produce 0 allocation withpreparestate!
andupdatestate!
calls- doc: minor corrections
Merged pull requests:
- added: doc correction and reduce allocations for all Kalman filters (#93) (@franckgaga)
Closed issues:
- Support for current estimators and V1 soon? (#89)
v0.23.0
ModelPredictiveControl v0.23.0
BREAKING CHANGES
preparestate!
should be called before solving the MPC optimization withmoveinput!
- current form by default for all
StateEstimator
ym
keyword argument ofmoveinput!
removed (was only forInternalModel
, I now use the newpreparestate!
method)MovingHorizonEstimator
advanced constructor (with complete covariance matrices):covestim
andoptim
are now keyword arguments instead of positional arguments.
Changelog
- added: current form for all
StateEstimator
exceptMovingHorizonEstimator
, to improve accuracy and closed-loop robustness - reduce allocation for
SimModel
andStateEstimator
instances by using internal buffers - multiple doc correction
Merged pull requests:
- minor doc correction (#87) (@franckgaga)
- minor doc additions (#88) (@franckgaga)
- added: support for the current form for all the state estimators (#90) (@franckgaga)
- Reduce allocations by avoiding
empty
for defaultd
argument (#91) (@franckgaga) - added:
SimModelBuffer
andStateEsimatorBuffer
objects to reduce the allocations (#92) (@franckgaga)
v0.22.1
ModelPredictiveControl v0.22.1
- added: support for
Mwt
,Nwt
andLwt
keyword arguments insetmodel!
(to simplify the API) - reduce allocations in
setconstraint!
- minor doc corrections
Merged pull requests:
- non unicode alternative setmodel MPC (#79) (@franckgaga)
- minor doc correction (#80) (@franckgaga)
- idem (#81) (@franckgaga)
- doc: change nomenclature EMPC (#83) (@franckgaga)
- Minor correction doc (#84) (@franckgaga)
- Added:
Mwt
,Nwt
andLwt
kwargs insetmodel!
(#86) (@franckgaga)
Closed issues:
- How to successfully impose constraints to a Control Variable with high priority (#78)
v0.22.0
ModelPredictiveControl v0.22.0
BREAKING CHANGE
Migration the new nonlinear programming syntax of JuMP
. Some optimizers may not support it yet.
- added: online modification of objective function weights and covariance matrices with
setmodel!
- added: accept indices and ranges in
plot
keyword arguments - changed: migrate the NLP code to the new syntax
- doc: added
plot
result previews with static images - new tests for new plot recipes and weights/covariances modification
Merged pull requests:
- New jump nlp syntax, merge into main? (#31) (@franckgaga)
- Added: online modification of weights and covariances (#77) (@franckgaga)
Closed issues:
- MPC getinfo results (#76)
v0.21.3
ModelPredictiveControl v0.21.3
- added: index ranges or vectors for plot keyword arguments (to select variables to plot)
- doc: separate page for
sim!
andplot
functions - doc: document
plot
keyword arguments - doc: plot results in examples
Merged pull requests:
- Doc: minor corrections and add preview cleanup workflow (#71) (@franckgaga)
- cleanup MHE append 0 to deviation vector variables (#72) (@franckgaga)
- added: support indices keyword argument in plot recipes (#73) (@franckgaga)
- bump (#74) (@franckgaga)