Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

RoboDK Calibration Unimproved Result

#1
We are running / have ran numerous iterations of the RoboDK Calibration through the process as normal for Fanuc R2000iC 210-L.

Base Frame Generation, Tool Frame Generation, and Calibration with 60-120 Generated poses. 
We are using a LEICA laser tracker. Process appears to complete normally, and the report generated demonstrates a reduced error with a max usually around .5~.7 mil with an average of .15~.25 mil. 

Upon generating the Calibrated DH Parameters and applying them in RoboDK, we are running a Linear Path (Linear Move to Start, 1 Linear Move from Edge to Edge) from the edges of robot reach at a constant EOAT orientation constantly capturing the position of the SMR ball every 75 ms. We find the line of best fit and then find the points relative to that line as errors.  For comparison, we then run that same path with use accurate kinematics disabled. 

The error plots for the calibrated and uncalibrated models are not fundamentally different.
Additionally, we are wondering what may cause the uncalibrated models to be different as the variance of .4 mil max error versus .7 max error across 2 uncalibrated cells running an identical/nearly identical line seems surprising.



Attached Files Thumbnail(s)
Screenshot 2025-10-14 132216.png    Screenshot 2025-10-14 132601.png   

.pdf   Robot calibration.pdf (Size: 33.18 KB / Downloads: 16)
#2
I noticed you sent an email about this request. I got back to you yesterday.

To properly take advantage of the calibrated kinematics and obtain the best accuracy with your robot programs, it is important to follow these guidelines:
  1. Use linear movements to Cartesian targets only for best accuracy.
  2. Generate program files directly from the calibration project: you can right click a robot and check/uncheck the option Use Accurate Kinematics
  3. The nominal values of your DH table should remain untouched. And the Accurate DH values should be left with the values is found by the calibration. You don't need to change any values here.
Did you use the default settings of RoboDK?
You can configure automatic splitting for long linear movements here:
  1. Tools-Options-Accuracy
  2. Set the split generated programs for filtering to 5 mm for good results.
When you generate a linear movement, you should see linear movements split into smaller movements like these:
Code:
  22:J P[1] 20% CNT1 ;
  23:L P[2] 1000mm/sec CNT1 ;
  24:  ! Splitting Linear movement in 94 (instruction 9: MoveL 4) ;
  25:L P[3] 50mm/sec CNT1 ;
  26:L P[4] 50mm/sec CNT1 ;
  27:L P[5] 50mm/sec CNT1 ;
Could you retry with these indications? If you can also send the LS programs you tried it can help us make sure you are doing the tests in the right direction.
#3
We will retry with your advice and updated settings. We have seen what we believe to be improved performance after modifying our calibration validation tests, indicating RoboDK Calibration is producing an optimized result for our robot and we suspect it had likely been producing correct results for each calibration all along. Most probably it had just been an error with our validation testing.

Thank you RoboDK and specifically you Albert for so much assistance and helping us verify that the RoboDK calibration was working as intended to reduce robot kinematic error.
#4
I'm happy to hear you were able to run successful accuracy validation tests after calibrating your robot.

Let us know if you need more help, our team at RoboDK and I will be happy to help.
  




Users browsing this thread:
1 Guest(s)