-
Notifications
You must be signed in to change notification settings - Fork 127
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
new GraspPlanning service to replace manipulation_msgs version #32
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Requests that grasp planning be performed for the target object | ||
# returns a list of candidate grasps to be tested and executed | ||
|
||
# the planning group used | ||
string group_name | ||
|
||
# the object to be grasped | ||
CollisionObject target | ||
|
||
# the names of the relevant support surfaces (e.g. tables) in the collision map | ||
# can be left empty if no names are available | ||
string[] support_surfaces | ||
|
||
# an optional list of grasps to be evaluated by the planner | ||
Grasp[] candidate_grasps | ||
|
||
# an optional list of obstacles that we have semantic information about | ||
# and that can be moved in the course of grasping | ||
CollisionObject[] movable_obstacles | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How is movable_obstacles different from the allowed_touch_objects field in the Grasp.msg message? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think the idea is that moveable_obstacles can actually be shifted by colliding with the gripper -- I'm pretty sure that none of our current planners can actually do anything with this, but there was some work going on at willow garage to do "push-based" manipulation and grasping, where the planner could figure out how to nudge things out of the way in order to get to the grasp and get a desired grasp. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Right. I think the potential usage you described is already encompassed in the allowed_touch_objects entry in the Grasp.msg messages in this service definition; in fact they even have the same description. I think we should avoid having entries with similar purpose as that could make the interface confusing. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How does one specify the list of allowed touch objects as an input to the service though, if they have no initial estimate of grasps? The "grasps_to_evaluate"/"candidate_grasps" field is optional, and I presume most users probably won't be specifying it, but if we remove the moveable objects, then we have to pass at least one candidate grasp that contains only the allowed_touch_objects, but is not actually a candidate? That seems pretty unclean, and potentially leading to the sort of headaches we currently have with "is_diff" in the planning scene. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @mikeferguson that's a good point. |
||
|
||
--- | ||
|
||
# the list of planned grasps | ||
Grasp[] grasps | ||
|
||
# whether an error occurred | ||
MoveItErrorCodes error_code |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how about target_object or collision_object?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The name is taken from the original
manipulation_msgs/GraspPlanning.srv
.I prefer the short name here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 for the short name
target
.