Releases: JuliaControl/ModelPredictiveControl.jl
Releases · JuliaControl/ModelPredictiveControl.jl
v1.1.3
ModelPredictiveControl v1.1.3
- added:
:gcfield ingetinfofor custom constraints ofNonLinMPC - debug: allow
setmodel!onSteadyKalmanFilter/Luenbergerwhen there is no model modification (for changing the weights of aPredictiveController) - test: validating the
:gcfields ofgetinfo!in the constraint violation tests - doc: remove
Hpparameter in thegcexample of the manual (useless)
Merged pull requests:
- added:
gcingetinfo(#136) (@franckgaga)
v1.1.2
ModelPredictiveControl v1.1.2
- added: save some computations in
NonLinMPCwithT_lastufield instead ofT_lastu0 - changed: moved all controller weights in
mpc.weightsstruct to improve code re-use - test: improve constraint violation tests (verify the whole horizons, use distinct lower and upper bounds)
- test: new custom constraint violation tests that use
Ueargument - doc: added a custom nonlinear constraint example on the motor power in the manual
- doc: various improvements
Merged pull requests:
- added: save some
NonLinMPCcomputations withT_lastuinstead ofT_lastu0for input conversion (#133) (@franckgaga) - doc: minor correction (#134) (@franckgaga)
- Doc: nonlinear custom constraint example on the motor in the manual (#135) (@franckgaga)
v1.1.1
ModelPredictiveControl v1.1.1
- fixed: remove a type-instability in
LinMPCandNonLinMPCintroduced in v1.1.0 - added: reduce allocations with
PredictiveControllers using new fields inmpc.bufferobject - added: improve performance with 4
iszero_Xfields for eachPredictiveControllerweight, to skip computations when possible - changed: moved all controller weights in
mpc.weightsstruct to improve code re-use - test: new custom constraint violation tests that use
Ueargument
Merged pull requests:
- Fix type instability in
LinMPCandNonLinMPC(introduced in 1.1.0) (#130) (@franckgaga) - Changed: moved all controller weights in
mpc.weightsstruct (#131) (@franckgaga) - Added:
iszero_Wfield in for the 4 weights inControllerWeightsstruct (#132) (@franckgaga)
v1.1.0
ModelPredictiveControl v1.1.0
- added: support for custom nonlinear inequality constraints
gcinNonLinMPC - added: call
JEandgconce inNonLinMPCconstructor and show stacktrace if it fails (to guide the user) - doc: additional details on vector dimensions
- doc: documents the dummy function
plot_recipeinstead ofplotto avoid confusion - tests: new test for custom nonlinear constraint violation
Merged pull requests:
- Added: support for custom nonlinear constraints
gcinNonLinMPC(#118) (@franckgaga) - Avoid introducing MPC.plot (#120) (@baggepinnen)
- Custom constraints : add tests (#128) (@franckgaga)
Closed issues:
- plot not working (#119)
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.jlexample - 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
LinModelwith non-zero D matrix - doc: MTK example error message for non-strictly proper systems
- doc: MTK example now uses the
pargument 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
pin 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:
NonLinModelnewpargument inf/f!andh/h!function signature - breaking change:
NonLinMPCnewpargument inJEfunction 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:
ExplicitMPCcorrect 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!orevaloutputwith current estimators - added: reduce allocations with
linearize! - added: reduce allocations with
moveinput!calls with newbufferobjects - debug:
evaloutputonInternalModelnow include current stochastic estimate$\mathbf{\hat{y}_s}$ - test: add test to verify
evaloutputcorrectness 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:
MovingHorizonEstimatornow 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:
InternalModelnow produces 0 allocation withpreparestate!andupdatestate!calls - tests: new integration tests that compare unconstrained MHE to UKF and KF results
- tests: new integration that compare
LinModelandNonLinModel
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,KalmanFilterandUnscentedKalmanFilternow 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)