The invention relates to a method for guiding the movement of a movable machine element of a numerically controlled machine tool or production machine on a prescribed movement path of the machine element.
A customarily used electric drive system of a machine tool or production machine is illustrated in the form of a block diagram in
For this purpose, the numerical controller 1 in accordance with
The principle of the planning of such movement guidance of a machine element is illustrated schematically in
In accordance with the specific kinematic transformation valid for the respective machine kinematics and known to the person skilled in the art, the path length s, path speed {dot over (s)}, the path acceleration {umlaut over (s)} and path jerk can be used to calculate for each motor of the machine participating in the movement the associated nominal motor position angle φMS, the associated nominal motor angle of velocity {dot over (φ)}MS, the associated nominal motor angular acceleration {umlaut over (φ)}MS, as well as the associated nominal motor angular jerk MS. The respective nominal motor position angle φMS forms the respective setpoint for the respectively associated position control loop (see
By means of targeted stipulation of the input variable of path jerk , or the other variables (path acceleration {umlaut over (s)}, path speed s and path length s) can be transformed by integration from one state into another via suitable intermediate values such that all restrictions can be checked and observed. The restrictions establish the shortest duration of the machining operation. This signifies in the inverse conclusion that the movement guidance is time optimum whenever at least one variable reaches its possible maximum at each instant. The restrictions that have to be taken into account in the case of movement guidance have a correspondence to the real machine. Some assignments are possible without any problem and so, for example together with gear ratios and screw pitches of, for example, feed screws, the maximum rotational speed of the drives yields a maximum displacement speed.
However, the acceleration capability of the drive axes of the machine is limited by the maximum possible driving torques of the drive motors. However, the calculation of the driving torques to be applied for the purpose of traveling movement presupposes an exact knowledge of the machine kinematics. In the simplest case, this means taking account of a concentrated mass or of a concentrated moment of inertia in order to convert the acceleration known from the planned movement guidance into the associated driving torque. This simple conversion is not always possible. Many machine kinematics exist of which the drive axes have mechanical couplings. It is necessary in this case to apply the so-called Lagrange equations, which exhibit the relationship between the driving torques, the drive angles, the corresponding time derivatives of the drive angles and the corresponding inertia terms.
In the case of a machine, the position coordinates qi correspond to the motor position angles φMi and the generalized forces Q1 correspond to the driving torques dMi of the ith drives (i=1 . . . n).
The application of the Lagrange formalism leads to:
If the motor position angles φMi are given in the form of the arc length s in accordance with the relationships
the equation (20) has the form
The time derivative of the driving torques is calculated as:
so that no drive is overloaded, it must hold that:
The observance of these conditions leads to:
φMi=φMi(s) (14)
−{dot over ({tilde over (φ)}Mi,max≦e′i·{dot over (s)}≦{dot over (φ)}Mi,max ∀i (15)
−{tilde over (d)}Mi,max≦ci(s)·{dot over (s)}2+c2(s)·{umlaut over (s)}≦dMi,max∀i (16)
−{dot over ({tilde over (d)}Mi,max≦c3,i(s)·{dot over (s)}3+3·c1,i(s)·{dot over (s)}·{umlaut over (s)}+c2,1(s)·≦{dot over (d)}Mi,max∀i (17)
The driving torque exerted by the drive motor of a drive axis implicitly effects the acceleration of a number of other drive axes. A movement of an axis then causes disturbing influences on the movement of the other drive axes. This can be taken into account adequately when planning the movement guidance only when the mass property and inertia properties of the machine are known. Furthermore, use is frequently made of machines whose mass properties and inertia properties are not constant in the working space of the machine. The reason for this can lie, inter alia, in kinematics that is nonlinear in principle, or masses which change because of different tools that are being exchanged during operation.
If the mass properties or inertia properties are not known, the data can be determined and/or estimated manually (experimentally, “trial and error”). If a safety coefficient that is necessarily to be generously dimensioned, the result is thus restrictions that are too restrictive and do not utilize the dynamics of the drive system optimally. The actually maximum possible acceleration values therefore cannot be attained.
If information is available in relation to the mechanical design (for example in the form of construction drawings), it is then possible to describe the machine mathematically using the means of analytical mechanics. For this purpose, kinematics and kinetics of the machine are formulated in the form of movement differential equations that can be used to determine the mass properties and inertia properties. This theoretical modeling is mostly very complicated, since the mathematic expressions become very voluminous, even for simple mechanical designs. In addition, machine kinematics are known for which there exists no analytical description.
At present, only a single machine datum for the entire movement guidance is provided kinetically per drive axis of the machine for deceleration on the movement path S. If the mass properties and inertia properties of a machine change in the working area, to date the maximum possible path of generation[??] on the movement path S has been determined by means of a worst case estimate that then holds for the entire working area of the machine and for the entire movement path S. Consequently, the possible dynamics are thereby not utilized optimally and the resulting curving period is longer than strictly necessary.
In order to limit the time derivatives of the nominal motor position angles, equations (14)-(17) are solved for the path length s, the path speed {dot over (s)}, the path acceleration {umlaut over (s)}, and the path jerk , or these variables are determined and taken into account during the movement guidance with regard to the restriction of the respective variable by the controller of the machine. As already described above, for this purpose a constant maximum path acceleration {umlaut over (s)} has been prescribed for the entire movement operation of the machine element 8 on the movement path S in the case of commercial controllers currently being used. By contrast therewith, in the present invention use is always made in equations (14) to (17) of the coefficients ci valid at the respective working points, and in such a way the movement of the machine element 8 proceeds at each working point for the maximum possible path acceleration {umlaut over (s)} and/or the maximum possible path jerk and/or the maximum possible path speed {dot over (s)}. Of course, there are yet other possibilities taking account of restrictions in a movement guidance in addition to the above named Lagrange equations such as, for example Newton-Euler equations or Hamilton equations, etc. but these all use the above mentioned coefficients ci in identical or modified form.
It may be remarked at this juncture that it is, of course, possible to apply the use not with restriction to Cartesian coordinates, but to any desired contexts of as many axes as desired whose movements are coupled via one or more common parameter, such as is often the case with printing machines, weaving looms, gear hobbing machines or the like. Of course, all the regularities apply not only to rotary drives but also to linear drives where, inert masses act instead of the moments of inertia.
It is the object of the invention to provide a method for optimum movement guidance of a movable machine element of a numerically controlled machine tool or production machine.
The object is achieved for the method according to the invention by virtue of the fact that support points are defined in the working area of the machine, the maximum possible path jerk and/or the maximum possible path acceleration and/or the maximum possible path speed of the machine element being determined or prescribed at each support point, and the movement of the machine element on the movement path being carried out with the maximum possible path jerk and/or the maximum possible path acceleration and/or the maximum possible path speed of the machine element.
The method according to the invention has substantial advantages by comparison with the prior art. Thus, the method according to the invention can be used to determine the full limiting values of the maximum permissible accelerations of the drive axes, and to render the control of the machine accessible. The movement guidance can always plan and carry out the movement optimally in terms of time, in particular with the actual possible acceleration capability of the drive axes and the drive motors. Furthermore, the acceleration capability can be determined very accurately. The limiting values are physically expedient in any case, and so it is possible to dispense with safety coefficients. The traveling movement of the machine element can therefore be carried out optimally in terms of time.
The method according to the invention can be used to determine the acceleration capability of the drive axes for the entire working area of the machine which can, for example be subdivided by a three-dimensional grating. The controller can plan the movement operation with the restrictions valid for the respective working point. Much shorter machining times result thereby, particularly in the case of conditions of mass properties and inertia properties of the machine that vary in the working area.
It proves to be advantageous for the invention that the support points in the working area of the machine are defined by a grid-like subdivision, or are prescribed by a user individually, particularly for a specific movement path S, since it is thereby possible to define the support points in the working area in a particularly efficient fashion.
It proves to be advantageous for the invention that for working points that are not support points, the maximum possible path jerk and/or the maximum possible path acceleration and/or the maximum possible path speed of the machine element at the support points are used to carry out a smoothing of these maximum possible variables, and the movement of the machine element for working points that are not support points is carried out with the maximum possible path jerk and/or the maximum possible path acceleration and/or the maximum possible path speed of the machine element. This ensures that only a relatively small number of support points need to be defined on the movement path, and that nevertheless an optimum movement guiding of the machine element is ensured.
Furthermore, it proves to be advantageous for the invention that the determination of the maximum possible path jerk and/or the maximum possible path acceleration and/or the maximum possible path speed of the machine element is carried out for each drive axis of the machine with the aid of the maximum possible driving torque of the drive motor and of an inertia matrix. A determination of the maximum possible path jerk and/or the maximum possible path acceleration and/or the maximum possible path speed of the machine element is particularly simple with the aid of an inertia matrix.
It proves to be advantageous in this context that the inertia matrix is determined for each support point in such a way that in a first step a support point of the machine element is approached, and that in a second step a respective excitation function is used to excite the position control circuits of the drive axis, the current motor position angle and the current driving torque or the current torque value being simultaneously stored over a specific period for each drive axis, these stored variables being used per drive axis to identify the coefficients of the driving torque and of the motor position angle, the second step being subsequently repeated in accordance with the number, reduced by the factor 1, of the drive axes with a respectively varied excitation function, and the acceleration and torque coefficients thus being determined, the inertia matrix for the respective position point being determined in a third step from the acceleration and torque coefficients. Here, the inventors have provided a particularly simple, efficient and reliable method for determining the inertia matrix.
Furthermore, it proves to be advantageous for the invention that in the case of a machine with constant inertial conditions, the determination of the maximum possible path jerk and/or the maximum possible path acceleration and/or the maximum possible path speed of the machine element, is carried out with the aid of a single support point. The period required for carrying out the method can be sharply reduced thereby.
It proves to be advantageous for a further embodiment of the invention that the maximum possible path jerk and/or the maximum possible path acceleration and/or the maximum possible path speed of the machine element of the machine are determined at the support points and/or working points with the aid of a simulation system, and the movement of the machine element on the movement path carried out with the maximum possible path jerk and/or the maximum possible path acceleration and/or the maximum possible path speed of the machine element. If there is a possibility of determining the above named variables in advance with the aid of a simulation system, these variables can also be prescribed directly to the controller of the machine without them having to be determined firstly by means of a traveling movement.
An exemplary embodiment of the invention is illustrated in the drawing and will be explained in more detail below. In this case:
To this end,
A first support point is subsequently approached in function block 21 by the machine element 8. The mass properties and inertia properties of the machine are now to be determined below in the form of a so-called inertia matrix M. At the respective support point, this supplies the valid linear relationship between the acceleration of the machine element or the drive motors and the respective driving torques required for the purpose and which are to be applied by the drive motors. The machine is operated for this purpose with a closed position control loop.
As output variable, the first-order delay block 17a outputs the driving torque dM1 of the drive motor 4a in accordance with
The motor angular velocity {dot over (φ)}M1 {dot over (φ)}M2 is calculated from the motor angular acceleration {umlaut over (φ)}M1 or {umlaut over (φ)}M2 with the aid of the integrators 13a and 13b. The motor position angle φM1 or φM2 is calculated from the motor angular velocity {dot over (φ)}M1 and {dot over (φ)}M2 by integrating once again with the aid of the integrators 14a and 14b.
It may be remarked at this juncture that, in the case of a real machine the respective motor position angle φM1 or φM2 are self-evidently made available as measured variables to the position control loops by corresponding transmitters allocated on the drive motors 4a or 4b. In order to permit the viewer a better functional understanding of the inertia matrix M, the mechanism 11 of the machine has been simulated in
The coupling of the drive axes via the inverse of the inertia matrix M acts in the closed position control loop not only via transmission paths from one input each to all outputs of the control system, but there exists in addition a mutual influence between the upper and lower position control loops.
Back to
f(t)=a+b·t+c·cos (2·πft)+d·sin (2·πft) (1)
Via the nominal motor position angle φMS1 or φMS2 the excitation function f(t) is fed into the two position control loops, it being possible to select the parameters a, b, c and d differently for the individual drive axes of the machine, whereas it is necessary by contrast, to select an identical frequency for all the drive axes. A value of zero is expediently assumed for the parameter a since the parameter a would otherwise effect only a constant deviation from the support point, it to be the parameter a has already been used in advance in order to approach the instantaneous support point. The specifications of the individual machine dictate how the parameters are to be selected individually. The deflection from the support point by means of the excitation function f(t) should, however, be kept small so that it is possible to assume a linear system performance overall. Thus, in the steady-state condition all the variables and signals in the system in the position control loop have a harmonic characteristic of the same frequency. The function block 23 waits for the settling time of the system, before the recording of the measured values begins in function block 24.
Upon expiry of the settling time, which is a function of the frequency of the excitation function f(t) and the dynamics of the position control loop, the motor position angle φM1 and the driving torque dMi are respectively recorded and stored in each case for all the position control loops and drive axes of the machine. The memories 18a, 18b, 19a and 19b are used for storage in the exemplary embodiment. The above named variables should in this case be stored over a few periods of the excitation function f(t). The index i (i=1 . . . n) designates the number of the respective drive axis. i=1 and i=2 for the two-axis machine specified in the exemplary embodiment. It may be mentioned at this juncture that instead of the two-axis machine of the exemplary embodiment it is also possible to use a machine with as many axes as desired.
Subsequently, the coefficients ĉ{umlaut over (φ)}i and {circumflex over (d)}{umlaut over (φ)}i of the motor angular acceleration {umlaut over (φ)}M1 as well as the estimated amplitudes of the cosine and sine components ĉdi and {circumflex over (d)}di of the driving torque dMi of the respective drive axis are identified in the function block 25. As a consequence of the linearization already mentioned above, the following formulation with corresponding coefficients can be specified for the driving torques
dMi=âdi+{circumflex over (b)}dit+ĉdi cos(ωt)+{circumflex over (d)}di sin(ωt) (2)
It is also possible in a corresponding way to specify the formulation as follows for the characteristic of the motor position angle
φMi=âφi+{circumflex over (b)}φit+ĉφi cos(ωt)+{circumflex over (d)}φi sin(ωt) (3)
The relationship 2 and the relationship 3 can be set up for each stored sample at the sampling instants t1, t2 . . . to tN. It is thereby possible to specify two systems of equations 4a and 4b.
Estimated values for the coefficients âdi, {circumflex over (b)}di, ĉdi, {circumflex over (d)}di or âφi, {circumflex over (b)}φi, ĉφi, {circumflex over (d)}φi can now be determined with the aid of the method at least squares. The respective coefficients are thus yielded in accordance with the relationship
x=(ATA)−1ATb (5)
What is obtained is thus a set of coefficients for the motor position angle φMi and the driving torque dMi for each drive motor.
The corresponding coefficients ĉ{umlaut over (φ)}l and {circumflex over (d)}{umlaut over (φ)}l of the motor angular acceleration {umlaut over (φ)}iMi can be calculated from those of the motor position angle in accordance with the relationships 6 and 7.
ĉ{umlaut over (φ)}i=−w2ĉφi (6)
{circumflex over (d)}{umlaut over (φ)}i=−w2{circumflex over (d)}φi (7)
It holds for the relationship between driving torque, inertia matrix M and motor angular acceleration that:
The coefficients ĉ{umlaut over (φ)}i and {circumflex over (d)}{umlaut over (φ)}i of the motor angular acceleration {umlaut over (φ)}Mi as well a the coefficients ĉdi and {circumflex over (d)}di of the driving torque dMi are determined n times in a repetition loop 26 in accordance with the number n of drive axes, a change in the parameters b, c and d of the respective excitation function f(t) being performed with each repetition. After the coefficients of all the drive axes have been determined n times, the inertia matrix M is determined inside the function block 26.
Upon consideration of the relationship 8, a relationship can be set up between the functions for the driving torques and motor angular accelerations with the aid of the relationships 2 and 3 (see relationship 9).
A comparison of coefficients delivers the relationships 10a to 10d for the coefficients.
All that is relevant in this case to the determination of the inertia matrix M are the coefficients that include the amplitude of the sinusoidal and cosinusoidal parts in the relationships 2 and 3, since the essential components of the excitation and excitation function f(t) are included here. As already stated previously, the individual coefficients are determined by traversing the function blocks 22 to 25 n times. The coefficients yield the system of equations 11, one row being produced in the system of equations 11 per drive axis, and the index parameter n signifying the total number of all drive axes.
MΦ=D
with the matrix of the acceleration coefficients
and the matrix of the torque coefficients
The inertia matrix M is now yielded by the method of least squares in accordance with relationship 12.
M=DΦT(ΦΦT)−1 (12)
The determination of the inertia matrix M for the support point is thus concluded. The method is now repeated for each support point until an inertia matrix M is determined for each defined support point, something which is indicated by the repetition loop 27 in
The coefficients c1, c2, c3 of equations 18 and 19 can be determined from the moment of inertia mij of the inertia matrix M. The values of the moments of inertia mij correspond to the coefficients θij of equations 18 and 19. It is possible in such a way to determine the maximum values for the path jerk , the path acceleration {umlaut over (s)} and the path speed {dot over (s)} in accordance with the equations 14 to 17.
The vector dM=[dM1 . . . dMn] of the driving torques, which includes the driving torques of the drive motors dM1 to dMn, is known from data provided, for example, by the motor manufacturer. Consequently, the maximum possible acceleration of the drive motor can now be calculated for each drive axis i in accordance with relationships 14 to 19. With reference to the exemplary embodiment, the maximum possible path acceleration {umlaut over (s)} of the machine, for example can now be calculated as a function of support point.
The maximum possible path acceleration {umlaut over (s)} can be determined for points on the movement path S in accordance with
From now on the movement of the machine element along the prescribed movement path S can always be carried out with the maximum possible path acceleration, something which is indicated by the function block 30 in
Alternatively, instead of the driving torque dM1 or dM2 it is also possible to store in
The method according to the invention can be performed in this case upon demand by the user during commissioning of the machine or in cyclical or prescribed intervals or with reference to the situation.
The spaces of the individual support points can be optimized, for example in such a way that the spacings of individual support points are selected to be smaller at particularly critical junctures, whereas the spacings can be selected to be larger at uncritical junctures, for example when traveling straight ahead along an axis.
A special case obtains when given a machine with constant inertia conditions. A single working point then suffices, for example, in order to determine the maximum possible path acceleration {umlaut over (s)}. All the remaining points of the working area then automatically have the same maximum possible path acceleration {umlaut over (s)}. The applies equally to the path jerk and the path speed {dot over (s)}.
If a suitable simulation system is available with the aid of which the maximum possible path jerk and/or the maximum possible path acceleration {umlaut over (s)} and/or the maximum possible path speed {dot over (s)} of the machine element of the machine can be determined in advance at the support points and/or working points on the movement path S of the machine element, these variables can also be prescribed directly for the controller of the machine without this first having to be determined by means of a traveling movement.
It may be pointed out at this juncture that the term machine tools is to be understood as meaning, for example, single-axis or multi-axis lathes, milling machines, drilling machines or grinding machines. Machine tools are also deemed to encompass machining centers, linear and rotary transfer machines, laser machines or rolling-up tools and gear-cutting machines. Common to them all is that a material is machined, it being possible to execute this machine on a number of axes. Counting among the production machines are, for example, textile, plastic, wood, glass, ceramic or stone-working machines. Machines in the technologies of plastic shaping, metal forming, packaging, printing, material-handling, pumping, ventilation and hoisting as well as robots likewise belong to the production machines.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP2004/004349 | 4/23/2004 | WO | 00 | 11/9/2005 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2004/102292 | 11/25/2004 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
7146242 | Weinhofer | Dec 2006 | B2 |
7180253 | Weinhofer et al. | Feb 2007 | B2 |
Number | Date | Country |
---|---|---|
198 41 716 | Mar 2000 | DE |
199 52 388 | Jun 2001 | DE |
0 262 600 | Apr 1988 | EP |
0 459 251 | Dec 1991 | EP |
0 685 779 | Dec 1995 | EP |
WO 9612992 | May 1996 | WO |
WO 9729890 | Aug 1997 | WO |
WO 9929474 | Jun 1999 | WO |
WO 03007129 | Jan 2003 | WO |
Number | Date | Country | |
---|---|---|---|
20060287758 A1 | Dec 2006 | US |