Skip to content

Tags: JuliaControl/ModelPredictiveControl.jl

Tags

v1.14.1

Toggle v1.14.1's commit message
[Diff since v1.14.0](v1.14.0...v1.14.1)

**Merged pull requests:**
- doc: clearer sentences in `getinfo` (#292) (@franckgaga)
- added: optimal nonlinear constraint vectors in `getinfo` (#294) (@franckgaga)
- Bump version from 1.14.0 to 1.14.1 (#295) (@franckgaga)

v1.14.0

Toggle v1.14.0's commit message
[Diff since v1.13.3](v1.13.3...v1.14.0)

- added: derivatives in `getinfo` dictionnary for `NonLinMPC` and `MovingHorizonEstimator`

**Merged pull requests:**
- build(deps): bump actions/checkout from 5 to 6 (#288) (@dependabot[bot])
- bench: added `getinfo` function in unit tests (#289) (@franckgaga)
- added: derivatives in `getinfo` dictionnary for `NonLinMPC` and `MovingHorizonEstimator` (#290) (@franckgaga)

v1.13.3

Toggle v1.13.3's commit message
[Diff since v1.13.2](v1.13.2...v1.13.3)

- added: `RandomOrder` in 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:**
- added: `RandomOrder` in default sparse Jacobian and Hessian backends (#286) (@franckgaga)
- bench: new EMPC tests with `hessian=true` (#287) (@franckgaga)

v1.13.2

Toggle v1.13.2's commit message
[Diff since v1.13.1](v1.13.1...v1.13.2)

- 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

Toggle v1.13.1's commit message
[Diff since v1.13.0](v1.13.0...v1.13.1)

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

**Merged pull requests:**
- debug: prepare AD with `rand` constant contexts (#278) (@franckgaga)
- debug: only fills non-zeros in `∇²f` of `@operator` (#279) (@franckgaga)

**Closed issues:**
- Support exact Hessians of Lagrangian `NonLinMPC` and `MovingHorizonEstimator` (#181)

v1.13.0

Toggle v1.13.0's commit message
[Diff since v1.12.0](v1.12.0...v1.13.0)

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

**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

Toggle v1.12.0's commit message
[Diff since v1.11.1](v1.11.1...v1.12.0)

- 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

Toggle v1.11.1's commit message
[Diff since v1.11.0](v1.11.0...v1.11.1)

- 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

Toggle v1.11.0's commit message
[Diff since v1.10.0](v1.10.0...v1.11.0)

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

**Merged pull requests:**
- doc: update pendulum exemple to MTK v10 in the manual (#251) (@franckgaga)
- doc: details on proper systems in `LinModel` extended help (#252) (@franckgaga)
- bench: only run bench if `benchmark` appears in label (#254) (@franckgaga)
- added: multithreading with `MultipleShooting` and `TrapezoidalCollocation` (#258) (@franckgaga)
- Update transcription.jl (#259) (@franckgaga)

v1.10.0

Toggle v1.10.0's commit message
[Diff since v1.9.3](v1.9.3...v1.10.0)

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

**Merged pull requests:**
- doc: add arXiv badge (#247) (@franckgaga)
- added: `covestim` in `MovingHorizonEstimator` now supports `SteadyKalmanFilter` (#248) (@franckgaga)
- Bump version (#249) (@franckgaga)