Patent Description:
The present disclosure relates to coordinate measuring machines and, more particularly, to coordinate measuring machines that measure surface finish.

Coordinate measuring machines (CMMs) are used for accurately measuring a wide variety of work pieces. For example, CMMs can measure critical dimensions of aircraft engine components, surgical tools, and gun barrels. Precise and accurate measurements help to ensure that their underlying systems, such as an aircraft in the case of aircraft components, operate as specified. Measurement of surface finish, on the other hand, has historically been beyond the ability of CMMs, and required specialized <CIT> discloses a component measurement system having wavelength filtering for generating deviation reports associated with form error, waviness, and surface roughness of the component.

In accordance with claim <NUM>, a method of assessing, with a coordinate measuring machine, a surface finish of a workpiece having an expected geometry, includes measuring, with a probe of a coordinate measuring machine, a plurality of points on a surface of the workpiece, the plurality of points characterized by a spatial spectrum. The probe is a tactile stylus, and the plurality of points are evenly-spaced points.

The method also includes retrieving or receiving, from a computer memory, a cutoff frequency. In some embodiments, the cutoff frequency is equal to or greater than the maximum spatial frequency of the expected geometry.

Moreover, in some embodiments, the expected geometry is characterized by a maximum expected geometry spatial frequency, and the workpiece also has a surface waviness characterized by a maximum waviness frequency. In such embodiments, the cutoff frequency is above the greater of the maximum expected geometry spatial frequency and the maximum waviness frequency.

In addition, the method includes characterizing the surface finish of the workpiece by removing, from the spatial spectrum, all frequencies below the cutoff frequency to produce a surface finish spectrum, and comparing the surface finish spectrum to a specification for the workpiece, to determine whether the surface finish is within a specified tolerance.

Moreover, some embodiments also include measuring dimensions of the workpiece with the probe, the probe being the same probe used to measure for surface roughness. Consequently, embodiments of the method do not require a specialized or different probe for measuring both surface roughness and other features of the workpiece, since a single probe can be used for both.

In another embodiment, a system according to claim <NUM> is provided.

Another embodiment includes a non-transient computer programmed product bearing non-transient executable computer code as defined in claim <NUM>.

Illustrative embodiments described below enable a coordinate measuring machine to measure the surface finish of a workpiece using the same measuring features used to measure the workpiece, without requiring a high-precision physical datum and probes of prior art surface finish measuring systems.

<FIG> shows one type of coordinate measurement machine <NUM> (hereinafter "CMM <NUM>") that may be configured in accordance with illustrative embodiments. As known by those in the art, the CMM <NUM>, which is supported on a floor <NUM> in this figure, measures an object or workpiece <NUM> on its bed/table/base (referred to as "base <NUM>"). Generally, the base <NUM> of the CMM <NUM> defines an X-Y plane <NUM> that typically is parallel to the plane of the floor <NUM>.

To measure an object within a measuring space <NUM> on its base <NUM>, the CMM <NUM> has movable features <NUM> arranged to move a measuring device <NUM>, such as a stylus <NUM> coupled with a movable arm <NUM>. Alternatively, some embodiments move the base <NUM> (e.g., or a portion of the base <NUM>, such as a moveable table <NUM>) with respect to a stationary measuring device <NUM>. Either way, the movable features <NUM> of the CMM <NUM> manipulate the relative positions of the measuring device <NUM> and the object with respect to one another to obtain the desired measurement. Accordingly, the CMM <NUM> can measure the location of a variety of features of the object or artifact.

Some embodiments of a CMM <NUM> include a control system <NUM> (or "controller" or "control logic") configured to control the CMM <NUM>, and process data acquired by the CMM. <FIG> schematically illustrates an embodiment of a control system <NUM> having several modules in electronic communication over a bus <NUM>.

In general, some or all of the modules may be implemented in one or more integrated circuits, such as an ASIC, a gate array, a microcontroller, or a custom circuit, and at least some of the modules may be implemented in non-transient computer-implemented code capable of being executed on a computer processor <NUM>.

