You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Calculating the forward and inverse kinematics of an UR5 doesn't return the initial joint configuration.
Expected Results
Calculating the forward kinematic of a given joint configuration (e.g. {M_PI, M_PI, M_PI, M_PI, M_PI, M_PI}) and using the solution to calculate the inverse kinematics should give back the input joint configuration (along with other possible solutions).
The inverse returns (viable) solutions but doesn't contain the input joint configuration.
(Note: For some rare cases, e.g. {0, 0, 0, 0, 0, 0} the initial joint configuration is obtained. However for many JointConfiguration (as for example {M_PI, M_PI, M_PI, M_PI, M_PI, M_PI}) the inital JointConfiguration is not obtained)
Steps to reproduce
The example code in ur_kinematics/src/ur_kin.cpp was used to test this issue.
The main function was adapted to use different input joint configuration:
I'm aware of the issues (e.g.#442) & PR (e.g. #453) which are already targeting missing IK solutions. These issues discuss missing solutions which are multiples of 2PI (a solution for this issue is already suggested in PR #453). However as far as I can see the issue I describe above does not fall into this category due the fact that the returned IK solutions don't contain a solution which is a multiple of the input joint configuration ({M_PI, M_PI, M_PI, M_PI, M_PI, M_PI}).
The text was updated successfully, but these errors were encountered:
GuyWithCookies
changed the title
Initial JointConfiguration not found when calculation FK and IK
Initial JointConfiguration not found when calculating FK and IK
Feb 7, 2020
Summary
Calculating the forward and inverse kinematics of an UR5 doesn't return the initial joint configuration.
Expected Results
Calculating the forward kinematic of a given joint configuration (e.g.
{M_PI, M_PI, M_PI, M_PI, M_PI, M_PI}
) and using the solution to calculate the inverse kinematics should give back the input joint configuration (along with other possible solutions).JointConfiguration -- forward --> CartesianPose -- inverse --> JointConfiguration
Actual Results
The inverse returns (viable) solutions but doesn't contain the input joint configuration.
(Note: For some rare cases, e.g. {0, 0, 0, 0, 0, 0} the initial joint configuration is obtained. However for many JointConfiguration (as for example
{M_PI, M_PI, M_PI, M_PI, M_PI, M_PI}
) the inital JointConfiguration is not obtained)Steps to reproduce
The example code in
ur_kinematics/src/ur_kin.cpp
was used to test this issue.The main function was adapted to use different input joint configuration:
Code:
Output:
More Info
I'm aware of the issues (e.g.#442) & PR (e.g. #453) which are already targeting missing IK solutions. These issues discuss missing solutions which are multiples of 2PI (a solution for this issue is already suggested in PR #453). However as far as I can see the issue I describe above does not fall into this category due the fact that the returned IK solutions don't contain a solution which is a multiple of the input joint configuration ({M_PI, M_PI, M_PI, M_PI, M_PI, M_PI}).
The text was updated successfully, but these errors were encountered: