Ik of ur10 giving no results?

asked 2018-02-10 12:04:22 -0500

JuanTelo gravatar image

updated 2018-02-10 14:26:14 -0500

Hi I managed to create a file in which I set a end-effector message, in this case, the "wrist_3_link" of the ur10 arm and it solves the IK and the I publish the joint states in order for the robot to move to that position in gazebo. However, I'm having problems with calculating the IK. Sometimes it works, but then sometimes I set one pose and it comes as "solution not found" even though I know that pose exists in the robot workspace. This is how I'm calculating the IK. Don't know if something is wrong. I'm unexperienced with this.

end_target.position.x = 0.5;
end_target.position.y = 0.5;
end_target.position.z = 0.0;
end_target.orientation.w = 0.0;

Eigen::Affine3d end_effector_state;
tf::poseMsgToEigen(end_target, end_effector_state);
bool found_ik = kinematic_state->setFromIK(joint_model_group, end_effector_state,"wrist_3_link", 4, 1.0);

if (found_ik)
    kinematic_state->copyJointGroupPositions(joint_model_group, joint_values);
    for(std::size_t i=0; i < joint_names.size(); ++i)
        ROS_INFO("Joint %s: %f", joint_names[i].c_str(), joint_values[i]);
    ROS_INFO("Did not find IK solution");

And here is my kinematics.yaml file

   kinematics_solver: ur_kinematics/UR10KinematicsPlugin
   kinematics_solver_search_resolution: 0.005
   kinematics_solver_timeout: 0.005
   kinematics_solver_attempts: 4
edit retag flag offensive close merge delete


Your question title is "IK [..] giving wrong results", but your question text says "no solution found". Those are two different things. Please clarify which it is.

gvdhoorn gravatar image gvdhoorn  ( 2018-02-10 14:12:54 -0500 )edit

@gvdhoorn my apologies, I corrected it.

JuanTelo gravatar image JuanTelo  ( 2018-02-10 14:26:33 -0500 )edit