Thank you for the reply. Yesterday I have looked into moveit_ikfast but wasn't sure if it would really help me.
With this translationdirection5d ik installed can you just call move_group.pickup("object") and you get a ik solution?
What exactly do you mean with " until I had the end effector link oriented "correctly" for openrave." Did you have to change the urdf or do you give a correct grasp as parameter into the pickup call?
Thank you very much again, I'll directly try ikfast again!
first thanks for the detailed description.
I saw the changes in your urdf and adapted mine and converted it to dae.
I now have it running and behaving well in rviz.
For rviz to behave correctly, I had to change the parent frame of the gripper to the gripper tool frame (in the moveit assistant). Now the interactive markers display correctly.
For the first time I was able to programmatically set a pose:
Position 0.35 0 0.90
Orientation 0 0 0 1
But if I try the same pose just with the position's y value set to 0.05 it doesn't find a solution. But I'll try more tomorrow.
Does this work for you?
I'll send you a pull request for the changes for our Katana as soon as it works.
>> For our Katana the grasp direction is (0,0,-1).
>Where do you specify that? In the <direction> tag of the
I never used the robot.xml. I just tried to describe the gripper direction in the wrist roll frame.
I hope I can finally really start my master thesis tomorrow (after 4 months ; -) )
Well, first of all the difference between the two poses is that the
first is actually reachable with your arm, the second is not: If y
is != 0, yaw can't be 0, but has to have a certain angle (something
like atan2(y, x)). BUT this is exactly where 5D IK should help: because
rotations around z are okay, the IK should figure out the correct yaw
Do you have an RViz screenshot that shows the TF of the
katana_gripper_tool_frame? (To check where your Z axis goes).
A simpler explanation would be of course that the new position is
simply outside the workspace.
As a simple way to distinguish between those two possibilities, I
recommend the following. Put some debug output into your plugin like
Then set your logger level properly and move the gripper in RViz. You
should see the output. Now when you move the gripper first in the -x
direction and then in the y direction, you should see that the IK
figures out the yaw angle by itself. If not, probably the direction of
the tool frame's z axis was a bad choice.