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

Use FCL's broad phase #20

Closed
tobiaskunz opened this issue Jan 24, 2013 · 8 comments
Closed

Use FCL's broad phase #20

tobiaskunz opened this issue Jan 24, 2013 · 8 comments
Assignees
Labels
priority: low no timeline yet tag: feature request Indicates new feature requests
Milestone

Comments

@tobiaskunz
Copy link
Contributor

FCL includes functionality to smartly organize objects/link into a data structure such that not all pairs of them need to be checked for collision. We are currently not making use of that functionality and instead check all pairs for collision.

@ghost ghost assigned jslee02 Sep 15, 2013
@jslee02 jslee02 added this to the Release DART 4.0 milestone Mar 17, 2014
@jslee02 jslee02 modified the milestones: Release DART 4.1, Release DART 4.0 May 28, 2014
@jslee02 jslee02 modified the milestones: Release DART 5.0, Release DART 4.0.1 Jul 2, 2014
@jslee02 jslee02 modified the milestones: Release DART (15.06), Release DART 4.3 Jan 2, 2015
@scpeters
Copy link
Collaborator

I've been running some benchmark tests with a variable number of rigid bodies in a scene. Even without contact, the computational time scales superlinearly with the number of bodies for dart with FCL, while the other physics engines had roughly linear scaling.

@mxgrey
Copy link
Member

mxgrey commented Feb 25, 2015

Are the bodies in your test primitives or meshes? Or are they a mixture?

(I ask because speed differences could also be related to issue #19)

@jslee02
Copy link
Member

jslee02 commented Feb 25, 2015

Boxes are all converted to meshes for FCL, and each box mesh has 12 triangles. So they are all meshes.

@mxgrey
Copy link
Member

mxgrey commented Feb 25, 2015

I worded my last comment poorly. I've revised it.

@jslee02
Copy link
Member

jslee02 commented Feb 25, 2015

It's partially related to #19, but unfortunately, FCL is not ready to use primitives for DART because of these issues (flexible-collision-library/fcl#15, flexible-collision-library/fcl#8).

I'm planning to make some changes for the issues and create pull requests. The major changes would be:

  • supporting multiple contact points for primitive shape collision
  • making sure consistent normal directions

@tobiaskunz
Copy link
Contributor Author

While fixing #19 could improve performance in general, the issue raised by Steven has nothing to do with #19 and fixing #19 would not improve it. He did not compare absolute computation time, but the change in computation time with increasing number of bodies. Making use of FCL's broad phase could potentially improve this.

@jslee02
Copy link
Member

jslee02 commented Feb 25, 2015

@tobiaskunz is right. That's why I added "partially" but Tobias's explanation is more precise.

[edit]
This is my understanding. Fixing #19 will improve performance in general, and using broad phase algorithm will improve the nonlinear increase of computation time as increasing collision objects.

@jslee02 jslee02 modified the milestones: To Be Determined, Release DART 5.0 Mar 22, 2015
@jslee02
Copy link
Member

jslee02 commented Apr 13, 2016

Addressed by #631

@jslee02 jslee02 closed this as completed Apr 13, 2016
@jslee02 jslee02 added this to the DART 6.0.0 milestone Apr 13, 2016
peci1 pushed a commit to peci1/dart that referenced this issue Apr 6, 2021
Signed-off-by: Hill Ma <hillma@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: low no timeline yet tag: feature request Indicates new feature requests
Projects
None yet
Development

No branches or pull requests

4 participants