Skip to content

Releases: JuliaControl/ModelPredictiveControl.jl

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)

v1.9.0

30 Aug 20:08
ffc3bda

Choose a tag to compare

ModelPredictiveControl v1.9.0

Diff since v1.8.2

  • added: TrapezoidalCollocation method for continuous-time nonlinear systems
  • added: dependabot.yml file to help with the CI dependencies
  • changed: new fields with the continuous state-space function model.f! and model.h! in NonLinModels (instead of model.solver_f! and model.solver_h!)
  • test: new test with TrapezoidalCollocation and Ipopt
  • bench: new case studies with TrapezoidalCollocation on the pendulum

Merged pull requests:

  • bench: increasing samples to reduce SD when needed (#228) (@franckgaga)
  • added: dependabot.yml file 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! and h! functions available (#233) (@franckgaga)
  • added: simple TrapezoidalCollocation() transcription method (#234) (@franckgaga)
  • doc: clarifying model augmentation for NonLinMPC in f̂! docstring (#235) (@franckgaga)
  • added: show TranscriptionMethod when printing PredictiveController (#236) (@franckgaga)
  • added: unit tests and benchmarks for TrapezoidalCollocation (#237) (@franckgaga)

Closed issues:

  • Trapezoidal collocation transcription (#164)

v1.8.2

16 Jul 20:31
f0f8d2a

Choose a tag to compare

ModelPredictiveControl v1.8.2

Diff since v1.8.1

Merged pull requests:

v1.8.1

14 Jun 02:20
e7c8c89

Choose a tag to compare

ModelPredictiveControl v1.8.1

Diff since v1.8.0

  • added: new KalmanCovariance parametric struct to handle covariance sparsity efficiently
  • added: dispatch on repeatdiag to preserve Diagonnals
  • added: in-place and allocation-free inv! for MHE covariance matrices
  • changed: store P̃Δu, P̃u and Tu conversion matrices as SparseMatrixCSC
  • debug: support Hermitian weights in PredictiveController
  • debug: use dummy b vector in MHE setmodel! to avoid ±Inf values
  • test: verify setmodel! with He>1 for MHE
  • test: new integration with ManualEstimator and MPCs
  • doc: various improvements

Merged pull requests:

  • new ManualEstimator tests and minor doc corrections (#210) (@franckgaga)
  • doc : minor clarifications (#211) (@franckgaga)
  • Changed: store conversion matrices as SparseMatrixCSC (#212) (@franckgaga)
  • added: inv! for MovingHorizonEstimator covariance matrices (#214) (@franckgaga)
  • debug: support Hermitian weights in PredictiveController (#215) (@franckgaga)
  • added: new KalmanCovariance struct to handle covariance sparsity efficiently (#216) (@franckgaga)