Accumulate contact points to prevent objects sinking when using ODE - Waiting for comments
This is a proposal PR attempting to fix #1654 - Capsule shapes sink through ground with ODE.
I tried to find some functionality in ODE similar to the one from Bullet used in https://github.com/dartsim/dart/pull/859 but couldn't find an analogous feature io ODE. So I tried manually implementing a limited contact history and a best effort to keep at least 3 contact points in order to make contact stable.
I worry about performance impact, but tests didn't get anything. I also ran gz-physics tests using DART with my changes and it seemed OK.
There is one failing test test_ForceDependentSlip, but it also fails when using Bullet or DART collision detection, so I think we could reevaluate this test.
Before creating a pull request
- [ ] Document new methods and classes
- [ ] Format new code files using ClangFormat by running
make format - [ ] Build with
-DDART_TREAT_WARNINGS_AS_ERRORS=ONand resolve all the compile warnings
Before merging a pull request
- [ ] Set version target by selecting a milestone on the right side
- [ ] Summarize this change in
CHANGELOG.md - [ ] Add unit test(s) for this change
- [ ] Add Python bindings for new methods and classes
Quality Gate passed
Issues
4 New issues
0 Accepted issues
Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code