Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
OPTIMAL ARBITRARY TIME-DELAY (OAT) FILTER AND METHOD TO MINIMIZE UNWANTED SYSTEM DYNAMICS
Document Type and Number:
WIPO Patent Application WO/1997/043701
Kind Code:
A1
Abstract:
Disclosed is an optimal arbitrary time-delay (OAT) filter to shape input signals by which a controlled motion is actuated in a physical system. The filter minimizes unwanted dynamics from being created by the actuation of the controlled movement in the physical system. The filter generally comprises three coefficients which are multiplied by the discrete samples of the input signal in a digital filter performing a convolution function. The samples multiplied by the three coefficients are separated by an arbitrary time delay. In this manner, three separate signals are generated. The results of these multiplication operations are summed in real time, thereby generating a filtered input signal which is sent to actuate the controlled motion of the physical system with minimal unwanted dynamics.

Inventors:
MAGEE DAVID PATRICK
BOOK WAYNE J
Application Number:
PCT/US1997/005589
Publication Date:
November 20, 1997
Filing Date:
April 03, 1997
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GEORGIA TECH RES INST (US)
International Classes:
G05B5/01; G05B13/02; G05B13/04; (IPC1-7): G05B13/00; G05B13/02
Foreign References:
US5638267A1997-06-10
US5623402A1997-04-22
US5371451A1994-12-06
US5248922A1993-09-28
US4991107A1991-02-05
US4916635A1990-04-10
US4864206A1989-09-05
Download PDF:
Claims:
CLAIMS
1. Therefore, the following is claimed: A physical system for performing controlled motion, comprising: an actuator, said actuator being adapted to cause said controlled motion in response to a motion signal; a computer control system, said computer control system generating said motion signal based on a desired motion signal, said computer control system electrically communicating said motion signal to said actuator, wherein said motion signal is equal to the summation of three calculated signals, each calculated signal being a function of said desired motion signal and, said calculated signals being separated by an arbitrary time delay greater than zero, said motion signal adjusted to minimize unwanted dynamics in the physical system response .
2. The physical system of claim 1, wherein each of said three calculated signals is a function of a respective coefficient, said coefficients being derived from the optimization of a cost function that defines said unwanted dynamics of said physical system response as a function of an instantaneous position error and an instantaneous velocity error.
3. The physical system of claim 2, wherein: said motion signal is defined as y(t), said desired motion signal is defined as u(t), and said coefficients are defined by Ci, C2 and C3, respectively, and said summation is defined as y(t) + Cιu(t T) + du(t 2T) where u (t) , u(t T) , and u{t 2T) represent the timedelayed signal inputs of said desired motion signal u(t), t is time, and T is said arbitrary time delay greater than 0.
4. The physical system of claim 2, wherein said cost function is in the form J(t) = \ eτ{t) Wλ e(t) + j er{t) W2 έ(t) , wherein said instantaneous position error is equal to e(t) , and said instantaneous velocity error is equal to e(t) , and W\ and W2 are weighting matrices.
5. The physical system of claim 3, wherein said three coefficients C2 and C3, respectively are further defined for a single mode of vibration, wherein e'2ζωJ and C3 : M ' where M is a scaling factor, ωn is the natural frequency of said physical system and ζ is the damping ratio of said physical system.
6. The physical system of claim 1, wherein said actuator causes said controlled motion by manipulating a medium selected from the group consisting of pressurized fluid, pressurized gas, piezoelectric actuation, electromagnetism, and combustion.
7. The physical system of claim 1, wherein said controlled motion is selected from the group consisting of linear movement, rotational movement, pivotal movement, and orbital movement.
8. The physical system of claim 1, wherein said computer control system further comprises a digital logic circuit.
9. The physical system of claim 1, wherein multiple modes of unwanted dynamics in said physical system are minimized by performing multiple said summations, each said summation to eliminate a specific mode of unwanted dynamics.
10. The physical system of claim 5, wherein ωn and ζ are determined by creating a test movement in said physical system and measuring the magnitude of said unwanted dynamics in said physical system in response to said test movement.
11. The physical system of claim 5, wherein ωn and^ are determined by mathematical derivation based on the physical characteristics of said physical system. The physical system of claim 8, wherein said digital logic circuit further comprises a microprocessor. A physical system for performing controlled motion, comprising a first means for actuating said controlled motion in response to a motion signal; a second means for generating said motion signal based on a desired motion signal and, said second means electrically communicating said motion signal to said actuator, wherein said motion signal being equal to the summation of three calculated signals, each calculated signal being a function of said desired motion signal and, said calculated signals being separated by an arbitrary time delay of greater than zero, said motion signal for minimizing unwanted dynamics in the physical system response. The physical system of claim 13 , wherein each of said three calculated signals is a function of a respective coefficient, said coefficients being derived from the optimization of a cost function that defines said unwanted dynamics of said physical system response as a function of an instantaneous position error and an instantaneous velocity error.
12. The physical system of claim 14, wherein: said motion signal is defined'as y(t), said desired motion signal is defined as u(t), and said coefficients are defined by G, C2 and C3, respectively, and said summation is defined as y(t) = du(t) + Cιu(t T) + du(t 2T) where u (t) , u(t T) , and u(t 27) represent the timedelayed signal inputs of said desired motion signal u(t), t is time, and where Tis said arbitrary time delay greater than 0.
13. The physical system of claim 14, wherein said cost function is in the form J(t) = j eτ(i) Wλ e(t) + j eτ(t) W2 e(t) , wherein said instantaneous position error is equal to e(t) , and said instantaneous velocity error is equal to e(ή , and W\ and Wj are weighting matrices.
14. The physical system of claim 15, wherein said three coefficients G, C2 and C\ respectively are further defined for a single mode of vibration, wherein 2ζωJ and C3 = M ' where M is a scaling factor, ωn is the natural frequency of said physical system and ζ is the damping ratio of said physical system.
15. The physical system of claim" 17, wherein ωn and ζ are determined by creating a test movement in said physical system and measuring the magnitude of said unwanted dynamics in said physical system in response to said test movement.
16. The physical system of claim 17, wherein ωn mάζ are determined by mathematical derivation based on the physical characteristics of said physical system.
17. The physical system of claim 13, wherein said first means actuates said controlled motion by manipulating a medium selected from the group consisting of pressurized fluid, pressurized gas, piezoelectric actuation, electricmagnetism, and combustion.
18. The physical system of claim 13, wherein said controlled motion is selected from the group consisting of linear movement, rotational movement, pivotal movement, and orbital movement.
19. The physical system of claim 13, wherein multiple modes of unwanted dynamics in said physical system are minimized by performing multiple said summations, each said summation being performed to eliminate a specific mode of unwanted dynamics. The physical system of claim 13, wherein said computer control system further comprises a digital logic circuit. The physical system of claim 23, wherein said digital logic circuit further comprises a microprocessor .
20. A digital filter operated on a digital logic circuit to minimize unwanted dynamics in a physical system response to a desired motion input, comprising a filtered motion input being equal to the summation of three calculated signals, each calculated signal being a function of said desired motion input, an arbitrary time delay, wherein said calculated signals are separated by said arbitrary time delay greater than 0, wherein said motion signal minimizes unwanted dynamics in said physical system response .
21. The digital filter of claim 25, wherein each of said three calculated signals is a function of a respective coefficient, said coefficients being derived from the optimization of a cost function that defines said unwanted dynamics of said physical system response as a function of an instantaneous position error and an instantaneous velocity error .
22. The digital filter of claim 26, wherein: said motion signal is defined as y(t), said desired motion signal is defined as u(t); and said coefficients are defined by C\, C2 and C3, respectively, and said summation is defined as y(l) + Cι u(t T) + du(t 27) where u (t) , u(t T) , and u{t 27) represent the timedelayed signal inputs of said desired motion signal u(t), t is time, and where 7 is said arbitrary time delay greater than 0.
23. The digital filter of claim 26, wherein said cost function is in the form J(t) = y eτ (t) Wx e(t) + \eτ(t) W2 e(t) , wherein said instantaneous position error is equal to e(t) , and said instantaneous velocity error is equal to e(t) , and W\ and W2 are weighting matrices.
24. The digital filter of claim 27, wherein said three coefficients G, C2 and C respectively are further defined for a single mode of vibration, wherein c ± M. 2 cos (<yn λ/l ζ2 ήeζωJ Cl = M ' and C3 = M ' where M is a scaling factor, ω„ is the natural frequency of said physical system and ζ is the damping ratio of said physical system.
25. A computer readable medium comprising a program for a digital filter to minimize unwanted dynamics in a physical system response to a desired motion input, the program comprising: logic for calculating a filtered motion input being equal to the summation of three calculated signals, each calculated signal being a function of said desired motion input; and said logic including an arbitrary timedelay, wherein said calculated signals are separated by said arbitrary timedelay greater than 0.
26. The computer readable medium of claim 30, wherein each of said three calculated signals is a function of a respective coefficient, said coefficients being derived from the optimization of a cost function that defines said unwanted dynamics of said physical system response as a function of an instantaneous position error and an instantaneous velocity error.
27. The computer readable medium of claim 30, further comprising: logic defining said motion signal as y(t), logic defining said desired motion signal as «(/); logic defining said coefficients as G, C2 and C3, respectively; and logic defining said summation as y(t) = C,u(ή + Criit T) + C,u(t 27) where u (t) , u(l T) , and u(t 27) represent the timedelayed signal inputs of said desired motion signal u(t), t is time, and where 7 is said arbitrary time delay greater than 0.
28. The computer readable medium of claim 31 , wherein said cost function is in the form J(t) = jeτ(t) Wλ e(t) + jέτ(t) W2 έ(/) , wherein said instantaneous position error is equal to e(t) , and said instantaneous velocity error is equal to e(t) , and W\ and W2 are weighting matrices.
29. The computer readable medium of claim 32, wherein said three coefficients G, C2 and d, respectively are further defined for a single mode of vibration, where where M is a scaling factor, ωn is the natural frequency of said physical system and ζ is the damping ratio of said physical system.
30. A method for generating an input to a physical system to minimize unwanted dynamics in the physical system response comprising the steps of: establishing a first expression quantifying the unwanted dynamics of said physical system, said expression defining said unwanted dynamics of said physical system response as a function of an instantaneous position error and an instantaneous velocity error; minimizing said first expression to produce a filter expression, said filter expression being a function of three coefficients and an arbitrary time delay greater than zero; filtering said input with said filter expression, producing a filtered input, and controlling said physical system based on said filtered input whereby unwanted dynamics are minimized.
31. The method of claim 35, wherein the step of establishing said first expression is performed by establishing said first expression as J(t) = jeT(t) W] e(t) + y eτ(t) W2 e(ι) , wherein said instantaneous position error is equal to e(i) , and said instantaneous velocity error is equal to e(t) , and W\ and W2 are weighting matrices.
32. The method of claim 35, wherein the step of filtering said input is performed using a filter expression further defined as y(t) = Cιu(t) + d u(t 7) + du(t 27) , where said filtered input is defined as yif), said input is defined as u(t), said coefficients are defined as G, C2 and C3, respectively, where / is time, and 7 is said arbitrary time delay greater than 0 .
33. A method for generating a filtered input to a physical system to minimize a single mode of vibration in the physical system response comprising the steps of: determining the natural frequency ωn and the damping ratio ζ of said physical system, generating a filter expression in the form as y(t) = Cu(t) + Cιu(t 7) + du(t 27) , where said filtered input is defined as yif), said input is defined as u(i), said coefficients are defined as C\, C2 and C3, respectively, / is time, 7 is said arbitrary time delay greater than 0, and G = — — , 2 cos (ωJl ζ2 ήi ζo>J 2ζω„T C2 = * , and C3 = — , where M is a scaling factor M M generating said filtered input by filtering an unfiltered input with said filter expression; and controlling said physical system based on said filtered input whereby said single mode of vibration is minimized.
34. A method for generating a filtered input to a physical system to minimize multiple modes of vibration in the physical system response comprising the steps of: determining the natural frequency ωn and the damping ratio ζ of each mode of vibration of said physical system; generating multiple filter expressions for each mode of vibration, said filter expressions being in the form as y(t) Cιu(l) + G M(/ 7) + du(t 27) , where said filtered input is defined as >(/), said input is defined as u(t), said coefficients are defined as G, C2 and C3, respectively, / is time, 7 is said arbitrary time delay greater than 0, and G where M is a scaling factor. generating said filtered input by filtering an unfiltered input with said multiple filter expressions, wherein input signal is processed by each filter expression in succession; and controlling said physical system based on said filtered input whereby said multiple modes of vibration is minimized.
35. A method for generating an input to a physical system to minimize unwanted dynamics in the physical system response comprising the steps of: generating said input; convolving said input with a filter comprising three coefficients and an arbitrary time delay, thereby generating a filtered input; and controlling said physical system based on said filtered input.
Description:
OPTIMAL ARBITRARY TIME-DELAY (OAT) FILTER AND METHOD TO MINIMIZE UNWANTED SYSTEM DYNAMICS

The subject matter of this document claims priority to co-pending and

commonly assigned U.S. provisional patent application entitled, "Optimal Filtering of

Inputs to Minimize Unwanted System Dynamics," filed May 15, 1996 and accorded

serial no. 60/017745. The foregoing document is incorporated herein by reference.

FIELD OF THE INVENTION

The present invention generally relates to the field of control of mechanical systems and, more particularly, to control systems employing digital filters to minimize unwanted dynamics in a physical system with controlled motion.

BACKGROUND OF THE INVENTION

Manufacturing processes which involve the manipulation of mechanical systems are being performed with ever increasing speed. This trend is due in large part to the

advent of high speed electronic control systems. Many of these mechanical systems

require precision control of position or other aspects ofthe operation. For example, an

actuator in a robotic device may create a controlled movement or other action whereby a task is accomplished. Oftentimes there may be several tasks that are completed in rapid succession.

In performing such tasks, it is often the case that the controlled motion will be

imperfect in so far that it does not match the motion that was desired due to physical

realities extant in each situation. For example, a robot arm might move from one

position to a target position, but will not come to rest immediately at the target

position. A vibration may occur as the arm flexes when attempting to stop and

overshoots the target position, oscillating until it finally comes to rest. In such

situation, the actuator will in reality create imperfection in the motion.

This unwanted motion or unwanted dynamics may hinder high speed production or create problems in the operation of machines. For example, unwanted

dynamics created by actuators on a system in response to a control command will

cause a loss in manufacturing time as the system may be required to wait until

unwanted vibration or other dynamics settle. This is commonly referred to as "settling time." In the case of manufacturing processes, unwanted movement may cause inaccuracies that translate into quality control problems Also, inaccuracies in

controlled movements may result in unnecessary wear and tear on equipment.

Consequently, there is a need for control systems that will actuate controlled motions in a manner in which unwanted dynamics are minimized or eliminated.

SUMMARY OF THE INVENTION

In response to the need as outlined above, there is disclosed a method and apparatus for filtering a control signal to minimize unwanted dynamics. The filter itself

is labeled an optimal arbitrary time-delay (OAT) filter after its essential characteristics.

In the preferred embodiment, unwanted dynamics in a physical system are

minimized by filtering the system input. The filter which is executed on a computer control system creates a filtered input that is equal to the summation of calculated

signals which are a function ofthe system input and filter coefficients. The three or

more calculated signals are separated by an arbitrary time-delay that is greater than

zero. Each filter will minimize a single mode of vibration in the dynamic system.

Consequently, for a system with multiple modes of vibration which must be addressed,

multiple filters are used, each filter designed to minimize a single mode of vibration.

The coefficients employed are derived from the optimization of a cost function

that defines the unwanted dynamics ofthe physical system response as a function of an

instantaneous position error and an instantaneous velocity error.

The present invention is easily applied to single and multiple modes of unwanted dynamics or vibration. A single filter will address a single mode. In the case

of multiple modes, single mode filters are cascaded together in series where the system

input will be processed by each single mode filter suceesively, ultimately generating an output. The number of single mode filters employed in this manner equals the number of modes of unwanted movement to be minimized.

The present invention can also be conceptualized as providing a method for

generating an input to a physical system to minimize unwanted dynamics in the physical system response. In this regard, the method can be broadly summarized as follows: establishing a first expression quantifying the unwanted dynamics in terms of

an instantaneous position and velocity error, minimizing the expression to produce a

filter expression by which a filtered input is generated which is a function of filtert coefficients and an arbitrary time-delay greater than zero, and controlling a physical system based on the filtered input.

The advantages ofthe present invention include an arbitrary time delay which

allows the user to cater the response ofthe filter to the given application and makes the

overall filter much easier to implement. Also, the invention is very easy to implement on existing computer control systems without the addition of hardware.

Other advantages include the decrease in unwanted dynamics in the physical

system controlled. Specifically, long term wear and tear experienced due to long term

vibration or unwanted movement is reduced. Also, processes requiring precision placement of parts can be made more accurate and efficient due to the reduced settling

time for physical components.

Other features and advantages ofthe present invention will become apparent to

one with skill in the art upon examination ofthe following drawings and detailed description. It is intended that all such additional features and advantages be included herein within the scope ofthe present invention, as defined by the claims.

BRIEF DESCRIPTION OF THE DRAWINGS The invention can be better understood with reference to the following

drawings. The components in the drawings are not necessarily to scale, emphasis

instead being placed upon clearly illustrating principles ofthe present invention. In the

drawings, like reference numerals designate corresponding parts throughout the several

views.

Fig. IA is a theoretical block diagram of an optimal arbitrary time-delay (OAT)

filter ofthe invention;

Fig. IB is a block diagram ofthe OAT filter of Fig. IA with added features to

derive a cost function;

Fig. 2 is a graphical depiction of an unfiltered impulse response of a second

order physical system;

Fig. 3 is a graphical depiction showing both an unfiltered response and a

filtered response of a second order physical system,

Fig. 4 is a block diagram of cascaded OAT filters of Fig. IA to address

multiple modes of vibration,

Fig. 5 is a schematic of a physical system and control system ofthe first

embodiment ofthe invention,

Fig. 6 is a flow diagram ofthe software that operates on the control system of

Fig. 5,

Fig. 7 is a graphical depiction ofthe method employed in the first embodiment to accomplish the filtering operation of Fig. 6,

Fig. 8 is a graphical depiction of a second method by which to accomplish the

filtering operation of Fig. 6,

Fig. 9 is a drawing ofthe physical system ofthe second embodiment ofthe invention,

Fig. 10 is a block diagram of a control configuration employed in the first

embodiment,

Fig. 11 is a block diagram of a first alternative control configuration in which the OAT filter may be employed, and

Fig. 12 is a block diagram of a second alternative control configuration in which the OAT filter may be employed

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

For the purposes of theoretical development in the discussion that follows. Fig.

IA shows a first block diagram 25 of the optimal arbitrary time-delay (OAT) filter 30.

The input signal τ m (t) is processed by filter 30 with impulse response βf) producing

