Hello fellow colleagues!
I have a Granite block with certified flatness of less than 2 microns (<0.002mm) and a pointer attached to a Force/Torque sensor installed in the Robot's EoA. The force sensor is connected to a PLC that sends a digital signal to the robot whenever the force reading on Z axis reaches a threshold.
I have setup a UF on top of that granite block using AGFS and then I made a program where the robot moves along Y axis in increments of 1mm then "attacks" the block with tool offset and high speed skip condition until it gets the signal from the PLC. Once it gets the signal it retracts to the clearance height and moves to the next position to repeat the steps. The attack motion is Linear and the speed is 1mm/s with 10% override, so, very slowly, to minimize both strain on the force sensor and joints and also to get a more accurate position recording.
So I did this on a straight line in Y, over 17mm and 13 times in a row, collected all the PR's containing the positions registered with the high-speed skip condition and plotted Z vs Y. I was expecting an almost flat line (+/- 30 microns between the points) with a very small slope, that would indicate the angle mismatch between the granite block and the taught UF, but to my surprise, the variation between heights can sometimes reach 150+microns! The graph varies almost like a senoidal shape with peaks and valleys occurring right next to each other.
Since I went over the same points 13 times I could notice that the height at the same spot would vary about 30 microns (which is the rated repeatability of the CRX-5). So seems like the robot is precise, but not accurate.
The grouped dots in the red box show us the robot repeatability, varying about 30 microns at the same spot. The height difference between the points shows us the accuracy, which in this case is about 160 microns.
Have you guys dealt with this kind of situation before?
Thanks once again for helping out!