ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Open gripper using GripperCommand in pick and place pipeline

asked 2020-04-26 20:22:10 -0500

Solenoid gravatar image

I'm looking to use a 6 DOF robotic arm and an attached 2-finger gripper to perform a pick and place task. So far everything works except for the gripping the object using the end effector. I'm using the Python bindings of moveit_python from here.

I've understood that I need to fill the whole Grasp message, including the end effector posture, and that the pipeline is supposed to take care of closing/opening the gripper. Except that it's not quite as flexible as I would like. The gripper I'm using is capable of reporting if the gripping was actually successful, so rather than counting on a probable success I would like to make sure the gripping was successful before proceeding with the placing.

The low-level controllers MoveIt tutorial page mentions the optional GripperCommand action. That happens to be exactly what I want: provide the proper action command, wait for the feedback and result of the gripping which I would provide from a custom action server.

I set up the custom action server, I see that the move_group publishes the GripperCommandActionGoal and my custom action server node is subscribing to it. I can even rostopic pub a gripper open/close message from the command line and that works too.

Now, the pick and place pipeline does not call the action during the picking and placing part (nothing is published). I'm not sure if this is because the pick and place pipeline has not been configured to do that or that is not actually how this is supposed to work. The tutorial does not explain the use cases of this optional gripper action.

I could also go the "subscribe to the joint states topic" way, but then I wouldn't have the feedback that an action message provides.

Could anybody explain how this low-level controller is supposed to work, the MoveIt tutorial is not very clear on that.

System: ROS Melodic, Ubuntu 18.04

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2020-04-27 03:25:50 -0500

Solenoid gravatar image

For future reference: I ended up using move_group python interface according to the tutorial and defining each step myself, instead of the pick and place pipeline.

The pick and place pipeline seems to have been replaced by the moveit_grasps and more recently by the moveit_task_constructor packages. Also, the moveit_python package seems to lack stability and flexibility for custom approaches like this.

edit flag offensive delete link more

Question Tools



Asked: 2020-04-26 20:22:10 -0500

Seen: 935 times

Last updated: Apr 27 '20