Some embodiments include a computer processor <NUM>, which may be a microprocessor as available from Intel Corporation, or an implementation of a processor core, such as an ARM core, to name but a few examples. The computer processor <NUM> may have on-board, non-transient digital memory (e.g., RAM or ROM) for storing data and/or computer code, including non-transient instructions for implementing some or all of the control system operations and methods. Alternatively, or in addition, the computer processor <NUM> may be operably coupled to other non-transient digital memory, such as RAM or ROM, or a programmable non-transient memory circuit for storing such computer code and/or control data. Consequently, some or all of the functions of the controller <NUM> may be implemented in software configured to execute on the computer processor.

The control system <NUM> includes a communications interface <NUM> configured to communicate with other parts of the CMM <NUM>, or with external devices, such as computer <NUM> via link <NUM>. To that end, communications interface <NUM> may include various communications interfaces, such as an Ethernet connection, a USB port, or a Firewire port, to name but a few examples.

The control system <NUM> also includes a sensor input <NUM> operably coupled to one or more sensors, such as a measuring device <NUM>. The sensor input <NUM> is configured to receive electronic signals from sensors, and in some embodiments to digitize such signals, using a digital to analog ("D/A") converter. The sensor input <NUM> is coupled to other modules of the control system <NUM> to provide to such other modules the (digitized) signals received from sensors.

The motion controller <NUM> is configured to cause motion of one or more of the movable features of the CMM <NUM>. For example, under control of the computer processor <NUM>, the motion controller <NUM> may send electrical control signals to one or more motors within the CMM <NUM> to cause a movable features of the CMM <NUM> to move a measuring sensor <NUM> to various points within the measuring space <NUM> and take measurements of the workpiece <NUM> at such points. The motion controller <NUM> may control such motion in response to a measurement program stored in memory module <NUM>, or stored in computer <NUM>, or in response to manual control by an operator using manual controller <NUM>, to name but a few examples.

Measurements taken by the CMM <NUM> may be stored in a memory module <NUM>, which includes a non-transient memory. The memory module <NUM> is also configured to store, for example, a specification for a workpiece <NUM> to be measured; a specification for a calibration artifact; an error map; and non-transient instructions executable on the computer processor <NUM>, to name but a few examples. Such instructions may include, among other things, instructions for controlling the moveable features of the CMM <NUM> for measuring a workpiece <NUM> and/or a calibration artifact; instructions for analyzing measurement data; and instructions for correcting measurement data (e.g., with an error map).

The measurement analyzer <NUM> is configured to process measurement data received from one or more sensors, such as measuring sensor <NUM>. In some embodiments, the measurement analyzer <NUM> may revise the measurement data, for example by modifying the measurement data using an error map, and/or compare the measurement data to a specification, for example to assess deviation between a workpiece <NUM> and a specification for that workpiece <NUM>. To that end, the measurement analyzer <NUM> may be a programmed digital signal processor integrated circuit, as known in the art.

Alternatively, or in addition, some embodiments couple the CMM <NUM> with an external computer (or "host computer") <NUM>. In a manner similar to the control system <NUM>, the host computer <NUM> has a computer processor such as those described above, and non-transient computer memory in communication with the processor of the CMM <NUM>, and a display screen <NUM>. The non-transient memory is configured to hold non-transient computer instructions capable of being executed by the processor of the computer <NUM>, and/or to store non-transient data, such as data acquired as a result of the measurements of an object on the base <NUM>.

Among other things, the host computer <NUM> may be a desktop computer, a tower computer, or a laptop computer, such as those available from Dell Inc. , or even a tablet computer, such as the iPad™ available from Apple Inc. The host computer <NUM> may be coupled to the CMM <NUM> via a hardwired connection, such as an Ethernet cable <NUM>, or via a wireless link, such as a Bluetooth link or a Wi-Fi link. The host computer <NUM> may, for example, include software to control the CMM <NUM> during use or calibration, and/or may include software configured to process data acquired during operation of the CMM <NUM>. In addition, the host computer <NUM> may include a user interface configured to allow a user to manually operate the CMM <NUM>.

Because their relative positions are determined by the action of the movable features <NUM>, the CMM <NUM> may be considered as having knowledge of the relative locations of the base <NUM>, and the object <NUM>, with respect to its measuring device <NUM>. More particularly, the computer processor <NUM> and/or computer <NUM> control and store information about the motions of the movable features <NUM>. Alternately, or in addition, the movable features <NUM> of some embodiments include sensors that sense the locations of the table <NUM> and/or measuring device <NUM>, and report that data to the computers <NUM> or <NUM>. The information about the motion and positions of the table and/or measuring device <NUM> of the CMM <NUM> may be recorded in terms of a one-dimensional (e.g., X, Y, or Z), a two-dimensional (e.g., X-Y; X-Z; Y-Z) or three-dimensional (X-Y-Z) coordinate system referenced to a point on the CMM <NUM>.

Some CMMs also include a manual user interface <NUM>, such as that shown generically in <FIG> and as further schematically illustrated in <FIG>. As shown, the manual user interface <NUM> may have control buttons 125A and knobs 125B that allow a user to manually operate the CMM <NUM>. Among other things, the interface <NUM> may enable the user to change the position of the measuring device <NUM> or base <NUM> (e.g., with respect to one another) and to record data describing the position of the measuring device <NUM> or base <NUM>.

In a moving table CMM, for example, the measuring device <NUM> may also be movable via control buttons 125C. As such, the movable features <NUM> may respond to manual control, or be under control of the computer processor <NUM>, to move the base <NUM> and/or the measuring device <NUM> relative to one another. Accordingly, this arrangement permits the object being measured to be presented to the measuring device <NUM> from a variety of angles, and in a variety of positions.

