Hello guys! I have been struggling with this for a while now, even posting about it here until I've stopped working on it for almost a year. Now this thing is back to haunt me once more....
With a FANUC LR Mate 200id/14L IRVision 2D Pick and Place application with 2 cameras. One is mounted on the robot for part location and another in a fixed position for tool offset. The issue is 500~600 microns offset in the X-axis. Y and R are pretty acceptable.
Application overview:
- Robot located the part roughly using found position;
- Robot moves with the camera where the part was located, centering on its FoV to minimize lens distortion, then runs the same job to locate the part again;
- Robot moves with the gripper to the part's position and performs the picking operation;
- Robot moves to the UF located on the center of the fixed camera to get the Tool offset, which should be very small (which is for R and Y but not for X).
Applications Details:
- All UF were created using AGFS. The UF where the part is located has a scale of 0.04mm/pix with a mean error of 2.1pixel and max 5.58 pixel;
- The TCP was set using a CAD model and then manually fine-tuned to minimize W and P deviations due to the physical assembly of the gripper;
- The Vision Data was created using a 2-plane calibration, with a scale 0.045mm/pix, mean error of 0.258 pixel and a maximum of 0.872 pixel. The standoff distance is 120.7mm.
- The vision job was made using Window Shift with GPM and then Combination Locator with a set of Position Calculations to precisely locate the part geometric center.
- The part Z height is set on both the picking UF and also for the Tool Offset.
- The part's weight is negligible, very light.
- The robot looks pretty much aligned and has not been into serious crashes. I ran Vision Master Calibration last year and it did make a difference on the results.
The Pick Operation:
I basically use 3 PRs to perform the picking operation. I store the Found Position coordinates in PR[99]; I have a PR[3] set to 0,0,0,180,0,0 NUT 000 and another one just for the height offset approach which is PR[5] set to 0,0,-50,0,0,0 NUT 000.
I perform a J PR[3] FINE + Offset PR[99] + Tool Offset PR[5]
Followed by a L PR[3] FINE + Offset PR[99].
Once I am in position I wait 500ms and turn the vacuum on, wait 1 second and then I do:
L PR[3] FINE + Offset PR[99] + Tool Offset PR[5]
Then I move to the fixed camera and run the Tool Offset job.
The idea behind the application is that I locate the part's feature, and move the TCP to that coordinate so I can pick it up. Then once the part is picked I move the robot to the fixed camera UF which is centered with the fixed camera. At that stage, the Robot's TCP, the part's feature and the fixed camera UF are all aligned, with minimal error, which matter of fact is for Y and R ( between 60 to 110 microns offset for Y), but for some reason that I can't figure it out the X is way much higher, ranging between 550~600 microns and it is quite consistent, so it is not some pickup error due to the part jumping on the gripper or something (which it isn't ).
Anyways, if anyone has ever dealt with this kind of problem, please help me out here.
Thank you!