Machines, Modeling, and Measurement

or ...Dimensional Measurement and Mathematical Error
Modeling for Machine Tools...

Copyright 1998-2004 Jimmie A. Miller

- Machine Tool Purpose And Limitation
- Machine Carriages And Positioning Errors
- Machine Range and Resolution
- Relating Carriage Positions (via coordinate systems)
- Assigning Coordinate Systems: Simple techniques
- Modeling A Machine Using Coordinate Systems
- Measuring With Respect To Coordinate Systems
- Thermal Considerations

MACHINE TOOL PURPOSE
AND LIMITATIONS

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.

MACHINE CARRIAGES AND ASSOCIATED 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 (x

_{Rmin}, y_{Rmin}, z_{Rmin}, ...) to (x_{Rmax}, y_{Rmax}, z_{Rmax}, ...) 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 (x

_{res}, y_{res}, z_{res}, ...)

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 (x_{MC},
y_{MC}, z_{MC}, ...)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.

- See also advanced tutorial:

REFERENCE COORDINATE SYSTEMS AND TRANSFORMATIONS

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.

- Home the machine.
- Determine machine working range.
- Choose measurement zone.
- Describe the error coordinate system.
- Describe the tool coordinate system.
- Describe the carriage coordinate systems.
- Describe the frame coordinate system

Home the machine: The purpose of this step is to return the machine to a known nominal state. Once a machine is in a known state, it is possible to define reference coordinate systems for each stage that can later be related to a specific machine state. Homing is usually accomplished through a procedure found in the operators manual. If there is no such procedure, develop your own standard procedure for linking a given encoder reading to a particular position of the machine carriage. This may be accomplished by touching a specific tool, the tool holder, or probe to a particular place (datum) on the table.

Determine machine range:
Determine and record the practical working range
of the machine for each carriage or stage under evaluation including the nominal positions
of any axes that will not be moved during the test. The purpose for this is to facilitate
determining a zone for which the errors of the machine can be ascertained. Record the
machine range descriptors as (x_{Rmin},
y_{Rmin}, z_{Rmin}, ...) to (x_{Rmax}, y_{Rmax}, z_{Rmax},
...). See machine range section of this document for more
detail. The operators manual usually will give nominal values for the working range of the
machine.

Choose measurement zone:
Ideally, you would like to measure over the whole machine range; however, measurement
capabilities, instrument sizes, and setups being used may limit the placement of carriages
to a range which can be practically measured. This range is known as the **measurement
zone** (MZ) or volume and sometimes as the **correction zone** or volume, if the
measurement is part of a machine correction process. This zone can be defined by the
descriptors

(x_{MZmin}, y_{MZmin}, z_{MZmin}, ...) to (x_{MZmax}, y_{MZmax},
z_{MZmax}, ...) or

(x, y, z)_{MZmin} to(x, y, z)_{MZmax}, where the x, y, and z components
are machine coordinates which
establish the range of measurement positioning for each carriage.

This zone should be large enough to perform all desired operations on the part being
manufactured or tested, particularly if machine correction is to be performed. If it is
unknown what the machine will be manufacturing, use the largest zone that is possible. The
machine zero positions may or may not be
inside the measurement zone.

Describe the error coordinate system (csE) - The csE is a well defined reference coordinate system which is rigidly associated with the carriage that will hold the workpiece (table or spindle). This allows a reference for the actual position of the tool holder via a tool coordinate system described later. The csE is also used to describe the location of any metrology instrument component that is attached to the related carriage. The nomenclature "error" is used because the positioning error between the nominal machine coordinates and actual tool position in the csE of the model can be measured and reported. Define the csE origin and each of the csE axes (see example). Alternative names used by others include table, part, workpiece, global and machine coordinate system. See note in section on relating carriage positions.

Example description of csE: The **origin** of
the csE is the point where the spindle axis
intersects the table plane when the nominal state of the machine components is
at the machine zero. The **x-axis** of
the csE goes through the csE origin and through the point determined by the intersection
of the spindle axis with the table plane when the nominal machine state has been moved to
have an x-coordinate of 600 mm (alternatively: corresponding to 80% of its x-axis range)
while keeping other nominal state
descriptors constant. The **y-axis** of the csE is the line which lies in the table
plane, intersects the csE origin, and is perpendicular to the x-axis of the csE. The **z-axis**
of the csE is the line which intersects the csE origin and is perpendicular to both the x
and y axes of the csE.

Coordinate systems should normally constructed according to the right-hand rule.

Describe the tool coordinate system(csT) - The csT is a reference coordinate system that provides a means to reference the tool (and tool tip) to its associated machine carriage and ultimately to the frame, table, and associated workpiece. The csT also provides a means for describing the location of any metrology component attached in place of the tool during dimensional metrology. The csT is rigidly associated with the carriage that supports the tool holder. The origin may be at the gage line - spindle axis intersection. The orientation of the axes should align with the respective axes of the csE at a specified location, usually taken at the nominal machine coordinates which are used to define the origin of the csE. The position of the origin of the csT with reference to the csE should be measured for modeling at the nominal machine coordinates which define the initial state. In general, csT origin measurements within a millimeter in the csE should provide the necessary corrections to determine the deviation in position from the nominal coordinates. However, measurements may need to be more rigorous once a workpiece is introduced into the model.

Describe the carriage coordinate systems - In order to model the position and/or path of the tool in the csE, it is necessary to define coordinate systems that are rigidly associated with each machine carriage. This is greatly simplified if we choose all of these coordinate systems to coincide with either the csE or csT when the machine is positioned to the nominal machine coordinates which are used to define the csE origin. For a linear three axis machine tool, there would be three carriage coordinate systems: the csX, csY and csZ. Generally, all carriage CS's on the tool side of the structural loop (from the frame) would initially align or even overlap with the csT and all the CS's on the table side of the structural loop would align with the csE when the machine nominal coordinates are at the position which defines the csE origin. So, if the X carriage supports the table, csX and csE can be continually identical and if the Z carriage supports the spindle then csZ and csT can be identical.

Describe the Frame Coordinate System (csF) -The csF is rigidly associated with the frame of the machine. If possible, the csF should be chosen to be aligned with the csE when the machine nominal coordinates are set to the position which defines the csE origin. This alignment greatly simplifies the modeling.

MODELING A MACHINE USING COORDINATE SYSTEMS

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 (t

_{A}), 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 t_{A}into t_{E }(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:

REFERENCE COORDINATE SYSTEMS AND TRANSFORMATIONS .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 t

_{A}.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 (

at_{A}), the position of the origin of A in F as a function of A's position ( vectorfa_{F}), the origin of F in B as a function of B's position (bf_{B}), along with the corresponding orientations, we havebt_{B}=bf_{B}+fa_{F}+at_{A}. 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 vectorbt_{B}, the position of the tip represented in coordinate system B. This is illustrated below.R

_{FB}is the rotation matrix that mathematically transforms the csF representation of a given vector into its csB representation.T_{fB}=bf_{B}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}=H_{FB}·H_{AF}[ t_{A}] or t_{B}=_{FB}H·_{AF}H·[ t_{A}] (HTM model). H_{AF}is an HTM operator that transforms a point's positional coordinate representation from the csA (t in csA here) to the csF. H_{AF}can also be denoted by other methods such as_{AF}H or_{A}H_{F}.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:

R

_{BF}^{-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 R_{FB}^{-1}R_{FB}is an identity matrix. T_{aF}(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}=H_{BF}^{-1}·H_{AF}[ t_{A}] (HTM model). H_{BF}^{-1}is the inverse of the matrix operator that transforms a point's positional coordinate representation from the csB to the csF.

MEASURING WITH RESPECT TO COORDINATE SYSTEMS.

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 systemthe parameters of the model are using as areference. 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 measurementarises 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 20

^{o}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.