How to implement ADJ_OFS with IRVISION

  • I'm fairly new to robot programming in general so if you can please make it simple for me to understand that would be great :fine:


    I currently have a R30B robot set up at my company and I'm having an offset issue where it totally misses the object it's supposed to pick up. If the orientation of my object is longitudinal to my feeder plate, it picks it up just fine, but when it is rotated, the picker totally misses.


    I'm thinking it's a calibration issue that I'm trying to solve by using 'ADJ_OFS' call command, but I don't know how to properly use it within my program. The manual doesn't really justify what to do as it's very vague on how I can implement it.


    Does anyone know or can provide a step by step with clarification on how I can apply ADJ_OFS to my program? I'm using RUN_FIND and GET_OFFSET for my IRVISION to get the parts recognized by my camera.

  • hi
    I've done many vision applications and never used ADJ_OFS
    I did have the same question you have and I was told by Fanuc to use ADJ_OFS when I had to "compensate" camera error. It suppose to be for very small dimensions. That's not your case


    I have to ask this . Are you sure you are using the correct tool and is the tool define correctly ? The problem you described is typical from wrong tooling definition.


    If your tool is wrong , obviously your grid is wrong


    Can you do some troubleshooting, like put the part at zero degrees, then 5 , then -5 degrees, etc and see how are your results, Look at the PR values, create an Excel sheet

    Retired but still helping

  • Hey thanks for answering.


    I've done what you asked and got varying results in mostly the x and y coordinates. I started off with my part contact oriented in the longitudinal position where it was aligned with the 12 o'clock position and rotated it 45 degrees each time in the clockwise direction. My PR didn't change but I looked at the current position of the tool head/tool frame with respect to my user frame and got my numbers below.


    0 degrees: Contact part was found and was able to be picked up
    x: 20.291 mm
    y: 23.900 mm
    45 degrees: Found part but missed picking position when attempting to grab
    x: 17.384 mm
    y: 29.830 mm
    90 degrees: Found part but missed picking position when attempting to grab
    x: 19.442 mm
    y: 34.124 mm
    135 degrees: Found part but missed picking position when attempting to grab
    x: 20.291 mm
    y: 37.684 mm
    180 degrees: Found part but missed picking position when attempting to grab
    x: 21.183 mm
    y: 36.648 mm
    225 degrees: Found part but missed picking position when attempting to grab
    x: 24.104 mm
    y: 31.930 mm
    270 degrees: Found part but missed picking position when attempting to grab
    x: 24.539 mm
    y: 27.277 mm
    315 degrees: Found part but missed picking position when attempting to grab
    x: 23.718 mm
    y: 24.869 mm


    Seems like my y-coordinates are really changing the most but I don't know what it correlates to.
    Fanuc told me it could be with the camera calibration to that certain user frame that could be the issue due to robot bumping into it self.


    So I did an automatic grid frame set using a Fanuc given 11.5 mm grid frame fixed on the feeder plate. This is my first time using it but I set up the automatic grid frame set with the settings below:
    1. Robot Group Number to use: 1
    2. Set UFrame or UTool: UFrame
    3. User Frame Number to Set: 7 (Was set to a userframe named feeder2Cal)
    4. Camera user Tool Number: 4 (Calibrated camera tool number)
    5. Camera Name: RobotCam
    6. Exposure Time: 8 ms
    7. Grid Spacing 11.5 mm
    8. Start position: (I recorded right above the feeder plate to get all the circles in)
    9. R Angle: 10
    10. W Angle: 5
    11: P Angle: 5
    12: Z height: 30 mm


    My first run encountered problems cause it would lose sight of the big circles so I had to bring my camera start position high enough so that all the big circles will be in the picture while execution but it made my focus a lot worse and blurry. I got it to work and did a 2 plane calibration on my feeder plate as I have a robot mounted cam:
    Application Frame: (I used my feeder plate frame)
    Cal Grid Frame: (I used the one I just got from userframe 7)


    I got huge errors for my points ranging from 0.3 to 12 percent errors...
    Then I tried moving my camera back over my feeder plate but now the camera goes to the location but keeps going up in the Z direction, in which that's not supposed to happen.


    Getting a bit frustrated :wallbash:

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now