WO2004074951A1 - Method and device for controlling a physical quantity having a programmed variation with a feed-forward control - Google Patents

Method and device for controlling a physical quantity having a programmed variation with a feed-forward control Download PDF

Info

Publication number
WO2004074951A1
WO2004074951A1 PCT/IT2003/000087 IT0300087W WO2004074951A1 WO 2004074951 A1 WO2004074951 A1 WO 2004074951A1 IT 0300087 W IT0300087 W IT 0300087W WO 2004074951 A1 WO2004074951 A1 WO 2004074951A1
Authority
WO
WIPO (PCT)
Prior art keywords
coefficients
physical quantity
series
controlled
feed
Prior art date
Application number
PCT/IT2003/000087
Other languages
French (fr)
Inventor
Allesandro Dreoni
Nicola Dreoni
Francesco Dreoni
Original Assignee
Allesandro Dreoni
Nicola Dreoni
Francesco Dreoni
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Allesandro Dreoni, Nicola Dreoni, Francesco Dreoni filed Critical Allesandro Dreoni
Priority to PCT/IT2003/000087 priority Critical patent/WO2004074951A1/en
Priority to AU2003219514A priority patent/AU2003219514A1/en
Publication of WO2004074951A1 publication Critical patent/WO2004074951A1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • G05B19/21Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an incremental digital measuring device
    • G05B19/23Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an incremental digital measuring device for point-to-point control
    • G05B19/231Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an incremental digital measuring device for point-to-point control the positional error is used to control continuously the servomotor according to its magnitude
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41151Finite impulse response filter
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41431Delay position command as function of calculation time for feedforward, or order of system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41435Adapt coefficients, parameters of feedforward

