Skip to content

Releases: JuliaControl/ModelPredictiveControl.jl

v1.13.2

09 Nov 19:20
b4ad881

Choose a tag to compare

ModelPredictiveControl v1.13.2

Diff since v1.13.1

  • changed: new default sparse backend for jacobian and hessian in NonLinMPC and MovingHorizonEstimator

It should be non-breaking in most cases. It's only a performance improvements to potentially reduce the number of colors for differentiation

Merged pull requests:

  • Modify MPC setup to use MovingHorizonEstimator (#281) (@franckgaga)
  • Fix typo in README for MovingHorizonEstimator (#282) (@franckgaga)
  • changed: better jacobian and hessian defaults for the sparse case in NonLinMPC and MovingHorizonEstimator (#283) (@franckgaga)
  • bench: add custom constraint tests with hessian=true (#284) (@franckgaga)
  • changed: sparse backends default to post-processing (#285) (@franckgaga)

Closed issues:

  • Fiddling with the coloring (#280)

v1.13.1

05 Nov 21:57
fd15f6a

Choose a tag to compare

ModelPredictiveControl v1.13.1

Diff since v1.13.0

  • debug: prepare AD with rand constant contexts
  • debug: only fills non-zeros in ∇²f of @operator

Merged pull requests:

Closed issues:

  • Support exact Hessians of Lagrangian NonLinMPC and MovingHorizonEstimator (#181)

v1.13.0

03 Nov 19:33
749fbcf

Choose a tag to compare

ModelPredictiveControl v1.13.0

Diff since v1.12.0

  • added: hessian argument in NonLinMPC for exact Hessian of Lagrangian 🎯
  • added: hessian argument in MovingHorizonEstimator for exact Hessian of Lagrangian 🎯
  • added: trunc_cov function for MHE (to optimize perf. of dot in objective function)
  • added: lastu keyword argument to moveinput!

Merged pull requests:

  • test: adding trivial tests with oracle=false (#271) (@franckgaga)
  • added: lastu keyword argument to moveinput! (#274) (@franckgaga)
  • added: hessian keyword argument in NonLinMPC (#275) (@franckgaga)
  • added: trunc_cov function for MHE (to optimize perf. of dot in objective function) (#276) (@franckgaga)
  • added: hessian keyword argument for MovingHorizonEstimator (#277) (@franckgaga)

v1.12.0

23 Oct 00:55
92eec87

Choose a tag to compare

ModelPredictiveControl v1.12.0

Diff since v1.11.1

  • added: oracle=true option in NonLinMPC to significantly improve performances under nonlinear constraints 🚀 (default with Ipopt.jl)
  • added: oracle=true option in MovingHorizonEstimator to significantly improve performances under nonlinear constraints 🚀 (default with Ipopt.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̃) in NonLinMPC if Ewt≠0 (#264) (@franckgaga)
  • changed: differentiating only non-Inf constraints in NonLinMPC (#267) (@franckgaga)
  • added: use Ipopt._VectorNonlinearOracle in MovingHorizonEstimator (#268) (@franckgaga)
  • added: migration to MOI.VectorNonlinearOracle (#269) (@franckgaga)
  • added: oracle option in NonLinMPC and MovingHorizonEstimator (#270) (@franckgaga)

v1.11.1

23 Sep 23:56
9c7d276

Choose a tag to compare

ModelPredictiveControl v1.11.1

Diff since v1.11.0

  • added: progress keyword argument in sim! to disable progress logs
  • added: ill-conditioned QP warning at controller construction
  • removed: less useful workload in precompile.jl to accelerate precompilation

Merged pull requests:

  • added: progress keyword argument in sim! 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 MultipleShooting and TrapezoidalCollocation (#257)

v1.11.0

19 Sep 04:25
5ac89b4

Choose a tag to compare

ModelPredictiveControl v1.11.0

Diff since v1.10.0

  • added: multithreading with MultipleShooting and TrapezoidalCollocation
  • test: multithreading with MultipleShooting and TrapezoidalCollocation
  • bench: case studies with multithreading on the pendulum

Merged pull requests:

v1.10.0

11 Sep 14:59
0dbe0b9

Choose a tag to compare

ModelPredictiveControl v1.10.0

Diff since v1.9.3

  • added: covestim in MovingHorizonEstimator now supports SteadyKalmanFilter for a constant arrival covariance $\mathbf{\bar{P}}$

Merged pull requests:

v1.9.3

08 Sep 21:50
7bde163

Choose a tag to compare

ModelPredictiveControl v1.9.3

Diff since v1.9.2

  • debug: setmodel! now works with LinMPC based on MultipleShooting
  • test: new test for setmodel! with MultipleShooting
  • doc: using MultipleShooting in the manual on the unstable pendulum system

Merged pull requests:

  • doc: using MultipleShooting in the manual for the unstable pendulum system (#245) (@franckgaga)
  • debug: setmodel! now works with LinMPC based on MultipleShooting (#246) (@franckgaga)

v1.9.2

07 Sep 21:26
77163a7

Choose a tag to compare

ModelPredictiveControl v1.9.2

Diff since v1.9.1

  • added: clearer pretty-print of objects with a tree structure
  • added: print differentiation backends in NonLinModel, ExtendedKalmanFilter, MovingHorizonEstimator and NonLinMPC
  • changed: using $\varepsilon$ instead of $\epsilon$ for MovingHorizonEstimator slack variable (to clearly differentiate from MPC slack)

Merged pull requests:

  • added: clearer pretty-print with trees + print differentiation backends (#244) (@franckgaga)

v1.9.1

06 Sep 23:29
f2f5b2e

Choose a tag to compare

ModelPredictiveControl v1.9.1

Diff since v1.9.0

  • added: piecewise linear manipulated inputs $\mathbf{u}$ with TrapezoidalCollocation(1)
  • changed: now internally handle the operating points
  • debug: linearize! on NonLinModel with non-zero operating points now works
  • doc: describing the internal of the various prediction and transcription methods

Merged pull requests:

  • debug: linearize! on NonLinModel with non-zero operating points now works (#239) (@franckgaga)
  • doc: describing the internal of the various prediction and transcription methods (#240) (@franckgaga)
  • changed: 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)