REPEATED DETERMINATION OF A POSITION OF A MOVABLE PART OF A COORDINATE MEASURING MACHINE
20230152074 · 2023-05-18
Inventors
Cpc classification
B25J9/1679
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
A position of a movable part of a coordinate measuring machine (CMM) is determined repeatedly. A position value of the part is measured at a reference location. First and second acceleration values are measured at a first and second measuring location. The second measuring location is closer to a measuring sensor than the first measuring location and the first measuring location is closer to the reference location than the second measuring location. A target and/or actual state value is supplied to a model of the CMM. Estimators are modelled. The model is supplied with a position deviation based on the estimator of the position deviation and deviation based on the estimator of the deviation and the deviation of the measured first and second values. The position of the part is determined from the measured position value in relation to the reference location based on the estimator of the position deviation.
Claims
1. A method for repeated determination of a position of a movable part of a coordinate measuring machine, wherein a measuring sensor of the coordinate measuring machine is moved by a movement of the movable part, the method comprising: (a) measuring a position value of the movable part with a position measuring system of the coordinate measuring machine, the position measuring system measuring the position value in relation to a reference location of the coordinate measuring machine that can move when the movable part moves; (b) measuring a first acceleration value at a first acceleration measuring location of the coordinate measuring machine with a first acceleration sensor; (c) measuring a second acceleration value at a second acceleration measuring location of the movable part with a second acceleration sensor, the second acceleration measuring location being arranged closer to the measuring sensor than the first acceleration measuring location or being a location of the measuring sensor, and the first acceleration measuring location being arranged closer to the reference location than the second acceleration measuring location or being the reference location; (d) supplying a state value, which describes at least one of a target state and an actual state of the coordinate measuring machine, to a computational model of the coordinate measuring machine; (e) forming an estimator of a position deviation between the reference location and the second acceleration measuring location with the computational model; (f) forming and outputting an estimator of an acceleration deviation between an acceleration at the first acceleration measuring location and the acceleration at the second acceleration measuring location with the computational model; (g) supplying the position deviation to the computational model taking into account the estimator of the position deviation between the reference location and the second acceleration measuring location; (h) supplying the acceleration deviation to the computational model taking into account the estimator of the acceleration deviation between the acceleration at the first acceleration measuring location and the acceleration at the second acceleration measuring location and taking into account a deviation between the measured first acceleration value and the measured second acceleration value; (i) determining the position of the movable part from the measured position value in relation to the reference location and in accordance with the estimator of the position deviation between the reference location and the second acceleration measuring location formed by the computational model, and wherein steps (a) to (i) are repeatedly carried out.
2. The method according to claim 1, wherein coordinates of a workpiece measured with the measuring sensor are determined in accordance with the estimator of the position deviation between the reference location and the second acceleration measuring location formed by the computational model and from at least one of measurement values and signals of the measuring sensor.
3. The method according to claim 1, wherein the position deviation and the acceleration deviation supplied to the computational model are each supplied with a weighting such that there is a larger influence in the case of a higher set weighting and a lesser influence in the case of a lower set weighting on calculations of the computational model, and wherein the weighting is determined based on a quality criterion which takes account of state variables that describe the state of the coordinate measuring machine, in each case over a course of time during an operating time period.
4. The method according to claim 1, wherein the position deviation and the acceleration deviation supplied to the computational model are each supplied with a weighting such that there is a larger influence in the case of a higher set weighting and a lesser influence in the case of a lower set weighting on calculations of the computational model, and wherein weightings are set such that an influence on a calculation of the computational model resulting from the supplied position deviation is less than the influence from the supplied acceleration deviation.
5. The method according to claim 1, wherein the position deviation supplied to the computational model is equal to the estimator of the position deviation between the reference location and the second acceleration measuring location from a preceding calculation cycle of the computational model or differs from the estimator of the position deviation by a value that is constant over time.
6. An arrangement having a coordinate measuring machine which includes a movable part, a movement of which allows a measuring sensor of the coordinate measuring machine to move, the arrangement comprising: a position measuring system, the position measuring system being configured to repeatedly measure a position value of the movable part in relation to a reference location of the coordinate measuring machine, the reference location being able to move during the movement of the movable part; a first acceleration sensor configured to repeatedly measure a first acceleration value at a first acceleration measuring location of the coordinate measuring machine; a second acceleration sensor configured to repeatedly measure a second acceleration value at a second acceleration measuring location of the movable part, the second acceleration measuring location being arranged closer to the measuring sensor than the first acceleration measuring location or being a location of the measuring sensor and the first acceleration measuring location being arranged closer to the reference location than the second acceleration measuring location or being the reference location; a position determining device in which a computational model of the coordinate measuring machine is implemented and which comprises an interface for supplying a state value, which describes at least one of a target state and an actual state of the coordinate measuring machine, to the computational model; wherein the position determining device is configured to: repeatedly form an estimator of a position deviation between the reference location and the second acceleration measuring location with the computational model, repeatedly form an estimator of an acceleration in a deviation between the acceleration at the first acceleration measuring location and the acceleration at the second acceleration measuring location with the computational model, repeatedly supply the position deviation to the computational model taking into account the estimator of the position deviation between the reference location and the second acceleration measuring location, repeatedly supply an acceleration deviation to the computational model taking into account the estimator of the acceleration deviation between the acceleration at the first acceleration measuring location and the acceleration at the second acceleration measuring location and taking into account the deviation between the measured first acceleration value and the measured second acceleration value, and repeatedly determine a position of the movable part from the measured position value in relation to the reference location and in accordance with the estimator of the position deviation between the reference location and the second acceleration measuring location formed by the computational model.
7. The arrangement according to claim 6, wherein the arrangement is configured to determine coordinates of a workpiece measured with the measuring sensor, in accordance with the estimator of the position deviation between the reference location and the second acceleration measuring location formed by the computational model and from at least one of measurement values and signals of the measuring sensor.
8. The arrangement according to claim 6, wherein the position determining device is configured to supply each of the position deviation and the acceleration deviation supplied to the computational model with a weighting such that there is a larger influence in the case of a higher set weighting and a lesser influence in the case of a lower set weighting on calculations of the computational model, and wherein the weighting is determined based on a quality criterion which takes account of state variables that describe the state of the coordinate measuring machine, in each case over a course of time during an operating time period.
9. The arrangement according to claim 6, wherein the position determining device is configured to supply each of the position deviation and the acceleration deviation supplied to the computational model with a weighting such that there is a larger influence in the case of a higher set weighting and a lesser influence in the case of a lower set weighting (H) on calculations of the computational model, and wherein weightings are set such that an influence on the calculations of the computational model resulting from the supplied position deviation is less than the influence from the supplied acceleration deviation.
10. The arrangement according to claim 6, wherein the position determining device is configured such that the position deviation supplied to the computational model is equal to the estimator of the position deviation between the reference location and the second acceleration measuring location from a preceding calculation cycle of the computational model or differs from the estimator of the position deviation by a value that is constant over time.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0083] The disclosure will now be described with reference to the drawings wherein:
[0084]
[0085]
[0086]
[0087]
[0088]
[0089]
[0090]
DESCRIPTION OF EXEMPLARY EMBODIMENTS
[0091] The gantry-type coordinate measuring machine (CMM) 211, shown in
[0092] A scale of the position measuring system is represented by a plurality of short lines that extend in the vertical direction at the lower end of the crossbeam 204 in
[0093] Further,
[0094] The controller 222 is further combined with a computing device 221, or includes the latter, in which the calculations of the computational model are executed repeatedly during the operation of the CMM 211. The computing device 221 can be part of the CMM 211 or be embodied separately as a further part of an arrangement with the CMM 211.
[0095] At least one first acceleration sensor 216 and one second acceleration sensor 218 are arranged on the CMM 211 in the exemplary embodiment. The first acceleration sensor 216 is integrated in the cross slide 207 and measures at least the acceleration component in the X-direction. The second acceleration sensor 218 is integrated in the quill-side part of the interchange interface 209, for example. Alternatively, the second acceleration sensor may be integrated in, e.g., the upper part of the mounting device 210 which, in
[0096] The second acceleration sensor 218 likewise measures at least the acceleration component in the X-direction. If at least one further acceleration sensor (not depicted here) is provided and serves to measure the acceleration component of the gantry (e.g., at the column 202) in the Y-direction, then, typically, the second acceleration sensor 218 or a further acceleration sensor in the lower end region of the quill 208 is configured to likewise measure the Y-component of the acceleration. The computational model typically calculates the estimators for the position deviations of the X-component and the Y-component separately. In particular, the computational model may have two separate model parts, which are each supplied with the aforementioned deviations and state values.
[0097] The computational model repeatedly forms (e.g., during each work cycle) estimators of a position deviation between a reference location (in particular at a scale for determining the X-position or the Y-position) and the second acceleration measuring location. As mentioned,
[0098] In particular, the results of the computational model are used to determine the coordinates of the workpiece 217 to be measured in the coordinate system of the CMM 211 from the measurement values of the measuring head 205, or to correct said determined coordinates.
[0099] The estimators of the computational model are repeatedly formed, especially in each work cycle of the drive controller or drive regulator, and control signals for actuating the drives of the CMM 211 are produced taking account of the estimator for the position deviation. Therefore, it is possible to damp or compensate mechanical vibrations at the predetermined location using these control signals. In particular, this procedure is not restricted to the CMM 211 depicted in
[0100] Explanations are now provided with reference to
[0101] A separately depicted regulator REG, which actuates at least one drive of the system SYS, outputs control signals which are supplied to another part of the regulator REG or directly to at least one drive of the system SYS. These output signals are input signals INP for the system SYS. The system SYS in turn outputs output signals OPT. In relation to the present disclosure, the input signals INP are the target values of the drive controller or drive regulator, which are supplied to the computational model. The output signals OPT are at least the position measurement values and/or the acceleration measurement values.
[0102] In a method step IDT of identifying the system SYS, the input signals INP and the output signals OPT are processed to form a model MOD of the system SYS. Optionally, additional information may be used for the model MOD in addition to the input signals INP and the output signals OPT, e.g., information about physical properties of the system SYS.
[0103] Unlike what is depicted in
[0104] The computational model that is used for determining the position of the movable part of a coordinate measuring machine with position estimators may be, in particular, the model MOD from
[0105] The computational model may use state variables of the system in its calculations and values of a plurality of state variables of the system may optionally also be repeatedly supplied thereto, particularly if, like, e.g., in the case of the computational model MOD from
[0106] Therefore, phrased in general terms, the computational model may be a purely mathematical model or a mathematical model with at least partial physical meaning. The computational model may also be a purely physical model, in which the behavior of the system in respect of mechanical vibrations is described, for example by appropriate differential equations which, for example, describe spring-mass interactions in accordance with the system. In this case, the implemented form of the computational model contains solutions or approximate solutions of the differential equations.
[0107] A finite element model (FEM), which uses the masses of the CMM, the damping properties thereof for damping mechanical vibrations and the rigidity properties of the CMM for computational modelling of the CMM, is another form of the physical modelling of a coordinate measuring machine. Such FEMs have already been described in the field of coordinate metrology and are not explained in any more detail here. The FEM implemented in the computational model may, e.g., as a computer program, output matrices and/or vectors which, taking into account the acting excitation forces that lead to mechanical vibrations, describe the system behavior. A state space model that is suitable for the purposes of the disclosure may be produced in this way.
[0108] The vibration behavior of a CMM, in particular at the locations for the acceleration measurement and estimation by the computational model, may depend on the movement state of the CMM. By way of example, the vibration behavior in the case of a maximally extended horizontal arm may be different to where the horizontal arm is extended less far. In the case of a gantry-type CMM, the vibration behavior generally also depends on the movement position in respect of each of the three linear axes X, Y, and Z. In particular, the position in the X-direction of the slide (reference sign 207 in
[0109] The spatial dependence of the vibration behavior can be taken into account in different ways. By way of example, the model may take account of the dependence of the vibration behavior of the system on the position of the movable part for example by parameters of the model which have different values depending on the position of the movable part. Such a model may consist of partial differential equations. Alternatively, a respective computational model can be generated for different movement states of the CMM and, in particular, for different movement positions of the measuring sensor. Which computational model is then used during the operation of the CMM depends on the movement state. By way of example, a respective computational model can be produced for a discrete number of movement positions (raster-type positions) of the measuring sensor or of the movable part on which the measuring sensor is arranged, and the computational model produced for the raster-type position closest to the current position is used during the operation of the CMM. Further alternatively, the model can be configured to be so robust that it only depends on the movement state of the CMM to a small extent. The aforementioned repeated feedback of the position deviation and acceleration deviation to the computational model enables the robust configuration of the latter, in particular. A different vibration behavior, e.g., a different vibration frequency or different vibration amplitude, is detected by the measurement signals of the acceleration sensors and is therefore available to the model as a result of feeding back the acceleration deviation. Feeding back the position deviation stabilizes the computational model in relation to the aforementioned “running away” of the position.
[0110] The state values (input signals INP in the example of
[0111] The further description resorts to the exemplary embodiment of a computational model a number of times, in which computational model, as mentioned above, a plurality of state variables describe the respective system state. In particular, the state variables are processed as components of the state vector in what is known as a state space model in order to produce and output the aforementioned estimators.
[0112] As will still be explained in more detail, the computational model can be implemented based on the principle of an observer or a Kalman filter. The computational operations of the computational model are repeatedly carried out, in particular with the system clock of the controller of the CMM, in particular a real-time controller. In particular, a set of input values (acceleration deviation and position deviation, in each case optionally weighted or processed, state value) is received in each work cycle and an estimator of the acceleration deviation is formed and output. An estimator of the position deviation is typically also output. The position in the work cycle of the computational model at which the processed values for the acceleration deviation and the position deviation are supplied depends on the embodiment either as an observer or as a Kalman filter.
[0113] It is typical that the weighting of the acceleration deviation and position deviation that are fed back into the computational model is set in such a way that the temporal profile of the estimated position deviation, as determined by the computational model, follows the vibration profile emerging from the acceleration measurement values over a few (e.g., three or five) vibration cycles, with, however, a phase offset possibly occurring between the time profile of the deviation of the acceleration measurement values and the estimated acceleration deviation on account of the phase measurement error of the acceleration sensors.
[0114] An exemplary embodiment for a computational model that is based on an observer is initially described below with reference to
[0115]
[0116] The acceleration deviation Δa is determined by a second determination device 30, in each case from the current deviation of the first acceleration a1 from the second acceleration a2, which is formed by a third determination device 32, and from the current estimator Δ
[0117] Here, the position deviation Δs is multiplied by a weighting operator H1 (e.g., a scalar, a vector or a matrix). In the case of a vector or a matrix, the components of this first weighting operator H1 are weighting components in respect of, in each case, a state variable of a state vector or state space, which describes the state of the system SYS. In particular, the weighting components can be temporally constant weighting components, i.e., they do not change over time. The state variables can be physical state variables or mathematical state variables. By way of example, the computational model MOD can use the physical state variables of position at the first and second acceleration measuring location, and optionally also the speed at at least one of these locations and the position at these locations. In this case, for example, it is possible to determine time derivatives of the position and/or integrations of the acceleration with respect to time, and optionally of the speed. The same as for the first weighting operator H1 correspondingly also applies to a second weighting operator H2, with which the acceleration deviation Δa is weighted and with which, for example by way of different weighting components, it is possible to undertake weightings in relation to the various state variables. Weighting components of the first weighting operator H1 and of the second weighting operator H2 may have the value zero, i.e., no influence of the respective deviation is exerted in respect of individual state variables.
[0118] Optionally, three, four or five purely mathematical state variables, for example, may be added in the exemplary embodiment in addition to the physical state variables in order to be able to better describe the behavior of the system SYS. Alternatively, all state variables of the model can be purely mathematical state variables.
[0119] The deviations Δs and Δa weighted thus are supplied to the computational model MOD via a combination device 34. Moreover, the target value DAC of the drive controller or drive regulator is supplied to the combination device 34, weighted by multiplication with a weighting operator B (e.g., a scalar, vector or a matrix) in the exemplary embodiment. In particular, the weighting operator B corresponds to the control vector of the state space model. Optionally, like the weighting operators H as well, the weighting operator B may have a plurality of weighting components which set the influence of the respectively currently valid target value to various state variables of the model. If the weighting operator B is a scalar, no influences on various state variables are caused at this point of the model.
[0120] Reference sign 33 denotes a retardation member. Such a retardation member is known from control engineering for representing controls and symbolically represents the behavior corresponding to the clocked processing of the data. In the case of
[0121] In the case of the above-described variant according to which the estimator Δ
[0122] Since the parameters of the feedback coefficients, which define the vectors, scalars or matrices H1 and H2, in particular may be a large number of parameters (e.g., a total of five to thirty), it is typical for the parameter values to be determined in advance, i.e., before the operation of the coordinate measuring machine, using a quality criterion. In particular, a test operation of the coordinate measuring machine may occur to this end. In the following equation:
[0123] J denotes the result of the calculation within the scope of the quality criterion, Jo denotes a predeterminable fixed value (which may be selected to be zero in many exemplary embodiments), x denotes the state vector which is formed from the values of the state variables as components of the vector and which is determinable by the matrices, vectors or scalars A and C of the state space model, x′ denotes the corresponding transposed state vector in order to form a scalar variable from the state vector by matrix multiplication, Q denotes a matrix which allows adjustment of the degree with which trust is placed on the measurement values or, in contrast thereto, on the model, as a result of which it is possible to set the dynamics, in accordance with which the influences of the measurement values decay, u denotes a vector:
which is formed from the respective target value DAC and moreover contains the parameters of the sought-after matrix, the sought-after vector or the sought-after scalar H (consisting of, e.g., the two columns formed by the vectors H.sub.1 and H.sub.2 in the case of a matrix) as coefficients in particular, u′denotes the corresponding transposed vector in order to obtain a scalar variable by multiplication with the matrix R, which renders it possible to set the speed with which the influences on the measurement values decay. By way of example, the program Matlab can be used to implement the computational model and/or calculate the parameters.
[0124] In the further part of the description,
[0125] The expression Min in the equation above expresses that the result J of the calculation of the quality criterion is minimized by varying the parameters contained in the matrix, the vector or the scalar H. When the minimum or a minimum has been found, the corresponding set of parameter values is adopted in the computational model and used during the operation of the coordinate measuring machine.
[0126]
[0127] In the variant, depicted in
[0128]
[0129] In contrast to
[0130] The calculation of the parameters of the computational model MOD is effectuated, e.g., using the following equations which lead to a modification or correction of the state variables in the current cycle. In principle, the Kalman filter reacts more quickly to the deviations that are fed back than the observers in accordance with
[0131] Here, P.sub.n denotes the result of the operation in the respective work cycle n, which is represented on the right-hand side of the first line of the set of equations, and corresponds to the covariance matrix which reproduces the uncertainty of the estimate, A denotes the matrix A from
denotes the covariance matrix from the preceding work cycle or, in the first work cycle, a given matrix (which defines the start values of the state variables, where a value of zero can be placed in the case of each unknown start value if applicable), Q denotes the matrix which defines the dynamics of the computational model in a manner analogous to the quality criterion of the observer, A′ denotes the transposed system matrix A, K.sub.ndenotes the result of the operation on the right-hand side of the second equation of the set of equations, which is referred to as Kalman gain, C denotes the model matrix from
denotes the updated covariance matrix in the current cycle, E denotes an identity matrix, i.e., a matrix where a value of 1 is located all along the main diagonal and the remaining values are zero,
denotes the state vector from the preceding work cycle, for which initial values of the state variables are defined for the first work cycle, B denotes the operator represented in
denotes the result of the operation on the right-hand side of the sixth and last equation of the aforementioned set of equations and y.sub.mess denotes a vector whose components are formed by the measurement values of the position s for the reference location and by the measurement values of the accelerations a. Here, the matrix K.sub.n is a matrix from which both the operator K.sub.1(k) and the operator K.sub.2(k) are formed or both said operators consist of said matrix. By way of example, the two operators are matrices which are composed to the larger matrix K.sub.n consisting of more lines and columns.
[0132] As a result of the described type of cycle-dependent feedback of the position deviation values and the acceleration deviation values in the Kalman filter, a computational model that reacts more quickly than the observer is obtained, said computational model consequently also being more robust in relation to the position dependence of the vibration behaviour of the movable part of the CMM. Using the model that is based on the Kalman filter, it is also possible to better compensate inaccuracies when creating the computational model; i.e., the behaviour of the system is modelled better despite the inaccuracies of the computational model.
[0133] In addition to the mechanical vibrations of the movable part, which are caused by the drives of the CMM, there may also be vibrations on account of different causes, said vibrations also relating to the base (e.g., a granite slab) of the CMM, as already mentioned above. If the base vibrates as well, this may have direct effects on the measurement results of the acceleration sensor at the first acceleration measuring location (close to the reference location). However, since the acceleration is additionally also measured at the second acceleration measuring location close to the measuring sensor and the difference of the acceleration values is processed further, the method is robust vis-a-vis vibrations of the base of the CMM. All vibrations produced in the same way at the acceleration measuring locations as a result of vibrations of the base are cancelled as a result of subtraction.
[0134] Nevertheless, an additional acceleration sensor for measuring the vibrations of the base may optionally be used. In this case, it is moreover possible to repeatedly form the difference between the measurement values at the first or second acceleration measuring location and the measurement value of the base, and the effects of the mechanical vibrations of the base can be eliminated thereby.
[0135] Now, an exemplary embodiment for taking into account the position s2 at the second acceleration measuring location for the drives of the CMM, as estimated with the aid of the computational model, is described on the basis of
[0136]
[0137] Further, the measured position s1 and the accelerations a1 and a2 at the output of the system SYS are represented in
[0138] Alternatively, feeding back the measurement vector y(t) or a corresponding scalar, the latter in the case of only one feedback measurement variable, and the estimated state vector x̂(t) can be carried out in such a way that, for each state variable, only one of the two feedback vectors or scalars contains a value unequal to 0. As a result of this, there is a clear definition as to which of the two feedback vectors or scalars has an influence on the drive regulator in respect of this state variable. However, nor is it necessary for a value to be fed back to the combination device 55 for all state variables that are taken into account by the computational model MOD. What set of feedback state variables achieves the best damping or compensation of vibrations can be determined within a test operation or simulation, in particular by varying the set of state variables that are fed back to the combination device 55.
[0139] What can be achieved, in particular, on account of the function of the combination device 55 is that each defined state variable that is to be fed back (e.g., the acceleration and the position) is contained only as a single state variable in the regulating error e(t) despite the feedback of both the measurement vector y(t) and the estimated state vector x̂(t). Here, the vector or scalar w(t) only has the dimension of the number of defined feedback state variables. What can be achieved by filling the reference variable w(t) with a zero in the component corresponding to a state variable, particularly if the combination device 55 forms the difference between the reference variable w(t) and the feedback vector, to be precise component-by-component for each state variable, is that the negative value of the corresponding state variable is directly assigned to a corresponding element of the regulating error e(t), i.e., a difference is formed, in which the corresponding component of the vector w(t) has a value of zero. Here, it is also possible for a component of the vector of the reference variable w(t) to permanently have a value of zero.
[0140] The parameters of the model are defined by the respective above-described method of model formation. The values of the operator K may be determined in advance on the basis of a quality criterion, in a manner analogous to what is described above in the case of the observer. Here, it is optionally possible to proceed in two steps. Initially, the observer or the Kalman filter can be designed as described above and the corresponding parameters H can be determined. Then, the parameters of the operator K can be determined in a second step by renewed application of a quality criterion. Like in the case of the quality criterion, the application of which was described in conjunction with
[0141] It is understood that the foregoing description is that of the exemplary embodiments of the disclosure and that various changes and modifications may be made thereto without departing from the spirit and scope of the disclosure as defined in the appended claims.