Abstract:
The invention relates to a method for guiding the displacement of a displaceable machine element ( 18 ) in a machine, comprising the following steps: a) specification of a guide target variable (x targ ) that describes the desired displacement operation of the machine element ( 18 ); b) determination of a pilot actual variable (M pilot ) and/or a guide actual variable (x act ) from the guide target variable (x targ ) using a model ( 2 ), said model ( 2 ) comprising a path model ( 3 ), which simulates the dynamic behaviour of the elements ( 16, 18 ) involved in the displacement. The invention also relates to a device that corresponds to the method. The invention permits the optimised guidance of the displacement of a displaceable machine element ( 18 ) in a machine.

Description:
BACKGROUND OF THE INVENTION 
     The invention relates to a method and a device for guiding the movement of a moveable machine element of a machine. 
     In order to guide the movement of a moveable machine element of a machine such as, for example, a machine tool, production machine and/or a robot, the generation of desired reference variables such as for example, desired position, desired speed and/or desired acceleration, as desired control variables for the controls connected to a controller, for controlling the motors of the machine that provide the drive for the travel movement of the machine element is one of the central tasks of the controller. Each machine in this case generally has a number of machine axes, it being possible for each machine axis to move in a direction of the machine axis, generally with the aid of a motor assigned to said machine axis and further components, such as for example a gearbox of the moveable machine element, it being possible for the machine element to be present, for example, as a tool slide with a clamped workpiece and/or, for example, in the form of a tool. The motor, the further components and the machine element in this case constitute elements participating in the movement. 
     When calculating the desired reference variables for the individual machine axes of a machine, modern controllers mostly take account of the efficiency of the relevant machine axes in such a way that the reference variables are generated in such a way that the permissible limiting values are not exceeded during the movement of the moveable machine element. In order, moreover, to avoid exciting critical natural frequencies of the elements participating in the movement, it is customary in the art to carry out various measures that are, however, attended by in part considerable losses in the dynamics of the movement operation of the moveable machine element. One of these measures is, for example, the so-called jerk limitation. The change in the acceleration, that is to say the jerk, is prescribed in accordance with specific profiles or is held within defined bounds. Particularly in the case of machine tools, the path speed of the movement to be carried out is reduced until the jerk limitations of the individual machine axes are complied with and the path jerk defined on the path is not exceeded. It follows that a targeted adaptation to the vibration behavior is possible only to a very limited extent, particularly in the case of machine tool applications. The jerk must be greatly reduced in the interests of an adequate accuracy of fabrication, and so the dynamics are substantially restricted, and this leads to higher fabrication costs. 
     A further known possibility is the use of so-called cam disks. In many applications, particularly as production machines, the individual values of the desired reference variables are generated with the aid of cam disks. The cam disk profiles are composed in this case from polynomials. The aim  1 n this case is to achieve a low vibration excitation by means, for example, of heuristic stipulation (cam disks as “soft” as possible, use of polynomials of high order). An adaptation to the mechanical vibration behavior of the elements participating in the movement can be attended by a corresponding slowing down of the process, something which is likewise already accompanied by the above-named disadvantages. 
     A further known possibility for reducing the vibration load is so-called linear desired reference variable filters. In this case, linear filters are used to reduce the spectral components in the range of critical frequencies. However, a signal delay is always associated with such filtering. Particularly in the case of machine tools, inaccuracies in fabrication therefore arise. 
     SUMMARY OF THE INVENTION 
     It is the object of the invention to enable an optimized guidance of the movement of a moveable machine element of a machine. 
     This object is achieved by a method for guiding the movement of a moveable machine element of a machine, having the following method steps:
     a) specifying a desired reference variable describing a desired movement operation of the machine element,   b) determining an actual precontrol variable and/or an actual reference variable from the desired reference variable with the aid of a model, the model having a system model that simulates the dynamic behavior of the elements participating in the movement.   

     Furthermore, this object is achieved by a device for guiding the movement of a moveable machine element of a machine, the device having:
         a means for generating a desired reference variable in order to specify a desired reference variable describing a desired movement operation of the machine element,   a model having a system model that simulates the dynamic behavior of the elements participating in the movement, it being possible to use the model to carry out a determination of an actual precontrol variable and/or an actual reference variable from the desired reference variable.       

     It turns out to be advantageous for the invention to feed the actual precontrol variable and/or the actual reference variable into a control loop for controlling a motor of the machine. This enables an optimized control of the motor. 
     Furthermore, it turns out to be advantageous for the invention when the method is carried out in real time during the movement operation of the machine element. Consequently, an optimized guidance of movement is enabled during the fabrication operation without the need for expensive calculation in advance. 
     Furthermore, it turns out to be advantageous for the invention when it is exclusively the mechanical properties of the participating elements that are simulated in the plant in order to determine the dynamic behavior, since such a system model can be set up with particular ease. 
     Furthermore, it turns out to be advantageous for the invention when a controlled system model is used as model. Implementing the model as a controlled system model can be done with particular ease. 
     In this context, it proves to be advantageous for the invention when use is made as model of a controlled linear system model that is controlled by means of a linear control law. Implementing the model as a controlled linear system model can be done with particular ease. 
     Furthermore, it proves to be advantageous for the invention when an output variable of the system model that is modified by means of a feedback variable is fed back to an input variable of the system model. Control can be attained in a simple way through this measure. 
     Furthermore, it proves to be advantageous for the invention when a desired position, a desired speed or a desired acceleration is provided as desired reference variable. A desired position, a desired speed or a desired acceleration constitute desired reference variables normally used technically. 
     Furthermore, it proves to be advantageous for the invention when the actual reference variable is time delayed before it is fed into the control loop for controlling a motor of the machine. This enables a temporal adaptation of the actual reference variable to the temporal behavior of the power module (for example to the converter) that controls the energy supply of the motor. 
     Furthermore, it proves to be advantageous for the invention when the control loop has a position controller, the difference between the actual reference variable and a measured actual variable being fed to the position controller in order to control the motor. This enables an optimized position control. 
     Furthermore, it proves to be advantageous for the invention when the control loop has a speed controller, the sum of the output signal of the speed controller and the actual precontrol variable being formed, the sum formed in such a way influencing the level of the motor current. This enables a particularly optimized guidance of movement. 
     Furthermore, it proves to be advantageous for the invention when the machine is designed as a machine tool, production machine and/or as a robot. Particularly in the case of machine tools, production machines and/or robots, vibration problems occur in the case of the guidance movement, for example. Of course, however, the invention can also be used with other types of machines. 
     Furthermore, it proves to be advantageous for the invention when the actual precontrol variable and/or the actual reference variable are/is fed into a control loop for controlling a motor of the machine. This enables an optimized control of the motor. 
     Furthermore, it proves to be advantageous for the invention when the control loop has a position controller, the difference between the actual reference variable and a measured actual variable being fed to the position controller in order to control the motor. This enables an optimized control of the motor. 
     Furthermore, it proves to be advantageous for the invention when the control loop has a speed controller, the sum of the output signal of the speed controller and the actual precontrol variable being formed, the sum formed in such a way influencing the level of the motor current. This enables an optimized control of the motor. 
     Furthermore, it proves to be advantageous for the invention that there is provided for the inventive device a computer program product that includes code sections with the aid of which the method can be executed. 
     Advantageous designs of the method follow by analogy with the advantageous design of the device, and vice versa. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWING 
       An exemplary embodiment of the invention is illustrated in the drawing and explained in more detail below. In the drawing: 
         FIG. 1  shows a schematic of a two-mass vibrator, 
         FIG. 2  shows a schematic of an inventive method and an inventive device for guiding the movement of a moveable machine element of a machine, and 
         FIG. 3  shows a general schematic of the invention. 
     
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       FIG. 1  shows the schematic of a two-mass vibrator comprising a motor  16  that is connected to a load  18 . The motor  16  has a motor inertia J M  and a motor torque M M . The load  18  has a load inertia J L . The connection between the motor  16  and the load  18  has a stiffness c and a damping d. The connection can for example be present in the form of a gearbox. When the position x M  of the rotor of the motor  16  varies (x M =rotor position angle), as a consequence of the finite torsional stiffness, in particular for the dynamic situation, inter alia, the position of the load x L  does not vary as would be expected just by a variation in the position of the motor x M , but the position of the load x L  begins to vibrate with respect to the position of the motor x M . The system dynamics of the two mass vibrators from  FIG. 1  with the motor torque M M  is described mathematically by the system of differential equations 
     
       
         
           
             
               
                 
                   
                     
                       
                         J 
                         M 
                       
                       · 
                       
                         
                           x 
                           ¨ 
                         
                         M 
                       
                     
                     + 
                     
                       d 
                       · 
                       
                         ( 
                         
                           
                             
                               x 
                               . 
                             
                             M 
                           
                           - 
                           
                             
                               x 
                               . 
                             
                             L 
                           
                         
                         ) 
                       
                     
                     + 
                     
                       c 
                       · 
                       
                         ( 
                         
                           
                             x 
                             M 
                           
                           - 
                           
                             x 
                             L 
                           
                         
                         ) 
                       
                     
                   
                   = 
                   
                     M 
                     M 
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       
                         J 
                         L 
                       
                       · 
                       
                         
                           x 
                           ¨ 
                         
                         L 
                       
                     
                     - 
                     
                       d 
                       · 
                       
                         ( 
                         
                           
                             
                               x 
                               . 
                             
                             M 
                           
                           - 
                           
                             
                               x 
                               . 
                             
                             L 
                           
                         
                         ) 
                       
                     
                     - 
                     
                       c 
                       · 
                       
                         ( 
                         
                           
                             x 
                             M 
                           
                           - 
                           
                             x 
                             L 
                           
                         
                         ) 
                       
                     
                   
                   = 
                   0 
                 
               
               
                 
                     
                 
               
             
           
         
       
     
     After the substitutions
 
 x   L   =x   M   =x   M ( t ),  x   2 =x L   , x   3   ={dot over (x)}   M   =v   M ( t ), x 4 ={dot over (x)} L   , u=M   M   =m   M ( t )  (2)
 
this results in
 
                             x   .     1     =       ⁢     x   3                     x   .     2     =       ⁢     x   4                     x   .     3     =       ⁢       J   M     -   1       ·     [         -   d     ·     (       x   3     -     x   4       )       -     c   ·     (       x   1     -     x   2       )       +   u     ]                       x   .     4     =       ⁢       J   L     -   1       ·     [       d   ·     (       x   3     -     x   4       )       +     c   ·     (       x   1     -     x   2       )         ]                     (   3   )               
or, in short,
 
   x = A · x + b ·u   (4)
 
with the state vector
 
 x =[x 1  x 2  x 3  x 4 ] T   (5)
 
and
 
     
       
         
           
             
               
                 
                   
                     A 
                     _ 
                   
                   = 
                   
                     [ 
                     
                       
                         
                           0 
                         
                         
                           0 
                         
                         
                           1 
                         
                         
                           0 
                         
                       
                       
                         
                           0 
                         
                         
                           0 
                         
                         
                           0 
                         
                         
                           1 
                         
                       
                       
                         
                           
                             
                               - 
                               
                                 J 
                                 M 
                                 
                                   - 
                                   1 
                                 
                               
                             
                             · 
                             c 
                           
                         
                         
                           
                             
                               J 
                               M 
                               
                                 - 
                                 1 
                               
                             
                             · 
                             c 
                           
                         
                         
                           
                             
                               - 
                               
                                 J 
                                 M 
                                 
                                   - 
                                   1 
                                 
                               
                             
                             · 
                             d 
                           
                         
                         
                           
                             
                               J 
                               M 
                               
                                 - 
                                 1 
                               
                             
                             · 
                             d 
                           
                         
                       
                       
                         
                           
                             
                               J 
                               M 
                               
                                 - 
                                 1 
                               
                             
                             · 
                             c 
                           
                         
                         
                           
                             
                               - 
                               
                                 J 
                                 M 
                                 
                                   - 
                                   1 
                                 
                               
                             
                             · 
                             c 
                           
                         
                         
                           
                             
                               J 
                               M 
                               
                                 - 
                                 1 
                               
                             
                             · 
                             d 
                           
                         
                         
                           
                             
                               - 
                               
                                 J 
                                 M 
                                 
                                   - 
                                   1 
                                 
                               
                             
                             · 
                             d 
                           
                         
                       
                     
                     ] 
                   
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
             
               
                 
                   
                     b 
                     _ 
                   
                   = 
                   
                     [ 
                     
                       
                         
                           0 
                         
                       
                       
                         
                           0 
                         
                       
                       
                         
                           1 
                         
                       
                       
                         
                           0 
                         
                       
                     
                     ] 
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
     In the context of the exemplary embodiment, the machine axis of the machine is formed by the motor  16 , by the load  18  and by the connection between the motor  16  and the load  18 , the connection having the stiffness c and a damping d. That is to say the elements participating in the movement are formed by the motor  16 , by the connection and by the load  18 . 
     In the context of the exemplary embodiment, in the above-described system model for determining the dynamic behavior of the elements participating in the movement is exclusively the mechanical properties of the participating elements that are simulated in the system model. The system model can thus be set up with particular ease. However, it also possible in principle to give consideration when forming the model to the behavior of a power module (for example converter) driving the motor  16 . This has the disadvantage, however, that the system model becomes dependent on the parameterization of the power module. By contrast, the behavior of the power module, as well as, possibly, of further delays not considered in the model, can be introduced independently of the design of the system model by means of a delay device downstream of the system model. 
       FIG. 2  illustrates in the context of a schematic an inventive method and an inventive device for guiding the movement of a movable machine element of a machine. The device can in this case be present, for example, in the form of a numerical controller and/or a control device of the machine. The device has a means  17  for generating a reference variable that generates a desired reference variable x soll  describing the desired movement operation of the machine element, that is to say the load  18  in the exemplary embodiment, that is present as desired reference position in the context of the exemplary embodiment, and in this way prescribes it. Instead of a position, however, it would also be possible to prescribe a speed or acceleration of the means  17  for generating a desired reference variable. The means  17  for generating a reference variable is present in the prior art as a component of the numerical controller in machines such as, for example, machine tools, production machines and/or robots. In this case, the desired reference variable x soll  is fed in the prior art as desired variable to a downstream control loop that controls the movement operation of the machine element to be moved in accordance with the prescribed desired reference variable x soll . 
     According to the invention, a model  2  is now interposed between the means  17  for generating a desired reference variable and the control loop  26 , in order to determine an actual reference variable x ist  and/or an actual precontrol variable M vor . In the course of the exemplary embodiment, the actual precontrol variable M vor  is present as precontrol torque, and the actual reference variable x ist  is present as actual variable of the position model in the course of the exemplary embodiment. Model  2  in this case has the system model  3  already described above, and a state controller that is implemented in the form of a return vector  6  and an adaptation element  1 . Furthermore, the model  2  has an adaptation vector  w  (see reference numeral  5 ). In the course of the exemplary embodiment, the model  2  is present in the form of a controlled system model in the case of which an output variable of the system model that is modified by means of a return variable (see reference numeral  6 ), which is designed in the context of the exemplary embodiment as return vector  r , and is designed as state vector  x  in the context of the exemplary embodiment, is fed back to an input variable of the system model  3 . The mechanical behavior of the motor  16 , the load  18  and the mechanical connection between motor  16  and load  18  is simulated with the aid of the system model  3 , and in this way the dynamic behavior of the elements participating in the movement is simulated. With the aid of the state controller, undesired properties of the elements participating in the movement are compensated in advance in such a way, and the actual precontrol variable M vor  and the actual reference variable x ist  are determined. The return vector  r  (see reference  6 ), which makes a scalar variable s from the state vector  x , has the form 
                     r   _     =     [           r   1               r   2               r   3               r   4           ]             (   8   )               
in the context of the exemplary embodiment, with the return coefficients r 1 , r 2 , r 3  and r 4 , in which case it holds that
 
 s= x · r     T   (9)
 
     The adaptation vector  w  that is required to generate the scalar actual reference variable x ist  and makes the scalar actual reference variable x ist  from the state vector  x  has the form of 
                     w   _     =     [         1           0           0           0         ]             (   10   )               
in the context of the exemplary embodiment, in which it holds that
 
 x   ist   = x · w     T   (11)
 
     For a controlled system that is described in a form in accordance with the relationship (4) and has a manipulated variable u, the calculation of the return coefficients r 1 , r 2 , r 3  and r 4  of the return vector  r  can be performed, for example, with the aid of the so called Ackermann&#39;s formula generally known in control technology, in which case it holds that
 
   r     T   = t     a   T   ·p (   A   )  (12)
 
     Here p( A ) is the characteristic polynomial of the controlled system, and is thus yielded from the desired eigenvalues of the control system with
 
 p ( s )= s   n   +p   n-1   ·s   n-1   + . . . +p   1   ·s+p   0   (13)
 
     Here  t   a   T  is the last row of the inverse controllability matrix  Q   s   −1  with
 
   Q     s   −1   =[ b , A · b , . . . ,  A     n-1   · b ]   −1   (14)
 
     It is evident here that controllability of the controlled system is to be presupposed. However, controllability always obtains in the case of the systems considered here. 
     The return variable  r  can be selected in this case such that an individual or a number of natural vibration frequencies of the system model  3  are damped. The overall gain of the model  2  can be influenced with the aid of the adaptation element  1  which can be present, for example, in the form of a prefilter. Thus, in the simplest case the adaptation element  1  can constitute a multiplication of the desired reference variable x soll  by a constant factor (for example, 1.5). A subtracter  4  is used to subtract the output variable  x  (state vector) modified by means of the return variable  r  of the system model  3  from the desired reference variable x soll  modified by the adaptation element  1 , and the output signal generated in such a way by the subtracter  4 , which constitutes the actual precontrol variable M vor  is fed as input variable to the system model  3 . The state vector  x  is output thereby as output variable, the scalar actual reference variable x ist  subsequently being generated by means of the adaptation vector  w . With the aid of a downstream delay device  9 , the actual reference variable x ist  is delayed in accordance with the delay of the power module  15  (time that is required by the power module  15  in order to build up the current I) and output at the output of the delay device  9 . However, the delay need not necessarily be carried out. 
     The actual precontrol variable M vor  determined in such a way, and the delayed actual reference variable x ist  are fed into the control loop  26  for controlling the motor  16 . A subtracter  10  is used to calculate the delayed actual reference variable x ist  from a measured actual variable x mist  that is, for example, measured by means of a transmitter and is present in the exemplary embodiment in the form of a position (x mist =rotor position angle) measured at the motor. The difference calculated in such a way is subsequently fed to a differentiator  12  that determines the time derivative and passes it on to a position controller  11 . The output variable of the differentiator  12  and of the position controller  11  are negated and added with the aid of the adder  25 . The output variable of the adder  25  is fed as input variable to a speed controller  13 . The output variable of the speed controller  13  is subsequently filtered with the aid of a filter  14  that need not necessarily be present, in order if appropriate, to filter out undesired properties in the frequency response that may still be occurring. The output signal M v  (actual controller torque) of the filter  14  is added with the aid of an adder  19  to the actual precontrol variable M vor  (precontrol torque), and the desired torque M soll  is calculated in such a way. The desired torque M soll  is subsequently fed as input variable to the power module  15 , which can be present, for example, in the form of a converter with associated drive electronics, the power module  15  influencing the level of the motor current I in accordance with the desired torque M soll  and controlling the movement operation of the machine element in such a way. 
     A few simplifications are possible in order to implement the model  2 . Thus, there is no need to implement a feedback model structure as in the exemplary embodiment—rather, it suffices to implement the model  2  with the aid of linear differential equations that calculate an actual precontrol variable and/or an actual reference variable from a desired reference variable. 
     It may be remarked at this juncture that the model  2  illustrated in  FIG. 2  and the control loop  18  are present in the context of the exemplary embodiment for each machine axis of the machine, means  17  for generating a desired reference variable generating for each machine axis a desired reference variable x soll  associated therewith, and prescribing it as input variable to the respectively associated model. 
       FIG. 3  illustrates once again the general inventive idea of the method and of the device, the general case being illustrated in which the individual machine axes can be coupled to one another, that is to say, for example, a variation in the position of one machine axis automatically also effects a variation in the position of other machine axes (for example in the case of a robot arm having a number of joints). A means  17 ′ for generating desired values is used to prescribe as input variables to a model  2 ′ an individual or a number of desired reference variables such as, for example, a desired position  x   soll , a desired speed  v   soll , and/or a desired acceleration  a   soll  The individual variables can be present as vectors in this case, in accordance with the number of the machine axes to be moved. The model  2 ′ in this case determines for the individual machine axes of the machine an individual or number of actual reference variables such as, for example, an actual torque variable  M   ist , an actual speed variable  v   ist  and/or an actual acceleration variable  a   ist . These variables can likewise be present as vectors. They are delayed with the aid of a delay device  9 ′ in accordance with the time delay of the power module  15 . At the motor  16 ′ and/or from another site, a subtracter  10 ′ is used to subtract measured variables such as, for example, a measured actual position variable  x   mist , a measured actual speed variable  v   mist  and/or a measured actual acceleration variable  a   mist , it also being possible for the variables to be present as vectors, from the delayed reference variables calculated by the model  2 ′, and to feed the difference to a control  20 ′. The latter determines the control torque  M   v  as output variable, and adder  19  is subsequently used to add the precontrol variable  M   vor  of the control torque  M   v , and the desired torque  M   soll  is determined in such a way and is fed to the power module  15  as input variable (it likewise being possible for  M   vor ,  M   v  and  M   soll  to be present as vectors). In this case the power module  15 ′ supplies the currents I′ for the individual motors  16 ′ for moving the machine axis of the machine. It is thereby possible, even in the case of machines in which there are coupled machine axes, to implement the general inventive approach with the aid of a model  2 ′ that also takes account of the couplings of the machine axes. 
     When generating the desired reference variables, for example, the invention can be used to dispense with a closely set jerk limitation and/or with the use of linear reference variable filters, and thus, in particular, to improve the dynamic behavior of the movement.