Fanuc and IRvision - Offset when picking up a part which is at an angle

  • Hello, new member here.

    I am having a problem when I am using my fanuc robot to pick up a part. I am using irvision and robot controller R-30ib


    I trained the robot to pick up the part when it is longitudinal to the robot's Y axis.

    However when I try to run the program, I notice that the pick position has an X-Y offset that is proportional to the angle of the part that I'm trying to pick.

    So I am only able to pick up parts which are approximately parallel to the Y axis. The error is not random and is consistent


    I have set the TCP twice using the 4 point method and gotten mean errors less than 0.3mm. I also calibrated the robot/camera by mounting the 11.5 mm grid on the robot's arm


    Is there anything else I can try? I came across at thread in this forum about using ADJ_OFS. Is that related to my issue?


    Thanks

  • I would highly suspect that you made an error calibrating the camera.


    Do you have the correct lens focal length selected?


    Did you teach a user frame for the surface you are picking parts from?


    Show screenshots and provide detail for your application.

  • Thanks for the super quick response


    Fabian Munoz , here is a screenshot of 3 parts I set up in FOV. One of the parts was at an extreme angle so was rejected and shown as almost found (the parts are almost symmetrical). All in all the GPM locator tool performs as I would expect. Unfortunately I can't show the silhouette of the part since I don't have the permission to do so. However, the part (a cylinder) measures approx 80 by 20 pixels in the FOV, if that makes sense. I feel that is a little low but the vision is still able to identify the part reliably


  • HawkME, I used the calibration tool to calibrate the camera, please see the screenshot. The focal length of the camera is 12 mm, which is approx 12.14mm given by the calibration tool.


    Yes, I believe I did teach a user-frame from the point i am picking up the part from. I did this by copying the values that the camera calibration gave me, and putting those values in a new user-frame.


    At the start of the calibration, I used a height Gage to ensure that the calibration grid was at the same height from where I would pickup the parts. I also confirmed that my camera, the picking surface and the calibration grid all were parallel to the ground.


    As for the application, I have a camera mounted about 0.8 meters from the picking point, and I have a robot come in to pick up the parts using pneumatic grippers. Precision is necessary since the gripper jaws utilize a small feature on the part to hold them very securely without any slippage. The robot actually has two grippers, such that each gripper is "facing away" from the other. I set my tool frame from the gripper that I am picking up the part from. The other gripper is used to pick up the part from the fixture where the main gripper originally puts in the part.


  • To clarify, the amount of offset I am getting is about 5 mm by 1 mm when the part is at a 45 degree angle (relative to the angle of the part that I use to retouch the picking point).


    The direction of the offset depends on if the angle is positive or negative

  • jmd2777 I am a fanuc novice and I don't really know what application frame and grid frame are, or if I have used them in my vision program


    In the next few of my comments please find screenshots of the 2d process and the related things

  • There is not value on the screen "Z height" Is that right ?

    Is the higher horizontal face of the part at the same level that the application frame ? In other word is the part a coin or a dice AND was the grid taught in one of those two surfaces height?

    Retired but still helping

  • Fabian Munoz


    1. Yes, the Z height is set to zero right now

    2. The part is a small cylinder-like part. The application frame was taught on the surface that the part rests on


    The cylindrical part has a diameter of 6.6 mm, so its center sits 3.3 mm above the application frame


    However, it tried changing the Z height to 3.3 mm (and retouched the picking points) and the problem still persisted for parts lying at an angle. I also ensured that I saved any changes I made to the irvision settings, and I confirmed the fact that I am using the correct IR vision program and TP program

  • HawkME


    I think the Red screenshot you mentioned belongs to jmd2777 and they showed the image just for reference. From what I understand, there are no red parts in my IRvision program


    Unfortunately due to my policy, I don't have permission to show the silhouette of the part. I can tell you though that the part is a cylinder-like part.


    It has varying diameters (in sections) across its length. It has a max diameter of 6.6 mm which is at the ends of the part. The part is 20 mm in length. The parts lies on the surface such that it can roll. In the irvision program, the silhouette is approx 20 by 80pixels.


    The irvision can detect the features of the part without much problem, although it does have a little trouble (10% of time) deciding if the part is straight or upside down (e.g. if part is 5 deg or 185 deg) due to the near-symmetry of the part

Advertising from our partners