filtered input τ m (t) which is sent to the controlled system 35 where t is defined as

continuous time. The vibration v(t), results from actuation in response to the filtered

input τ m (t) . The input vector τ m (t) is made up of any number of distinct

inputs f (/) , the i" 1 physical input to the controlled system 35 such as a hydraulic

actuator or other type of actuation. Likewise, the filtered input vector τ n (r) is a signal

which is made up of any number of distinct filtered inputs τ^ (t) .

In order to derive an expression to define the filter 30 with impulse response

βf), a mathematical relationship is developed between the original input τ m (t) and the

vibration v(/). To accomplish this, the first step is to determine the mathematical

relationship between the input τ m {i) and the filtered input τ m (t) . The function for the

/ ' " * input to the system in terms ofthe response ofthe filter to an impulse input δ(t) is

specified as

(1.0) ftf = Σ /=0 /A t -J T ) with /» = l l ≤ ' ≤ w

where / is the j lh coefficient for the / •ti'l input filter, δ(t) is a Dirac delta function,

7^ is an arbitrary time-delay value for the i' h input filter, and p, + \ is the number of

filter coefficients for the i' h input filter. The T, can be chosen as integer multiples of

the digital sampling period of a discrete computer, for applications in which this filter is

implemented in a digital computing environment such as a digital filter, the creation of

which is known to those skilled in the art.

The mathematical relationship between the distinct inputs f (t) and the

distinct filtered inputs 7 (t) is created through the convolution of each distinct

input τ^ (/) with its own filter /{/). Thus the distinct filtered inputs τ^ (t) are

expressed as

which can be interpreted as a sum of time-delayed inputs scaled by each filter

coefficient.

Next, the elastic response ofthe controlled system x e (t) is determined. This

response is expressed in the general equation

£.(ή = ≠ (t,t 0 )£.(t 0 ) + f ' φ (t,ε)B. τ m (s) dε (3.0)

where φ (t,t 0 ) is the state transition matrix of the elastic system. The vector x e (t)

can be written in terms of v(/) where x (t) and B. is defined as the

weighting matrix of the input τ m (ε) on the rate of change of the response x e {t) ,

where ε is defined as the integration variable with units of time.

To gain the desired elastic response from the filtered input τ m (t), equation

(2.0) is substituted in as the input in equation (3.0). The filtered elastic state response becomes

∑ / ιy ^ (ε - j T x )

; = 0

Xt) = φ (t, t 0 ) x e (t 0 ) + l t ' φ (t, ε)B e dε (4.0)

in which the filtered elastic state response ofthe system x e (t) is expressed in terms of

the unknown filter coefficients f v .

Optimization of Unknown Coefficients Now that a general equation that represents the filtered elastic state

response x e (t) ofthe system to an input τ m (t) has been ascertained, the filter design

process is specified.

In the filter development process, a cost function must be specified. A cost

function is defined in this design process as an expression which describes the penalty realized due to the error in an elastic response to an input. The filter is designed through the optimization ofthe cost function by minimizing it with respect to the filter

coefficients.

Several different cost function candidates are the mean square value ofthe error in the system states, the absolute value ofthe error in the system states, and the

integral ofthe mean square value ofthe error in the system states which are expressions generally understood by those skilled in the art.

For purposes of discussion relating to the development ofthe cost function of

the preferred embodiment, Fig. IB, shows a second block diagram 37 ofthe input

signal τ m (t) , filter^/) 30, filtered input τ m (t) , controlled system 35, and the vibration

v(t) as shown in Fig. IA. Also shown is the desired vibration d(t), which is equated to

zero, from which the actual vibration v(t) is subtracted resulting in the vibration error

e(i), which can also be thought of as the position error in terms of time t. Thus the

velocity error in terms of time is the derivative of e(f) with respect to time and is

denoted e(t) .

In the preferred embodiment, the cost function denoted J(t), is specified to be an expression using both the error signal e(t) and the time rate of change in the error

signal e(t) and is specified as

j(ή = W(t) W l e(t) + U T (t) W 2 έ(t) ( 5 °)

where W χ and W 2 are positive definite, symmetric weighting matrices for the errors in

position and velocity, respectively.

By writing the desired movement d(t) in the vector form

d e {t) (6.0)

the cost function can be written in terms ofthe state vectors as

where the general weighting matrix Wis ofthe form

with the appropriate units. Substituting equation 4.0 for x e (t) in equation 7.0, the cost function can be

written as

which is an explicit function ofthe unknown filter coefficients f tJ . Since the number of

filter coefficients and the time-delay values are not necessarily the same for each filter,

the cost function can only be minimized after the last input is given (i.e. t > p k - T k ).

The minimization ofthe cost function above reveals a closed form solution for

the optimal filter coefficients. This solution is not limited by the number of resonances in the system and it minimizes the vibration level defined by the specified cost function

The solution is also optimal regardless ofthe time-delay values 7] , which are greater

than zero, that were defined in the general filter form 1.0. The time-delay values T, are

then adjusted to cater the response ofthe controlled system and to achieve an exact

representation ofthe filtering algorithm in a discrete-time control system.

To demonstrate a practical application ofthe preferred embodiment, consider a single mode of vibration that can be modeled by the second-order differential equation:

mv{t) + bv(t) + kv(t) = k u(t) 0° °)

where u(t) is a displacement input. This equation can be rewritten in terms of the

natural frequency, ω n , and the damping ratio, ζ , ofthe vibration as

v(t) + 2ζω„ v(t) + ω n 2 v(ή = ω„ 2 u(ή ( 1 1 0 )

where ω„

It is noted that the Laplace transform this differential equation can be written as

a transfer function, H(s) , in the form

where 5 is a complex variable. The poles of the transfer function (roots of the

denominator) describe the characteristic behavior ofthe vibration and are located at

s- ζω , ± ja ,^c (,3 0)

for lightly damped vibrations.

Now, an optimal filter is designed for a single mode of vibration using the outlined procedure. The general form of the optimal filter is defined by the impulse

response

where M = 1 - 2 cos (α> /l - ζ 2 T\e 'ζω " τ + e ~2ζω - τ . Note that M is introduced as a

scaling factor calculated to yield the same net motion from the filtered input τ m as

would have been achieved with the unfiltered input τ m There are other values of M

as known to those skilled in the art. Note then, that the transfer function, F opl (s) , of

the filter becomes

Although this equation appears rather involved, the characteristics of the filter

can be determined from the zeros ofthe transfer function. They are located at

s

The first observation to be made is that the filtering algorithm places zeros at the pole locations of the oscillatory system. This pole-zero overlap will cancel any

vibration produced by the resonant poles ofthe system. The second observation is that the filtering algorithm performs the pole-zero cancellation regardless of the time-delay

value T .

Thus for a single mode vibration, the filter coefficients — ,

, respectively, where M is a scaling factor

equal to 1 - 2 cos iω„φ - ζ 2 τ\e ~ζω " τ + e ~2ζωJ . It has been discovered that more

coefficients will produce no more improvement of the cost function J(t), which has theoretically reached the lowest possible value for a second order system.

These coefficients may be implemented in a digital environment in a digital

filter. Such a digital filter would perform the filter function represented by equation

14.0 as will be described in the first embodiment.

The elimination of a single mode vibration is shown graphically in Figs. 2 and

3. Consider the impulse response for a single mode of vibration with parameters ζ=

0.1 and ω„ = 3π rad/s. Since an impulse is the input, the system impulse response 51

will be as shown in Fig. 2. However, if a filtered impulse input is given instead, the response can be interpreted as a summation of time-delayed impulse responses that are

scaled by the filter coefficients. Fig. 3 shows a plot of both the unfiltered system

response 51 as well as each ofthe individual time-delayed impulse responses 53, 56 and 59 and the summation or net response 62. Note that the vibration net response 62

is zero after a period of 2 T seconds as this is when the last filter term is applied.

Multiple Mode Vibrations

Turning to Fig. 4, shown is a third block diagram of multiple OAT filters 30

(Fig. IA) It has been discovered that the OAT filter 30 (Fig. IA) ofthe present

invention is easily adapted to address multiple modes of vibration. When an input

creates more than a single mode of vibration in a dynamic system, the different modes

can be minimized if the input is filtered for each mode. Specifically, if the filter

coefficients are determined by the method outlined above using a set of dynamic equations of motion for two or more modes of vibration, then the resulting filter

equation/ (t) will be equal to the convolution ofthe individual filters for each mode of

vibration. Thus, the OAT filter 30 (Fig. IA) ofthe present invention is easily applied

to complex systems with multiple modes of vibration. The unfiltered input 71 need

only be fed into the first OAT filter /(/) 73 which will eliminate the first mode of

vibration. The first output 75 is then fed into second OAT filter/ 2 (/) 77 to minimize

the second mode of vibration and so on for each mode of vibration until the final OAT

filter /„(/) 79, from which emerges the filtered input 81.

First Physical Embodiment ofthe Invention

Turning to Fig. 5, shown is a first physical embodiment ofthe invention Illustrated is the mechanical arm system 100 with base 103, first member 106, and

second member 109. The first member 106 is pivotally connected to the base 103 by

the base hinge 112 and first member 106 is pivotally connected to second member 109

by elbow hinge 115. Mechanical arm system 100 features a first hydraulic actuator

118 and a second hydraulic actuator 121. The first hydraulic actuator 118 is pivotally

connected to the base 103 and first member 106 and will cause first member to pivot in

an upward or downward in an arc-like motion when it is extended or retracted.

The second hydraulic actuator is pivotally connected to the first member 106

and to one end ofthe actuator extension member 124. The remaining end of actuator

extension member 124 is pivotally connected to the second member 109. The actuator

extension member is also held by first extension guide 127 and the second extension

member guide 131. One end ofthe first extension guide 127 is pivotally connected to

the same end ofthe actuator extension member 124 at which the second actuator 121

is connected. One end ofthe second extension member guide 131 is pivotally

connected to the middle ofthe actuator extension member 124, while the other end is

pivotally connected to the first member 106 ofthe mechanical arm system 100. When the second hydraulic actuator 121 is extended or retracted, it will cause the second

member 109 ofthe mechanical arm system 100 to move back and forth in an arc-like

motion centered at the elbow hinge 115.

The mechanical arm system 100 is controlled by computer 135, on which

control software 139 including the OAT filter 30 operates. In the first embodiment,

computer 135 is a standard personal computer with a standard microprocessor known

to those skilled in the art. The computer 135 can also be a digital signal processor

(DSP) or other suitable logic device with the capability of performing the calculations necessary in the first embodiment.

Computer 135 is electrically connected to the amplifier 143 via the

communications cable 141. The communications wire may be any type of electrical

cable suitable to communicate the signal type chosen as known to one skilled in the art.

In the first embodiment, the control signal generated by the software running on

computer 135 is ofthe low power variety, but may be a voltage or current signal

suitable for the intended purpose as known to those skilled in the art.

The control signal received from computer 135 is then amplified by amplifier

143 to the appropriate actuation signal level necessary to operate the hydraulic servo valves 147 The amplifier 143 is then electrically connected to the servo valves 147 via

a power cable 145. The servo valves 147 are located on the hydraulic manifold 149.

The specifications ofthe power cable of which will depend on the nature ofthe signal, which is an expedient known to those skilled in the art.

When actuated, the servo valves 147 mounted on the hydraulic manifold 149

will pressurize the fluid leading to the hydraulic hoses 152, thereby actuating the

hydraulic cylinders 118 and 121 as known to those skilled in the art. Resident within

the hydraulic cylinders 118 and 121 are linear differential transducers (not shown)

which will generate a signal relating to the position ofthe hydraulic cylinders 118 and

121 which is used for position feedback by the control software 139 operating on the

computer 135. The use of linear differential transducers as such is an expedient

known to those skilled in the art. The feedback position signal is communicated to the

computer 135 via the feedback communications cables 155. The precise specifications

ofthe cables 155 is an expedient well known to those skilled in the art.

Turning now to Fig. 6, shown is a flow diagram ofthe control software 139 employed in the first embodiment. In the initialization function 201, the initial position

of both the first and second members 106 and 109 (Fig. 5) is set to equal their actual

starting positions as determined from the linear differential transducers previously

described. Also, a data array is initialized to hold signal data processed by the control

software 139. Finally, in the first embodiment, a time variable that is manipulated by

the control software 139 is initialized The initialization of variables and arrays as

shown here is an expedient well known to those skilled in the art

In the second programming function 206, the filter coefficients and the

arbitrary time-delay T are determined The coefficients are calculated from the

optimized filter derived previously. As was shown, the coefficients are a function of

the natural frequency ω n and the damping ratio, ζ , ofthe physical system, which, in

the case ofthe first embodiment is the mechanical arm system 100 (Fig. 5) These variables can be determined through physical experimentation by creating a test motion

and sensing the unwanted dynamics, or they can be derived mathematically as known by those skilled in the art

In the first embodiment, the natural frequency ω n and the damping ratio, ζ are

programmed into the system It would also be possible to have several different "sets"

of filter coefficients and arbitrary time-delays which the software would chose based

on changes in the natural frequency ω n and the damping ratio, ζ ofthe system during

operation

The arbitrary time-delay 7 " is not determined by the manipulation of any

particular mathematical formulation. It is a truly arbitrary variable limited only by the physical limitations ofthe physical system, or in the case ofthe first embodiment, the

mechanical arm system 100 (Fig. 5). For instance, in the case ofthe first embodiment,

the force demands on the hydraulic cylinders 118 and 121 (Fig. 5) will exceed the

capabilities of those components if the arbitrary time-delay is too small. On the other

hand, if the arbitrary time-delay is set too high, then the filtering function may be

defeated as the mechanical arm system 100 (Fig. 5) or other physical system will experience unwanted movement in the time that it takes for the filter to operate.

Thus the specification ofthe arbitrary time-delay is up to one skilled in the art

based on the system parameters and the desired motion to be achieved. A suggested

time delay could be one quarter of a single period ofthe natural frequency ω n ofthe

physical system. Thus the only movement that will be experienced is one peak ofthe

particular vibration at the time of one quarter of a single period ofthe natural frequency ω n as is understood by those skilled in the art.

Once, the natural frequency ω n , the damping ratio, ζ , and the arbitrary time-

delay T are determined, the coefficients ofthe filter are calculated. Note that the

physical characteristics ofthe mechanical arm system 100 (Fig. 5) or other physical

system may change, thereby changing the natural frequency ω n and the damping ratio,

ζ . In such a case, the coefficients will have to be recalculated based on the new

parameters.

Note that the control software 139 may do this recalculation in real time

provided that the computer system 135 has sensory capability with which to determine

changes in the natural frequency ω n and the damping ratio, ζ . In some applications,

however, the physical system may perform two or more repeated controlled motions, each motion being performed multiple times. In such a case, it would be possible to

store a number of "sets" of coefficients corresponding to each motion with particular

physical characteristics calculated with a specified time-delay constant T. Thus the

coefficient determination function 206 may consist of choosing the particular

preprogrammed "set" of coefficients to employ based on the preprogrammed

movement to be performed. In the first embodiment, the coefficients ofthe filter employed are calculated

from the predetermined natural frequency ω n , the damping ratio, ζ , and the arbitrary

time-delay T and entered into the system memory for use in the filter calculation.

The summing function 211 is actually the beginning step of a standard control system. Thus this function involves the generation of an error signal by subtracting the

feedback signal from the desired motion input signal. This function is a matter of

control theory that is well known to those skilled in the art. Note also that the desired

input signal may be autonomous or non-autonomous depending on the particular application as known by those skilled in the art.

The control signal generation function 216 involves the implementation of a

proportional-integral-derivative (PID) controller or other suitable controller to

generate a control signal based upon the error signal received from the summing function 211. Other control signal generators may include the use of a fuzzy logic controlled s), for example. Such control systems are well known to those skilled in the art and will not be discussed here in detail.

The OAT filter 30 is the implementation of a digital filter. The OAT filter 30

performs a convolution ofthe filter and the control signal employing the coefficients as

determined in step 206. The logical flow of this particular function is further shown in

Figs. 7 and 8 and will be discussed in detail. In the first embodiment, the control

system will then loop back to the summing function 211 to further actuate the desired

motion. If the system parameters were subject to change, then an additional step would have to be added in which the system would sense such a change and then

escape the aforementioned loop and revert to the coefficient/time-delay determination

step 206 to recalculate the coefficients.

Turning now to Fig. 7, shown is a graphical depiction ofthe OAT filter 30' as performed on the error signal in the first embodiment. The OAT filter 30' is performed by a digital filter that executes a convolution ofthe filter coefficients and the control

signal 301. The control signal 301 is in digital form consisting of a string of discrete

signal values as shown. Such a discrete signal can be obtained from the digital sampling of an analog signal as known by those skilled in the art. Each discrete signal

value is separated by time period a. After the convolution is performed, a similar

filtered digital output signal 306 is created. The revolving array 311 is shown with specific memory locations 316 which are numbered from 0 to 99 respectively, although

not all ofthe memory locations ofthe revolving array 311 are shown.

To understand the operation ofthe filter, the latest discrete control signal value

at time t is multiplied by the three coefficients 321, 326 and 331. The results ofthe multiplications with coefficients 321 and 326 are added with the values in the selected

memory locations by sum-equal operations 336, 341. The sum-equal operation are a

particular computer programming instruction which takes a value out of a memory

location, sums that value with another chosen value, and then places the result back in that same memory location. After a particular discrete control signal value has been

processed in this manner, the revolving array 311 is rotated 349 a single value and the

next discrete control signal value is processed

Note that the particular memory locations to which the results ofthe multiplication functions 321, 326 and 331 are added are separated by a value equal to

the arbitrary time-delay T divided by the time period a Thus the memory locations at

m, m-77a, and m-277a hold values that are ultimately separated in time by the arbitrary

time-delay T.

Finally, the output signal 306 is created from the values held in the array that

are a summation ofthe three coefficient multiplication steps 321, 326 and 331 This

step occurs when the multiplication with the coefficient Ci 331 takes place After the

multiplication with Ci 331, the result is added with the value stored at m, which in this

case is position 94 in the array 311. The result is sent out as the filtered digital output

signal 306 The final step involves placing a zero in the memory location after position

m so that location is ready to be used again Turning to Fig. 8, an alternative OAT filter 30" is shown by which the

convolution of Fig. 7 may also be performed The discrete control signal 401 is placed

in an array (not shown) which will hold the number of discrete samples that fall

between and including the samples at times / through t-2T as shown The samples that are held at memory locations which hold the samples for times t, t-T, and /-2rare

multiplied by coefficients as shown at 406, 411 and 416. The results of these three

multiplication operations are then summed together at summing junction 421, the

resulting discrete values of which make up the discrete filtered output 426

Second Physical Embodiment

Turning to Fig. 9, shown is the second physical embodiment ofthe invention

which comprises a second mechanical arm 500. The second mechanical arm 500 is

connected to beam 504 via first and second clamping plates 507 and 509 which are

compressed against the beam 504 by the clamping bolts 511. The pole 515 is held on

to the first clamping plate 507 by first, second and third clamps 519, 523, and 527,

respectively. Attached to the bottom of pole 515 is a first hydraulic motor 531. The

first hydraulic motor 531 spins a rotor on the axis that runs the length ofthe pole 515.

Attached to the rotor of first hydraulic motor 531 is a second hydraulic motor 535.

Attached to the rotor of second hydraulic motor 535 is a first bracket 538 which in

turn is attached to a third hydraulic motor 542. The third hydraulic motor 542 spins a

rotor which is attached to the second bracket 547.

Thus the first, second and third hydraulic motors 531, 535 and 542 ofthe

second mechanical arm 500 will be actuated by a control system similar to that ofthe

first embodiment ofthe invention and, consequently, it will not be discussed in detail.

Since the pole 515 is in excess of twenty feet long, it will oscillate when the hydraulic

motors 531, 535 and 542 are actuated. Thus the command signals by which the

hydraulic motors 531, 535 and 542 are actuated are filtered according to the present

invention and unwanted oscillation ofthe arm 515 is minimized. The purpose ofthe

illustration ofthe second physical embodiment is to show the versatility ofthe present invention as applied to different physical structures.

Other Configurations/ Applications

Turning to Figs. 10, 11 and 12, shown are various control configurations in

which the optimal arbitrary time-delay filter may be implemented. Fig. 10 shows the

feedback configuration 599 ofthe first embodiment in which the OAT filter 30 is

placed between the controller 601 and the controlled system 603. In such a case, the

OAT filter 30 operates within the feedback loop on the control signal generated by the

controller as one skilled in the art will understand. Fig. 11 shows a pre-feedback

configuration 604 in which the OAT filter 30 is placed before the summing junction

605 ofthe control system filtering the input signal before the feedback loop. Finally,

Fig.12 shows a pre-feedback/feedback configuration 607 which combines the previous

two configurations by placing OAT filters 30 both before the summing junction 605 and between the controller 601 and the controlled system 603.

The different filtering configurations of Figs. 10, 11 and 12 have their distinct

advantages and disadvantages. The configuration 599 of Fig. 10 contains the OAT

filter 30 inside a feedback control loop. Stability is of primary concern when the OAT

filter 30 is placed inside a feedback control system While the configuration 599

provides the best tracking performance, it produces the greatest risk of an unstable

control system. If the mode of vibration is slow compared with the desired bandwidth ofthe controller, instability can occur.

The configuration 604 of Fig. 11 avoids the stability issue related ofthe

configuration in Fig. 10 because the algorithm filters the desired command to the

feedback control system. However, the configuration 604 decreases the tracking

ability because the new desired command can be quite different from the unfiltered command.

The configuration of Fig. 12 realizes the advantages of both configurations 599

and 604. The OAT filters 30 for the modes of vibration that destabilize the control

system are moved outside the feedback loop as a pre-filter, and OAT filters 30 for the faster modes of vibration remain inside the feedback loop. This configuration should

provide better tracking performance over configuration 604.

It is understood that the first and second physical embodiments are intended as

examples of a particular application ofthe present invention. In particular, the first physical embodiment illustrates an example ofthe present invention in which hydraulic actuation is controlled in a standard control system using position feedback. There

are potentially numerous other applications ofthe present invention using different

types of physical actuation to accomplish a plurality of motions. These types of physical actuation may be classed as active or passive in nature. Active actuators refer

to those capable of providing energy to the driven load. Passive actuators only

dissipate energy, removing energy from the driven load. The following is a brief discussion ofthe types of actuators which could be employed in active or passive

configurations to which the present invention may be applied to minimize unwanted

dynamics. The motion which is created by the types of actuators discussed may be

linear movement, rotational movement, pivotal movement, or orbital movement. It is understood, however, that the following discussion is not for the purpose of precluding

any types of actuation or specific applications not mentioned, but is merely illustrative

ofthe diversity of physical systems to which the present invention may apply.

For example, the present invention could be used in conjunction with actuation

based on fluid flow such as hydraulic, pneumatic, steam pressure or others. The

current invention could be applied to aid in the control of steam flow on turbines.

Other pneumatic devices which could be controlled include pneumatic cylinders or

fans. The present invention applies as well to hydraulic motors and cylinders as in the

first and second embodiments.

Potential applications ofthe present invention may involve the control of

actuation which is based on the manipulation of electro-magnetic energy such as motors, electro-magnets or other similar technology. For example, the present invention may be applied to the control both direct current and alternating current

motors, moving coil motors, stepper motors, or induction motors. It applies equally to

the control of electrostatic motors which depend upon the repulsion of electrons to produce actuating forces. In situations where fast actuation with only small motion

range, the present invention may apply to the control of piezoelectric devices.

It would be possible to implement the present invention in the control actuation based on combustion. Combustion based actuation may take the form of internal

combustion engines, rockets or jets. By controlling the combustion process, the forces produced by these gases may be controlled to reduce unwanted vibration.

Also, it must be noted that computer software implementing the OAT filter 30

can be stored on any computer readable medium for use by or in connection with a

computer-related system or method. In the context of this document, a computer

readable medium is an electronic, magnetic, optical or other physical device or means

that can contain or store a computer program for use by or in connection with a

computer-related system or method.

Thus it is understood that the present invention may be employed in many

different applications. Any variations and modifications may be made to the

embodiments ofthe invention disclosed herein without departing substantially from the

spirit and principles ofthe invention. All such modifications and variations are intended to be included herein within the scope ofthe present invention, as defined by the following claims.

Finally, any "means" element in the claims hereafter is intended to specify any structure, device, material, composition, or act for performing the function(s) or

operation(s) indicated in connection with said means element.