Skip to content

[FEATURE] Enhance SAP Coupler to support self collision between FEM objects#1375

Merged
duburcqa merged 59 commits intoGenesis-Embodied-AI:mainfrom
Libero0809:self_collision
Jul 16, 2025
Merged

[FEATURE] Enhance SAP Coupler to support self collision between FEM objects#1375
duburcqa merged 59 commits intoGenesis-Embodied-AI:mainfrom
Libero0809:self_collision

Conversation

@Libero0809
Copy link
Contributor

@Libero0809 Libero0809 commented Jul 8, 2025

Description

  • Add self collision support in SAP Coupler
  • Performance optimization, kernel optimization and early exit when convergence met.
  • Code Refactor: Add classes for Contacts.
  • Exact Line search along with backtracking line search
  • BVH radix sort optimization
  • BUG FIX: PCG solver, typo

Related Issue

Motivation and Context

How Has This Been / Can This Be Tested?

Added a new test.

Screenshots (if appropriate):

test_self.1.mp4
test_self.mp4
test_dragon.mp4

Checklist:

  • I read the CONTRIBUTING document.
  • I followed the Submitting Code Changes section of CONTRIBUTING document.
  • I tagged the title correctly (including BUG FIX/FEATURE/MISC/BREAKING)
  • I updated the documentation accordingly or no change is needed.
  • I tested my changes and added instructions on how to test it for reviewers.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@Libero0809
Copy link
Contributor Author

I need to merge this branch into my other working branches which would cause many conflicts. I kind of need to change these multiple times which is quite painful.

First, I think this kind of issues are caused by "weaknesses" in your workflow and the way your organise your branches and PRs. Ideally, your workflow should be more resilient to this kind of requests for changes, especially where it only affects fresh new code that you are pushing yourself. We would discuss this together in a video call if you are interested.

I think these kind of changes should be done when all my relevant branches are merged then I can only do them in one time.

It is a bad engineering practice to merge code that is not up-to-standard under the promise that it will be fixed later on. From my own experience, even without deceptive intend from contributors, such promises tend to never be fulfilled in practice, simply because other tasks come on the way so that addressing requests for changes of some already merged PR is no longer a priority. This practice is only recommended when a repository is in a broken state for some reason and a quick-and-dirty solution must be shipped as soon as possible before anything.

What being said, I'm ok to make a compromise for this time.

I get your idea. I will update them in this PR. For issues like this, maybe only comment once and note that it occurs multiple times in the code instead of trying to exhaust them. As you can see the dialogues are already very lengthy and cumbersome to navigate through.

@Libero0809
Copy link
Contributor Author

Most comments are resolved except for syntax sugar and compute information kernels. Please see the above replies. @duburcqa

@duburcqa
Copy link
Collaborator

duburcqa commented Jul 16, 2025

@Libero0809 I will merge once the CI is passing!

@Libero0809
Copy link
Contributor Author

Thanks! There's a small bug in CouplerOption and I have fixed it. @duburcqa

@duburcqa duburcqa enabled auto-merge (squash) July 16, 2025 19:23
auto-merge was automatically disabled July 16, 2025 19:54

Head branch was pushed to by a user without write access

@duburcqa duburcqa enabled auto-merge (squash) July 16, 2025 20:06
@duburcqa duburcqa disabled auto-merge July 16, 2025 21:11
@duburcqa duburcqa merged commit d201735 into Genesis-Embodied-AI:main Jul 16, 2025
13 checks passed
LeonLiu4 pushed a commit to LeonLiu4/Genesis that referenced this pull request Aug 7, 2025
YilingQiao pushed a commit to YilingQiao/Genesis that referenced this pull request Aug 22, 2025
winnieyangwannan pushed a commit to winnieyangwannan/Genesis that referenced this pull request Sep 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants