Control method for form measuring device
Patent Information
- Application Number
- DE102017221294
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2016-11-29
- Filing Date
- 2017-11-28
- Publication Date
- 2025-10-16
- Estimated Expiration
- 2037-11-28
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority under 35 USC § 119 to Japanese application with patent publication JP 2018 - 087 743 A, filed on November 29, 2016, which is incorporated herein by reference in its entirety. BACKGROUND OF THE INVENTION 1. Field of the Invention
[0002] The present invention relates to a control method for a form measuring device. 2. Description of the state of the art
[0003] Form measuring devices that measure the shape of a measured object by performing a scanning displacement of a stylus tip along a surface of the measured object are known (see, for example, Japanese Patent Laid-Open Nos. 2008-241420 A, 2013-238573 A, and 2014-21004 A). For the scanning measurement, a scanning measurement path should be created. The device described in Japanese Patent Laid-Open No. 2008-241420 A converts design values based on CAD data or the like (for example, NURBS (non-uniform rational B-spline) data) into polynomial curves of a predetermined degree. Further form measuring devices of this type are disclosed in the patent publications US 2002 / 0 180 470 A1, US 2013 / 0 310 962 A1 and US 2008 / 0 236 260 A1.
[0004] A simple description of the procedure is given. First, CAD data (such as NURBS data) containing path information is received from an external CAD system or the like, and the CAD data is converted into point group 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 this patent specification, to facilitate the description that follows, point group data containing information for (x, y, z, P, Q, R) is referred to as contour point data.
[0005] Next, the coordinate values of each point are offset by a predetermined amount in the normal directions. (Specifically, the predetermined amount is defined as the pen tip radius r - the reference depression amount E0.) The point group data found in this way is called offset contour point data.
[0006] The offset contour point data is then converted into polynomial curves of a predetermined degree. In this example, a cubic function is used as the polynomial, resulting in PCC (cubic parameter curves). Based on the PCC curves, a path for measuring a workpiece is generated. Furthermore, the PCC curves are subdivided to form subdivided PCC curves.
[0007] By calculating a velocity curve from the divided PCC curves, a displacement velocity (displacement vector) of a probe is calculated. (For example, the displacement velocity (displacement vector) of the probe is defined based on curvature and the like for each segment of the divided PCC curves.) The probe is displaced based on the displacement velocity calculated in this way, and the pen tip is displaced, scanning the surface of the measured object (passive nominal scanning measurement).
[0008] Furthermore, a method for performing a scan measurement during tracking correction is also known, in which a pit correction vector is continuously calculated to keep the extent of a probe pit constant (Japanese Patent Application Laid-Open No. JP 2013-238573 A). In this example, such a nominal scan is referred to as an "active nominal scan measurement."
[0009] The "active nominal scanning measurement" disclosed in Japanese Patent Application Laid-Open No. 2013-238573 is simply described. In "active nominal scanning measurement," a composite vector V expressed as the following (Formula 1) is treated as a displacement command for a probe. When the probe is displaced based on the composite vector V, the probe (pen tip) moves along the PCC curve and performs a measurement scan of the workpiece surface (in other words, the "active nominal scanning measurement") with a constant indentation amount. V=Gf×Vf+Ge×Ve+Gc×Vc
[0010] A simple description of the formula is given with reference to Fig. 1 provided. In Fig. 1, the PCC curve (i.e., the scanning path) lies at a point that is offset by the predetermined amount (pen tip radius r - reference depression amount E0) from the design data (contour point data). Fig. 1, an actual workpiece is slightly shifted from the design data.
[0011] A vector Vf is a displacement velocity vector. The displacement velocity vector Vf is oriented in a direction that runs from an interpolation point (i) toward the next interpolation point (i+1) on the PCC curve. The magnitude of the displacement velocity vector Vf is determined, for example, based on the curvature of the PCC curve at the interpolation point (i) (see, for example, Japanese Patent Laid-Open No. JP 2014-21004 A).
[0012] A vector Ve is a depression amount correction vector and sets a depression amount Ep of the probe as a predetermined reference depression amount E0 (e.g., 0.3 mm). (The depression amount correction vector Ve is necessarily parallel to a normal line of the workpiece surface.)
[0013] A vector Vc is a course correction vector. The course correction vector is parallel to a perpendicular line running from the probe position to the PCC curve. Gf, Ge, and Gc are a scanning drive gain, a depression direction correction gain, and a course correction gain, respectively.
[0014] An example PCC curve is shown in Fig. 2. A PCC curve L_PCC, which is continuous from point P1 to point P7, is divided into several segments at points P. (Each segment is also a PCC curve). An end point of each segment is a starting point of the following segment (PCC curve). Here, coordinates of the starting point of the segment are given as (K X0 , K Y0 , K Z0), and a length of a straight line between the start point and the end point on the PCC curve is defined as D. When so defined, the coordinates {X(S), Y(S), Z(S)} at a desired position on the PCC curve are calculated by the formulas below using coefficients that represent a cubic curve (K X3 , K X2 ...K Z1 , K Z0 ) express, expressed. X(S)=KX3S3+KX2S2+KX1S+KX0 Y(S)=KY3S3+KY2S2+KY1S+KY0 Z(S)=KZ3S3+KZ2S2+KZ1S+KZ0
[0015] If the workpiece is formed in a simple shape such as a flat surface or a circle with a constant curvature, the path for the scanning measurement can be a simple shape such as a straight line or a circle, and therefore, dividing the PCC curve into many segments is not required. However, a measuring point on the workpiece has a complicated shape, and in order to perform a very accurate scanning measurement while accurately tracking such a measuring point, the number of segments must be increased by finely dividing the PCC curve into pieces. For example, to perform the scanning measurement of a contour shape of the Fig. 3, the PCC curve must be divided into segments at a location where, for example, the curvature changes, as in Fig. 4. In such cases, the following problem has arisen.
[0016] As the number of segments increases, the parameters (coefficients of the PCC curve) included in the measurement command become enormous. A control device (motion control unit) of a form measuring machine also has an upper limit on memory capacity. Therefore, even if the scanning measurement path is continuous, a measurement command containing enormous information (coefficients) cannot be received or processed at one time. Consequently, the measurement command must be divided to avoid exceeding the memory capacity of the control device (motion control unit).
[0017] An example is considered in which the memory capacity of the control device (motion control unit) is capable of storing coefficient information (a measurement command) of up to eight segments. (In an actual machine, several thousand (for example, 2000) segments can be stored. In this example, the number is smaller for easier understanding.) Then, the measurement command is divided as shown in Fig. 5. A measurement command C1 includes information for eight segments. The following measurement command C2 also includes information for eight segments.
[0018] In the present state, divided individual measurement commands are divided and processed as separate measurement commands (measurement points) without any relationship to each other. Fig. Figure 6 shows an image in which each measurement command is separated from the others. (A connection between measurement command C1 and measurement command C2 is removed.)
[0019] A first measurement command is defined as "approach → scan measurement → stop → retract." Therefore, a "stop → retract → approach" operation occurs between the first measurement command and the following measurement command. Fig. 7 illustrates a speed plan for each measurement command C. As in Fig. 7, at the end of the measurement command C1, the displacement speed of the probe is zero and the probe stops, performs a retraction and then performs the approach and moves to the measurement command C2.
[0020] Furthermore, it takes a considerable amount of time for the subsequent "approach" to start after the "retraction" has been performed. After the retraction, the controller receives the subsequent measurement command, and then generates the speed plan according to the curvature of each segment. The calculation time is the waiting time. This waiting time is considerably longer when a large amount of data is being received and calculated, which is close to the upper limit of the memory capacity of the controller (motion control unit).
[0021] If the form measuring device stops completely in the middle of a measurement operation that should be continuous, a user may feel uncomfortable. Furthermore, from a data processing perspective, the measurement path should be a continuous line, and therefore, sample data obtained with the divided measurement commands must be connected at the end. However, such a connection process is complicated. If the stop process occurs in between, it also causes a drop in measurement accuracy, which is affected by deceleration or acceleration. SUMMARY OF THE INVENTION
[0022] The present invention provides, according to a first aspect, a control method for a form measuring device according to claim 1. Further aspects of the invention are the subject of the subclaims, the drawings and the description of embodiments.
[0023] The control method for the shape measuring device according to the present invention includes a probe having a stylus tip at a front end and a displacement mechanism that displaces the probe. It detects contact between the stylus tip and a surface of a workpiece and measures a shape of the workpiece. Based on design data of the workpiece, the method finds a scanning path over which the stylus tip is to be displaced and displaces the stylus tip along the scanning path while controlling the indentation amount of the probe toward the workpiece to maintain a reference indentation amount.During this operation, the scanning path is divided every predetermined number of segments, and a set of measurement commands Ci (i is an integer from 1 to n+1) is defined for each of the predetermined number of segments. While the measurement command Ci is being executed, a velocity pattern plan is generated for the following measurement command Ci+1. At this time, scheduling is performed so that a final velocity of a velocity pattern plan Pvi of the measurement command Ci is the same as an initial velocity of a velocity pattern plan Pvi+1 of the measurement command Ci+1. The end of the measurement command Ci and the beginning of the measurement command Ci+1 are connected, and the probe is displaced without stopping. The final velocity of the velocity pattern plan Pvi of the measurement command Ci and the initial velocity of the velocity pattern plan Pvi+1 of the measurement command Ci+1 are not 0 mm / s.
[0024] In one embodiment of the present invention, preferably, the final speed of the speed pattern plan Pvi of the measurement command Ci is set to a low speed of 1 mm / s to 5 mm / s.
[0025] In one embodiment of the present invention, preferably, when a time required to generate the speed pattern map corresponding to one measurement command Ci is referred to as a scheduling calculation time Tp, a gap time (from a current time to an estimated end time of the one measurement command Ci) is continuously calculated while the measurement command Ci is being executed; when the gap time is longer than the scheduling calculation time Tp, a link speed map is generated to keep the initial speed of the speed pattern map Pvi+1 of the measurement command Ci+1 the same as the end speed of the speed pattern map Pvi of the measurement command Ci; and when the gap time is shorter than the scheduling calculation time Tp, an individual speed map is generated to keep the initial speed of the speed pattern map Pvi+1 of the measurement command Ci+1 at zero.
[0026] According to the invention, the number of segments contained in a measurement command Cn and the number of segments contained in a measurement command Cn + 1 are averaged. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The present invention will be further described in the following detailed description with reference to the accompanying several 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; Fig. 1 schematically shows a relationship between design data (contour point data), a PCC curve and a composite vector V; Fig. 2 an example PCC curve; Fig. 3 an exemplary complicated path for the sampling measurement (PCC curve); Fig. 4 an example in which the PCC curve is divided into segments; Fig. 5 an exemplary divided measurement command; Fig. 6 an exemplary divided measurement command; Fig. 7 a speed plan for each measurement command C; Fig. 8 an overall configuration of a shape measuring system; Fig. 9 is a functional block diagram showing a motion control unit and a host computer; Fig. 10 shows a configuration of a measurement command receiving device; Fig. 11 shows a configuration of a relocation command generator; Fig. 12 schematically shows a state in which measurement commands Ci and Ci + 1 are stored in a first buffer and a second buffer, respectively; Fig. 13 is a flowchart describing operations when a host computer 500 supplies a measurement command to the motion control unit; Fig. 14 is a flowchart illustrating a procedure for generating divided measurement commands Ci; Fig. 15 an example in which the PCC curve is divided in every fourth segment; Fig. 16 is a flowchart describing operations when the measurement commands are alternately stored in the first buffer and the second buffer; Fig. 17 is a flowchart showing a procedure when a speed pattern is generated based on the measurement command Ci stored in a buffer 321 or 322; Fig. 18 an example individual speed plan; Fig. 19 shows an example connection speed plan; Fig. 20 is a flowchart illustrating a procedure of a probe performing a scanning displacement based on the measurement command Ci and the speed pattern plan Pvi; Fig. 21 is a flowchart illustrating a procedure of the probe performing a scanning displacement based on the measurement command Ci and the speed pattern plan Pvi; and Fig. 22 is a flowchart illustrating a connection determination procedure. DETAILED DESCRIPTION OF THE INVENTION
[0028] The specifics shown herein are merely exemplary and for the purpose of illustratively discussing embodiments of the present invention, and are presented in the name 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 a basic understanding of the present invention, the description with the drawings making it apparent to those skilled in the art how the forms of the present invention may be embodied in practice.
[0029] A description of an embodiment of the present invention will be given with reference to the drawings and to the reference numerals assigned to each component in the drawings. First embodiment
[0030] Fig. 8 illustrates an overall configuration of a shape measuring system 100. The shape measuring system 100 includes a coordinate measuring machine 200, a motion control unit 300 that controls the activation of the coordinate measuring machine 200, and a host computer 500 that controls the motion control unit 300 and performs the necessary data processing.
[0031] The coordinate measuring machine 200 includes a table 210, a displacement mechanism 220 and a probe 230.
[0032] The displacement mechanism 220 includes a gate-shaped Y-slide 221 provided to slide over the table 210 in a Y-direction, an X-slide 222 that slides along a beam of the Y-slide 221 that lies in an X-direction, a Z-axis column 223 fixed to the X-slide 222, and a Z-spindle 224 that rises and falls within the Z-axis column 223 in a Z-direction.
[0033] A drive motor (not shown in the drawings) and an encoder (not shown in the drawings) are attached to each of the Y-carriage 221, the X-carriage 222, and the Z-spindle 224. Each drive motor is controlled by a drive control signal from the motion control unit 300 in the drive. The encoders detect a displacement amount of the Y-carriage 221, the X-carriage 222, and the Z-spindle 224, respectively, and output detection values to the motion control unit 300. The probe 230 is attached to a lower end of the Z-spindle 224.
[0034] The probe 230 includes a stylus 231 having a stylus tip 232 at a front end (-Z-axis direction side) and a support 233 supporting a base end (+Z-axis direction side) of the stylus 231. The stylus tip 232 is spherical and comes into contact with a measured object W.
[0035] When an external force is applied to the stylus 231 (in other words, when the stylus tip 232 is in direct contact with the measured object), the support 233 supports the stylus 231 to allow displacement of the stylus 231 within a fixed range in each of the X-, Y-, and Z-axis directions. Furthermore, the support 233 includes a probe sensor (not shown in the drawings) that detects a position of the stylus 231 in each axis direction. The probe sensor outputs the detection value to the motion control unit 300. Configuration of the motion control unit 300
[0036] Fig. 9 is a functional block diagram of the motion control unit 300 and the host computer 500. The motion control unit 300 includes a measurement command obtainer 310, a counter 330, a displacement command generator 340, and a drive control unit 350.
[0037] The measurement command receiving device 310 receives PCC curve data from the main computer 500. Fig. 10 shows a configuration of the measurement command retainer 310. The measurement command retainer 310 includes a memory control unit 311, a first buffer 321, a second buffer 322, and a memory flag information storage section 312. The measurement command retainer 310 is a memory device, but the memory is divided into multiple pieces (two in this example). For example, if the measurement command retainer 310 has a total capacity capable of storing measurement commands for 2000 segments, the first buffer 321 and the second buffer 322 can each store measurement commands for 1000 segments. Fig. 12 schematically illustrates a state in which measurement commands Ci and Ci+1 are stored in the first buffer 321 and the second buffer 322, respectively.
[0038] A small number is used only to facilitate understanding of the present embodiment. For example, if the total capacity of the measurement command receiving device 310 can store measurement commands for eight segments, the first buffer and the second buffer can each store measurement commands for four segments by distributing the measurement commands between the first buffer and the second buffer. For ease of explanation below, the maximum value for the number of segments that can be stored in a buffer is defined as P.
[0039] The working memory flag information storage section 312 is attached to the measurement command receiving device 310. A buffer identification flag B and buffer status flags SB(1) and SB(2) are stored in the working memory flag information storage section 312. The buffer identification flag B uses the first buffer 321 and the second buffer 322 alternately and indicates the next buffer to be used, and therefore the value alternates between 1 and 2.
[0040] A first status flag SB(1), which is a status flag for the first buffer 321, and a second status flag SB(2), which is a status flag for the second buffer 322, are provided as buffer status flags SB(1) and SB(2). The value of each of the first status flag SB(1) and the second status flag SB(2) alternates between 0 and 1. In the present embodiment, "0" indicates a writable state, and "1" indicates a non-writable state.
[0041] Counter 330 counts detection signals output from the encoders and measures a displacement amount for each carriage. Counter 330 also counts detection signals output from the probe sensor and measures a displacement amount of probe 230 (pin 231). From the measured displacement of the carriages and probe 230, a coordinate position PP of pin tip 232 (hereinafter, probe position PP) is obtained. From the displacement of pin 231 measured by counter 330 (detection values (Px, Py, and Pz) of the probe sensor), a depression amount (absolute value of a vector Ep) of pin tip 232 is also obtained.
[0042] The displacement command generator 340 calculates a displacement path of the probe 230 (pen tip 232) for measuring the surface of the measured object with the probe 230 (pen tip 232) and calculates a velocity vector along the displacement path. Fig. 11 shows a configuration of the relocation command generator 340. The relocation command generator 340 includes a speed pattern planner 341, a vector command generator 344, a connection determination unit 345, and a central processing unit (CPU) 348. Furthermore, a connection determination flag storage section 346 and a timer 347 are attached to the connection determination unit 345. The operations of each component will be described below with reference to flowcharts.
[0043] The drive control unit 350 controls the activation of each carriage based on the displacement vector calculated by the displacement command generator 340.
[0044] Further, a manual control unit 400 is connected to the motion control unit 300. The manual control unit 400 includes a joystick and a variety of buttons, receives a manual input operation from a user, and sends an operation instruction from the user to the motion control unit 300. In this case, the motion control unit 300 (drive control unit 350) controls the activation of each carriage based on the operation instruction from the user. Configuration of the main computer 500
[0045] The host computer 500 is configured to include a CPU (Central Processing Unit) 511, a RAM, and the like, and controls the coordinate measuring machine 200 via the motion control unit 300. The host computer 500 further includes a RAM section 520 and a shape analyzer 530. The RAM section 520 stores design data (such as CAD data and NURBS data) related to a shape of the measured object (workpiece) W, measurement data obtained from the measurements, and a measurement control program that controls the entire measurement operations.
[0046] The shape analyzer 530 calculates surface shape data of the measured object based on measurement data output from the motion control unit 300 and performs shape analysis to detect errors, distortions, and the like in the calculated surface shape data of the measured object. In addition, the shape analyzer 530 also performs calculations such as converting the design data (CAD data, NURBS data, and the like) into a PCC curve.
[0047] The measurement operations of the present embodiment are executed by operating the measurement control program using the CPU (Central Processing Unit) 511.
[0048] An output device (a display or a printer) and an input device (a keyboard or a mouse) are connected to the host computer 500 as required.
[0049] The control method for the shape measuring device according to the present embodiment will be described with reference to the flowcharts. The operations of the host computer 500 will be described with reference to Fig. 13 and Fig. 14. The operations in Fig. 13 and Fig. 14 are executed by the control program stored in the working memory section 520 and by the shape analyzer 530.
[0050] Fig. Fig. 13 is a flowchart describing operations when the host computer 500 supplies a measurement command to the motion control unit 300. First, the shape analyzer 530 generates a PCC curve, which is a path for the scanning measurement, using the CAD data or the like supplied from an external source (ST110). This operation has already been described in the prior art. (For example, see Fig. 1 to 3). Furthermore, the total number of segments of the PCC curve is denoted as M (ST120).
[0051] The measurement command obtaining means 310 of the motion control unit 300 includes the first buffer 321 and the second buffer 322, and the maximum value for the number of segments that each buffer can receive is denoted by P. Therefore, when the total number of segments M of the PCC curve is equal to or less than P (ST130: NO), coefficient information of all segments included in the continuous PCC curve can be received as one measurement command by the measurement command obtaining means 310. In this case, the shape analyzer 530 generates the coefficient information of all segments as a measurement command C1 (ST131) and sends the measurement command C1 to the measurement command obtaining means 310 of the motion control unit 300 (ST132). The operation itself is the same as that in the prior art.
[0052] However, if the total number of segments M of the PCC curve exceeds P (ST130: YES), coefficient information of all segments cannot be received by the measurement command obtaining means 310 as one measurement command. In the present embodiment, the measurement command obtaining means 310 is intentionally divided into two buffers so that the number of segments (P) that can be received at once is small, and therefore the total number of segments M is likely to exceed P.
[0053] In this case, the shape analyzer 530 generates divided measurement commands Ci (ST140). As in the conventional case, the number of segments included in one measurement command is basically set equal to or less than the buffer capacity. In the present embodiment, the number of segments included in each measurement command is also averaged, and therefore, this procedure is performed using Fig. 14 described in order.
[0054] Fig. Figure 14 is a flowchart illustrating a procedure for generating the divided measurement command (divided measurement command) Ci. First, the number of divisions (n + 1) is determined based on the relationship between the total number of segments M and the buffer capacity P (ST141). In other words, the largest quotient n satisfying M = P x n + m is determined, and the remainder is referred to as m.
[0055] It is possible to generate (n + 1) measurement commands by simply dividing the PCC curve every P segments. However, the number of segments included in each measurement command Ci is averaged, with little attention paid to the final residue m. In other words, when the residue m is less than (P / 4) (ST142: YES), only the last measurement command Cn + 1 has extremely little information. For the measurement commands C1 to Cn - 1, the number of segments is set to P according to the maximum value of the buffer capacity, as conventionally. However, the last measurement commands Cn and Cn + 1 are averaged using {(P + m) / 2} (ST143).
[0056] Fig. Figure 15 shows an example where the PCC curve is divided every fourth segment. In this example, the final remainder is "1" or P / 4 = 1 (ST142: NO). Therefore, the averaging process (ST143) is not performed (ST144), and the PCC curve is divided every P (= 4), and the number of segments in the last measurement command Cn + 1 is 1. Fig. 14, Ns (Ci) should also be interpreted as expressing the number of segments Ns contained in the measurement command Ci. The measurement command Ci (i = 1 ~ n + 1) is generated in this way.
[0057] With return to Fig. 13, moving forward, if one of the buffers 321 and 322 of the measurement command receiving device 310 is ready to receive (ST160: YES), the host computer 500 sends a measurement command Ci to the measurement command receiving device 310 of the motion control unit 300 in the order starting with the measurement command C1 (ST170). The value ("0" or "1") of the buffer status flags SB(1) and SB(2) expresses whether the buffers 321 and 322 of the measurement command receiving device 310 are ready to receive, and the host computer 500 constantly monitors the buffer status flags SB(1) and SB(2). The timing at which the values of the buffer status flags SB(1) and SB(2) are updated will be described later (ST214 and ST224 in Fig. 16 and ST441 in Fig. 20).
[0058] Next, the operations of the motion control unit 300 will be described. Fig. Fig. 16 is a flowchart describing operations when the measurement commands are alternately stored in the first buffer 321 and the second buffer 322 of the measurement command receiving device 310. The control operations in Fig. 16 are executed by the memory control unit 311. The memory control unit 311 determines when and in which buffer the data should be stored by referring to the status of the buffer identification flag B and the buffer status flags SB(1) and SB(2) stored in the memory flag information storage section 312.
[0059] First, the memory control unit 311 checks the status of the buffer identification flag B (ST210). The value of the buffer identification flag B alternates between "1" and "2." The timing at which the value changes will be described later (ST402 in Fig. 20).
[0060] If the value of the buffer identification flag B is "1" (ST210: YES), this indicates that it is time to use the first buffer 321, and the first status flag SB(1), which indicates the status of the first buffer 321, is checked (ST211). The status flags SB(1) and SB(2) show "0" to indicate a status in which the buffer is writable, and show "1" to indicate a status in which the buffer is not writable. (The timing at which the status flags SB(1) and SB(2) are updated to "0" will be described later (ST214 and ST224 in Fig. 16 and ST441 in Fig. 20)).
[0061] If the status flag SB(1) of the first buffer 321 is “0” (= writable state) (ST211: YES), the first buffer 321 is writable (ST212).
[0062] If the first buffer 321 is writable (ST212), the measurement command Ci can be transferred from the main computer 500 to the measurement command receiving device 310 (ST160 in Fig. 13: YES). Therefore, the measurement command Ci is transmitted from the host computer 500 to the measurement command receiving device 310. The measurement command Ci thus transmitted is stored in the first buffer 321 by the memory control unit 311 (ST213). When the measurement command Ci is newly stored in the first buffer 321, the memory control unit 311 updates the status flag SB(1) of the first buffer 321 to "1" (= non-writable).
[0063] However, if the buffer identification flag B is "2" in ST210, this indicates that it is time to use the second buffer 322, and therefore the memory control unit 311 proceeds to check the second status flag SB(2) indicating the status of the second buffer 322 (ST221). The operations thereafter correspond to the operations of writing data to the first buffer 321, so a lengthy description thereof will be omitted.
[0064] In this way, the measurement commands are stored sequentially, alternating between the first buffer 321 and the second buffer 322 (see, for example, Fig. 12).
[0065] Fig. Fig. 17 is a flowchart illustrating a procedure when a speed pattern is generated based on the respective measurement command Ci stored in each of the buffers 321 and 322 of the measurement command obtaining means 310. The speed pattern scheduler 341 sequentially reads the measurement commands Ci stored in the buffers 321 and 322 of the measurement command obtaining means 310 and generates a speed pattern corresponding to the respective measurement command Ci. See, for example, Fig. 7 (prior art) for an exemplary velocity pattern. The velocity pattern is appropriately generated by considering, for example, the curvature at each point on the PCC curve (segment), the required measurement accuracy, the allowable measurement time, and the like. The art of generating an individual velocity pattern corresponding to the respective provided PCC curve (segment) is already known.
[0066] The speed pattern scheduler 341 constantly monitors the buffer status flags SB(1) and SB(2) (ST310). "B" in SB(B) represents the value of the buffer identification flag B (1 or 2) at that time. Therefore, specifically, the speed pattern scheduler 341 first checks the value of the buffer identification flag B (1 or 2) and then checks the status (SB(B)) of the buffer 321 or 322 indicated by the buffer identification flag B.
[0067] The speed pattern scheduler 341 waits until the buffer status flag SB(B) becomes "1" (ST310: NO). When the buffer status flag SB(B) becomes "1" (ST310: YES), the speed pattern scheduler 341 reads the measurement command Ci stored in the B buffer (321 or 322) (ST320). The timing at which the buffer status flag SB(B) becomes "1" is as shown in Fig. 16: when a measurement command Ci is newly stored in the B buffer 321 or 322, the buffer status flag SB(B) becomes “1” (ST214 and ST224).
[0068] When the speed pattern planner 341 rereads the measurement command Ci (ST320), the speed pattern planner 341 proceeds to check a connection determination flag LF (ST330). The connection determination flag LF is a flag LF stored in the connection determination flag storage section 346, which indicates whether the measurement command Ci - 1 currently being processed and the subsequent measurement command Ci can be continuously executed. The connection determination flag LF is regularly updated based on the determination made by the connection determination device 345. How the connection determination device 345 determines the value of the connection determination flag LF (1 or 0) will be explained later with reference to the flowchart in Fig. 22. In this example, when the value of the connection determination flag LF is "1," it is determined that "the measurement command Ci - 1 currently being processed and the subsequent measurement command Ci can be connected," whereas when the value of the connection determination flag LF is "0," it is determined that "the measurement command Ci - 1 currently being processed and the subsequent measurement command Ci cannot be connected." The following description follows the above determination.
[0069] When the speed pattern planner 341 checks the connection determination flag LF (ST330), the value of the connection determination flag LF is "0" (ST340: NO). In other words, it is determined that "the measurement command Ci - 1 currently being processed and the subsequent measurement command Ci cannot be connected." In this case, the speed pattern planner 341 generates a "custom speed plan" based on the measurement command Ci. The custom speed plan is the same as the conventional speed plan except in one aspect.
[0070] As in Fig. As illustrated in Figure 15, the measurement command Ci is divided every fourth segment. Then, for example, the individual speed plan (see, for example, Fig. 18) is generated for each measurement command Ci. Each measurement command Ci is processed individually, without connecting it to the previous measurement command Ci - 1. In this case, the velocity pattern for executing the measurement command Ci approaches a measurement start point and starts from a zero velocity at the measurement start point. Then, according to the curvature and the like of each segment, the displacement velocity at which each segment (PCC curve) undergoes the scanning displacement is determined starting from the first segment. The processes up to this point are the same as in the past.
[0071] However, as a feature of the present embodiment, at the final end portion of the speed pattern, instead of decreasing the displacement speed to zero, a displacement region (low-speed displacement region L) with an extremely low speed (such as 3 mm / s) is set. The length (LL) of the low-speed displacement region is defined, for example, at about 3 mm. When the last segment of the measurement command Ci is less than 3 mm, the low-speed displacement region is secured by sequentially tracking the previous segments. When the total length of the measurement command Ci is less than 3 mm, the "low-speed displacement region" is not applied.
[0072] Therefore, when generating the individual speed pattern corresponding to the measurement command Ci, the length LL of the low-speed displacement region is subtracted from the final section of the measurement command Ci, and the speed pattern for the remainder is generated with an initial speed of 0 mm / s and a final speed of 3 mm / s. The final section is kept constant at 3 mm / s in the low-speed displacement region. The generated speed pattern pattern PVi is stored in a speed pattern storage section 343 (ST370).
[0073] When the speed pattern plan for the measurement command Ci is generated, an (estimated) start time tsi and an (estimated) end time tei for executing the measurement command Ci are automatically determined. For ease of explanation, based on the speed pattern plan PVi, the start time for executing the measurement command Ci is expressed as "tsi" and the end time is expressed as "tei."
[0074] Furthermore, the number of segments included in a measurement command Ci is known, and therefore the time required to generate the speed pattern plan corresponding to a measurement command is essentially constant. For ease of description below, the time required to generate the speed pattern plan corresponding to a measurement command is expressed by the scheduling calculation time Tp. The scheduling calculation time Tp can be set to a net time required to generate the speed pattern plan, however, the scheduling calculation time Tp may be better set to approximately 1.3 times the net time to allow for a slight tolerance.
[0075] With return to ST340 in Fig. 17, the value of the connection determination flag LF is "1" (ST340: YES). In other words, it is determined that "the measurement command Ci - 1 currently being processed and the subsequent measurement command Ci can be connected." In this case, the speed pattern planner 341 generates a connection speed plan.
[0076] The connection speed plan has only one difference from the individual speed plan. When the connection speed plan corresponding to the measurement command Ci is generated, the initial speed is set to 3 mm / s (see Fig. 19).
[0077] Even if the once-previous speed plan for the measurement command Ci is an individual speed plan or a joint speed plan, the final section of the speed plan should be 3 mm / s in the low-speed displacement range. During the execution of the measurement command Ci, if the initial speed of the probe is set to 3 mm / s, the displacement speed of the probe in the final section of the once-previous measurement command Ci - 1 and in the first section of the subsequent measurement command Ci are the same. Therefore, if the probe is displaced at the beginning of the measurement command Ci immediately after the final section of the measurement command Ci - 1, the probe 230 can be displaced continuously without stopping.When the connection speed plan is generated (in other words, the value of the connection determination flag LF is "1" (ST340: YES)), the probe can always be moved to the beginning of the measurement command Ci after the last section of the measurement command Ci - 1. The reason for this is explained in the flow chart in . Fig. 22 clearly described.
[0078] The generated speed pattern map Pvi is stored in the speed pattern storage section 343 (ST370).
[0079] At this point, when the link speed plan is generated for the measurement command Ci, the (estimated) start time tsi and the (estimated) end time tei for executing the measurement command Ci are determined in the same way as for the individual speed plan. However, for the link speed plan, the start time tsi for executing the measurement command Ci is the same as the end time tei - 1 of the previous measurement command Ci - 1.
[0080] Next, the displacement control of the probe with respect to Fig. 20 to 22 described. Fig. Figures 20 to 22 are flowcharts illustrating a procedure of the probe 230 performing a scanning displacement based on the measurement command Ci and the speed pattern plan Pvi. In addition, the buffer identification flag B and the buffer status flags SB(1) and SB(2) are also updated in conjunction with the progress of the probe's displacement control, and the description thereof is provided in the flowcharts. The control operations in Fig. 20 to 22 are executed by the relocation command generator 340, and more particularly, by the cooperation of the CPU 348, the vector command generator 344, and the connection determination means 345 of the relocation command generator 340. The descriptions are given step by step.
[0081] After the start, there is a short waiting time and the speed pattern plan corresponding to the initial measurement command C1 ( Fig. 17), is already during the initial start-up time of the displacement control of the probe in Fig. 20. Therefore, the operations can be performed according to the schedules in Fig. 20 to 22 are processed.
[0082] First, in ST401, the relocation command generator 340 extracts the value (1 or 2) of the current buffer identification flag B from the buffer flag information storage section 312 and stores the value in a parameter k. When the value of the current buffer identification flag B is extracted in this way (ST401), the value of the buffer identification flag B is updated (ST402). In other words, the relocation command generator 340 accesses the buffer flag information storage section 312 and updates the value of the buffer identification flag B (1 → 2 or 2 → 1).
[0083] The measurement command Ci stored in the buffer (1 or 2), which the displacement command generator 340 now accesses to perform the displacement control of the probe, is to be used thereafter and therefore must not be overwritten with the measurement command Ci+1 from the host computer 500. At the same time, the buffer (2 or 1), which the displacement command generator 340 does not access, is in a standby state. Therefore, the following measurement command Ci+1 is received by the buffer (2 or 1) in the standby state, and the speed pattern can be generated by the speed pattern planner 341. In view of this, the value of the buffer identification flag B is updated (1 → 2 or 2 → 1), and the following measurement command Ci+1 is issued by the buffer in the standby state using the above-mentioned memory control operation ( Fig. 16) received (ST213 and ST223).
[0084] The displacement command generator 340 reads the speed map Pvi stored in the speed pattern storage section 343 (ST403). From this point, the measurement command Ci is processed sequentially from the beginning, and the scanning displacement control of the probe 230 is performed. However, before the start, the execution start time tsi of the measurement command Ci is input into an internal time t of the timer 347 (ST404). Thereafter, the timer 347 adds one control cycle (Δt) to the internal time t in each control cycle (ST420) and measures the time in real time during the execution of the measurement command Ci.
[0085] When the previous steps have been completed, the displacement command generator 340 performs the scanning displacement control of the probe 230 based on the measurement command Ci (ST410). The composite vector V is generated by the vector command generator 344, and the drive control unit 350 drives the motors or the like according to the composite vector V and displaces the probe 230. This is a well-known process. According to the flowchart in Fig. 21, the vector command generator 344 sequentially reads the measurement command Ci stored in the k-buffer (ST411) and calculates the composite vector V for the next interpolation point (ST412). The drive control unit 350 controls the activation of each motor according to the composite vector V and performs the displacement of the probe 230 (ST413).
[0086] With return to Fig. 20, the timer 347 updates the internal time t with each control cycle of the probe displacement (ST420), and the connection determination device 345 performs a connection determination (ST430) with reference to the latest internal time t. The connection determination (ST430) is performed with reference to Fig. 22. The connection determination device 345 obtains the end time tei of the measurement command Ci from the speed plan Pvi of the measurement command Ci. By comparing the internal time t of the timer 347 and the end time tei, a gap time (tei - t) from the current time to the end time (tei) of the measurement command Ci is then found.
[0087] In other words, if the gap time (tei - t) continuously calculated in this way is longer than the scheduling calculation time Tp required for the speed scheduling process (ST431: YES), it means that the speed schedule for the subsequent measurement command Ci + 1 can be generated until the measurement command Ci currently being processed ends. Therefore, in this case, the value of the connection determination flag LF is set to "1," which means connectable.
[0088] When the value of the connection determination flag LF is set to "1," the speed pattern scheduler 341 is ready to read the connection determination flag FL (ST310 to ST330). In such a case, if the generation of the following speed pattern starts at this time, the speed schedule for the following measurement command Ci+1 can be generated until the measurement command Ci currently being processed ends. When the generation of the speed pattern for the following measurement command Ci is completed, the process can shift to the following measurement command Ci+1 immediately after the measurement command Ci currently being processed is executed. In other words, this means that the measurement command Ci currently being processed and the following measurement command Ci+1 can be connected. Consequently, the speed pattern scheduler 341 generates the connection speed schedule.
[0089] On the other hand, the process of the measurement command Ci continues, and the gap time (tei - t) gradually shortens, and consequently, the gap time becomes shorter than the scheduling calculation time Tp required for the speed scheduling process. Even if the generation of the speed pattern for the following measurement command Ci + 1 starts at this time, the speed plan for the following measurement command Ci + 1 will not be generated until the measurement command Ci currently in process ends, and is not in time. Therefore, if the gap time (tei - t) is shorter than the scheduling calculation time Tp (ST431: NO), the value of the link determination flag LF is updated to "0". When the value of the link determination flag LF is set to "0", the speed pattern planner 341 proceeds to read the link determination flag LF (ST310 to ST330), and the speed pattern planner 341 generates the individual speed plan.
[0090] Furthermore, in ST432, "n+1" is a number of the measurement command (i.e., the maximum value for i), and i reaching n+1 means that the measurement command Cn+1 is the last command, and the final speed of the measurement command Cn+1 is set to 0. Therefore, the connection determination flag LF is set to 0 for convenience, so that the individual speed plan is generated (ST432: NO).
[0091] With return to Fig. 20, until the internal time t reaches tei, a certain part of the measurement command Ci is still left and therefore the scanning displacement of the probe 230 is carried out according to the measurement command Ci by operating ST410 to ST440 in a loop.
[0092] When the internal time t reaches tei (ST440: YES), the process of the measurement command Ci ends. At this time, the measurement command in the k-buffer where the measurement command Ci was stored completes execution, and therefore the following measurement command Ci + 2 can continue to be written to the k-buffer. In view of this, the value of the buffer status flag SB(k) of the k-buffer is updated to "0."
[0093] When the value of the buffer status flag SB is updated to “0” (ST211 and ST221), as shown in Fig. 16 as a memory control operation, the buffer is ready to receive (ST212 and ST222) and a new measurement command C is stored in the buffer (ST213, ST214, ST223 and ST224 in Fig. 16). Then, the buffer status flag SB(B) becomes "1" (ST310), and a new speed pattern map is generated (ST350 and ST360). Further description is redundant and will not be repeated. However, it can be understood that by operating the control loop to which each function is assigned, the probe relocation (ST410) is performed sequentially.
[0094] In ST410 in Fig. 20 (ST411 to ST413 in Fig. 21), the control operation is to relocate the probe 230 using the vector command, and the motor control based on the vector command is similar to the conventional case. The significance of the present invention lies elsewhere, that is, in the (fine) subdivision of the PCC curve, the subdivision of the buffer, the working memory control, the speed pattern plan, and the like, and ST410 itself is performed conventionally. However, the type of probe relocation achieved in ST410 is different from the conventional case.
[0095] Conventionally, when the PCC curve (the path for scanning measurement) is long or the PCC curve includes a complex curvature change, the amount of information in the measurement command C exceeds the buffer capacity. Consequently, the probe 230 naturally stops in the middle of the continuous measurement path to perform retraction and approach. This was a major negative factor for measurement efficiency and subsequent data processing.
[0096] In this regard, in the present embodiment, the PCC curve is intentionally divided into a relatively small number of segments, and the buffer is also divided into two. By alternately using the buffers, even if the measurement command itself is divided, the probe displacement operation is continuous rather than divided. In other words, the following measurement command Ci+1 is received through a buffer while the measurement command Ci is being processed, and the following speed pattern map (connection speed map) is generated. After that, the measurement command Ci+1 is connected after the measurement command Ci.
[0097] However, there is no guarantee that the subsequent speed pattern plan (connection speed plan) will be generated in time. In the present embodiment, for the speed pattern plan, the low-speed displacement region L is provided at the end portion of each measurement command, and the displacement speed of the probe 230 is reduced to an extremely low speed (such as 3 mm / s). Even if the subsequent speed pattern plan (connection speed plan) is not generated in time, the speed is sufficiently reduced (deceleration is completed before the low-speed displacement region L), and therefore the motor can be stopped, and then retraction and the like can be performed.
[0098] Even if the measurement command Ci and the following measurement command Ci+1 can be connected, in this example, reducing the speed to a low speed (e.g., 3 mm / s) at each connecting section may appear slightly negative in terms of time efficiency. Ideally, taking the last segment of the measurement command Ci and the beginning segment of the following measurement command Ci+1 together, calculating the optimal speed using the end of the measurement command Ci and the beginning of the measurement command Ci+1, and passing through the connecting section at the optimal speed may be better. Although this may be possible using a ring buffer, currently, when generating the speed pattern plan segments, they cannot be processed sequentially, and a speed pattern plan is generated for each given section grouping (each measurement command Ci).In order to calculate the optimal speed of the section connecting the end of the measurement command Ci and the beginning of the measurement command Ci+1 each time, a major change in a speed pattern generation method is required. Furthermore, if the calculation is not completed in time, the probe 230 must be stopped, and the retreat and approach must be inserted. In this case, however, processing the interruption in the data with later data processing is likely. (The location where the probe 230 stopped can be found by tracing a working memory address, but the process is likely to be quite complicated.) Considering the above circumstances, in the present embodiment, the buffer is divided, and the sample passes at the predetermined low speed (no stopping) through the connecting sections between the divided measurement commands.In fact, in the present embodiment, the speed map of the following measurement command Ci+1 is generated while the measurement command Ci is in progress. Therefore, even if the low-speed region always appears, it is obvious that the measurement time can be significantly shortened compared to the conventional method, and subsequent data processing can be performed easily and at high speed because the probe does not stop.
[0099] Furthermore, the present invention is not limited to the embodiments described above and can be modified as needed without departing from the scope of the present invention. In the above-described embodiment, an active nominal sensing measurement is given as an example; however, a passive nominal sensing measurement may, of course, be used instead.
[0100] It should be noted that the foregoing examples have been provided for illustrative purposes only and are in no way intended to limit the present invention. Although the present invention has been described with reference to exemplary embodiments, it is to be understood that the words used herein are words of description and explanation rather than words of limitation. Changes may be made within the scope of the appended claims, as presently stated and as amended, without departing from the spirit and scope of the present invention in its aspects.Although the present invention has been described herein with reference to specific structures, materials, and embodiments, the present invention is not intended to be limited to the specifics disclosed herein; rather, the present invention extends to all functionally equivalent structures, methods, and uses, such as those within the scope of the appended claims.
Claims
[1] Control method for a shape measuring device (200) with a probe (230) having a pin tip (232) at a distal end and further with a displacement mechanism (220) that displaces the probe (230), wherein the device (200) detects contact between the pin tip (232) and a surface of a workpiece (W) and measures a shape of the workpiece (W), the method comprising: based on design data of the workpiece (W): Finding a scanning path along which the pen tip (232) is to be moved, via a main computer (500); and Receiving a command from the main computer (500) to a motion control unit (300); and Based on the command received from the main computer (500), the pen tip (232) is moved along the scanning path via the motion control unit (300), while a depth of depression of the probe (230) is controlled in the direction of the workpiece (W) so that it remains on a reference depth of depression, while the following processes are carried out by the motion control unit (300): Subdividing the scanning path after each predetermined number of segments, and defining a set of measurement commands Ci (i is an integer from 1 to n + 1) for each of the predetermined number of segments; Averaging the number of segments contained in the measurement command Cn and the number of segments contained in the measurement command Cn + 1; Generating a velocity pattern plan for the following measurement command Ci + 1 while the measurement command Ci is being executed; then carry out a planning such that a final velocity of a velocity pattern plan Pvi of the measurement command Ci is the same as an initial velocity of a velocity pattern plan Pvi + 1 of the measurement command Ci + 1; Connecting the end of the measurement command Ci and the beginning of the measurement command Ci +1; and Moving the probe (230) without stopping, wherein the final velocity of the velocity pattern plan Pvi of the measurement command Ci and the initial velocity of the velocity pattern plan Pvi + 1 of the measurement command Ci + 1 are not 0 mm / s. [2] Control method for the form measuring device (200) according to claim 1, which further comprises setting the final velocity of the velocity pattern plan Pvi of the measuring command Ci to a low velocity of 1 mm / s to 5 mm / s via the motion control unit (300). [3] Control method for the shape measuring device (200) according to claim 1, which, when a time required to generate the velocity pattern plan corresponding to a measurement command Ci is referred to as the planning calculation time Tp, comprises: Continuous calculation of a gap time (from a current time to an estimated end time of the single measurement command Ci) while the measurement command Ci is being executed; Generating a linkage speed plan to keep the initial speed of the speed pattern plan Pvi + 1 of the measurement command Ci + 1 equal to the final speed of the speed pattern plan Pvi of the measurement command Ci when the gap time is longer than the planning calculation time Tp; and Generating an individual velocity plan to keep the initial velocity of the velocity pattern plan Pvi + 1 of the measurement command Ci + 1 at zero if the gap time is shorter than the planning calculation time Tp. [4] Control method for the shape measuring device (200) according to claim 2, which, when a time required to generate the velocity pattern plan corresponding to a measurement command Ci is referred to as the planning calculation time Tp, comprises: Continuous calculation of a gap time (from a current time to an estimated end time of the single measurement command Ci) while the measurement command Ci is being executed; Generating a linkage speed plan to keep the initial speed of the speed pattern plan Pvi + 1 of the measurement command Ci + 1 equal to the final speed of the speed pattern plan Pvi of the measurement command Ci when the gap time is longer than the planning calculation time Tp; and Generating an individual velocity plan to keep the initial velocity of the velocity pattern plan Pvi + 1 of the measurement command Ci + 1 at zero if the gap time is shorter than the planning calculation time Tp.
Citation Information
Patent Citations
Device, method and program for measuring surface property
JP2008241420A
Shape measurement device
JP2013238573A
Shape measurement instrument and control method of shape measurement instrument
JP2014021004A
Touch signal probe and signal processing apparatus and signal processing method of the same
US20020180470A1
Apparatus, method and program for measuring surface texture
US20080236260A1