QP formulation from the MPC toolbox

20 visualizzazioni (ultimi 30 giorni)
Hi,
I am studying different QP solvers (e.g. qpOASES, OSQP, DAQP and Gurobi) for a project I am doing at my university. I want to test their capabilites in MPC. I have tested them in the aircraft example and gotten some reasonable results, but now I wonder which QP formulation Matlab's mpc generates.
Does it create some sort of reduced-space condensed QP based on the state-space model? I am guessing this is the case because the hessian (H) of the objective function is only 11x11 for the MPC example mentioned above, with a horizon of 50 (4 states and 2 inputs).
I am guessing that it is not some sort of step-response model formulation (not for the aircraft model at least) because the model has unstable poles.
Does anyone have insights into this?
Thanks

Risposta accettata

Emmanouil Tzorakoleftherakis
Modificato: Emmanouil Tzorakoleftherakis il 23 Ott 2023
We are currently using the dense formula as you mentioned, but also working on adding support for sparse problems. The following two links may be helpful:
  3 Commenti
Muhammad
Muhammad il 29 Mag 2024
Modificato: Muhammad il 29 Mag 2024
I hope you're doing well. I have one confusion, I designed MPC controller using mpcobj and Simulink MPC Toolbox, I didn't put any constrainst to my MPC controller keeping all the values as default inf,-inf.. Its work well but now my professor asked me one question does your unconstrained MPC uses QP solver or not? If not then what kind of solver matlab/simulink is using for unconstrained mpc?
I checked with mpcobj.Optimizer (without constraint and with constraints its give me same response)
Algorithm: 'active-set'
ActiveSetOptions: [1×1 struct]
InteriorPointOptions: [1×1 struct]
MixedIntegerOptions: [1×1 struct]
MinOutputECR: 0
UseSuboptimalSolution: 0
CustomSolver: 0
CustomSolverCodeGen: 0
Emmanouil Tzorakoleftherakis
Hi,
I answered your question here.

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by