I want to turn On a UR10e controller’s Configurable Safety-Output whenever the TCP Z position is less than a predefined value, and Off otherwise. This shall be done on the side along with another script that is controlling the TCP.
Use can create a safety plane under “installation → safety → planes” and set it to “Trigger Reduce Mode” then under the “safety → I/O” you can set a configurable outs set to “Reduced mode”.
I do not know if this is the “proper way” but it would work.
please note that safety planes are also triggered by the Tool Flange aka tcp == [0., 0., 0., 0., 0., 0.], so it might work a bit more effective then expected depending on the length of your tool.
It works perfectly, however, is it possible to define a safety-box (instead of simple safety plane)?
In other words, if I want to turn on the safety-output but when the TCP point is inside a volume of the working area defined by a box (6 safety planes)? so whenever the TCP is inside this box the safety output triggers into ON! is this possible?
Yes and No.
you can definitely use 6 safety-planes to do something like this.
but safety planes spans infinitely in its two direction, meanining that some of the sides might cross into an Volume where you do not want it.
I have another question related to the above, considering the following setup (figure below), I have a UR10e robot with two safety planes, behind the first safety plane I have service-area 1 and behind the second safety plane I have service-area 2
I want configurable safety outputs [2] and [3] to trigger when the robot is in service-area 1, while I want the configurable outputs [4] and [5] to trigger when the robot is in service area 2. But I have only one reduced mode. Is there a workaround that allows me to achieve this?
I don’t think there’s a workaround for what you’re describing. This is, in my opinion, a shortcoming of the UR robot, as what you’re describing is a very common application, and other industrial robots are setup to handle this (DCS for Fanuc, FSU for Yaskawa, etc). You simply define a region in space, and when the TCP enters this, you turn on/off whatever dual channel safety signals you want. UR does not have such capability. You get a half-assed feedback as to whether you are in or out of any given safety zone by leveraging the “is in reduced mode” check like you’re doing. This of course offers no distinction between zones.
The best you can do (I think) would be to mount area scanners to shoot vertically in the same location as your safety planes and use their signals for whatever you need.