0
$\begingroup$

Rosanswers logo

i'm following this tutorial http://ros.org/wiki/pr2_kinematics/Tutorials/Tutorial%204 to do the inverse kinematics for my robot arm. but for the same goal position, the constraint_aware_ik succeed to find a solution while the non constraint aware ik cannot. after dig into the source code, i find that the constraint_aware_ik ultimately call the function searchPositionIK() and the non-aware ik call the getPositionIK(). my kinematics solver is the KDLArmKinematicsPlugin. is there anybody encountering the same problem as me?


Originally posted by yangyangcv on ROS Answers with karma: 741 on 2012-09-06

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Probably what's happening is that the IK solver is unable to evolve from the seed state you provide to the desired goal. The searchPositionIK() method performs retries (up to 3 by default) from randomly sampled seed states if the provided one fails, while getPositionIK() does not.

If you want to keep using getPositionIK(), choose a more appropriate IK seed state.


Originally posted by Adolfo Rodriguez T with karma: 3907 on 2012-09-07

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by yangyangcv on 2012-09-07:
thanks for the answer. i will try other seed states

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.