Releases: JuliaControl/ModelPredictiveControl.jl
Releases · JuliaControl/ModelPredictiveControl.jl
v0.21.2
ModelPredictiveControl v0.21.2
- added: show
sim!% progress and ETA in VS Code status bar - added: plot estimated state constraints
x̂min/x̂maxfor MHE - debug:
RungeKuttadiff cache chuck sizenx+2 - doc: added
plotrecipe documentation (for keyword arguments) - tests: unconstrained MHE vs KF/UKF tests
Merged pull requests:
- debug:
RungeKuttadiff cache chuck sizenx+2(#67) (@franckgaga) - minor doc correction (#68) (@franckgaga)
- added: plot recipes doc and plot MHE state estimate constrains (#69) (@franckgaga)
- Update Project.toml (#70) (@franckgaga)
v0.21.1
ModelPredictiveControl v0.21.1
- added: non-Unicode alternative keyword arguments in public functions
- added: modify plots Y-axis labels with
setname! - debug: plots
Ruinstead ofRyforusetpoint (recipe) - remove one useless allocation in
updatestate! - various doc corrections and improvements
Merged pull requests:
- doc: correct mistake in MPC prediction matrices (#56) (@franckgaga)
- Doc correction (#57) (@franckgaga)
- doc: clarify notation
update_estimate!and imc block diagram (#58) (@franckgaga) - IMC block diagram (#59) (@franckgaga)
- remove one allocation in
updatestate!(#60) (@franckgaga) - debug: plot Ru instead of Ry for u setpoint in recipe (#62) (@franckgaga)
- added:
setname!function for variable names in plot labels (#63) (@franckgaga) - Offer an alternative non-unicode API for keyword arguments (#64) (@franckgaga)
- Update Project.toml (#66) (@franckgaga)
Closed issues:
- Remove unicode char in keyword arguments (or offer an alternative) ? (#61)
v0.21.0
ModelPredictiveControl v0.21.0
BREAKING CHANGE
All the keyword arguments related to initial values e.g. σP0, x0 and x̂0 now require an underscore e.g. σP_0, x_0, x̂_0 (to differentiate from operating point deviation vectors)
- Added:
setmodel!for runtime model adaptation of controller/estimator based onLinModel - Added:
linearizeandsetop!now support non-equilibrium points - Added: successive linearization MPC with the new
setmodel!andlinearizefunctions - Added: successive linearization MHE with the new
setmodel!andlinearizefunctions - Added:
linearize!method for in-place model linearization (to reduce allocations) - Added: 6 args.
LinModelconstructor now support scalars (similarly tossfunction) - Added:
ExtendedKalmanFilternow compute the Jacobians in-place (to reduce allocations) - Changed:
structstate dataxand state estimatex̂renamed tox0andx̂0 - Debug:
ExplicitMPCwith non-Float64now works - Debug: accept integers in
linearizearguments - Debug: call
empty!onJuMP.Modelto support re-construction of MPC instances - Doc: new
setmodel!,setop!andlinearizefunction documentation - Doc: example of model adaptation with successive linearization on the pendulum (very efficient!)
Merged pull requests:
- Added: adaptatation of
LinMPCmodel throughsetmodel!(#52) (@franckgaga) - Added: adaptation of controller/estimator based on
LinModel(#54) (@franckgaga) - Added:
setmodel!forMovingHorizonEstimator(#55) (@franckgaga)
v0.20.2
ModelPredictiveControl v0.20.2
- added: print info on controller and estimator constraint softening (slack var.
ϵ) - reduce allocations
LinMPC,NonLinMPC,MovingHorizonEstimator - cleanup namespace with
imports instead ofusings
Merged pull requests:
- Changed: avoid
collectinNonLinMPCandMovingHorizonEstimatorobjective and constraints (#46) (@franckgaga) - changed: error handling one less alloc (#47) (@franckgaga)
- added: print info on controller and estimator constraints softening (#49) (@franckgaga)
- cleaning the namespace with
imports instead ofusings (#50) (@franckgaga) - Namespace,
NonLinMPCandMovingHorizonEsitimatorcleanup (#51) (@franckgaga)
v0.20.1
ModelPredictiveControl v0.20.1
- Reduce allocation for estimator based on
NonLinModel - Reduce allocations for
LinMPCandKalmanFilter - Improve performance of
LinMPCandMovingHorizonEstimatorwith newJuMPbatch update methods
Merged pull requests:
- doc: correct errors in EKF equations (#43) (@franckgaga)
- Reduce allocation for estimators based on augmented
NonLinModel(#44) (@franckgaga) - Improve performance and reduce allocations of
LinMPCandKalmanFilter(#45) (@franckgaga)
v0.20.0
ModelPredictiveControl v0.20.0
- Added: custom estimator for the approximation of the arrival covariance in the MHE
- Changed: MHE based on
NonLinModelnow defaults toUnscentedKalmanFilterfor arrival covariance estimation - Added: tests with custom covariance estimator in the MHE
Merged pull requests:
- Added: MHE supports custom estimator for the arrival covariance (#41) (@franckgaga)
- added: tests for MHE custom covariance estimator (#42) (@franckgaga)
v0.19.2
ModelPredictiveControl v0.19.2
Merged pull requests:
- Debug: MHE with
NonLinModelupdate covariance with the correct state estimate (#40) (@franckgaga)
v0.19.1
ModelPredictiveControl v0.19.1
Merged pull requests:
- Minor doc correction and code cleanup (#39) (@franckgaga)
v0.19.0
ModelPredictiveControl v0.19.0
BREAKING CHANGE
NonLinModel constructor now supposes continuous dynamics by default. Use solver=nothing for discrete-time models.
changelog:
- added: support for
NonLinModelwith continuous dynamics - added: 4th order Runge-Kutta solver with 0 allocation
- doc: the pendulum example now use the built-in Runge-Kutta solve
- added some tests with continuous
NonLinModel
Merged pull requests:
- starting support of continuous
NonLinModel(RK4 only for now) (#38) (@baggepinnen)
v0.18.1
ModelPredictiveControl v0.18.1
- remove useless allocations for mutating
NonLinModels
Merged pull requests:
- minor doc correction (#36) (@franckgaga)
- Remove useless allocations for in-place
NonLinModel(#37) (@franckgaga)