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

**URL:** <https://forum.universal-robots.com/t/getinverse-unable-to-find-a-solution-the-robot-cant-reach-this-position/1437>\
**Category:** URScript\
**Created:** [December 20, 2017, 7:35am UTC](https://forum.universal-robots.com/t/getinverse-unable-to-find-a-solution-the-robot-cant-reach-this-position/1437 "2017-12-20T07:35:42Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![anon61951079](https://avatars.discourse-cdn.com/v4/letter/a/a5b964/32.png) [@anon61951079](https://forum.universal-robots.com/u/anon61951079)\
**Post date:** [December 20, 2017, 7:35am UTC](https://forum.universal-robots.com/t/getinverse-unable-to-find-a-solution-the-robot-cant-reach-this-position/1437/1 "2017-12-20T07:35:42Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![jbm](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/jbm/32/614_2.png) [@jbm](https://forum.universal-robots.com/u/jbm)\
**Post date:** [January 2, 2018, 2:32pm UTC](https://forum.universal-robots.com/t/getinverse-unable-to-find-a-solution-the-robot-cant-reach-this-position/1437/2 "2018-01-02T14:32:31Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![anon61951079](https://avatars.discourse-cdn.com/v4/letter/a/a5b964/32.png) [@anon61951079](https://forum.universal-robots.com/u/anon61951079)\
**Post date:** [January 5, 2018, 5:12am UTC](https://forum.universal-robots.com/t/getinverse-unable-to-find-a-solution-the-robot-cant-reach-this-position/1437/3 "2018-01-05T05:12:54Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![anon42905246](https://avatars.discourse-cdn.com/v4/letter/a/e9a140/32.png) [@anon42905246](https://forum.universal-robots.com/u/anon42905246)\
**Post date:** [August 13, 2018, 11:22am UTC](https://forum.universal-robots.com/t/getinverse-unable-to-find-a-solution-the-robot-cant-reach-this-position/1437/4 "2018-08-13T11:22:44Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![anon70190626](https://avatars.discourse-cdn.com/v4/letter/a/ba9def/32.png) [@anon70190626](https://forum.universal-robots.com/u/anon70190626)\
**Post date:** [August 22, 2018, 8:42am UTC](https://forum.universal-robots.com/t/getinverse-unable-to-find-a-solution-the-robot-cant-reach-this-position/1437/5 "2018-08-22T08:42:53Z")

</div>

You could eventually check your pose before moving using the is\_within\_safety\_limits(pose) function

---

<div class="post-metadata">

**Author:** ![anon42905246](https://avatars.discourse-cdn.com/v4/letter/a/e9a140/32.png) [@anon42905246](https://forum.universal-robots.com/u/anon42905246)\
**Post date:** [August 22, 2018, 8:49am UTC](https://forum.universal-robots.com/t/getinverse-unable-to-find-a-solution-the-robot-cant-reach-this-position/1437/6 "2018-08-22T08:49:50Z")

</div>

Thanks. 🙂 I didn’t see that function before.

---

<div class="post-metadata">

**Author:** ![anon29798562](https://avatars.discourse-cdn.com/v4/letter/a/46a35a/32.png) [@anon29798562](https://forum.universal-robots.com/u/anon29798562)\
**Post date:** [November 29, 2021, 5:02am UTC](https://forum.universal-robots.com/t/getinverse-unable-to-find-a-solution-the-robot-cant-reach-this-position/1437/7 "2021-11-29T05:02:30Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![MikeM](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/mikem/32/3114_2.png) [@MikeM](https://forum.universal-robots.com/u/MikeM)\
**Post date:** [November 30, 2021, 12:25am UTC](https://forum.universal-robots.com/t/getinverse-unable-to-find-a-solution-the-robot-cant-reach-this-position/1437/8 "2021-11-30T00:25:29Z")

</div>

Try:

```auto
get_inverse_kin_has_solution(pose)

```

should return True or False

---

<div class="post-metadata">

**Author:** ![anon29798562](https://avatars.discourse-cdn.com/v4/letter/a/46a35a/32.png) [@anon29798562](https://forum.universal-robots.com/u/anon29798562)\
**Post date:** [November 30, 2021, 10:57am UTC](https://forum.universal-robots.com/t/getinverse-unable-to-find-a-solution-the-robot-cant-reach-this-position/1437/9 "2021-11-30T10:57:24Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![lvyq83](https://avatars.discourse-cdn.com/v4/letter/l/839c29/32.png) [@lvyq83](https://forum.universal-robots.com/u/lvyq83)\
**Post date:** [July 3, 2023, 2:14am UTC](https://forum.universal-robots.com/t/getinverse-unable-to-find-a-solution-the-robot-cant-reach-this-position/1437/10 "2023-07-03T02:14:17Z")

</div>

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)");
