Method and computer device for selecting a measuring sequence for a coordinate measuring machine
Patent Information
- Application Number
- DE502019013892
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2019-04-08
- Publication Date
- 2025-10-02
- Estimated Expiration
- 2039-04-08
AI Technical Summary
Existing TSP algorithms for determining measurement sequences in coordinate measuring machines are inefficient, requiring long computing times and often getting stuck in local optima, leading to potential delays and unsuitable measurement sequences.
Employ multiple algorithms to generate and evaluate various measurement sequences, combining algorithms with different speeds and qualities to increase the likelihood of finding an absolute optimum and considering conditions such as collision avoidance and relative relationships between surface areas.
This approach significantly reduces the risk of getting trapped in local optima, allows for faster and more efficient determination of optimal measurement sequences, and ensures compliance with practical constraints, thereby minimizing non-value-adding movements and enhancing the overall measurement process.
Description
[0001] The invention relates to methods and computer devices for determining a measuring sequence for a coordinate measuring machine.
[0002] When measuring an object with a coordinate measuring machine, the machine typically performs a series of measuring operations. The measuring operations serve to determine predetermined properties, particularly predetermined geometric properties, of surface areas of the object. During a measuring operation, the coordinate measuring machine determines the spatial coordinates of points on the object's surface or in the surface area, from which the predetermined property can then be determined. Examples of such properties, which are also referred to as test characteristics, include roundness, parallelism, flatness, or surface roughness.
[0003] The surface areas, however, can be assigned to specific geometric features of the object or, in other words, be formed by or encompass them. The surface areas can generally be referred to as measurement elements. Examples of such surface areas are a cylinder (e.g., in the form of a hole, a groove, or a projection), a circle, a sphere, or a point.
[0004] One way to define a measurement sequence according to which a given object is to be measured is to select the relevant geometric features or surface areas, or more generally, measurement elements, to be measured. In particular, for each measurement element, it can be specified which properties (i.e., which test characteristics) are to be measured and thus determined. The properties can also be determined relative to and / or in relation to another measurement element, e.g., as the distance or angle of one measurement element to another. Such specifications can be made using a CAD model of the object.
[0005] For example, an operator can select a hole in the object as a surface area or measuring element and specify that its diameter and depth should be determined as its properties. They can also select a projection as a surface area and specify that its height should be determined as its property. In this way, a plurality of corresponding surface areas, and in the case of complex components, even a large number of surface areas, can be determined, along with the properties to be determined for each of them. In other words, the measurement task to be performed by a coordinate measuring machine for an object can consist of numerous measuring elements, each with its own inspection features to be measured.
[0006] To measure the surface areas, a measuring sensor is attached to the coordinate measuring machine in a manner known per se. This measuring sensor can operate tactilely (i.e. with a tactile probe) or contactlessly (for example if it is designed as an optical sensor, e.g. as a camera and / or as an optical distance sensor). To measure the surface areas, this measuring sensor must be arranged by the coordinate measuring machine in at least one predetermined position and / or with a predetermined orientation. The position and / or orientation can result from the requirement to assume a corresponding relative arrangement to the object in order to be able to determine a desired property. For example, this can then be used to probe a specific point on the surface of the object or to image an area with multiple points.
[0007] The surface regions can be spaced apart relative to one another, i.e., positioned on the object so as to be separate from one another and / or at least not completely overlapping. However, they can also overlap at least partially. To reach the respective surface regions and / or at least to assume the position(s) and / or orientation(s) assigned to each surface region, the measuring sensor is moved relative to the object. In particular, it can be moved from surface region to surface region if several consecutive surface regions are to be measured. In other words, the measuring sensor can be moved from position to position or from orientation to orientation, wherein the positions or orientations are assigned to the consecutive surface regions.
[0008] Each of these non-measuring movements requires time during which no object measurement is performed and can therefore be considered non-value-adding. Consequently, such movements, and the time required for them, should be kept as short as possible.
[0009] Therefore, approaches are known with which surface areas to be measured on an object are sorted in terms of a measurement sequence (or, in other words, processing sequence) in such a way that the required extent of movement between the surface areas is as small as possible.
[0010] In this context, US Pat. No. 5,465,221 A teaches the creation of a so-called inspection plan, in which inspection points are sorted in an efficient order. For this purpose, the possibilities for using "traveling salesman" algorithms are also mentioned.
[0011] In a well-known way, "traveling salesman" algorithms are used to solve the so-called "traveling salesman problem" (TSP). Metaphorically speaking, these algorithms are intended to determine an optimal route—for example, the shortest and / or fastest—for traveling to multiple areas or points, as a traveling salesman would have to do when traveling to multiple locations. Such algorithms are also referred to herein as TSP algorithms.
[0012] There are several different types of algorithms aimed at solving this problem, or more generally, a sorting problem. These are generally optimization algorithms that determine the ordering in such a way that a desired evaluation variable (for example, a so-called cost variable) is optimized (e.g., maximized or minimized, preferably minimized in the case of the cost variable).
[0013] For this purpose, various sortings (or, in other words, routes or (measurement) sequences) are created by the algorithm, and a value of an evaluation variable is determined for each of the sortings. When viewed across a plurality of sortings or routes, the evaluation variable is subject to changes and exhibits local as well as absolute extrema or optima. This becomes clear when their values are plotted along a first coordinate axis and the corresponding sortings or routes along a second coordinate axis. By creating such a graph (but also independently of this, for example, by reading from a table of values), it becomes clear that the evaluation variable can exhibit local optima as well as an absolute optimum. An example of such a graph can be found in the following Figure 5of this disclosure. The corresponding optimal sortings can then be selected in order to perform an actual workpiece measurement according to their specifications (i.e., to control the coordinate measuring machine based on this).
[0014] However, previously used TSP algorithms are characterized by several disadvantages. For example, they can require a very long computing time until they find an absolute optimum. Furthermore, even after finding a local optimum, they cannot always find another, possibly absolute optimum and / or determine whether the optimum is actually only a local or the absolute optimum. Figuratively speaking, known TSP algorithms cannot always escape from local optima to determine further sortings and the associated evaluation variables. This is also illustrated by the following Figure 5 this revelation.
[0015] From an operator's perspective, this can lead to undesirable delays in the planning phase of object measurements using a coordinate measuring machine, for example, during the creation of so-called test plans. There may also be uncertainty as to whether a determined measurement sequence is actually sensible or optimal, or whether it ensures maximum efficiency.
[0016] Furthermore, current TSP algorithms do not always adequately consider conditions (e.g., boundary conditions) that must be met during the measurement process. Therefore, even if a measurement sequence with preferred values for the evaluation parameter has been determined, it may turn out to be unsuitable for practical object measurement. This, in turn, can lead to delays due to the need for replanning or even damage to the object or coordinate measuring machine when implementing this measurement sequence.
[0017] RAAD SALMAN ET AL, "An Industrially Validated CMM Inspection Process with Sequence Constraints", PROCEDIA CIRP, NL, 01.01.2016, Vol. 44, No. 44, doi:10.1016 / j.procir.2016.02.136, ISSN 2212-8271, pages 138 - 143, describes an inspection procedure using a coordinate measuring machine.
[0018] HAN ZHENHUA ET AL, "A 3D measuring path planning strategy for intelligent CMMs based on an improved ant colony algorithm", THE INTERNATIONAL JOURNAL OF ADVANCED MANUFACTURING TECHNOLOGY, SPRINGER, LONDON, Vol. 93, No. 1, doi:10.1007 / S00170-017-0503-Y, ISSN 0268-3768, 16.06.2017, pages 1487 - 1497, describes a method for path planning for a coordinate measuring machine.
[0019] HAN Z ET AL, "Path planning method for intelligent CMMs based on safety and the high efficiency principle", INTERNATIONAL JOURNAL OF ADVANCED MANUFACTURING TECHNOLOGY, 01.04.2018, SPRINGER LONDON GBR, Vol. 95, No. 9-12, doi:10.1007 / S00170-017-1500-X, pages 4003 - 4012, describes a method for path planning for a coordinate measuring machine.
[0020] QU L ET AL, "Optimization of the measuring path on a coordinate measuring machine using genetic algorithms", MEASUREMENT, INSTITUTE OF MEASUREMENT AND CONTROL. LONDON, GB, 01.04.1998, Vol. 23, No. 3, doi:10.1016 / S0263-2241(98)00023-2, ISSN 0263-2241, pages 159 - 170, describes a method for optimizing path planning for a coordinate measuring machine.
[0021] ZHAO F ET AL, "Computer-Aided Inspection Planning-The state of the art", COMPUTERS IN INDUSTRY, ELSEVIER, AMSTERDAM, NL, Vol. 60, No. 7, doi:10.1016 / J.COMPIND.2009.02.002, ISSN 0166-3615, 01.09.2009, pages 453 - 466, describes methods for computer-based inspection planning.
[0022] LI Y ET AL, "Free-form surface inspection techniques state of the art review", COMPUTER AIDED DESIGN, ELSEVIER PUBLISHERS BV., BARKING, GB, 01.11.2004, Vol. 36, No. 13, doi:10.1016 / J.CAD.2004.02.009, ISSN 0010-4485, pages 1395 - 1417, describes inspection methods.
[0023] The invention is therefore directed to the task of improving the determination of measurement sequences suitable for practical use for measuring an object with a coordinate measuring machine.
[0024] This object is achieved by the method and a computer device according to the appended independent claims. Advantageous further developments are specified in the dependent claims.
[0025] It is understood that all of the above remarks, features, steps and interactions may also be provided in the present solution, unless otherwise stated or apparent.
[0026] It is generally proposed, but not claimed, to use several algorithms to avoid the above-mentioned problems, each of which individually varies or changes a measurement sequence. In particular, each of the algorithms can be used to change the measurement sequence, preferably multiple times, and evaluation parameters can be determined for each changed measurement sequence using the algorithms.
[0027] This offers several advantages over the previous use of just one TSP algorithm. Firstly, the number of different measurement sequences for which evaluation variables are determined can be increased, so that one suitable measurement sequence can be selected from a larger number. This can also be done more quickly, i.e., a correspondingly larger number of measurement sequences can be considered within a specified time period than if only one algorithm were used. Furthermore, the probability is increased that at least one of the algorithms can escape from reaching a local optimum of the evaluation variable (in particular a local minimum) and / or that none of the algorithms becomes trapped in a local optima.
[0028] The algorithms can also be combined in such a way that they at least partially compensate for a weakness of the other algorithm. For example, a fast and a slow algorithm can be combined, whereby the speed can generally refer to a computing speed explained below. The operator can then decide for themselves whether to accept an optimum of the evaluation variable determined with the fast algorithm, which can, however, only be a local optimum, or to wait to see whether the slower algorithm finds a further and possibly absolute optimum. Algorithms with different quality or different output frequencies of intermediate results can also be combined. Furthermore, according to one embodiment, the algorithms can start from different initial measurement sequences, which has the advantages explained below.
[0029] In detail, a method for selecting a measurement sequence for a coordinate measuring machine is proposed but not claimed, comprising: a) Obtaining a plurality of surface areas of an object, each of which is to be measured with a measuring sensor with respect to at least one predetermined property, wherein the measuring sensor is to be arranged by the coordinate measuring machine in order to measure a respective surface area in at least one specific (e.g. surface area-specific) position and / or with at least one specific (e.g. surface area-specific) orientation; b) repeatedly changing a measurement sequence in which the surface areas are to be measured, using a first algorithm and a second algorithm, wherein the algorithms determine, within the scope of each change, a changed measurement sequence together with an evaluation variable (or a value for this evaluation variable) for this (changed) measurement sequence; c) Selecting one of the measurement sequences on the basis of the (total) determined (values of the) evaluation variable(s).
[0030] The method may further optionally comprise the step of executing the selected measuring sequence with a coordinate measuring machine and / or controlling the coordinate measuring machine to execute the selected measuring sequence.
[0031] The method is also directed to a computer device configured to carry out a method of the above type, but also to any of the following variants, developments, and embodiments. The computer device may comprise at least one microprocessor. In general, the computer device may be configured to process and / or execute program instructions, and in particular the above algorithms, and to carry out the individual method steps based thereon.
[0032] In particular, the computer device can comprise a (for example, digital and / or electronic) storage device or be connected to such a storage device and receive the surface areas of the object from it. However, the computer device can also be configured to determine the corresponding surface areas and properties to be measured, for example, based on a CAD model and / or user input. Furthermore, the computer device can compare the evaluation variables to select the measurement sequence or select the best evaluation variable with regard to a predetermined selection criterion.
[0033] The surface regions can be regions with predetermined geometric properties and, in particular, measuring elements of the type explained above. A surface region can also be merely point-shaped or define a measuring point. Thus, the measuring sequence can also define a point sequence according to which a plurality of measuring points are to be detected with the measuring sensor (for example, their coordinates are to be measured). Mixed forms are also conceivable, in which two-dimensional surface regions and one-dimensional surface regions (i.e., individual measuring points) form a measuring sequence within the meaning of the invention.
[0034] The predetermined properties can be the test characteristics discussed herein. The measuring sensor can be a tactile sensor and, for example, comprise a stylus. Alternatively, the measuring sensor can be an optical sensor and, for example, comprise a camera with which one or more camera images of the surface area are captured to measure a surface area.
[0035] The coordinate measuring machine can be designed according to any conventional design and, for example, comprise a plurality of machine axes (in particular linear axes) arranged orthogonally to one another. According to one variant, it is a coordinate measuring machine with a gantry design. In general, the coordinate measuring machine can be configured to arrange and / or align the sensor relative to the object to be measured within a workspace in which the object to be measured is also arranged. For this purpose, it can also comprise an object turntable. Furthermore, the coordinate measuring machine can be configured to determine coordinate values of the object by reading its own machine axis positions and / or based on the determined measurement sensor signals, for example, of a currently probed point on the object surface.An example of a coordinate measuring machine which can also be used in the present case can be found in the applicant’s EP 0 790 478 B1 and is described there with reference to . Figure 1 explained.
[0036] The coordinate measuring machine can move the measuring sensor relative to the object to assume the positions and / or orientations for each surface area. This is especially true when switching from a previously measured surface area to a subsequent surface area. The coordinate measuring machine can then move the sensor from a position for measuring the previous surface area to a position for the subsequent surface area, or change the orientation accordingly (from an orientation for measuring the previous surface area to an orientation for measuring the subsequent surface area).
[0037] Such movements between surface areas can be determined or defined according to the measurement sequence. However, these movements may represent non-value-adding or generally undesirable movements and should therefore be kept as short as possible. Using algorithms, these movements should preferably be optimized to ensure that they can be executed quickly.
[0038] The repeated changes to the measurement sequence, or in other words, repeated variations, can occur virtually or, in other words, computationally. For example, several different virtual measurement sequences can be defined during the execution of the algorithms, with a respective value of the evaluation parameter being calculated and / or determined by simulation for these virtual measurement sequences. Examples of this are explained below using the figures. Based on the evaluation parameter, an algorithm can then decide on the type and / or extent of a change in the measurement sequence.
[0039] However, it is also possible to read out the evaluation variable based on previously stored values and thus determine it. For example, the evaluation variable can be precalculated for individual measurement sequences and / or at least for individual movements between selected surface areas. Depending on the current measurement sequence, this precalculated information can be read out and combined to form the evaluation variable for the (overall) measurement sequence. Such a procedure also represents a determination of the evaluation variable within the meaning of the present invention.
[0040] In particular, for each measurement sequence, the measurement sensor movements and / or machine axis movements that are at least necessary to move the measurement sensor between the surface areas (ie, to move between the surface areas that follow one another according to the measurement sequence) can be determined.
[0041] Additionally or alternatively, movements for moving to multiple positions and / or assuming multiple orientations within a surface area (i.e., those required to measure the properties associated with this surface area) can also be considered. In other words, the movements for determining the test characteristics can additionally or alternatively at least co-determine the value of the evaluation parameter.
[0042] In general, to determine the values of the evaluation parameter based on the required movements, the measurement sensor movements and / or machine axis movements can be determined by simulation or using NC algorithms. In the case of pre-calculation, these movements can also be read out, for example, based on the current measurement sequence and combined into an overall movement sequence based on successive surface areas.
[0043] In particular, a most recently assumed measurement sensor position and / or measurement sensor orientation in a previously measured surface area (i.e., an end position or end orientation) and a first measurement sensor position and / or measurement sensor orientation to be assumed in a subsequent surface area (i.e., a start position or start orientation) can be considered. The movements considered to determine the evaluation variable can then be the movements between the corresponding start or end positions and / or orientations.
[0044] If the measuring sensor is an optical sensor and in particular a camera, it can be taken into account how many orientations and / or positions have to be adopted in order to be able to determine the desired properties. Again, the (traversing) movements of the measuring sensor required for this and in particular their extent or distance can be considered. In principle, however, only the number of individual movements could be taken into account. In this case, it is advantageous if information (in particular images) can be captured with just one camera orientation and / or in just one camera position, with which several properties of the same or different surface areas can be determined simultaneously. In this case, the costs orMovements can even be set to zero if this surface area can already be recorded in parallel when measuring another surface area.
[0045] In a conventional manner, probe change operations can also be included in the evaluation value. In this case, a fixed value can be used as a basis (for example, the time lost or required for the probe change, which does not have to be determined again for each probe change operation). However, specific circumstances of the probe change operation can also be taken into account, for example, the surface area from which a probe magazine is to be approached and / or the surface area after the probe magazine.
[0046] Based on a defined measurement sequence, it can be automatically detected in a conventional manner that a probe change is necessary, for example, if the surface areas to be measured consecutively according to the measurement sequence, along with the properties to be determined for this purpose, require different probes and / or the relationship between the properties to be determined and the required probes is stored in a database. Alternatively, this relationship can also be stored directly in a test plan.
[0047] The algorithms are preferably sorting algorithms that determine the order in which the surface areas are to be measured by means of a corresponding sorting. An example of such sorting algorithms are TSP algorithms of the type described above, which can also be used according to the invention. The first and second algorithms can be similar. However, they can also be different algorithms. Specific examples and advantages of combinations of different or similar algorithms are listed below.
[0048] The evaluation parameter can be a cost parameter, as is commonly used in the context of general optimization algorithms. The evaluation parameter, and in particular the cost parameter, can therefore specify a parameter and / or property that is to be minimized using the algorithms and by specifying a suitable measurement sequence. However, it can also be a parameter to be maximized. An example of an evaluation parameter is the total measurement time required to measure the object. The extent (e.g., the distance) of the required machine axis movements can also be considered, particularly with regard to the movements between the individual surface areas.
[0049] Movements for determining properties within or with reference to only one surface area, however, can be disregarded when determining the evaluation parameter and / or generally have no influence on the evaluation parameter. This is based on the idea that such movements can already be predefined and, if necessary, have already been optimized. Depending on the property or test characteristic to be measured, these movements can then be executed in a predetermined manner without the need for further optimization using the algorithms presented here.
[0050] For example, a diameter can always be determined in the same way, so that the movement for this no longer has to be redetermined and evaluated. If several test characteristics are to be determined for a surface area, at least movements between positions and / or orientation for determining these test characteristics can be taken into account to determine the evaluation parameter. In this case, each test characteristic or each measuring point or a group of measuring points for determining a test characteristic can form a surface area within the meaning of the invention and a sequence of the test characteristics can be changed and evaluated in the sense of a measurement sequence. The coordinates of the measuring points can then be determined as the property to be determined, from which the test characteristic is then determined.
[0051] In summary, the algorithms and their evaluation criteria can preferably refer exclusively to the movements between the surface areas and / or the measurement sequence can at least indirectly define such movements. It can also be considered that virtual spaces can optionally be defined around the surface areas in which, in order to avoid collisions, no arbitrary measurement sensor movements are possible. Instead, within these spaces, for example, only movement perpendicular to the object surface may be permitted. The movements used to determine the evaluation criteria can thus also refer only to those movements that occur between the surface areas and outside of such virtual spaces.
[0052] Whenever reference is made to an optimum here, this can include both a local and an absolute optimum. An optimum can be both a minimum and a maximum. Furthermore, the term optimum can generally refer to an optimal value of the evaluation parameter. An optimal measurement sequence can therefore be a measurement sequence in which the evaluation parameter assumes an optimal value.
[0053] Selecting the measurement sequence based on the determined evaluation variables can involve selecting a measurement sequence with an evaluation variable that meets a predetermined selection criterion. The selection criterion can, for example, define that the best, optimal (e.g., minimum or maximum), or generally a preferred evaluation variable is selected along with the associated measurement sequence. For example, the measurement sequence with the shortest measurement time or with the smallest machine movements (e.g., measured as movement distance) can be selected.
[0054] A further development of the invention provides that the measuring sensor (for example, of the coordinate measuring machine) is moved relative to the object for measuring successive surface areas in order to assume at least one position and / or orientation assigned to each surface area. As described, these movements, and in particular exclusively these movements, can be used to determine a value of the evaluation variable. In contrast, movements for determining the properties of the surface area, which, for example, take place within this surface area and / or are intended to change positions and / or orientations within a single surface area, can be disregarded when determining the evaluation variable.
[0055] In summary, the evaluation variable can be determined based on the movements of the measuring sensor required to reach (and / or approach) successive surface areas (e.g., according to a currently considered or modified measurement sequence). Reaching can, in particular, include the measuring sensor reaching or assuming at least one position and / or at least one orientation (and in particular a starting position or starting orientation explained herein) of the surface area.
[0056] Determination based on movements may include determining the evaluation variable based on and / or at least indirectly on these movements. The movement variable may, for example, indicate energy consumption or a (e.g., cumulative) path length of executed movements (e.g., measurement sensor movements), both of which are preferably determined based on the determined required movements.
[0057] As mentioned, the algorithms can each be based on approaches to solving the traveling salesman problem. This can be understood as determining an optimal route between locations to be reached, and in this case, between surface areas to be approached with the measuring sensor, which optimizes the evaluation variable in a desired manner (e.g., maximizes or minimizes).
[0058] Such algorithms are known, but differ in terms of properties such as computational speed, quality, output frequency of intermediate results, and generally the ability to escape from local optima and, in particular, local minima of the evaluation variable. Examples of such algorithms are so-called tabu search algorithms, nearest neighbor algorithms, k-opt algorithms (e.g., a 3-opt algorithm), Christofides heuristic algorithms, or guided local search algorithms.
[0059] The calculation speed can be understood as the speed that the algorithm needs to arrive at a result that is optimal from its point of view (for example, to find at least a local optima).
[0060] Quality can be understood as the resolution capability and / or generally the accuracy of an algorithm's optima, for example the extent to which a found optimum deviates from an actual (i.e. objective) optimum and in particular an absolute optimum. Due to the changes made by the algorithms and in particular the extent of the changes, it is not always guaranteed that a corresponding objective optimum will actually be found or that a result that is optimal from the algorithm's point of view is actually also optimal from an objective point of view. Furthermore, quality can relate to other properties of the algorithm or at least be co-determined by them. Such properties can be, for example, the ability to start from a given initial route, memory consumption or the frequency of outputting progress information.
[0061] When algorithms are compared with each other herein, for example, with regard to the aforementioned properties, it is understood that these comparisons refer to properties and ratios that can be achieved on average, for example, when the algorithms are used for a number of different optimization tasks. In other words, these may be objectively correct properties from the perspective of a person skilled in the art, which, however, may not always be directly applicable depending on the initial situation and the specific optimization task, but which, when considered across a number of optimization tasks, are met accordingly.For example, an algorithm referred to herein as a slower algorithm may, for a specific case, for example, due to a randomly selected, particularly suitable initial route, reach an optimal result more quickly than an algorithm referred to herein as fast, which, however, starts from a comparatively unfavorable initial route. However, this is not the case if these algorithms are applied to a plurality of different initial routes, for example, to at least ten different initial routes.
[0062] According to one embodiment of the methods and computer devices presented herein, the first algorithm determines an initial measurement sequence as the starting sequence for the second algorithm. In this case, the first and second algorithms preferably differ from one another. In particular, the first algorithm can be configured to determine a result that it considers optimal more quickly than the second algorithm. By contrast, the second algorithm can be more precise (i.e., determine an objectively correct optimum with a higher probability) and / or can escape from local optima and, in particular, minima with a higher probability in order to possibly find an even better optimum and, in particular, the absolute optimum.
[0063] The initial measurement sequence can be a so-called initial route. This (but also the general initial measurement sequence) can be used by the second algorithm to make successive changes based on it. For example, depending on the rules defined in the algorithm, changes to this initial route can be made in a way or direction that leads to a presumed (e.g., absolute) optimum.
[0064] In particular, a measurement sequence with at least a local optimum of the evaluation variable can be found more quickly with the first algorithm than with the second algorithm. This can be due, for example, to the fact that the first algorithm makes larger changes (i.e., is generally less fine-resolution) and thus approaches a possibly optimal result more quickly. In particular, the first algorithm can be a nearest neighbor algorithm or k-opt algorithm (with preferably low k, e.g., less than three or at least less than the second algorithm). The general rule for k-opt algorithms is: the higher K, the larger the detours (which, for example, increase the route length) are accepted, or, in other words, the greater the extent to which any deterioration of the evaluation variable is accepted when the measurement sequence is varied again. This makes it possible to escape local minima.On the other hand, the computation time may increase because more permutations have to be processed overall. In general, the number of changes made by an algorithm can also affect the computation time.
[0065] Additionally or alternatively, the probability of determining a measurement sequence with another at least locally optimal evaluation variable, after a measurement sequence with an at least locally optimal evaluation variable has already been found, can be higher with the second algorithm than with the first algorithm, for example because the second algorithm can escape from a reached local optima with a higher probability or can leave it again with a higher degree of accuracy. This can be achieved, for example, by the second algorithm comprising a heuristic and / or metaheuristic, whereas the first algorithm does not prefer a heuristic or prefers a less precise heuristic (e.g., a so-called 2-opt heuristic for the first and a 5-opt heuristic for the second algorithm). A heuristic can, in a well-known manner, provide an approximate solution to optimization problems (e.g.,of the given evaluation parameter). The approximate approach represents an alternative to brute force or complete solution approaches that consider all permutations. For this purpose, the heuristic can define calculation rules, calculation steps, or general procedures for how such an optimization problem is to be solved approximately. A metaheuristic can be a heuristic that is used within an algorithm (e.g. selectively) to escape from local optima. All of the variants described, in which one algorithm determines an initial route for the other algorithm, offer the advantage that an absolute optimum can be reached more quickly. For example, the first algorithm may already find the absolute optimum, which is then only confirmed by the second algorithm, or the second algorithm only needs to make a few changes to arrive at this absolute optimum.This is especially true compared to the case where the second algorithm starts from an arbitrary initial route without any appropriate preparation. These advantages are explained in more detail below in connection with the figure description.
[0066] According to a further embodiment of the methods and computer devices, the first and second algorithms are executed at least partially in parallel, ie, they overlap at least partially in time. In particular, the algorithms can be started simultaneously or with only a few seconds or minutes of relative delay (e.g., less than 30 seconds or less than 3 minutes).
[0067] In this case, similar algorithms can be used, but they assume different initial measurement sequences (or initial routes). In other words, the first and second algorithms can be similar but assume different initial measurement sequences.
[0068] For example, a general initial measurement sequence can be given, but depending on the algorithm, it can be noisy to varying degrees or, in other words, can be varied differently, e.g., by means of a random variable or deterministically, before it is processed by the algorithms (ie successively changed and optimized by them).
[0069] This increases the probability that at least one of the algorithms starts close to an optimum and thus reaches an optimal result with only a few changes. It can also increase the probability that at least one of the algorithms does not meet a termination criterion early on and / or reach a state where it can no longer find another optimum, for example, because it cannot escape from a local minimum.
[0070] However, the algorithms can also be different from each other if they are initially executed partially in parallel. In this case, it is not absolutely necessary to provide different initial measurement sequences, although this can still be done.
[0071] In particular, the algorithms can differ in terms of computing speed and / or the frequency of outputting intermediate results. The intermediate results can be a measurement sequence currently considered optimal, which can be updated whenever an even better or more optimal measurement sequence is found. They can also be a general indication of progress, for example, how far the algorithm is from a presumed global optimum or how many changes or variations of the measurement sequence it has already processed.
[0072] Additionally or alternatively, the algorithms may also differ from each other with regard to the performance described above or with regard to other properties and / or may have different metaheuristics. For example, differences may again be that one of the algorithms is faster and / or that one of the algorithms has a higher probability of escaping a local optima (or of finding another optimum after an already found optimum).
[0073] For example, it has proven advantageous to combine a guided local search algorithm with a tabu search algorithm, or more precisely, to execute them at least partially in parallel. The former is characterized by higher computing speed, whereas the latter outputs intermediate results more frequently. This is advantageous in that, in the event of a premature termination by, for example, the operator, the best intermediate result determined so far is often selected for further use. With a higher output frequency, the probability that an intermediate result close to the actual optimum is already available is higher.
[0074] Furthermore, it can be provided that a predetermined termination criterion is defined for at least one of the algorithms. Once this criterion is met, the algorithm can prevent further changes to the measurement sequence and, for example, a previously determined evaluation parameter, along with the associated measurement sequence, can be selected as the best result.
[0075] In particular, the termination criterion for at least one of the algorithms can be defined as a maximum permissible number of changes to the measurement sequence without finding an at least locally optimal evaluation parameter. This termination criterion can, in particular, only be met or applied if an (at least local) optimum has already been found. If no further optimum is found within a predetermined number of changes to the measurement sequence, it can be concluded that the algorithm is already close to the absolute optimum and / or cannot escape the previously determined optimum.
[0076] Such a termination criterion ensures that the computing time is not increased unnecessarily or that an operator is informed sufficiently early that no further improvements are likely to be achieved.
[0077] In this context, the maximum permissible number of variations can be chosen depending on the number of (retained) surface areas. In particular, this permissible number can be chosen proportional to the number of surface areas and / or, in general, the following can apply: the higher the number of surface areas, the higher the permissible number.
[0078] This takes into account the fact that with an increasing number of surface areas, there are also increasing opportunities for changes and / or for specifying a different measurement sequence. Thus, with a correspondingly increased number of permissible areas, the significance can be increased to the extent that, if the algorithm is aborted, it can actually be assumed that no further improvement can be achieved within an acceptable time.
[0079] As a further aspect of the disclosure, in addition to or alternatively to step b), the measurement sequences can be defined and / or modified such that the surface areas are measured by multiple coordinate measuring machines, each preferably with a measuring sensor, and / or distributed between these coordinate measuring machines. The object can therefore be measured using multiple coordinate measuring machines. These can each measure a subset of the obtained surface areas. The distribution of which coordinate measuring machine measures which surface area can also be part of a measurement sequence described herein or be determined by it. Thus, at least one algorithm (but optionally also two algorithms) can be provided which changes the measurement sequence by changing this distribution and also determines an evaluation value for each correspondingly changed measurement sequence.The ultimately selected measurement sequence can then yield the most optimal (e.g., the fastest) evaluation value. However, changing the measurement sequence can also mean that no re-allocation occurs, but the order in which the coordinate measuring machines measure their surface areas is changed. However, it is preferred that this allocation be changed at least once, and preferably several times, within the scope of the process.
[0080] The algorithm used for this purpose can be an algorithm based on approaches to solving a so-called "multiple traveling salesman problem" or a "vehicle routing problem," both of which are subtypes of the traveling salesman problem. For application to multiple coordinate measuring machines, additional conditions can be defined, e.g., that both coordinate measuring machines (or, from an algorithm's perspective, both "vehicles") should not operate in the same area at the same time (e.g., to prevent collisions).
[0081] In addition, if only one of certain probes or measuring sensors is available, the route can be optimized so that the coordinate measuring machines have to wait for each other as little or as short a time as possible, for example if the same sensor has to be used by the coordinate measuring machines for their current measuring task at the same time.
[0082] Furthermore, it may be possible to define a so-called "vehicle routing problem with a time window" and apply solution algorithms for it. This allows interdependent measurement elements to be measured at short intervals or within a specified time window.
[0083] In summary, the disclosure also relates to an unclaimed method for selecting a measurement sequence for a plurality of coordinate measuring machines, comprising: a) Obtaining a plurality of surface areas of an object which are to be measured with regard to at least one predetermined property by at least one (e.g. initially arbitrary or according to a division to be determined) of the coordinate measuring machines and with a measuring sensor of the coordinate measuring machine, wherein the measuring sensor is to be arranged in at least one specific position and / or with at least one specific orientation for measuring a respective surface area; b) repeatedly changing a measuring sequence in which the surface areas are to be measured and divided between the coordinate measuring machines, with at least one algorithm (optionally also with a second algorithm according to any of the above variants), wherein the algorithm, as part of each change, in each case a changed measuring sequence together with an evaluation variable (ora value for this evaluation parameter) for the changed measurement sequence; c) selecting one of the measurement sequences based on the total determined (values of the) evaluation parameter(s). .
[0084] The disclosure also relates to the use of an algorithm, in particular an algorithm based on approaches to solving the (in particular multiple) traveling salesman problem, for determining a distribution of surface areas of an object to be measured, such that a portion thereof is measured by a first coordinate measuring machine and another portion (in particular the remaining portion) by at least one further coordinate measuring machine. Accordingly, a method provides for dividing a portion of surface areas of an object to be measured such that a portion thereof is measured by a first coordinate measuring machine and another portion (in particular the remaining portion) by at least one further coordinate measuring machine, for which purpose an algorithm of the above type is preferably used. The coordinate measuring machines can measure the object at least partially simultaneously.In all such variants, the above and following conditions can be taken into account to define a suitable division and / or measurement sequence.
[0085] The claimed invention, however, relates to a method for selecting a measurement sequence for a coordinate measuring machine, comprising: a) Obtaining a plurality of surface areas of an object which are to be measured with regard to at least one predetermined property using a measuring sensor, wherein the measuring sensor is to be arranged by the coordinate measuring machine in at least one specific position and / or with at least one specific orientation for measuring a respective surface area; b) repeatedly changing a measurement sequence in which the surface areas are to be measured using at least one algorithm (but optionally also using a second algorithm according to any of the above variants), wherein the algorithm determines, within the scope of each change, a changed measurement sequence together with an evaluation variable (or a value for this evaluation variable) for the changed measurement sequence; c) Selecting one of the measurement sequences based on the total determined (values of the) evaluation variable(s). whereby a condition to be met by each measurement sequence is a (e.g. temporal or ranking-related) relative relationship between at least two surface areas.
[0086] All above and below explanations, further training,
[0087] Alternatives and embodiments of identical features of the unclaimed, first-mentioned method, in which no corresponding condition is necessarily used, also apply to the present method according to the claimed invention, in which a corresponding condition is taken into account. A method that takes a condition into account can also be combined with any variant of the first-mentioned method, so that a method is also possible in which two different algorithms are provided and additionally one of the conditions explained herein.
[0088] The condition can be taken into account by the algorithms when changing the measurement sequence. Measurement sequences that violate the condition can therefore be evaluated as invalid and not further evaluated and / or not be selectable in step c). However, it is also possible to perform such a check with a separate unit (e.g., a software unit) that subsequently sorts out or invalidates measurement sequences that have been modified and evaluated by the algorithms.
[0089] The method can therefore include the step of the algorithms changing the measurement sequence while taking a corresponding condition into account (i.e., only generating and / or evaluating valid modified measurement sequences). However, it can also include the step of subsequently checking the measurement sequences changed and evaluated by the algorithms with regard to the condition to be met and, if necessary, discarding them.
[0090] According to one variant, the relative relationship to be maintained according to the condition defines a relative order (or ranking) of the at least two surface areas within the measurement sequence. It is specified that one of the surface areas must be measured before another of the surface areas because the measurement results of one surface area determine the measurement of the other surface area and / or there is a dependency between them. This applies, for example, if a first of the surface areas comprises a first geometric feature and for the second surface area it is to be determined to what extent a geometric feature there is in a predetermined relative relationship to the geometric feature of the first surface area and / or is parallel to it, for example. For example, the measurement task can be specified as determining the parallelism of two cylinders.In this case, the first cylinder is scanned, and for the second cylinder, only a circular path is measured at the height where the other cylinder had the greatest positive deviation, e.g., from a target diameter. This saves time and allows for better detection of critical points.
[0091] Additionally or alternatively, a relative ratio to be observed according to the condition can be specified as a maximum permissible time period within which the surface areas may or should be measured when carrying out the measurement sequence. This is based on the idea that conditions should be as similar as possible when measuring the surface areas. In particular, this can ensure that comparable temperature conditions prevail. For example, the time period can be specified so that the measurements of two surface areas may not be separated by more than 1 minute or no more than 5 minutes.
[0092] As an alternative to a condition concerning the relative relationship, which does not fall within the scope of the present invention, a collision-free condition can also be specified as a condition to be observed. This can be based on the fact that when moving the measuring sensor according to the measuring sequence (i.e., between the surface areas that follow one another according to the measuring sequence), no collisions with the object or other interfering contours should occur in the working space of the coordinate measuring machine. This can be determined by calculating (e.g., using an NC algorithm) and / or simulating the movement path of the measuring sensor between the surface areas that follow one another according to the measuring sequence, for example, by comparing it with a model of the object and / or the working space of the coordinate measuring machine.
[0093] Methods that take conditions of the above type into account can also be carried out using a computer device of any type described herein, such a computer device being a further general component of the present invention. In other words, the invention also relates to a computer device for carrying out methods that take conditions of the above type into account.
[0094] A processing device of the computer device can be configured to take the corresponding condition into account when executing algorithms and / or to evaluate the measurement sequence during or before selection as to whether or not it satisfies the condition. The condition can be stored in a memory device of the computer device. The computer device can further check whether the condition is met through simulations and / or calculations. For this purpose, it can calculate or simulate the movements of the measuring sensor required according to the measurement sequence, which are necessary for the sensor to move from surface area to surface area in accordance with the measurement sequence (i.e., to measure the successive surface areas according to the measurement sequence).
[0095] In general, the computer device may be comprised of or connected to a coordinate measuring machine and may optionally control the machine in accordance with and / or to carry out the selected measurement sequence.
[0096] In the following, exemplary embodiments of the claimed invention are explained with reference to the accompanying schematic figures. Features that are identical in type and / or function may be provided with the same reference numerals across the figures. They depict: Fig. 1: a schematic representation of an object and its surface areas, which are to be measured by a coordinate measuring machine as part of a measurement sequence; Fig. 2A-2B: a representation of possible measurement sequences for measuring the surface areas from Figure 1; Fig. 3: a flowchart of an exemplary method according to a first embodiment; Fig. 4: a flowchart of an exemplary method according to a second embodiment; Fig. 5: a graphical representation of values of the evaluation variable obtained when executing the method from Figure 4 and Fig. 6 is a flow chart of a method according to the claimed invention.
[0097] In Figure 1An object 10 in the form of an industrially manufactured workpiece is shown in cross-sectional view. The object 10 has, along its surface 12, a plurality of surface regions 14 to be measured, which, in the case shown, differ geometrically from the remaining and preferably substantially flat surface 12. These surface regions 14 are so-called measuring elements, which have predetermined geometric properties and can be identified and / or selected, for example, by an operator or automatically by a computer device 100, each preferably based on a CAD model. From right to left, a bore 14A, a projection 14B, and a plateau 14C are shown as corresponding surface regions 14.
[0098] For each of these surface areas 14, predetermined properties are specified, which are to be determined by measurement. These are so-called inspection characteristics. In the case of the bore 14A, this can be, for example, a diameter or a depth; in the case of the projection 14B, the height; and in the case of the plateau 14C, the flatness of its surface. Such inspection characteristics can again be specified by an operator or automatically by a computer device 100.
[0099] To determine these properties, a measuring sensor 16 is mounted on a coordinate measuring machine 18, which is only schematically indicated and is designed, for example, as a conventional machine with three orthogonal machine axes. In the example shown, the measuring sensor 16 is a tactile sensor. However, an optical sensor, for example in the form of a camera, could also be used.
[0100] In a conventional manner, this measuring sensor 16 is to be positioned by the coordinate measuring machine 18 in at least one specific position and / or with at least one specific orientation for each surface area to measure the desired properties of the surface areas 14. For example, to measure a bore diameter, it may be necessary to determine the coordinates of at least three points on the circumference of the bore, with each point corresponding to a specific position to be assumed in this surface area 14.
[0101] An orientation to be adopted can be specified, for example, if the measuring sensor 16 is an optical sensor and is intended, for example, to capture images of the surface areas 14. Properties of the type mentioned above can also be determined from such images by image analysis in a conventional manner.
[0102] In summary, the measuring sensor 16 must be moved by the coordinate measuring machine 18 from position to position or orientation to orientation, which are assigned to the respective surface areas 14. These movements represent a non-value-adding time loss within the measuring process, since no measurement information is obtained. Therefore, it may be desirable to keep this time loss as low as possible, particularly when measuring complex and / or numerous workpieces or when measuring in a single production cycle.
[0103] In the following, only one specific position is assumed for each surface area 14, in which the measuring sensor 16 is to be arranged (i.e., only one measuring point). It is understood that several such specific positions can also be assumed for each surface area 14.
[0104] The individual position for each surface area 14, discussed below merely as an example, can be a start or end position that the measuring sensor 16 must assume to determine at least one predetermined property of a respective surface area 14. In particular, it can be a start position when the surface area 14 is to be approached (for example, starting from a previously measured surface area 14), and an end position when the surface area 14 is to be left (for example, in order to approach a surface area 14 to be subsequently measured).
[0105] It is understood that, due to the number of surface areas 14, several options exist for the corresponding measurement sequence or sorting for processing (i.e., for sequentially measuring) the surface areas 14. In general, for n surface areas 14 to be approached, there are n! possible measurement sequences or sortings (or (n-1)! if a fixed starting point is specified). These can also be referred to herein as routes.
[0106] In the Figures 2A-B Two selected routes are shown, with the corresponding surface areas 14 from Figure 1 are referenced by means of the corresponding geometric features 14A-C and, as explained above, are each represented as at least one specific position to be approached. It can be seen that the plateau 14C can be selected as the starting position and then the bore 14A and then the projection 14B can be measured ( Figure 2A). However, starting from the plateau 14C, the projection 14B could be measured first and only then the bore 14A ( Figure 2B ). Instead of plateau 14C, projection 14B or borehole 14A could be used as a starting point, and alternative routes could be defined from there.
[0107] Due to properties of the coordinate measuring machine 18, the measuring sensor 16 and / or the object 10, it can also make a difference, for example to avoid collisions or due to the range of motion of the machine axes, whether, for example, travel is made from the plateau 14C to the bore 14A or vice versa from the bore 14A to the plateau 14C.
[0108] Thus, a multitude of possible measurement sequences (or sortings or routes) are available for selection, each of which is accompanied by associated movement profiles of the measuring sensor 16 in order to be able to move it from measuring element to measuring element (or surface area 14 to surface area 14).
[0109] By means of known TSP algorithms, as can be executed by a computer device 100, which is schematically shown in Figure 1 is indicated and which comprises at least one microprocessor 102, it can be determined which of the available measurement sequences is optimal with regard to an evaluation variable relevant from the user's point of view.
[0110] For this purpose, the computer device 100 can have a storage device 16 in which the surface areas 14 to be measured, along with the properties to be determined for them, are stored. Such specifications can be determined, for example, through user input and / or automatically by suitable algorithms that evaluate a CAD model of the object.
[0111] The optimal measurement sequence can be selected by the computer device 100 automatically or in response to a corresponding user input and used to control the coordinate measuring machine 18 so that it implements the measurement sequence. For the sake of completeness, it should be mentioned that the computer device 100 can be a conventional PC. However, it can also be a control device of the coordinate measuring machine 18 or a server (e.g., a cloud server).
[0112] The TSP algorithms successively change the measurement sequence according to the rules defined therein (i.e. they process several varying measurement sequences and determine the value of the evaluation variable for each measurement sequence).
[0113] In the present case, the evaluation parameter is the total required measurement time, which is largely determined by the required movements between the individual surface areas 14. Thus, the measurement time can also be considered to be only the movement time for moving the measuring sensor 16 between the individual surface areas 14, or the distance or extent of the machine axis movements required for this purpose.
[0114] As explained below, the respective evaluation variables determined can be evaluated to determine which measurement sequence can achieve a (local or absolute) optimum of the evaluation variable and, in the examples shown, a (local or absolute) minimum of the evaluation variable.
[0115] For example, two algorithms are used in the examples discussed below. Each of these algorithms is preferably a TSP algorithm. The following section outlines various ways in which these algorithms can be combined and / or interact with each other to determine an optimal measurement sequence (i.e., a measurement sequence with an optimal value of the evaluation variable and, in particular, with a minimum value of the evaluation variable).
[0116] In Figure 3A flowchart for an exemplary method according to a first embodiment is shown. Two TSP algorithms are executed consecutively, in particular such that their execution does not overlap in time or that the second TSP algorithm is based on the results of the first TSP algorithm. In a step S1, the surface areas 14 to be measured are obtained, preferably together with the properties to be determined for them, e.g., from an operator or from the manual or automatic evaluation of a CAD model of the object 10.
[0117] In a step S2, at least one position and / or orientation that the measuring sensor 16 must assume in order to determine the desired properties of the surface regions 14 is then determined for each surface region 14. Such determinations are known and are also used in currently available solutions. For this purpose, for example, (expected) coordinates of the object 10 and in particular of its surface regions 14 in the workspace of the coordinate measuring machine 18 can be determined using a computer simulation, and the positions to be specified and / or the orientation of the measuring sensor 16 to be set by the coordinate measuring machine 18 can then be determined.
[0118] It is also known that, for example, using common NC algorithms, the Figures 2 ABThe movements explained above, and in particular individual machine axis movements of the coordinate measuring machine 18 for moving the measuring sensor between the different surface areas 14, can be determined. In particular, required movement distances and / or movement times can also be determined based on this.
[0119] However, the algorithms presented here are primarily aimed at finding a measurement sequence in which these movements of the measuring sensor 16 or the coordinate measuring machine 18, preferably determined by other means or using other algorithms, possess desired properties and, in particular, are carried out particularly quickly. The sorting or sequencing of the surface areas 14 according to a measurement sequence significantly determines the type and extent of the required movements, which can then, in turn, be precisely quantified using other algorithms (but optionally also using the TSP algorithms themselves). In any case, the TSP algorithms are designed to determine values of the evaluation parameter, although information determined by other algorithms can also be used.
[0120] In step S3, a first (TSP) algorithm is executed, which, based on the information determined in step S2, defines and repeatedly modifies a measurement sequence in which the surface areas 14 are to be measured. For each measurement sequence, the first algorithm determines an evaluation parameter, which in the present example is the required measurement time.
[0121] For this purpose, the algorithm can again calculate and, in particular, simulate the required machine or machine axis movements using the known algorithms explained above, for example, in order to be able to process a currently considered measurement sequence. The simulation can be used to measure the duration of the required machine axis movements. Alternatively, this duration can be calculated, for example, based on knowledge of the drive power and the extent or distance covered by the machine axis movements.
[0122] In step S4, the total number of evaluation variables determined is examined, and an optimal one is selected. In the example shown, this is the smallest evaluation variable, i.e., the shortest required measurement time. In step S5, the corresponding measurement sequence is then selected and used as the initial sequence or initial route, or as the initial variable for a second (TSP) algorithm.
[0123] In step S6, the algorithm begins, based on this initial route and according to rules defined by the algorithm, to successively change this initial measurement sequence in such a way that, with a certain probability, further improvements in the evaluation parameter are achieved. This is relevant, for example, if the first algorithm has already found a local optimum of the evaluation parameter, but not an absolute optimum, since the first algorithm may not be able to escape from a local optimum on its own (i.e., it cannot leave it again without accepting a temporary deterioration, as this is incompatible with the rules for changing the measurement sequence defined in the algorithm).
[0124] It is also possible that the first algorithm has found what it considers to be an optimum for the evaluation parameter, but that the actual absolute optimum has not yet been reached, as this may require only minor further changes to the measurement sequence. In other words, the change increments or change magnitudes of the first algorithm may be comparatively coarse or insufficiently fine-tuned, so that it may skip an actual optimum for the evaluation parameter.
[0125] The second algorithm can therefore, in step S6, make further changes to the measurement sequence based on the initial route already evaluated as particularly suitable and thus increase the probability that the actual absolute optimum is found.
[0126] In the example shown, algorithms of different types, and in particular with different properties, are combined. The first algorithm is a nearest neighbor algorithm, and the second algorithm includes a metaheuristic, as discussed in the general description section above.
[0127] Generally speaking, the first algorithm is characterized by a comparatively higher computational speed, as it reaches what it considers to be the optimum of the evaluation variable more quickly. In contrast, the first algorithm may not be able to escape from a local optimum (especially a local minimum) and / or may not be able to determine whether the achieved optimum is a local or absolute optimum. The comparatively slower second algorithm, thanks to metaheuristics, is defined in such a way that it can escape from local optima, especially a local minimum, and thus has a higher chance of still reaching an absolute optimum after reaching the local optimum.
[0128] This results from the example of the Figure 3The intended combination of different algorithms has the possibility of finding the absolute optimum relatively quickly. For example, it is possible that the first algorithm determines the absolute optimum directly, which can then be confirmed by the second algorithm, or that the first algorithm has determined a local optimum that is close to this absolute optimum, so that the second algorithm only needs a few changes to arrive at the actual absolute optimum. This can be faster, in particular compared to a case in which the second algorithm starts from an arbitrary route or initial route and thus may require many changes and a long calculation time to arrive at the absolute optimum. The first algorithm can also have a predetermined maximum number of iterations orPerform measurement sequence variations and, when this number is reached, output the best intermediate result so far as the initial measurement sequence to the second algorithm.
[0129] Based on the Figures 4 and 5 In the following an exemplary procedure according to another
[0130] An example implementation is described. In this case, two (TSP) algorithms are executed at overlapping times and preferably started simultaneously. The algorithms are similar, but in principle could also be different. In each case, the algorithms start from different initial routes (i.e., from different initial measurement sequences). Starting from their initial route, they then make changes to the measurement sequence according to the rules stored in the algorithm in order to minimize the evaluation variable (in the example shown, again the required measurement time).
[0131] In step S1, the two algorithms are selected. In both cases, these are preferably algorithms with metaheuristics and / or, more generally, algorithms designed to escape from local optima (i.e., to find another optimum with a high probability once at least a local optimum has already been found).
[0132] In step S2, an initial measurement sequence is obtained or determined, but this sequence is modified for each of the algorithms, for example, using a random variable, so that they start from different (modified) initial measurement sequences. In other words, the algorithms each receive randomly or deterministically noisy initial measurement sequences, so that the initial measurement sequences of the algorithms differ from one another.
[0133] A procedure that does not include or rely on random values can be described as deterministic. For example, at least two surface areas within a measurement sequence can be swapped according to a defined rule, provided that any conditions, such as the dependencies explained below, are met.
[0134] For this purpose, for example, a sequence can be calculated based on the total number of surface areas, according to which the surface areas are to be arranged as the initial measurement sequence. More precisely, the surface areas can be indexed, and based on the total number of surface areas and / or a specified number of maximum variations of the measurement sequence, a new indexing can then be performed, according to which the initial measurement sequence is determined.
[0135] For example, the surface area with the (previous) index 0 can be selected for the first surface area of the newly indexed measurement sequence. The surface area with the (previous) index corresponding to half of the total number of surface areas under consideration can be selected as the second surface area. Similar rules can then be established for the subsequent ordering of the surface areas, preferably such that no surface area is duplicated in the newly indexed measurement sequence. However, each algorithm should proceed at least slightly differently, so that initial routes with varying levels of noise are obtained.
[0136] In step S3, the algorithms begin, in the usual way, to successively change their respective initial measurement sequences according to the rules stored in the algorithm and to determine a value of the evaluation variable (measurement time duration) for each changed measurement sequence.
[0137] This is further illustrated by Figure 5 , in which the value of the evaluation quantity obtained for each measurement sequence is plotted over the population of the total possible measurement sequences (as shown above, n! possible measurement sequences for n surface areas 14). In this representation, the measurement sequences are preferably entered along the horizontal axis in such a way that they only have one exchange for each adjacent measurement sequence entered (i.e., to a previous as well as to a subsequent one). In other words, only one pair of the surface areas 14 can be contained in an exchanged order with respect to the respective adjacent measurement sequences. For an exemplary group of surface areas A, B, C, the following sequence of sequences could be entered along the horizontal axis according to this rule: ABC; ACB; BAC; BCA; CAB; CBA.
[0138] However, due to the different initial measurement sequences, the algorithms assume different starting points within the population of measurement sequences, as indicated by dashed vertical lines.
[0139] More precisely, a first algorithm starts from the measurement sequence labeled 2, and the second algorithm starts from the measurement sequence labeled 6. It is understood that additional algorithms could also be started, preferably simultaneously, which would then start from additional measurement sequences.
[0140] From the course of the values of the evaluation quantity, it can be seen that it has an absolute maximum (in the section shown) in measurement sequence 2, a local minimum in measurement sequence 4, a local maximum in measurement sequence 5 and an absolute minimum in measurement sequence 7.
[0141] This also illustrates the problem discussed above, whereby some algorithms cannot escape from a local optimum or are unable to find another local or even absolute optimum from this point: If a local minimum was determined in measurement sequence 4, an insufficient change in the measurement sequence would cause the evaluation value to rise again. This may be incompatible with the algorithm's rules and / or represent a termination criterion, causing the algorithm to determine measurement sequence 4 as the best measurement sequence in its view and fail to find the absolute minimum in measurement sequence 7.
[0142] Returning to the exemplary embodiment, it can be seen that the algorithm starting from measurement sequence 6 is already close to the optimal measurement sequence 7. Therefore, only a few changes are likely required until this algorithm has actually determined this measurement sequence 7 as the absolute optimum. This is especially true compared to the algorithm starting from measurement sequence 2, which would require extensive changes to arrive at measurement sequence 7. In particular, this would require overcoming the local minimum at measurement sequence 4.
[0143] As soon as one of the algorithms has found an optimum and fulfills a predetermined termination criterion, for which a suitable example was explained in the general description part, this can lead to the termination of the method in step S4 and to the selection of the measurement sequence with the best (e.g. minimal) evaluation value so far.
[0144] All embodiments can also be used for variants in which an object 10 is measured with a plurality of coordinate measuring machines 18 and measuring sensors 16. For example, two coordinate measuring machines 18 can be arranged on either side of an object 10 and measure it simultaneously, each with a measuring sensor 16. In this context, it is known to divide measuring elements or surface areas 14 between the coordinate measuring machines 18, so that each coordinate measuring machine 18 measures a specific group of measuring elements of the object 10 with regard to relevant inspection features. However, this division has so far been done manually and requires experience.
[0145] According to a further embodiment, it can therefore be provided to select and determine an optimal measurement sequence by means of at least one, but preferably at least two TSP algorithms, which are combined, for example, according to one of the variants described herein, also with regard to the fact that the surface areas 14 are measured by different coordinate measuring machines 18 and / or measuring sensors 16, i.e., are optimally distributed between the coordinate measuring machines 18. In this case, too, it can again be preferred that movements between the surface areas 14 to be measured are as small as possible. Such a distribution can be achieved with algorithms for solving a so-called "multiple traveling salesman problem" or a "vehicle routing problem," both of which are subtypes of the traveling salesman problem.
[0146] In Figure 6A flow chart for a method according to the claimed invention is shown. This method does not necessarily require the use of at least two algorithms, but this can also be provided. If at least two algorithms are used, this can be done according to any of the variants and embodiments described herein. On the other hand, in the embodiment of Figure 6At least one condition is taken into account that the measurement sequence must adhere to so that it can ultimately be selected as the measurement sequence to be performed by the coordinate measuring machine. Analogously to the previous embodiment, the surface areas 14 of an object 10 to be measured are obtained in step S1. In a step S2, a measurement sequence is then determined using the at least one algorithm and changed several times, with a modified measurement sequence including the associated evaluation variable being determined for each change. This is again carried out analogously to the previous embodiments.
[0147] In step S3, only those measurement sequences that satisfy a predetermined condition are preselected from the total determined and evaluated measurement sequences. In step S4, the final selection of the measurement sequence that was determined to be valid (i.e., satisfying the condition) in the preceding step S3 and that has, for example, the minimum or maximum evaluation value is made. This can then be implemented by the coordinate measuring machine 18 to measure the object 10 in the optional step S5.
[0148] However, the condition can also be taken into account directly when changing the measurement sequence. For example, only those measurement sequences that satisfy the condition can actually be evaluated or otherwise pursued by the algorithm. In particular, it can be checked directly when changing the measurement sequence whether a planned change leads to a measurement sequence that satisfies the condition. If this is not the case, this measurement sequence cannot be created, saved, evaluated, or otherwise processed.
[0149] Examples of such conditions are mentioned in the general description. According to one example, which does not fall within the scope of the claimed invention, this may involve maintaining a collision-free condition. According to the invention, however, this involves maintaining a predetermined relative ratio of surface areas.
[0150] This relative relationship can generally be temporal (i.e., two surface areas may only be measured within a predetermined maximum time period, i.e., they may not be measured outside of this predetermined time period). Additionally or alternatively, the relative relationship can define a (measurement) sequence of the surface areas to be observed, for example, if one of the surface areas must be measured before the other because a property to be determined of the other surface area depends on a property to be determined of the first surface area.
Claims
1. Method for selecting a measurement sequence for at least one coordinate measuring machine (18), including: a) obtaining a plurality of surface regions (14) of an object (10) that should be measured by at least one measurement sensor (16) in respect of at least one predetermined property, wherein the measurement sensor (16) should be arranged by the coordinate measuring machine (18) at at least one specific position and / or with at least one specific alignment for the purpose of measuring a respective surface region (14); and being characterized by b) changing a measurement sequence, in which the surface regions (14) should be measured, multiple times using at least one algorithm, wherein the algorithm in each case ascertains a changed measurement sequence and an assessment variable for the changed measurement sequence within the scope of each change; c) selecting one of the measurement sequences on the basis of the ascertained assessment variables; wherein a relative relationship of at least two surface regions (14) is specified as a condition to be observed by each measurement sequence, characterized in that the relative relationship specifies a maximum admissible time interval, within which the at least two surface regions (14) are allowed to be measured when carrying out the measurement sequence and / or the relative relationship specifies a relative sequence of the at least two surface regions (14) within the measurement sequence, wherein it is specified that one of the at least two surface regions must be measured before another surface region of the at least two surface regions, since the measurement results of the one surface region of the at least two surface regions co-determine the measurement of the other surface region of the at least two surface regions and / or there is a dependency therebetween.
2. Computer device (100), configured to set a measurement sequence for a coordinate measuring machine by carrying out a method according to Claim 1.