Machines, Modeling, and Measurement
...Dimensional Measurement and Mathematical Error Modeling for Machine Tools... 

Copyright 1998-2004 Jimmie A. Miller


The purpose of a machine tool is to move a tool (or workpiece) along a specified path relative to a workpiece (or tool) in order to perform a tool-related manufacturing process such as material removal. However, due to machine controller dynamics, machine component errors, process effects, and ambient effects, the tool deviates from the prescribed path. These deviations result in manufacturing errors in the associated workpiece, which may cause the part to be out-of-tolerance. Performing adequate dimensional metrology on the machine can give an estimate of the positioning and spindle errors that can be attributed to and consistently expected from the machine. Proper machine tool metrology can be used as a the foundation of a model  for correcting a machine for deterministic positioning errors.


The carriages or stages of a machine tool are components which provide movement between a probe or tool and a workpiece. The carriages are generally constrained by guideways which limit motion in any direction other than a specific linear or angular path of travel. The location along the remaining 'free' path is then constrained by an actuator, often a motor-driven ballscrew/nut combination which positions the carriage to a given encoder determined location. However, the motion of the carriages are not ideal. Indeed, as a carriage is moved, there are undesirable accompanying rotational errors and  translation errors (such as straightness errors) due to manufacturing imperfections of the stages (ways) and the encoder's scales.

Consider two rectilinear coordinate systems, attached to a linear carriage and frame respectively. As the carriage is moved, these two systems can rotate, by small angles, with respect to each other in three dimensions. Additionally, the origins of the systems can be displaced by small amounts with respect to one another in the two dimensions perpendicular to the ideal carriage path. These two small linear displacement errors are due to the guideway imperfections. Additionally, a third small displacement error along the ideal path is due to manufacturing errors, and thermal expansion of the scale and other machine components, such as the ballscrew. So, for each single carriage, we have error motions in six degrees of freedom, three rotational and three linear. With multiple stages, there are squareness errors associated with the mechanical alignment of the stages with respect to each other.

