1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Forum
  3. Industrial Robot Support and Discussion Center
  4. Fanuc Robot Forum
Your browser does not support videos RoboDK Software for simulation and programming
Visit our Mainsponsor
IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Sponsored Ads

User Frame to PR Question

  • CLanford_Conmet
  • March 14, 2024 at 7:52 PM
  • Thread is Unresolved
  • CLanford_Conmet
    Trophies
    1
    Posts
    22
    • March 14, 2024 at 7:52 PM
    • #1

    Hello,


    First off, I am not a robot expert by any stretch of the imagination, so please forgive my ignorance!

    I am working on a fixed mounted 3D vision guided application using a R2000iC/210F running a handling tool program. I've decided to create a fixed reference within the cameras Field of View, and teach the robot a User Frame (in this case, UF5) to the same origin point. From there the plan is to send X-Y coordinates to the robot for precise locating of parts.

    Once I trained the camera and the robot user frame (3 point method) to the same point in space, I backed up the robot program and have been doing some offline testing in RoboGuide. But I've run into an issue that I don't fully understand, and was hoping for some help here.

    I wanted to initially run the robot to the taught user frame origin, and followed other threads recommendations by setting the UFrame to a PR. The problem is I keep getting Position Not Reachable faults. Upon further investigation and reading other threads, I set all of the coordinate to 0,0,0,0,0,0 and tried jogging to that position while setting the robot's coordinate system to UF5 but still got the same issue.

    So next I tried jogging the robot to the UF origin using the "Move To" function in the User Frame setup detail, then checked the robot's position in World vs User, and noticed that the w,p and r had values that I couldn't determine how they were calculated. Attached are the three sets of values for the same UF position. First SS shows the UF values from the UF setup screen, and below it the actual position in world when I drove the robot to that origin point. The 2nd screenshot shows this same position, but in User coordinates. I understand why the User X,Y,Z coordinates would be 0,0,0 because it's at the origin, but I don't understand w, p and r.


    UF5 in User.JPG


    My primary issue is that I plan on giving people the ability to re-teach the robot this new origin by touching up the user frame origin if needed, but programatically I need to be able to ensure the w, p, r values reflect the new correct position that will be taught. I also need to be able to jog the robot to this origin programmatically in case anyone does have to change the origin. Can anyone help explain how I can translate the w, p, r values as shown in world for UF5 setup vs what they represent when I actually drive the robot to the origin, and show the positions in User?

    One thing to note: I was also getting faults when attempting to write the UF to a PR, but it was because PR_CARTPREP was set to False. Set it to true and was able to get past that. Robot was taught the UF with this set to False. Not sure if this matters, just info for you experts in case it did!

    Thanks!

  • TitusLepic
    Reactions Received
    112
    Trophies
    6
    Posts
    442
    • March 14, 2024 at 8:02 PM
    • #2

    Not an expert, but if you search the forum for "euler angles" you'll find a bunch of relevant information.

  • CLanford_Conmet
    Trophies
    1
    Posts
    22
    • March 14, 2024 at 8:28 PM
    • #3
    Quote from TitusLepic

    Not an expert, but if you search the forum for "euler angles" you'll find a bunch of relevant information.

    Thank you. Looks like this is going to be a bit more difficult than I anticipated!

  • Shellmer
    Reactions Received
    52
    Trophies
    5
    Posts
    161
    • March 14, 2024 at 8:43 PM
    • #4
    Quote from CLanford_Conmet

    Hello,


    First off, I am not a robot expert by any stretch of the imagination, so please forgive my ignorance!

    I am working on a fixed mounted 3D vision guided application using a R2000iC/210F running a handling tool program. I've decided to create a fixed reference within the cameras Field of View, and teach the robot a User Frame (in this case, UF5) to the same origin point. From there the plan is to send X-Y coordinates to the robot for precise locating of parts.

    Once I trained the camera and the robot user frame (3 point method) to the same point in space, I backed up the robot program and have been doing some offline testing in RoboGuide. But I've run into an issue that I don't fully understand, and was hoping for some help here.

    I wanted to initially run the robot to the taught user frame origin, and followed other threads recommendations by setting the UFrame to a PR. The problem is I keep getting Position Not Reachable faults. Upon further investigation and reading other threads, I set all of the coordinate to 0,0,0,0,0,0 and tried jogging to that position while setting the robot's coordinate system to UF5 but still got the same issue.

    So next I tried jogging the robot to the UF origin using the "Move To" function in the User Frame setup detail, then checked the robot's position in World vs User, and noticed that the w,p and r had values that I couldn't determine how they were calculated. Attached are the three sets of values for the same UF position. First SS shows the UF values from the UF setup screen, and below it the actual position in world when I drove the robot to that origin point. The 2nd screenshot shows this same position, but in User coordinates. I understand why the User X,Y,Z coordinates would be 0,0,0 because it's at the origin, but I don't understand w, p and r.


    UF5 in User.JPG


    My primary issue is that I plan on giving people the ability to re-teach the robot this new origin by touching up the user frame origin if needed, but programatically I need to be able to ensure the w, p, r values reflect the new correct position that will be taught. I also need to be able to jog the robot to this origin programmatically in case anyone does have to change the origin. Can anyone help explain how I can translate the w, p, r values as shown in world for UF5 setup vs what they represent when I actually drive the robot to the origin, and show the positions in User?

    One thing to note: I was also getting faults when attempting to write the UF to a PR, but it was because PR_CARTPREP was set to False. Set it to true and was able to get past that. Robot was taught the UF with this set to False. Not sure if this matters, just info for you experts in case it did!

    Thanks!

    Display More

    When you move to a PR point with the "MoveTo" instruction, the robot will perform a linear motion to that point, and linear motions in fanuc (including the ones executed through the pendant) ignore both the config and turn numbers from any executed point.

    This is why you could move the robot with a MoveTo and not with a J motion, also, uframe is calculated through the diference betwheen the world (uframe 0) of the robot and your taugh points, the only way to ensure that you maintain the same directions while taughting the uframe is to move in the same direction as the world or putting all 0s in WPR.

  • CLanford_Conmet
    Trophies
    1
    Posts
    22
    • March 15, 2024 at 2:21 PM
    • #5
    Quote from Shellmer

    the only way to ensure that you maintain the same directions while taughting the uframe is to move in the same direction as the world or putting all 0s in WPR.

    So I could avoid this difference in rotation values by simply teaching my user frame X and Y direction the same as World? I can't change my w,p r values to 0 because I need them to be in these specific positions.

  • hoitzing
    Reactions Received
    24
    Trophies
    1
    Posts
    128
    • March 15, 2024 at 2:34 PM
    • #6

    Do I understand correctly that you wish to allow people to update a userframe's origin, but not its orientation?

    Because that would be possible by teaching the frame with the 4-point method, where the first three points are used to create the frame's orientation, and the origin is shifted to the fourth point.

  • CLanford_Conmet
    Trophies
    1
    Posts
    22
    • March 15, 2024 at 7:03 PM
    • #7
    Quote from hoitzing

    Do I understand correctly that you wish to allow people to update a userframe's origin, but not its orientation?

    Because that would be possible by teaching the frame with the 4-point method, where the first three points are used to create the frame's orientation, and the origin is shifted to the fourth point.

    Yes that's what I'm trying to accomplish! I'll take a look at the 4 point method and see how I can make that work.

    I was also trying to put the origin and orientation (fully defined robot TCP position) into a PR, and then have a program drive the robot to that PR and set up some comments to instruct folks how to update that origin in frame setup should it ever need to be changed. I can always just do it with an internal program position with some instruction comments in the program on how to update the origin, unless there is a better way to do that part.

    Thanks for the tip, I'll try it out!

  • CLanford_Conmet
    Trophies
    1
    Posts
    22
    • April 2, 2024 at 6:16 PM
    • #8

    Ok so similar issue and need some feedback on this. I have set the user frame with a specific TCP orientation:

    When I move this User Frame 5 to PR210, then try to move to PR210, J5 and J6 twist to this weird orientation, and I cannot figure out how to keep the TCP orientation the same as how it was when I taught the User Frame. This is what happens when I try to move to PR210 after moving UFrame 5 to it:



    Is it related to the CONF settings? If so, I don't know how to transform them in a way that maintains TCP orientation to the pallet the same way as the way I taught the Frame. Tried updating the CONF options but nothing seems to work.

  • Doctor_C
    Reactions Received
    33
    Trophies
    4
    Posts
    198
    • April 2, 2024 at 6:32 PM
    • #9

    First thing I would do is make sure you put the User frame data into the PR as cartesian.

    $PR_CARTREP = 1

    PR[210:Uframe5] = Uframe [5]

    Then you can manipulate PR[210] X,Y, or Z all you want, And stuff it back into the userframe.

    (And then switch cartrep back to Zero if it causes other issues).

  • CLanford_Conmet
    Trophies
    1
    Posts
    22
    • April 2, 2024 at 6:41 PM
    • #10
    Quote from Doctor_C

    First thing I would do is make sure you put the User frame data into the PR as cartesian.

    $PR_CARTREP = 1

    PR[210:Uframe5] = Uframe [5]

    Then you can manipulate PR[210] X,Y, or Z all you want, And stuff it back into the userframe.

    (And then switch cartrep back to Zero if it causes other issues).

    Thanks! Hadn't considered using CartRep programatically. Basically I'm just doing some X,Y,Z adjustments to PR210 with 2D vision and a laser for z offset, but always relative to the origin of UFrame 5 hence why I was using it as a reference in the program. I'll try this and see if that fixes it.

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics

