1. Field of the Invention
The present invention relates to a moving body placement determining method, a measuring apparatus, a machining apparatus, and a storage medium.
2. Description of the Related Art
Measuring apparatuses or machining apparatuses should preferably have a total processing time required for measurement or machining as short as possible. Here, the measuring apparatuses are apparatuses that move a measurement tool relative to an object to be measured so as to perform a measurement operation for desired points (target points) set on the object to be measured using the measurement tool. Also, the machining apparatuses are apparatuses that move a machining tool relative to an object to be machined so as to perform a machining operation for desired points (target points) on the object to be machined using the machining tool. In this case, when the measurement tool or the machining tool is a moving body, a fewer number of times of movement of the moving body is advantageous for reducing a total processing time. Thus, there have been proposed techniques that determine the placements of a moving body minimally required for covering (encompassing) all points expected to be measured or all points expected to be machined. WO 2003/064107 discloses a machining planning method for simply dividing all the machining areas into rectangulars having a predetermined size in both X-axis direction and Y-axis direction along which beams scan at high speed. In the method, division numbers of rectangulars in both X-axis direction and Y-axis direction are compared to each other to thereby set a scanning direction having a smaller division number, divided areas, and the placement of the moving body as a measurement condition.
However, the effect of the method disclosed in WO 2003/064107 depends greatly on the machining area of an object to be machined, and thus, can only be expected for a simple surface area such as rectangular or square. The first reason for this is that the scanning direction of the moving body is limited in the method and the second reason for this is that a condition of a machining accuracy (accuracy relative to the moving body) is not taken into account in the method. Even when the method is applied to a machining area undulated in the horizontal direction, such as an S-shaped surface, the result in which the number of placements of the moving body is minimized is not necessarily obtained due to the first reason. Even when the method is applied to a machining area such as a concave surface, a machining accuracy cannot be ensured by the limitations of an angle of incidence and the depth of focus due to the second reason.
The present invention provides, for example, a method for determining the placements of a moving body minimally required for covering target points set on an object while ensuring accuracy of processing by a moving body which performs a measurement operation or a machining operation.
According to an aspect of the present invention, a method for determining a placement of a moving body that moves to face an object and perform a process at a plurality of target points on the object, the method comprising the following steps executed by a processor: a step of setting candidates regarding the placement of the moving body for each of the plurality of target points; a step of obtaining a processable area, which is capable of being processed by the moving body in the object, corresponding to each of the set candidates; and a step of determining the candidate corresponding to a combination of the processable areas as the placement of the moving body by obtaining the combination of the processable areas satisfying the plurality of target points from among the obtained plurality of processable areas.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
Firstly, a description will be given of a moving body placement determining method according to one embodiment of the present invention. The determining method may be employed for an industrial apparatus (hereinafter simply referred to as “apparatus”) such as a measuring apparatus or a machining apparatus. Firstly, an object (hereinafter referred to as “work”) such as an object to be measured or an object to be machined is present, and a plurality of points to be measured or a plurality of points to be machined (hereinafter referred to as “target points”) is set on the work. The apparatus moves a measurement tool or a machining tool (hereinafter referred to as “moving body”) relative to a work so as to perform measurement or machining (hereinafter referred to as “processing”). Note that the determining method may be executed, for example, as a program by a general purpose information processing device (computer) or may also be executed by an information processing device provided in an apparatus to be described below. Firstly, a description will be given of the overall flow of the moving body placement determining method according to the present embodiment. Next, a description will be given of a case where the method is specifically applied to an apparatus.
Next, a moving body placeable area is obtained for each of the target points with reference to work information and accuracy condition information in step S12 (step 1B). Here, the term “moving body placeable area” refers to an area in which the moving body is capable of performing processing for a target point with desired accuracy. Note that the moving body placeable area obtained herein also includes a placement at which the moving body cannot actually process the work because the area does not take into account conditions regarding interference between a work and a moving body.
Next, moving body placement temporal candidates are set for each of the target points in step S13 (step 1C). Here, the term “moving body placement temporal candidate” refers to a temporal candidate which is included in the moving body placeable area and may become a moving body placement candidate. At least one or more of the temporal candidates is set for one moving body placeable area. Although the number of moving body placement temporal candidates set for one moving body placeable area may be any, the number is preferably as many as possible from the viewpoints of the confidence of a finally obtained solution. Note that the number is variable depending on the load on computation processing performed until the moving body placement temporal candidates are set or the load on computation processing in step S14 and subsequent steps. Examples of a method for setting moving body placement temporal candidates include a method for setting moving body placement temporal candidates which are equidistantly spaced apart from one another on a three-dimensional space, a method for setting moving body placement temporal candidates which are equiangularly spaced apart from one another about the center of the target point, and the like. The method for setting moving body placement temporal candidates may vary with the shape of a work, the specification of a moving body, or the like.
Next, it is determined in step S14 (step 1D) whether or not the moving body placement temporal candidates set in step S13 are capable of performing processing for a target point without interfering with the work with reference to work information and moving body information. Here, the term “interference” refers to a phenomenon where light projected from a moving body is interrupted by a part of a work when the apparatus to which the moving body placement determining method according to the present embodiment is applied is, for example, a measuring apparatus that measures the distance between the moving body and the work by using noncontact probe as a moving body and projecting light from the moving body to the work. In contrast, the term “interference” refers to a phenomenon where, for example, the main body (portion which is not directly involved with machining) of a machining tool is brought into contact with a work when the apparatus to which the moving body placement determining method according to the present embodiment is applied is, for example, a machining apparatus including a machining tool which machines the surface of the work by being brought into abutment therewith as a moving body.
The moving body placements which have been determined in step S14 to be capable of performing processing without interfering with the work are set to the moving body placement provisional candidates for each of the target points in step S15 (step 1E). Note that the following is performed when only one moving body placement temporal candidate is set in step S13. Specifically, in this case, for the moving body placement temporal candidate which has been determined to interfere with the work, the moving body placement at which the moving body is capable of performing processing with highest accuracy under the condition in which no interference occurs with the work is set as a new moving body placement temporal candidate and is directly set as a moving body placement provisional candidate.
Next, it is determined in step S22 (step 2B) whether or not the accuracy condition parameters obtained in step S21 satisfy the accuracy condition for each of the combinations of the moving body placement provisional candidates and the target points. Although it is preferable that determination is performed for all the combinations of the moving body placement provisional candidates and the target points, a part of the combinations may be omitted when there is a constraint on a calculation time. In addition, it is preferable that the determination criteria used herein is to simultaneously satisfy all the accuracy conditions, a part of the accuracy conditions may be ignored when there is a constraint on the number of moving body placement candidates.
Next, the target points which have been determined to satisfy the accuracy condition in step S22 are subject to grouping for each of moving body placement provisional candidates in step S23 (step 2C) and are set as a processable area.
The moving body placement provisional candidate having the largest processable area is set as a moving body placement for each of the target points in step S24 (step 2D). While a moving body placement provisional candidate is set for each of the target points in step S1, the sizes of the processable areas for moving body placement provisional candidates respectively corresponding to the target points are compared to each other. More specifically, the number of target points included in a processable area is compared with the number of target points included in other processable areas and then the moving body placement provisional candidate including the largest number of target points is set to a moving body placement candidate. Note that step S24 may be omitted depending on the number of moving body placement temporal candidates set in step S13. For example, when the number of moving body placement temporal candidates is one for each target point in step S13, only one moving body placement provisional candidate is set for each target point, and thus, there is no need to compare the size of the processable area in step S24.
Next, the cost of solving the SCP is defined as a precondition in step S32 (step 3B). In this case, the cost is the number of moving body placement candidates required for covering all the target points.
Next, the SCP is defined in step S33 (step 3C) so as to output a solution where the cost is minimized using the preconditions defined in steps S31 and S32. Here, database is created in accordance with the data format of a SCP solving unit. Note that an algorithm for SCP is not limited to a specific method but any algorithm may be used provided that it calculates a combination such that the number of placements of a moving body is minimized or sub-minimized. For example, a method for calculating an exact solution, such as Mixed Integer Programming or the like, may be used or a method for calculating a near-optimal solution, such as a moderating method or the like, may also be used. The SCP will be described in detail below.
Next, a detailed description will be given of step S4 together with the description of SCP. The SCP is a problem for selecting a combination of subsets such that the number of subsets required for covering all the elements of a set U is minimized when the set U and families of its subsets, i.e., S1, S2, . . . , and Sm are given. Note that a union of subsets S1, S2, . . . , and Sm is assumed to be equal to the set U. An algorithm used for solving SCP is Mixed Integer Programming. Mixed Integer Programming is an algorithm for calculating an exact solution to the given problem but may take a longer calculation time depending on a problem to be solved. Here, the term “exact solution” refers to a solution in which the cost is ensured to be minimized. Thus, as a method for reducing a calculation time, Mixed Integer Programming may be combined with a branch and bound method. In order to further reduce a calculation time, a moderating method for obtaining a near-optimal solution by moderating constraints may also be used. Here, the term “near-optimal solution” refers to a solution which is regarded as useful from the viewpoints of practical use because the cost is not ensured to be minimized but is sufficiently small as compared with other solutions. In particular, in the present embodiment, the placements of a moving body minimally required for covering all points expected to be measured or all points expected to be machined can be determined by solving the SCP using these methods.
Next, a description will be given of the case where the aforementioned moving body placement determining method is specifically applied to an apparatus. Here, as an example, the moving body placement determining method according to the present embodiment is applied to a measuring apparatus that contactlessly measures the distance between a moving body and a work or the shape of the work by projecting light from the moving body to the work.
Next, a detailed description will be given of the flow for determining the placement Q of the moving body 11 provided in the measuring apparatus 100 in accordance with steps from step S1 to step S4. Firstly, when processing is started in step S1, the coordinates of the target points P, the shape of the work 10, and the placement of the work 10 as shown in
Next, a moving body placeable area R (R1 to R7) is obtained for each of the target points P in step S12.
Next, the moving body placement temporal candidates K (K11 to K16) are set for each of the target points P in step S13.
Next, it is determined in step S14 whether or not the moving body placement temporal candidates K are capable of performing measurement for the target point P without interfering with the work 10.
The moving body placement temporal candidates K (in the example shown in
Here, a description will be given of determination in step S14 and settings in step S15 when only one moving body placement temporal candidate K is set for each target point P in step S13.
Next, the process shifts to step S2. Firstly, accuracy condition parameters are obtained for each of combinations of the moving body placement provisional candidates M and the target points in step S21.
Next, accuracy condition parameters obtained in step S21, which are an angle of incidence and the optical path length of incident light, are compared with accuracy condition information which is information about the maximum angle of incidence of the moving body 11, a focal distance, and the depth of focus in step S22. Then, it is determined whether or not the condition of an angle of incidence and the condition of the optical path length simultaneously satisfy accuracy conditions.
Next, an area capable of being processed by the moving body 11 is set for each moving body placement provisional candidate M based on the results of determination in step S22 in step S23.
Next, the sizes of the processable areas T set for the moving body placement provisional candidates Q respectively for the target points P are compared to each other in step S24. In the example shown in
Next, the process shifts to step S3 and the processable areas T respectively set for the moving body placement candidates N in step S2 are defined as an SCP as described above. The SCP defined in step S3 is solved in step S4. By performing a series of steps from step S1 to step S4, a combination of the moving body placements Q selected as the placements where the cost is minimized from among the moving body placement candidates N and the processable areas T corresponding thereto can be finally obtained.
As described above, according to the present embodiment, a method for determining the placements of a moving body minimally required for covering all the target points set on an object while ensuring accuracy of processing by the moving body may be provided. Consequently, an apparatus that employs the moving body placement determining method can reduce a total processing time while ensuring accuracy of processing.
While, in the present embodiment, a description has been given of the case where the placement of the moving body is determined by solving a set covering problem, the present invention is not limited thereto. The candidate corresponding to a combination of processable areas may also be determined as the placement of the moving body by obtaining the combination of the processable areas satisfying a plurality of target points set on an object from among a plurality of processable areas.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2013-101283 filed on May 13, 2013, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2013-101283 | May 2013 | JP | national |