Dear,
We’ve done a test:
- Move robot to position 1, by setting motor joint values
- Move to a 2nd position, again, by setting motor joint values
- Move back to position 1
- Move to a 3rd location
- Move back to location 1
When the robot arrives at its position, we record approx 60 - 90 motor joint values and average them. We then compare the forward kinematic solution for X,Y,Z position of the robot tool flange. At each stage, we compare position 1 to see differences (a position repeatabilty test). This is what we found:
X position, the same within 0.1mm (what we expect from UR specifications)
Y position, identical in all cases
Z off by 10mm!!!
For Z, we get either the correct location or are 10mm above the location. To rule out mistakes, we’ve attached a laser distance meter to the tool head. It also records a 10mm difference.
After inspection, it’s always motors elbow and wrist 1 that are off. The position is -90 deg, -90deg, -90deg, -90deg, +90deg, 0deg. (we work in radians, though).
In the error case, the expected value is -1.5709… radians, but we get -1.5532… for the elbow and -1.5883… for wrist 1.
Go figure…
We use a UR10 CB3, script version V3.70. the robot is programmed to have a load of 6kg with an offset in bot Z and Y. Speed to move to the locations is 250mm/s and acceleration is 1.25m/s^2.
We send the desired motor joint values via TCP/IP in UR Script. Actual joint values are also read back via UR script. The test is run multiple times, the Z error comes in a seemingly random manner, e.g. sometimes not at all, sometimes 3x in a row and anything in between.
Any help appreciated!
Regards,
Max