Releases: JuliaControl/ModelPredictiveControl.jl
Releases · JuliaControl/ModelPredictiveControl.jl
v1.3.1
ModelPredictiveControl v1.3.1
- added: show
@debug
messages in github CI if debug logging is activated - changed:
@debug
messages with thegetinfo
dictionary are never truncated (show_limited=false
is no longer necessary)
Merged pull requests:
- added: show
@debug
message in CI if debug logging is activated (#153) (@franckgaga)
v1.3.0
ModelPredictiveControl v1.3.0
- added: show
getinfo
dictionary in the debug log if activated (instead of only the solution summary ofJuMP
) - added: show tips about debug log in the optimization warning and error messages
- debug: fallback if
MovingHorizonEstimator
arrival covariance update fails (keep the old one) - changed: covariance matrix inversion with
cholesky
instead ofinv
inMovingHorizonEstimator
(inv
internally useslu
)
Merged pull requests:
- doc: torques constraints AND power constraint in the example (manual) (#150) (@franckgaga)
- debug: fallback if
MovingHorizonEstimator
arrival covariance update fails (#151) (@franckgaga) - added: call
getinfo
when debug logging is activated and not solved (#152) (@franckgaga)
Closed issues:
- Error on execution of doc example (#146)
v1.2.0
ModelPredictiveControl v1.2.0
- added:
ForwardEuler
ODE solver - added: remove 1 useless
.=
op inRungeKutta(4)
- added: forcing specialization in the NLP functions by using
Vararg{T, N}
instead of splatting (see this tip) - added: skipping computations in
extended_predictions
when possible - added: print the solver order for
NonLinModel
- changed: bump julia
compat
to 1.10 (new LTS) - changed: improve code reuse in NLP functions to improve code maintainability
- test: new tests for
ForwardEuler
- doc: info about types that allocate or not
Merged pull requests:
- removing commented out code (#144) (@franckgaga)
- added: new
ForwardEuler
solver with 0 allocation (#145) (@franckgaga) - bump julia compat to 1.10 (LTS) (#147) (@franckgaga)
- Added: slightly speed up
NonLinMPC
andMovingHorizonEstimator
(#149) (@franckgaga)
v1.1.4
ModelPredictiveControl v1.1.4
- added:
linearize!
is now allocation free - added: do not call
gc!
ifnc==0
- added: new
mpc.buffer.ΔŨ
buffer to reduce the allocations - changed:
preparestate!
default d argument as empty vector - various doc improvements
Merged pull requests:
- changed:
preparestate!
defaultd
argument as empty vector (#137) (@franckgaga) - added: do not call
gc!
ifnc==0
(#138) (@franckgaga) - added: reduce allocations for
PredictiveController
(#139) (@franckgaga) - added:
linearize!
is now allocation free (#141) (@franckgaga) - Update Project.toml (#143) (@franckgaga)
v1.1.3
ModelPredictiveControl v1.1.3
- added:
:gc
field ingetinfo
for custom constraints ofNonLinMPC
- debug: allow
setmodel!
onSteadyKalmanFilter
/Luenberger
when there is no model modification (for changing the weights of aPredictiveController
) - test: validating the
:gc
fields ofgetinfo!
in the constraint violation tests - doc: remove
Hp
parameter in thegc
example of the manual (useless)
Merged pull requests:
- added:
gc
ingetinfo
(#136) (@franckgaga)
v1.1.2
ModelPredictiveControl v1.1.2
- added: save some computations in
NonLinMPC
withT_lastu
field instead ofT_lastu0
- changed: moved all controller weights in
mpc.weights
struct 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
Ue
argument - doc: added a custom nonlinear constraint example on the motor power in the manual
- doc: various improvements
Merged pull requests:
- added: save some
NonLinMPC
computations withT_lastu
instead ofT_lastu0
for 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
LinMPC
andNonLinMPC
introduced in v1.1.0 - added: reduce allocations with
PredictiveController
s using new fields inmpc.buffer
object - added: improve performance with 4
iszero_X
fields for eachPredictiveController
weight, to skip computations when possible - changed: moved all controller weights in
mpc.weights
struct to improve code re-use - test: new custom constraint violation tests that use
Ue
argument
Merged pull requests:
- Fix type instability in
LinMPC
andNonLinMPC
(introduced in 1.1.0) (#130) (@franckgaga) - Changed: moved all controller weights in
mpc.weights
struct (#131) (@franckgaga) - Added:
iszero_W
field in for the 4 weights inControllerWeights
struct (#132) (@franckgaga)
v1.1.0
ModelPredictiveControl v1.1.0
- added: support for custom nonlinear inequality constraints
gc
inNonLinMPC
- added: call
JE
andgc
once inNonLinMPC
constructor and show stacktrace if it fails (to guide the user) - doc: additional details on vector dimensions
- doc: documents the dummy function
plot_recipe
instead ofplot
to avoid confusion - tests: new test for custom nonlinear constraint violation
Merged pull requests:
- Added: support for custom nonlinear constraints
gc
inNonLinMPC
(#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.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: