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
- 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
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.
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 v
m(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) = v
m(t - R - n
∞l + i +j) the unknowns vector, with m rows (i from 0 to m-1)
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.