Matrix/Vector notation of OCP QP

Hello,
I’m using the ocp_qp_interface C interface and I am a bit puzzled about the names of the names of the vectors and matrices. After playing a bit around with acados and also getting things to work, I have some issues with inequality constraints for the inputs.

The documentation refers for the problem definition to this document: https://github.com/giaf/hpipm/blob/master/doc/guide.pdf

For me the following things are unclear:

  1. What are the (bounds?) lg and ug? - Do they refer to the d_n vectors in the QP formulation?
  2. Same for the (bounds?) lb and ub together with idxb. In my understanding, these are neither the bounds of the input nor state variables. But what else?
  3. How do Jbx and idxbx or Jbu and idxbu relate? Are the J matrices only allowed to be diagonal and contain “ones”?

Thanks for your help :slight_smile:

Hi,

yes, I agree it would be nice if this was more consistent in the PDF.

They are both you can use the setters d_ocp_qp_set_idxbx, d_ocp_qp_set_idxbu and the like.

I guess these interface functions make it most clear https://github.com/FreyJo/acados/blob/2950a946ddd99936805357a635b73d126f458b42/interfaces/acados_template/acados_template/utils.py#L291

Cheers!