Ideally, we would like to describe the  workpiece mounting surface (such as a carriage's table) in terms of the coordinate system associated with the support. However, if the table or other mounting structure is not a rigid body and capable of deforming during positioning over the carriage's working range, then that deformation must be modeled and taken into account when describing the surface or workpiece in its associated coordinate system. It may be practically impossible to provide such a model if the table or carriage's deformation characteristics change with workpiece weight and location. In order to get an estimate of the rigidity of the table, a table bending check measurement is often performed before other associated metrology.


The displacement volume over which a machine is capable of positioning and using a tool or probe is known as its working range. The total working range of a machine is usually constrained by software (softstops) and/or electronic limit switches for each carriage. The range can be determined from specifications in the operators manual or by moving the carriages to their software or hardware limits of their range of travel and noting the reported machine coordinates. The actual working range may be smaller than the specifications due to machine add-ons such as a supertable. Be aware that the range for a given carriage may be a function of the position of another carriage. This is particularly true for machines with tables that are parallel to the spindle or probe axis such as a horizontal machining center. The actual range of a given carriage may also be greater than the working range since a carriage may allow motion to accommodate a tool changer. The range can be reported using two or more descriptors such as (xRmin, yRmin, zRmin, ...) to (xRmax, yRmax, zRmax, ...) which include the numerical maximum and minimum  machine coordinates   after homing. Be sure that the units are included (mm, inch, degrees...) All stages (linear, rotary, etc.) should be included. There could conceivably be multiple stages for a given direction. Each should be distinctly differentiated and described. If there are no mechanical or electronic constraints, choose a safe operating range that poses no operator or machine hazard.

The nominal resolution is the smallest increment that you can set the machine stages' positions via the controller. This may not be realizable in practice due to the encoder or machine limitations. The actual resolution can be determined by commanding the machine to make multiple nominal resolution displacement steps and measure the displacement steps that the machine actually makes. The actual resolution will affect the degree to which your machine can be corrected for errors.

The resolutions may be stored as a descriptor (xres, yres, zres, ...)

RELATING CARRIAGE POSITIONS (via reference coordinate systems) 

In order to characterize how each of the machine components are actually positioned relative to one another, reference coordinate systems (usually rectilinear) must be assigned and defined for each movable component of the machine along with the machine's frame (bed or base). Additional assignments of coordinate systems must be defined for virtual position offsets created by computer controllers. These additional systems are often referred to as a part, workpiece, local, etc coordinate systems and are usually rigidly fixed within another coordinate system. Once the reference systems have been defined, the nominal position of the carriages with respect to one another can be specified. After the reference coordinate systems have been defined, a model can be developed and the machine's errors can be determined via proper metrology  to give the positioning errors over the working volume as a function of nominal positional state descriptor.

Note: The nominal positional state descriptor consisting of machine coordinates (xMC, yMC, zMC, ...)or (x,y,z)MC, often referred to as  World Coordinates, is not a 'true' reference coordinate system since there are no points specified on any objects which provide an absolute reference for measurement. Indeed, we are hard pressed to describe the actual dimensional position of anything with these coordinates without further information. However, once a reference system has been established, they are useful for nominal relative positioning between carriages and ways, and thus, tool and workpiece.


Although the task may seem ominous, assigning coordinate systems for each movable machine component can be simplified by observing a few procedural techniques. The techniques are listed below with a fuller explanation given in the sections which follow.


Once the coordinate systems (CS) have been defined with respect to the  machine carriages etc., modeling and subsequent metrology can be used to find the position of the tool within the defined error coordinate system (csE) or work coordinate system (csW). Modeling is performed by mathematically switching the reference coordinate systems in which the location of a point is known. This reference system switching is called a transformation or basis change.  That is, if we have a machine that has a tool on carriage A (having  a CS designated A, csA, or ACS) that rests on carriage B ( with csB) that rests on the frame (with csF) on which is another carriage C (with csC) that has a table (with csE). If we determine (by proper metrology) the location of the tool tip (point t),  in csA (tA), the origin location and orientation of csA in csB, the origin location and orientation of csB in csF, and the origin location and orientation of csC=csE in csF, then mathematically we can transform tA into tE (tip location in csE) by the use of translation vectors and rotation matrices or by homogeneous transformation matrices matrices. For a detail of these matrices, see the tutorial:

As an example, let us consider a two carriage machine.(Carriage A and Carriage B) with the two carriages  separated by the frame. There is a tool on carriage A and we want to know its position in B.  The first step is to define and assign coordinate systems A having origin a, B having origin b, and F having origin f,  on the A carriage, B carriage and frame, respectively . The position coordinates of the tool tip, t,  in A is tA.

The transformation equation is developed according to the way that the metrology can be performed.

CASE 1. If we can measure the position vector of t in A (atA), the position of the origin of A in F as a function of A's position ( vector faF), the origin of F in B as a function of B's position (bfB), along with the corresponding orientations, we have btB= bfB + faF + atA. But since each of the vectors is represented in different reference systems (B ,F, and A), the equation is not conveniently solvable. The object then is to subsequently transform the vectors from one coordinate system into another, while adding vectors represented in the same reference system until we get the vector btB , the position of the tip represented in coordinate system B.  This is illustrated below.

RFB is the rotation matrix that mathematically transforms the csF representation of a given vector into its csB representation. TfB = bfB is the translation vector representation of the position of f (the origin of  csF) in the csB.

Using homogeneous tranformation matirices (operators), HTM's, this can be represented as [t]B=HFBHAF[ tA] or tB=FBHAFH[ tA] (HTM model). HAF is an HTM operator that transforms a point's positional coordinate representation from the csA (t in csA here) to the csF.  HAF can also be denoted by other methods such as AFH or AHF.

Case 2. Suppose that we cannot measure the position of f in the csB as before, but we can measure the position of b in the csF, then the development is as follows:
vectrans2.gif (7964 bytes)


RBF-1 is the mathematical inverse of the  rotation matrix that mathematically transforms the csB representation of a given vector into it's representation in the csF such that RFB-1RFB is an identity matrix. TaF (a translation vector) is the location of the  origin (a) of  csA in the csF. [t]A is the representation of the position of point t in the csA. [b]F is the representation of the position of point b in the csB. [a]F is the representation of the position of point a in the csF.

Using HTM operators, this can be represented as  [t]B=HBF-1HAF[ tA] (HTM model).  HBF-1 is the inverse of the matrix operator that transforms a point's  positional coordinate representation from the csB to the csF. 


Once coordinate systems have been associated with each of the carriages, and the model has been formed, we can begin the process of measuring the deviations of the carriages from their nominal positions and orientations  (geometric errors) as the carriages are moved.

When measurements are made,  the questions must be asked:
1. What am I measuring specifically?
2. With respect to what am I referencing my measurement?.
3. Will I be able to measure directly?.

These questions are answered according to the model that has been constructed. Specifically, we are measuring the relation (position of origin and angular orientation) of a coordinate system (CS) that moves with respect to another reference coordinate system (RCS). If the CS and RCS including origins have not been defined, meaningful  measurements can not be made for the model. 

It is very important to know which coordinate system the parameters of the model are using as a reference. if, for example,  the model is constructed in such a way that we need to know the errors from nominal placement that the coordinate system associated with the X carriage (csX) makes with respect to the Frame, then we have to measure in relation to the Frame's associated coordinate system (csF).  In this case, the reference is the csF. Along with the initial location of the csX origin in the csF, we will measure deviations from nominal displacement (linear displacement errors) of the csX origin in the csF. The nominal positions are determined by the machine coordinates. The angular errors from nominal must also be measured as a function of nominal position. With a linear axis the nominal orientation is usually one with aligned axes, but rotary stages have changing nominal angle positions from which the errors must be determined.  

The question of direct measurement arises from the problem of locating the measuring instrument's line of measurement directly through the origin of the measured coordinate system (csM) according to the Abbe Principle. The error in measurement resulting from the instrument not measuring through the origin is called Abbe error. For angular errors, the bending of the table as it moves may result in incorrect measurements (for the model) if the measuring instrument is not placed at the origin. Additionally, the table bending may make it undesirable to model the machine if it will cause substantial errors and should be checked beforehand. Problems associated with table bending can be greatly reduced by the use of a properly mounted supertable.    

In order to provide a model with sufficient information to predict machine behavior, many differing measurements with multiple data sets are necessary to determine the repeatability of the machine.

Note: Standards based performance evaluations are made by using a set procedure from an approved standard document, but these measurements are not readily incorporated into a model due to sign conventions for the errors and  unknown Abbe offsets (instruments are not located at origins) .


Mechanical systems respond to their thermal environments. If the ambient temperature increases, the components absorb heat and expand. When things expand, their dimensions change and therefore the system's geometric errors change. Of course, the workpiece also changes dimensions as its thermal state is varied. Because of these effects, the response of the machines are often characterized over an extended time period by their environmental temperature variation error (ETVE). ETVE can be reduced to a first order by air conditioning the area around the machine. However, the machine itself generates heat during operation so that the machine errrors will always change to some extent during operation.  By examining elements of the metrology loop, the effect of temperature on the location of the spindle relative to the table can be addressed.

The material of linear scales introduces a displacement related error according to it's thermal expansion coefficient and increases as the temperature of the scale deviates from 20o Celsius. If the coefficient and temperature of the scale are known, the controller may be capable of compensating the displacement through a linear model. The measured linear displacement errors of machine stages are typically corrected for thermal deviations of the associated scale.

The machine tool frame usually responds slowly to thermal environment changes. If significant time is spent machining a part, then the thermal expansion of the frame may cause direct positioning errors. Even while machining parts over durations which are short relative to the response of the frame, thermal warping of the frame can introduce squareness errors which result in dimensional errors of workpiece features. Correcting for the frame changes is difficult because a simple model is not available that adequately predicts the behavior of the system which includes thermal sources of the machine. Such a model would also require a host of sensors to provide appropriate thermal monitoring.

If rotary encoders are used with ballscrews to provide linear positioning, the temperature of the ballscrew becomes important. The ballscrew heats up because of friction and results in an expansion which depends on number of  times that a carriage is moved and the applied thrust forces. Since the ballscrew in this case is a part of the metrology loop, it has a direct effect on the workpiece/tool relative positioning. By monitoring the temperature of the ballnut, a first order linear approximation of the error can be determined. However, a first order correction is usually not a sufficient compensation because there is likely to be a temperature difference between the nut and screw accompanied by  thermal gradients in the ballscrew. 

The spindle and related motor, acting as an unpredictable heat source with it's on and off operation, introduces thermal energy into the frame causing the problems already mentioned. Specifically, as the spindle heats up it also expands driving the tool toward the table of a machine tool. This can alter the expected thickness of a part. Additionally, the heat will flow into nearby scales resulting in displacement errors.

The tool/workpiece interaction can also introduce heat. This heat mostly affects the tool and workpiece dimensions, but can be limited by coolant flowing across the contact area.