Skip to content

Releases: JuliaControl/ModelPredictiveControl.jl

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:

v0.12.0

17 Nov 02:18
Compare
Choose a tag to compare

ModelPredictiveControl v0.12.0

Diff since v0.11.2

  • added: linearization of NonLinModel based on ForwardDiff.jl
  • doc: example of linearize on the pendulum
  • doc: example of solving MPC with unstable plant model using DAQP
  • tests for linearize function

v0.11.2

11 Nov 03:02
Compare
Choose a tag to compare

ModelPredictiveControl v0.11.2

Diff since v0.11.0

  • added : time-varying weights over horizons
  • tests for time-varying weights

v0.11.1

09 Nov 22:19
Compare
Choose a tag to compare

ModelPredictiveControl v0.11.1

Diff since v0.11.0

  • Remove bridges in default JuMP optimizers
  • added: Solving time limit at Ts by default
  • reduce allocation for KalmanFilter
  • reduce allocation for NonLinMPC
  • debug : update current output estimation in ŶE argument of economic function JE

v0.11.0

02 Nov 21:12
Compare
Choose a tag to compare

ModelPredictiveControl v0.11.0

Diff since v0.10.3

  • Doc : add an economic MPC example on the inverted pendulum
  • Doc : update figures for the CSTR and the pendulum
  • Added : error log when the termination status means "no solution available"
  • Added : more precise log in REPL (warning: we keep the solution anyway, error: we take the last solution)
  • Added : do not compute input setpoints R̂u if mpc.noR̂u
  • Changed : time-varying ECR parameters with a capital C