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

Add support to bullet physics engine #340

Draft
wants to merge 3 commits into
base: devel
Choose a base branch
from
Draft

Conversation

diegoferigo
Copy link
Collaborator

@diegoferigo diegoferigo commented Apr 28, 2021

Related to the upcoming bullet support, more info in April's 2021 Community Meeting.

This PR is very WIP because the new bullet plugin has not yet been released nor finalized.
However, a while ago I wanted to play with it 😃

It needs a custom branch of ign-physics that is not currently enabled in CI.

TODO:

  • Update the documentation that also also bullet is supported, even if the implemented physics features are not as complete as DART

@diegoferigo
Copy link
Collaborator Author

The new release gazebosim/gz-physics#255 contains the bullet physics backend, maybe now this PR could be finalized. Checking if CI succeeds.

@diegoferigo
Copy link
Collaborator Author

Tests are failing with the following:

[Wrn] [Physics.cc:592] Plugin [ignition::physics::bullet::Plugin] misses required features:
- N8ignition7physics26RemoveNestedModelFromModelE
[Err] [Physics.cc:597] Failed to load a valid physics engine from [/workspace/install/lib/ign-physics-4/engine-plugins/libignition-physics-bullet-plugin.so].

I guess I have to align the Physics system with upstream. When I first opened this PR, the test was passing.

@diegoferigo
Copy link
Collaborator Author

This PR depends on gazebosim/gz-sim#690 that is part of Ignition Edifice 5.1. However, as tracked in #319, that PR causes a significant performance drop when contacts are involved (e.g. in the panda manipulation example).

This means that our vendored physics system has to revert that PR for the moment, and bullet support has to be postponed until the origin of the slow-down is found.

@diegoferigo
Copy link
Collaborator Author

diegoferigo commented Jun 30, 2021

I opened gazebosim/gz-physics#273 to track the problem occurring in the tests.

@diegoferigo diegoferigo force-pushed the feature/bullet branch 3 times, most recently from 3796e47 to 77819be Compare July 28, 2021 08:11
@diegoferigo diegoferigo force-pushed the feature/bullet branch 2 times, most recently from 84ce929 to 0d1909e Compare October 1, 2021 09:48
@diegoferigo
Copy link
Collaborator Author

diegoferigo commented Oct 1, 2021

The bullet engine does work with simple simulations like those included in the test (at least locally in a conda-based environment that has a recent bullet version). However, more complex simulations like the manipulation example do not work properly, the panda get smashed in the beginning (maybe due to the PIDs?). Furthermore, this PR updates the Physics system with a feature that has been reverted from upstream that causes a performance regression when contacts are involved (#319).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant