3D Position Machine Calibration Reference Example

Publish Date: May 06, 2010 | 5 Ratings | 3.00 out of 5 | Print | Submit your review


This example shows how to use a weighting function to estimate error offsets at any 3D point based off of previously set calibration points.

For 3D calibration to work there must be at least 3 calibration points, but generally speaking, the more calibration points the better – though computation cost increases with each added calibration point and creating quality calibration points can be very time consuming and require expensive measurement equipment. Typically calibration points should be made in the areas where accuracy is most desired. For example, with a pick and place machine, a number of calibration points should be recorded at normal pick and place areas – not necessarily in between.

The main VI in this example, “3D Point Calibration.vi”, contains the calculations for calibrating a point based on an array of calibration data (see figure 1).

Figure 1. 3D Point Calibration.vi – calculates a calibrated position for a given point using a weighting function and an array of calibration data.


The array control “Calibration Data” contains the pre-determined calibration points. These are generated by moving the machine to a specific location (“Machine Position”) and then measuring that position with a more accurate source to obtain the “True Position”.

An example of generating calibration data: the machine desired to be calibrated is moved to a X,Y,Z position of 10”,10”,0”. These values are recorded as “Machine Positon”. A dial gauge is used to measure the machine position from a known point and it is determined that the machine is actually at 10.05”, 9.99”, 0.02”. These values are recorded as “True Position”. This creates 1 element in the array of Calibration Data (see figure 2).

Figure 2. Example of generating Calibration Data


“Generate Calibration Points Example.vi” is a higher level utility framework that shows how an automated system of generating calibration points can be constructed. This VI requires customization to work in a desired application (see Figure 3).

Figure 3. Utility framework for automating generation of calibration points; “Generate Calibration Points Example.vi”

Figure 4. “3D Calibration Test.vi” - a utility to help visualize how calibration data is applied throughout a 2D area.


Relevant equations:

The weighting function is a derivative of Shepard’s method:

Where “hi” is the distance from each calibration point to the desired 3D point, “R” is the distance from the desired point to the most distant calibration point, and “n” is the number of calibration points.

The equation for “hi” is the simple magnitude of distance between points:

Where (x,y,z) are is the desired point and (xi,yi,zi) is each calibration point.

Back to Top

Bookmark & Share






Rate this document

Answered Your Question?
Yes No