alexliniger/MPCC

Discretized Model Scalling

pulsipher opened this issue · 2 comments

I follow how the model dynamics are linearized/discretized to form Ad, Bd, and gd. However, could you provide some more detail about the following scaling step that seems to lift the problem:

% constructing augmented system with state-input scaling
    Ak = [MPC_vars.Tx*Ad*MPC_vars.invTx MPC_vars.Tx*Bd*MPC_vars.invTu; zeros(nu,nx) eye(nu)];
    Bk = [MPC_vars.Tx*Bd*MPC_vars.invTu;eye(nu)];
    gk = [MPC_vars.Tx*gd;zeros(nu,1)];

I don't quite follow why we increase the dimension of x by nu.

% s_k = [x_k,u_k-1], v_k = du_k

The idea is that the MPC does not compute the inputs but how much to change the inputs, this allows for rate constraints and rate costs, while still maintaining the structure necessary for hpipm.

Thanks, I missed that note.