Skip to content
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

[workspace] Upgrade Clarabel.rs to latest release 0.7.1 #21053

Merged
merged 5 commits into from
Apr 22, 2024

Conversation

jwnimmer-tri
Copy link
Collaborator

@jwnimmer-tri jwnimmer-tri commented Feb 27, 2024

This reverts the default tolerance changes from #20844, now that the solver can handle the tighter bounds.


This change is Reviewable

@jwnimmer-tri jwnimmer-tri added release notes: fix This pull request contains fixes (no new features) status: do not merge status: do not review labels Feb 27, 2024
@jwnimmer-tri jwnimmer-tri changed the title [workspace] Upgrade Clarabel.rs to latest release 0.7.0 [workspace] Upgrade Clarabel.rs to latest release 0.7.1 Apr 15, 2024
@jwnimmer-tri jwnimmer-tri marked this pull request as ready for review April 15, 2024 15:41
RussTedrake added a commit to RussTedrake/drake that referenced this pull request Apr 19, 2024
PR RobotLocomotion#21053 to upgrade clarabel fell over on some numerical problems in
the PhiConstraint unit test.  I've captured that failure and reported
it in oxfordcontrol/Clarabel.rs#96 .

In examining the problem, I found a number of small errors in the
existing test. Resolving those errors allows clarabel 7.1 to pass the
tests without any upstream changes required.

The changes in the PhiConstraint test are:

- QuadraticCost was being used incorrectly (we forgot the factor of
  2). It was also documented as being the L2 norm, instead of the L2
  norm squared.

- Added a diagram to the doc and minor code cleanup.

In GCS, I made two changes, both of which have no functional impact:

- The bounding box constraint with lb==ub was replaced with a linear
  equality constraint (which should be preferred).

- I've slightly improved the variable names used in the mathematical
  program, for readability during debugging. This program is
  intentionally not exposed to the user, and all of the changes were
  to internally defined variables. Although a user _could_ have gotten
  to these by mucking around in the MathematicalProgramResult, there
  is nothing in the API contract that is changing on them.
@jwnimmer-tri
Copy link
Collaborator Author

@drake-jenkins-bot retest this please

@jwnimmer-tri
Copy link
Collaborator Author

+@AlexandreAmice for review of the tolerance changes piece, please.

+@rpoyner-tri for platform review, please.

Copy link
Contributor

@AlexandreAmice AlexandreAmice left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:lgtm:

I sent you a PR that actually captures the improved behavior if you are interested. Before this patch, my test causes Clarabel to panic, and hence crash Drake. After this PR, Clarabel simply returns insufficient progress which is desirable.

Reviewed 19 of 19 files at r2, all commit messages.
Reviewable status: LGTM missing from assignee rpoyner-tri(platform)

Copy link
Collaborator Author

@jwnimmer-tri jwnimmer-tri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I merged it with one small code style tweak.

Reviewed 19 of 19 files at r2, 1 of 1 files at r4, all commit messages.
Reviewable status: LGTM missing from assignee rpoyner-tri(platform), commits need curation (https://drake.mit.edu/reviewable.html#curated-commits) (waiting on @jwnimmer-tri)

Copy link
Contributor

@rpoyner-tri rpoyner-tri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:lgtm:

Reviewed 19 of 19 files at r2, 1 of 1 files at r4, all commit messages.
Reviewable status: commits need curation (https://drake.mit.edu/reviewable.html#curated-commits) (waiting on @jwnimmer-tri)

@jwnimmer-tri jwnimmer-tri merged commit 9037b76 into RobotLocomotion:master Apr 22, 2024
9 of 10 checks passed
@jwnimmer-tri jwnimmer-tri added the status: squashing now https://drake.mit.edu/reviewable.html#curated-commits label Apr 22, 2024
@jwnimmer-tri jwnimmer-tri deleted the clarabel-0.7.0 branch April 22, 2024 17:44
RussTedrake pushed a commit to RussTedrake/drake that referenced this pull request Dec 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: low release notes: fix This pull request contains fixes (no new features) status: squashing now https://drake.mit.edu/reviewable.html#curated-commits
Projects
Development

Successfully merging this pull request may close these issues.

3 participants