-
Notifications
You must be signed in to change notification settings - Fork 312
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Define meaningful tool frame #194
Conversation
Introduced in frankaemika/franka_ros#194, this allows for a more convinient configuration of the gripper.
I tested this together with the new panda_moveit_config in the noetic-branch. I really like that everything is now properly lined up due to changing the parent_link of the end-effector to "panda_tool". However, this would break all existing user tasks that rely on moveit for motion planning. Therefore, we have some objections, merging this. |
it's debatable whether |
Gijs, I guess you want to debate the name, not the concept. Please suggest a better name 😉 Marc, my proposal is fully backward-compatible. |
I used something similar in my own project and called it |
Ideally TCP frame names are application specific/defined, but I understand you're going for a generic reusable one. |
Yes, my point was to have a generic name that applies to configs w/ and w/o a hand. Thus |
What about |
Let's wait for Franka people to chime in... |
So we definitely have to discuss the name. But this is not our main concern. The real problem is the changing of the end-effector link in the move group. The "panda_arm" move group behaves now differently since it does not use link8 (the flange) anymore. Therefore, every movement that previously worked is now rotated 45 degrees and about 10 cm away from the target, which is a huge breaking change, that we have to discuss internally |
Changing the end-effector link is, of course, the crucial point of this PR. But I also understand your concerns regarding existing user code. I can think of these two mitigations to maintain compatibility:
In any case, the backward compatibility issues affect the |
By the way, does Franka has a preference for a name? |
So in our opinion the best way would be to leave panda_arm as it was for backward compatibility and add a new move group called "manipulator" (seems to be quite a common name in other moveit_configs) with the new ee link. Our preferred name for the new link is "panda_hand_tcp" and we would like to only have it when the urdf contains a hand. To make this work the "manipulator" move group would only be present when the srdf is build with the hand argument. Without the hand argument you would still have the panda_arm group with the flange as the tip. |
I will modify this PR and panda_moveit_config appropriately. |
@marcbone, do you have any more objections to merge this? |
Yes. The panda_hand_tcp link should not be present when the hand is not used |
Sure, forgot about that. Done now. I will move the definition to hand.xacro... |
Hm. Somehow I screwed my commits. 😞 |
Ok. Should be fixed now. |
…frankaemika#191 (drop-joint-states-desired) and frankaemika#189 (rework-hand-collision) into develop
…t-states-desired) and frankaemika#194 (tool-frame) into develop
…t-states-desired) and frankaemika#194 (tool-frame) into develop
... in the center between and aligned with the fingers
…t-states-desired) and frankaemika#194 (tool-frame) into develop
…t-states-desired) and frankaemika#194 (tool-frame) into develop
* commit 'e2cfe284e21f0ed8fd3af66665057acfd1856088': ADD: Accept `xacro_args` to pass down additional arguments to URDF ADD: `tcp_xyz` & `tcp_rpy` offsets to XACRO files
When a hand is mounted, the
link8
frame is 45° rotated wrt. the hand.Better define a
tool
frame that is nicely aligned with the hand, i.e.x=normal, y=slide, z=approach, and nicely centered between the fingers.