SQP_RTI with qpOASES: SQP_RTI: QP solver returned error status 36 QP iteration 50

Hi :wave:

Thank you for this wonderful tool! I tried to use the acados python interface to build an NMPC for quadrotor control, to track the desired attitude setpoint. I built the External type cost function where the attitude error is represented as R^TR_{desired} and I used SQP_RTI with FULL_CONDENSING_QPOASES . However, I encountered the problem:


SQP_RTI: QP solver returned error status 36 QP iteration 50.

iter	qp_stat	qp_iter
0	0	0
1	36	50

or 
SQP_RTI: QP solver returned error status 37 QP iteration 40.

iter	qp_stat	qp_iter
0	0	0
1	37	40

Thread QPOASES fails on first iteration - User Questions - acados forum has a similar problem, but the github link there is expired at present.(https://github.com/FreyJo/acados/tree/python_detect_dims)

Any ideas about what the issue might be? Thank you so much for your reply!

Hi,

I think your issue is unrelated to the other thread.
Especially, the fix is certainly merged and the issue must have a different cause.

Some things to check

  • qpOASES as an active set solver might need more than 50 iterations, you can try to increase qp_solver_iter_max.
  • Does the issue also occur with other QP solvers? It might just be that the QP is infeasible.
  • Condensing could make the problem very ill conditioned. It might make sense to try without condensing as well or check the conditioning of the problem, with the qp_diagnostics functionality in acados.

Best,
Jonathan

1 Like

Hi Jonathan,

Thank you so much for your help! :heart: :heart: :heart: :heart: it is really helpful!

Best regards,
Orange787

1 Like