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

remove grasp service support from pick_place's fillGrasp #328

Merged

Conversation

v4hn
Copy link
Contributor

@v4hn v4hn commented Oct 31, 2016

The combination of the service support here and an optional hard-coded default grasp
is problematic because if the service is not available for any reason, but should be called,
the pick-request will end up with the hard-coded grasp.
This can create unexpected trajectories.

With MoveGroupInterface::planGraspsAndPick, a replacement for the removed functionality
is available.

This removes the dependencies on manipulation_msgs and household_objects_database_msgs.
(These were not even consistently specified in package.xml and CMakeLists.txt)

Should not be back-ported to retain current behavior.

@davetcoleman
Copy link
Member

For some unknown reason Travis did not receive a request to test this PR. I just Googled for why to no avail. @v4hn do you mind making a change to this PR so that it might re-trigger?

@davetcoleman
Copy link
Member

As you've pointed out, there's not much value here with this single default grasp. Would we rather have this fillGrasps() function call the grasping service, rather than use the default crappy grasp pose? I think this change would be fine in Kinetic.

Long term: we need a default grasping service, even if its pretty basic.

@@ -576,7 +472,6 @@ void move_group::MoveGroupPickPlaceAction::fillGrasps(moveit_msgs::PickupGoal &g
-std::numeric_limits<double>::max());
}
goal.possible_grasps.push_back(g);
Copy link
Member

Choose a reason for hiding this comment

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

I'm pretty sure this section needs to be un-indented, but all my clang-format efforts have failed me since Travis didn't run

Copy link
Contributor Author

@v4hn v4hn Oct 31, 2016

Choose a reason for hiding this comment

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

You were right, I just changed that to trigger the check...
For some reason my clang-format (3.9) keeps reordering my list of includes alphabetically,
so I don't use it at the moment...
If you have an idea how to change that, that would be nice :-)

@v4hn
Copy link
Contributor Author

v4hn commented Oct 31, 2016

Actually, I do think the one default grasp is enough for this interface. (We could add more if someone provides reasonable grasps).
For the more sophisticated grasp planning planGraspAndPick should be used in my opinion.

@davetcoleman
Copy link
Member

Think you could write up a quick tutorial on using grasping services and its integration to moveit? You or I could also then add a table with available open source grasp planning packages to that tutorial

@v4hn v4hn force-pushed the pr-kinetic-simplify-fillGrasps branch from 7a15839 to 57a3eba Compare October 31, 2016 17:16
@v4hn
Copy link
Contributor Author

v4hn commented Oct 31, 2016

Think you could write up a quick tutorial on using grasping services and its integration to moveit?

Not sure I'll have time for that in the near future, but it sounds like a good idea.

You or I could also then add a table with available open source grasp planning packages to that tutorial

I'm pretty interested in such a list myself. I'm only aware of your moveit_simple_grasps at the moment. :)

@v4hn v4hn force-pushed the pr-kinetic-simplify-fillGrasps branch from 57a3eba to b359aa4 Compare October 31, 2016 18:11
The combination of the service support here and an optional hard-coded default grasp
is problematic because if the service is not available for any reason, but should be called,
the pick-request will end up with the hard-coded grasp.
This can create unexpected trajectories.

With MoveGroupInterface::planGraspsAndPick, a replacement for the removed functionality
is available.

This removes the dependencies on manipulation_msgs and household_objects_database_msgs.
(These were not even consistently specified in package.xml and CMakeLists.txt)
@davetcoleman davetcoleman merged commit 2956439 into moveit:kinetic-devel Nov 5, 2016
@davetcoleman
Copy link
Member

Thanks! The tutorial need only take 10 minutes of quick notes so that we have something started for the future...

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

2 participants