Scanning probe with constant scanning speed

A method for scanning a surface of a workpiece 1 at a constant scanning speed /va/ using a scanning probe 2 mounted on a support 3 on a coordinate measuring machine (CMM) 4. The CMM contains a first set of drive means (6, 7, 8) to move the support according to three linear axis (x,y,z), and the support 3 contains a second set of drive means (14, 17) for actuating the movement of the scanning probe 2 with two degrees of freedom relative to said support 3. The method involves control means 33 coupled to the sets of drive means (6, 14, 17), and memory means for storing theoretical profiles and coordinates of the surface to scan.

FIELD OF THE INVENTION

The present invention concerns a method for scanning the surface of a workpiece and a related apparatus.

DESCRIPTION OF RELATED ART

Numerous methods for scanning are known, in which a mechanical probe is fixed on a machine spindle which traverses the surface of a workpiece in straight lines over each possible direction (x,y,z). After each line is completed the machine spindle moves the probe to a new position displaced from the completed line and repeats the movement along a parallel line.

One major drawback of these methods known from the art is that they are relatively slow for scanning complex forms, since the whole machine needs to be moved backwards and forwards while covering the whole scanning area of the surface. Furthermore, the accelerations and decelerations of the machine can introduce inaccuracies in the measurement process because of the strong inertia forces due to the large mass of the pieces in charge of positioning the surface detecting device. As a result, elastic deformations induced by inertia forces can affect negatively the measures.

In order to minimize the inertia effects and thus guarantee better precision results, constant speed scanning apparatus have been introduced, as in EP1489377. These scanning apparatus are yet not suited for non rectilinear movements.

Other scanning apparatus involving rotating movements of a probe are also known. Such scanning methods are, in contrast, very well suited for surfaces with spherical or cylindrical forms, but not for plane surfaces. U.S. Pat. No. 5,895,442 describes an example of such a probe allowing for constant speed scanning along cylindrical or spherical surfaces thanks to stored corrective values.

EP0402440 discloses a scanning apparatus which copes more efficiently with surfaces dealing with more complex profiles. The apparatus allows for additional degrees of freedom in rotation on top of the linear movements according to the conventional (x,y,z) axes. The probe consists of a stylus that is mounted on a head of a measuring machine, whereby the head includes shafts that can rotate about two orthogonal axes. The orientation of the stylus can take any direction so that the tip keeps the contact with the surface to be scanned. This way, the scanning can be carried out more efficiently along curved paths while the inertia effects are minimized thanks to the light weight of the stylus. However, this apparatus does not take into account cinematic effects to evaluate the deflecting forces applied on the probe, so that the precision is not optimal. Furthermore, those cinematic effects amplify the abrasion on the tip of the probe due to friction forces applied along the scanning path.

BRIEF SUMMARY OF THE INVENTION

The aim of the present invention is to overcome the limitations of the solutions known from the prior of the art.

According to the invention, these aims are achieved by means of a method for scanning a surface of a workpiece1at a constant scanning speed /va/ using a scanning probe2mounted on a support3on a coordinate measuring machine (CMM)4. The CMM contains a first set of actuators6,7,8to move the support according to three linear axis (x,y,z), and the support3contains a second set of actuators14,17for actuating the movement of the scanning probe2relative to said support3. The CMM including a controller33coupled to the sets of actuators6,7,8,14,17.

This method comprises the steps of:

(i) determine a value for the scanning speed;

(ii) operate the sets actuators6,7,8,14,17to position the probe tip25in contact with the surface1;

(iii) operate the first set of actuators6,7,8to move the support3along a determined trajectory36;

(iv) operate the second set of actuators14,17to produce, simultaneously with the relative movement of the support3with respect to the surface, movements of the scanning probe2relative to the support3.

The controller33adjusts the actuation of both sets of drive means6,7,8,14,17along a scanning path37in order to maintain the scanning speed equal to the determined value /va/ on at least segments40of the scanning path37.

