Return of multple IK configurations of goal state.
I have searched a lot for the way of obtaining a set of possible IK robot configurations satisfying a defined goal pose. This is an ability used widely in Robotics for motion and action planning and I am struggling a lot to find a way to do it.
I understand that this is a capability provided by the kinematics plugin being used, and that the kinematics::KinematicsBase
(which as far as I understand is the interface all kinematics plugins implement) offers the method getPositionIK
, which should return precisely a set of robot configurations, but I do not know how to use it and cannot find an example of it.
First. This method seems not to be called by almost anyone, which makes me wonder whether I am looking at the wrong place.
Second. How do you obtain an instance of the current move group kinematic solver plugin? in order to call this method? (which kinematics solver plugins implements correctly this method?)
I want to get a pseudo-complete set of IK configurations, not just play with the seed state.
Currently, I am using a UR10 6DOF with trac-IK kinematics plugin, but I don't think this is a robot-related answer, depending on the DOF of the robot the method should return IK solutions if they exist and if they are multiple.
I require this to plan robot actions (multiple consecutive movements) that are sometimes only possible if the action is started in a defined robot configuration.
Not an answer, but:
a complicating factor is that the goal of many IK solvers in ROS is to be geometry agnostic (ie: solver works with arbitrary kinematic ..
.. configurations without recompilation or code changes).
Some succeed, but then the question "give me all solutions for a specific pose" becomes much harder than in the "simple, traditional" 6 or 5 axis case.