disable collision checking when closing gripper using move_group
Hi all,
Since I use EffortController to control the gripper (stoping closing when effort is detected), I set the goal state of gripper to be fully closed in movegroup. But due to the existence of object to be grasped (Objreal) in octomap, the gripper.move()
plan failed.
One possible way to solve this is to disable the collision checking between gripper and the octomap temporarily only for gripper.move()
. But this may be unsafe, and I don't know how to do this....
Secondly, it's said if I add and attach an object (Objvirtual) in the planning scene at the position of Objreal, then the octomap belonging to the Objreal will be cleared. But again I need to disable the collision checking between the gripper and Objvirtual. It seems this can be done by attached_object.touch_links = {"linkname1","linkname2"};
or by modify the AllowedCollisionMatrix (acm) using acm.setEntry("obj_virtual","linkname1",true);
. But after these settings, the gripper.move()
still fails.. I'm not sure whether these settings are using when planning the move by the MoveGroupInterface..
Any suggestions about this... Thanks very much!
Asked by xibeisiber on 2020-07-20 06:25:42 UTC
Comments
Hi there, I have the exact same problem as you, I'm trying to modify the ACM for my gripper so that it will be able to ignore the collision with grasping object when it closes, however I suspect that the gripper.move() fails because the ACM is in the planning_scene class which is a different class from the MoveGroupInterface class, hence updating the ACM does not affect gripper.move(). Do you know how we can link planning_scene to MoveGroupInterface?
Asked by wootoodoo on 2020-07-21 22:37:33 UTC
Please see this Q&A for reference
Asked by xibeisiber on 2020-07-23 01:55:01 UTC