|
Description  |
|
|
BACKGROUND OF THE INVENTION
This invention is directed to time delay controlled processes, such as
those that may be useful with a servosystem, a robot arm or a magnetically
suspended rotor.
A general control strategy consists of at least two levels: a high level
controller and a low level controller. The high level controller may
perform several functions: (1) observe the state of the system, (2) accept
inputs from environment, (3) perform filtering and estimation, (4) decide
whether a task is realizable, etc. It then generates a command which is
sent to a low level controller. The low level controller, on the other
hand, has a few other functions: (1) observe the state of the system, (2)
filter and estimate and (3) compute the control action. The control action
is generated in order to execute a realizable command issued by the high
level controller independent of system dynamic varations. These variations
may be due to internal system changes or external disturbances. Internal
factors may include parameter changes and/or function changes. A function
change could be manifested by the change of the "constituted relation of
an element". For example, a spring characteristic could vary from a linear
one, where only one constant is used in the model to a hardening spring
where two constants may be used. The present invention is directed to the
design of low level controllers that guarantee the proper execution of
realizable tasks.
The low level control of systems with unknown dynamics and unpredictable
disturbances has raised some challenging problems. This is particularly
important when high system performance is to be guaranteed at all times.
Some classical control methods deal with well known, linear,
time-invarient systems. In many applications, however, some relevant part
of the system may be unknown, time varying, or nonlinear. Controlled
systems are thus often limited to operating in only a small portion of
their available range. For example, servo motors must operate in the
linear part of their range for accurate control. Robot arms and
magnetically controlled rotors, such as those used in a turbo molecular
pump, are examples of physical processes which would benefit greatly from
improved control systems.
Several types of control strategies have been developed to deal with
nonlinear, time-variant systems. One of the first methods to accommodate
nonlinear systems was Model Reference Control. This technique employs a
model of the system and uses the difference between the model response and
the plant response as the input signal to the plant [7]. The model is
either a physical model or a simulated system on a computer. Although it
has no variable parameters, it is very useful for either specifying
desired performance or for the observation of unaccessable states. A
drawback in this technique is that it requires knowledge of the full
dynamic model and system limitations. When perfect cancellation of the
system nonlinearities is not achieved due to imperfect modeling or
inaccurate parameter values, the dynamic performance of the plant may be
degraded to the point of closed loop instability [8].
Another advanced technique is Adaptive Control. An adaptive system measures
a certain index of performance which is a function of the inputs, states
or outputs of the system. From the comparison of the measured index of
performance with a set of given ones, the adaptation mechanism modifies
the parameters of the controller [6]. There are several classes of
adaptive control. A very common variation used a model for the system as a
basis for comparison and is termed Model Reference Adaptive Control
(MRAC). It adjusts the controller parameters while keeping the model
parameters constant. In contrast is the `self-tuning` system introduced in
reference [1] in which the controller parameters are held fixed while the
model parameters are modified. Another approach generates the control
action in part by an adaptive feedforward controller which `behaves` as
the `inverse` of the plant [8]. All adaptive controllers share the
distinguishing feature of system identification followed by variation of
parameters to maintain desired performance. A drawback of adaptation is
that it is generally slow and computationally intense. Often the
environment changes faster than the system, causing performance
degradation or even instability.
Other control methods, such as Variable Structure Controllers, take totally
different strategies to achieve stability in nonlinear, time-invariant
systems. This type of controller utilizes state feedback in a control law
which switches the structure of the closed loop system between
trajectories which may themselves be unstable or marginally stable but
when combined by the control law in a switching technique, result in a
system which is stable. A method of switching called `sliding mode`,
described in [9,10,11], arranges the switching so that ideally the system
remains on one of the switching lines (or surface) as it `slides` stably
toward the origin of the phase plane. Real systems, however, take time to
switch trajectories, resulting in periods of infinite frequency, or no
control, as the system switches from one trajectory to another while
attempting to remain on the switching line. This high frequency chattering
undesirably excites high frequency dynamics.
During the 1970's, several control algorithms emerged which attempt to
force a systems response to track a desired trajectory. Two such
algorithms which have received significant attention are Model Algorithmic
Control (MAC) and Dynamic Matrix Control (DMC) [2,12]. These two
algorithms utilize a discrete model representation of a controlled system
to minimize predicted future errors relative to a given reference
trajectory over a given preview horizon [5]. These two approaches might be
grouped under the two more general topics of preview or predictive
control. Predictive and preview control are similar in that they attempt
to minimize a predicted error, or cost function, over a given preview
horizon. Preview control, however, does require a state-space description
of the plant. A predictive controller may be used if a simulation and the
system step responses are available. Predictive and preview control
algorithms are generally computationally intensive since they involve the
minimization of some cost function over a preview horizon. Accordingly,
they are suitable for control of systems with relatively large time
constants. Many improvements to the general method of predictive control
have been made over the years to generalize controller design to
multivariable systems and to make possible several types of stability
robustness analyses. Increases in computational speeds of commonly
available microprocessors continue to allow the application of such a
control algorithm to systems with increasingly fast dynamics. However, it
should be emphasized that the algorithm is based upon the assumption that
the dynamics of the controlled system are known, either in terms of
analytical models or step response data.
Another method, Time Delay Control (TDC) was originally formulated by
Youcef-Toumi and Ito [12] for a class of nonlinear systems with linear
input action. Time delay control introduced in references [13,14,15,16],
depends neither on estimation of specific parameters, repetitive actions,
infinite switching frequencies, nor discontinuous control. It employs,
rather, direct estimation of the effect of the plant dynamics through the
use of time delay. The controller uses the gathered information for
position, velocity and acceleration to cancel the unknown dynamics and
disturbances simultaneously and then inserts the desired dynamics into the
plant. The TDC employs past observation of the system response and control
inputs to directly modify the control actions rather than adjusting the
controller gains. It updates its observation of the system every sampling
period, therefore, estimation of the plant is dependent upon the sampling
frequency.
There are other systems referred to as time-lag or retarded systems, where
time delay exists between the cause and effect. In time delay systems,
these delays arise as a result of delays existing in the hardware
components or computation [1]. In the present invention, the time
forumulation for such time delay systems leads to delayed differential
equations. A special class of these equations are referred to as
integral-differential equations which were studied by Volterra [10].
Volterra was the first to study such systems and developed the theory to
investigate the consequences of time delay. Several other researchers have
contributed to the development of the general theory of the Volterra type.
It is an object of the present invention to adapt time delay control for
use with magnetically suspended rotors and for robot arms. It is a further
object of the present invention to provide an improved formulation of time
delay control by using convolutions.
SUMMARY OF THE INVENTION
The present invention is directed to a time delay control method for
controlling a process having a plurality of input variables and a
plurality of state variables dependent on the input variables. The method
estimates the effects of unknown dynamics by using calculations
representative of convolutions involving past data.
The state variables of a process are periodically measured and stored. A
vector of desired state variables and a vector of commands are provided to
the system by a user of a high level controller. Desired dynamics are
generated from these vectors to produce a corresponding constant matrix
for each vector. Measured variables are compared to the desired variables
to produce an error vector. Unknown dynamics are estimated by using
calculations representative of convolutions involving past data and a
state transition matrix. Desired effects are calculated by substituting
the present values of the state variables and of the command vector into
the desired dynamics. The estimated effects of unknown dynamics and the
present desired effects and the effects of known dynamics, if any, are
combined. The combination is multiplied by a pseudo inverse of a control
matrix. The result is combined with the product of an error vector and a
feedback gain matrix to produce control signals that are used to provide
adjusted input variables into the process.
The method of the present invention can be used with a magnetically
suspended rotor. In such an application, the state variables correspond to
the position of the rotor relative to the magnetic bearings used to
suspend the rotor. The control method is used to adjust the currents into
each of the magnetic bearings. The present invention may also be used to
control a robot arm in which the state variables correspond to the
location and orientation of the robot arm links. The control method is
used to adjust the power used to drive each of the motors which operate
the arm.
The present invention advantageously only needs to make use of the state
variables. The second derivative such as acceleration is not required. It
is a further advantage of the present invention that the control method is
dynamically adaptable so as to overcome disturbances to the process which
functionally alter the relationships between the input variables and the
state variables.
Other objects and advantages of the invention will become apparent during
the following description of the presently preferred embodiments of the
invention taken in conjunction with the drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a flow chart of the control method of the present invention.
FIG. 2 is a side view of a turbo molecular pump with a magnetically
suspended rotor which is controlled by the method of the present
invention.
FIG. 3 is a sectional view of the pump of FIG. 2.
FIG. 4 is an illustration of a robot manipulator controlled by the method
of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The systems of interest to be controlled with the present invention are
described by the following dynamic equations:
x=f(x,u,t)=F(x,t)+G(x, u, t)+D(t) (1)
where x .epsilon. R.sup.n is a plant state vector, i.e., a vector of state
variables, and u .epsilon. R.sup.r is a control vector, i.e., a vector of
control inputs. F(x,t) and G(x,u,t) .epsilon. R.sup.n are nonlinear
vectors representing respectively the known and unknown part of the plant
dynamics, and D(t) .epsilon. R.sup.n is an unknown disturbance vector. The
variable t represents time. The expression of Eqn.(1) is common in many
applications. For example, in magnetic suspensions, the function G(x, u,
t) involves both the control currents and the air gaps. This is the case
since the magnetic force is proportional to the current squared and
inversely proportional to the square of the air gap. The vector D(t)
represents other kinds of effects that are state independent. The
objective of this invention is to be able to control such systems and
guarantee performance despite the presence of large dynamic changes in
G(x, u, t) and large unexpected disturbances in D(t).
Eqn. (1) can be rewritten as:
x=F(x,t)+H(x, u, t)+Bu+D(t) (2)
B .epsilon. R.sup.n.times.r is a known constant control matrix of rank r to
be selected by the control system designer and the term H(x, u, t) is
defined as
H(x,u,t)=G(x,u,t)-Bu(t)
A linear time-invariant reference model describes the desired dynamics of
the process being controlled. A user or high level controller provides
x.sub.m .epsilon. R.sup.n which is a vector of desired state variables,
also called a reference model state vector, and r .epsilon. R.sup.r which
is a vector of commands or command vector. Both of these vectors may be
functions of time. The vector of desired state variables is a set of
desired trajectories that a process is to follow. In a robot manipulator,
this could be the desired trajectory of the robot hand. For a magnetically
suspended rotor, the desired state variables may indicate the time
function of how the rotor is to move from a touch down position to a
levitated position. The command vector may represent break points along
such a trajectory or may simply represent the end point of the trajectory.
The linear time-invariant reference model generates a desired dynamics as
follows:
x.sub.m =A.sub.m x.sub.m +B.sub.m r (3)
where A.sub.m .epsilon. R.sup.n.times.n is a constant stable system matrix,
and B.sub.m .epsilon. R.sup.n.times.r is a constant command distribution
matrix. The error vector, e, is defined as the difference between the
plant state vector and the reference model state vector,
e=x.sub.m -x (4)
The time rate of change of the error, e is then,
e=x.sub.m -x (5)
Using equations (1) and (3) the above equation becomes,
e=A.sub.m x.sub.m +B.sub.m r-[F(x,t)+H(x,u,t)+Bu+D(t)] (5a)
We can add and subtract the state vector term A.sub.m x to the above
equation in order to bring about an error term. This step leads to
e=A.sub.m x.sub.m +B.sub.m r-[F(x,t)+H(x,u,t)+Bu+D(t)]+A.sub.m x-A.sub.m x
(6)
which can also be written as
e.times.A.sub.m e+[A.sub.m x+B.sub.m r-F(x,t)-.PSI.(x,u,t)-Bu](7)
The vector .PSI. represents the effects of both unknown dynamics H and D,
.PSI.(x,u,t)=H(x,u,t)+D(t) (8)
A control action u is the vector of signals used to determine the inputs to
the process being controlled. For example, in a magnetic suspension u
represents the currents into the respective magnetic bearings. A control
action u can be chosen such that the term between brackets in equation (7)
is zero at any instant of time. However, this makes the error dynamics
decay at a rate dictated by the reference system matrix A.sub.m. Since
this is not practical in general it is desired to have the error vanish
much faster than the plant or the reference model dynamics. Under these
conditions the plant state x will track the reference model trajectory
x.sub.m. A control action u is desired that forces the error e to zero
despite the presence of unknown system dynamics and unpredictable
disturbances. In order to adjust the error dynamics, a new vector of
control variables v is defined such that
v=u-Ke (9)
where K is a feedback gain matrix. The error dynamics now takes the form
e=[A.sub.m +BK]e+p (10)
where the vector p is given by
p=A.sub.m x+B.sub.m r-F(x,t)-.PSI.(x,u,t)-Bv (11)
The control law is chosen as
v=B.sup.+ [A.sub.m x+B.sub.m r-F(x,t)-.PSI.(x,u,t)] (12)
where B.sup.+ is the pseudo inverse of B. The actual control input vector
u is computed from control variable vector v using Eqn.(9). The term .PSI.
(x, u, t) is the best estimate of the unknown vector function .PSI.
(x,u,t). The control law as given by Eqn.(12) and Eqn.(9) consists of a
few terms. The first two terms in Eqn.(12) dictate the desired dynamics,
the third term compensates for the known dynamics and the fourth term
compensates for the unknown dymamics The first three terms are evaluated
using the present values of the state variables and the fourth term is
evaluated using past information. The expression leading to u involves the
error dependent term Ke.
Referring now to FIG. 1, a flow chart of the process for producing the
control input vector u is given. The process includes the following steps:
1. Compute the unknown dynamic vector .PSI.. During the first sampling
period, this estimate is set arbitrarily to zero since no past information
is available at this time. Computation of .PSI. is described below.
2. Calculate the control variable vector v such that p=0 using the best
estimate of the unknown vector .PSI..
3. Compute the control input vector u=v+Ke.
4. Output u to the process being controlled and then repeat step 1 in the
next sampling period.
A key to this control problem is to obtain a good estimate of .PSI. without
using an explicit description of .PSI.. In references [14,16], past
information has been used including the system state, the input and an
estimate of the rate of change of the state to obtain an estimate of the
unknown dynamics. In accordance with the present invention, however, we
will obtain this estimate using convolutions.
The dynamic behavior of the error is governed by Eqn.(13) and its time
response
##EQU1##
involves a state transition matrix .PHI. (t,t.sub.0),
.PHI.(t,t.sub.0)=e.sup.(A.sbsp.m.sup.+BK)(t-t.sbsp.0.sup.) t.gtoreq.t.sub.0
(14)
Equation (13) is usually used to obtain the time response e(t) in the
interval [t.sub.0,t]. This is possible once the matrices A.sub.m, B and K
are specified along with the initial condition e(t.sub.o) and the time
history of the forcing term p over the interval [t.sub.o,t]. A time
interval [t.sub.o,t] represents one sampling period. In each sampling
period, the state variables are measured and reported to the control
system. The method of the present invention for obtaining an estimate
.PSI. is derived from Eqns.(11,13). Rearranging Eqns.(11,13) leads to,
##EQU2##
The integrand of the left hand side of Eqn.(15) is the product of .PHI.
(t,r) and the unknown vector .PSI.. Eqn.(15) involves past information and
one unknown vector .PSI. assuming that the control variable v has been
calculated for the time period of interest. Eqn.(15) and the convolutions
found therein are a major feature of the present invention. The state
transition matrix .PHI. is convolved with the desired dynamics functions
A.sub.m x and B.sub.m r, the known dynamics function F and the control
signal function Bv. Assuming that the functions .PSI. x, r, F, and v do
not vary significantly over the time interval [t.sub.o,t], the
convolutions can be simplified to obtain
##EQU3##
where the convolution dummy matrix .GAMMA. (t,t.sub.o) is given by
##EQU4##
The vectors .PSI. (.xi.), x(.epsilon.), r(.epsilon.), F(.zeta.) and
v(.eta.) are based on past information representing estimates at times
.xi., .epsilon., .epsilon., .zeta. and .eta. within [t.sub.o,t]. Equation
(16) can be simplified leading to
.PSI.(.xi.)=-.GAMMA..sup.-1 e(t)+.GAMMA..sup.-1
.PHI.(t,t.sub.0)e(t.sub.0)+A.sub.m x(.epsilon.)+B.sub.m
r(.epsilon.)-F(.zeta.)-Bv(.eta.) (18)
The last four terms in Eqn.(18) are representative of the convolutions
involving the state transition matrix and past information, in particular,
the desired dynamics, the known dynamics and the control matrix function.
The method used to compute the convolutions in Eqn.(15) and evaluate the
different functions at specific times within the interval [t.sub.o,t] is
central to obtaining an estimate of the vector .PSI.. The accuracy in
obtaining this estimate also depends on the interpolation scheme used when
more than one sampling period is considered. Of course, the selection of
the time interval [t.sub.o,t] is important. If we use data from one
sampling period in the past, the vector .PSI. can be estimated by
.PSI..perspectiveto.-.GAMMA..sup.-1 e(t)+.GAMMA..sup.-1
e.sup.(A.sbsp.m.sup.+BK)(t-t.sbsp.0.sup.)
e(t.sub.0).sup.+A.sbsp.m.sup.X.sbsp.avg.sup.+B.sbsp.m.sup.r.sbsp.avg.sup.-
F.sbsp.avg.sup.-Bv(t.sbsp.0.sup.) (19)
where x.sub.avg, r.sub.avg, F.sub.avg are respectively the average values
of x,r,F in the interval [t.sub.o t]. The estimate .PSI. approximates the
system dynamics one sampling time in the past using present and past data.
In this case, the present data involves the error e(t). The past data
consist of the initial condition e(t.sub.o) at time t.sub.o, the control
input v(t.sub.o) and the average values discussed earlier. Rather than use
average values, acceptable performance may also be obtainable using the
past values evaluated at t.sub.o. A better estimate may be obtained by
using more than one sampling period in the interval [t.sub.o,t]. In order
to obtain an estimate of .PSI. using q sampling periods in the time
interval [t.sub.o,t] one could rewrite the left and right hand sides of
Eqn.(15) as follows
##EQU5##
This could be approximated by
##EQU6##
Note that the vector function .PSI..sub.i-1,i is evaluated within the
intervals [t.sub.i-1,t.sub.i ]. We may now write Eqn.(20) in the interval
[t.sub.o,t] as
##EQU7##
where x.sub.i-1,i, r.sub.i-1,i,F.sub.i-1,i and v.sub.i-1,i for i=1,2 . . .
q are estimates of the variables x(.epsilon.),r(.epsilon.),F(.zeta.) and
v(.eta.) in the interval [t.sub.i-1, t.sub.i ]. With some algebraic
manipulations of the above equations, the estimate .PSI. is found to be
##EQU8##
where L is the sampling period, i.e., t.sub.1 -t.sub.o.
The control method of the present invention is summarized in FIG. 1.
Measurement sensors provide the process state variables vector x to the
control processor. The state variables are stored using a stack or other
commonly used storage method so as to save at least the recent past data.
An estimate of the unknown dynamics is determined using functions
representative of convolutions involving the state transition matrix and
several functions evaluated using the recent past data. The control
variable vector v is evaluated using the present data for the desired
dynamics and the known dynamics and using the unknown dynamics effects
estimated from past data. The control variable vector is added to the
product of the feedback gain matrix K and the error vector e to generate
the control inputs u(t). The control inputs are then fed into the process
so as to effect the desired control.
A turbo molecular pump is a device used to create vacuum in special
environments such as in integrated circuit manufacturing environments. A
schematic diagram of this pump is shown in FIGS. 2 and 3. The pump action
is produced once the rotor 10, with blades 12 attached to it, is spun by
an induction motor. In order to minimize impurities and particle
generation, the rotor is suspended magnetically in the x, y and z
directions by magnetic bearings. A magnetic bearing is provided with
electric coils 16 which produce magnetic fields to suspend the rotor. In
the presently preferred pump, the rotor 10 is suspended by one thrust
bearing 17 and two radial bearings 19. These bearings receive five control
inputs. The thrust bearing 17 receives one input related to control in the
z direction. Each of the radial bearings 19 has two control inputs one
related to control in the x direction and one related to control in the y
direction. The control inputs u(t) determined by processor 22 are used by
a current driver 24 to proportionally provide currents into the various
coils 16 distributed around each bearing to achieve the desired force in
one of the controlled directions. The current driver includes an amplifier
for providing a desired level of current.
In accordance with the presently preferred turbo molecular pump, the rotor
mass is 2.2 Kg. The desired air gap between the rotor 10 and the thrust
bearing 17 is preferably 400 microns. The desired air gap between the
rotor 10 and the radial bearings 19 is 250 microns. The bearings handle a
maximum of 10 amperes. The maximum rotational speed of the rotor of the
presently preferred embodiment is 45,000 rpm.
This system has five degrees of freedom each of which may be described by a
differential equation of the form,
##EQU9##
where x.sub.q .epsilon. R.sup.5 and x.sub.r .epsilon. R.sup.5 represent
displacements and velocities respectively. The current input to the
electromagnets are represented by the vector u .epsilon. R.sup.5. Note
that since the magnetic force is proportional to the current squared and
the gap distance squared the function G.sub.r (x,u) is a nonlinear
function dependent on the state x and the control action u.
The displacements X.sub.q are measured by inductive sensors 20 and provided
to the processor 22. Three sensors 20 are shown in FIG. 2, however, two
more sensors positioned into or out of the plane of the drawing are also
included for sensing the displacement orthogonal to the other two radial
sensors. While inductive sensors 20 are used in the presently preferred
embodiment, any other suitable measuring device such as an optical or
capacitive sensor may be used to measure the displacements.
This plant is a multi-input, multi-output and unstable open loop.
Disturbances and coupling include forces due to gravity, magnetic actions,
unbalance and gyroscopic effects. All of these effects will show up in the
vector function G. This particular device experiences drastic dynamic
changes in G. Therefore, dynamic information describing this behavior
would be necessary if a conventional control system is used otherwise the
system performance may be acceptable only for some specific operating
conditions. By using the control system of the present invention,
excellent performance is obtainable over a wide range of disturbances and
dynamic effects.
Another application for implementing the control system of the present
invention can be a robot manipulator such as that illustrated in FIG. 4.
FIG. 4 illustrates a simple arm with two degrees of freedom. This
manipulator has two motors or actuators (not shown) mounted at the base.
The first motor drives a first link 32 of the arm and the second motor
drives a second link 34 through a steel belt 36. Each axis is equipped
with a position sensor 38 (one shown) and a tachometer 40 (one shown). The
position sensor 38 may be a potentiometer, encoder or some other known
device. The tachometer 40 is used to measure velocity and may also be
replaced by another suitable velocity sensor. The control system processor
22 produces control inputs u(t) in response to the positions and
velocities. The control inputs regulate the amount of current provided by
current driver 24 to each of the motors.
The robot arm system's equations are extremely complex involving Coriolis
and centrifugal effects among others. Thus, it is very difficult to
determine functions which can predict the behavior of the arm, especially
when the relationships would be altered by a disturbance such as when the
arm picks up a load of unknown weight. Using the control method of the
present invention based on estimating unknown effects using convolutions
of past information and a state transition matrix, it is possible to
maintain highly acceptable controlled performance without attempting to
set forth function and its parameters.
By using the control system of the present in | | |