ModelPredictiveControl v0.13.0
I watched @baggepinnen presentation at JuliaCon 2023 (nice presentation Fredrik btw!) and it gave me the idea of a new cool feature : the linearize function. Gain scheduling should be quite easy with this. It is not possible to modify the plant model of a LinMPC instance right now, but I will probably add this feature soon. Gain scheduling is still possible using multiple LinMPC objects.
Also, I did a major refactoring of the code to support generic number types across the package. 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.
In short, the new features are:
- added: linearization of
NonLinModelbased onForwardDiff.jl - added: generic number types in all
SimModel,StateEstimatorandPredictiveControllerobjects - doc: example of
linearizeon the pendulum - doc: example of solving MPC with unstable plant model using
DAQP - tests for
linearizefunction - tests with
Float32numbers
I will register the new version soon.