moveit / moveit_commander

THIS REPO HAS MOVED TO https://github.com/ros-planning/moveit
11 stars 42 forks source link

No equivalent to C++ group.setSupportSurfaceName() in Python API #20

Closed pirobot closed 10 years ago

pirobot commented 10 years ago

I have pick and place working fairly well using the Python API. However, occasionally (but not all the time) the place operation fails because of a collision detected between the object being moved and the support surface (a table in my case). The specific messages are:

[ INFO] [1394932684.299889807]: IK failed
[ INFO] [1394932684.302000435]: Found a contact between 'table' (type 'Object') and 'target' (type 'Robot attached'), which constitutes a collision. Contact information is not stored.
[ INFO] [1394932684.302107838]: Collision checking is considered complete (collision was found and 0 contacts are stored)

I've checked fairly carefully through the Python API docs and the source code and there doesn't appear to be the equivalent of the C++ function group.setSupportSurfaceName() or the equivalent of the Python function grasp.allowed_touch_objects() that can be used with the pick operation. Did I miss something or is there another way to tell MoveIt that the object being moved is allowed to touch the support surface?

e1000i commented 10 years ago

I recently added some functions to the python wrap for moveit. Look at https://github.com/ros-planning/moveit_commander/issues/18 . I found it was not to complicated to wrap existent functions in c++ move_group to make them accessible to python. I'm also tryining to play with the pick and place stuff in python. Yet not make the pick pipeline to work. I can take a look an try to make this function accessible to python. In fact, was in my plans already.

pirobot commented 10 years ago

That would be great!

pirobot commented 10 years ago

Here's my attempt to do it myself: https://github.com/ros-planning/moveit_commander/pull/21

sachinchitta commented 10 years ago

Was merged in #21