getInverse: Unable to find a solution. The robot can't reach this position

movej(get_inverse_kin(p[-0, -0.25614, 1.4273, 0, 2.22144, -2.22144]), a=1.4, v=1.05, t=0, r=0)

When you write the script and run the program as shown above, an error similar to the title appears.
p[] is home position at Move tab.
If you modify the p[], the robot moves normally.

The same applies when you use the joins value that corresponds to the home position as qnear. [0, -1.57, 0, -1.57, 0, 0]

Ask for help.

The home position is at the full stretch of the robot arm.
I reckon the get_inverse_kin() function does not find a solution, simply due to tolerance/deviation in some of the final digits, that make the resulting position borderline the actual reach of the robot.

Thank you for answer.
I solved it just by entering the joints value.

Hello,
how would I be able to check if position is reachable? If I try to use get_inverse_kin() for unreachable position, Polyscope shows a dialog window and stops the program. How should I handle that?

You could eventually check your pose before moving using the is_within_safety_limits(pose) function

4 Likes

Thanks. :slight_smile: I didn’t see that function before.

hello, i meet this problem this days, i used the function is_within_safety_limits(pose) to check the pose, it return True, but the function get_inverse_kin(pose) still cannot find a solution, is that posible?
the version is 3.11 for UR10e

Try:

get_inverse_kin_has_solution(pose)

should return True or False

1 Like

thx, i didn’t see that function before version 3.14, i’ll update the version then try it

how can I get the return value of function is_within_safety_limits(pose), I write C++ in PC, like this,
tcpclient->write(" is_within_safety_limits(pose)");