OMRON Forums

# Geometric/Volumetric error compensation of a CMM - optimizing CPU computational load

## Recommended Posts

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!

• Replies 4
• Created

#### Popular Days

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?)

##### Share on other sites

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

##### Share on other sites

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

##### Share on other sites

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

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.