Joint Axis Saftey Check not working


I am quite struggling with the problem, that the joint axis saftey checks are not working in the UR Simulation.

For an industrial research project I want to generate random trajectories with the attached code. After I already read in this forum, that “is_withing_saftey_limits” is not always working properly, I additionally added a “get_inverse_kin_has_solution” and a “get_freedrive_status” check. But nevertheless all three checks never return False, so that I get sometimes a robot protective stop.

Any help is very appreciated!
Kind regards!


some more details about the problem:

Even with the following target_pose, that clearly violates the safety area (i.e. it is below the table), I get on the real physical robot the following feedback:

  • is_within_safety_limits(target_pose) returns True.
  • get_inverse_kin_has_solution(target_pose) returns True.

This seems to me like quite a major bug.

Can anybody confirm or maybe explain this problem? Or has a workaround?

Thanks for helping on that!
Kind regards!


I have the same exact problem. While Polyscope detects the violation of the safety boundaries (and displays a message “Position violates active safety boundary” as in the picture posted above by @molu ), both is_within_safety_limits() and get_inverse_kin_has_solution() return True for the same pose.
Thus, it seems impossible to check a pose for safety before launching a Move.
I read several posts of @Ebbe about the two functions… maybe he has some advice?