# Plane variable and how to use it

**URL:** <https://forum.universal-robots.com/t/plane-variable-and-how-to-use-it/13070>\
**Category:** URScript\
**Created:** [March 19, 2021, 4:37pm UTC](https://forum.universal-robots.com/t/plane-variable-and-how-to-use-it/13070 "2021-03-19T16:37:39Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![anon24697756](https://avatars.discourse-cdn.com/v4/letter/a/f6c823/32.png) [@anon24697756](https://forum.universal-robots.com/u/anon24697756)\
**Post date:** [March 19, 2021, 4:37pm UTC](https://forum.universal-robots.com/t/plane-variable-and-how-to-use-it/13070/1 "2021-03-19T16:37:39Z")

</div>

I am trying to use the get\_feature\_plane() function from the below link, to define a plane variable that could be used in place of “taught” installation feature.

> [@Script function to create a Plane with 3 variables points](https://forum.universal-robots.com/t/script-function-to-create-a-plane-with-3-variables-points/6128):
>
> Hi, I’m looking for a way to calculate a plane using 3 variables points to allow the robot to reteach a plane which already exist. My problem is that i’m using an automatic motorized robot (AMR) which can’t be precise when it stop. My robot has to place Parts on this AMR. So I want the robot to “touch” the edge of the AMR and calculate the new plane using those points. Thanks Charles.

I was expecting that running the robotics\_r1.script after teaching the p1 p2 p3 points, would have generated a plane variable usable as a feature (for example in a MoveJ node) but there is no “feature\_plane” option among the selectable features.

The robotics\_r1.script returns a variable called “feature\_plane” and it looks like a list variable and I don’t know how to use it in a pose\_trans function.

This line: movel(pose\_trans(feature\_plane,p[0,0,0,0,0,0])) should move the robot to the feature\_plane’s origin, but it returns an error because the feature\_plane variable is a list variable and not a pose variable.

Assuming that the feature\_plane variable might be a pose representation with the UR cartesian cordinates structure [x,y,z,Rx,Ry,Rz], I tried to create a pose variable with the same exact values p[x,y,z,Rx,Ry,Rz], but that didn’t work either.

How should I use the feature\_plane vairable resulting from the script to go from the Home position of the robot to the feature\_plane’s origin and then move from there to a another position, like for example X=100 Y=0 Z=100?

Moreover, could you please confirm that if I teach the 3 points needed for the plane p1 (origin) p2 (x+ axis) p3 (y+ axis) using the freedrive() function, the resulting feature\_plane will retain the tcp orientation as while teaching in p1, p2 and p3?

Thank you very much for helping me solving this matter.

To the moderators: I have posted this topic in the technical question section, but maybe this is the more appropriate place.  
Seems that I can’t change tag in my older post neither delete it.