Definitions

  • This invention concerns a method for the control of a physical quantity
  • the invention concerns a method for the control of a driver that controls the motion of a mechanical part, such as the arm of a robot, a tool of a numerically controlled machine-tool or other.
  • a controller equipped with a new method of numerical control of a variable physical quantity.
  • the invention also concerns a machine, especially a machine-tool, equipped with an automatic control of one or more physical quantities with a 5 programmed variation.
  • Fig. 1 A simple closed-loop control system for a physical quantity is depicted in Fig. 1 , where: - Qj(t) are the pre-calculated values, function of time, of the physical quantity to be controlled. These are generated by an "interpolator", that may be assumed known per se and not object of this invention, that receives the program to be realized and calculates, at each instant t, the value of the requested quantity.
  • the quantities Qi(t) are the positions that the tool, the robot's hand, or other mechanical part must assume in the time
  • the quantity at issue may be the position of a tool following a numerically controlled axis, being the position measured with a linear transducer or a rotary encoder.
  • - e(t) is the error at time t, provided by - G is an amplifying block, with a gain k, that sets the closed-loop cut-off frequency, whose output is labeled r,(t)
  • - A is an actuator, that generates a response that is the integral of the quantity to be controlled:
  • actuator means in general the whole constituted by the member (also said driver) that supplies the movement or generally speaking the command that aims at varying the controlled quantity, as well as the whole chain in series with it, at whose end the variable quantity is measured.
  • the features not only of the driver but also, for example, the features of the kinematic chain that transmits the motion and in general the elements of the mechanical structure between the driver and the element on which the driver acts, for example the mechanical hand of a robot, the tool of a machine-tool or other member.
  • motion control r (t) is the "velocity reference" for the actuator that is a velocity-controlled driver.
  • the output quantity (that is the measured quantity Q m (t)) follows the input quantity (Q,(t)) with a delay that is inversely proportional to the quickness of the closed loop.
  • a typical example of application that does not tolerate a delay error is the numerical control of programmed trajectories of machine-tools: as several axes are coordinated to obtain a trajectory, it is necessary for each one to be precisely at the pre-calculated point to avoid position errors and therefore machining errors.
  • Fig. 2 shows a control system with a so-called feed-forward velocity signal as depicted in Fig. 2.
  • the block F gives "forward", that is in advance, a velocity reference that zeroes the error in a condition of constant velocity. Therefore only the errors in the points of acceleration and deceleration remain present, as exemplified in the Figs. 3A and 3B.
  • Fig. 3A is depicted the behaviour of the feed-forward signal v,(t) as a function of time and in Fig.3B the behaviour of the error e(t).
  • the efficiency of the velocity feed-forward is very good, so that it is normally used in all the accuracy-demanding applications.
  • the time intervals become rare, when the higher-order derivatives may be considered in steady state - during transients the dynamical response of the actuator becomes important, which response is not easily theoretically pre-determinable because it depends on the individual characteristics of the system and introduces errors comparable with those that may be eliminated by the feedforward - if the actuator is characterized by true delays (that are easily encountered in digital sampled-data systems) errors arise that may not be eliminated with feed-forward, not even with high-order derivatives.
  • Object of this invention is to realize a method of control and a controller for controlling a physical system, typically but not exclusively a numerical- control machine with at least one member mobile along one or more controlled axes, that allow higher accuracy with respect to that offered, at present time, by traditional control systems.
  • the invention is based on a feed-forward method of control, where the feed-forward signal is obtained on the basis of the behaviour in the time, over a sufficiently long interval, of the programmed quantity, that is of the variable physical quantity, and of the dynamical behaviour of the system.
  • This kind of feed-forward that may be defined as "interval extended", replaces the conventional "point" feed-forward, that is a function of the subsequent derivatives of the pre-calculated variable physical quantity.
  • the calculus of the feed-forward parameters may be either off-line, with the implementation of test variations, or online, that is in real-time during the normal working, realizing a system that is self-adapting to dynamical parameters which are slowly variable in the time.
  • the invention allows the generation of physical quantities that follow the pre-calculated ones in a very accurate and fast way, even when delays or resonances are present in the system response, and is easy to set-up because it does not demand any special quickness of the control loops.
  • This invention is especially suitable to the motion control and to high-speed numerical control systems.
  • the invention concerns a method for the automatic control of at least one variable physical quantity in a controlled system, including the steps of: > providing a series of desired values of said physical quantity; > generating through an actuator a series of real values of said physical quantity and measuring these said real values;
  • the succession of the desired values of the controlled quantity may be supplied to the controller directly from an external system, or may be generated by an interpolator that is a part of the controller.
  • the dynamical behaviour of the controlled system is defined by at least one series of coefficients calculated by exciting the system with a known variation of the variable physical quantity and by measuring the behaviour of the system. Substantially, the values of the signal transmitted to the actuator and the consequent values assumed by the real quantity are recorded.
  • the signal sent to the actuator i.e. the reference (especially a velocity reference) sent to the driver, may be a test or trial signal, or may be a reference generated during the normal working of the controlled system.
  • a series of coefficients is calculated, that are then used by the control system without further modifications, except their possible periodical updating.
  • the coefficients that are calculated by using as a reference for the driver the normal signal that is forwarded to it during the execution of a working cycle.
  • the system whose dynamical behaviour is detected by describing it through these coefficients is formed by the whole chain of elements between the driver and the member where the transducer that measures the real value of the variable physical quantity is placed.
  • the higher the number of used coefficients the higher the accuracy of the control. In practice a minimum of three coefficients may be used, but specially accurate results are obtained with a number of coefficients equal or higher than ten and preferably equal or higher than thirty. With advantage even more than fifty coefficients may be used.
  • the feed-forward signal is obtained by the summation of the products of each one of said coefficients by the corresponding desired value of the physical quantity or of a time derivative thereof.
  • the feed-forward signal is obtained by multiplying the coefficients by the value of the derivative of the position in a number of points, that is for a number of time instants, equal to the number of used coefficients. This specific situation will be described in detail later. It is not excluded, however, the possibility for the feed-forward signal to be calculated directly on the basis of the position, instead of its time- derivative. This will be the case when the actuator is controlled in position instead than in velocity.
  • the feed-forward signal is advantageously obtained through a FIR filter, whose coefficients are determined by the dynamical behaviour of the controlled system, the FIR filter being applied to a series of desired values of the physical quantity or of a time derivative thereof.
  • coefficients that describe the dynamical behaviour of the system may be calculated advantageously with an off-line calculus procedure, i.e. based on recorded and sampled values, obtained during a test phase on the system.
  • This series of coefficients may remain unchanged, mainly when the test variation of the controlled physical quantity is sufficiently characterized, so that it may supply a complete information about the dynamical behaviour of the system.
  • the controlled system is not time-invariable. In general, it is formed by a set of mechanical and electronic elements combined together, whose characteristics may be modified because of simple time-degrading or even - for instance - because of modified ambient conditions. Typically, the temperature change may have a not negligible effect on the electronics of the system.
  • the series of coefficients is periodically updated, by executing, when requested (or even in a systematic and programmed way), a test to determine the updated parameters.
  • the coefficients calculated in the subsequent cycles of test may fully replace the coefficients of the series calculated during the previous cycle.
  • the coefficients are to be updated gradually with an updating factor that combines together two series of subsequent coefficients.
  • the method according to the invention may operate even without a feed-back loop, that is with a controller where the feed-back error signal is missing. This is particularly true when the controlled system is for instance a vibration generator, where a feed-back loop will result too slow to allow a correction of the error.
  • the feed-forward signal is added to an error signal supplied by a feed-back loop and calculated by the difference between the real value of the controlled physical quantity and the desired value of said controlled physical quantity.
  • the method may be used to control several variable physical quantities in a synchronized way, for instance the motion of more than one numerically controlled axes.
  • a synchronized way for instance the motion of more than one numerically controlled axes.
  • three translating axes and two rotary axes are provided.
  • the method of this invention may be adopted for a complex multi-axis controller. In this case a feed-forward signal will be provided, calculated on the basis of the dynamical behaviour of the system measured for each one of the variable physical quantities.
  • a test phase is executed by forcing the relevant driver to move the pertinent axis following a test cycle, by measuring the dynamical behaviour of the system and by obtaining for that axis a series of coefficients that describe its mechanical behaviour.
  • the controller will supply, by consequence, a feed-forward signal for each axis, i.e. for each driver, on the basis of the relevant series of coefficients and of the desired values of the relevant physical quantity or of a time derivative thereof.
  • the number of coefficients of each series pertinent to the different controlled axes may be different, that is the behaviour of each controlled axis may be described through a respective number of coefficients, different from that of the other axes.
  • the only limitation is due to the need to synchronize each other the different feed-forward signals. Further advantageous characteristics and embodiments of the invention are indicated in the attached claims and will be described with reference to a series of examples of implementation. Brief description of the drawings
  • Figs. 1 to 3 refer to a traditional closed-loop control system
  • Fig.4 shows schematically the time-varying of the desired values of a generic variable physical quantity, that must be controlled
  • Fig.5 shows a principle drawing to introduce the concept at the basis of the invention
  • Fig.6 shows a principle drawing of the concept at the basis of the method according to the invention
  • Figs.7 and 8 show, with two different representation criteria, the logical blocks of the controller according to the invention applied to a controlled system, in a particularly simple form of implementation;
  • Fig. 9 shows a principle diagram similar to the diagram of Fig.6, explaining the criterion of calculus of the coefficients that describe the dynamical behaviour of the system
  • Fig.10 shows a diagram of a machine-tool to which the method according to the invention may be applied
  • Fig.11 shows a block-diagram of the controller with on-line auto- adaptive updating of the coefficients that describe the dynamical behaviour of the controlled system
  • Figs.12A and 12B show diagrams to explain the criterion of selecting the values of the quantities useful for the auto-adaptive calculation of the coefficients of the diagram of Fig.11 ;
  • Fig.13 shows a block-diagram of the elements of a controller that implements the accelerometric correction
  • Fig.14 shows the frequency response of the summing filter used in the diagram of Fig.13;
  • Fig.15 shows a block-diagram of a controller enclosing the accelerometric correction and the on-line calculation of the coefficients with auto-adapting;
  • Fig.16 shows an implementation of the controller without the feed-back closed-loop.
  • the desired values of the controlled quantity are supplied by an interpolator, known per se, that calculates - on the basis of the initial data that define for example the program that must be executed by the machine-tool - the succession of the discretized values Q
  • the variable "t" in the abscissa is actually a discretized variable that replaces the continuous time variable: t counts the sampling time-intervals t 0 .
  • the values Q ⁇ (t) are separated each another by time intervals t c .
  • the derivative with respect to t of the values Qj(t) in the continuous domain gives the velocity.
  • the time-derivative of the position may be replaced by the difference between two subsequent values of the physical quantity
  • the first remark is that the interpolator may calculate with any advance the future values of the quantity Qj(t) to be controlled if this one, as is in the cases of interest in this description, is originated by a program perfectly known. For. this reason it is also possible to calculate with any advance the time-behaviour of the time-derivative of the controlled value.
  • Fig.2 Assuming to have an actuator that responds perfectly to the command but with a delay D, it becomes possible to eliminate completely the following error by supplying the velocity feed-forward with an advance D identical to the response delay.
  • the control system of Fig.2 becomes the one shown in the Fig. 5 where the used symbols have the same meanings defined with reference to the Fig.2 previously described.
  • Fig.5 the discretized values of the quantity Qj(t) and of its time- derivative Vj(t) are schematized as elements adjacent each other and aligned in a direction that represents the time t.
  • Each element Qj(t) and v,(t) represents a value of the controlled variable quantity and of its first time- derivative, at different time instants separated each other by the sampling interval t 0 .
  • the interpolator generates the succession of values Qj(t) from which it is easily obtained (with formula [6]) the succession v,(t).
  • the controller calculates Vj(t)
  • the controller calculates Vj(t)
  • to the controlled system are supplied the physical quantity to be reached (that is the value Qj(t-D)) and the velocity feed-forward (Vj(t)) in advance of a quantity D equal to the delay of the actuator.
  • a delay R formed by a sufficiently high number of discretized time instants t c .
  • a time-window around the instant (t-R) is defined, formed by a number of discretized time- intervals n ⁇ ⁇ that are time-antecedent to the instant (t-R) and by a number of discretized time-intervals n ⁇ r that are time-subsequent to the instant t-R.
  • the interpolator already calculated all the desired values of the physical quantity Qj up to the value Q,(t+1), as well as all the values of its first time-derivative up to the value Vj(t). These two quantities correspond to position and velocity in the case that the variable physical quantity controlled by the controller is a displacement.
  • the reference value of the physical quantity introduced in the control system is Qj(t-R), where R is a number greater than n cor .
  • the feed-forward signal is obtained with the summation of products:
  • V f (t) 2 c 0 (i) *v i (t - R - n col + i) [7]
  • m is the number of the feed-forward coefficients
  • c 0 (i) are the feedforward coefficients
  • n co is the number of coefficients on the left of the "central" coefficient that multiplies the value v ⁇ t-R).
  • the total number of coefficients m is equal to the sum n ⁇ +n ⁇ r + .
  • a velocity reference r,(t) is therefore supplied, that is formed by the sum of the signal r e (t) (the error e(t) amplified by the amplifier G) and of the feed-forward signal v f (t), the last being calculated in such a way to tend to cancel the difference between the measured quantity Q m (t) and the relevant desired quantity Qj(t-R).
  • This filter applied to the feed-forward forms the essence of the invention: it must distort the command for the actuator (that is the reference ⁇ (t)) in such a way that the actuator response will be exactly the desired and pre-calculated one, i.e. the filter must generate such a reference to cancel the errors introduced by the actuator.
  • the time interval covered by the filter coefficients must be longer than the response time of the actuator: if the actuator is fast a few coefficients will be sufficient (in the case of the perfectly fast actuator of Fig.5 just one coefficient was sufficient) whereas if the actuator is slow many coefficients will be necessary.
  • the system manages easily the case of motions of several simultaneous and coordinate axes, i.e. of multi- dimensional trajectories.
  • an interpolator is provided that, starting from the multi-dimensional trajectory, generates for each axis a succession of interpolated positions Q,(t). Therefore, for example, if the axes are X, Y, Z, A, B (three Cartesian orthogonal axes X, Y e Z and two rotary axes A and B) the interpolator generates the positions QX ⁇ t), QY;(t), QZ,(t), QA(t), QB ⁇ t).
  • Each axis may have its own extended feed-forward system as in Fig.6, completely independent from other axes, and therefore with different coefficients c 0 (i) that adapt each one to the dynamical response of the axis to which they are applied.
  • the number m of coefficients too, and their placement around the central coefficient (that is the value of n ⁇ , and of ⁇ ⁇ ) may be different for each axis, to adapt to the dynamical characteristics.
  • the only constraint is that the number R, that represents the advance of the central coefficient and specifies the reference position on which the error is calculated, must be identical for all the coordinated axes. Indeed, to generate a valid trajectory, it is necessary that the axes are each other perfectly synchronized on the same interpolated position.
  • the distribution of the coefficients c 0 (t) around the central coefficient may be of any type, therefore n cor too may be different for each axis. Since R must be higher than n cor the consequence is that the number R must be higher than the greatest n cor among all the axes.
  • the invention includes also an optimal way, quick and accurate, to calculate coefficients that cover even very extended intervals (fifty coefficients or more), adapting them to the real dynamical response of the system to be controlled. This method of calculatingof the coefficients will be described in what follows.
  • Fig.7 is depicted in a slightly different way the same system as in Fig.6:
  • the interpolator generates the desired discretized values Q ⁇ t) of the controlled physical quantity at the different discretized time instants t;
  • the error e(t) Qj(t)-Q m (t) is amplified by the block G with an amplifying factor k; - the block F1 is a differentiating block that calculates the discretized derivative of the desired values Qj(i) of the controlled physical quantity and generates
  • the block F2 represents the FIR filter that generates the feed-forward signal v f (t) as defined by equation [7]
  • the actuator A receives at its input the sum of the references and generates the output Q m (t).
  • the same system may be represented in the continuous, in terms of Laplace transform (the "s" transform) with the diagram of Fig.8, where the blocks equivalent to Fig.7 are marked with the same references.
  • the block A of Fig.7 is decomposed in a block A1 , that represents the transfer function of the actuator, and an integrator block A2, with a transfer function 1/s.
  • coefficients c 0 (i) are calculated with an off-line test procedure, and then memorized in the controller as coefficients of the FIR filter that originates (summed to the amplified error r e (t)) the input reference for the actuator.
  • the test procedure may be in case repeated at suitable time intervals to update the coefficients.
  • this is not the sole possible procedure, because it is also foreseeable to calculate the coefficients c 0 (i) on-line, that is by measuring the dynamical response of the system during its working.
  • the coefficients c 0 (i) of the controller filter that generates the feed-forward signal are calculated by applying a cycle of commands to the motor that moves the axis, for example a sequence of programmed movements.
  • a cycle of commands to the motor that moves the axis, for example a sequence of programmed movements.
  • both the velocity references and the real positions assumed by the mechanical member of the axis on which the test is executed are recorded. From the processing of these two series of data the series of coefficients c 0 (i) is obtained according to the procedure described in the following.
  • the test variation of the quantity to be controlled that is applied to the system must be, naturally, suitable for the calculation of the coefficients.
  • the values Qj(t) will be available, that represent the test variation cycle of the physical quantity to be controlled, the real values Q m (t) and the values r ⁇ t) of the input reference of the actuator. It must be observed now that if in the system of Fig.6 the coefficients are the optimal ones and if instead of the desired values Qj(t) of the variable physical quantity the real values Q m (t) of the variable quantity, recorded during the test, are applied to the input, the feed-forward signal v f (t) must be as near as possible to the reference r,(t) generated during the test.
  • the number of the equations that may be written will be less that the number of the recorded samples, because the index "x" of the velocity v m (x) must remain within the number of the recorded samples: at least R+m samples are lost at the ends.
  • a system of linear equations will be available, where the number of equations N is much higher than the number of unknowns m.
  • This system has an optimal solution, that may be defined as the one that minimizes the sum of the squares of the errors.
  • the coefficients of the filter will be the unknowns of the system.
  • the calculation of the coefficients executed in this way may be time- repeated by applying each time to the controlled system a test variation of the variable physical quantity. This will be done to update the series of coefficients to keep into account possible time-variation of the dynamical behaviour of the system.
  • Modern tools for the numerical calculus allow, in fact, to solve the above said linear equations system in very short times, of the order of milliseconds. It is so foreseeable, for example in the case of numerically controlled machine-tools, an updating of the series of coefficients even between a machining and the subsequent one, by executing, in the time between the removing of the machined piece and the mounting of the subsequent piece, a test cycle to acquire and record the data necessary to the solution of the system [9].
  • the factor kx may be chosen between 0 and 1 : if it is 1 the new coefficients replace immediately and fully the old ones, if it is 0 the old coefficients remain, so that the new ones are unused, whereas the intermediate values furnish an intermediate result that exponentially tends to the last calculated values.
  • the system above described that calculates the coefficients is very accurate and produces the optimum FIR filter that minimizes the error.
  • the coefficients of the optimal filter may be very high, even over 100. These very high values may constitute a problem, because they may "force" the actuator with values that bring it in a non linear operating field and exalt in an excessive way the possible irregularities in the calculus of the interpolated quantities Qj(t).
  • this algorithm furnishes a solution that in many cases results much more accurate with respect to what is usable. In fact the time-variability of the actuator parameters introduces response errors much higher than the residual errors of the algorithm.
  • the optimum quantity ⁇ depends on the measuring units. Just to have an example, in the case of the control of trajectories of machine-tools, if the speeds are expressed in mm/s, a quantity ⁇ of 0.0001 allows to obtain accuracies of the order of 0.001 mm but limiting the coefficients to values less than 2, therefore with a good compromise between the accuracy and the amplitude of the coefficients.
  • Fig.10 In this figure are schematized the movements of a numerically controlled machine- tool along the Cartesian axes X and Y, obtained with rotating motors and a screw transmission system.
  • M is indicated an upright, mobile along the X axis, that carries a spindle S, mobile along the upright and along the axis Y.
  • the spindle carries a tool U that machines a piece generically indicated with P.
  • Mx and My the drivers are indicated, i.e. the motors that control the motions along the axes X and Y.
  • Xmin, Xmax, Ymin, Ymax indicate the ends of the strokes along the axes X and Y, i.e. the minimum and maximum positions along X and along Y.
  • the dynamics of the actuator X (that is of the whole formed by the motor Mx, by the screw Tx, by the upright M and by the devices carried by it), is influenced by the physical position of the axes X and Y.
  • the dynamics of the actuator Y (that is of the whole formed by the motor My, by the screw Ty and the spindle S) is influenced by the physical position of the axis Y. In fact, its dynamical behaviour is invariant with respect to the position of the upright M along the X axis.
  • the controller generates a feed-forward signal v f (t) that is no more calculated on the basis of a single series of coefficients, but rather on the basis of a series of weighted coefficients, obtained by the combination of the coefficients of the four series c 011 (i), c o21 (i), c 012 (i) e c o22 (i), as a function of the istantaneous value of the physical quantities X and Y, i.e. as a function at each instant of the real position of the spindle S and therefore of the tool that it carries.
  • x (X - Xmin)/(Xmax - Xmin) [23]
  • y (Y - Ymin)/(Ymax - Ymin) [24] that vary from 0 to 1 in the full working field.
  • c oxy (i) (i- ⁇ )*(i-y)*c 011 (i) + ⁇ *(i-y)*c 021 ( ⁇ ) + (i- ⁇ )*y*c 012 (i) + ⁇ *y*c o22 (i) [25]
  • This interpolating function among the series (or vectors) of coefficients c 011 (i), c o21 (i), c 012 (i) and c o22 (i) has a very important property, i.e. the sum of the interpolated coefficients c oxy (i) is the mean of the sums of the coefficients in the four extreme points. Therefore, if the sums of the coefficients are identical in the four points (because the gain Aa of the actuator is constant) the sum remains identical, and therefore the gain of the actuator is perfectly compensated, in any point of the field of variability of the parameters.
  • Wathever may be the number of series (or vectors) of coefficients, calculated for different geometrical configurations of the controlled system, since the calculation of the coefficients implies that the variable physical quantity has to be subjected to a sensible variation, it must be understood that actually during the calculation of each one of the series of coefficients the system is subjected to a variation around the interest point, variation in any case small, typically an order of magnitude lower than the distance of the different points where the different series of the coefficients are calculated.
  • the coefficients that describe the dynamical behaviour of the machine in the extreme points of the working volume are calculated by imposing displacements along the different axes of the order of some tens of millimeters, typically of the order of 20-50 mm.
  • the dynamical response of the system is then assumed as invariant with respect to this variation of the controlled physical quantity, that is much lower than the variation of this quantity when the machine operates in the whole working volume.
  • the filter coefficients c 0 (i) are calculated through a combination of series of coefficients pre-calculated on the basis of a plurality of test-cycles executed in different geometrical configurations of the controlled system, and therefore constant.
  • the variation of the dynamics of the actuator depends on non measurable parameters or in general the measurement and calculation of the coefficients in many points of the working area is difficult for the user and therefore to be avoided. It must be noted now that the variation of the physical quantity that is originated during the test and that is necessary for the calculation of the coefficients is in no way subject to special specifications.
  • variable physical quantity also a variation present during the normal working of the device, implementing in this way a real-time, auto-adaptive feedforward, that is a system where the response of the actuator to an input reference is recorded online, together with the input reference, and used substantially as the information for the calculation of a series of corrected coefficients.
  • FIG.11 This further improvement of the invention is schematized in the Fig.11.
  • the system here depicted is similar to that of Fig.7, except that the block F2 is broken into the two blocks F2A (multipliers of the FIR filter) and F2B (coefficients of the FIR filter).
  • a recording block RE is provided that stores "online" the quantities (t) and Q m (t), and a block C that calculates the new coefficients c 0 (i) on the basis of the recorded values of the quantities T j (t) and Q m (t) and modifies the coefficients present in the FIR filter.
  • the method in this case works as follows.
  • the block C calculates a new series of coefficients with the same procedure described with reference to the off-line calculation of coefficients. This new series of coefficients is used to update the FIR filter coefficients.
  • the recorder block RE must also contain a function of surveillance of the content that establishes when recorded samples are available in quantity and quality sufficient to calculate the coefficients. Samples are of a sufficient quality to calculate the coefficients if they are measured in correspondence with significant variations of the controlled physical quantity. For example, the samples recorded during a period of stop of an axis are qualitatively useless for the calculation of the coefficients. As the caclulation of the coefficients is possible when the physical quantity to be controlled is subject to significant variations, the first and second time-derivatives of the physical controlled quantity may be used as an index of confidence. In the case of motion control, velocity and acceleration will be used as parameters for the choice of the useful samples.
  • a m (t) [v m (t+1) - v m (t)] /t c [28]
  • a m (t) [v m (t+1) - v m (t)] /t c [28]
  • the definition of the number of samples useful and sufficient for the calculation of the new series of coefficients c 0 (i) takes place in the way described in the following with reference to Figs. 12A and 12B.
  • Fig.12A is schematically depicted a sequence of samples v m (t) of the first derivative of the measured quantity Q m (t). The recording of samples takes place over a time-interval indicated by ⁇ t.
  • Fig.12B is depicted the behaviour of the curve on which lie the samples of the second derivative a m (t) of the controlled quantity Q m (t).
  • a m1 and a m2 are indicated the maximum and minimum value assumed by the second derivative in the central zone of the recording interval ⁇ t, whereas ⁇ a m represents the absolute value of the difference between a m1 and a m2 .
  • the physical quantity to be controlled will have known physical limits for the second derivative.
  • the second derivative of the position is the acceleration, that finds its limit in the maximum torque given by the motor and in the inertia of the load to be displaced.
  • the maximum limit (in absolute value) of the second derivative of the controlled physical quantity will be indicated with a mrnax .
  • the numbers k1 and k2 will be used as indexes of confidence for the samples recorded to calculate the coefficients of the FIR filter.
  • - k1 must be greater than 1 (at least 2) to allow the writing of a redundant number of equations as in [9], but must not be such high to "dilute" in the time the variation of the physical quantity, that would make the coefficients calculation less accurate - k2 must be lower than 2 (the maximum variation of the second derivative is between +a mma ⁇ and -a mmax ), and must be nor excessively high so to be rarely reached nor excessively low so to make scarcely accurate the coefficients calculation.
  • the controller executes the modification or replacement of the current coefficients with a combination of the coefficients of the current series with the new coefficients through an updating factor, for example through a formula similar to the formula [15].
  • an updating factor for example through a formula similar to the formula [15].
  • the new coefficients calculated online by the block C will be less accurate than those calculated off-line, because of two reasons:
  • the variation of the physical quantity to be controlled is at its maximum in the off-line calculation because it is pre-defined right to obtain this feature, whereas the on-line calculation uses the available variations that very rarely will be at their maximum
  • external disturbances may arise originated by the working of the system.
  • motion- control of a machine-tool while machining movements are influenced by the mechanical strains of the tool.
  • the new series of coefficients calculated by the block C must be used in a less immediate way than it is possible to do using a new series of coefficients calculated off-line through a test cycle or procedure.
  • This is obtained by applying the formula [15] with a sufficiently low updating factor kx. For example a value of 0.1 might be a good compromise between updating speed and filtering needs.
  • the improvement described with reference to Fig.11 allows to increase the accuracy of the control system through an auto-adaptive calculation of the coefficients of the FIR filter that generates the feed-forward signal. This allows to re-calculate the coefficients so that possible variations of the dynamical response of the system during the control of the system itself may be kept into account. In this way a further improvement in the control accuracy is obtained.
  • the method according to the invention is susceptible of a further improvement, that allows to take into account the errors produced by the flexure of the mechanical structures of the controlled system, and correcting it. These errors become more and more important for high-speed machining, on one hand, because of the higher accelerations that are used, and, on the other, because of the lower stiffnes of the structures, made necessary by the need to reduce the weights of the mechanical parts.
  • Figs. 10 and 13 to 15 Other than the elements already described above, in the machine-tool of Fig. 10 are provided an encoder as angular transducer Rx1 placed on the motor Mx that controls the motion of the slide that carries the upright M, and a tranducer measuring the position along the axis X, depicted in the example as an optical scale Rx2, that constitutes a linear transducer of the X axis position. With the double arrow f is indicated the movement of the upright M originated by its flexure, resulting from the applied stresses, especially the inertial forces that originates because of the movement along the X axis.
  • e x is indicated the machining error originated by the flexure f of the upright M.
  • the measurement of the position along the X axis is made through the optical scale Rx2 that measures the position of the upright basis with respect to the fixed bedframe.
  • the error e x caused by the upright flexure is not -measurable, neither by the transducer Rx1 nor by the transducer Rx2, and therefore may not be eliminated by closed-loop systems. It might be pre-calculated through a theoretical modeling of the dynamical behaviour of the structure, but the difficulties and the accuracy limits of this funcionality are apparent.
  • an accelerometer AC in a position near the machining point of the tool U.
  • the output signal from the accelerometer is used, in the way described in the following, to modify the positions measured by the transducer Rx2 or Rx1. These errors are in the end compensated through the feed-forward signal.
  • Fig.13 the principle diagram of the system to obtain a measured position Q m (t), that includes the contribution of the accelerometer AC, is depicted.
  • the system includes the transducer Rx2 (that might be replaced by the transducer Rx1 in case that the transducer Rx2 is missing), the accelerometer AC and a summing filter FS.
  • the block S the mechanical structure, and more in particular the mechanical elements that are located between the position transducer Rx1 (or Rx2) and the accelerometer AC.
  • the block S will be different depending on whether the position transducer used is the transducer Rx1 or the transducer Rx2.
  • the physical position Q f (t) is present.
  • the position transducer Rx2 or Rx1 trasforms this physical position in a measured position Q r (t) accessible to the control system.
  • the physical position Q f (t) becomes, after passing through the structure S, the physical position Q f1 (t) that is different from Q f (t) because of the structural flexures.
  • the position Q f1 (t) becomes, through the accelerometric transducer AC, a second measured position Q a (t), that may be defined as an "accelerometric position”.
  • the two positions Q a (t) and Q r (t) are added by the summing filter FS.
  • This filter shows a frequency response depicted in the Fig. 14. At its output it furnishes the position Q m (t) to be used as the measurement of the position of the spindle S in the controller.
  • the function of the summing filter is to take from each one of the two transducers, the position transducer Rx2 (or Rx1) and the accelerometric transducer AC, the optimal contribution: from the position transducer Rx1 or Rx2 the low-frequencies will be taken (up to the steady-state datum) that give the absolute position of the measurement, whereas from the accelerometric transducer AC (that may not furnish significant data when the acceleration is null and is in any case scarcely accurate at low frequencies) the higher frequencies will be taken, that include the effects of the structural resonance.
  • the cut-off frequency f c must be chosen as a function of the dynamical behaviour of the structure: it shall be sufficiently low to include the structural frequencies of resonance but not lower, as this would reduce the overall accuracy of the position transducer.
  • Fig. 15 represents in a block-diagram the controller (limited to the X axis) for the machine schematized in Fig.10, complete of the auto-adaptive calculation of the FIR filter coefficients used for the generation of the feedforward signal and of the function of accelerometric correction.
  • the references used correspond to those used in the previous figures.
  • (t) is indicated the interpolated position (furnished by the interpolator schematized in the block I) that follows the programmed trajectory, i.e. the sequence or series of desired values of the variable physical quantity, that in this case is the position along the X axis of the upright M.
  • e(t) is indicated the position error furnished by the closed-loop and given by the difference between the desired value and the real value of the controlled quantity.
  • r e (t) is indicated the velocity reference or command caused by the error, equal to k*e(t), where k is the gain of the amplifier G.
  • v s (t) is indicated the velocity obtained by the desired values of the controlled physical quantity, according to the equation [6].
  • the velocity values are calculated by the differentiating block F1 on the basis of the desired values of the controlled physical quantity Qj(t). These values are furnished by the interpolator to the block F1.
  • the FIR filter F2 is divided into the two blocks F2A and F2B. The first one is the multiplier of the filter, whereas the second one contains the coefficients, marked with c 0 (i).
  • the output of the FIR filter is represented by the signal v f (t), that constitutes the velocity reference or command caused by the feed-forward, calculated according to the equation [7] and that is added to the velocity reference r e (t) coming from the closed-loop.
  • the sum of the two references, that constitutes the total velocity reference, is marked with ⁇ (t). This reference is supplied to the driver, that in the specific case commands the motor Mx that drives the X axis.
  • Q f (t) is represented the physical position present at the position transducer Rx2 (or Rx1), whereas with Q r (t) is indicated the position measured by the transducer itself, that is its output signal.
  • Q f1 (t) is indicated the physical position present at the accelerometer AC and with Q a (t) the output signal from the accelerometer AC, i.e. the accelerometric position measured by the accelerometer itself.
  • the mechanical structure between the transducer Rx2 and the accelerometer is schematized by the block S.
  • the final measured position Q m (t), complete of accelerometric correction is obtained by the combination into the summing filter FS of the two values Q a (t) and Q r (t).
  • the on-line adaptation of the coefficients of FIR filter F2 is obtained through the recorder RE that records the values (t) and Q m (t) and through the calculating block C with the procedure above described with reference to the Fig. 11. With c ox (i) is indicated the new series of updated filter coefficients, obtained with the eq. [15] and a suitable value of the updating factor kx.
  • the recording and the coefficient calculation may be either on-line or off-line and that the components G, F1 , F2A, F2B, C, RE, FS are, in practical implementation, software structures integrated into the controller.
  • Blocks RE and C calculate on-line and in an auto-adaptive way the coefficients of the FIR filter.
  • the desired values of the controlled quantity are filtered by the filter with adapted coefficients and the filter output is used directly as input reference for the actuator A.
  • This simple configuration is useful for example for systems that generate vibrations or in any case alternate quantities, where the working frequency is higher than the one that makes it possible to introduce a closed-loop control.
  • Fig.16 may be used also as a system that eliminates resonances for actuators to be included in control loops at frequencies lower than tha resonant one.

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Feedback Control In General (AREA)