Generally, an object <NUM> to be measured (e.g., a "workpiece") has a pre-defined, specified shape with pre-defined, specified dimensions (together, the object's "expected geometry"). In practice, however, a workpiece <NUM> typically varies from that ideal shape. For example, a manufacturing error may result in a misshapen workpiece <NUM> that fails to meet its specification.

For purposes of illustration, <FIG> schematically illustrates an embodiment of a workpiece <NUM> having a surface <NUM>. A portion <NUM> of the surface <NUM> of the workpiece <NUM> is schematically enlarged in <FIG>.

Variations in the manufacturing process may result in a deviation from the expected geometry, which may be known as surface waviness <NUM>. As an example, the dashed line in <FIG> represents the waviness <NUM> of the surface <NUM> of the workpiece <NUM>, and the solid line represents the specified surface <NUM> (part of the expected geometry). The jagged line <NUM> represents surface finish, as described further below.

The dashed line of <FIG> schematically illustrates the waviness <NUM> of the surface <NUM>, showing variations from the specified surface <NUM>. In some cases, waviness <NUM> causes the workpiece <NUM> to fail to meet its specification. In other cases, however, the workpiece <NUM> may still meet its specification even with some waviness.

Some workpieces also have a specified surface finish <NUM> (e.g., roughness or smoothness of the workpiece surface <NUM>), the features of which typically have smaller dimensions (e.g., height and width) than manufacturing variations and surface waviness. <FIG> schematically illustrates the surface finish <NUM> within area <NUM> of the workpiece <NUM>, and includes peaks <NUM> and valleys <NUM>. <FIG> schematically illustrates the surface finish <NUM> of the surface <NUM>, isolated from the surface <NUM> itself.

The surface finish <NUM> of a workpiece <NUM> may be a specified feature designed into the workpiece <NUM>. For example, if the workpiece <NUM> of <FIG> is a grinding wheel, then its specification will require a minimum and/or maximum roughness to the surface finish <NUM> on its surface <NUM>. Other workpieces may specify only a maximum surface finish <NUM>. For example, if the workpiece <NUM> is a ball bearing, its specification may require a relatively smooth surface finish.

The surface finish <NUM> of the surface <NUM> may be stochastic, but some workpieces also have a surface finish <NUM> that includes features that are periodic across positions in space, for example as in <FIG>. The inventors have realized that such a surface finish <NUM>, whether periodic or stochastic, may be characterized by its spatial frequency spectrum. For example, a spectrum of the frequency and amplitude of a stochastic surface is schematically illustrated in <FIG>, and may be described as having a spectrum <NUM> similar to that of noise.

<FIG> schematically illustrates a prior art system <NUM> for measuring surface finish of a workpiece <NUM>. The workpiece <NUM> of <FIG> is further schematically illustrated in <FIG>.

An example of a surface <NUM> is provided in <FIG>, in which surface <NUM> is periodic (in this example, sinusoidal), with amplitude A <NUM> shown in the Y-axis, and period P <NUM> indicated along its position along the X-axis. The height (H) of the surface <NUM> at a point (D) in along the distance may be described as follows:
<MAT>
where:.

If the amplitude (A) is <NUM>, and the period (P) is <NUM> centimeters, then the height (H) of the surface <NUM> at a point (D) in centimeters from the origin <NUM> may be described as follows:
<MAT>.

In this example, if D = <NUM> centimeters from the origin <NUM>, the height (H) of surface <NUM> is:
<MAT>.

Similarly, if D = <NUM> centimeters from the origin <NUM>, the height (H) of surface <NUM> is:
<MAT>.

Spatial frequency is a characteristic of a physical surface that is periodic across position in space. Spatial frequency is not a function of time. The surface <NUM> may be said to have a frequency of <NUM> cycles/centimeter.

The system <NUM> includes a datum <NUM> (which may be referred to as a "physical reference datum"), and a stylus <NUM> coupled to the datum <NUM>. The stylus <NUM> touches points on the surface <NUM> of the workpiece <NUM> to produce a set of surface measurements, relative to the datum <NUM>. In order to obtain measurements sufficient for assessing surface finish <NUM>, the datum <NUM> must be straight and rigid to a high degree of accuracy, and the stylus <NUM> must be able to move, relative to the datum <NUM>, with a high degree of precision. Due to the required high-precision, the measuring features of coordinate measuring machines have historically been unable to measure surface finish. Illustrative embodiments described herein enable assessment of the surface finish <NUM> of a workpiece by a CMM <NUM> without the high-precision datum <NUM>. Moreover, in view of the fact that illustrative embodiments do not require and do not have a datum, they enable assessment of the surface finish <NUM> of a workpiece by a CMM <NUM> without the previously-required ability to move a stylus <NUM> with the high degree of precision relative to such a datum <NUM>.

<FIG> schematically illustrates the spectrum <NUM> of surface <NUM>, which may be referred-to as the spatial spectrum of the surface <NUM>.

<FIG> schematically illustrates a surface <NUM> that is more complex than surface <NUM>, but which nevertheless can be approximated as a summation of periodic frequencies. Consequently, the surface <NUM> may be represented in part by the frequencies of its periodic components. In this example, <FIG> schematically illustrates the spatial spectrum <NUM> of the surface <NUM>, and shows that surface <NUM> has a low-frequency periodic component <NUM> at <NUM> cycle/centimeter, a smaller-amplitude mid-frequency component <NUM> at <NUM> cycles/centimeter, and high-frequency components <NUM> at <NUM> cycles/centimeter and <NUM> cycles/centimeter. In general, higher spatial frequencies (e.g., <NUM>) represent surface finish <NUM>, lower spatial frequencies (e.g., <NUM>) represent the expected geometry of the surface <NUM>, and intermediate frequencies (e.g., <NUM>) represent waviness <NUM>. In this example, the prefixes "low," "lower," "medium," "intermediate," "high" and "higher" are intended only to distinguish the components from one another.

In this example, the low-frequency component <NUM> (shown in <FIG>) is due to the curvature of surface <NUM>. If the low-frequency component <NUM> is the highest spatial frequency attributable to the expected geometry of the workpiece <NUM>, it may be referred to as the maximum spatial frequency of the expected geometry. It should be noted that some components of a surface <NUM> may be periodic (e.g., <NUM> and <NUM> in <FIG>) even though other components (e.g., <NUM> in <FIG>) may be stochastic.

Also in this example, the mid-frequency component <NUM> is due to the waviness <NUM> of the surface <NUM>. The high-frequency components <NUM> are due to the surface finish <NUM>. If the mid-frequency component <NUM> is the highest spatial frequency attributable to the waviness of the workpiece <NUM>, it may be referred to as the maximum waviness frequency of the expected geometry.

Although traditional coordinate measuring machines <NUM> are capable of detecting large features that cause a workpiece to fail to meet its specification, as well as waviness, they are not suited for (or capable of) measuring surface finish <NUM>. Instead, prior art systems for measuring surface finish typically require specialized, dedicated high-precision hardware.

<FIG> is a flow chart that illustrates a method <NUM> of determining the surface frequency of a workpiece with a coordinate measuring machine, or a dedicated surface measuring instrument, and <FIG> schematically illustrate a coordinate measuring machine <NUM> in the process of measuring surface finish <NUM> of the workpiece <NUM>, and <FIG>, <FIG> schematically illustrate inputs and outputs at steps from the method <NUM>. It should be noted that this method <NUM> is simplified from a longer process that may be used to determine the surface frequency of a workpiece. Accordingly, the method <NUM> may have many steps that those skilled in the art likely would use. In addition, some of the steps may be performed in a different order than that shown, or at the same time. Those skilled in the art therefore can modify the process as appropriate.

At step <NUM>, a computer, such a computer in the controller <NUM> for example, receives surface measurements of the workpiece <NUM> measured by a coordinate measuring machine <NUM>. For example, receiving such surface measurements may be accomplished by controlling the arm <NUM> of the CMM <NUM> to measure the locations of several points <NUM> along the surface <NUM> of the workpiece using the probe <NUM>. The probe <NUM> is a tactile stylus that touches the points <NUM> on the workpiece <NUM>, or, in non-claimed examples, an optical probe, for example.

The several points <NUM> are equally-spaced. In some embodiments, however, the workpiece <NUM> may be measured by dragging the probe <NUM> continuously across the workpiece surface <NUM> to produce a continuous measurement or stream of measurements. If measurements of equally-spaced points are not available, some embodiments may produce equally-spaced measurements by interpolating between available measurements, or selecting equally-spaced points from a continuous measurement. Alternatively, if measurements of equally-spaced points are not available, some non-claimed embodiments may perform the process <NUM> using techniques known in the art of digital signal processing for working with non-uniform sample sequences, such as non-uniform discrete Fourier transforms, and digital filters such as the FIR filter.

Each measurement produces a data point, and the measurements, collectively, produce a set of data points <NUM>, as schematically illustrated in <FIG>. In preferred embodiments, to avoid aliasing, the spacing between the equally-spaced points <NUM> defines a spatial frequency that is at least twice the spatial the frequency of highest-frequency component <NUM> the spatial frequency of the surface finish <NUM>.

At step <NUM>, a computer processor receives, from a computer memory, a cutoff frequency <NUM>. The computer processor and computer memory may be part of the CMM <NUM> (e.g., computer <NUM>; memory <NUM>), or may be part of an off-board computer (for example, host computer <NUM>).

Frequencies above the cutoff frequency <NUM> represent measurements of surface finish <NUM>, and frequencies below the cutoff frequency <NUM> represent measurements of the expected geometry of the workpiece <NUM>, and may include measurements of waviness <NUM> at the surface <NUM> of the workpiece <NUM>. Preferably, the cutoff frequency <NUM> is lower than the lowest component of the surface finish <NUM>, and above the highest frequency of the spectrum of the expected geometry, and waviness.

At step <NUM> a computer processor (e.g., <NUM>; <NUM>) processes the set of data points to filter out frequencies below the cutoff frequency <NUM>, and thereby produces a surface finish spectrum <NUM> limited to frequencies above the cutoff frequency <NUM>, as schematically illustrated in <FIG>, namely by producing a spectrum of the data points <NUM>, for instance via a discrete Fourier transform (DFT) or a fast Fourier transform (FFT), and then removing or deleting all frequencies below the cutoff frequency <NUM>. Alternatively, in non-claimed examples, the computer processor (e.g., <NUM>; <NUM>) may implement a high-pass filter using methods known from the art of digital signal processing, in which the filter includes a reject band <NUM> below the cutoff frequency <NUM>, and a pass band <NUM> above the cutoff frequency. In some embodiments, the pass band may be limited by an upper bound <NUM>.

At step <NUM>, the computer processor (<NUM>; <NUM>) characterizes the surface finish <NUM> based on the surface finish spectrum <NUM> by comparing the surface finish spectrum <NUM> to a specification for the workpiece, to determine whether the surface finish is within a specified tolerance set forth in the specification. Such a tolerance may be specified as the spectrum's amplitude, peak amplitude, average amplitude, or spectral energy density, to name but a few examples.

In addition to measuring the surface finish <NUM> of the workpiece <NUM>, in some embodiments the coordinate measuring machine <NUM> also measures other features of the workpiece <NUM>, such as physical dimensions different from its surface finish. Measuring such other features may be done before determining the surface frequency of a workpiece, after determining the surface frequency of a workpiece (i.e., before or after the method <NUM>), or even during the process of determining the surface frequency of a workpiece, such us during step <NUM>.

At step <NUM>, the computer processor (<NUM>; <NUM>) determines, and optionally indicates to a user (e.g., by displaying a result via computer screen <NUM>), whether the workpiece <NUM> meets (passes) or fails to meet (fails) a specification, based on the aforementioned comparison of the surface finish spectrum <NUM> with the specification.

The following is a list of reference numbers used herein:.

Various embodiments of the invention may be implemented at least in part in any conventional computer programming language. For example, some embodiments may be implemented in a procedural programming language (e.g., "C"), or in an object oriented programming language (e.g., "C++"). Other embodiments of the invention may be implemented as preprogrammed hardware elements (e.g., application specific integrated circuits, FPGAs, and digital signal processors), or other related components.

In an alternative embodiment, the disclosed apparatus and methods may be implemented as a computer program product for use with a computer system. Such implementation may include a series of computer instructions fixed on a tangible medium, such as a non-transient computer readable medium (e.g., a diskette, CD-ROM, ROM, FLASH memory, or fixed disk). The series of computer instructions can embody part of the functionality previously described herein with respect to the system.

Those skilled in the art should appreciate that such computer instructions can be written in a number of programming languages for use with many computer architectures or operating systems. Furthermore, such instructions may be stored in any memory device, such as semiconductor, magnetic, optical or other memory devices, and may be transmitted using any communications technology, such as optical, infrared, microwave, or other transmission technologies.

Among other ways, such a computer program product may be distributed as a removable medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the network (e.g., the Internet or World Wide Web). Of course, some embodiments of the invention may be implemented as a combination of both software (e.g., a computer program product) and hardware. Still other embodiments of the invention are implemented as entirely software.

Claim 1:
A coordinate measuring machine system for assessing a surface finish (<NUM>) of a workpiece (<NUM>) having a surface (<NUM>) and an expected geometry, the system comprising:
- a coordinate measuring machine (<NUM>) having a coordinate system referenced to a point on the coordinate measuring machine and configured to control a tactile stylus (<NUM>) to measure a plurality of evenly-spaced points (<NUM>) on the surface (<NUM>) of the workpiece (<NUM>) relative to the coordinate system referenced to the point on the coordinate measuring machine, thereby producing a plurality of measurements, wherein each measurement produces a data point, and the measurements, collectively, produce a set of data points; and
- a computer (<NUM>) configured to:
▪ receive the set of data points;
▪ receive a cutoff frequency (<NUM>);
▪ process the data points to produce a spatial spectrum of the data points, the spatial spectrum of the data points having a plurality of frequencies;
▪ remove, from the spatial spectrum, all frequencies below the cutoff frequency to produce a surface finish spatial spectrum (<NUM>), the surface finish spatial spectrum limited to frequencies above the cutoff frequency (<NUM>) ; and
▪ compare the surface finish spatial spectrum to a specification for the workpiece, to determine whether the surface finish is within a tolerance set forth in the specification.