Features screen

Also checkout the new CB3 forum

Using the Features screen

The Features screen in the ”Installation” screen is an option to define the robots movement to user defined relative points.

These points can be used in the ”Move” screen as from where the robot should move relative to when using the Arrow keys in the ”Move” screen.

universal-robots-zacobria-features_installation-1

Before we define any new relative points or patterns lets checkout the ”Move” screen.

On the top right hand corner is a Feature control. And the robot has already three predefined relative points i.e. ”View”, ”Base” and ”Tool”. By default the View is active.

To explain how the Robot move relative to this point the ”Up” and ”Down” arrow keys are used because they are easy to understand.

universal-robots-zacobria-features_installation-2

If the robot is mounted like on a table top mounting the ”View” feature relative is like you see (observe – view) the robot and when pressing the ”Up” the robot moves straight up and when pressing ”Down” the robot moves straight down. Choosing ”Base” feature will be the same in this case if the Robot is mounted as table top mounting, but different if the Robot is mounted on Wall or Ceiling or in an angle.

If the Feature is changed to ”Tool” the ”Up” and ”Down” arrows move in the Tool heads core axis. Try and set the tool head in an angle relative to the horizon and press the ”Up” and ”Down” arrows – and observe how the robot now moves in the Tool head axis which is not straight up and down if the head is already in an angle.

Observe the Graphics on this screen which shows the tool head like it is vertical to the horizon, but a closer look will reveal that the base is in an angle and therefore the graphics will show the robot head go up and down, but by observing the robot the head moves in the tool head core plane. This is useful in programming the robot if we are moving relative to an object.

We can also define our own relative points – or line or plane. Go back to the Features in the Installation screen.

universal-robots-zacobria-features_installation-3

Notice under features is already Base and Tool which are the build in default relative point.

Below press ”Point” which will insert a red ”X” under Base called Point_1. It is red because it is not yet defined. Point on the red ”X” and press it which brings this screen from where you can define (Set this point) like setting a waypoint.

universal-robots-zacobria-features_installation-4

When the relative point has been set (can be a corner of a table or a machine part e.g. a CNC chuck) then press ”OK”.

Now the Point_1 relative point has been defined.

Since we are in this screen then Point at Features again and set a Line and Plane relative points.

universal-robots-zacobria-features_installation-5

For ”Line” you need to define the two end points of the line.

universal-robots-zacobria-features_installation-6

For ”Plane” you need to set three point of the Plane. Choose the ”Show axes” so you can see the axis on the graphics and Tick the ”Joggable” to make it active in the ”Move” screen.

universal-robots-zacobria-features_installation-7

Go back to the ”Move” screen and notice how these three relative points, Line, Plane has been added the ”Feature” menu. Try to choose each of the new relative objects.

universal-robots-zacobria-features_installation-8

Try and go back to the ”Feature” screen in the installation screen.

universal-robots-zacobria-features_installation-9

Try and un-tick the ”Joggable”.                         Go back to the ”Move” screen.

Notice how the ”Line_1” is now missing i.e. that ”Joggable will determine if we have it available in the Feature menu. This Feature is useful when programming the robot and the waypoints are define relative to an object, Line or Plane and it is easier to position the robot.

Disclaimer: While the Zacobria Pte. Ltd. believes that information and guidance provided is correct, parties must rely upon their skill and judgement when making use of them. Zacobria Pte. Ltd. assumes no liability for loss or damage caused by error or omission, whether such an error or omission is the result of negligence or any other cause. Where reference is made to legislation it is not to be considered as legal advice. Any and all such liability is disclaimed.

If you need specific advice (for example, medical, legal, financial or risk management), please seek a professional who is licensed or knowledgeable in that area.

Author:
By Zacobria Lars Skovsgaard
Accredited Universal Robots support Centre and Forum.

Also check out the CB3 forum



