andyzeng/ikfastpy

Goal tolerance setting

fjnn opened this issue · 0 comments

fjnn commented

Hello, is there any way to change the IK accuracy in this setup?

I have created Translation3D solver only for the wrist part of the UR5e. I can successfully compute forward and inverse kinematics. But the joint (or goal) tolerances are too small that most of the time I cannot get any valid solutions.

For instance ee_pose_test returns a valid solution whereas ee_pose_test2 does not.

ee_pose_test = np.array([[ 1., 0., 0., 0.1000000015],
[ 0., 1., 0., 0.22650042],
[ 0., 1., 0., 0.00998334]])

ee_pose_test2 = np.array([[ 1., 0., 0., 0.1000000],
[ 0., 1., 0., 0.22650],
[ 0., 1., 0., 0.00998]])

I was wondering if is there any chance that I can set an ε or something that I can reduce the required significant numbers of EE_pose which I use in the IK solver? Something like arm_group.set_goal_joint_tolerance(0.001) in Moveit.

In this link I saw that --accuracy parameter which is used during creating ik.cpp can do something similar. However, it is also stated that to increase this tolerance value may cause bigger problems in the solver.

Any suggestions?