Robotiq gripper depth compensation
Hi, a quick question. The height of the Robotiq gripper changes with respect to how wide it's open. Is this depth somehow automatically compensated when planning a trajectory of UR5 robot with this gripper attached to it, for example in moveit?
EDIT: Gripper pictures docs for anyone wondering:
Asked by Fiddle on 2018-04-06 07:42:34 UTC
Comments
No, that is not taken into account. Or at least, not automatically (how could it, this is behaviour that is rather specific to this particular piece of hardware).
Asked by gvdhoorn on 2018-04-06 07:52:01 UTC
So in order to account for this offset, I would need to calculate the gripper kinematics myself basing on the return value from the gripper, and feed add/subtract it from the planned value, right?
Asked by Fiddle on 2018-04-06 08:24:42 UTC
This is all just speculation (and I don't know anything about the
robotiq
drivers/pkgs, but: if there areJointState
s, a urdf and correctly modelled kinematics, TF frames for the fingers could be published "automatically". If you then define a toolframe that lies between the fingers, and ..Asked by gvdhoorn on 2018-04-06 08:35:52 UTC
.. make this dependend on the location(s) of the TFs of the fingers, you should be able to have MoveIt plan for those, instead of for
tool0
(of the UR). I can't remember right now whether MoveIt is able to plan to goals that are expressed in frames other than the ones that are part of the ..Asked by gvdhoorn on 2018-04-06 08:37:26 UTC
.. group it's planning for, but that would make things even easier.
Doing it manually is also an option, but doesn't seem too 'nice'.
But let's wait for some other posters, perhaps they have better suggestions.
Asked by gvdhoorn on 2018-04-06 08:38:08 UTC
This question is not specific enough to give a real answer. Please add screenshots to illustrate the behavior (I don't have the gripper). What do you mean by "compensated"? Will moveit avoid collisions correctly? yes, probably. Will the grasp frame automatically adapt to the size of the object ...
Asked by v4hn on 2018-04-07 00:42:46 UTC
the gripper should grasp? No. But you have to compute your grasp poses yourself/via some external module anyway. So it is actually better that MoveIt does no "magic" here to compensate for something, because it would interfere with your grasp computation.
Asked by v4hn on 2018-04-07 00:44:28 UTC
Altogether I don't like gvdhoorn's answer "no". It depends on the exact question.
Asked by v4hn on 2018-04-07 00:45:10 UTC
I agree with @v4hn that the question was slightly vague, but I do believe that @Fiddle was asking whether "grasp poses" would be automatically 'updated' to factor in changing gripper geometry. Especially his comment:
made me think that.
Asked by gvdhoorn on 2018-04-09 03:06:11 UTC
I think gvdhoorn's answer with making additional toolframe seems like the most reasonable way to handle this case. Additionally, I've put images of the gripper
Asked by Fiddle on 2018-04-09 03:06:23 UTC
Perhaps @v4hn has a suggestion that would work better. My suggestion was really just something I think could work, not necessarily the best way to approach this.
It might help if you could clarify what you actually want to see 'updated' or 'taken into account' by moveit. And when.
Asked by gvdhoorn on 2018-04-09 03:08:09 UTC
I guess the additional toolframe representing the mean position of the gripper's tips was what I need. But is there a way to make it relative to both of the gripper's tips in moveit? I guess creating one link with two parents is not possible.
Asked by Fiddle on 2018-04-09 04:21:15 UTC
Not in a urdf and with the
robot_state_publisher
, no. But a custom node broadcasting a TF frame could do whatever it wanted.Asked by gvdhoorn on 2018-04-09 04:26:33 UTC
And that tf frame could be read by MoveIt? I have currently robot with gripper attached as two different planning groups, could I add another link to it that could listen for those tf transforms? The question now is: Can I add/modify this end effector for Moveit to use dynamically?
Asked by Fiddle on 2018-04-09 05:18:21 UTC
No, MoveIt currently cannot plan for frames that are not part of the robot description. (patches are welcome)
And even if it could do that, this would not help you. You would like to predict the new frame for planning. This is not what tf does.
Asked by v4hn on 2018-04-10 00:13:52 UTC
Instead you should compute your input Grasp definitions / pose targets for the pipeline to account for the dynamic frame.
Asked by v4hn on 2018-04-10 00:15:05 UTC