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

Merging Bullet feature branch #1839

Merged
merged 8 commits into from
Jan 23, 2020
Merged

Merging Bullet feature branch #1839

merged 8 commits into from
Jan 23, 2020

Conversation

j-petit
Copy link
Contributor

@j-petit j-petit commented Jan 20, 2020

Description

This PR merges the Bullet feature branch into master. All commits have been individually reviewed before and every pending PR to the feature branch has been merged.

…1499)

* Adding documentation to collision detection (#1488)

* CMake adaptions for Tesseract integration

* Empty collision detector template for tesseract and bullet

* Making bullet as a collision plugin available

* Adding missing error messages

* Adding new folders and libraries to cmake

* Fixing the BSD license

* clang-format
Generalize collision detection tests by using a templated test fixture.
* Added discrete BVH Bullet manager
* Added continuous collision detection
* Cleanup of tesseract code
   * removed simple collision managers
   * changed enum to enum classes
   * fixed typos
   * removing debugging statements
   * removing tesseract allowed collision matrix
   * removed tesseract macros
   * replaced typedefs of stl containers
   * removed tesseract attached object code
   * ACM members of collision robot and world removed and ACM check into callback out of class
   * remove ContactTestType and replace through MoveIt CollisionRequest
   * BodyType int changed to enum
   * removed tesseract_msgs dependency and unnecessary tesseract code
   * changed dependency from bullet3_ros to debian Bullet package

* Adding bullet and tesseract simple collision manager to the template:
   * added benchmark case for checking collision speed
   * tests for bullet collision checking

* Adding missing features:
  * attached objects
  * contact reporting max number of contacts fixed
  * Bullet plugin xml name fixed
  * padding and scaling for robot added
  * updated tests
* Adding continous collision detection:
  * check only active links added
  * benchmark FCL vs Bullet
  * renaming files from bt to bullet
  * renaming variables from bt to bullet
  * clang-tidy and clang-format
  * renaming of variables to be in moveit format
  * continuous tests added
  * CCD active links changed
  * distance testing added to panda test suite

* New collision features:
  * broadphase early culling
  * minimal distance reporting
  * renaming collision filter and group
  * removed extra margin on AABB for bullet
  * ACM in test from SRDF

* PR review
* Templated tests adapted for unified collision env

* Unified Bullet collision environment:
  * broadphase filtering adapted for early culling
  * ACM from SRDF in test
  * cleanup for bullet single collision env
  * removed link2castcow for CCD and only use constructor of COW directly
  * parent class for collision managers
  * removed function pointer for ACM check
  * removed extra self-collision manager and use only single manager
  * speed benchmark for unified environment

* PR review:
  * more descriptive variable names
  * added user to TODO

* PR review:
  * shortening namespace
  * documentation improvements
  * virtual destructor of BVH manager
  * remove extra speed benchmark
  * bugfix for not initialized managers

* Licenses revised of old tesseract files

* PR review:
  * replaced include guards through pragma
  * used default instead of empty {} for ctor/dtor

* Comments in Bullet readme about thread safety and speed
* FCL Bullet benchmark readme
  * Benchmark script and launch file updated

* PR review fixups
* cmake for using Bullet only if correct version available

* Fixup

* PR review fixup

* Rewrite with own FindBullet.cmake

* Use pkg-config

* Fix travis failure for melodic

* Fix moveit_ros_planning dependency on Bullet
@j-petit
Copy link
Contributor Author

j-petit commented Jan 20, 2020

Closed and opened again to retrigger Travis as timeout made CI fail.

@j-petit j-petit closed this Jan 20, 2020
@j-petit j-petit reopened this Jan 20, 2020
@j-petit j-petit closed this Jan 20, 2020
@j-petit j-petit reopened this Jan 20, 2020
@davetcoleman
Copy link
Member

any idea why clang is failing?

@j-petit
Copy link
Contributor Author

j-petit commented Jan 22, 2020

hm, some unrelated tests (as far as I can tell) keep failing.. I have to investigate this.

@rhaschke
Copy link
Contributor

I think the failures are still related to ros-shadow-fixed. I will retrigger Travis.

Copy link
Contributor

@rhaschke rhaschke left a comment

Choose a reason for hiding this comment

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

In general I approve, but didn't reviewed all the details again.
I left some minor comments.

@davetcoleman davetcoleman merged commit 77fb00f into master Jan 23, 2020
@davetcoleman davetcoleman deleted the feature-bullet-trajopt branch January 23, 2020 15:16
davetcoleman added a commit that referenced this pull request Jan 23, 2020
@rhaschke rhaschke restored the feature-bullet-trajopt branch January 24, 2020 07:10
@rhaschke rhaschke deleted the feature-bullet-trajopt branch January 24, 2020 07:13
rhaschke added a commit that referenced this pull request Jan 24, 2020
@rhaschke
Copy link
Contributor

Merged again using a merge-commit to preserve the detailed history of the individual commits.

@j-petit
Copy link
Contributor Author

j-petit commented Jan 24, 2020

Thanks Robert 🎉 !

@progtologist
Copy link
Contributor

Minor issue with this:
If bullet is not found at compile time, package.xml still lists collision_detector_bullet_description.xml which does not get installed.

@rhaschke
Copy link
Contributor

I don't think this can be fixed. package.xml is static.

@progtologist
Copy link
Contributor

(Untested) ugly workaround:
Install an empty collision_detector_bullet_description.xml, parser no longer complains and no plugin actually gets added to poco.

@rhaschke
Copy link
Contributor

Good idea. Could you file a PR for this, please? Thanks.

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.

None yet

4 participants