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

Ignore phantom contact points (negative penetration depth) from Bullet #1185

Merged
merged 14 commits into from
Nov 12, 2018

Conversation

mxgrey
Copy link
Member

@mxgrey mxgrey commented Oct 30, 2018

This PR is for investigating the issue reported in #1184.


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

@mxgrey mxgrey changed the base branch from master to release-6.7 October 30, 2018 05:26
@mxgrey mxgrey changed the title [WIP] Regression test for #1184 Ignore phantom contact points from (negative penetration depth) Oct 30, 2018
@mxgrey mxgrey added this to the DART 6.7.0 milestone Oct 30, 2018
@mxgrey mxgrey changed the title Ignore phantom contact points from (negative penetration depth) Ignore phantom contact points (negative penetration depth) from Bullet Oct 31, 2018
// happening and the contact point should be ignored.
// TODO(MXG): Investigate ways to leverage the proximity information of a
// negative penetration to improve collision handling.
else if(contact.penetrationDepth >= 0.0)
Copy link
Member

@jslee02 jslee02 Oct 31, 2018

Choose a reason for hiding this comment

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

I think we would like to ignore negative penetration contacts even for soft contact as:

if(contact.penetrationDepth < 0.0)
  continue;

if (isSoftContact(contact))
{
  ...
}
else
{
  ...
}

Copy link
Member

Choose a reason for hiding this comment

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

@mxgrey Any thoughts on this? 😄

Copy link
Member Author

Choose a reason for hiding this comment

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

Sorry for the delay, I got sidetracked. Makes sense to me! I've updated the branch with this change.

Copy link
Member

Choose a reason for hiding this comment

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

Thanks! Let's merge once CI tests are done.

@codecov
Copy link

codecov bot commented Oct 31, 2018

Codecov Report

Merging #1185 into release-6.7 will increase coverage by 0.06%.
The diff coverage is 100%.

@@               Coverage Diff               @@
##           release-6.7    #1185      +/-   ##
===============================================
+ Coverage        56.51%   56.57%   +0.06%     
===============================================
  Files              345      346       +1     
  Lines            25654    25657       +3     
===============================================
+ Hits             14498    14516      +18     
+ Misses           11156    11141      -15
Impacted Files Coverage Δ
dart/constraint/ConstraintSolver.cpp 66.38% <100%> (+0.14%) ⬆️
dart/simulation/detail/World-impl.hpp 100% <0%> (ø)
dart/collision/bullet/BulletCollisionDetector.cpp 65.57% <0%> (+1.78%) ⬆️
dart/dynamics/PlaneShape.cpp 28.94% <0%> (+21.05%) ⬆️
dart/dynamics/PlaneShape.hpp 100% <0%> (+100%) ⬆️

jslee02
jslee02 previously approved these changes Nov 12, 2018
// happening and the contact point should be ignored.
// TODO(MXG): Investigate ways to leverage the proximity information of a
// negative penetration to improve collision handling.
if (contact.penetrationDepth >= 0.0)
Copy link
Member

Choose a reason for hiding this comment

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

Oh, wait. Actually, this should be:

if (contact.penetrationDepth < 0.0)

to match the original logic.

Copy link
Member Author

Choose a reason for hiding this comment

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

Whoops! Thank goodness for unit tests 😅

@jslee02 jslee02 merged commit 7660cfd into release-6.7 Nov 12, 2018
@jslee02 jslee02 deleted the grey/bullet_sphere_error branch November 12, 2018 07:50
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.

2 participants