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

İRVision | Changing offset data for given distance

  • umut.yildiz
  • May 3, 2023 at 4:44 PM
  • Thread is Unresolved
  • umut.yildiz
    Trophies
    1
    Posts
    8
    • May 3, 2023 at 4:44 PM
    • #1

    VY4zCz6Hi Everyone Fanuc Newbie here,

    I followed tutorials and made a simulation about finding part and taking it in Roboguide.But in real life, length of these parts will be different for each.And ı supposed to take these parts from a specific coordinate.How may ı do this?

    VY4zCz6


    I need to find center of sphere and give distance from it , ı tried to make some calculations but couldnt find out how to output those values in to program.We will work with 60-70 parts and each of them have different lengths.And are we able to make programs for 60 part using with "" MODEL ID "?. If so, how can ı use it in the program.

    I'm planing to use "FOUND POS" option.What are your advices.

    VY4zCz6

  • Go to Best Answer
  • MOM May 3, 2023 at 4:50 PM

    Approved the thread.
  • Fabian Munoz
    Reactions Received
    133
    Trophies
    9
    Articles
    1
    Posts
    1,517
    • May 4, 2023 at 2:55 AM
    • #2

    Hi

    Welcome to the robot forum

    Who do your system feed the part to the robot ? Do they feed 60-70 continuously ? or batches of the same part ? or lets say 10 parts from same family ?

    Retired but still helping

  • umut.yildiz
    Trophies
    1
    Posts
    8
    • May 4, 2023 at 7:20 AM
    • #3

    Hi Fabian,

    İt will be batches of the same part.But as ı said we have 60 parts.Parts will be carrying on the conveyor.Process will change for every part.And each part have a specific distance from sphere (where robot needs to hold it).I will teach each part to camera and robot.We will write different recipe in PLC for each part.You can see screenshot below.There are different parts on the conveyor,ı put them there for teaching.But it will be a batch of same part as ı said.

    MnDvpMs

    Thanks for the interest.

  • Fabian Munoz
    Reactions Received
    133
    Trophies
    9
    Articles
    1
    Posts
    1,517
    • May 4, 2023 at 3:23 PM
    • #4

    Hi

    Do not use ModelID, create a vision process for each part

    You will have for example the word "Part" on SR[1] and the PLC will tell the value of R[2]

    So concatenation for part 53 will end as "Part53" in SR[2] and that's the program you run.

    If you want, lets say, you are running part 53 but need to identified colours, the you can use ModelID


    15: VISION RUN_FIND SR[2] ;

    16: VISION GET_NFOUND SR[2] R[49] ;

    17: VISION GET_OFFSET SR[2] VR[1] JMP LBL[5] ;



    Retired but still helping

  • umut.yildiz
    Trophies
    1
    Posts
    8
    • May 5, 2023 at 8:54 AM
    • #5

    Hi,

    I understand you, it's another solution.But how can ı set a distance in irvision Interfence.I'm trying to make it in tp program but it's not so accurate.I'm using "FOUND POSİTİON" method.

    My program is :

    Tool is going to center of sphere and offsets from there according to distance. (I used tool offset) but even that is not working so accurately.I set equal "FOUND POS (RZ)" value to tool offset PR's Angle value.But it didnt work. If I can output distance relative to center of sphere in Irvision Interface.Everything will be correct.I used "Position Adjustment tool" to give offset.But ı dont want to select by my hand.I need to set numbers.

    My Screenshot:

    image hosted at ImgBB
    Image image hosted in ImgBB
    ibb.co


    Code
     1:  PAYLOAD[1:ASIK_MILI_TOOL] ;
       2:  UTOOL_NUM=1 ;
       3:  UFRAME_NUM=1 ;
       4:  OVERRIDE=10% ;
       5:J PR[1:Home] 100% CNT20    ;
       6:  CALL VISION_POS    ;
       7:  JOINT_MAX_SPEED[2]=50 ;
       8:  JOINT_MAX_SPEED[3]=50 ;
       9:  PR[16,3:FoundposOFFSET]=PR[5,3:Offsetz40]    ;
      10:L PR[15:FOUNDPOS] 2000mm/sec CNT20 Tool_Offset,PR[16:FoundposOFFSET]    ;
      11:  PR[16,3:FoundposOFFSET]=0    ;
      12:L PR[15:FOUNDPOS] 2000mm/sec FINE Tool_Offset,PR[16:FoundposOFFSET]    ;
      13:  WAIT    .10(sec) ;
      14:  CALL PICKPART    ;
      15:  WAIT    .10(sec) ;
      16:  PR[16,3:FoundposOFFSET]=PR[5,3:Offsetz40]    ;
      17:L PR[15:FOUNDPOS] 2000mm/sec CNT20 Tool_Offset,PR[16:FoundposOFFSET]    ;
      18:J PR[4:Place] 50% CNT20 Tool_Offset,PR[10:OffseZ200Tool]    ;
      19:L PR[4:Place] 2000mm/sec FINE Tool_Offset,PR[9:OffsetX40Tool]    ;
      20:J PR[4:Place] 50% CNT20 ACC50    ;
      21:  WAIT    .10(sec) ;
      22:  CALL DROPPART    ;
      23:  WAIT   1.00(sec) ;
      24:L PR[4:Place] 1500mm/sec CNT20 Tool_Offset,PR[10:OffseZ200Tool]    ;
      25:J PR[1:Home] 50% FINE    ;
      26:  LBL[99] ;
    
    ----------------------------------------------------------------------
    
    1:  VISION RUN_FIND 'FINDPART'    ;
       2:  VISION GET_OFFSET 'FINDPART' VR[1] JMP LBL[99] ;
       3:   ;
       4:  PR[14]=VR[1].FOUND_POS[1] ;
       5:  PR[15,1:FOUNDPOS]=PR[14,1:CONFPOS]    ;
       6:  PR[15,2:FOUNDPOS]=PR[14,2:CONFPOS]    ;
       7:  PR[15,3:FOUNDPOS]=PR[14,3:CONFPOS]    ;
       8:  PR[15,4:FOUNDPOS]=(-180)    ;
       9:  PR[15,5:FOUNDPOS]=0    ;
      10:  PR[15,6:FOUNDPOS]=PR[14,6:CONFPOS]    ;
      11:   ;
      12:  R[1]=VR[1].MES[1] ;
      13:  R[2]=VR[1].MES[2] ;
      14:  R[3]=VR[1].MES[3] ;
      15:  R[4:OFFSET]=R[1:PIXEL TO MM ROV]-R[3:FOUND POS ROV]    ;
      16:   ;
      17:  PR[16,2:FoundposOFFSET]=R[4:OFFSET]    ;
      18:  PR[16,6:FoundposOFFSET]=PR[14,6:CONFPOS]    ;
    Display More
  • HawkME
    Reactions Received
    568
    Trophies
    10
    Posts
    3,268
    • May 5, 2023 at 11:30 AM
    • #6
    Quote from umut.yildiz

    Tool is going to center of sphere and offsets from there according to distance.

    According to what distance? Your statement is unclear to me.

    If you want to move relative to the sphere, set your vision origin on the sphere and use voffset, not found position.

    Then use a tool offset on top of the voffset.

    L P[x] 500 mm/s fine Voffset VR[1] Tooloffset PR[y]

    Set your PR for tool offset equal to your distance.

    You need to ensure your tool is aligned with the offset direction when you teach your point.

  • umut.yildiz
    Trophies
    1
    Posts
    8
    • May 5, 2023 at 12:19 PM
    • #7

    Hi,

    Thats what ı did in this morning and it's working.But Is there any way to set a position relative to a point in IRvision Interface.Like screenshot above.

  • ROBOT_G
    Reactions Received
    23
    Trophies
    4
    Posts
    241
    • May 5, 2023 at 3:02 PM
    • Best Answer
    • #8

    Is your goal to pick this part in the same place everytime? If so you should teach a user frame where the parts are presented to the camera. Use fixed frame offset mode. In the TP program use the offset VR[*]. This assumes you have proper calibration and reference data. Depending on your system you could do this with one position the pick position. The path going to and from your part are just offsets of the pick position.

  • umut.yildiz
    Trophies
    1
    Posts
    8
    • May 5, 2023 at 3:29 PM
    • #9
    Quote from ROBOT_G

    Is your goal to pick this part in the same place everytime?

    Yes, but we have 60 parts.Each part has a specific distance from center of sphere.I made a program as your said (with vr offset) and it's working accurately.

    But what ı tried to do is giving offset directly from camera ,not in tp program. I thought with this way Robot will go to direct coordinate by using found position method but ıt didnt work for rotations.

    You can see my current program below.

    Code
     1:  PAYLOAD[1:ASIK_MILI_TOOL] ;
       2:  UTOOL_NUM=1 ;
       3:  UFRAME_NUM=1 ;
       4:  OVERRIDE=20% ;
       5:J PR[1:Home] 100% CNT20    ;
       6:  VISION RUN_FIND 'FINDPART'    ;
       7:  VISION GET_OFFSET 'FINDPART' VR[1] JMP LBL[99] ;
       8:  JOINT_MAX_SPEED[2]=50 ;
       9:  JOINT_MAX_SPEED[3]=50 ;
      10:  PR[5,3:Offsetz40]=(-40)    ;
      11:  PR[5,1:Offsetz40]=10    ;
      12:   ;
      13:L PR[3:REFPick2] 2000mm/sec CNT20 VOFFSET,VR[1] Tool_Offset,PR[5:Offsetz40]    ;
      14:  PR[5,3:Offsetz40]=0    ;
      15:L PR[3:REFPick2] 2000mm/sec FINE VOFFSET,VR[1] ACC100 Tool_Offset,PR[5:Offsetz40]    ;
      16:  WAIT    .10(sec) ;
      17:  CALL PICKPART    ;
      18:  WAIT    .10(sec) ;
      19:  PR[5,3:Offsetz40]=(-40)    ;
      20:   ;
      21:L PR[3:REFPick2] 2000mm/sec CNT20 Tool_Offset,PR[5:Offsetz40] VOFFSET,VR[1]    ;
      22:J PR[4:Place] 50% CNT20 Tool_Offset,PR[10:OffseZ200Tool]    ;
      23:L PR[4:Place] 2000mm/sec FINE Tool_Offset,PR[9:OffsetX40Tool]    ;
      24:J PR[4:Place] 50% CNT20 ACC50    ;
      25:  WAIT    .10(sec) ;
      26:  CALL DROPPART    ;
      27:  WAIT   1.00(sec) ;
      28:L PR[4:Place] 1500mm/sec CNT20 Tool_Offset,PR[10:OffseZ200Tool]    ;
      29:J PR[1:Home] 50% FINE    ;
      30:  LBL[99] ;
    Display More
  • HawkME
    Reactions Received
    568
    Trophies
    10
    Posts
    3,268
    • May 5, 2023 at 6:33 PM
    • #10

    Voffset is the way to make them relative. It does all the math for you. That's why Fanuc created it.

    Found position will not do the coordinate transformations, so can't be used directly for that purpose. It is possible by creating a new user frame based on found pos, but has some caveats. I have done it before using Matrix multiplication to do the coordinate transformation and create a new user frame. It's possible to do without matrix math, but only if your user frame is coplaner with world.

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

Tags

  • Fanuc
  • IRVIsion
  • Offset
  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