sutty Posted July 6, 2020 Share Posted July 6, 2020 Hi! To increase the volumetric performance of a CMM, geometric error compensation, also known as computer-aided accuracy, is indispensable. I split these errors I need to compensate into 2 leagues: position-dependent and position-independent errors. Position-dependent errors can once more be split into 3 translation and 3 angle errors per axis. In sum 18 error-parameters for all 3 axis. Position-independent errors are the 3 squareness-errors between the 3 axis. (Besides, thermal errors are to be counted to the positioning-errors (as part of the translation errors)) Once those 21 error-parameters are known (eg through measuring with laser interferometers) there are several ways for getting PPMAC doing the job: + axis transformation matrices + kinematic subroutines + axis definition statements + 3D compensation table However, for the matter of computational load I did simplified testings with 3D-compensation table (3rd order interpolation). On a CK3E-CPU with Phase/Servo/RTI of 32/16/4 kHz, one table put another 2 to 3% load onto the foreground CPU (I tested up to 8 tables leading to +20%) This result made me wonder, if it would make sense to use other features of PPMAC than a 3D-compensation-table, with the goal getting the 21-error-parameters into PPMAC with the least necessary amount of CPU-load. Questions: Does anybody have experiences concerning this issue, how did you solve it?! Which of the above features consumes how much of the CPU-power (rule of thumb)? Are there any other features not listed here which could be used? Does somebody have a list of hints to save cpu-power (besides 32/16/4 kHz loop freq, I know)? 3-D compensation tables are calculated with servo-update-rate (0.0625ms), Segmentation (10ms) time would be enough - but how to get there? General question: Which strategy to follow: Should I rather do the compensation in the forward path (between trajectory calculation until servo-loop), than in the backward path (compensating actual positions)?! Don't hesitate for any idea! Thanks! Link to comment Share on other sites More sharing options...
curtwilson Posted July 6, 2020 Share Posted July 6, 2020 I think that position compensation tables will be the most computationally efficient method for most of these corrections. Since you are pushed for time, I would use first-order interpolation rather than third-order. (It only averages 8 points instead of 64.) Since you are correcting for measurement errors, I would put the correction in the measured feedback path. That way your corrections do not affect the feedforward. For the squareness errors, I would use the axis definition statements for efficiency. For tips on running a fast application, find the app note "Optimizing High Block Rate Applications..." in the File Depot here. (You say it is a CK3E CPU. Are you sure you don't mean CK3M?) Link to comment Share on other sites More sharing options...
sutty Posted July 6, 2020 Author Share Posted July 6, 2020 Thank you, Curt! (You say it is a CK3E CPU. Are you sure you don't mean CK3M?) Well, more precisely it is a Power UMAC with a ACC24E3 Link to comment Share on other sites More sharing options...
Sangmo Posted July 7, 2020 Share Posted July 7, 2020 Thank you, Curt! (You say it is a CK3E CPU. Are you sure you don't mean CK3M?) Well, more precisely it is a Power UMAC with a ACC24E3 Typically, compensation for CMM is done on a computer. Compensation in PMAC is used to compensate for motion, but CMM does not require a high absolute motion accuracy. CMM requires only a high measurement accuracy. Therefore, the position of the motor encoder is taken back to be calculated to calculate the exact trigger position of the probe Link to comment Share on other sites More sharing options...
sutty Posted July 7, 2020 Author Share Posted July 7, 2020 Typically, compensation for CMM is done on a computer. Compensation in PMAC is used to compensate for motion, but CMM does not require a high absolute motion accuracy. CMM requires only a high measurement accuracy. Therefore, the position of the motor encoder is taken back to be calculated to calculate the exact trigger position of the probe Thanks for your feedback. And yes, I agree for trigger-probing, where the compensation can be done on the measured points (on the host-pc). But the new 3D-Compensation on PPMAC allows compensating the whole trajectory, which is good for scanning-probes. Link to comment Share on other sites More sharing options...
Recommended Posts