I have a little bit confusion regarding the orientation goal with respect to the IKTypes in IKFast. For example there is a solver for 4DOF arm:
TranslationXAxisAngle4D, TranslationYAxisAngle4D, TranslationZAxisAngle4D - end effector origin reaches desired 3D translation, manipulator direction makes a specific angle with x/y/z-axis (defined in the manipulator base link’s coordinate system)
Intuitively I thought this mean when I give a pose goal (position & orientation), the IK will match the position, but will only fulfill one certain axis (x, y, or z depending on the type).
But turns out it'll always give me
No solution found error. The only way to let it solve is if I give it position-only goal. So it seems like the solver will try to solve all 3 orientation goals, despite the IK is only capable of solving 1 of them.
So the problem is, how do you only set goal in one specific axis, so I can use those IK types? So for example, with
TranslationYAxisAngle4D, I'd only set goal in the Y-axis, but ignore the other two.
OpenManipulator in the image is one example. The end-effector can move to a position, but it can only adjust the Y-axis rotation or the pitch freely.