Solution outside of joint limits
Hello,
I am recently having issues with trac_ik
(on the Baxter robot). For some specific regions of the workspace that are physically feasible, it returns a success (i.e. rc>0
) but with a joint configuration that is outside of the limits I set precedently.
These are the limits set in the URDF:
[ INFO][/tictactoe_brain::TRAC_IK::TRAC_IK]: IK Using joint left_s0 -1.70168 1.70168
[ INFO][/tictactoe_brain::TRAC_IK::TRAC_IK]: IK Using joint left_s1 -2.147 1.047
[ INFO][/tictactoe_brain::TRAC_IK::TRAC_IK]: IK Using joint left_e0 -3.05418 3.05418
[ INFO][/tictactoe_brain::TRAC_IK::TRAC_IK]: IK Using joint left_e1 -0.05 2.618
[ INFO][/tictactoe_brain::TRAC_IK::TRAC_IK]: IK Using joint left_w0 -3.059 3.059
[ INFO][/tictactoe_brain::TRAC_IK::TRAC_IK]: IK Using joint left_w1 -1.5708 2.094
[ INFO][/tictactoe_brain::TRAC_IK::TRAC_IK]: IK Using joint left_w2 -3.059 3.059
I then set s1
to go from -1.0
to 1.0
(by using #14 ). Now, if I require the following pose: 0.575, 0.100, 0.445, 0.0, 1.0, 0.0, 0.0
(x,y,z,ox,oy,oz,ow), it returns -0.455935 4.85363 -0.831451 1.4093 0.124489 1.63544 -0.491217
, where s1
is clearly outside of the bounds (and a totally unfeasible configuration by the way).
Comments (5)
-
reporter -
Account Deactivated It is unclear exactly how you are trying to set joint limits. The current public version of the solver does not have a way to overwrite joint limits, it ONLY uses the limits as defined in the URDF.
-
Sorry for picking up this thread again, but just want to ask can we override the joint limits in the URDF now? Actually I want to put some limits when the IK is computed so that for a certain pose of the end effector, a more reasonable solution is returned. (I have tried the DIstance method, but sometimes the shortest distance might not be the best solution).
-
reporter @pbeeson sorry for the late reply. I set KDL Limits with the code you can see in this pull request : https://bitbucket.org/traclabs/trac_ik/pull-requests/14
-
Account Deactivated - edited description
- changed status to invalid
Issues were with a specific enhancement user made on their local copy. Fixed once enhancement was done properly.
- Log in to comment
As a side note, this configuration is totally feasible with the default IK solver that ships with the Baxter robot.