Job Postings

  • Anyware Robotics is hiring!

    yzhou377 February 23, 2025 at 4:54 AM
  • How to see your Job Posting (search or recruit) here in Robot-Forum.com

    Werner Hampel November 18, 2021 at 3:44 PM
Your browser does not support videos RoboDK Software for simulation and programming

Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Thread Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Similar Threads

  • Kawasaki OLP user_frame Question🙏

    • Sungmin Kim
    • August 6, 2023 at 3:13 AM
    • Kawasaki Robot Forum
  • Is there a way to apply an offset to multiple lines of TP?

    • campergat
    • June 22, 2023 at 4:05 PM
    • Fanuc Robot Forum
  • IRvision Camera/Pickup Issues

    • .d7
    • June 8, 2023 at 9:18 PM
    • Fanuc Robot Forum
  • Tool Frame settings and Z axis rotation

    • yolovs
    • November 11, 2022 at 8:47 AM
    • Fanuc Robot Forum
  • Shifted User Frame using Vision

    • diey
    • April 26, 2022 at 4:18 AM
    • Fanuc Robot Forum
  • Mathematical algorithm to check new calculate zero vehicle frame ?

    • poupack
    • July 11, 2021 at 6:30 PM
    • Robot Geometry, Linear Algebra, Forward and Inverse Kinematics
  • Jog Frame Purpose

    • SkyNet
    • July 9, 2021 at 5:55 PM
    • Fanuc Robot Forum
  • Cartesian impedance creating offset

    • Just Me
    • December 23, 2020 at 3:28 PM
    • KUKA LBR IIWA
  • User Frames and Wrist Configuration Settings

    • pzzwhw
    • February 10, 2020 at 6:56 PM
    • Fanuc Robot Forum
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download