Hello
This will be kind of a long post, but I hope that people will read it anyway
We are currently working on a project where a Kuka KR30-HA (KRC2 robot from 2009) robot has to pick up a part that is lying on a flat table. The part was dropped on the table, so the orientation and position is random. The part is located using a camera that is mounted above the table. The camera and the robot have been co-calibrated.
We have had some problems achieving the desired precision - the part is not gripped in the exactly the same way every time. The error is up to 5 mm in some cases. It turns out that a part of the problem is the TCP-calibration of the robot. We have performed a 4-point TCP-calibration of the robot. Even though the calibration procedure reports a calibration error of less than 1 mm, the actual calibration error is much bigger. FYI: The TCP is about 600 from the flange of the robot, with X and Y offsets close to 0.
We test the validity of the TCP-calibration in the following way: We jog the robot until the TCP-pointer is vertical, and is pointing down to a well-defined point. Then we change the A-angle by 180 degrees. When we do this, the TCP-pointer drifts 3-4 mm away from the starting point. This means that the TCP offset found by the 4-point calibration procedure is wrong by at least 1.5 to 2 mm. Furthermore, if we place the robot in a pose where the TCP pointer is horizontal, and then change the B or C angle by 180 degrees, then the TCP pointer drifts 5 mm or more.
To some degree, we can compensate for the poor 4-point calibration: We perform the tests repeatedly, and after each iterator we manually adjust the TCP offset a little until the TCP is almost stationary during the tests. We can remove most of the error in this way, but there is still some error left, that we cannot get rid of by adjusting the TCP offset. For example: If we rotate the tool around the Y-axis of the tool, then the TCP pointer also drifts ALONG the Y-axis. This cannot be due to a poor TCP-calibration, but must be because of errors in the internal calibration of the robot.
So I have the following questions:
1) Is it possible that it would help to perform a new mastering of the robot, even though the robot has not lost its mastering? Would this ever make a difference?
2) Does any of you have experiences with better ways of performing a TCP calibration than the built in 4-point calibration? We are not impressed by the results we get from the built-in algorithm.
3) What is the absolute accurracy of a Kuka KR30? The documents from Kuka talk about repeatability - but that is not what we are interested in. We want to know how big a deviation we should expect when we move towards the same point from different directions. Also, how big an error can we expect, when we tell the robot to move 1 meter. Does it move exactly 1 meter, or is it 1 meter and 3 mm? ABB have an Absolute Accuracy option http://search.abb.com/library/Downlo…&Action=Launch.
They claim that the robots with this option have a accuracy of down to 0.5 mm. What are the same numbers for a Kuka?
Please let me know if you have answers to my questions, or if you have any experiences related to the precision of Kuka robots.
Thanks in advance!
/RoboticsMan