30 thoughts on “Features screen

  1. Radu

    Hi i know this is kind of old thread but please can you give me a hint fow to convert a float to a string and concatenate them… Or convert a ascii string to a integer or float?

    Reply
    1. zacopressadmin Post author

      Hi Radu

      Thanks for the question.

      I have not seen such function to handle string variables on the robot. The robots main task is to move things and not to handle word processing tasks – so one way to consider might be to handle strings on an external device via a client server TCP connection – or like shown in the example at this link.

      http://www.zacobria.com/universal-robots-zacobria-forum-hints-tips-how-to/script-popup-messages/

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum


      !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?’http’:'https’;if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+’://platform.twitter.com/widgets.js’;fjs.parentNode.insertBefore(js,fjs);}}(document, ‘script’, ‘twitter-wjs’);


      !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?’http’:'https’;if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+’://platform.twitter.com/widgets.js’;fjs.parentNode.insertBefore(js,fjs);}}(document, ‘script’, ‘twitter-wjs’);

      Reply
  2. Sam

    Dear Admin,

    We have a UR5 installed on a Husky robot. We are using the ur_modern_driver package to send joint motion commands “movej” to the robot. We can also send movej command through the command line to the URScript topic, and they all work fine. We send it in string format, such as
    movej([0,-1.57,0,-1.57,0,0]).

    In order to move to a specific cartesian coordinate (x,y,z) we use inverse kinematics for a specific wrist configuration (so that th4, th5, and th6 are defined well). But it gives us few mm errors all the time.

    So we want to use movel on the remote computer’s terminal for precise cartesian motion. With movel, the robot tries to move and suddenly stops and on the teach pendant it writes “Position deviates from path (Base)”. I guess there is a speed-acceleration issue. Waht is the correct structure of movel?

    We are also interested in incremental cartesian coordinates, for example, move in z-direction by 50mm. We tried to use movel(pose_trans(get_forward_kin(),p[0,0,0.05,0,0,0])). This command should move so. But, it gives the same error. Sometimes, it gives singularity errors. Could you refer us a manual for these?

    Thanks a lot in advance.
    Sam

    Reply
    1. zacopressadmin Post author

      Hi Sam

      Thanks for the question.

      I tested your code on a real robot – and your command “movel(pose_trans(get_forward_kin(),p[0,0,0.05,0,0,0]))” works fine on my real robot. The robot moves 50mm downwards.

      The manuals in cluding the script manual that describe the movel command can be downloaded from this link.

      https://www.universal-robots.com/download/

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.


      Reply
  3. lutz

    I have a similar problem.

    How can you change the waypoint by using script in a user defined plane?
    i.e. a[0]=x[0]+0.05, but the desired direction x ([0]) must be in the user define coordinate system, and not the default xyz direction of the robot.

    Thanks in advance.

    Reply
    1. zacopressadmin Post author

      Lutz

      Thanks for the question.

      By “user defined coordinate system” I assume it is a Plane created from within the Polyscope GUI Features menu.

      Then it might be considered to use the script command “pose_trans”. “pose_trans” can use the tool head as reference or use a Plane as reference so the robot can follow the X and Y direction defined by the Plane.

      Examples on Plane and the script command “pose_trans” can be found at this link

      http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/planes-and-position-variables-2/

      For script programming then a “Function” created as script might be considered to be loaded into a Polyscope program within the GUI like in a Function.

      Examples on using Functions can be found at this link.

      http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/functions-1/

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum


      Reply
      1. lutz

        Dear Skovsgaard,
        thank you so much for the quick reply. I have some follow up questions

        1) what does pose_trans(a,b) do?
        what is a and b?

        2) Would you please kindly write a short example script for me, as I have already read the link you’ve sent me before, and found it hard to understand.

        I want to be able to move in x, y, z direction in a user defined plane.
        what would the program look like if I want to move 0.05 meters in x, y, z directions separately.

        is this correct?
        b:=waypoint1
        c:=p(0,0,0.05,0,0,0)
        //and I want to move from waypoint1 0.05meters in z direction of the user plane
        a:=pose_trans(plane_var,c)
        movej
        a

        thank you so much

        Reply
        1. zacopressadmin Post author

          Dear Lutz

          1)
          A description of the pose_trans can also be found in the UR script manual which can be found at this link.

          https://s3-eu-west-1.amazonaws.com/ur-support-site/22198/scriptManual.pdf

          2)
          Another example of pose_trans can be found at this link

          http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/position-variables-1/

          This example is very similar to you question, but is moving in X direction – you can also move i Z direction by using the position of the Z in the pose list for the variable. The representation is the pose list is as follows p[X, Y, Z, Rx, Ry, Rz] which is also mentioned in the articcle at the link.

          Author:
          By Zacobria Lars Skovsgaard
          Accredited Universal Robots support Centre and Forum.

          Also check out the CB3 forum


          Reply
          1. lutz

            Dear Skovsgaard,

            thank you for the reply, Ive read these sources before, the problem is I cannot understand the description of pose_trans(a,b) in UR script manual and the program i wrote, based on the examples, does not work.
            Hope you can help.

            UR script manual: “the first argument, p_from , is used to transform the second argument, p_from_to”.
            1) what is the mathematical and geometrical meaning of the tranformation?
            2) can you please show me the code of pose_trans(a,b)?
            - what are the operations between vectors a and b?
            what is a and b?
            3)and what is the plane vector from user defined plane, is it the normal vector to the plane?
            4) and how are x,y,z directions determined by the robot, i only gave it 3 points to define the plane, and did not define directions.

            5) i have replicated the program in both Position variables 1 and 2 before already, it does not work.
            will you please point out what is wrong in the following code:
            //**moveL is under plane_var setting
            moveL
            waypoint1
            b:=waypoint1
            c:=p(0,0,0.05,0,0,0)
            a:=pose_trans(plane_var,c)
            moveL
            a

            thank you so much for your help, really pulling my hair here

          2. zacopressadmin Post author

            Dear Lutz

            1) It is adding. One way to understand the result after a transformation is to observe the variables in the “Variables tab before and after a transformation.

            2) The code is shown in the articles that was linked to earlier.

            3) Yes the Plane normal.

            4) The X, Y direction is determined in the sequence of the 3 points when creating a plane. This is also mentioned in the articles as -

            “A plane is setup by setting 3 points where the first point is the plane normal (the origin of the user plane). The second point is the Y axis direction of the new plane and therefore the second point is set in the desired Y direction from the plane normal. The third point is the X axis direction of the new plane and therefore the third point is set in the desired X direction from the plane normal.”

            5) Although you say you have replicated the program it does not look the same as in the articles. And Your data with the value “0.05″ is in the position of “Z” – is that intentional ? because in testing the result when using a Plane as reference there is no difference in using a Plane or not – because a Plane is 2D so a Plane works for X and Y direction whereas Z is the same with or wotout a user defined plane.

            A pose needs to use square brackets “[]” instead of round brackets.

            In order to troubleshoot your program – Can you show your entire program ?

            Are you programming in Polyscope on the teachpendant ? or sending script commands from an external PC ?

            Which error messages do you get when you say it does not work ?

            Author:
            By Zacobria Lars Skovsgaard
            Accredited Universal Robots support Centre and Forum.

            Also check out the CB3 forum


  4. Andy Leinen

    Hi Lars,
    I have a question regarding using a Point Feature as a reference for Waypoints. I have the Point Feature “calib_point_cog” enabled to be used as a Variable. I am basically trying to offset this Feature by a certain amount, and all of my Waypoints should follow. I have “calib_point_cog_var” selected as the Feature in my MoveP command. My problem is that if I Touchup or Reteach my “calib_point_cog_var” position, or even create an entirely new Point Feature and make the appropriate changes to the program, it does not affect my Waypoints at all. I even tried a new Point Feature that was 5 inches different, and the UR still moved like the original Feature was selected. I made sure to hit Load/Save in the Installation tab, as well as save my program each time a change is made. I’m not sure if it’s something in the pose_trans that could be throwing it off? Or not accepting the new Feature?

    Program
    Init Variables
    BeforeStart
    socket_open(“192.168.0.128″, 3500)
    Wait: 1.0
    Robot Program
    MoveJ
    Perch_pos
    camera_pose
    Wait: 1.0
    Set TRIGGER=On
    Wait: 1.0
    Set TRIGGER=Off
    Wait: 2.0
    OffsetsFromCame≔socket_read_ascii_float(3)
    Wait: 1.0
    socket_close()
    OffsetX≔OffsetsFromCame[1]/1000
    OffsetY≔OffsetsFromCame[2]/1000
    OffsetAng≔OffsetsFromCame[3]*0.0174533
    Offset≔p[OffsetX,OffsetY,0.015,0.0,0.0,OffsetAng]
    calib_point_cog_var≔pose_trans(calib_point_cog,Offset)
    Set Pressure=8.0
    MoveJ
    perch_closer
    MoveP
    Waypoint_6
    Wait: 1.0
    Set DISPENSE=On
    Wait: 0.5
    Waypoint_9
    Waypoint_10
    Waypoint_11
    Waypoint_12
    Set DISPENSE=Off
    Wait: 0.1
    MoveP
    Drip
    Wait: 10.0
    MoveJ
    Perch_pos

    Any help is appreciated.
    Thanks,
    Andy

    Reply
    1. zacopressadmin Post author

      Hi Andy

      Thanks for your question.

      I have the same experience as you – so therefore instead of changing the reference in the “Move” property – then it is possible to change the contents of the reference (the plane).

      This example shows how the content of the Plane_var can be changed. Two different planes are defined. The reference in the “Move” property is kept the same as “Plane_1_var”, but the content of Plane_1_var can be changed – for example with Plane_1_var = Plane_2_var and to other plane values.

      http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/working-with-planes-and-variables-1/

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum

      Reply
  5. Nithin

    Hello,

    I am developing a program in which the position of the robot(base frame) will be in differnt places on different days.(The robot is mounted on a movable base and each day we need to calibrate the position of the robot with respect to the process table.) I have written a calibration program where we will find a point in the process table and will be set as a calibration point and will be set as a point feature and will be saved as a initialisation variable.Then in another program where a grooving process is done, i am loading the same initialisation file and using the calibrarion point and use MOVE L command to move the arm with respect to the calibration point.Will this idea works if the position of the robot is changed each day?Will the robot moves with respect to the calibration point to the grooving machine even though the base frame is changed each day(the distance between calibration point and grooving machine is constant.)

    And the other problem is that if i use MOVE L a lot of times the robot is going to singularity mode lot of times.So is it a way to avoid MOVE L and use MOVE J instead and get the same application done?

    Reply
    1. zacopressadmin Post author

      Hi Nithin

      Thanks for your question.

      It seems as a good approach and there might be various ways to acheive this and it should work.

      Either make user defined planes – and then use them as a refference in the program

      A similar example of using planes can be found here.

      http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/working-with-planes-and-variables-1/

      It is also possible to move to a position and then use the function “get_actual_tcp_pose” and use that as a refference to the known distances.

      For the MoveL and singularities – maybe consider to have more waypoints in between other waypoints.

      Working with waypoints as variables and and add pose variables also can be used with MoveJ.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum

      Reply
  6. Tony K.

    Good day, Lars!

    Have been wondering about how to use the reference to a set plane.
    The idea is to check three points on a plane surface, get their positions and then move along this plane.
    Here is some piece of code trying to get close to the plane from a point that is above:

    pos //a specified variable position located some mm above the plane
    While pos != plane // how to check that we are out of plane…?
    pos[2] = pos[2]-0.0002
    movel(pos,a=0.01,v=0.4) //shift position lower

    Best regards,
    Tony

    Reply
    1. zacopressadmin Post author

      Hi Tony

      Thanks for your question.

      It is possible to create a Plane from the menu Installation – Features , by setting 3 points to define the plane. This will also create some variables named “Point_1” – “Point_2” – Point_3” (For the first plane because there can be more than one plane) and the content of these variables is the pose for each of these three points.

      These variables can be observed in the “Variables” tab and they can also be used in the program as variables – for example to check on in relation with the current position and thereby establish the position in relation to the plane.

      Author:
      By Zacobria Lars Skovsgaard
      Accredited Universal Robots support Centre and Forum.

      Also check out the CB3 forum

      Reply
      1. Tony K.

        Hello, Lars!

        OK, I got the point about the points. :)
        And what is the “plane” variable for then? (also available in “variables” tab if I tap the corresponding checkbox when creating the plane)

        Best regards,
        Tony

        Reply
          1. Tony K.

            Hi, Lars!

            I think. the “plane normal” pose is just what I need. Will try and then report about effectiveness of such reference. Thanks.

            Best regards,
            Tony K.

  7. Steve

    I am programming a UR10 using the script interface. I want to move in a circle with a set roll and pitch but with a yaw that changes as the robot head moves in a circle (constant tool orientation). The movec() comand interpolates the (x.y,z) position nicely but the tool head orientation is discrete (not interpolated as far as I can tell). In the polyscope interface I can specify (roll,pitch,yaw) and see the (rx,ry,rz) transform. I would like to do this mathematically. How do you mathematically determine (rx,ry,rz) from (roll,pitch,yaw)?

    Reply
  8. Andrew

    Lars,

    Thanks for your helpful reply. In order to understand the Features made in the GUI, I have created a very short program in Polyscope that simply moves in a square and references the Plane that I made (tablePlane). I then exported the .script file out so that I could see what it looked like and how the Feature was being referenced in URscript. Here is what I got when exported:

    def matsys_04_tPlane_sq_100mm_int():
    set_analog_inputrange(0, 0)
    set_analog_inputrange(1, 0)
    set_analog_inputrange(2, 0)
    set_analog_inputrange(3, 0)
    set_analog_outputdomain(0, 0)
    set_analog_outputdomain(1, 0)
    set_tool_voltage(0)
    set_runstate_outputs([])
    set_payload(0.0)
    set_gravity([0.0, 0.0, 9.82])
    tablePlane=p[-0.2922990138838327,-0.9087318151469338,-0.006857562496654674,-2.188837459795528,-2.250168280724948,-0.009995941050315019]
    varmsg(“tablePlane”,tablePlane)
    while (True):
    $ 1 “Robot Program”
    $ 2 “MoveL”
    $ 3 “Waypoint_1″
    movel(pose_trans(tablePlane, p[0.100,0.100,0.000,0.000,0.000,0.000]), a=1.2, v=0.25)
    $ 4 “Waypoint_2″
    movel(pose_trans(tablePlane, p[0.200,0.100,0.000,0.000,0.000,0.000]), a=1.2, v=0.25)
    $ 5 “Waypoint_3″
    movel(pose_trans(tablePlane, p[0.200,0.200,0.000,0.000,0.000,0.000]), a=1.2, v=0.25)
    $ 6 “Waypoint_4″
    movel(pose_trans(tablePlane, p[0.100,0.200,0.000,0.000,0.000,0.000]), a=1.2, v=0.25)
    end
    end

    I have a couple of questions about this. First, I was surprised at the line:

    tablePlane=p[-0.2922990138838327,-0.9087318151469338,-0.006857562496654674,-2.188837459795528,-2.250168280724948,-0.009995941050315019]

    I had assumed that since the tablePlane was a variable outside of the script, it would not need to be assigned within the script. That is, I thought that the script would make a call to get the current value of tablePlane but it looks like that is not happening. For the project that I am working on, I want the user to define the plane using the GUI while the script simply looks at that variable each time it runs. Defining it inside the script wouldn’t seem to work.

    Second, could you explain what the varmsg(“tablePlane”,tablePlane) line is doing? I was unable to find the varmsg function in the Script manual.

    Finally, I have a general question about Planes in UR. The base plane of the UR5 has the Z axis pointing up. However, it seems like when I use the Feature Plane, it is impossible to make a Plane with its Z-axis pointing up. If I understand the Plane instructions in the manual, the Z-Axis of a plane is determined by

    The positive direction of the zaxis is set so that the angle between the z-axis of the plane and the z-axis of the first point is less than 180 degrees.”

    Since the Z-axis of the first point seems to be taken from the TCP (whose positive direction is away from the robot), it seems to be nearly impossible to use the robot in teach mode to get the Z-axis to face upwards as the Plane points would need to be approached from below the table. Do you have any advice on making the Z-axis face up? All I can think of is to not use the Plane feature but instead use 3 different Point Features and then calculate within Python the proper Plane using the cross product of the X and Y vectors.

    Thank you very much for your help! This website has been a huge source of knowledge for us.

    Reply
    1. zacopressadmin Post author

      Hi Andrew

      Thanks for your questions.

      1.
      I am not sure how you “run the script” and how you exchange data with the polyscope GUI program ? – Or are you sending raw script commands to port 30002 ?

      I find it bets to have a “receiver” program running on the UR in polyscope GUI which just receives data as variables – and then use these data and process then in the GUI program – then it is easier to use the other build in functions on the UR such as features etc.

      2.

      The command “varmsg” (in your program like this varmsg(“tablePlane”,tablePlane) ) is a very use full tool for troubleshooting. The varmsg will force the value of the variable (here “tableplane”) to be shown in the Variable tab screen.

      When a program runs the variables will frequently be shown and updated in the Variable screen tab – but if you at a specific time in your program execution want to see the value of the variable – then you can force that to happen at that moment by using this varmsg command.

      3.
      In the Base plane the Z is pointing into the TCP tool point flange – meaning if the head is pointing down and then the positive direction of the Z axis movement is up. But in the Tool plane the Z is pointing away from the TCP tool point flange – meaning if the head is pointing down the positive direction of the Z axis movements is down.

      You can see some of this in the Installation – TCP position – and you can also see the effects of this when using the Force function where you can set the Feature to Base or to Tool (or other user defined features that might have been created on the robot).

      I get your point that if the robot is already physical fixed to a table with bolts – then it is not easy to make the TCP point upwards at the Base plane because the head should be under the table :) – but it doesn’t really matter where on the plant you set the plane direction so if the robot can reach outside and under the table – then you can define the 3 points in the plane while the robot head is out there. Or you can maybe consider temporarily putting a block under the robot and lifting it up while you are teaching the plane with the head upside down – and then mount the robot back again on the table.

      Or you can maybe consider making the plane 180 degree opposite i.e. the head pointing to the table while setting the plane – and then use negative Z values in your program if that is possible.

      Author:
      By Zacobria Lars Skovsgaard
      Authorised Universal-Robots Distributor.

      Reply
  9. Andrew

    I have a question about how to reference a user created Feature Plane within a UR Script. I’m more familiar with ABB robots where user frames or object frames are essential to the programming. For example, let’s say that I have a table on which a UR5 is mounted. I would like to have all of my waypoints reference the table plane instead of the robot’s base plane.

    If I understand the process correctly, I would go to Installation>Features>AddPlane on the pendent and then use the robot to add three points for the table’s plane. I’m clear on how I would then reference this plane if I was writing the program in the pendent, but I’m doing this through a python script/URscript. So, if I had a movel command where I wanted the TCP to be 5mm above the base, it would look something like this:

    movel(p[0,0,0.005,0,0,0],a=0.05,v=0.15,r=0.015)

    How would I change this to reference a table plane (let’s call it “tPlane”) instead?

    Thank you

    Reply
    1. zacopressadmin Post author

      Hi Andrew

      Thanks for your question.

      Your understanding is correct that you can create new planes like your own coordinate system in the features menu.

      If you send by script then it will be the base plane that is the reference and you need to calculate your new coordinate before sending the script command for example if the Z plane is 5 cm higher – you can add 50mm to the Z value in your move command.

      But it will be better to use the GUI and polyscope for this because then you can take advantage of the features and your own coordinate system – and you can even make feature shift and reference shift because such plane and reference point can be a variable.

      So one way to that is to make the robot program in GUI polyscope on the robot and then only exchange data (maybe other reference points from a camera) with the external host – so the move command etc etc are performed on the UR – that is more elegant.

      Author:
      By Zacobria Lars Skovsgaard
      Authorised Universal-Robots Distributor.

      Reply
  10. Rich

    Lars – I see what you did there. I was hoping that I could use the same feature line_1, modify it “Change this point”, then the waypoints would follow the new feature line_1.

    Reply
  11. Rich

    Thank you for your feedback.

    I made a feature line in installation, created a quick MoveL relating it to line_1, making a program putting a way point on same point as feature line point one, the second way point on the second feature line point 2. I then changed the feature lines 2 points, and the robot kept the original way points. They did not follow the feature line change. Thanks for any help.

    - Rich

    Reply
  12. Rich

    Can I relate my program way points to the Feature Plane point. If I need to readjust my plane (say the fixture moves) I would like the program points to move relative to Plane Feature?

    Thanks

    - Rich

    Reply
    1. zacopressadmin Post author

      Hi Rich

      Thanks for your question.

      Yes you can.

      When using MoveL – you can select a new Feature – for example the plane you have created – see below where you can select the feature in the MoveL menu.

      universal-robots-zacobria-feature-plane

      Author:
      By Zacobria Lars Skovsgaard
      Authorised Universal-Robots Distributor.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>