Hey @FreyJo,
thanks for your quick answer!
The problem is an OCP, whose optimization horizon comprises multiple laps.
Since the external
cost module does currently not support algebraic variables (https://github.com/acados/acados/issues/554), we use the linear_ls
cost module.
We have made some approaches varying the NLP step length (nlp_solver_step_length
) and the number of QP iterations (qp_solver_iter_max
) as you suggested. According to the residuals, which we think we found in the solver statistics using acados_solver.get_stats('statistics')
as mentioned here Parameteric OCP with path constraint and LS cost, solver oscillations can be reduced but still the solver does not converge to a solution for some problems (at least in an NLP iteration range where the same problem for other race tracks was solved).
What do you think is the best way to check different solver initializations? You mention that acados reuses previous solutions stored in memory as an initialization. Since we currently do not solve a closed loop simulation but an OCP with multiple laps, acados can’t use a previous solution for initialization. Is the best way here to set states and controls to a relatively smart guess?
Is there any documentation regarding the outputs of acados_solver.get_stats('statistics')
, this might help understanding, what is going on inside the solver.
Best,
Maximilian