If I run a calibration, then master my arm, then finish by inputting the link lengths into the machine.dat of the kuka controller - can I then update the link lengths in RoboDK, and re-run the calibration and get a tighter result?
I calibrated and then remastered and got a worse calibration result (2mm max versus 0.3 originally). Wondering if I can rewind and follow the method above, or something similar.
You should not run the mastering procedure after calibrating your robot. This will make accuracy worse because the calibrated parameters are optimized for the robot arm as it is without any modifications. When you calibrate the robot with RoboDK you'll obtain an optimal set of parameters for the current state of the robot.
One option if you want to improve the accuracy before calibration and after calibration is to calibrate the robot first with only the mastering parameters (4 values), reset your joint zeros for joints 2 to 5 (so you'll be changing the nominal accuracy), and then calibrate the robot again using all parameters.
Something else with this that I don't understand.
I ran through this, and the laser would point exactly to where the SMR ended up each pose. So I expected the calibration to be like zero mm error, but the calibrated result was 94mm error.
I restarted with a new cell again and did just the mastering. The laser would be pointing 5-10mm from the SMR in each pose, but when it finished it claimed a 0.7mm max error. Then I remastered, and re-ran the calibration with the complete calibration enabled. The laser was still 5-10mm from the SMR in each pose, but the calibrated result is 0.2mm error.
So the method definitely works, it's just opposite from what I'd expect!
Thank you for your feedback. I'm happy to hear you were able to make it work and you are satisfied.
When you say you got a worse result, do you mean after you try to run a new calibration from scratch? I don't understand where the 94 mm error comes from...
Running the whole calibration once only should be enough if your robot was mastered using the standard procedure. You can get an idea of the impact of calibrating only with the mastering parameters. However, if nominal accuracy is 2-5 mm I don't think that redoing your mastering and recalibrating again will give you better accuracy with the calibrated model. On the other hand, if you run the calibration and you see that nominal errors are around 20 mm, you can apply this procedure (reset your mastering first and then recalibrate).
Please note the mastering program from RoboDK does not reset the mastering for joints 1 and joint 6. You need reference points for these to work. However, mastering joints 1 and 6 is not so important because these parameters are redundant with defining the robot TCP and your reference frame.