Hi,
I have an MPC tube formulation with quite complex dynamics, non linear constraints, as well as a nonlinear terminal constraint. The dynamics depend on several parameters which are updated online using the C interface. The solver is configured as follows:
To read out the solution, we use ocp_nlp_out_get
, ocp_nlp_get
(see below).When looking at these function definitions, it’s rather limited in terms of the variables which are exposed by the solver.
For debugging purposes, it would be very convenient to have the option to read out intermediate quantities which are computed, e.g. inside the dynamics function, but do not necessarily fall into any of the fields specified in ocp_nlp_out_get
. I was wondering whether there is an option to expose custom fields without compromising the complexity of the solver.
Furthermore, while I’m able to read out the status, I’m not entirely sure what each of the return values imply exactly. Following this post, where can I find more insights about what each of the failure cases mean exactly? Is it possible to conclude from the failure status specific issues such as feasiblity, or ill conditioning?
Lastly, I was wondering whether there are any logs generated inside acados which could provide more info as to what the solver is doing, and why does it fail.
Thanks in advance,
Maria