Releases: JuliaControl/ModelPredictiveControl.jl
Releases · JuliaControl/ModelPredictiveControl.jl
v1.12.0
ModelPredictiveControl v1.12.0
- added:
oracle=trueoption inNonLinMPCto significantly improve performances under nonlinear constraints 🚀 (default withIpopt.jl) - added:
oracle=trueoption inMovingHorizonEstimatorto significantly improve performances under nonlinear constraints 🚀 (default withIpopt.jl)
Merged pull requests:
- Experimentation: testing
Ipopt._VectorNonlinearOracle(#229) (@franckgaga) - doc: minor precision in strictly proper system assumption (#263) (@franckgaga)
- debug: do not warn
cond(H̃)inNonLinMPCifEwt≠0(#264) (@franckgaga) - changed: differentiating only non-
Infconstraints inNonLinMPC(#267) (@franckgaga) - added: use
Ipopt._VectorNonlinearOracleinMovingHorizonEstimator(#268) (@franckgaga) - added: migration to
MOI.VectorNonlinearOracle(#269) (@franckgaga) - added:
oracleoption inNonLinMPCandMovingHorizonEstimator(#270) (@franckgaga)
v1.11.1
ModelPredictiveControl v1.11.1
- added:
progresskeyword argument insim!to disable progress logs - added: ill-conditioned QP warning at controller construction
- removed: less useful workload in
precompile.jlto accelerate precompilation
Merged pull requests:
- added:
progresskeyword argument insim!to disable progress logs (#260) (@franckgaga) - added: ill-conditioned QP warning at controller construction (#261) (@franckgaga)
- removed: less useful workload in
precompile.jl(#262) (@franckgaga)
Closed issues:
- Multi-threaded
MultipleShootingandTrapezoidalCollocation(#257)
v1.11.0
ModelPredictiveControl v1.11.0
- added: multithreading with
MultipleShootingandTrapezoidalCollocation - test: multithreading with
MultipleShootingandTrapezoidalCollocation - bench: case studies with multithreading on the pendulum
Merged pull requests:
- doc: update pendulum exemple to MTK v10 in the manual (#251) (@franckgaga)
- doc: details on proper systems in
LinModelextended help (#252) (@franckgaga) - bench: only run bench if
benchmarkappears in label (#254) (@franckgaga) - added: multithreading with
MultipleShootingandTrapezoidalCollocation(#258) (@franckgaga) - Update transcription.jl (#259) (@franckgaga)
v1.10.0
ModelPredictiveControl v1.10.0
- added:
covestiminMovingHorizonEstimatornow supportsSteadyKalmanFilterfor a constant arrival covariance$\mathbf{\bar{P}}$
Merged pull requests:
- doc: add arXiv badge (#247) (@franckgaga)
- added:
covestiminMovingHorizonEstimatornow supportsSteadyKalmanFilter(#248) (@franckgaga) - Bump version (#249) (@franckgaga)
v1.9.3
ModelPredictiveControl v1.9.3
- debug:
setmodel!now works withLinMPCbased onMultipleShooting - test: new test for
setmodel!withMultipleShooting - doc: using
MultipleShootingin the manual on the unstable pendulum system
Merged pull requests:
- doc: using
MultipleShootingin the manual for the unstable pendulum system (#245) (@franckgaga) - debug:
setmodel!now works withLinMPCbased onMultipleShooting(#246) (@franckgaga)
v1.9.2
ModelPredictiveControl v1.9.2
- added: clearer pretty-print of objects with a tree structure
- added: print differentiation backends in
NonLinModel,ExtendedKalmanFilter,MovingHorizonEstimatorandNonLinMPC - changed: using
$\varepsilon$ instead of$\epsilon$ forMovingHorizonEstimatorslack variable (to clearly differentiate from MPC slack)
Merged pull requests:
- added: clearer pretty-print with trees + print differentiation backends (#244) (@franckgaga)
v1.9.1
ModelPredictiveControl v1.9.1
- added: piecewise linear manipulated inputs
$\mathbf{u}$ withTrapezoidalCollocation(1) - changed:
f̂now internally handle the operating points - debug:
linearize!onNonLinModelwith non-zero operating points now works - doc: describing the internal of the various prediction and transcription methods
Merged pull requests:
- debug:
linearize!onNonLinModelwith non-zero operating points now works (#239) (@franckgaga) - doc: describing the internal of the various prediction and transcription methods (#240) (@franckgaga)
- changed:
f̂now internally handle the operating points (#241) (@franckgaga) - doc: changing the notation of transcription internals (#242) (@franckgaga)
- added: piecewise linear manipulated inputs with
TrapezoidalCollocation(1)(#243) (@franckgaga)
v1.9.0
ModelPredictiveControl v1.9.0
- added:
TrapezoidalCollocationmethod for continuous-time nonlinear systems - added:
dependabot.ymlfile to help with the CI dependencies - changed: new fields with the continuous state-space function
model.f!andmodel.h!inNonLinModels (instead ofmodel.solver_f!andmodel.solver_h!) - test: new test with
TrapezoidalCollocationandIpopt - bench: new case studies with
TrapezoidalCollocationon the pendulum
Merged pull requests:
- bench: increasing
samplesto reduce SD when needed (#228) (@franckgaga) - added:
dependabot.ymlfile to help with CI dependencies (#230) (@franckgaga) - build(deps): bump julia-actions/setup-julia from 1 to 2 (#231) (@dependabot[bot])
- build(deps): bump actions/checkout from 2 to 5 (#232) (@dependabot[bot])
- changed: keep
f!andh!functions available (#233) (@franckgaga) - added: simple
TrapezoidalCollocation()transcription method (#234) (@franckgaga) - doc: clarifying model augmentation for
NonLinMPCinf̂!docstring (#235) (@franckgaga) - added: show
TranscriptionMethodwhen printingPredictiveController(#236) (@franckgaga) - added: unit tests and benchmarks for
TrapezoidalCollocation(#237) (@franckgaga)
Closed issues:
- Trapezoidal collocation transcription (#164)
v1.8.2
ModelPredictiveControl v1.8.2
- added: new benchmark suite that runs automatically on each PR with AirspeedVelocity.jl
Merged pull requests:
- test: increase Ts of
NonLinMPCtest to avoid out-of-time status (#217) (@franckgaga) - added: benchmarking workflow with github actions (#218) (@franckgaga)
- bench: added allocation benchmarks on CI (#219) (@franckgaga)
- doc: minor correction (#220) (@franckgaga)
- bench: trying
AirspeedVelocity.jl(#221) (@franckgaga) - bench: adding some
PredictiveControllerbenchmarks (#222) (@franckgaga) - CompatHelper: bump compat for SparseConnectivityTracer to 1, (keep existing compat) (#223) (@github-actions[bot])
- bench: add
OSQPandRandomas dependencies (#224) (@franckgaga) - bench: minor modification (#225) (@franckgaga)
- debug:
MovingHorizonEstimatorno longer crash with error termination flag (#226) (@franckgaga) - bump (#227) (@franckgaga)
v1.8.1
ModelPredictiveControl v1.8.1
- added: new
KalmanCovarianceparametric struct to handle covariance sparsity efficiently - added: dispatch on
repeatdiagto preserveDiagonnals - added: in-place and allocation-free
inv!for MHE covariance matrices - changed: store
P̃Δu,P̃uandTuconversion matrices asSparseMatrixCSC - debug: support
Hermitianweights inPredictiveController - debug: use dummy
bvector in MHEsetmodel!to avoid±Infvalues - test: verify
setmodel!withHe>1for MHE - test: new integration with
ManualEstimatorand MPCs - doc: various improvements
Merged pull requests:
- new
ManualEstimatortests and minor doc corrections (#210) (@franckgaga) - doc : minor clarifications (#211) (@franckgaga)
- Changed: store conversion matrices as
SparseMatrixCSC(#212) (@franckgaga) - added:
inv!forMovingHorizonEstimatorcovariance matrices (#214) (@franckgaga) - debug: support
Hermitianweights inPredictiveController(#215) (@franckgaga) - added: new
KalmanCovariancestruct to handle covariance sparsity efficiently (#216) (@franckgaga)