Skip to content

Releases: JuliaControl/ModelPredictiveControl.jl

v1.3.4

18 Feb 02:40
2e7ab0e
Compare
Choose a tag to compare

ModelPredictiveControl v1.3.4

Diff since v1.3.3

  • debug: all fields of NonLinModel are now concrete types

Merged pull requests:

  • debug: NonLinModel fields are now all concrete types (#161) (@franckgaga)

v1.3.3

16 Feb 01:16
2b1abf0
Compare
Choose a tag to compare

ModelPredictiveControl v1.3.3

Diff since v1.3.2

  • debug: revert allocation-free linearize! to avoid NonLinModel type-instabilities

Merged pull requests:

  • debug: revert allocation-free linearize! to avoid NonLinModel type-instability (#160) (@franckgaga)

v1.3.2

15 Feb 01:22
0ca6f85
Compare
Choose a tag to compare

ModelPredictiveControl v1.3.2

Diff since v1.3.1

  • added: update test for new VS code test framework
  • debug: fallback if nonfinite arr. cov. after correction/update
  • debug: add busywait arg to periodsleep for StateEstimator and PredictiveController
  • changed: @error instead of @warn in MHE fallback for arrival covariance
  • changed: update CI and test on pre instead of nightly
  • changed: simpler code for stochastic predictions of InternalModel

Merged pull requests:

v1.3.1

29 Jan 12:20
cc2a92f
Compare
Choose a tag to compare

ModelPredictiveControl v1.3.1

Diff since v1.3.0

  • added: show @debug messages in github CI if debug logging is activated
  • changed: @debug messages with the getinfo dictionary are never truncated (show_limited=false is no longer necessary)

Merged pull requests:

  • added: show @debug message in CI if debug logging is activated (#153) (@franckgaga)

v1.3.0

24 Jan 00:51
35ee483
Compare
Choose a tag to compare

ModelPredictiveControl v1.3.0

Diff since v1.2.0

  • added: show getinfo dictionary in the debug log if activated (instead of only the solution summary of JuMP)
  • added: show tips about debug log in the optimization warning and error messages
  • debug: fallback if MovingHorizonEstimator arrival covariance update fails (keep the old one)
  • changed: covariance matrix inversion with cholesky instead of inv in MovingHorizonEstimator (inv internally uses lu)

Merged pull requests:

  • doc: torques constraints AND power constraint in the example (manual) (#150) (@franckgaga)
  • debug: fallback if MovingHorizonEstimator arrival covariance update fails (#151) (@franckgaga)
  • added: call getinfo when debug logging is activated and not solved (#152) (@franckgaga)

Closed issues:

  • Error on execution of doc example (#146)

v1.2.0

15 Jan 17:17
6613a1e
Compare
Choose a tag to compare

ModelPredictiveControl v1.2.0

Diff since v1.1.4

  • added: ForwardEuler ODE solver
  • added: remove 1 useless .= op in RungeKutta(4)
  • added: forcing specialization in the NLP functions by using Vararg{T, N} instead of splatting (see this tip)
  • added: skipping computations in extended_predictions when possible
  • added: print the solver order for NonLinModel
  • changed: bump julia compat to 1.10 (new LTS)
  • changed: improve code reuse in NLP functions to improve code maintainability
  • test: new tests for ForwardEuler
  • doc: info about types that allocate or not

Merged pull requests:

v1.1.4

22 Dec 22:08
9c3c3c6
Compare
Choose a tag to compare

ModelPredictiveControl v1.1.4

Diff since v1.1.3

  • added: linearize! is now allocation free
  • added: do not call gc! if nc==0
  • added: new mpc.buffer.ΔŨ buffer to reduce the allocations
  • changed: preparestate! default d argument as empty vector
  • various doc improvements

Merged pull requests:

v1.1.3

11 Dec 16:32
b5bc3f7
Compare
Choose a tag to compare

ModelPredictiveControl v1.1.3

Diff since v1.1.2

  • added: :gc field in getinfo for custom constraints of NonLinMPC
  • debug: allow setmodel! on SteadyKalmanFilter/Luenberger when there is no model modification (for changing the weights of a PredictiveController)
  • test: validating the :gc fields of getinfo! in the constraint violation tests
  • doc: remove Hp parameter in the gc example of the manual (useless)

Merged pull requests:

v1.1.2

06 Dec 00:19
27648cc
Compare
Choose a tag to compare

ModelPredictiveControl v1.1.2

Diff since v1.1.1

  • added: save some computations in NonLinMPC with T_lastu field instead of T_lastu0
  • changed: moved all controller weights in mpc.weights struct to improve code re-use
  • test: improve constraint violation tests (verify the whole horizons, use distinct lower and upper bounds)
  • test: new custom constraint violation tests that use Ue argument
  • doc: added a custom nonlinear constraint example on the motor power in the manual
  • doc: various improvements

Merged pull requests:

  • added: save some NonLinMPC computations with T_lastu instead of T_lastu0 for input conversion (#133) (@franckgaga)
  • doc: minor correction (#134) (@franckgaga)
  • Doc: nonlinear custom constraint example on the motor in the manual (#135) (@franckgaga)

v1.1.1

04 Dec 01:13
e4522fc
Compare
Choose a tag to compare

ModelPredictiveControl v1.1.1

Diff since v1.1.0

  • fixed: remove a type-instability in LinMPC and NonLinMPC introduced in v1.1.0
  • added: reduce allocations with PredictiveControllers using new fields in mpc.buffer object
  • added: improve performance with 4 iszero_X fields for each PredictiveController weight, to skip computations when possible
  • changed: moved all controller weights in mpc.weights struct to improve code re-use
  • test: new custom constraint violation tests that use Ue argument

Merged pull requests:

  • Fix type instability in LinMPC and NonLinMPC (introduced in 1.1.0) (#130) (@franckgaga)
  • Changed: moved all controller weights in mpc.weights struct (#131) (@franckgaga)
  • Added: iszero_W field in for the 4 weights in ControllerWeights struct (#132) (@franckgaga)