New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Soft constraints support for interfaces other than HPIPM #310

Merged
merged 36 commits into from Jul 17, 2018

Conversation

Projects
None yet
2 participants
@bnovoselnik
Contributor

bnovoselnik commented Jun 20, 2018

  • provides functions to reformulate dense QPs and OCP QPs with soft constraints from structure exploiting formulation (used by HPIPM) to a more general formulation that can be used by other solvers as well
  • slacks are explicitly stacked with optimization variables and problem matrices are extended accordingly
  • QPOASES and QORE interfaces in ACADOS have been extended to use this reformulation when presented with a dense QP with soft constraints (tested in mass spring and wind turbine examples)
  • OCP QP reformulation is not that usefull maybe, because QPDUNES cannot use it as it is (if there are soft constraints on states in the last stage for example) and HPMPC has some numerical troubles that I was not able to overcome (by tweaking HPMPC parameters). At this point, only HPIPM can solve this reformulated OCP (I used it just to test the correctness of the reformulation) but of course HPIPM doesn't need it :)

Should be noted: this PR uses a slightly newer version of HPIPM (bba890a).

bnovoselnik and others added some commits May 25, 2018

Merge pull request #2 from giaf/master
dense qp residuals fix for ns>0
@@ -7,6 +7,24 @@
extern "C" {
#endif
#define X0_NM2_FILE "/home/bnovoselnik/Software/acados/examples/c/chain_model/x0_nm2.txt"

This comment has been minimized.

@giaf

giaf Jun 26, 2018

Collaborator

This file got changed my cmake... We should find a better way of doing that, everyone added it to a commit at least once :p

@giaf

giaf Jun 26, 2018

Collaborator

This file got changed my cmake... We should find a better way of doing that, everyone added it to a commit at least once :p

This comment has been minimized.

@bnovoselnik

bnovoselnik Jun 26, 2018

Contributor

I agree, it's really annoying :)

@bnovoselnik

bnovoselnik Jun 26, 2018

Contributor

I agree, it's really annoying :)

@giaf

This comment has been minimized.

Show comment
Hide comment
@giaf

giaf Jun 26, 2018

Collaborator

@bnovoselnik travis is failing for all compilers, stating that d_ocp_qp has no member 'm'. So it looks like an older version of HPIPM is used.

Collaborator

giaf commented Jun 26, 2018

@bnovoselnik travis is failing for all compilers, stating that d_ocp_qp has no member 'm'. So it looks like an older version of HPIPM is used.

@bnovoselnik

This comment has been minimized.

Show comment
Hide comment
@bnovoselnik

bnovoselnik Jun 26, 2018

Contributor

@giaf Yep, that's true. The problem is that the version bba890a also lacks one small bug fix from a newer version of HPIPM (4ee5ab4) which is relevant for soft constraints. I wanted to bump ACADOS to the newest version of HPIPM (which would include this bug fix as well) but I couldn't do it because of a problem with redeclaration of enums in HPIPM (see this issue I opened not loo long ago: giaf/hpipm#30)

Contributor

bnovoselnik commented Jun 26, 2018

@giaf Yep, that's true. The problem is that the version bba890a also lacks one small bug fix from a newer version of HPIPM (4ee5ab4) which is relevant for soft constraints. I wanted to bump ACADOS to the newest version of HPIPM (which would include this bug fix as well) but I couldn't do it because of a problem with redeclaration of enums in HPIPM (see this issue I opened not loo long ago: giaf/hpipm#30)

@giaf

This comment has been minimized.

Show comment
Hide comment
@giaf

giaf Jun 27, 2018

Collaborator

Ok, yesterday I was working a bit on the enums issue in HPIPM, today I didn't have any time. I'll try to finish it tomorrow.

Collaborator

giaf commented Jun 27, 2018

Ok, yesterday I was working a bit on the enums issue in HPIPM, today I didn't have any time. I'll try to finish it tomorrow.

@giaf giaf merged commit a05f719 into acados:master Jul 17, 2018

0 of 2 checks passed

continuous-integration/travis-ci/pr The Travis CI build could not complete due to an error
Details
continuous-integration/appveyor/pr AppVeyor build failed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment