I have a UR setup to pick and place bins/objects. Concerning the same, I want to attach a suction gripper on the EOAT of the UR to pick any object and place it at the desired location. Currently, the UR motion planning is done by MoveIt. I am seeking understanding on how to add a suction gripper on UR such that I am able to control it via MoveIt or ROS.
In case it isn’t possible then, is there any other way to do so? For instance if the UR detects an object and sends the pose of the object then, how the pose can be conveyed to the suction gripper to pick the object at the desired coordinates and progress ahead for placing. Because referring to the UR10 Palletizing example, the suction gripper is only applicable in the form of standalone or an extension. How to control the suction gripper in the form of an API?
Hi @rthaker thank you for your response.
Yes, I did go through it and now I have added a surface gripper resembling a vacuum gripper through open/close action. Now, I am seeking a suggestion regarding its control strategy to pick a bin from table that I am planning to use:
I will be dividing the robot control into two parts:
- UR arm till wrist_3 (imported as URDF), which is to be controlled by MoveIt motion plan.
- Surface gripper added as a USD (after loading UR as URDF), which is to be controlled by Isaac APIs in a standalone script
When a bin is detected, the pose will be relative to URDF, i.e., without surface gripper. MoveIt will plan the motion relative to wrist_3 not surface gripper. Now, there’s a requirement of a wrapper to modify the pose w.r.t surface gripper. Is it the only way or there is any other optimal way that you can suggest?
You can modify your urdf to include the gripper distance at the end effector, so move it will take that in account too when planning the robot motion. You should be able to compute the extent of the gripper through the measuring tools in isaac sim. But you can also use an xform to find the distance visually in the viewport.