Abstract

A method for the automatic control of at least one physical variable quantity in a controlled system is described, comprising the steps of: supplying a series of desired values (QI(t)) of said physical quantity; generating through an actuator (A) a series of real values (Qm(t)) of said physical quantity and measuring said real values; supplying to the actuator a feed-forward signal (vf(t)) to correct an error between the desired values of said quantity and the corresponding values thereof, that is obtained from the behaviour, over a time interval, of the desired values (QI(t)) of the physical quantity and of the dynamical behaviour of said controlled system.

Description

METHOD AND DEVICE FOR CONTROLLING A PHYSICAL QUANTITY HAVING A PROGRAMMED VARIATION, WITH A FEED-FORWARD CONTROL
Description Technical Field 5 This invention concerns a method for the control of a physical quantity
-changing following a program. Particularly (but not exclusively) the invention concerns a method for the control of a driver that controls the motion of a mechanical part, such as the arm of a robot, a tool of a numerically controlled machine-tool or other. 0 According to a different aspect, the invention concerns a controller equipped with a new method of numerical control of a variable physical quantity.
The invention also concerns a machine, especially a machine-tool, equipped with an automatic control of one or more physical quantities with a 5 programmed variation. State of the Art
In many technical applications a need exists to accurately control physical quantities that must vary in time according to a well definite law depending on a program to be executed. 0 Non exclusive examples of physical quantities to be controlled in a programmed way are:
- the position of parts of machines, such as machine-tools, robots and generally working machines
- temperature or pressure in process controls 5 - vibrations and accelerations in test systems
In the following the hypothesis will be done that the systems to be controlled are linear and by consequence the principle of superimposition of effects has full validity. The unavoidable non-linearities present in real physical systems will originate errors to be corrected by normal methods of 0 automatic control, but this does not reduce the validity of the linear treatment. A simple closed-loop control system for a physical quantity is depicted in Fig. 1 , where: - Qj(t) are the pre-calculated values, function of time, of the physical quantity to be controlled. These are generated by an "interpolator", that may be assumed known per se and not object of this invention, that receives the program to be realized and calculates, at each instant t, the value of the requested quantity. In the case of a machine-tool or of a robot, the quantities Qi(t) are the positions that the tool, the robot's hand, or other mechanical part must assume in the time
- Qm(t) are the measured values of the quantity to be controlled, taken through suitable transducers. As an example, in the case of a machine-tool the quantity at issue may be the position of a tool following a numerically controlled axis, being the position measured with a linear transducer or a rotary encoder.
- e(t) is the error at time t, provided by
Figure imgf000003_0001
- G is an amplifying block, with a gain k, that sets the closed-loop cut-off frequency, whose output is labeled r,(t)
- A is an actuator, that generates a response that is the integral of the quantity to be controlled:
Qm(t) ^ / (t) * dt [2] Blocks G and A are kept separated for convenience of the following discussion, and again for convenience of discussion it will be assumed that the gain of the block A is unity (if this is not the case, its gain is included in the gain k of the block G). In practice, in the diagram shown in the Fig. 1 and also in the following diagrams, as well as in the description and the enclosed claims, actuator means in general the whole constituted by the member (also said driver) that supplies the movement or generally speaking the command that aims at varying the controlled quantity, as well as the whole chain in series with it, at whose end the variable quantity is measured. In this way, in the block that symbolizes the actuator are enclosed the features not only of the driver, but also, for example, the features of the kinematic chain that transmits the motion and in general the elements of the mechanical structure between the driver and the element on which the driver acts, for example the mechanical hand of a robot, the tool of a machine-tool or other member.
In the case of motion control r,(t) is the "velocity reference" for the actuator that is a velocity-controlled driver.
In this simple implementation there is an error proportional to the velocity of variation of the quantity to be controlled: the output quantity (that is the measured quantity Qm(t)) follows the input quantity (Q,(t)) with a delay that is inversely proportional to the quickness of the closed loop.
If the quantities Qj(t) and Qm(t) are expressed in physical units "u" (for example u = meters in the case of motion control), and (t) is expressed in u/sec (for example the speed is in m/sec), then the closed-loop cut-off frequency is: ft = k/ (2 * τr) [3] the velocity of variation of the input quantity: v,(t) = d(Qf(t))/dt [4] the steady-state error (or the following delay at constant velocity): e (t) = Vi / k [5]
In many applications this following error (delay) degrades the system performances, therefore must be minimized.
A typical example of application that does not tolerate a delay error is the numerical control of programmed trajectories of machine-tools: as several axes are coordinated to obtain a trajectory, it is necessary for each one to be precisely at the pre-calculated point to avoid position errors and therefore machining errors.
As is evicted from equation [5] the simplest way to minimize the error is to raise the gain k, but this is normally possible only to a certain extent for reasons of stability of the closed-loop.
For this reason it is common practice to adopt a control system with a so-called feed-forward velocity signal as depicted in Fig. 2. The block F gives "forward", that is in advance, a velocity reference that zeroes the error in a condition of constant velocity. Therefore only the errors in the points of acceleration and deceleration remain present, as exemplified in the Figs. 3A and 3B. In the Fig. 3A is depicted the behaviour of the feed-forward signal v,(t) as a function of time and in Fig.3B the behaviour of the error e(t).
The efficiency of the velocity feed-forward is very good, so that it is normally used in all the accuracy-demanding applications.
A natural evolution of this technique would lead to introduce feed- forward containing higher derivatives of the quantity to be controlled
^acceleration etc.) in order to keep lower and lower the error, by zeroing it in condition of constant acceleration, in condition of constant derivative of the acceleration (jerk) and so on.
The efficiency of the feed-forward with higher-order derivatives is however limited, so that it is scarcely used in practical applications. The main reasons of this low efficiency are:
- if the quantity to be controlled is greatly variable, the time intervals become rare, when the higher-order derivatives may be considered in steady state - during transients the dynamical response of the actuator becomes important, which response is not easily theoretically pre-determinable because it depends on the individual characteristics of the system and introduces errors comparable with those that may be eliminated by the feedforward - if the actuator is characterized by true delays (that are easily encountered in digital sampled-data systems) errors arise that may not be eliminated with feed-forward, not even with high-order derivatives.
In the case of motion control for machine-tools it is anyway in progress a race toward more and more reduced execution times, that is toward "high speed" machining, that exasperates not only the maximum speed, but also the acceleration and the jerk (derivative of the acceleration).
Therefore the machining errors produced by the flexure of the mechanical structures, that with great difficulty are controllable as they are present past the position transducer, become noticeable. The importance of these errors becomes bigger and bigger because, to reach high speeds and accelerations, it is necessary to lighten the structures that consequently lose stiffness. Methods and devices that use a feed-forward signal for machine-tools control purposes are described in US-A-6,470,225, US-A-6,456,897, US-A- 4,761 ,595.
Objects and summary of the invention Object of this invention is to realize a method of control and a controller for controlling a physical system, typically but not exclusively a numerical- control machine with at least one member mobile along one or more controlled axes, that allow higher accuracy with respect to that offered, at present time, by traditional control systems. Substantially, the invention is based on a feed-forward method of control, where the feed-forward signal is obtained on the basis of the behaviour in the time, over a sufficiently long interval, of the programmed quantity, that is of the variable physical quantity, and of the dynamical behaviour of the system. This kind of feed-forward, that may be defined as "interval extended", replaces the conventional "point" feed-forward, that is a function of the subsequent derivatives of the pre-calculated variable physical quantity.
The calculus of the feed-forward parameters, done directly inside the controlled system to take into account its individual dynamical characteristics, may be either off-line, with the implementation of test variations, or online, that is in real-time during the normal working, realizing a system that is self- adapting to dynamical parameters which are slowly variable in the time.
The invention allows the generation of physical quantities that follow the pre-calculated ones in a very accurate and fast way, even when delays or resonances are present in the system response, and is easy to set-up because it does not demand any special quickness of the control loops.
This invention, still having a general validity, is especially suitable to the motion control and to high-speed numerical control systems.
On the basis of this principle, according to a first aspect the invention concerns a method for the automatic control of at least one variable physical quantity in a controlled system, including the steps of: > providing a series of desired values of said physical quantity; > generating through an actuator a series of real values of said physical quantity and measuring these said real values;
> supplying to said actuator a feed-forward signal to correct an error between said desired values of said quantity and the corresponding real values thereof; characterized in that the feed-forward signal is obtained from the behaviour over a time interval of the desired values of the physical quantity and of the dynamical behaviour of the controlled system.
The succession of the desired values of the controlled quantity may be supplied to the controller directly from an external system, or may be generated by an interpolator that is a part of the controller.
In practice, the dynamical behaviour of the controlled system is defined by at least one series of coefficients calculated by exciting the system with a known variation of the variable physical quantity and by measuring the behaviour of the system. Substantially, the values of the signal transmitted to the actuator and the consequent values assumed by the real quantity are recorded. The signal sent to the actuator, i.e. the reference (especially a velocity reference) sent to the driver, may be a test or trial signal, or may be a reference generated during the normal working of the controlled system. As it will be clear later, in the first case a series of coefficients is calculated, that are then used by the control system without further modifications, except their possible periodical updating. In the second case there is a self-adaptation of the coefficients, that are calculated by using as a reference for the driver the normal signal that is forwarded to it during the execution of a working cycle. In the case of a machine-tool, for example, the system whose dynamical behaviour is detected by describing it through these coefficients is formed by the whole chain of elements between the driver and the member where the transducer that measures the real value of the variable physical quantity is placed. The higher the number of used coefficients, the higher the accuracy of the control. In practice a minimum of three coefficients may be used, but specially accurate results are obtained with a number of coefficients equal or higher than ten and preferably equal or higher than thirty. With advantage even more than fifty coefficients may be used. The longer will be the transient with which the controlled system reacts to a variation of the controlled physical quantity, the higher will be the number of coefficients used. In practice, the number of coefficients used is such that the product of said number multiplied by one sampling time of the interpolator gives a time equal to or greater than the duration of the transient of the response of the actuator. In practice, the feed-forward signal is obtained by the summation of the products of each one of said coefficients by the corresponding desired value of the physical quantity or of a time derivative thereof. When the actuator is velocity-controlled, that is when it receives at its input a velocity reference that it must assume in order that the variable physical quantity (position) assumes the desired value, calculated by the interpolator, the feed-forward signal is obtained by multiplying the coefficients by the value of the derivative of the position in a number of points, that is for a number of time instants, equal to the number of used coefficients. This specific situation will be described in detail later. It is not excluded, however, the possibility for the feed-forward signal to be calculated directly on the basis of the position, instead of its time- derivative. This will be the case when the actuator is controlled in position instead than in velocity.
Although it is in principle possible to implement the control method of this invention through hardware, it will be implemented preferably through software, that is through a dedicated program executed by an electronic computer. The feed-forward signal is advantageously obtained through a FIR filter, whose coefficients are determined by the dynamical behaviour of the controlled system, the FIR filter being applied to a series of desired values of the physical quantity or of a time derivative thereof.
As said before, coefficients that describe the dynamical behaviour of the system may be calculated advantageously with an off-line calculus procedure, i.e. based on recorded and sampled values, obtained during a test phase on the system. This series of coefficients may remain unchanged, mainly when the test variation of the controlled physical quantity is sufficiently characterized, so that it may supply a complete information about the dynamical behaviour of the system. Nevertheless, the controlled system is not time-invariable. In general, it is formed by a set of mechanical and electronic elements combined together, whose characteristics may be modified because of simple time-degrading or even - for instance - because of modified ambient conditions. Typically, the temperature change may have a not negligible effect on the electronics of the system. According to an advantageous embodiment of the invention, it is provided that the series of coefficients is periodically updated, by executing, when requested (or even in a systematic and programmed way), a test to determine the updated parameters. The coefficients calculated in the subsequent cycles of test may fully replace the coefficients of the series calculated during the previous cycle. Advantageously, however, it may be foreseen that the coefficients are to be updated gradually with an updating factor that combines together two series of subsequent coefficients.
As will be clarified by the following description, the method according to the invention may operate even without a feed-back loop, that is with a controller where the feed-back error signal is missing. This is particularly true when the controlled system is for instance a vibration generator, where a feed-back loop will result too slow to allow a correction of the error.
However, when the method is applied to the motion control of a mechanical member, that may be a tool, a robot arm or other, it is advantageous to provide that the feed-forward signal is added to an error signal supplied by a feed-back loop and calculated by the difference between the real value of the controlled physical quantity and the desired value of said controlled physical quantity.
The method may be used to control several variable physical quantities in a synchronized way, for instance the motion of more than one numerically controlled axes. Typically, for example, in machine-tools three translating axes and two rotary axes are provided. The method of this invention may be adopted for a complex multi-axis controller. In this case a feed-forward signal will be provided, calculated on the basis of the dynamical behaviour of the system measured for each one of the variable physical quantities.
In other words, for instance in the case of a machine-tool with several controlled axes, for each one of the different axes a test phase is executed by forcing the relevant driver to move the pertinent axis following a test cycle, by measuring the dynamical behaviour of the system and by obtaining for that axis a series of coefficients that describe its mechanical behaviour. The controller will supply, by consequence, a feed-forward signal for each axis, i.e. for each driver, on the basis of the relevant series of coefficients and of the desired values of the relevant physical quantity or of a time derivative thereof. The number of coefficients of each series pertinent to the different controlled axes may be different, that is the behaviour of each controlled axis may be described through a respective number of coefficients, different from that of the other axes. The only limitation is due to the need to synchronize each other the different feed-forward signals. Further advantageous characteristics and embodiments of the invention are indicated in the attached claims and will be described with reference to a series of examples of implementation. Brief description of the drawings
The invention will be better understood following the description and the attached drawing, that shows practical non restrictive embodiments of the invention. In more detail, in the drawing:
Figs. 1 to 3 refer to a traditional closed-loop control system;
Fig.4 shows schematically the time-varying of the desired values of a generic variable physical quantity, that must be controlled; Fig.5 shows a principle drawing to introduce the concept at the basis of the invention;
Fig.6 shows a principle drawing of the concept at the basis of the method according to the invention;
Figs.7 and 8 show, with two different representation criteria, the logical blocks of the controller according to the invention applied to a controlled system, in a particularly simple form of implementation;
Fig. 9 shows a principle diagram similar to the diagram of Fig.6, explaining the criterion of calculus of the coefficients that describe the dynamical behaviour of the system
Fig.10 shows a diagram of a machine-tool to which the method according to the invention may be applied; Fig.11 shows a block-diagram of the controller with on-line auto- adaptive updating of the coefficients that describe the dynamical behaviour of the controlled system;
Figs.12A and 12B show diagrams to explain the criterion of selecting the values of the quantities useful for the auto-adaptive calculation of the coefficients of the diagram of Fig.11 ;
Fig.13 shows a block-diagram of the elements of a controller that implements the accelerometric correction;
Fig.14 shows the frequency response of the summing filter used in the diagram of Fig.13; Fig.15 shows a block-diagram of a controller enclosing the accelerometric correction and the on-line calculation of the coefficients with auto-adapting;
Fig.16 shows an implementation of the controller without the feed-back closed-loop. Detailed description of the preferred embodiments of the invention
The basis principle on the method of control and of the controller according to the invention are based may be understood with reference to Figs.4 to 6.
In a digital programming and control system there is a time-behaviour of the physical quantity to be controlled qualitatively shown in Fig.4, where in the abscissa the time (t) is shown and in the ordinate the desired behaviour of the quantity to be controlled, marked with Q,(t), is shown. The desired values of the controlled quantity are supplied by an interpolator, known per se, that calculates - on the basis of the initial data that define for example the program that must be executed by the machine-tool - the succession of the discretized values Q|(t) that represent the time-behaviour of the controlled value. The variable "t" in the abscissa is actually a discretized variable that replaces the continuous time variable: t counts the sampling time-intervals t0. The values Qι(t) are separated each another by time intervals tc.
Assuming that the variable quantity is a position, the derivative with respect to t of the values Qj(t) in the continuous domain gives the velocity. As t is a discretized variable, the time-derivative of the position may be replaced by the difference between two subsequent values of the physical quantity
vi(t) = (Qi(t+1) - Qi(t)) /tc [6]
The first remark is that the interpolator may calculate with any advance the future values of the quantity Qj(t) to be controlled if this one, as is in the cases of interest in this description, is originated by a program perfectly known. For. this reason it is also possible to calculate with any advance the time-behaviour of the time-derivative of the controlled value.
Assuming to have an actuator that responds perfectly to the command but with a delay D, it becomes possible to eliminate completely the following error by supplying the velocity feed-forward with an advance D identical to the response delay. The control system of Fig.2 becomes the one shown in the Fig. 5 where the used symbols have the same meanings defined with reference to the Fig.2 previously described. In Fig.5 the discretized values of the quantity Qj(t) and of its time- derivative Vj(t) are schematized as elements adjacent each other and aligned in a direction that represents the time t. Each element Qj(t) and v,(t) represents a value of the controlled variable quantity and of its first time- derivative, at different time instants separated each other by the sampling interval t0. Substantially, as is evicted from the diagram of Fig.5, the interpolator generates the succession of values Qj(t) from which it is easily obtained (with formula [6]) the succession v,(t). At a given instant t, when the controller calculates Vj(t), to the controlled system are supplied the physical quantity to be reached (that is the value Qj(t-D)) and the velocity feed-forward (Vj(t)) in advance of a quantity D equal to the delay of the actuator.
This base-configuration, that works if the actuator responds perfectly but with a delay to all the frequencies contained in the signal r^t) at its input, is useful to introduce the real configuration, applicable to any response of the actuator that is depicted in the Fig.6. In practice the actuator does not respond perfectly to all the frequencies of the input signal, but introduces a series of errors other than the simple delay. Indeed, practically the actuator (intended as stated above as the whole of the driver and of the structure or chain downstream thereof up to the measuring point of the real value Qm(t) of the variable physical quantity), responds to the command signal with an error that depends in general from different parameters, and also from the frequency-content of the command signal. To generate a feed-forward command that zeroes this error the procedure is as follows.
In the following it will be indicated - with reference to a generic discretized time-instant t - a delay R formed by a sufficiently high number of discretized time instants tc. Later on the conditions to be satisfied by the time- interval R, in the case of several physical quantities to be controlled in a simultaneous and coordinated way, will be defined. Moreover a time-window around the instant (t-R) is defined, formed by a number of discretized time- intervals nι that are time-antecedent to the instant (t-R) and by a number of discretized time-intervals n∞r that are time-subsequent to the instant t-R.
At the generic discretized instant t the interpolator already calculated all the desired values of the physical quantity Qj up to the value Q,(t+1), as well as all the values of its first time-derivative up to the value Vj(t). These two quantities correspond to position and velocity in the case that the variable physical quantity controlled by the controller is a displacement.
The reference value of the physical quantity introduced in the control system is Qj(t-R), where R is a number greater than ncor. The feed-forward signal is obtained with the summation of products:
Vf(t) = 2 c0(i) *vi(t - R - ncol + i) [7]
where m is the number of the feed-forward coefficients, c0(i) are the feedforward coefficients, nco, is the number of coefficients on the left of the "central" coefficient that multiplies the value v^t-R). The total number of coefficients m is equal to the sum n^+n∞r+ . At the input of the actuator A a velocity reference r,(t) is therefore supplied, that is formed by the sum of the signal re(t) (the error e(t) amplified by the amplifier G) and of the feed-forward signal vf(t), the last being calculated in such a way to tend to cancel the difference between the measured quantity Qm(t) and the relevant desired quantity Qj(t-R).
This configuration is a generalization of that of Fig.5. To obtain the configuration of Fig.5 it is sufficient to cancel in Fig.6 all the feed-forward coefficients, excluded the one that is displaced of D places to the right with respect to the central one (i.e. at the instant t-R+D), that must be = 1. It may be noted that these coefficients, applied to the succession of the interpolated velocities v,(t), realize a form of "FIR" (Finite Impulse Response) filter. Therefore the controller that implements the method according to the invention will generate a feed-forward signal, i.e. a reference at the input of the actuator, through a FIR filter, that may be realized in a known way by software or by hardware.
This filter applied to the feed-forward forms the essence of the invention: it must distort the command for the actuator (that is the reference η(t)) in such a way that the actuator response will be exactly the desired and pre-calculated one, i.e. the filter must generate such a reference to cancel the errors introduced by the actuator.
To make this possible with a high accuracy, the time interval covered by the filter coefficients must be longer than the response time of the actuator: if the actuator is fast a few coefficients will be sufficient (in the case of the perfectly fast actuator of Fig.5 just one coefficient was sufficient) whereas if the actuator is slow many coefficients will be necessary.
The great flexibility of this system is apparent, that may "cover" and compensate very slow responses too, oscillating or with delays, provided that the system is linear, but it is also clear that its good working depends on the accuracy with which the feed-forward coefficients c0(i) are calculated. A method for their calculation will be described later.
In the case of motion controllers the system manages easily the case of motions of several simultaneous and coordinate axes, i.e. of multi- dimensional trajectories. In this case an interpolator is provided that, starting from the multi-dimensional trajectory, generates for each axis a succession of interpolated positions Q,(t). Therefore, for example, if the axes are X, Y, Z, A, B (three Cartesian orthogonal axes X, Y e Z and two rotary axes A and B) the interpolator generates the positions QX^t), QY;(t), QZ,(t), QA(t), QB^t). Each axis may have its own extended feed-forward system as in Fig.6, completely independent from other axes, and therefore with different coefficients c0(i) that adapt each one to the dynamical response of the axis to which they are applied. The number m of coefficients too, and their placement around the central coefficient (that is the value of n, and of Ώ) may be different for each axis, to adapt to the dynamical characteristics. The only constraint is that the number R, that represents the advance of the central coefficient and specifies the reference position on which the error is calculated, must be identical for all the coordinated axes. Indeed, to generate a valid trajectory, it is necessary that the axes are each other perfectly synchronized on the same interpolated position. If there are several interpolating simultaneous axes, the distribution of the coefficients c0(t) around the central coefficient may be of any type, therefore ncor too may be different for each axis. Since R must be higher than ncor the consequence is that the number R must be higher than the greatest ncor among all the axes.
Even if many ways are possible to calculate the coefficients c0(i), for instance through successive approximations, according to a particularly advantageous embodiment the invention includes also an optimal way, quick and accurate, to calculate coefficients that cover even very extended intervals (fifty coefficients or more), adapting them to the real dynamical response of the system to be controlled. This method of calculatingof the coefficients will be described in what follows.
Let be c0(i) (i varying from 0 to m-1) the m unknown coefficients to be calculated. A first problem to which an answer must be given is if the solution is only one, i.e. if only one configuration of coefficients may be valid for any time-behaviour of the quantity to be controlled. This condition is necessary if the implementation of a controller is desired, that may work with any program at the input of the interpolator. To this purpose it is necessary that the dynamical distortion of the feed-forward signal operated by the filter defined by the coefficients c0(i) is a form of "transfer function" that does not depend upon the shape of the signal, but that must depend only on the transfer function of the actuator. This condition is true, as will be demonstrated with reference to the Figs. 7 and 8.
In Fig.7 is depicted in a slightly different way the same system as in Fig.6:
- the interpolator generates the desired discretized values Q^t) of the controlled physical quantity at the different discretized time instants t;
- Qm(t) is the real value of the variable quantity for the different discretized time instants t;
- the error e(t) = Qj(t)-Qm(t) is amplified by the block G with an amplifying factor k; - the block F1 is a differentiating block that calculates the discretized derivative of the desired values Qj(i) of the controlled physical quantity and generates
Vi(t) = [0,(1+1 )-Q,(t)] /tc
- the block F2 represents the FIR filter that generates the feed-forward signal vf(t) as defined by equation [7]
- the actuator A receives at its input the sum of the references
Figure imgf000016_0001
and generates the output Qm(t).
The same system may be represented in the continuous, in terms of Laplace transform (the "s" transform) with the diagram of Fig.8, where the blocks equivalent to Fig.7 are marked with the same references. The block A of Fig.7 is decomposed in a block A1 , that represents the transfer function of the actuator, and an integrator block A2, with a transfer function 1/s.
Now it is clear that the system works in a perfect way and with zero error if the total transfer function of the path from Qj(s) to Qm(s) through the blocks F1 , F2, A1 , A2 is the unity, i.e. if the block F2 is an "anti-filter" with a transfer function inverse to that of the actuator, i.e. if its transfer function is 1/A(s). Therefore the cascaded product of the blocks F1 and F2 of the Figs. 7 and 8 is a filter whose response approximates in the most accurate way the inverse of the response of the actuator.
Therefore the block F2 of Fig.7, that is just the FIR filter of the feed- forward system, approximates an inverse of a transfer function and for this reason is independent from the shape of the signal. The practical experimentation of the invention confirmed this thesis.
According to a first possible embodiment of the control system of this invention, coefficients c0(i) are calculated with an off-line test procedure, and then memorized in the controller as coefficients of the FIR filter that originates (summed to the amplified error re(t)) the input reference for the actuator. The test procedure may be in case repeated at suitable time intervals to update the coefficients. As will be seen later, this is not the sole possible procedure, because it is also foreseeable to calculate the coefficients c0(i) on-line, that is by measuring the dynamical response of the system during its working.
To calculate the FIR filter coefficients c0(i) the following procedure will be executed:
- a test or trial variation of the variable quantity to be controlled is applied to the controlled system, i.e. in practice a series of values Q,(t) generated by the interpolator
- at each discrete time t (with a sampling interval tc) the input reference η(t) at the input of the actuator A and the outputs Qm(t) from the actuator, that are the real values of the variable physical quantity, are recorded
- the actuator response, that receives at its input the reference η(t) and furnishes at its output the real values Qm(t) of the variable physical quantity, is then analyzed
- the coefficient to approximate in an optimal way the inverse of this response are calculated
In practice, when the controller is applied for example to a numerically controlled axis of a machine-tool or similar, the coefficients c0(i) of the controller filter that generates the feed-forward signal are calculated by applying a cycle of commands to the motor that moves the axis, for example a sequence of programmed movements. During this test both the velocity references and the real positions assumed by the mechanical member of the axis on which the test is executed are recorded. From the processing of these two series of data the series of coefficients c0(i) is obtained according to the procedure described in the following. The test variation of the quantity to be controlled that is applied to the system must be, naturally, suitable for the calculation of the coefficients. It will be in practice useful to generate a variation of the quantity to be controlled sufficiently "coloured" to allow the calculation of the coefficients c0(i). For instance at least one forward and backward stroke of the quantity to be controlled at the maximum allowed acceleration (the system must remain in its linear working range) may be executed. It will be also necessary to let the test to last for a time period sufficiently long to have a number of measured and recorded points much higher (at least 5-10 times) than the number of coefficients to be calculated. This will allow to do an average and so to reduce the effects of the noise that inevitably makes the measurements inaccurate.
After the test execution the values Qj(t) will be available, that represent the test variation cycle of the physical quantity to be controlled, the real values Qm(t) and the values r^t) of the input reference of the actuator. It must be observed now that if in the system of Fig.6 the coefficients are the optimal ones and if instead of the desired values Qj(t) of the variable physical quantity the real values Qm(t) of the variable quantity, recorded during the test, are applied to the input, the feed-forward signal vf(t) must be as near as possible to the reference r,(t) generated during the test. In fact, if it was possible to generate with the feed-forward system exactly the values r,(t) of the input reference of the actuator A starting from the real values Qm(t) of the variable physical quantity, the real values Qm(t) of the controlled quantity would be again generated with a null reference re(t) and therefore with a null error e(t). The situation is described in Fig. 9. The approximation with which the feed-forward filter will be able to synthesize an output vf(t) = rf(t) will depend on the number of coefficients and on the shape of the response of the actuator: a greater number of coefficients will in general produce a better approximation. In a fully theoretical hypothesis an infinite number of coefficients would furnish a perfect approximation to any response.
To calculate a finite series of coefficients c0(i) of the FIR filter that generates the feed-forward signal, first of all, starting from the recorded real values Qm(t) of the variable physical quantity, the corresponding values of the first derivative are calculated, that is, in the case where Qm is a position, the values of the velocity vm(t) are calculated by applying to all the recorded samples the formula: v t) = [Qm(t+1) -Qm(t)] / tc [8] where t varies from 0 to the last recorded sample, reduced by one.
If it is imposed that at each discretized instant t the generated feedforward signal vf(t) has to be equal to the recorded reference r^t), a series of equations of the following form may be written: m-1 c0(i) * vm(t -R - n∞l + i) = (t) [9]
where vm(t - R -nι * i) and r,(t) are known quantities (recorded data) and c0(i) are the m unknown quantities.
The number of the equations that may be written will be less that the number of the recorded samples, because the index "x" of the velocity vm(x) must remain within the number of the recorded samples: at least R+m samples are lost at the ends. In any case a system of linear equations will be available, where the number of equations N is much higher than the number of unknowns m. This system has an optimal solution, that may be defined as the one that minimizes the sum of the squares of the errors. In this treatment the coefficients of the filter will be the unknowns of the system. With the notation of matrix calculus and by defining: the matrix of the coefficients of the system [9], with N rows (j from 0 to N-1) and m columns (i from 0 to m-1) expressed by: A(i,j) = vm(t - R - n∞l + i +j) the unknowns vector, with m rows (i from 0 to m-1)
Figure imgf000019_0001
and the vector of the known terms, made of N rows (j from 0 to N-1) b(j) = r,® the redundant linear system [9] of N equations and m unknowns may be synthetically expressed as: A* x = b [10]
The solution that minimizes the sum of the squares of the errors imposes:
||A*x - b|| = minimum [11] where the notation ||x|| means the Euclidean norm (sum of the squares of the single components) of the vector x.
To solve the problem, first of all a system of m equations and m unknowns, therefore a resolvable one, is deduced from the system [1]:
Am * x = bm [12] where: Am = AT* A [13] and bm = AT* b [14] where Aτ is the transposed matrix of A.
The solution of the system [12] may be obtained with conventional algorithms, but taking into account that the particular nature of the matrix makes it possible a highly marked "instability" of the results depending on the numerical approximations.
Algorithms specially studied to produce lower numerical errors must be therefore used, for example the factorization A=QR obtained with the "modified Gram-Schmidt" algorithm. This algorithm is well known and described for instance in Valeriano Comincioli, «Analisi Numerica» McGraw
Hill Italia 1995, ISBN 88-386-0717-6, page 221 , algoritmo 5.15.
The calculation of the coefficients executed in this way may be time- repeated by applying each time to the controlled system a test variation of the variable physical quantity. This will be done to update the series of coefficients to keep into account possible time-variation of the dynamical behaviour of the system. Modern tools for the numerical calculus allow, in fact, to solve the above said linear equations system in very short times, of the order of milliseconds. It is so foreseeable, for example in the case of numerically controlled machine-tools, an updating of the series of coefficients even between a machining and the subsequent one, by executing, in the time between the removing of the machined piece and the mounting of the subsequent piece, a test cycle to acquire and record the data necessary to the solution of the system [9].
When a periodical updating of the coefficients c0(i) of the FIR filter is executed, it may be foreseen to fully replace the old coefficients, that is the series of coefficients calculated during the previous test cycle, with the new series of coefficients calculated with the most recent test cycle. But this procedure may be non optimal if there are significant sporadic measuring errors.
In these cases an intermediate solution is possible, where the coefficients that the controller will adopt will be a weighted average between the coefficients of the previous series and the coefficients of the subsequent series, through an updating factor. If co0(i) are the old coefficients and c01(i) are the new calculated coefficients, it may be adopted, as the updated series of coefficients, the coefficients cox(i) given by the expression: cox(i) = kx*c01(i) + (1-kx)*co0(i) (i = 0 ... m-1) - [15]
The factor kx may be chosen between 0 and 1 : if it is 1 the new coefficients replace immediately and fully the old ones, if it is 0 the old coefficients remain, so that the new ones are unused, whereas the intermediate values furnish an intermediate result that exponentially tends to the last calculated values.
The choice of the updating factor kx depends on the characteristics of the system and on the existing "noise": normally it will be kx=1 (new data are used immediately) because the "mean" operation existing in the algorithm is sufficient to reduce the noise to acceptable levels. The system above described that calculates the coefficients is very accurate and produces the optimum FIR filter that minimizes the error.
But in some cases (depending upon the number of the coefficients of the filter and upon the transfer function of the actuator) the coefficients of the optimal filter may be very high, even over 100. These very high values may constitute a problem, because they may "force" the actuator with values that bring it in a non linear operating field and exalt in an excessive way the possible irregularities in the calculus of the interpolated quantities Qj(t). On the other hand this algorithm furnishes a solution that in many cases results much more accurate with respect to what is usable. In fact the time-variability of the actuator parameters introduces response errors much higher than the residual errors of the algorithm. These considerations are specially tangible in the case of control of trajectories of machine-tools, where the above described algorithm may give theoretical accuracies up to 10 nanometers (0.00001 mm), that results useless as the present machines show limits of reproducibility about of one micrometer, that is a value 100 times higher.
Therefore, it is useful to reduce the filter accuracy to obtain in exchange a higher smoothness of the feed-forward, that is to reduce the value of the coefficients of the FIR filter that furnishes the feed-forward signal. To this purpose, starting from the equation [11], it is remarked that the previous considerations bring to modify the initial definition of the problem: what must be minimized is not the sum of the squares of the errors (eq. 11) but instead the sum of the Euclidean norm of the matrix (A*x - b) as above defined and of the Euclidean norm of the solution x weighted with a coefficient . With matrix notation:
||A *x - b|| + α * ||x|| = minimum [16]
By expanding the calculation of the Euclidean norm a function of the x solution is obtained: f(x) = ||A*X-b|| + α*||x|| = (A*x-b)τ * (A*x-b) + α*xτ*x =
= (xT*AT-bT)*(A*x-b) + α*xτ*x =
= xT*AT*A*x - xT*AT*b - bT*A*x + bτ*b + α*xτ*x =
= xT*AT*A*x - 2*bT*A*x + bτ*b + α*xτ*X [17] Where with τ the transposed matrix is meant.
Minimizing this function means to calculate the point where its vector derivative with respect to x becomes null. Then it is obtained: d(f (x))/dx = 2*xT*AT*A - 2*bT*A + 2*α*xτ = 0 [18] or xT*AT*A - bT*A + α*xτ = 0 [19] by transposing the equation the result does not change, therefore it may be written:
Aτ*A *x- Aτ*b + α*x = 0 [20] that may be re-written in this way:
(Aτ*A + α*l)*x = Aτ* b [21] where I is the matrix "identity", that is square and with dimensions m*m, where all the elements are zero, excluded the principal diagonal that is composed of terms all = 1.
By remembering the equations [13] and [14] the linear system of equations to be solved may be written:
Am *x + α*l = bm [22] This equation is identical to equation [12], with the exception that to all the terms of the principal diagonal of the matrix Am a quantity α is added.
With this simple operation the desired result is obtained, of lowering the norm of the coefficients of the filter, by having in exchange a lower precision. The optimum quantity α depends on the measuring units. Just to have an example, in the case of the control of trajectories of machine-tools, if the speeds are expressed in mm/s, a quantity α of 0.0001 allows to obtain accuracies of the order of 0.001 mm but limiting the coefficients to values less than 2, therefore with a good compromise between the accuracy and the amplitude of the coefficients. The previous discussion is based on the use of a series of coefficients c0(i) for each controlled quantity, for example to control the position of each axis of a numerically controlled machine, where the coefficients of a certain series remain unchanged, except for the possible updating at suitable time- instants (see eq. 15). Nevertheless this means to assume that the dynamical system response is invariable with respect to its geometrical configuration, hypothesis that is not always exact. Indeed, having defined the actuator as the whole of the driver and of the chain that, starting from this member, ends with the member that is deplaced (in the case where the controlled quantity is a displacement), it is clear that in some cases the geometrical configuration of the system may modify the dynamical response of the actuator. For example, if the physical quantities to be controlled are the motion trajectories in machine-tools, working machines or robots, variations of the dynamics of the actuators as a function of the working position may arise.
This situation is explained with reference to the example of Fig.10. In this figure are schematized the movements of a numerically controlled machine- tool along the Cartesian axes X and Y, obtained with rotating motors and a screw transmission system. Schematically, with M is indicated an upright, mobile along the X axis, that carries a spindle S, mobile along the upright and along the axis Y. The spindle carries a tool U that machines a piece generically indicated with P. With Mx and My the drivers are indicated, i.e. the motors that control the motions along the axes X and Y. Again in Fig.10 Xmin, Xmax, Ymin, Ymax indicate the ends of the strokes along the axes X and Y, i.e. the minimum and maximum positions along X and along Y.
Because of the elasticity and mass of structures, mechanical resonances are present. In the diagram of Fig.10 some resonances are detectable that vary as a function of the position, due to different causes, and specially: a) the torsional elasticity of the system formed by the engaged part of the screw Tx, by the mass of the upright M and by the mass of the spindle S, seen as momentum of inertia brought back on the screw Tx; b) the torsional elasticity of the system formed by the engaged part of the screw Ty and by the mass of the spindle S seen as a momentum of inertia brought back on the screw Ty; c) the flexural elasticity of the system formed by the upright M and by the mass of the upright itself and the spindle S, seen as a momentum of inertia with respect to its joint point.
By varying the position of the upright from Xmin to Xmax and of the spindle from Ymin to Ymax the above mentioned resonances vary:
- frequencies a) and b) because by moving the upright along the X axis the lenght of the engaged part vary and so does its elasticity - frequency c) because by moving the spindle along the Y axis varies the position of the spindle mass with respect to its joint point and therefore the momentum of inertia.
Similar situations may arise in case of cascaded rotating movements (tipycal of robot arms) where the rotation of a joint varies the momentum of inertia seen by the previous joint.
In the machines manufacturing every expedient is adopted to minimize the effects of these resonances, but it is in any case a task of a good controller to eliminate as much as possible the residual errors. The control system described so far may be further improved to compensate these errors produced by variations, depending on one or more parameters, of the dynamical behaviour of the actuator
Going back to the Fig. 10, because of what has been said above, the dynamics of the actuator X (that is of the whole formed by the motor Mx, by the screw Tx, by the upright M and by the devices carried by it), is influenced by the physical position of the axes X and Y. Viceversa, the dynamics of the actuator Y (that is of the whole formed by the motor My, by the screw Ty and the spindle S) is influenced by the physical position of the axis Y. In fact, its dynamical behaviour is invariant with respect to the position of the upright M along the X axis. With reference to the X axis, that presents the highest difficulties, because its dynamical behaviour is influenced by two parameters, it is observed that the end points that set the boundaries of the working field are defined by the following positions in the XY co-ordinate plane: P11=(Xmin,Ymin) P21=(Xmax,Ymin), P12=(Xmin,Ymax), P22=(Xmax,Ymax)
It is now possible to execute the procedure of testing and recording the references r,(t) at the input of the actuator X and of the real quantities Qm(t) (that is for example of the position of the slide that carries the upright M, measured for example by a linear transducer) four times, by placing each time the mobile parts in the extreme positions of the working field defined by the points P11.. P21 , P12, P22 defined above. In other words, the testing and recording the dynamical response of the system are executed having set the controlled system in four different geometrical conditions. From the four records, with the above described procedure, the calculation of the coefficients of the FIR filter is executed that optimize the system behaviour in these four points, that is in these four extreme geometrical configurations.
Four series of coefficients are obtained, c011(i), co21(i), c012(i) e co22(i), each one composed of m coefficients. These four series of coefficients define four FIR filters and may be memorized by the controller. At this point, during the working of the machine-tool the controller generates a feed-forward signal vf(t) that is no more calculated on the basis of a single series of coefficients, but rather on the basis of a series of weighted coefficients, obtained by the combination of the coefficients of the four series c011(i), co21(i), c012(i) e co22(i), as a function of the istantaneous value of the physical quantities X and Y, i.e. as a function at each instant of the real position of the spindle S and therefore of the tool that it carries. Substantially, in any intermediate point it is possible to find out the parameters: x = (X - Xmin)/(Xmax - Xmin) [23] y = (Y - Ymin)/(Ymax - Ymin) [24] that vary from 0 to 1 in the full working field. In any point Pxy=(x,y) the controller will use as coefficients coxy(i) of the FIR filter to generate the feedforward signal a combination of the coefficients of the four series as follows: coxy(i) = (i-χ)*(i-y)*c011(i) + χ*(i-y)*c021(ϊ) + (i-χ)*y*c012(i) + χ*y*co22(i) [25]
This interpolating function among the series (or vectors) of coefficients c011(i), co21(i), c012(i) and co22(i) has a very important property, i.e. the sum of the interpolated coefficients coxy(i) is the mean of the sums of the coefficients in the four extreme points. Therefore, if the sums of the coefficients are identical in the four points (because the gain Aa of the actuator is constant) the sum remains identical, and therefore the gain of the actuator is perfectly compensated, in any point of the field of variability of the parameters.
When the managed quantities are three, that is when the machine has three numerically controlled Cartesian axes x, y, z and therefore three actuators X, Y, Z, the series of the interpolating coefficients becomes: c0xy2(i) = (1-x)*(1-y)*(1-z)*c011l(i) + (1-x)*(1-y)*z*c0112(i) +
+ (1-X)*y*(1-Z)*Coi2i(0 + (1 -X)*y*Z*C0122(i) +
+ χ*(l-y)*(1-z)*c0211(i) + x*(l-y)*z*c0212(i) + + x*y*(1 -2)*co22ι (i) + x*y*z*c0222(i) [27]
Instead of four series of coefficients calculated in the four extreme points that define the working field, several intermediate series of coeffcients may be calculated, by using intermediate positions of the mechanical parts of the machine. Wathever may be the number of series (or vectors) of coefficients, calculated for different geometrical configurations of the controlled system, since the calculation of the coefficients implies that the variable physical quantity has to be subjected to a sensible variation, it must be understood that actually during the calculation of each one of the series of coefficients the system is subjected to a variation around the interest point, variation in any case small, typically an order of magnitude lower than the distance of the different points where the different series of the coefficients are calculated. For example, in the case of a machine-tool, if the working field of the tool is defined in a cube whose sides are 1000 mm, the coefficients that describe the dynamical behaviour of the machine in the extreme points of the working volume are calculated by imposing displacements along the different axes of the order of some tens of millimeters, typically of the order of 20-50 mm. The dynamical response of the system is then assumed as invariant with respect to this variation of the controlled physical quantity, that is much lower than the variation of this quantity when the machine operates in the whole working volume.
In the examples described so far it is foreseen that the calculation of the coefficients of the FIR filter that supplies the feed-forward is executed starting from one or more special test variations of the physical quantity to be controlled, and that the coefficients, calculated in this way, are memorized in the controller and used later during working, with the possibility of a periodical update of the coefficients, through a repetition of the trial or test cycle. It was also seen that a variation of the dynamical characteristics that arises between the calculation of the FIR filter coefficients and their usage introduces errors and that these may be reduced by varying at real-time the FIR filter coefficients as a function of measurable parameters from which the variation of the dynamical response of the actuator depends. In this case too the filter coefficients c0(i) are calculated through a combination of series of coefficients pre-calculated on the basis of a plurality of test-cycles executed in different geometrical configurations of the controlled system, and therefore constant. But there are cases where the variation of the dynamics of the actuator depends on non measurable parameters or in general the measurement and calculation of the coefficients in many points of the working area is difficult for the user and therefore to be avoided. It must be noted now that the variation of the physical quantity that is originated during the test and that is necessary for the calculation of the coefficients is in no way subject to special specifications. Therefore it may be used in principle as a test variation of the variable physical quantity also a variation present during the normal working of the device, implementing in this way a real-time, auto-adaptive feedforward, that is a system where the response of the actuator to an input reference is recorded online, together with the input reference, and used substantially as the information for the calculation of a series of corrected coefficients.
This further improvement of the invention is schematized in the Fig.11. The system here depicted is similar to that of Fig.7, except that the block F2 is broken into the two blocks F2A (multipliers of the FIR filter) and F2B (coefficients of the FIR filter). Furthermore, a recording block RE is provided that stores "online" the quantities (t) and Qm(t), and a block C that calculates the new coefficients c0(i) on the basis of the recorded values of the quantities Tj(t) and Qm(t) and modifies the coefficients present in the FIR filter. Substantially, the method in this case works as follows. In an initial test or trial cycle, to the controlled system a variation of the controlled quantity is applied, and the values of the quantities η(t) and Qm(t) are recorded off-line. From these data, through the solution of the linear equations system described above a first series of coefficients c0(i) is calculated, that are assumed by the controller as coefficients of the FIR filter that generates the feed-forward signal vf(t). When the system starts working, for example in the case of a machine-tool it starts machining a piece by executing a machining cycle under the control of the controller, on the basis of the movements of the different axes furnished by the interpolator, the recorder RE starts to memorize the quantities r,(t) and Qm(t). After a time interval sufficient to collect a number of samples of said quantities, that is significant for the calculation of a new series of coefficients, the block C calculates a new series of coefficients with the same procedure described with reference to the off-line calculation of coefficients. This new series of coefficients is used to update the FIR filter coefficients.
The recorder block RE must also contain a function of surveillance of the content that establishes when recorded samples are available in quantity and quality sufficient to calculate the coefficients. Samples are of a sufficient quality to calculate the coefficients if they are measured in correspondence with significant variations of the controlled physical quantity. For example, the samples recorded during a period of stop of an axis are qualitatively useless for the calculation of the coefficients. As the caclulation of the coefficients is possible when the physical quantity to be controlled is subject to significant variations, the first and second time-derivatives of the physical controlled quantity may be used as an index of confidence. In the case of motion control, velocity and acceleration will be used as parameters for the choice of the useful samples.
Remembering the expression of the first derivative of the physical quantity to be controlled, defined in the equation [8], the second derivative of the physical quantity to be controlled will be given by: am(t) = [vm(t+1) - vm(t)] /tc [28] The definition of the number of samples useful and sufficient for the calculation of the new series of coefficients c0(i) takes place in the way described in the following with reference to Figs. 12A and 12B. In Fig.12A is schematically depicted a sequence of samples vm(t) of the first derivative of the measured quantity Qm(t). The recording of samples takes place over a time-interval indicated by Δt. In Fig.12B is depicted the behaviour of the curve on which lie the samples of the second derivative am(t) of the controlled quantity Qm(t). With am1 and am2 are indicated the maximum and minimum value assumed by the second derivative in the central zone of the recording interval Δt, whereas Δam represents the absolute value of the difference between am1 and am2.
In general the physical quantity to be controlled will have known physical limits for the second derivative. For example, in the case of motion control obtained with motors and screws as in Fig. 10, the second derivative of the position is the acceleration, that finds its limit in the maximum torque given by the motor and in the inertia of the load to be displaced. The maximum limit (in absolute value) of the second derivative of the controlled physical quantity will be indicated with amrnax.
In the calculation of the coefficients through the block C on the basis of the recordings done by the block RE a certain number of samples at the start and at the end of the recording are lost. More precisely, with the notation introduced with reference to Fig.6 and with reference to the drawing of Fig.12A, a number of samples nco, is lost at the start of the recording and a number of samples R at the end of recording. Therefore, to let the block C calculate the new series of coefficients, the central samples indicated in Fig. 12A with Ns will be used. Inside these Ns significant samples, as indicated in the Fig. 12B, there will be a variation of the absolute value of the second derivative Δam. The quantities Ns e Δam may be expressed as:
Ns = k1 * m [28]
Δam = k2 * ammax [29] where m is the number of coefficients of the filler.
The numbers k1 and k2 will be used as indexes of confidence for the samples recorded to calculate the coefficients of the FIR filter. In other words, the recording of the values of the quantities Qm(t) and r,(t) by the block RE continues until at least Ns=k1*m samples are collected and the collected samples are such that the variation between the maximum and minimum value of the second derivative of the controlled quantity is at least equal to Δam=k2 ammax.
The numerical evaluation of k1 and k2 depends on the characteristics of the system to be controlled. In general it may be said that:
- k1 must be greater than 1 (at least 2) to allow the writing of a redundant number of equations as in [9], but must not be such high to "dilute" in the time the variation of the physical quantity, that would make the coefficients calculation less accurate - k2 must be lower than 2 (the maximum variation of the second derivative is between +ammaχ and -ammax), and must be nor excessively high so to be rarely reached nor excessively low so to make scarcely accurate the coefficients calculation.
In the case of motion controller a good compromise was found with k1 =3 and k2=1.
Once the controller, through the blocks RE and C, has calculated a new series of coefficients c0(i), it executes the modification or replacement of the current coefficients with a combination of the coefficients of the current series with the new coefficients through an updating factor, for example through a formula similar to the formula [15]. However, it must be remarked that the new coefficients calculated online by the block C will be less accurate than those calculated off-line, because of two reasons:
- the variation of the physical quantity to be controlled is at its maximum in the off-line calculation because it is pre-defined right to obtain this feature, whereas the on-line calculation uses the available variations that very rarely will be at their maximum
- during the off-line calculation external disturbances may arise originated by the working of the system. For example, in the case of motion- control of a machine-tool, while machining movements are influenced by the mechanical strains of the tool.
For these reasons the new series of coefficients calculated by the block C must be used in a less immediate way than it is possible to do using a new series of coefficients calculated off-line through a test cycle or procedure. This is obtained by applying the formula [15] with a sufficiently low updating factor kx. For example a value of 0.1 might be a good compromise between updating speed and filtering needs. The improvement described with reference to Fig.11 allows to increase the accuracy of the control system through an auto-adaptive calculation of the coefficients of the FIR filter that generates the feed-forward signal. This allows to re-calculate the coefficients so that possible variations of the dynamical response of the system during the control of the system itself may be kept into account. In this way a further improvement in the control accuracy is obtained.
The method according to the invention, however, is susceptible of a further improvement, that allows to take into account the errors produced by the flexure of the mechanical structures of the controlled system, and correcting it. These errors become more and more important for high-speed machining, on one hand, because of the higher accelerations that are used, and, on the other, because of the lower stiffnes of the structures, made necessary by the need to reduce the weights of the mechanical parts.
The system according to the invention allows an implementation where accelerometric corrections are introduced. This further improvement will be described with reference to Figs. 10 and 13 to 15. Other than the elements already described above, in the machine-tool of Fig. 10 are provided an encoder as angular transducer Rx1 placed on the motor Mx that controls the motion of the slide that carries the upright M, and a tranducer measuring the position along the axis X, depicted in the example as an optical scale Rx2, that constitutes a linear transducer of the X axis position. With the double arrow f is indicated the movement of the upright M originated by its flexure, resulting from the applied stresses, especially the inertial forces that originates because of the movement along the X axis. With ex is indicated the machining error originated by the flexure f of the upright M. The measurement of the position along the X axis is made through the optical scale Rx2 that measures the position of the upright basis with respect to the fixed bedframe. The error ex caused by the upright flexure is not -measurable, neither by the transducer Rx1 nor by the transducer Rx2, and therefore may not be eliminated by closed-loop systems. It might be pre-calculated through a theoretical modeling of the dynamical behaviour of the structure, but the difficulties and the accuracy limits of this funcionality are apparent.
Even greater are the errors in cheaper machines, where the linear transducer Rx2 is missing and the position X is measured directly through the rotary transducer Rx1 : in this case the errors caused by the flexure of the upright add to the errors caused by the screw torsion as already described with reference to Fig. 10.
To solve this problem too, according to an improved embodiment of the invention, it is provided first of all an accelerometer AC in a position near the machining point of the tool U. The output signal from the accelerometer is used, in the way described in the following, to modify the positions measured by the transducer Rx2 or Rx1. These errors are in the end compensated through the feed-forward signal.
In Fig.13 the principle diagram of the system to obtain a measured position Qm(t), that includes the contribution of the accelerometer AC, is depicted. The system includes the transducer Rx2 (that might be replaced by the transducer Rx1 in case that the transducer Rx2 is missing), the accelerometer AC and a summing filter FS. In the diagram of Fig. 13 it is also schematized with the block S the mechanical structure, and more in particular the mechanical elements that are located between the position transducer Rx1 (or Rx2) and the accelerometer AC. The block S will be different depending on whether the position transducer used is the transducer Rx1 or the transducer Rx2.
At the input of the position transducer Rx2 (or Rx1) the physical position Qf(t) is present. The position transducer Rx2 or Rx1 trasforms this physical position in a measured position Qr(t) accessible to the control system. The physical position Qf(t) becomes, after passing through the structure S, the physical position Qf1(t) that is different from Qf(t) because of the structural flexures. The position Qf1(t) becomes, through the accelerometric transducer AC, a second measured position Qa(t), that may be defined as an "accelerometric position". The two positions Qa(t) and Qr(t) are added by the summing filter FS. This filter shows a frequency response depicted in the Fig. 14. At its output it furnishes the position Qm(t) to be used as the measurement of the position of the spindle S in the controller.
The function of the summing filter is to take from each one of the two transducers, the position transducer Rx2 (or Rx1) and the accelerometric transducer AC, the optimal contribution: from the position transducer Rx1 or Rx2 the low-frequencies will be taken (up to the steady-state datum) that give the absolute position of the measurement, whereas from the accelerometric transducer AC (that may not furnish significant data when the acceleration is null and is in any case scarcely accurate at low frequencies) the higher frequencies will be taken, that include the effects of the structural resonance. The cut-off frequency fc must be chosen as a function of the dynamical behaviour of the structure: it shall be sufficiently low to include the structural frequencies of resonance but not lower, as this would reduce the overall accuracy of the position transducer.
Fig. 15 represents in a block-diagram the controller (limited to the X axis) for the machine schematized in Fig.10, complete of the auto-adaptive calculation of the FIR filter coefficients used for the generation of the feedforward signal and of the function of accelerometric correction. The references used correspond to those used in the previous figures. With Q|(t) is indicated the interpolated position (furnished by the interpolator schematized in the block I) that follows the programmed trajectory, i.e. the sequence or series of desired values of the variable physical quantity, that in this case is the position along the X axis of the upright M. With e(t) is indicated the position error furnished by the closed-loop and given by the difference between the desired value and the real value of the controlled quantity. With re(t) is indicated the velocity reference or command caused by the error, equal to k*e(t), where k is the gain of the amplifier G. With vs(t) is indicated the velocity obtained by the desired values of the controlled physical quantity, according to the equation [6]. The velocity values are calculated by the differentiating block F1 on the basis of the desired values of the controlled physical quantity Qj(t). These values are furnished by the interpolator to the block F1. The FIR filter F2 is divided into the two blocks F2A and F2B. The first one is the multiplier of the filter, whereas the second one contains the coefficients, marked with c0(i). The output of the FIR filter is represented by the signal vf(t), that constitutes the velocity reference or command caused by the feed-forward, calculated according to the equation [7] and that is added to the velocity reference re(t) coming from the closed-loop. The sum of the two references, that constitutes the total velocity reference, is marked with η(t). This reference is supplied to the driver, that in the specific case commands the motor Mx that drives the X axis.
With Qf(t) is represented the physical position present at the position transducer Rx2 (or Rx1), whereas with Qr(t) is indicated the position measured by the transducer itself, that is its output signal. With Qf1(t) is indicated the physical position present at the accelerometer AC and with Qa(t) the output signal from the accelerometer AC, i.e. the accelerometric position measured by the accelerometer itself. The mechanical structure between the transducer Rx2 and the accelerometer is schematized by the block S.
The final measured position Qm(t), complete of accelerometric correction is obtained by the combination into the summing filter FS of the two values Qa(t) and Qr(t).
The on-line adaptation of the coefficients of FIR filter F2 is obtained through the recorder RE that records the values (t) and Qm(t) and through the calculating block C with the procedure above described with reference to the Fig. 11. With cox(i) is indicated the new series of updated filter coefficients, obtained with the eq. [15] and a suitable value of the updating factor kx.
It is useful to note that the recording and the coefficient calculation may be either on-line or off-line and that the components G, F1 , F2A, F2B, C, RE, FS are, in practical implementation, software structures integrated into the controller.
A special application of this invention foresees the elimination of the control closed-loop of the actuator, thus reducing the system of Fig.11 to the simple scheme of Fig.16, where equal references indicate elements equal or corresponding to these of Fig.11. Blocks RE and C calculate on-line and in an auto-adaptive way the coefficients of the FIR filter. The desired values of the controlled quantity are filtered by the filter with adapted coefficients and the filter output is used directly as input reference for the actuator A.
This simple configuration is useful for example for systems that generate vibrations or in any case alternate quantities, where the working frequency is higher than the one that makes it possible to introduce a closed-loop control.
The configuration of Fig.16 may be used also as a system that eliminates resonances for actuators to be included in control loops at frequencies lower than tha resonant one.
It is intended that the drawing shows only practical non limiting examples of the invention, that may vary in the forms and arrangements but without exiting from the scope of the concept that is at the basis of the invention. The possible presence of reference numbers in the included claims has the sole purpose to facilitate reading of the claims reference being made to the previous description and the enclosed drawings and does not limit in any way the scope of protection.

Claims

Claims
1. A method for automatic control of at least one variable physical quantity in a controlled system, comprising the steps of:
> supplying a series of desired values (Q|(t)) of said physical quantity; > generating through an actuator (A) a series of real values (Qm(t)) of said physical quantity and measuring said real values;
> supplying to said actuator a feed-forward signal (vf(t)) to correct an error between the desired values of said quantity and the relevant real values thereof; characterized in that said feed-forward signal (vf(t)) is obtained from the behaviour, over a time-interval, of the desired values (Q|(t)) of said physical quantity and of the dynamical behaviour of said controlled system.
2. Method according to claim 1 , characterized in that the dynamical behaviour of said controlled system is described by at least one series of coefficients (c0(i)).
3. Method according to claim 2, characterized in that said feedforward signal is obtained with a number (m) of coefficients (c0(i)) equal or greater than three and preferably equal or greater than ten and even more preferably greater than thirty.
4. Method according to claim 2 or 3, characterized in that the number of said coefficients is such that the product of said number (m) multiplicated by a sampling interval (tc) of the desired values of said physical quantity is equal or grather than the response transient of the actuator.
5. Method according to one or more of the preceding claims, characterized in that the feed-forward signal (vf(t)) for each desired value of said physical quantity (Q|(t-R)) at a generic time-instant (t-R) is obtained on the basis of the desired values of said physical quantity in a time-interval around said generic time-instant (t-R).
6. Method at least according to claims 2 and 5, characterized in that said feed-forward signal (vf(t)) is obtained by applying the coefficients of said series to desired values (Q,(t)) of said physical quantity or of a time derivative (v,(t)) thereof over a time-windows (t-R-nι; t-R+n∞r).
7. Method according to at least one of claims 2 to 6, characterized in that said feed-forward signal (vf(t)) is obtained by the summation of the products of each one of said coefficients c0(i) multiplicated by a correspondent number (m) of desired values of said physical quantity (Qj(t)) or of a time- derivative thereof (Vj(t)).
8. Method according to claim 7, characterized in that:
> said physical quantity is a position of a mechanical member;
> said actuator is controlled by a velocity reference ( (t));
> and said feed-forward signal is obtained by the summation of the products of each one of said coefficents (c0(i)) by a corresponding number of values of velocity (v,(t)) obtained from the desired values (Qj(t)) of said position
9. Method according to one or more of the preceding claims, characterized by generating said feed-forward signal (vf(t)) through a FIR filter whose coefficients are determined from the dynamical behaviour of the controlled system, the FIR filter being applied to a series of desired values (Qj(t)) of said physical quantity or of a time derivative thereof (V|(t)).
10. Method according to one or more of claims 2 to 9, characterized in that said coefficients (c0(i)) are calculated by imposing a known test variation of said controlled quantity and by recording the response of the controlled system to said variation.
11. Method according to claim 10, characterized in that said series of coefficients are periodically updated, by applying each time a known test variation of said controlled quantity and by recording the response of the controlled system to said variation.
12. Method according to claim 11 , characterized by:
> calculating a first series of said coefficients (c01(i)) by applying to the controlled system a test variation of the variable physical quantity and by recording the response of the controlled system to said test variation; > calculating, after a period of time, a second series of said coefficients (co2(i)) by applying to the controlled system a further test variation of the variable physical quantity and by recording the response of the controlled system to said test variation; > combining said first and said second series of coefficients through an updating factor (kx) to obtain a series of updated coefficients (cox(i)), said series of updated coefficients being used to determine said feed-forward signal until a subsequent updating of the coefficients.
13. Method according to claim 12, characterized in that the coefficients of the series of updated coefficients are given by the equation: cox(i) = kx*c01(i) + (1-kx)*co0(i) (i = 0 ... m-1) where co0(i) are the coefficients of the first series c01(i) are the coefficients of the second series kx is an updating factor comprised between 0 and 1 m is the total number of coefficients.
14. Method according to one or more of the preceding claims, characterized in that said feed-forward signal (vf(t)) is added to an error signal
(re(t)) supplied by a feed-back closed-loop and obtained by the difference between the real value (Qm(t)) of the physical quantity and the desired value (Q,(t)) of said physical quantity.
15. Method according to one or more of the preceding claims, characterized by: automatically controlling at least two variable physical quantities; and by generating, for each one of said physical quantities, a feedforward signal calculated in an indipendent way with respect to the feedforward signal of the other physical quantity or quantities.
16. Method according at least to claims 2 and 15, characterized by providing a series of coefficients defining the dynamical behaviour of the system for each one of said variable physical quantities, the feed-forward signal corresponding to each of said variable physical quantities being calculated in a synchronized way for all the controlled physical quantities.
17. Method according to at least claim 2, characterized by modifying said coefficients (c0(i)) during the control of said system.
18. Method according to claims 12 and 17, characterized by varying said coefficients as a function of the geometrical configuration of said controlled system.
19. Method according to claim 18, characterized in that:
> for each one of the physical quantities to be controlled, a plurality of series of coefficients (coijk(i); i, j, k = 1, 2, 3) is provided, describing the dynamical behaviour of the controlled system, the coefficients of each series being calculated on the basis of the dynamical behaviour of the controlled system in a corresponding different geometrical configuration of said system;
> and in each instant the feed-forward signal (vf(t)) is calculated by combining the coefficients of said series, as a function of the instantaneous geometrical configuration of the controlled system.
20. Method according to claim 18 or 19, characterized in that said geometrical configuration is defined by a plurality of coordinates defining the position of a mechanical part.
21. Method according to one or more of claims 17 to 20, characterized by measuring the signal (rf(t)) at the input of said actuator and the real value (Qm(t)) of said variable physical quantity, to calculate the dynamical response of the system to said signal (r^t)) at the input of the actuator, and updating on-line said coefficients (c0(i)) as a function of the dynamical response of the system.
22. Method according to claim 21 , characterized in that said coefficients are updated by combining each other, through an updating factor (kx), the coefficients of two subsequent series of coefficients (co0(i); c01(i)).
23. Method according to claim 22, characterized in that two subsequent series of coefficients are combined according to the equation: cox(i) = kx*c01(i) + (1-kx)*co0(i) (i = 0 ... m-1) where cox(i) are the updated coefficients co0(i) are the coefficients of a first series c01(i) are the coefficients of a second series serie kx is an updating factor m is the total number of coefficients.
24. Method according to claim 23, characterized in that the updating factor (kx) is lower than 0.5 and preferably lower than 0.2.
25. Method according to one or more of the preceding claims, characterized in that said coefficients (c0(i)) are calculated through solving a system of linear equations where said coefficients (c0(i)) are the unknowns to be calculated and the known terms are defined by the input signals ( (i)) to said actuator and by the real values (Qm(t)) of the physical quantity or of a time -derivative (vm(t)) Thereof.
26. Method according to claim 25, characterized in that the known terms of said linear equations system are calculated by recording the behaviour of the controlled system to a test variation of the variable physical quantity.
27. Method according to claim 26, characterized by transforming said linear system in a system having a number of equations equal to the number of said coefficients (c0(i)) and by calculating the optimal solution of this linear equations system through the least squares method.
28. Method according to claim 26 or 27, characterized by solving said linear equations system through a modified Gram-Schmidt algorithm.
29. Method according to one or more of claims 25 to 28, characterized by imposing a limit to the maximum value of each one of said coefficients (c0(i)).
30. Method according at least to claim 27, characterized by minimizing, through the least squares method, the sum between the norm of the error and the norm of the coefficients (c0(i)) multiplied by a suitable factor (α).
31. Method according to one or more of the preceding claims, characterized in that:
> said variable physical quantity is a position of a controlled mechanical member;
> a real position value (Qr(t)) of an element connected to said controlled mechanical member is measured;
> an accelerometric position (Qa(t)) is calculated, starting from an acceleration of said controlled mechanical member; > said accelerometric position (Qa(t)) and said real position value (Qr(t)) are combined through a summing filter (A4) to obtain said real value (Qm(t)) of said variable physical quantity.
32. Method according to at least claims 2 and 31 , characterized in that said coefficients (c0(i)) are obtained keeping into account said accelerometric position (Qa(t)) in the definition of the dynamical behaviour of said controlled system.
33. A computer program, stored on a memory support readable by an electronic computer, said program implementing a method according to one or more of the preceding claims.
34. A computer readable memory support, said memory support containing a program that, executed on said electronic computer, implements a method according to one or more of claims 1 to 31.
35. A control unit for a controlled system, said system having at least one variable physical quantity, characterized in that said control unit contains a computer program that implements a method according to one or more of claims 1 to 32.
36. A physical system comprising: at least one actuator to cause a controlled variation of a variable physical quantity; a transducer to measure the real values (Qm(t)) of said physical quantity; a control system that generates a feed-forward signal (vf(t)) to correct an error between the desired values Q,(t)) of said quantity and the relevant real values (Qm(t)) thereof; characterized in that said control system implements a method according to one or more of claims 1 to 32.
37. A controller for the automatic control of at least one variable physical quantity in a controlled system, comprising a block (F1, F2) for generating a feed-forward signal (vf(t)), that receives at its input desired values (Qj(t)) of said controlled physical quantity; and wherein said feedforward signal is supplied to an actuator (A) of said controlled system, characterized in that said feed-forward signal (vf(t)) is obtained from the behaviour, over a time interval, of the desired values (Qj(t)) of said physical quantity and of the dynamical behaviour of said controlled system.
38. Controller according to claim 37, characterized by comprising an interpolator that generates said desired values (Q;(t)) of the controlled physical quantity.
39. Controller according to claim 37 or 38, characterized in that the dynamical behaviour of said controlled system is described by at least one series of coefficients (c0(i)).
40. Controller according to claim 39, characterized in that said feedforward signal is obtained through a number (m) of coefficients (c0(i)) describing the dynamical behaviour of the controlled system equal or greater than three and preferably equal or greater than ten and even more preferably greater than thirty.
41. Controller according to the claim 39 or 40, characterized in that the number of said coefficients is such that the product of said number by one sampling time-period (tc) of the desired values (Qs(t)) of said controlled quantity of the interpolator is equal or greater than the transient of the response of the actuator (A).
42. Controller according to one or more of claims 37 to 41 , characterized in that, for each desired value of said physical quantity at a generic instant (t-R), the feed-forward signal (vf(t)) is obtained on the basis of the desired values of said physical quantity over a time-interval around said time-instant (t-R).
43. Controller according to at least claims 39 and 42, characterized in that said feed-forward signal (vt(t)) is obtained by applying the coefficients (c0(i)) of said series to the desired values (Qf(t)) of said physical quantity or of a time derivative (v,(t)) thereof over a time-window (t-R-nCOι; t-R+ncor).
44. Controller according at least to claim 39, 40, 41, 42 or 43, characterized in that said feed-forward signal (v{(t)) is obtained from the summation of the products of each of said coefficients c0(i) by a corresponding number (m) of desired values of said physical quantity (Qj(t)) or of a time derivative (Vj(t)) thereof.
45. Controller according to claim 44, characterized in that: > said physical quantity is a position of a mechanical member; > said actuator is velocity-controlled (η(t));
> and said feed-forward signal (vf(t)) is obtained from the summation of the products of each one of said coefficients (c0(i)) by a corresponding value of velocity (Vj(t)) obtained by the desired values (Qj(t)) of said position.
46. Controller according to one or more of claims 37 to 45, characterized in that the bloc that generates said feed-forward signal (vf(t)) comprises a FIR filter, whose coefficients are defined by the dynamical behaviour of the controlled system, the FIR filter being applied to a series of desired values (Qf(t)) of said physical quantity or of a time -derivative (v,(t)) thereof.
47. Controller according to one or more of claims 39 to 46, characterized in that said coefficients (c0(i)) are calculated by imposing a known test variation to said physical quantity and by recording the response of the controlled system to said test variation.
48. Controller according to claim 47, characterized by being programmed to periodically update said series of coefficients.
49. Controller according to claim 48 characterized by being programmed to:
> calculate a first series of coefficients (c01(i)) by applying to the controlled system a test variation of the variable physical quantity and by recording the response of the controlled system to said test variation;
> calculate, after a period of time, a second series of said coefficients (co2(i)) by applying to the controlled system a further test variation of the variable physical quantity and by recording the response of the controlled system to said test variation;
> combine said first and said second series of coefficients through an updating factor (kx) to obtain a series of updated coefficients (cox(i)), said series of updated coefficient being used to calculate said feed-forward signal until a subsequent updating of the coefficients.
50. Controller according to claim 49, characterized in that the coefficients of the series of updated coefficients is given by the equation: cox(i) = kx*c01(i) + (1-kx)*co0(i) (i = 0 ... m-1) where co0(i) are the coefficients of the first series c01(i) are the coefficients of the second series kx is an updating factor comprised between 0 and 1 m is the total number of coefficients.
51. Controller according to one or more of claims 37 to 50, characterized by comprising a feedback loop that furnishes an error signal (re(t)) which is a function of the difference between the real value (Qm(t)) of the physical quantity and the desired value (Qj(t)) of said physical quantity, and a summing device where said feed-forward signal (vf(t)) is added to said error signal, the sum ( (t)) of said two signals constituting a reference for said actuator.
52. Controller according to one or more of claims 37 to 51 , characterized in that it automatically controls at least two variable physical quantities, and generates for each said variable physical quantities a feedforward signal calculated in an independent way with respect to the feedforward signal of the other physical quantity or quantities.
53. Controller according to at least claims 39 and 52, characterized by having a series of coefficients defining the dynamical behaviour of the system for each said variable physical quantities, the feed-forward signal relevant to each said variable physical quantities being calculated in a synchronized way for all the controlled physical quantities.
54. Controller according to one or more of claims 39 to 53, characterized by modifying said coefficients (c0(i)) during the control of said system.
55. Controller according to claim 54, characterized by varying said coefficients as a function of the geometrical configuration of said controlled system.
56. Controller according to claim 55, characterized by: > having, for each one of the physical quantities to be controlled, a plurality of series of coefficients (coijk(i); i, j, k = 1 , 2, 3) describing the dynamical behaviour of the controlled system, the coefficients of each series being calculated on the basis of the dynamical behaviour of the system in a corresponding different geometrical configuration of said system; > and calculating at each instant the feed-forward signal (vf(t)) by combining the coefficients of said series as a function of the istantaneous geometrical configuration of the controlled system.
57. Controller according to claim 55 or 56, characterized in that said geometrical configuration is defined by a plurality of coordinates defining the position of a mechanical member.
58. Controller according to at least claim 54, characterized by measuring the signal ( (t)) at the input of said actuator A and the real value
(Qm(t)) of said variable physical quantity, to calculate the dynamical response of the system to said signal (r^t)) at the input of the actuator, and by updating on-line said coefficients (c0(i)) as a function of the dynamical response of the system.
59. Controller according to claim 58, characterized in that said coefficients are updated by combining, through an updating factor (kx), the coefficients of two subsequent series of coefficients (co0(i); c01 (i)).
60. Controller according to claim 59, characterized in that two subsequent series of coefficients are combined according to the equation cox(i) = kx*co1(i) + (1-kx)*co0(i) 0 = 0 ... m-1) where cox(i) are the updated coefficients co0(i) are the coefficients of a first series c01(i) are the coefficients of a second series kx is an updating factor m is the total number of coefficients.
61. Controller according to claim 60, characterized in that the updating factor (kx) is lower than 0.5 and preferably lower than 0.2.
62. Controller according to one or more of claims 39 to 61 , characterized by calculating said coefficients (c0(i)) through the solution of a system of linear equations where said coefficients (c0(i)) are the unknowns to be calculated and the known terms are defined by the input signals (r,(i)) to said actuator and by the real values (Qm(t)) of the physical quantity or of a time derivative (vm(t)) thereof.
63. Controller according to claim 62, characterized by calculating the known terms of said system of linear equations by recording the behaviour of the controlled system to a test variation of the variable physical quantity.
64. Controller according to claim 63, characterized by transforming said linear system in a system having a number of equations equal to the number of said coefficients (c0(i)) and by calculating the optimal solution of this linear equations system through the least squares method.
65. Controller according to claim 63 or 64, characterized by solving said linear equations system through a modified Gram-Schmidt algorithm.
66. Controller according to one or more of claims 62 to 65, characterized by imposing a limit to the maximum value of each one of these coefficients (c0(i)).
67. Controller according at least to claim 64, characterized by minimizing, through the least squares method, the sum between the norm of the error and the norm of the coefficients (c0(i)) multiplied by a suitable factor
68. Controller according to one or more of claims 37 to 67, characterized in that:
> said variable physical quantity is a position of a controlled mechanical member;
> a real position value (Qr(t)) of an element connected to said controlled mechanical member is measured; > an acceleration (Qa(t)) of said controlled mechanical member is measured;
> said acceleration (Qa(t)) and said real position value (Qr(t)) are combined through a summing filter (A4) to obtain said real value (Qm(t)) of said variable physical quantity.
69. Controller according to at least claim 68, characterized in that said coefficients (c0(i)) are obtained keeping into account said acceleration (Qa(t)) in the definition of the dynamical behaviour of said controlled system.
70. A numerically controlled machine, comprising at least a mechanical member mobile along at least one numerically controlled axis, an electronic computer to have said moving mechanical member execute motions according to a working program along said at least one numerically controlled axis, and a controller according to one or more of claims 37 to 69.
71. Machine according to claim 70, characterized in that said mechanical member is mobile along a plurality of numerically controlled axes.
72. Machine according to the claim 70 or 71 , characterized by comprising a plurality of mechanical members, each one mobile along at least one axis numerically controlled.
PCT/IT2003/000087 2003-02-18 2003-02-18 Method and device for controlling a physical quantity having a programmed variation with a feed-forward control WO2004074951A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/IT2003/000087 WO2004074951A1 (en) 2003-02-18 2003-02-18 Method and device for controlling a physical quantity having a programmed variation with a feed-forward control
AU2003219514A AU2003219514A1 (en) 2003-02-18 2003-02-18 Method and device for controlling a physical quantity having a programmed variation with a feed-forward control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IT2003/000087 WO2004074951A1 (en) 2003-02-18 2003-02-18 Method and device for controlling a physical quantity having a programmed variation with a feed-forward control

Publications (1)

Publication Number Publication Date
WO2004074951A1 true WO2004074951A1 (en) 2004-09-02

Family

ID=32894093

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IT2003/000087 WO2004074951A1 (en) 2003-02-18 2003-02-18 Method and device for controlling a physical quantity having a programmed variation with a feed-forward control

Country Status (2)

Country Link
AU (1) AU2003219514A1 (en)
WO (1) WO2004074951A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1962157A3 (en) * 2007-02-15 2009-09-02 ASML Netherlands BV Lithographic apparatus and semiconductor device manufacturing method
US7818073B2 (en) * 2006-04-20 2010-10-19 Asml Netherlands B.V. Method for obtaining improved feedforward data, a lithographic apparatus for carrying out the method and a device manufacturing method
EP3355140A1 (en) * 2017-01-25 2018-08-01 Omron Corporation Control device, control program and control system
CN111590568A (en) * 2020-05-14 2020-08-28 平安科技(深圳)有限公司 Robot arm signal processing method and device, computer equipment and storage medium
CN113238478A (en) * 2021-05-14 2021-08-10 武汉工程大学 Feedforward and closed-loop composite control method for moisture of sintering mixture
CN114779633A (en) * 2022-04-06 2022-07-22 武汉理工大学 General fractional order multi-period repetitive controller design method and controller

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0553356A1 (en) * 1991-04-24 1993-08-04 Fanuc Ltd. Method and apparatus for prediction repetition control of servo motor
EP0587897A1 (en) * 1992-03-31 1994-03-23 Kabushiki Kaisha Yaskawa Denki Prediction control apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0553356A1 (en) * 1991-04-24 1993-08-04 Fanuc Ltd. Method and apparatus for prediction repetition control of servo motor
EP0587897A1 (en) * 1992-03-31 1994-03-23 Kabushiki Kaisha Yaskawa Denki Prediction control apparatus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HEISS M: "INVERSE PASSIVE LEARNING OF AN INPUT-OUTPUT-MAP THROUGH UPDATE-SPLINE-SMOOTHING", PROCEEDINGS OF THE AMERICAN CONTROL CONFERENCE (ACC). CHICAGO, JUNE 24 - 26, 1992, NEW YORK, IEEE, US, vol. 3, 24 June 1992 (1992-06-24), pages 2320 - 2325, XP000343727, ISBN: 0-7803-0210-9 *
SCHNEIDER J G ET AL: "Task level training signals for learning controllers", INTELLIGENT CONTROL, 1994., PROCEEDINGS OF THE 1994 IEEE INTERNATIONAL SYMPOSIUM ON COLUMBUS, OH, USA 16-18 AUG. 1994, NEW YORK, NY, USA,IEEE, 16 August 1994 (1994-08-16), pages 45 - 50, XP010126494, ISBN: 0-7803-1990-7 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818073B2 (en) * 2006-04-20 2010-10-19 Asml Netherlands B.V. Method for obtaining improved feedforward data, a lithographic apparatus for carrying out the method and a device manufacturing method
EP1962157A3 (en) * 2007-02-15 2009-09-02 ASML Netherlands BV Lithographic apparatus and semiconductor device manufacturing method
US8014881B2 (en) 2007-02-15 2011-09-06 Asml Netherlands B.V. Lithographic apparatus and device manufacturing method
EP3355140A1 (en) * 2017-01-25 2018-08-01 Omron Corporation Control device, control program and control system
JP2018120399A (en) * 2017-01-25 2018-08-02 オムロン株式会社 Control device, control program and control system
US10656616B2 (en) 2017-01-25 2020-05-19 Omron Corporation Control device, control system, and recording medium
CN111590568A (en) * 2020-05-14 2020-08-28 平安科技(深圳)有限公司 Robot arm signal processing method and device, computer equipment and storage medium
CN111590568B (en) * 2020-05-14 2023-05-16 平安科技(深圳)有限公司 Method and device for processing signals of robot arm, computer equipment and storage medium
CN113238478A (en) * 2021-05-14 2021-08-10 武汉工程大学 Feedforward and closed-loop composite control method for moisture of sintering mixture
CN113238478B (en) * 2021-05-14 2022-07-19 武汉工程大学 Feedforward and closed-loop composite control method for moisture of sintering mixture
CN114779633A (en) * 2022-04-06 2022-07-22 武汉理工大学 General fractional order multi-period repetitive controller design method and controller

Also Published As

Publication number Publication date
AU2003219514A1 (en) 2004-09-09

Similar Documents

Publication Publication Date Title
Atkeson et al. Robot trajectory learning through practice
US5952804A (en) Servo control method and servo control system for feed drive system
Khorrami et al. Experiments on rigid body-based controllers with input preshaping for a two-link flexible manipulator
Gautier Dynamic identification of robots with power model
US5442270A (en) Adaptive sliding mode control method for object of control including spring system
JP3703664B2 (en) Backlash correction device
Wells et al. Feedforward and feedback control of a flexible robotic arm
Cho et al. Neural network position tracking control of an inverted pendulum an XY table robot
Finney et al. A pole-assignment controller for an electrohydraulic cylinder drive
Nemani et al. Multi-rate analysis and design of visual feedback digital servo-control system
WO2004074951A1 (en) Method and device for controlling a physical quantity having a programmed variation with a feed-forward control
Jones et al. Control input shaping for coordinate measuring machines
US5532565A (en) Controller
Lee et al. An approach of adaptive control for robot manipulators
CN111052003B (en) Control device
Chen Frequency response of discrete-time robot systems--Limitations of PD controllers and improvements by lag-lead compensation
Youcef-Toumi Analysis, design and control of direct-drive manipulators
Neuman et al. Robust discrete nonlinear feedback control for robotic manipulators
JPH05216540A (en) Control system for servo motor
Chang et al. An evaluation of several controller synthesis methodologies using a rotating flexible beam as a test bed
JP2003157114A (en) Method and device for lost motion correction
De Luca et al. Robust hybrid dynamic control of robot arms
Berninger et al. The influence of structural dynamics on cascaded joint position control of a flexible beam with a compliant gear
JP3200496B2 (en) Articulated robot controller
CN118011957B (en) Model-based numerical control machine tool iterative learning error compensation control system and method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP