universal_robot
universal_robot copied to clipboard
IKFast vs ur_kinematics
I have been working on porting some features available in the ur_kinematics into the ikfast template so that all robots can benefit from the enhancements @kphawkins and the other contributors built into the ur_kinematics solver. It seems pretty clear that ur_moveit_plugin.cpp was heavily influenced by the ikfast generated templates. My question is beyond the obvious, what would be involved in porting the enhancements back into the ikfast template? I'm particularly interested in supporting the ability to use the robot arm as a subset of a kinematic chain but additional features like setRedundantJoints are interesting as well.
I'm particularly interested in supporting the ability to use the robot arm as a subset of a kinematic chain
It's interesting that you post this, as ~#247~ #248 is a heated discussion about doing exactly the opposite.
additional features like setRedundantJoints are interesting as well.
This confuses me, as that is already part of the IKFast plugin wrapper (see here).
To structure this a bit: can you point to some of the things that you see missing in the IKFast wrappers that ur_kinematics
has?
The ur_kinematics package is able to recognize if there are additional links in the group that aren't part of the ur chain and transforms input poses from the world frame to the appropriate frame for the analytic solution. The relevant code for these transformations here.