This invention fulfils the need in the measuring field of a scanning apparatus that can scan all types of surfaces efficiently, e.g. through oscillatory movements, while maintaining a very accurate precision during the whole measurement process, possibly over the whole scanning path. The feature of a constant scanning speed also improves the lifetime of the probes by reducing the overheating due to greater friction forces in acceleration phases.

Another benefit of the disclosed scanning apparatus is a simple sampling process in order to provide an even distribution of discrete points whose coordinates need to be measured on a surface along the scanning path. Indeed the points will be equally spread along the scanning path by simply setting regular time intervals for the sampling.

A coordinate measuring machine4is disclosed inFIG. 1according to a preferred embodiment of the invention. Such a machine4is also known as CMM. The CMM4comprises a scanning probe2attached to a support3. The support3can be moved in any linear direction (X, Y, Z), whereas the scanning probe2has two degrees of freedom in rotation with respect to the support3. In this example, the axes for the rotation of the probe are vertical, respectively horizontal, but other combinations of axes could be considered (e.g. two independent orthogonal horizontal axes, or any number of rotational axes, or any combination of rotational and linear degrees of freedom).

According to the circumstances, the CMM could be equipped with several kind of measuring probes, including, for example, but not exclusively:

a contact probe, as represented inFIG. 2, wherein a touch sphere is urged against the surface under measurement, and the coordinates of the contact point are computed by taking into account the deflection of the probe, given by a strain gauge or other appropriate transducer;

a laser probe (not represented) in which the probe shines one or more laser beams on the surface, and gives the distance along the light paths;

an optical probe, based on a micro imaging device or machine vision system.

The following description will be made with special reference to the first case of a touch-type probe2, which is brought by the CMM4in contact relationship to the points of the surface1whose coordinate are to be measured, along a scanning path. This is not, however an essential feature. In the case of a non-contact probe, the method of the invention would equally be applicable, by aligning the probe with those points of the surface whose coordinates are t be measured. Generally the invention includes the steps of bringing the measuring probe, with the CMM, in a measuring relationship with points of the surface whose coordinates are to be measured, along a scanning path that is followed at constant speed.

In the following, the directions “vertical” and “horizontal” are used with reference to the conventional orientation f a CMM, as illustrated onFIG. 1. It must be understood, however, that such orientation are used here for sake of clarity, and do not represent limitations of the invention, which can be implemented in other kinds of measuring apparatus, arbitrarily oriented in space.

Support3is movable in any linear direction (X, Y, Z) thanks to a first set of drive means represented schematically, inFIG. 1, by electric motors6,7,8, by way of example. The positions of support3relative to axes X, Y, Z are measured by means of suitable encoders (not represented). Preferably, actuation of motors6,7,8and the measures provided by the encoders are controlled and processed by a digital controller33of the CMM (visible inFIG. 1). The controller is also responsible for reading the positioning of the encoders, and the output of the measuring probe, and to translate this data in coordinate of points of the surface1.

Since most of the components of the support3are quite heavy, the trajectory36followed by the support3, shown further onFIG. 4, is preferably rectilinear, or at least is characterized by low acceleration levels in order to minimize the inertia effects.

In contrast to support3the probe2is made of light material. While the support3is positioned to determine roughly an area to scan and moved along a preferably straight trajectory36, the probe2is meant to make the scanning more efficient in providing more reference points and coordinate measures over the surface1. In order to do so, the probe2can be moved transversally to the instantaneous direction of the rectilinear trajectory36with rotating movements relatively to the support3. These rotary movements can be oscillatory movements, for example. They are actuated by a second set of drive means14,17, whose goal can be on one hand to determine angular speeds ω1, ω2according to a corresponding axis, but can also on the other hand be to apply a torque T1, T2allowing to keep the contact with the surface1while doing it. The tip of the probe25, preferably spherical, can thus be maintained in contact with the scanned surface1, while the scanning is performed at a constant speed Vsthat is defined later in this document. The contact force F between the tip of the probe25and the surface to scan1is defined as the opposite of the reaction applied by the surface on the probe tip25. This contact force also illustrated onFIG. 1is hence normal to the plane tangent to the point of contact with the surface1.

FIG. 2is a section showing the mounting of the probe2on the support3and how the movements are actuated by the second set of drive means. Preferably this second set of drive means is made up by two actuators14,17. The first actuator14actuates a central shaft along the axis Z, and is preferably an electric motor. The probe head24fits onto the bottom of the shaft, thereby fixing the probe2and transmitting the rotational movements to the probe2. The derived angular speed of the rotational movements according to this axis is also referred to as ω1.

The probe head24is designed so that the probe2can also freely rotate around another axis, whereby this second axis is orthogonal to the first axis (Z in this example) but its direction in the plane depends on the position of the central shaft. The second actuator17actuates the rotational movements along this second axis, and is preferably also an electric motor. The derived angular speed of the rotational movements according to this axis is also referred to as ω2.

In this example we assume, for the sake of simplicity, that the two axes of motors14,17meet in one point in space20, even if it is not necessarily always the case. The skilled person would be able to see that our derivations and the methods of the invention apply equally to the general case. This point20is the centre of both rotational movements and represents possibly the centre of a Galilean reference system when the support3is moved at a constant rectilinear speed. The length of the probe23allows to determine the position of the contact point between the tip of the probe25and the intersection of the two axes20, and thus in turn to derive the absolute coordinates of the contact point, since the coordinates of the point20along the trajectory36are known, as explained further inFIG. 3.

FIG. 3shows how the absolute coordinates of the probe tip25are obtained. They are determined by the angular positions α, Θ of the probe according to the axes of rotation. A simple transformation of the spherical coordinates (L, α, Θ) into linear coordinates (X, Y, Z) yields the absolute coordinates. The orientation of the probe2in any direction (α, Θ) provides a greater scanning flexibility since it allows to scan without losing the contact with a workpiece having a multiple angled surface1while the probe head24simply moves along a rectilinear trajectory36. Furthermore, the inertia effects are minimized in taking a light weight stylus2, as opposed to its heavy weight support3. The absolute coordinates of the probe tip25moves along the scanning path37that is made up by all contact points between the probe tip25and the surface1. In a preferred embodiment of the invention, the absolute coordinates44are stored in memory means.

FIG. 4shows a potential scanning path on a plane surface (x, y), and explains the composition of the speed vector on the probe tip25. The surface to scan1is represented by the dashed surface; it is here comprised within the plane (x,y) but could span the three dimensions of space (x,y,z). The trajectory36of the support3is the rectilinear dotted line, which can point in any direction. The intrinsic movements of the probe combined with the movement of the support3along the trajectory36determine the scanning path37that is followed by the tip of the probe25and, at the same time, by the measured point90. It is important to note that the measured point90corresponds to the contact point between the tip of the probe25and the surface under measurement1in the case of a contact probe, but this is not necessarily the case if the invention is applied to a contactless measuring system, for example an optical probe. AlthoughFIG. 2only shows the projection of this path in two dimensions, this path is not confined to a plane and can also span the three dimensions of space, according to curvature and shape of the object under measurement.

In order to keep the magnitude of the speed vector26at the level of the probe tip25constant, the sum of the two composing speed vectors, namely the speed vector v of the support on one hand, and the relative speed vector vrof the relative movement of the probe tip25with respect to the support on the other hand, must provide, by vector composition, a constant value or, or at least a value constant within a given approximation range, so that the accelerations are small and the friction forces do not wear away the tip of the probe25too quickly, while the inertia forces also remain negligible. The centre of the coordinate reference system for the relative movements of the probe is chosen as the point20ofFIG. 2that is also shown on the top view ofFIG. 4. Other choices of coordinates are however possible.

In the case of a plane surface as shown inFIG. 4, the relative speed of the point under measure, with respect to the centre20of the support3is represented by the vector vr. Assuming that the angle α is variable according to a predefined motion law α=α(t), while the angle Θ is fixed, in this example. The horizontal distance between centre20and the contact point90is given by the constant quantity R=L·sin(Θ). Hence the coordinates xr, yrof the contact point90relative to the centre20will be given by:
xr=−R·cos(α(t))  1)
yr=R·sin(α(t))
and the corresponding horizontal components vrxand vryof the relative speed vector vrby:
vrx=R·sin(α(t))·{dot over (α)}(t)  2)
vry=R·cos(α(t))·{dot over (α)}(t)

We have taken, for simplicity, a path36for the head3parallel to the X axis the translation speed of the head3. In this case, which is straightforward to generalize, the motion of the head3is fully described by its x coordinate xh(t) and by the relative velocity v(t)=dxh/dt. The absolute speed vaof the measure point90with respect to the object under measurement has then components:
vax=v(t)+R·sin(α(t))·{dot over (α)}(t)  3)
vay=R·cos(α(t))·{dot over (α)}(t)

Requiring constant absolute speed of the contact point /va/=K introduces a relationship between xh(t) and α(t)
{dot over (x)}h(t)=√{dot over (α)}{dot over (α)}2−Rsin(α){dot over (α)}  4)

where the right-handed part is fully known. Equation (4) is a separate-variables ordinary differential equation for xh(t) that can be easily integrated numerically, for any given set of parameters R, K, α(t), provided that the inequality
K≧|Rcos(α){dot over (α)}|  5)
is satisfied, otherwise equation (4) has no real solutions. This corresponds to the fact that the value K must be sufficiently large to accommodate the speed imposed by the angular swing of the probe.

It can be observed that equation (4) could provide, in some cases, solutions in which v(t)=dxh/dt changes sign, which would correspond to a back-and-forth motion of the machine head3. In many cases, however, it would be advantageous to chose the value of K, in relation to the amplitude and speed of oscillation in α, in order to obtain a motion of the head always in the same sense, to reduce oscillations and errors.

The controller of the CMM can therefore calculate, in real time or prior to the scanning, a path for the probe head3, along which the translation speed is not strictly constant, but given by equation (4) above. In this way the measured tip25of the probe2will scan a series of points on the surface along a curvilinear path37, resulting from the composition of the motion of the head3and of the probe2, along which the measure point90, corresponding to the point of contact in the case of a contact probe, moves with constant velocity /va/=K.

It is of course not possible to impose a rigorous constant speed with infinite precision. The real speed of the point90will, in real cases, be affected by some error, due to the limitation of the machine and of the computing algorithm. In this case, the CMM can be programmed in such a way as to maintain the speed /va/ constant within some defined tolerance.

In some cases, particularly in presence of rapid swings of the probe2, equation (4) could yield an expression for xh(t) that exceeds the dynamic limits of the CMM. It may be possible, for example, that the constancy of velocity can not be guaranteed in proximity of the inversion points in the oscillation of the probe2. According to another aspect of the invention the CMM can be programmed to deal with such limitations. For example the speed may be kept constant in an area41, or in selected segments40of the scanning path, in which the dynamic limitations of the CMM are not exceeded, and allowed to vary outside this area or these segments.

According to this preferred embodiment of the invention, it is possible to easily sample coordinates44regularly along the segments of the scanning path40on the scanning speed /va/ is constant. The time intervals simply need to be chosen equal so that the coordinates44sampled are equally spread along the scanning path37. With this scanning method, it is hence easy to obtain an efficient distribution of the points to be measured in choosing adequately the values for the boundary and the sampling time interval Δt. The coordinates measured44can be stored in the memory of the controller on the fly.

In a preferred embodiment of the invention, not only the speed is maintained constant but also the deflecting force F applied to the tip of the probe2so that the coordinates measured along the scanning path37are as accurate as possible. To this end, while the angular speed16ω1is maintained constant on segments of the scanning path37by the first motor14, the second motor17is set to a constant torque T2. Although the following variant embodiment is not described, it would also be possible to maintain the torque T1of the first motor14constant and the angular speed ω219of the second motor17constant. This possibility is suited for surfaces with a different orientation relative to the rotation axis of the probe.

Although this feature is not illustrated by any of the figures, it could be possible to put an accelerometer into the probe2so that the speed can be measured and compared the value that the invention strives to maintain at a constant level. This feedback feature could nevertheless be provided regardless from the correction features disclosed in this document.

The example above shows how the CMM can be programmed in order to follow a scanning path with the tip25of the probe (or, alternatively, measure a point90with a non-contact probe) while keeping a constant absolute scanning speed /va/=K. It is clear that the invention can be extended to scanning along a path with a variable scanning speed following a predetermined speed profile /va/=va(t).

Although the previous example dealt with a quite simple case, the method of the invention can be extended to a complex path on a general surface in three dimensions.

According to a preferred three-dimensional embodiment of the invention, the parameters of the CMM axes, that is the position of X, Y, Z, α, θ axes is precalculated, or calculated in real time, using inverse-kinematics transformations, in order to follow a scanning path37on a generic three-dimensional object, which is followed at constant speed /va/=K or, according to a variant, following a predetermined speed profile /va/=va(t).

We assume that the CMM status is determined by the value of the positions of all its degrees of freedom. In the case of the machine represented inFIGS. 1 and 2, the complete configuration is thus given by the position of all the axes of the machine, including the linear axes X, Y, Z and the rotation axes α, Θ. Each combination of these parameters corresponds to one defined position of the probe2, and to one measured point90. The parameters X, Y, Z, α, Θ determine, additionally, also the orientation of the probe2. This correspondence between machine parameters and coordinates of the measured point is usually indicated as forward kinematics transformation

In general, particularly when the machine considered includes rotational degrees of freedom, the forward kinematics is not an injective correspondence, that is, one same position of the measure point can be obtained by several combinations of machine parameters. In this case, the FK transformation is not strictly invertible in a mathematical sense. It is however possible to calculate, for a given position of the measure point90, a combination, among the several possible, of the parameters X, Y, Z, α, Θ providing such measure point. This is indicated as an inverse kinematics operation or, in short, IK.

Several methods are known to perform reverse kinematics transformation, according to the properties of the machine. While direct inversion methods are known, inverse kinematics can often be regarded and implemented as a minimization problem, in the sense that an IK transformation is equivalent to finding a combination of machine parameters minimizing a distance between the probe tip and a desired target position. This is often advantageous when the displacements are small and a close solution is available as a starting point, and when a movement can be decomposed in a series of small consecutive displacement, as it will be the case further on.

The inherent ambiguity of inverse kinematics transformation can be useful, in that it allows imposing additional constraints to the solution. In the case of the CMM of the invention, for example, it would be possible to use an inverse kinematics calculation that not only brings the measuring probe to a selected measure point, but also maintains a constant inclination of the probe2with respect to the surface of the workpiece. In a minimization implementation, this can be obtained by adding a penalty factor to the minimized function, to take into account the orientation of the probe.

The control on the orientation of the probe is advantageous, because the measurement errors are dependent on the probe angle, both in contact probe and in non-contact probes. If an optical probe is used, for example, it is advantageous to have the optical beam orthogonal to the surface under measure.

According to a variant of the present invention, the CMM controller has a representation of a scanning path37which is to be followed by the probe2. This could be an external input, for example a path provided by the operator or by a higher controller, or it could be generating internally by the controller, according to the circumstances. The scan path37is a full three-dimensional curve, corresponding to the profile of the piece to be measured.

As shown inFIG. 5, the scan path37is subdivided into segments61. In this example all of the segments61have the same length Δl, because this simplifies the implementation of the algorithm of the invention; this feature is not however essential. Preferably the subdivisions61are sufficiently small to approximate the path37with a succession of straight segments.

Each segment61corresponds to a starting point and a target point to reach. The CMM brings the probe2in the position of the starting point P0of the first segment, which corresponds to a certain starting set of axes parameters (X0, Y0, Z0, α0, Θ0). The controller obtains, by an IK operation, a set of parameters (X1, Y1, Z1, α1, Θ1) corresponding to the end point P1of the same segment. The controller generates then instructions for the actuators of the CMM to modify the axes parameters from (X0, Y0, Z0, α0, Θ0) to (X1, Y1, Z1, α1, Θ1) in a determined time interval Δt. Consequently the probe2moves from P0to P1in the time Δt. The method then repeats to points P2, P3and so on.

Thanks to the method of the invention as exemplified above, the probe2scans the path37with a constant velocity /va/=Δl/Δt. The method allows the probe to follow a complex three-dimensional path, respecting the shape of the object under measurement, at constant speed. the skilled person could also extend the method to the case of non-uniform segments, by adapting the time intervals accordingly, or to obtain a generic speed profile /va/=va(t).

Preferably, the IK transformation imposes some additional desirable constraints, for example the inclination of the probe with respect to the workpiece's surface can be kept constant along the path37. Also, the minimization algorithm can be adapted to prefer movement of the rotational axes over those of the linear axes, in order to minimize vibrations and errors.

While the probe2scans the path37, the controller of the CMM also samples the coordinates of the measure points60. This can be done for example in correspondence of the points P0, P1, . . . or at other positions along the path37. If the sample is done at constant rate in time, the resulting measured points will also be uniformly distributed along the path37.

According to a preferred variant of the invention, the method is carried out in real-time during the scan. The CMM controller calculates the IK transformations and generates the instructions for the actuator during the actual movement. This allows adapting the path37in order to follow deviations from a nominal profile, as derived from the coordinates of the sampled points60. According to other variants, however, the movements could be fully or partly pre-calculated.

The inverse kinematics approach for adjusting the speed is also suited to make instantaneous corrections of the speed when the measured coordinates44do not match the theoretical coordinates60on the scanning path37. Indeed, since the speed is derived from a difference in coordinates—origin and the target coordinates—and since the instantaneous coordinates are always known while scanning, the computation of the speed its adjustment to any desired value can be done easily and accurately on the fly, as long as the measured coordinates are themselves accurate.

If the CMM is equipped with a contact scanning probe2, the deflection of the probe must be kept within very narrow limits in order to guarantee a reliable measure. In a typical case, the useful deflection range of the probe2is of about 1 mm, or less. Such precise knowledge a priori is not always possible. In many situations (for example in a quality control step of a production line) the CMM task is to scan precisely objects which may be affected by a large amount of inaccuracy.

In order to make sure that the coordinates are always provided with enough accuracy, it possible to modify in real time the scanning path37according to a compensation vector derived from the coordinates of points60already measured, and from the output of the deflection sensor in the probe. In this way the scan path37is constantly adapted, for any individual workpiece and dynamically along the scan, to maintain the deflection as constant as possible. If the transitions between the individual steps P0, P1, . . . are computed in real time, the system will still be able to follow the path at constant velocity /va/. Since constancy of deflection also means constancy of the contact force, the method of the invention also provides, when applied to a contact scanning probe, a constant contact force along a three-dimensional scan path37which is followed at constant speed or according to a chosen speed profile.

As seen previously, the IK transformation may, in some cases, result in impossible instructions, for example movements that go beyond the physical speed or acceleration limits of the CMM. In this case, the chosen path37can not be followed entirely at constant speed. The CMM can be programmed to cope with such a situation, for example by generating an error to raise the attention of an operator, calling a condition-handling procedure, or release the constraint of constant speed, until the algorithm is able to converge again.