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

Fix CollisionGroup bugs in Hand executors. #299

Merged
merged 7 commits into from
Jan 13, 2018

Conversation

brianhou
Copy link
Contributor

@brianhou brianhou commented Jan 12, 2018

BarrettHandKinematicSimulationPositionCommandExecutor::setCollideWith didn't call setCollideWith on the underlying position or spread executors. In addition, calling BarrettFingerKinematicSimulationPositionCommandExecutor::setCollideWith and BarrettFingerKinematicSimulationSpreadCommandExecutor::setCollideWith could result in a mismatch if the new CollisionGroup came from a different CollisionDetector.

This PR fixes the first issue and adds a setFingerCollisionGroup method to both finger executors, which updates the appropriate finger collision groups (if necessary).

I think this resolves #271. (I didn't see the setCollideWith methods when I created the issue earlier.)


Before creating a pull request

  • Document new methods and classes
  • Format code with make format

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

BarrettHandKinematicSimulationPositionCommandExecutor::setCollideWith
didn't set the CollisionGroup for the underlying position or spread
executors.

BarrettFingerKinematicSimulationPositionCommandExecutor::setCollideWith
and
BarrettFingerKinematicSimulationSpreadCommandExecutor::setCollideWith
could result in a mismatch if the new CollisionGroup came from a
different CollisionDetector.
@brianhou brianhou added this to the Aikido 0.3.0 milestone Jan 12, 2018
@brianhou brianhou requested review from gilwoolee and jslee02 January 12, 2018 00:25
@codecov
Copy link

codecov bot commented Jan 12, 2018

Codecov Report

Merging #299 into master will increase coverage by 1.75%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #299      +/-   ##
==========================================
+ Coverage   79.42%   81.17%   +1.75%     
==========================================
  Files         202      202              
  Lines        5841     5865      +24     
==========================================
+ Hits         4639     4761     +122     
+ Misses       1202     1104      -98
Impacted Files Coverage Δ
...ngerKinematicSimulationPositionCommandExecutor.hpp 100% <ø> (ø) ⬆️
...FingerKinematicSimulationSpreadCommandExecutor.hpp 100% <ø> (ø) ⬆️
...FingerKinematicSimulationSpreadCommandExecutor.cpp 71.42% <100%> (+7.71%) ⬆️
...ngerKinematicSimulationPositionCommandExecutor.cpp 80% <100%> (+13.33%) ⬆️
...HandKinematicSimulationPositionCommandExecutor.cpp 77.14% <100%> (+77.14%) ⬆️
src/planner/ompl/CRRT.cpp 76.16% <0%> (+0.58%) ⬆️
...HandKinematicSimulationPositionCommandExecutor.hpp 100% <0%> (+100%) ⬆️

@brianhou
Copy link
Contributor Author

brianhou commented Jan 12, 2018

I re-enabled the BarrettHand tests by resolving the API changes from #166. Unfortunately, they all fail.

I'm not sure if this is another instance of https://github.com/personalrobotics/libherb/issues/43, but we should look into this soon. If these tests passed before #166, maybe we can isolate the cause by looking in there.

@brianhou
Copy link
Contributor Author

Bugs fixed, thanks @gilwoolee!

I mis-remembered what the preshapes should actually look like, so this resolves https://github.com/personalrobotics/libherb/issues/43 as well.

@gilwoolee gilwoolee merged commit f8f07f2 into master Jan 13, 2018
@gilwoolee gilwoolee deleted the bugfix/brianhou/handexecutor-collisions branch January 13, 2018 02:19
@brianhou brianhou mentioned this pull request Jan 25, 2018
3 tasks
gilwoolee pushed a commit that referenced this pull request Jan 21, 2019
* Fix CollisionGroup bugs in Hand executors.

BarrettHandKinematicSimulationPositionCommandExecutor::setCollideWith
didn't set the CollisionGroup for the underlying position or spread
executors.

BarrettFingerKinematicSimulationPositionCommandExecutor::setCollideWith
and
BarrettFingerKinematicSimulationSpreadCommandExecutor::setCollideWith
could result in a mismatch if the new CollisionGroup came from a
different CollisionDetector.

* Re-enable BarrettHand tests.

Resolves #176.

* Add ball to collision checks.

* Fix typo.

* Bugfix for BarrettHandSimulator. Distal stops when proximal reaches its goal and not in collision.

* Delete dead code and reformat BarrettHand tests.

* Add tests for setCollideWith.
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.

BarrettHand::execute should permit dynamically setting the collision groups
2 participants