Skip to content

Releases: JuliaControl/ModelPredictiveControl.jl

v0.19.0

14 Mar 23:26
90369ca
Compare
Choose a tag to compare

ModelPredictiveControl v0.19.0

Diff since v0.18.1

BREAKING CHANGE
NonLinModel constructor now supposes continuous dynamics by default. Use solver=nothing for discrete-time models.

changelog:

  • added: support for NonLinModel with 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

07 Mar 22:53
a07fd8a
Compare
Choose a tag to compare

ModelPredictiveControl v0.18.1

Diff since v0.18.0

  • remove useless allocations for mutating NonLinModels

Merged pull requests:

v0.18.0

03 Mar 22:05
6a124b5
Compare
Choose a tag to compare

ModelPredictiveControl v0.18.0

Diff since v0.17.0

  • added: support for mutating f! and h! functions in NonLinModel to reduce allocations
  • doc: added simple example of the MovingHorizonEstimator for the CSTR in the manual

Merged pull requests:

Closed issues:

  • Docs questions (#22)
  • Documentation no longer deployed (#26)

v0.17.0

09 Feb 22:11
9038e0a
Compare
Choose a tag to compare

ModelPredictiveControl v0.17.0

Diff since v0.16.1

  • added: support for non-diagonal symmetric M_Hp, N_Hc and L_Hp weights, allowing terminal costs and LQR tuning
  • doc: added comment on a terminal weight
  • reduce allocations for PredictiveControllers and MovingHorizonEstimator (with in-place operations)

Merged pull requests:

v0.16.1

28 Jan 22:59
Compare
Choose a tag to compare

ModelPredictiveControl v0.16.1

Diff since v0.16.0

  • added: reduce allocation NonLinMPC
  • doc: added internal function optim_objective
  • doc: various doc improvements

v0.16.0

09 Jan 23:37
Compare
Choose a tag to compare

ModelPredictiveControl v0.16.0

Diff since v0.15.0

  • added: MHE soft constraints with a single slack variable ϵ (a.k.a. equal concern for relaxation, disabled by default thus only hard constraints).
  • changed: more concise MPC logging in REPL.
  • removed: deprecated arguments for setconstraint! and NonLinMPC.
  • doc: hide extended help with details admonition.
  • doc: more concise setconstraint! and ExplicitMPC documentation.

v0.15.0

21 Dec 22:33
Compare
Choose a tag to compare

ModelPredictiveControl v0.15.0

Diff since v0.14.1

  • added: MHE hard constraints on estimated process and sensor noises
  • added: MHEs based on LinModel are now treated as a quadratic optimization instead of nonlinear
  • added: Plots recipe avoid repeat xlabels for MIMOs
  • added: getinfo method for MovingHorzionEstimator for troubleshooting
  • debug: update MHE arrival covariance with I/Os at arrival
  • improved coverage

Merged pull requests:

  • Added: MHE with quadratic optim + process and sensor noises bounds (#20) (@franckgaga)

v0.14.1

09 Dec 18:52
Compare
Choose a tag to compare

ModelPredictiveControl v0.14.1

Diff since v0.14.0

  • changed: default P0 value not function of Q argument

v0.14.0

08 Dec 21:26
Compare
Choose a tag to compare

ModelPredictiveControl v0.14.0

Diff since v0.13.0

  • added: MovingHorizonEstimator that can handle constraints on estimation
  • added: tests for MovingHorizonEstimator

Merged pull requests:

  • Added: MovingHorizonEstimator with state constraints (#19) (@franckgaga)

v0.13.0

23 Nov 21:18
Compare
Choose a tag to compare

ModelPredictiveControl v0.13.0

Diff since v0.12.0

  • added: generic number types in all SimModel, StateEstimator and PredictiveController objects (see note below)
  • changed: faster ΔU -> U conversion using matrices of floats (instead of booleans)
  • new tests with Float32.

Note that most solvers in JuMP only support Float64 numbers. Thus, PredictiveController objects still default to Float64-based optimizers, even if the plant model or state estimator uses other number types.

Merged pull requests: