The present application claims priority under 35 U.S.C. § 119 of Japanese Application No. 2016-139816, filed on Jul. 14, 2016, the disclosure of which is expressly incorporated by reference herein in its entirety.
The present invention relates to a control method of a profile measuring apparatus.
Profile measuring apparatuses measuring a profile of a measured object by performing a scanning displacement of a probe along a surface of the measured object are known (see, for example, Japanese Patent Laid-open Publication No. 2008-241420, Japanese Patent Laid-open Publication No. 2013-238573, and Japanese Patent Laid-open Publication No. 2014-021004). Furthermore, a method of performing scanning measurement during autonomous course correction is also known in which a deflection correction vector is calculated continuously so as to keep an amount of deflection of the probe constant (Japanese Patent Laid-open Publication No. 2013-238573). Nominal scanning such as in this example is referred to as an “active nominal scanning measurement.”
To provide a simplified introduction of the “active nominal scanning measurement” disclosed in Japanese Patent Laid-open Publication No. 2013-238573, in the “active nominal scanning measurement,” a composite vector V as represented in Equation 1 below is treated as a displacement command for the probe. When the probe displaces based on the composite vector V, while the probe (stylus tip) displaces along a predefined scanning path, a scanning measurement of the surface of a work piece is achieved in which the amount of deflection is kept constant (i.e., the “active nominal scanning measurement”). In the following description, the “predefined scanning path” is referred to as a “nominal scanning path.”
V=Gf×Vf+Ge×Ve+Gc×Vc (Equation 1)
A simplified description of what this equation means follows, with reference to
A vector Vf is a path speed vector. The path speed vector Vf has directionality from an interpolation point (i) lying on the nominal scanning path toward the following interpolation point (i+1). A size of the path speed vector Vf is determined based on a curvature of the nominal scanning path for the interpolation point (i), for example (Japanese Patent Laid-open Publication No. 2014-021004, for example).
A vector Ve is a deflection correction vector, and corrects the deflection amount Ep of the probe to a predetermined standard deflection amount (for example, 0.3 mm). The deflection correction vector Ve is necessarily parallel to a normal line of the surface of the work piece.
A vector Vc is a course correction vector. The course correction vector is parallel to a perpendicular line drawn from a probe position to the nominal scanning path. Gf, Ge, and Gc are, respectively, a scan drive gain, a deflection correction gain, and a course correction gain.
When controlling displacement of the probe with the composite speed vector V according to Equation 1, active nominal scanning measurement is achieved. However, control may become unstable due to the direction of each vector. For example, in the case of
In this regard, Japanese Patent Laid-open Publication No. 2013-238573 is configured such that values of Gf, Ge, and Gc are each adjusted as appropriate by a function f1(C,E), f2(E), and f3(C), respectively. However, when Ge or Gc are made smaller in order to inhibit the oscillating behavior, the composite vector V is of course also made smaller. When this happens, a separate issue arises in which course correction performance and deflection correction performance are diminished. Accordingly, course correction performance and control stability cannot both be achieved.
The present invention provides a control method of a profile measuring apparatus capable of achieving both course correction performance and control stability.
The control method of the profile measuring apparatus according to the present invention is a control method of a profile measuring apparatus that includes a probe having a stylus tip at a distal end and a displacement mechanism displacing the probe, the profile measuring apparatus detecting contact between the stylus tip and a surface of a work piece, and measuring a profile of the work piece. The control method finds a scanning path along which the stylus tip is displaced based on design data of the work piece and, while controlling a deflection amount of the probe toward the work piece to maintain a standard deflection amount, displaces the stylus tip along the scanning path; and, in doing so, the control method generates a probe displacement command according to a composite speed vector V represented by the following equation.
Composite speed vector V=Gf·Vf+Ge·Ve+sg(p)·Gc·Vc2
In this equation, the path speed vector Vf is a vector along which the probe is displaced along the scanning path. The deflection correction vector Ve is a vector maintaining the deflection amount of the probe toward the work piece at the standard deflection amount. A second course correction vector Vc2 is represented by (Vc1·q)q. A first course correction vector Vc1 is a vector in a direction correcting the probe position such that the stylus tip is oriented along a scanning course. A course correction direction vector q is a vector given by a vector product of the normal line of the surface of the work piece and the path speed vector Vf. When the normal direction of a measured surface, which is calculated based on the design data of the work piece, is defined as a nominal normal direction vector Nw, p is a scalar product of the second course correction vector Vc2 and the nominal normal direction vector Nw, and a mathematical sign determination function sg(p) is a function returning +1 or −1 in accordance with a value of p. Gf, Ge, and Gc may be any desired coefficient.
In the present invention, preferably, the value of the mathematical sign determination function sg(p) is +1 when the scalar product p of the second course correction vector Vc2 and the nominal normal direction vector Nw is at least 0, and is −1 when the scalar product p of the second course correction vector Vc2 and the nominal normal direction vector Nw is less than 0.
In the present invention, preferably, during calculation of the scanning path along which the stylus tip is displaced based on the design data of the work piece, the scanning path is divided into a plurality of segments and an average normal direction vector Nw for the measured surface is calculated for each segment.
A control program of the profile measuring apparatus according to the present invention runs the control method of the profile measuring apparatus on a computer.
The present invention is further described in the detailed description which follows, in reference to the noted plurality of drawings by way of non-limiting examples of exemplary embodiments of the present invention, in which like reference numerals represent similar parts throughout the several views of the drawings, and wherein:
The particulars shown herein are by way of example and for purposes of illustrative discussion of the embodiments of the present invention only and are presented in the cause of providing what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the present invention. In this regard, no attempt is made to show structural details of the present invention in more detail than is necessary for the fundamental understanding of the present invention, the description taken with the drawings making apparent to those skilled in the art how the forms of the present invention may be embodied in practice.
A description of embodiments of the present invention is given with reference to the drawings and to the reference numerals assigned to each component in the drawings.
A first embodiment of the present invention is described. A basic operation procedure of active nominal scanning measurement has already been disclosed in other documents (see, for example, FIG. 3 of Japanese Patent Laid-open Publication No. 2008-241420), and therefore the following description discusses generation of a composite speed vector V, which is a primary consideration of the present invention.
Before beginning, a basic configuration of a profile measuring system 100 is briefly described here.
The coordinate measuring machine 200 includes a base 210, a displacement mechanism 220, and a probe 230.
The displacement mechanism 220 includes a gate-shaped Y slider 221 provided so as to be capable of sliding above the base 210 in a Y direction, an X slider 222 sliding along a beam in an X direction of the Y slider 221, a Z axis column 223 fixated to the X slider 222, and a Z spindle 224 rising and lowering in a Z direction inside the Z axis column 223.
The Y slider 221, X slider 222, and Z spindle 224 each have a drive motor (not shown in the drawings) and an encoder (not shown in the drawings) attached thereto. Each drive motor is drive controlled by a drive control signal from the motion controller 300. The encoder detects a displacement amount for each of the Y slider 221, X slider 222, and Z spindle 224 and outputs detection values to the motion controller 300. The probe 230 is mounted to a bottom end of the Z spindle 224.
The probe 230 includes a stylus 231 having a stylus tip 232 on a distal end (−Z axis direction side) and a supporter 233 supporting a base end (+Z axis direction side) of the stylus 231. The stylus tip 232 is spherical and comes in contact with a measured object W.
When an outside force is applied to the stylus 231 (in other words, when the stylus tip 232 is in direct contact with the measured object W), the supporter 233 supports the stylus 231 so as to enable displacement of the stylus 231 within a fixed range in each of the X, Y, and Z axis directions. Further, the supporter 233 includes a probe sensor (not shown in the drawings) detecting a position of the stylus 231 in each axis direction. The probe sensor outputs the detection value to the motion controller 300.
The host computer 500 further includes a memory 520 and a profile analyzer 530. The memory 520 stores design data (such as CAD data and NURBS data) related to a profile of the measured object (work piece) W; measurement data obtained from measurements; and a measurement control program controlling an overall measurement operation.
The profile analyzer 530 performs a profile analysis by calculating surface profile data of the measured object W based on measurement data output from the motion controller 300 and finding errors, distortions, and the like in the calculated surface profile of the measured object W. In addition, the profile analyzer 530 handles calculation processing which calculates a “nominal scanning path” using the design data (such as CAD data and NURBS data). One aspect of the present embodiment improves the “nominal scanning path.”
A scanning measurement path (nominal scanning path) must be prepared ahead of time for scanning measurements. However, what is referred to in the present embodiment as a scanning measurement path (nominal scanning path) is not simply “curve” data as in the conventional art, but instead also refers to path surface data that further includes data for a normal line of a measured surface. Specifically, the “nominal scanning path” of the present embodiment is a curved line path of a scanning measurement to which data for the normal line is added.
Calculation of the nominal scanning path is now described. The profile analyzer 530 receives CAD data (for example, NURBS (Non-Uniform Rational B-Spline) data) that includes path data from an external CAD system or the like and converts the CAD data into dot set data. The data for each point is data combining coordinate values (x, y, z) and normal directions (P, Q, R). (In other words, x, y, z, P, Q, R.) In the instant specification, for the purposes of the description that follows, dot set data having data for (x, y, z, P, Q, R) is referred to as contour point data.
Next, the coordinate value at each point is offset by a predetermined amount in the normal direction. Specifically, the predetermined amount is defined as a stylus tip radius r−a deflection amount Ep. The dot set data obtained in this way is designated as offset contour point data. Also, data for the normal directions (P, Q, R) is of course also included at the base of the offset contour point data. When the coordinate values (x, y, z) of the contour point data are offset and these offset coordinates are expressed by (x′, y′, z′), the offset contour point data is point set data having data for (x′, y′, z′, P, Q, R).
Then, the profile analyzer 530 converts the offset contour point data to a group of predetermined order polynomial curves. In this example, a cubic function is used as the polynomial and the group of curves is referred to as PCC curves (Parametric Cubic Curves). The offset contour point data is point set data having the (x′, y′, z′, P, Q, R) data. However, data for the normal line of each point is not required for calculation of a PCC curve, and the PCC curve is instead calculated using only the coordinate values (x′, y′, z′). Further, the profile analyzer 530 appropriately divides the PCC curve to yield a group of divided PCC curves. The present embodiment does not especially limit where the PCC curve is divided. For example, the PCC curve may be divided at fixed length intervals, or may be divided near an inflection point in a case where a curvature changes in excess of some threshold value. The group of divided PCC curves is a set of curves and, in this sense alone, is similar to the nominal scanning path of the conventional art.
In the present embodiment, data for a normal line is further appended as data for the nominal scanning path. The profile analyzer 530 calculates an average normal direction for each segment of the divided PCC curve. Because the data for the normal line is also included in the offset contour point data, a normal vector for each coordinate is composited and then, by carrying out a division operation, an average normal vector Nw for each segment is found. The average normal direction calculated for each segment of the divided PCC curve is labeled a “nominal normal direction.”
Because the PCC curve (scanning measurement path) itself is simply a line, there is no normal line for the line. However, a surface to be measured does, of course, have a normal line, and data for an orientation (normal line) of the surface is included in the CAD data, which is the design data for a work piece (measured object). This means, in other words, that as a separate task from the calculation of the PCC curve, the profile analyzer 530 extracts the normal line data from the offset contour point data and finds the average normal line (nominal normal direction) for each segment.
For example, the measured object W shown in
Another example follows, to ensure clarity. As shown in
The motion controller 300 includes a path data obtainer 310, a counter 320, a displacement command generator 330, and a drive controller 340.
The path data obtainer 310 obtains nominal scanning path data from the host computer 500. The counter 320 counts detection signals output from the encoder and measures an amount of displacement of each slider. In addition, the counter 320 counts the detection signals output from each of the probe 230 sensors to measure the amount of displacement of the probe 230 (stylus 231). From the measured displacement of the sliders and the probe 230, a coordinate position PP of the stylus tip 232 (hereafter, probe position PP) is obtained. In addition, from the displacement (detection values of the probe sensors (Px, Py, and Pz)) of the stylus 231 measured by the counter 320, an amount of deflection (absolute value of a vector Ep) of the stylus tip 232 is obtained.
The displacement command generator 330 calculates a displacement route of the probe 230 (stylus tip 232) measuring the surface of the measured object with the probe 230 (stylus tip 232) and calculates a speed vector along the displacement route. The displacement command generator 330 includes various portions calculating a route corresponding to each measurement method (measurement mode). Specifically, there are four measurement methods: a passive nominal scanning measurement, an active nominal scanning measurement, an autonomous scanning measurement, and a point measurement. In relation to the present embodiment, the measurement method is the active nominal scanning measurement.
The drive controller 340 performs drive control of each slider based on the displacement vector calculated by the displacement command generator 330.
Further, a manual controller 400 is connected to the motion controller 300. The manual controller 400 includes a joystick and a variety of buttons, receives a manual input operation from a user, and sends an operation command from the user to the motion controller 300. In such a case, the motion controller 300 (drive controller 340) performs the drive control of each slider in accordance with the operation command from the user.
A description of how the composite speed vector V is generated follows.
First, the path speed vector Vf is generated (ST210). When an interpolation point i and the following interpolation point (i+1) are taken as lying on the nominal scanning path, an orientation of the path speed vector Vf is assigned as a direction oriented from the point i to the point (i+1) (see
Next, the deflection correction vector Ve is generated (ST220). The deflection correction vector Ve is expressed by the following formula.
[Formula 1]
{right arrow over (V)}e=K(|{right arrow over (E)}p|−E0){right arrow over (e)}u (Equation 2)
Ep represents a probe displacement vector obtained from probe output.
EP=(xp,yp,zp)
Accordingly, a deflection amount |Ep| of the probe is as follows.
[Formula 2]
|{right arrow over (E)}p|=√
Eu represents a unit vector in a probe displacement direction obtained from probe output.
[Formula 3]
{right arrow over (eu)}={right arrow over (Ep)}/|{right arrow over (Ep)}| (Equation 4)
Given this, the deflection correction vector Ve, which maintains the deflection amount |Ep| at a reference deflection amount E0, is expressed by Formula 2 above. K may be any desired coefficient.
Next, the second course correction vector Vc2 is generated (ST230).
In the present embodiment, the first course correction vector Vc1 is not used as-is, but instead only an effective component is extracted and used in course correction. In ST232, a unit vector eu in the probe displacement direction is obtained. The unit vector eu in the probe displacement direction has been described in the generation of the deflection correction vector Ve. Next, the path speed vector Vf is obtained in ST233. A path variable vector Vf has also been described in ST210.
A course correction direction vector q is calculated using the unit vector eu in the probe displacement direction and the path speed vector Vf (ST234). The course correction direction vector q is a unit vector parallel to a vector product of the unit vector eu in the probe displacement direction and the path speed vector Vf. In
[Formula 4]
{right arrow over (q)}={right arrow over (V)}f×{right arrow over (e)}u/|{right arrow over (V)}f×{right arrow over (e)}u| (Formula 4)
In this example, the formula is given as “Vf×eu,” but the orientation of an arrow is not important and may instead be “eu×Vf.”
The second course correction vector Vc2 refers to a q direction component of the first course correction vector Vc1. In other words, when a scalar product of the first course correction vector Vc1 and the course correction direction vector q is expressed by (Vc1·q), the second course correction vector Vc2 is expressed as follows (ST235).
[Formula 5]
{right arrow over (V)}c2=({right arrow over (V)}c1·{right arrow over (q)}){right arrow over (q)} (Formula 5)
The second course correction vector Vc2 is generated in this way.
Returning to the flow chart of
Next, as ST250, the orientation of the second course correction vector Vc2 is determined by the mathematical sign determination function sg(p). In the mathematical sign determination function sg(p), p is a scalar product of the second course correction vector Vc2 and the nominal normal direction vector Nw.
p=(Vc2·Nw)
When the scalar product p is 0 or more, a value of the mathematical sign determination function sg(p) is “+1.” In other words, when an angle of an opening between the second course correction vector Vc2 and the nominal normal direction vector Nw is less than 90°, the second course correction vector Vc2 is incorporated into the composite speed vector V and the mathematical sign of the second course correction vector Vc2 is maintained.
Meanwhile, when the scalar product p is smaller than 0 (less than 0), the value of the mathematical sign determination function sg(p) is “−1.” In other words, when the angle of the opening between the second course correction vector Vc2 and the nominal normal direction vector Nw is 90° or more, the second course correction vector Vc2 is inverted and then incorporated into the composite speed vector V. A role played by the mathematical sign determination function sg(p) is clarified by an exemplary operation described below.
The path speed vector Vf, the deflection correction vector Ve, and the second course correction vector Vc2 are composited to calculate the composite speed vector V (ST260).
When displacement of the probe 230 is controlled based on the composite speed vector V (ST300), active nominal scanning measurement, in which the amount of deflection is constant, is achieved.
Positive effects of using this composite speed vector V are now described. Control using the first course correction vector Vc1, as in the prior art, is simplest in terms of course correction and involves a small amount of calculation, but in some cases behavior of the probe 230 may begin to oscillate. For example, as can be seen in
In a case where the first course correction vector Vc1 has a component oriented in the opposite direction from the deflection correction vector Ve or the path speed vector Vf, when the first course correction vector Vc1, the deflection correction vector Ve, and the path speed vector Vf are composited, the components of each interfere with one another and the behavior of the probe 230 becomes unstable. In such a case, when the gains Gf, Ge, and Gc are skillfully adjusted, the mutual interference of the first course correction vector Vc1, the deflection correction vector Ve, and the path speed vector Vf may conceivably be minimized as much as possible. However, when any one of the gains Gf, Ge, and Gc is reduced in order to reduce the mutual interference, the composite speed vector V itself may also be reduced, and therefore course correction performance is necessarily reduced.
In contrast, in the present embodiment, the second course correction vector Vc2 is configured to have a direction orthogonal to the unit vector eu in the probe displacement direction and the path speed vector Vf. Accordingly, the second course correction vector Vc2 is unlikely to interfere with the deflection correction vector Ve and the path speed vector Vf, and control stabilizes.
The mathematical sign determination function sg(p), which refers to the mathematical sign of the second course correction vector Vc2, is not discussed here. However, whether the value of the mathematical sign determination function sg(p) is +1 or −1, the second course correction vector Vc2 is orthogonal to the deflection correction vector Ve and the path speed vector Vf, and regardless of the mathematical sign, the second course correction vector Vc2 does not interfere with the deflection correction vector Ve or the path speed vector Vf. The role of the mathematical sign of the mathematical sign determination function sg(p) is discussed later.
In order to further clarify the beneficial effects of the second course correction vector Vc2, a comparative example is now introduced. The comparative example was initially investigated as a potential improvement to the first course correction vector Vc1, but did not reach implementation because a separate issue was discovered. In the comparative example, the first course correction vector Vc1 is referred to as a standard course correction vector Vc1′. The standard course correction vector Vc1′ is a vector in which a component orthogonal to the unit vector eu in the displacement direction of the probe is extracted from the first course correction vector Vc1. An example of the directions of each vector is shown within a dashed line boundary in
[Formula 6]
{right arrow over (V)}c1′={right arrow over (V)}c1−({right arrow over (V)}c1·{right arrow over (e)}u){right arrow over (e)}u (Formula 6)
The standard course correction vector Vc1′ is a vector orthogonal to the deflection correction vector Ve. Accordingly, the oscillating behavior of the probe 230 caused by the interference between the first course correction vector Vc1 and the deflection correction vector Ve can be eliminated.
However, this gives rise to a different concern. For example, a case such as that shown in
In this regard, the second course correction vector Vc2 is orthogonal to not only the deflection correction vector Ve, but also to the path speed vector Vf. Accordingly, stable active nominal scanning measurement can be achieved regardless of the surface profile of the work piece.
As described above, control of the scanning measurement is stabilized by employing the second course correction vector Vc2. However, by devising a mathematical sign for the second course correction vector Vc2, the inventors have added a further improvement such that measurement is carried out as intended by an operator. First, a case is considered where the mathematical sign determination function sg(p) is not introduced.
Active nominal scanning measurement is performed on this work piece (measured object) W along the scanning path L, which is prepared ahead of time. The coordinate measuring machine 200 follows a measurement command to bring the probe 230 to the bottom step surface F1 and to then displace the probe 230 along the nominal scanning path L1 while adjusting the deflection amount of the probe 230.
In the cross-sectional view shown in
The course correction direction vector q is a direction perpendicular to both the deflection correction vector Ve and the path speed vector Vf, and is therefore a direction lying along the surface F1 of the work piece (measured object) W and a direction rising (or descending) along a curved, inclined surface in
Due to the course correction with the second course correction vector Vc2, the probe 230 is likely to perform the scanning measurement along a line slightly to the left of the path intended by the operator (see
Due to the course correction with the second course correction vector Vc2, the probe 230 may perform the scanning measurement along a path slightly offset from the path intended by the operator, but this may not be such a significant issue when the manufacturing error is small or the curvature of the measured surface is small and sufficiently close to being a flat surface. Even when the actual scanning measurement path is slightly offset from the nominal scanning path, the surface to be measured can be measured, and therefore the objective of the measurement can be met.
The typical difficulty posed is represented by the following case. As shown in
The mathematical sign of the second course correction vector Vc2 is then determined by the mathematical sign determination function sg(p). As can be seen by reference to
Control is not lost even when the orientation of the second course correction vector Vc2 is inverted in this way due to using the second course correction vector Vc2, which does not interfere with the deflection correction vector Ve and the path speed vector Vf. Accordingly, depending on the situation, the orientation of the second course correction vector Vc2 is changed and scanning measurement in accordance with the operator's intent is achieved.
A typical example is described above; however, when determining the mathematical sign of the second course correction vector Vc2 with the mathematical sign determination function sg(p), the scanning path of the probe 230 converges on a location where the deflection correction vector Ve and the nominal normal direction vector Nw are parallel to each other. For example, when performing scanning measurement of the curved surface illustrated in
Similarly, when a narrow groove is produced, as shown in
Moreover, the present invention is not limited to the embodiments described above, and may be modified as needed without departing from the scope of the present invention.
It is noted that the foregoing examples have been provided merely for the purpose of explanation and are in no way to be construed as limiting of the present invention. While the present invention has been described with reference to exemplary embodiments, it is understood that the words which have been used herein are words of description and illustration, rather than words of limitation. Changes may be made, within the purview of the appended claims, as presently stated and as amended, without departing from the scope and spirit of the present invention in its aspects. Although the present invention has been described herein with reference to particular structures, materials and embodiments, the present invention is not intended to be limited to the particulars disclosed herein; rather, the present invention extends to all functionally equivalent structures, methods and uses, such as are within the scope of the appended claims.
The present invention is not limited to the above described embodiments, and various variations and modifications may be possible without departing from the scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2016-139816 | Jul 2016 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
7643963 | Noda et al. | Jan 2010 | B2 |
9298178 | Noda et al. | Mar 2016 | B2 |
9341459 | Noda et al. | May 2016 | B2 |
9366522 | Noda et al. | Jun 2016 | B2 |
9448052 | Noda et al. | Sep 2016 | B2 |
9915516 | Noda | Mar 2018 | B2 |
20050213108 | McMurtry | Sep 2005 | A1 |
20070056176 | Matsumiya | Mar 2007 | A1 |
20080257023 | Jordil | Oct 2008 | A1 |
20090217426 | Noda | Aug 2009 | A1 |
20100174504 | Nakagawa | Jul 2010 | A1 |
20110270562 | Ito | Nov 2011 | A1 |
20130310962 | Noda | Nov 2013 | A1 |
20160341533 | Noda | Nov 2016 | A1 |
20160356591 | Noda | Dec 2016 | A1 |
20170090455 | Noda | Mar 2017 | A1 |
20170115109 | Noda et al. | Apr 2017 | A1 |
Number | Date | Country |
---|---|---|
2008-241420 | Oct 2008 | JP |
2013-238573 | Nov 2013 | JP |
2014-21004 | Feb 2014 | JP |
Number | Date | Country | |
---|---|---|---|
20180017954 A1 | Jan 2018 | US |