-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[workspace] Upgrade Clarabel.rs to latest release 0.7.1 #21053
Conversation
925ce19
to
d32eb35
Compare
d32eb35
to
b8ca8c3
Compare
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.
@drake-jenkins-bot retest this please |
+@AlexandreAmice for review of the tolerance changes piece, please. +@rpoyner-tri for platform review, please. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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)
Adds a test to capture the improvement in Clarabel's implementation.
There was a problem hiding this 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)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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)
…ion#21053) Co-authored-by: amice <[email protected]>
This reverts the default tolerance changes from #20844, now that the solver can handle the tighter bounds.
This change is