Fanuc iRVision: Take photo of position in a vertical matrix where a part may be; if no part, move on to next matrix position

  • Can anyone recommend a way to move through a vertical matrix of cylindrical parts stacked lengthwise? I have a 2D Vision Processing system set up with iRVision; the Kowa camera is robot-mounted 12 mm; the camera has 25 inches from its base to the vertical plane of the matrix; the matrix is approximately 25 inches wide by 35 inches in height; the vertical matrix is loosely arranged in that the stacked parts (4.5 inches diameter) create each position of the matrix.


    The vision processing system is to pick and place found parts, starting at top-left position of the vertical matrix. I'm currently taking the photo of the top-left position in a parallel plane about 10 inches from the parts. (The vision system works well for this first part.)


    Sometimes the part will be "found" by the 2D vision system from the snap taken by the camera; sometimes a part will not be found. In the case that a part is not found, I would like the robot to continue to the next offset of the PR[ ] and take a new photo. If a part Is found, we will pick and place.


    I understand position register offsets, and I have a basic understanding of vision registers used by the camera system to locate the next part. What I do not understand is how to combine PR[ ] and VR[ ].


    Thank you very much.

  • Hi HM96

    Welcome to the robot forum


    Do you have a pre-establish PR where you can go and see the part ?

    Basically , do you have a matrix of PR or points on top of your cylinders or you just go anywhere and take pictures until you find a part ?

    Retired but still helping

  • Currently, I have a PR set at the approach/retreat point in front of the first part, a PR at the pick point of the first part, and a PR at the photo-taking position of the first part.


    I was planning to calculate the PR offset from either the approach/retreat PR, or the photo-place PR, for each "point" in the matrix where a part may be found.

  • You can use one PR and offsets or several PRs. That's not important.

    Can you assume where the cylinders are going to be placed.

    MY idea is to have a PR "on top " of the part with a decent FOV and find the part there.

    Based on the values of that PR plus the VR you will get the proper pick location

    Retired but still helping

  • Yes, the parts are stacked similarly to a log pile, if you will, with just the ends of all the cylinders showing; so, in the x or y direction, approximately there would be a 1-1/2 to 2 cylinder offset between the center of one cylinder and the next. If moving on a diagonal, there would be approximately a 1-cylinder offset from center to center.


    I am new to Fanuc vision - so please forgive the question. If I were to save the VR offset data into a PR, would I then combine the two (add or subtract, depending on direction) to have the vision system find the next pick position?


    Thank you.

  • 16: !Pick app ;

    17:L PR[R[9]] 1000mm/sec CNT1 VOFFSET,VR[1] Tool_Offset,PR[3:Body pick app ] ;

    18: !Pick point ;

    19:L PR[R[9]] 500mm/sec CNT0 VOFFSET,VR[1] ;

    20: CALL EOAT_PICK ;

    21: WAIT .10(sec) ;

    22: R[41:PartFound A]=0 ;

    23: !Pick dep ;

    24:L PR[R[9]] 1000mm/sec CNT50 VOFFSET,VR[1] Tool_Offset,PR[4:Body pick dep ] ;

    Retired but still helping

Advertising from our partners