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

Empty collision checker template for usage with tesseract and bullet #1499

Merged

Conversation

j-petit
Copy link
Contributor

@j-petit j-petit commented Jun 10, 2019

Description

This PR is concerned with GSoC #1427 and supersedes #1484 as the PR started to get too big to be easily reviewed. In this PR no collision checking functionality is included as it is an empty template. The follow up PR #1500 adds a basic Bullet + Tesseract collision checker.

@j-petit j-petit changed the title Empty collision checker template for usage with tesseract and bullet (#1427) Empty collision checker template for usage with tesseract and bullet Jun 10, 2019
Copy link
Contributor

@BryceStevenWilley BryceStevenWilley left a comment

Choose a reason for hiding this comment

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

All the exsting code looks great! The only thing that I think this PR needs is:

  • A plugin xml duplicated from FCL's (this commit has most of the changes you'll need to make)
  • A short README on how to use the collision checker. I believe that you need to set the collision detection param in the move group launch, but it's okay for now to just say you have to manually instantiate this.

@BryceStevenWilley
Copy link
Contributor

Looks like catkin lint is failing because you have to manually add this new folder to the moveit_core CMakeLists.

Copy link
Member

@davetcoleman davetcoleman left a comment

Choose a reason for hiding this comment

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

minor feedback

@j-petit
Copy link
Contributor Author

j-petit commented Jun 21, 2019

Close and open to restart Travis

@j-petit j-petit closed this Jun 21, 2019
@j-petit j-petit reopened this Jun 21, 2019
@j-petit
Copy link
Contributor Author

j-petit commented Jun 21, 2019

Can someone help me why clang-tidy fails?

@j-petit j-petit closed this Jun 21, 2019
@j-petit j-petit reopened this Jun 21, 2019
@rhaschke
Copy link
Contributor

@j-petit, the Travis failure is due to an incompatible merge of two PRs in https://github.com/ros-planning/moveit_ci. I will have a look...

@j-petit
Copy link
Contributor Author

j-petit commented Jun 21, 2019

It passed after restarting Travis.

@j-petit
Copy link
Contributor Author

j-petit commented Jun 24, 2019

Ping, can we get this merged?

@BryceStevenWilley
Copy link
Contributor

@davetcoleman are you good with this PR?

Copy link
Member

@davetcoleman davetcoleman left a comment

Choose a reason for hiding this comment

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

I made a small suggestion, but you can fix that in your next PR so this keeps moving.

: public CollisionDetectorAllocatorTemplate<CollisionWorldBt, CollisionRobotBt, CollisionDetectorAllocatorBt>
{
public:
static const std::string NAME; // defined in collision_world_bt.cpp
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
static const std::string NAME; // defined in collision_world_bt.cpp
static const std::string COLLISION_CHECKER_NAME; // defined in collision_world_bt.cpp

@davetcoleman davetcoleman merged commit 737b909 into moveit:feature-bullet-collision Jun 26, 2019
@j-petit
Copy link
Contributor Author

j-petit commented Jun 27, 2019

Thanks!

j-petit added a commit to j-petit/moveit that referenced this pull request Jul 8, 2019
…oveit#1499)

* Adding documentation to collision detection (moveit#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
BryceStevenWilley pushed a commit to BryceStevenWilley/moveit that referenced this pull request Jul 24, 2019
…oveit#1499)

* Adding documentation to collision detection (moveit#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
j-petit added a commit to j-petit/moveit that referenced this pull request Aug 23, 2019
…oveit#1499)

* Adding documentation to collision detection (moveit#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
j-petit added a commit to j-petit/moveit that referenced this pull request Nov 20, 2019
…oveit#1499)

* Adding documentation to collision detection (moveit#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
j-petit added a commit to j-petit/moveit that referenced this pull request Jan 12, 2020
…oveit#1499)

* Adding documentation to collision detection (moveit#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
davetcoleman pushed a commit that referenced this pull request Jan 23, 2020
* Empty collision checker template for usage with tesseract and bullet (#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

* Generic collision detection test suite (#1543)

Generalize collision detection tests by using a templated test fixture.

* Bullet Collision Detection (#1504)

* 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 continuous collision detection to Bullet (#1551)

* 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

* Unified Collision Environment Bullet (#1572)

* 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

* Readme for speed benchmark (#1648)

* FCL Bullet benchmark readme
  * Benchmark script and launch file updated

* PR review fixups

* Adapt cmake for Bullet (#1744)

* 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

* Rename PR2-related collision test files (#1856)
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