1 inbyao/papers/cst00.pdf · structures of v arious p erio dic nonlinear forces, design mo dels...
TRANSCRIPT
Adaptive Robust Precision Motion Control of Linear Motors with
Ripple Force Compensations �
Li Xu and Bin Yao +, Member, IEEE, ASME
School of Mechanical EngineeringPurdue University, West Lafayette, IN 47907, USA
+ Tel: (765)494-7746 Fax:(765)494-0539
Email: [email protected]
Abstract
Linear motors o�er several advantages over their rotary counterparts in many applications requir-
ing linear motion by eliminating mechanical transmission mechanisms. However, these advantages
are obtained at the expense of added diÆculties in controlling such a system. This paper studies
the high performance robust motion control of an iron core linear motor which is subject to signi�-
cant nonlinear force ripples. A discontinuous projection based desired compensation adaptive robust
controller (ARC) is constructed. In particular, based on the special structures of various periodic
nonlinear forces, design models consisting of known basis functions with unknown weights are used to
approximate those unknown nonlinear forces. On-line parameter adaptation is then utilized to reduce
the e�ect of various parametric uncertainties while certain robust control laws are used to handle
the uncompensated uncertain nonlinearities. The resulting controller achieves a guaranteed transient
performance and a guaranteed �nal tracking accuracy in the presence of both parametric uncertainties
and uncertain nonlinearities. In addition, in the presence of parametric uncertainties, the controller
achieves asymptotic output tracking. Extensive comparative experimental results are obtained for the
motion control of an iron core linear motor and verify the high performance of the proposed scheme.
�The work is supported in part by the National Science Foundation under the CAREER grant CMS-9734345 and in part
by a grant from Purdue Research Foundation
1
1 Introduction
Modern mechanical systems, such as machine tools, semiconductor manufacturing equipment, and auto-
matic inspection machines, often require high-speed/high-accuracy linear motions. These linear motions
are usually realized using rotary motors with mechanical transmission mechanisms such as reduction
gears and lead screw. Such mechanical transmissions not only signi�cantly reduce linear motion speed
and dynamic response, but also introduce backlash, large frictional and inertial loads, and structural
exibility. Backlash and structural exibility physically limit the accuracy that any control system can
achieve. As an alternative, direct drive linear motors, which eliminate the use of mechanical transmis-
sions, show promise for widespread use in high-speed/high-accuracy positioning systems [1, 2, 3]. In
general, the linear motor has the following advantages over its rotary-motor counterpart: (a) no backlash
and less friction, resulting in very high accuracy; (b) no mechanical limitations on achievable acceleration
and velocity; achievable velocity is only limited by the encoder bandwidth or by the power electronics;
(c) bandwidth is only limited by encoder resolution, measurement noise, calculation time, and frame
sti�ness; and (d) mechanical simplicity, higher reliability, and longer lifetime.
The direct-drive linear motor gains high-speed/high-accuracy potential by eliminating mechanical trans-
mission. However, it also loses the advantage of using mechanical transmissions { gear reduction reduces
the e�ect of model uncertainties such as parameter variations(e.g., uncertain payloads) and external
disturbance (e.g., cutting forces in machining). Furthermore, certain types of linear motors (e.g., iron
core linear motors) are subject to signi�cant force ripple [3]. These uncertain nonlinearities are directly
transmitted to the load and thus have signi�cant e�ect on its motion. Thus, in order for a linear motor
system to be able to function and to deliver its high performance potential, a controller which can achieve
the required high accuracy in spite of various parametric uncertainties and uncertain nonlinear e�ects,
has to be employed.
A great deal of e�ort has been devoted to solving the diÆculties in controlling linear motors [1, 2, 4, 5, 3, 6].
In [1], Alter and Tsao present a comprehensive design approach for the control of linear-motor-driven
machine tool axes. H1 optimal feedback control is used to provide high dynamic sti�ness to external
disturbances (e.g., cutting forces in machining). Feedforward is also introduced in [2] to improve tracking
performance. Practically, H1 design may be conservative for high-speed/high-accuracy tracking control
and there is no systematic way to translate practical information about plant uncertainty and modeling
inaccuracy into quantitative terms that allow the application of H1 techniques. In [4], a disturbance
compensation method based on disturbance observer (DOB) [7, 5] is proposed to make the linear motor
system robust to model uncertainties. It is shown both theoretically and experimentally by Yao, et al.
in [8] that DOB design may not handle discontinuous disturbances such as Coulomb friction well and
cannot deal with large extent of parametric uncertainties. To reduce the nonlinear e�ect of force ripple,
in [3], feedforward compensation terms, which are based on an o�-line experimentally identi�ed model of
�rst-order approximation of ripple forces, are added to the position controller. Since not all magnets in a
linear motor and not all linear motors of the same type are identical, feedforward compensation based on
o�-line identi�cation model may be too sensitive and costly to be useful. In [6], a neural-network-based
learning feedforward controller is proposed to reduce positional inaccuracy due to reproducible ripple
2
forces or any other reproducible and slowly varying disturbances over di�erent runs of the same desired
trajectory (or repetitive tasks). However, overall closed-loop stability is not guaranteed. In fact, it is
observed in [6] that instability may occur at high-speed movements. Furthermore, learning process may
take too long to be useful due to the use of a small adaptation rate for stability. In [9], the idea of
adaptive robust control (ARC) [10, 11, 12] is generalized to provide a rigorous theoretic framework for
the high performance motion control of linear motors. The controller takes into account the e�ect of
model uncertainties coming from the inertia load, friction, force ripple and electrical parameters, etc. In
[13], the proposed ARC algorithm [9] is applied on an epoxy core linear motor. To reduce the e�ect of
velocity measurement noise, a desired compensation ARC algorithm in which the regressor is calculated
by reference trajectory information is also presented and implemented.
In this paper, the proposed desired compensation ARC (DCARC) [13] will be extended to the control of
an iron core linear motor. Compared to the epoxy core linear motor studied in [13], the iron core linear
motor is subjected to signi�cant nonlinear ripple forces. As such, e�ective ripple force compensation may
be needed for high performance, which is the focus of the paper. As an alternative to feedforaward force
ripple compensation [3] or feedback compensation using measurements of back EMF [14], one can reduce
the e�ect of ripple forces by utilizing the particular physical structure of the ripple forces. Speci�cally,
design models consisting of known basis functions with unknown weights are used to approximate the
unknown ripple forces. On-line parameter adaptation is then utilized to reduce the e�ect of various para-
metric uncertainties while certain robust control laws are used to handle the uncompensated uncertain
nonlinearities. This yields good results and does not require measurement of back EMF. Time-consuming
and costly rigorous o�-line identi�cation of ripple forces is also avoided. The resulting controller achieves
a guaranteed transient performance and a prescribed �nal tracking accuracy in the presence of both
parametric uncertainties and bounded disturbance. In the presence of parametric uncertainties only,
asymptotic tracking is also achieved. In addition, the proposed controller has several implementation ad-
vantages such as reducing on-line computation time, separating the robust control design from parameter
adaptation process, reducing the e�ect of measurement noise, and having a faster adaptation process.
This scheme, as well as a PID controller, are implemented and compared on an iron core linear motor.
Comparative experimental results are presented to show the advantages of the proposed method.
2 Problem Formulation and Dynamic Models
Linear servo motors essentially work the same as rotary motors, only opened up and laid out at. Each
motor is made of two parts - a permanent magnet assembly and a coil assembly. The coil assembly
encapsulates copper windings within a core material (e.g. epoxy, steel). The copper windings conduct
current. The magnet assembly consists of rare earth magnets, mounted in alternating polarity on a steel
plate, which generate magnetic ux density. By applying a three-phase current to the coil assembly,
a sequence of attracting and repelling forces between the poles and the permanent magnets will be
generated. This results in a thrust force being experienced by the coil assembly. Ideally, this force is
linear in phase currents and independent of position. However, in practice, the uctuations of the �eld
3
distribution and the armature magnetomotive force, which depend on the current waveform and motor
structure, give rise to position dependent force ripple [3, 6, 15]:
� Cogging or dentent force is a magnetic force developed due to the attraction between the permanent
magnets and the cores of the coil assembly. It depends only on the relative position of the motor
coils with respect to the magnets, and is independent of the motor current.
� Reluctance force is developed due to the variation of self inductance of the windings, which causes
a position-dependent force in the direction of motion when current ows through the coils.
In motion control, force ripple is a major source of uncertainty which varies with the coil assembly
position, thus causing tracking error. At very high speeds, they are of high frequency and are usually
�ltered out by the system inertia. But at low speeds, they produce noticeable e�ects that may not be
tolerable [3, 6]. Another major source of uncertainty which may degrade the performance of any motion
control system is friction force, which includes stiction, Coulomb friction, Stribeck e�ect and viscous
friction.
The linear motor considered here is a current-controlled three-phase iron core motor driving a linear
positioning stage supported by recirculating bearings. To ful�ll the high performance requirements, the
model is obtained to include most nonlinear e�ects like friction and ripple forces. In the derivation
of the model, the current dynamics is neglected in comparison to the mechanical dynamics due to the
much faster electric response. The mathematical model of the system can be described by the following
equations:M �x = u� F;
F = Ff + Fr � Fd;(1)
where x represents the position of the inertia load, M is the normalized1 mass of the inertia load plus
the coil assembly, u is the input voltage to the motor, F is the normalized lumped e�ect of uncertain
nonlinearities such as friction force Ff , ripple force2 Fr and external disturbance Fd (e.g. cutting force
in machining). While there have been many friction models proposed [16], a simple and often adequate
approach is to regard friction force as a static nonlinear function of the velocity, i.e., Ff ( _x), which is
given by
Ff ( _x) = B _x+ Ffn( _x); (2)
where B is an equivalent viscous friction coeÆcient of the system, Ffn is the nonlinear friction term
which can be modeled as [16, 17]
Ffn( _x) = �[fc + (fs � fc)e�j _x= _xsj
�
]sgn( _x); (3)
where fs is the level of static friction, fc is the minimum level of Coulomb friction, and _xs and � are
empirical parameters used to describe the Stribeck e�ect. In practice, due to the inaccuracy of the
positioning stage and ball bearings, the friction force may also depend on position x. This phenomenon
1Normalized with respect to the unit of input voltage.2For simplicity, only cogging force is considered since the reluctance force is comparatively small.
4
is still captured by (1), since the bounded variation of position-dependent friction can be lumped into
the external disturbance Fd. Thus, considering (2), we can rewrite (1) as
_x1 = x2;
M _x2 = u�Bx2 � Ffn � Fr +�;
y = x1;
(4)
where x1 and x2 represent the position and velocity respectively, y is the output, and ��= Fd.
Let yr(t) be the reference motion trajectory, which is assumed to be known, bounded with bounded
derivatives up to the third order. The objective is to synthesize a control input u such that the output
y tracks yr(t) as closely as possible in spite of various model uncertainties.
3 Adaptive Robust Control of Linear Motor Systems
3.1 Design Models and Assumptions
To begin the controller design, practical and reasonable assumptions on the system have to be made.
As discussed in Section 2, the iron core linear motor is subject to various parametric uncertainties,
external disturbances, and largely reproducible nonlinearities such as ripple forces and friction. For the
reproducible ripple force and friction, although feedforward compensation techniques based on o�-line
identi�ed models can be used to cancel their e�ects (e.g., force ripple compensation in [3] and friction
compensation in [18]), such a procedure may be time consuming and sometimes may not be so practical
since it cannot handle the variations among di�erent motors and di�erent runs. In the following, instead
of using these o�-line techniques, based on the structural property of linear motors, some simple models
with unknown weights are used to approximate various unknown but reproducible nonlinear forces; the
unknown weights will be adjusted on-line via certain parameter adaptation law to achieve an improved
model compensation. The model approximation error as well as lumped disturbance will be handled via
certain robust control law to achieve a guaranteed robust performance.
In this paper, it is assumed that the permanent magnets of the same linear motor are all identical
and are equally spaced at a pitch of P . Thus, Fr(x1) is a periodic function with a period of P , i.e.,
Fr(x1 + P ) = Fr(x1), and it can be approximated quite accurately by the �rst several harmonics, which
is denoted as �Fr(x1) and represented by
�Fr(x1) = ATr Sr(x1) (5)
where Ar = [Ar1s; Ar1c; : : : ; Arqs; Arqc]T 2 R2q is the unknown weight, Sr(x1) = [sin(2�P x1); cos(
2�P x1);
: : : ; sin(2�qP x1); cos(2�qP x1)]
T is the known basis shape function, and q is the numbers of harmonics used
to approximate Fr(x1). The larger q is, the better �Fr(x1) approximates Fr(x1), but the larger number of
parameters to be adapted. So a trade-o� has to be made based on the particular structure of a motor.
5
For example, in [3], it was experimentally observed that the �rst and the third harmonics are suÆcient
for approximation.
It is seen that the friction model (3) is discontinuous at x2 = 0. Thus one cannot use this model for
friction compensation since there is no way that the motor can generate a discontinuous motor force to
accomplish the task. To by-pass this technical diÆculty, a simple continuous friction model will be used
to approximate the actual discontinuous friction model (3) for model compensation; the model used in
the paper is given by �Ffn = AfSf (x2), where the amplitude Af is unknown, and Sf (x2) is a continuous
function. The second equation of (4) can thus be written as:
M _x2 = u�Bx2 �AfSf (x2)�ATr Sr(x1) + d; (6)
where d = ( �Ffn � Ffn) + ( �Fr � Fr) + �.
In general, the system is subjected to parametric uncertainties due to the variations of M , B, Af , Ar
and the nominal value of the lumped disturbance d, dn. In order to use parameter adaptation to reduce
parametric uncertainties for an improved performance, it is necessary to linearly parameterize the state
space equation in terms of a set of unknown parameters. To achieve this, de�ne the unknown parameter
set � = [�1; �2; �3; �T4b; �5]
T 2 IR4+2q as �1 =M , �2 = B, �3 = Af , �4b = Ar 2 IR2q and �5 = dn. The state
space equation can thus be linearly parameterized in terms of � as
_x1 = x2; (7)
�1 _x2 = u� �2x2 � �3Sf � �T4bSr(x1) + �5 + ~d; (8)
where ~d = d� dn.
For simplicity, in the following, the following notations are used: �i for the i-th component of the vector �,
�min for the minimum value of �, and �max for the maximum value of �. the operation < for two vectors
is performed in terms of the corresponding elements of the vectors. The following practical assumption
is made
Assumption 1 The extent of the parametric uncertainties and uncertain nonlinearities are known, i.e.,
� 2 ��= f � : �min < � < �max g (9)
~d 2 d�= f ~d : j ~dj � Æd g (10)
where �min = [�1min, � � �, �5min]T , �max = [�1max, � � �, �5max]
T , and Æd are known. �
3.2 Notations and Discontinuous Projection
Let �̂ denote the estimate of � and ~� the estimation error (i.e., ~� = �̂ � �). In view of (9), the following
adaptation law with discontinuous projection modi�cation can be used
_̂� = Proj�̂(��) (11)
6
where � > 0 is a diagonal matrix, � is an adaptation function to be synthesized later. The projection
mapping Proj�̂(�) = [Proj�̂1(�1); � � � ; P roj�̂5(�5)]T is de�ned in [19, 20] as
Proj�̂i(�i) =
8><>:
0 if �̂i = �imax and �i > 0
0 if �̂i = �imin and �i < 0
�i otherwise
(12)
It can be shown [10] that for any adaptation function � , the projection mapping used in (12) guarantees
P1 �̂ 2 ��= f�̂ : �min � �̂ � �maxg
P2 ~�T (��1Proj�̂(��)� �) � 0; 8�(13)
3.3 ARC Controller Design
Noting that equation (7) does not have any uncertainties, an ARC Lyapunov function can thus be
constructed for (7) and (8) directly. De�ne a switching-function-like quantity as
p = _e+ k1e = x2 � x2eq; x2eq�= _yd � k1e; (14)
where e = y� yd(t) is the output tracking error, yd(t) is the desired trajectory to be tracked by y, and k1is any positive feedback gain. If p is small or converges to zero exponentially, then the output tracking
error e will be small or converge to zero exponentially since Gp(s) =e(s)p(s) = 1
s+k1is a stable transfer
function. So the rest of the design is to make p as small as possible. Di�erentiating (14) and noting (8),
one obtainsM _p = u� �1 _x2eq � �2x2 � �3Sf � �T4bSr + �5 + ~d;
= u+ 'T � + ~d(15)
where _x2eq�= �yd � k1 _e and 'T = [� _x2eq;�x2;�Sf (x2);�Sr(x1); 1]. Noting the structure of (15), the
following ARC control law is proposed:
u = ua + us; ua = �'T �̂; (16)
where ua is the adjustable model compensation needed for achieving perfect tracking, and us is a robust
control law to be synthesized later. Substituting (16) into (15), and then simplifying the resulting
expression, one obtains
M _p = us � 'T ~� + ~d: (17)
The robust control function us consists of two terms given by:
us = us1 + us2; us1 = �k2p; (18)
where us1 is used to stabilize the nominal system, which is a simple proportional feedback with k2 being
the feedback gain in this case; us2 is a robust feedback used to attenuate the e�ect of model uncertainties.
Noting Assumption 1 and P1 of (13), there exists a us2 such that the following two conditions are satis�ed
i pfus2 � 'T ~� + ~dg � "
ii pus2 � 0(19)
7
where " is a design parameter which can be arbitrarily small. Essentially, i of (19) shows that us2is synthesized to dominate the model uncertainties coming from both parametric uncertainties ~� and
uncertain nonlinearities ~d, and ii of (19) is to make sure that us2 is dissipating in nature so that it does
not interfere with the functionality of the adaptive control part ua.
Theorem 1 If the adaptation function in (11) is chosen as
� = 'p; (20)
then the ARC control law (16) guarantees that
A. In general, all signals are bounded. Furthermore, the positive de�nite function Vs de�ned by
Vs =1
2Mp2 (21)
is bounded above by
Vs � exp(��t)Vs(0) +"
�[1� exp(��t)]; (22)
where � = 2k2=�1max.
B. If after a �nite time t0, there exist parametric uncertainties only (i.e., ~d = 0, 8t � t0), then, in
addition to results in A, zero �nal tracking error is also achieved, i.e, e �! 0 and p �! 0 as t �!1.
Proof: See Appendix 1.
Remark 1 One smooth example of us2 satisfying (19) can be found in the following way. Let h be any
smooth function satisfying
h � k�Mkk'k + Æd; (23)
where �M = �max � �min. Then, us2 can be chosen as
us2 = �1
4"h2p: (24)
Other smooth or continuous examples of us2 can be worked out in the same way as in [10, 11, 12]. }
Remark 2 The unknown parameter �5 in (15) represents the nominal value of the lumped disturbance.
In viewing result B of Theorem 1, theoretically, the bounds of �5 should be chosen as large as possible
so that large disturbance can be compensated via the adjustable model compensation term ua in (16).
However, in practice, this should not be overdone, especially in the presence of control saturation. In
fact, by choosing proper bounds of �5 based on the control saturation level, the proposed ARC may have
a well designed built-in anti-integration windup mechanism due to the use of projection mapping in the
parameter adaptation law (11). }
8
3.4 Trajectory Initialization and Generation
It is seen from (22) that transient tracking error is a�ected by the initial value Vs(0), which may depend on
the controller parameters. To further reduce transient tracking error, the idea of trajectory initialization
[10, 21] can be utilized. Namely, instead of simply letting the desired trajectory for the controller be
the actual reference trajectory or position (i.e., yd(t) = yr(t)), yd(t) can be generated using a �lter. For
example, yd(t) can be generated by the following 3rd order stable system
y(3)d + �1y
(2)d + �2y
(1)d + �3yd = y(3)r + �1y
(2)r + �2y
(1)r + �3yr; (25)
with the initial conditions given by yd(0) = x1(0), _yd(0) = _x1(0) and �yd(0) = �x1(0). By doing so,
Vs(0) = 0 and the transient tracking error is reduced.
4 Desired Compensation ARC (DCARC)
In the ARC design presented in Section 3, the regressor ' in the model compensation ua (16) and adapta-
tion function � (20) depend on states x1 and x2. Such an adaptation structure may have several potential
implementation problems [9]. First, ' has to be calculated on-line based on the actual measurement of
the velocity x2. Thus, the e�ect of measurement noise may be severe, and a slow adaptation rate may
have to be used, which in turn reduces the e�ect of parameter adaptation. Second, despite that the
intention of introducing ua is for model compensation, because of ', ua depends on the actual feedback
of the states also. Although theoretically the e�ect of this added implicit feedback loop has been con-
sidered in the robust control law design as seen from condition i of (19), practically, there still exists
certain interactions between the model compensation ua and the robust control us. This may complicate
the controller gain tuning process in implementation. In [22], Sadegh and Horowitz proposed a desired
compensation adaptation law, in which the regressor is calculated by desired trajectory information only.
The idea was then incorporated in the ARC design in [23, 9]. In the following, the desired compensation
ARC is applied on the linear motor system, and particular structure of the linear motor dynamics is
utilized to obtain less restrictive conditions on the selection of robust feedback gains.
The proposed desired compensation ARC law and the adaptation function have the same form as (16)
and (20) respectively, but with regressor ' substituted by the desired regressor 'd:
u = ua + us; ua = �'Td �̂;
� = 'dp;(26)
where 'Td = [��yd;� _yd;�Sf ( _yd);�Sr(yd); 1]. Substituting (26) into (15), and noting x2 = _yd + _e, one
obtains
M _p = us � 'Td~� + (�1k1 � �2) _e+ �3[Sf ( _yd)� Sf (x2)] + �T4b[Sr(yd)� Sr(x1)]| {z }+~d: (27)
9
Comparing (27) with (17), it can be seen that three additional terms (underbraced) appear, which may
demand a strengthened robust control function us for a robust performance. Applying Mean Value
Theorem, we haveSf (x2)� Sf ( _yd) = gf (x2; t) _e;
Sr(x1)� Sr(yd) = gr(x1; t)e;(28)
where gf (x2; t) and gr(x1; t) are certain nonlinear functions. The strengthened robust control function
us has the same form as (18):
us = us1 + us2; us1 = �ks1p; (29)
but with ks1 being a nonlinear gain large enough such that the matrix A de�ned below is positive de�nite
A =
"ks1 � k2 � �1k1 + �2 + �3gf �1
2(k1�2 + k1�3gf � �T4bgr)
�12(k1�2 + k1�3gf � �T4bgr)
12Mk31
#(30)
and us2 is required to satisfy the following constrains similar to (19),
i pfus2 � 'Td~� + ~dg � "
ii pus2 � 0(31)
Speci�c form of us2 can be obtained using the techniques in Remark 1. For example, similar to (24), it
is chosen as
us2 = �1
4"h0
2p; (32)
where h0 is any function satisfying
h0 � k�Mkk'dk+ Æd: (33)
Remark 3 It is easy to show that A � 0, if and only if the following condition is satis�ed:
ks1 � k2 + �1k1 � �2 � �3gf +1
2�1k31(�2k1 + �3k1gf + j�T4bgrj)
2: (34)
Theorem 2 If the DCARC law (26) is applied, then
A. In general, all signals are bounded. Furthermore, the positive de�nite function Vs de�ned by
Vs =1
2Mp2 +
1
2Mk21e
2 (35)
is bounded above by
Vs � exp(��t)Vs(0) +"
�[1� exp(��t)]; (36)
where � = minf2k2=�1max; k1g.
B. If after a �nite time t0, there exist parametric uncertainties only (i.e., ~d = 0, 8t � t0), then, in
addition to results in A, zero �nal tracking error is also achieved, i.e, e �! 0 and p �! 0 as t �!1.
Proof: See Appendix 2.
10
Remark 4 The DCARC law (26) has the following advantages: (i) Since the regressor 'd depends on
the reference trajectory only, the e�ect of measurement noise is reduced; (ii) since the regressor depends
on the reference trajectory only, it is bounded and can be calculated o�-line to save on-line computation
time if needed; (iii) Due to the use of projection mapping in (11), �̂ is bounded as shown by P1 of (13).
Thus the model compensation ua in (26) is bounded no matter what type of adaptation law is going to be
used. This implies the robust control function us may be synthesized totally independent from the design
of parameter adaptation law for stability; and (iv) Gain tuning process becomes simpler since some of the
bounds like the �rst term in the right hand side of (33) can be estimated o�-line. }
Remark 5 It is noted that the condition on the selection of robust feedback gain ks1 is much less restric-
tive than those in [23, 9]. This is achieved by judiciously selecting a p.d. function given by (35) instead
of the general formulations in [23, 9]. }
Remark 6 The motor system is normally equipped with high-resolution position encoder and position
measurement feedback is normally quite clean. Comparatively, the velocity measurement is very noisy,
which signi�cantly limits the achievable performance. To further alleviate the e�ect of this noisy veloc-
ity feedback, in implementation, the parameter estimates can be updated as follows. Let j represent the
sampling instance, �T be the sampling period, i be the i-th diagonal element of �, 'd;i be the i-th com-
ponent of 'd and �i = �̂i(j�T ) + iR (j+1)�Tj�T 'd;ip dt, then the digital implementation of the continuous
adaptation law (11) with � given by (26) is
�̂i[(j + 1)�T ] =
8><>:
�imax if �i > �imax
�imin if �i < �imin
�i otherwise
(37)
The above digital implementation of parameter estimates needs the feedback of p = _e+k1e, which in turn
needs the feedback of velocity x2. Thus, the parameter estimates may be quite noisy if the measurement
of the velocity x2 is noisy. To by-pass this problem, one can rewrite �i as
�i = �̂i(j�T ) + i
Z (j+1)�T
j�T'd;i( _e+ k1e) dt: (38)
Since 'd(t) depends on the reference trajectory only and its derivative _'d(t) can be pre-computed, one
can integrate (38) by parts to obtain,
�i = �̂i(j�T ) + i(k1
Z (j+1)�T
j�T'd;ie dt+ 'd;ie
���(j+1)�T
j�T�
Z (j+1)�T
j�T_'d;i(t)e dt): (39)
Thus the parameter estimates implemented through (39) and (37) depend on the desired trajectory and
output tracking error only, which are free of velocity measurement noise | another implementation
advantage of DCARC. }
11
MATLAB/S imu l inkReal -T imeWorksh lp
M L I B M T R A C E
Real-T ime Inter face
Compl ier
Cont ro lDesk
DS1103
EncoderInterface
A/D, D/A,Digital I/O P
WM
Ampl
ifier
s
Ma in Processor
X-Y Stage (Driven by two l inear motors)
Enc
oder
Sin
gals
5X m
ultip
licat
ion
Pentium II 400
A/D,I/O
Encoder S igna ls
Y-axis
X-a
xis
Servo Control lerHost PC
Hall Sensors
Figure 1: Experimental Setup
5 Comparative Experiments
5.1 Experiment Setup
To test the proposed nonlinear ARC strategy and study fundamental problems associated with high-
speed/high-acceleration/high-accuracy motion control of linear motor drive systems, a two-axis X-Y
positioning stage is set up as a test-bed. As shown in Figure 1, the test-bed consists of four major
components: a precision X-Y stage with two integrated linear motors, two linear encoders, a servo
controller, and a host PC. The two axes of the X-Y stage are mounted orthogonally on a horizontal plane
with Y-axis on top of X-axis. A particular feature of the set-up is that the two linear motors are of
di�erent type: Y-axis is driven by an Anorad LEM-S-3-S linear motor (epoxy core) and X-axis is driven
by an Anorad LCK-S-1 linear motor (iron core). They represent two of the most commonly used linear
motors and have di�erent characteristics. The resolution of the encoders is 1 �m after quadrature. The
velocity signal is obtained by the di�erence of two consecutive position measurements. In the experiments,
only X-axis is used.
Standard least-square identi�cation is performed to obtain the parameters of the X-axis. The nominal
value of M is 0:02 (V=m=s2). To test the learning capability of the proposed DCARC algorithm, we
mount a 20lb load on the motor and the identi�ed values of the parameters are
�1 = 0:06 (V=m=s2); �2 = 0:25 (V=m=s); �3 = 0:06 (V ): (40)
Figure 2 shows the force ripple versus the load position for a stroke of 0.4 m. Frequency domain analysis of
the measured ripple forces indicates that the fundamental period corresponds to the pitch of the magnets
(P = 60mm) and that the third and �fth harmonics are the main harmonics. Thus the basis functions
are chosen as
Sr(x1) = [sin(2�
Px1); cos(
2�
Px1); sin(
6�
Px1); cos(
6�
Px1); sin(
10�
Px1); cos(
10�
Px1)]
T : (41)
12
00.05
0.10.15
0.20.25
0.30.35
0.4−
0.06
−0.04
−0.02 0
0.02
0.04
0.06
Position (m
)
Force ripple (v)
Figu
re2:
Measu
rementof
forcerip
ple
Theboundsof
theparam
etervariation
sare
thuschosen
as:
�min
=[0:01;
0:15;0:05;
�0:07;
�0:07;
�0:07;
�0:07;
�0:07;
�0:07;
�1] T
�max
=[0:10;
0:35;0:09;
+0:07;
+0:07;
+0:07;
+0:07;
+0:07;
+0:07;
+1] T
5.2
PerformanceIndex
Asin
[23,8],
thefollow
ingperform
ance
indexes
will
beused
tomeasu
rethequality
ofeach
control
algorithm:
�L2 [e]
= r1Tf R
Tf
0jej 2d
t,thescalar
valued
L2norm
,isused
asan
objective
numerical
measu
reof
avera
getra
ckingperfo
rmance
foran
entire
errorcurve
e(t),where
Tfrep
resents
thetotal
running
time;
�eM
=maxtfje(t)jg,
themaxim
alabsolu
tevalu
eof
thetrack
ingerror,
isused
asan
index
ofmeasu
re
oftra
nsien
tperfo
rmance;
�eF=
max
Tf�2�t�
Tf fje(t)jg,
themaxim
alabsolu
tevalu
eof
thetrack
ingerror
durin
gthelast
2secon
ds,
isused
asan
index
ofmeasu
reof
�naltra
ckingaccu
racy;
�L2 [u
]= r
1Tf R
Tf
0juj 2d
t,theaverage
control
input,isused
toevalu
atetheam
ountof
contro
le�
ort;
13
� cu =L2[�u]L2[u]
, the normalized control variations, is used to measure the degree of control chattering,
where
L2[�u] =
vuut 1
N
NXj=1
ju(j�T )� u((j � 1)�T )j2 :
is the average of control input increments.
5.3 Comparative Experimental Results
Experiments were performed with the X-axis. The control system is implemented using a dSPACE
DS1103 controller board. The controller executes programs at a sampling frequency fs = 2:5kHz, which
results in a velocity measurement resolution of 0:0025 m=sec.
In [13], experimental results have shown that DCARC achieves better performance than ARC does in
terms of all performance indexes. Thus in this paper, only DCARC algorithm is implemented and focus
is on the comparison of the following three controllers:
PID: PID controller with feedforward anticipation. The linear motor system described by (6) can be
rewritten as
�1�y(t) + �2 _y(t) + �3Sf ( _y) = u+ dr; (42)
where dr = �Ffn � Ffn + Fd � Fr. As before, the following variables are available (either measured or
computed) for control implementation: y(t); _y(t); yd(t); _yd(t) and �yd(t). Suppose that the parameters of
(42) are known, the control objective can be achieved with the following PID control law
u = �1�yd(t) + �2 _y(t) + �3Sf ( _y)�Kpe�Ki
Ze dt�Kd _e: (43)
Closing the loop by applying (43) to (42) easily leads to the closed-loop characteristic equation
s3 +Kd
�1s2 +
Kp
�1s+
Ki
�1= 0: (44)
By placing the closed-loop poles at desired locations, the design parameters Kp;Ki and Kd can thus be
determined. In the experiments, since the �1, �2 and �3 are unknown parameters, instead of using (43)
the following control law is used
u = �̂1(0)�yd(t) + �̂2(0) _y(t) + �̂3(0)Sf ( _y)�Kpe�Ki
Ze dt�Kd _e; (45)
where �̂1(0), �̂2(0) and �̂3(0) are the �xed parameter estimates chosen as 0.05, 0.25 and 0.06, respectively.
All the three nominal closed-loop poles are placed at �300 with Kp = 5:4 � 103, Ki = 5:4 � 105 and
Kd = 18.
14
DCARC1 (with force ripple compensation): the controller proposed in section 4. The robust
control term us in (26) is implemented as follows. Let ks be a feedback gain large enough such that
k0s = maxfkp1 +1
4"0h0
2; kp2 + c(jpj � p0)
2g � ks1 +1
4"0h02; (46)
where h0 is de�ned in (33), c and p0 are two empirical parameters. Then, the control function us =
�k0sp satis�es (29) and (31). The parameters of the controller are chosen as: k1 = 400, kp1 = 20,
kp2 = 30, "0 = 10, p0 = 0:02, c = 2 � 105 whenever jpj > p0 and c = 0 whenever jpj � p0.
The continuous function Sf (x2) is chosen as 2� arctan(1000x2). The adaptation rates are set as � =
diagf25; 10; 10; 500; 500; 500; 500; 100; 100; 1200g. The initial parameter estimates are chosen as: �̂(0) =
[0:05; 0:25; 0:06; 0; 0; 0; 0; 0; 0; 0]T .
DCARC2 (without force ripple compensation): The same control law as the above DCARC but
without force ripple compensation, i.e., letting � = diagf25; 10; 10; 0; 0; 0; 0; 0; 0; 1200g.
To test the tracking performance of the proposed algorithm, the following three typical reference trajec-
tories are considered.
Case 1: Tracking a sinusoidal trajectory yr = 0:05sin(4t)
Comparative experiments are run for tracking a sinusoidal trajectory. The desired trajectory yd is gen-
erated by (25) in which �1 = 150, �2 = 7500 and �3 = 125000. The following test sets are performed:
set 1: To test the nominal tracking performance of the controllers, the motor is run without payload,
which is equivalent to �1 = 0:02;
set 2: To test the performance robustness of the algorithms to parameter variations, a 20lb payload is
mounted on the motor, which is equivalent to �1 = 0:06;
set 3: A large step disturbance (a simulated 0.5V electrical signal) is added at t=2.5s and removed at
t=7.5s to test the performance robustness of each controller to disturbance.
set 1 set 2 set 3
controller PID DCARC1 DCARC2 PID DCARC1 DCARC2 PID DCARC1 DCARC2
eM (�m) 108 18.1 20.2 131 7.07 8.25 98.3 50.0 54.8
eF (�m) 6.39 5.13 5.17 7.89 5.18 5.14 7.93 5.34 5.53
L2[e] (�m) 2.80 1.08 1.44 4.71 1.10 1.47 4.15 2.12 2.76
L2[u] (V ) 0.119 0.117 0.116 0.129 0.121 0.121 0.379 0.381 0.380
L2[�u] (V ) 0.042 0.037 0.037 0.041 0.036 0.036 0.041 0.038 0.038
cu 0.350 0.313 0.318 0.314 0.299 0.300 0.109 0.099 0.100
Table 1
The experimental results in terms of performance indexes are given in table 1. As seen from the table,
in terms of performance indexes eM and eF , PID performs poorly for all three sets, even with a slightly
larger degree of control input chattering. One may argue that the performance of PID control can be
15
further improved by increasing the feedback gains. However, in practice, feedback gains have upper
limits because the bandwidth of every physical system is �nite. To verify this claim, the nominal closed-
loop poles of PID controller are placed at �320 instead of �300, which is translated into PID gains of
Kp = 6144, Ki = 655360 and Kd = 19:2. With these gains, the closed-loop system is found to unstable
in experiments, which indicates that the closed-loop bandwidth that a PID controller can achieve in
implementation has been pushed almost to its limit and not much further performance improvement
can be expected from PID controllers. Thus, in order to realize the high-acceleration/high-speed/high-
accuracy potential of a linear motor system, a PID controller even with feedforward compensation is not
enough.
In terms of cu, both DCARC controllers have a better performance than PID controller. Due to the use
of desired compensation structure and the free-velocity-feedback implementation of parameter adaptation
law presented in Remark 6, DCARC is not so sensitive to velocity measurement noise and thus results
in a smaller degree of control chattering.
For Set 1, the tracking errors are given in Figure 3. If the two DCARC controllers are compared, it is
seen that DCARC1 performs better in terms of L2[e], which illustrates the e�ectiveness of using force
ripple compensation. For Set 2, the tracking errors are given in Figure 4. It shows that both DCARC
controllers achieve good tracking performance in spite of the change of inertia load. The tracking errors
for Set 3 are given in Figure 5. As seen from the �gures, the added large disturbance does not a�ect the
performance of DCARC much, except for the spike when the sudden change of the disturbance occurs.
This result illustrates the performance robustness of the DCARC design. (The tracking errors of PID
controller are chopped o� in Figure 3{5).
Case 2: High-acceleration/high-speed point-to-point motion trajectory (without load)
A fast point-to-point desired motion trajectory with high-acceleration/deceleration, which runs back and
forth several times, is shown in Figure 6. The trajectory has a maximum velocity of vmax = 1 m=s
and a maximum acceleration of amax = 12 m=s2. The tracking errors of PID, DCARC1 and DCARC2
are shown in Figure 7. As seen, both DCARC controllers achieve much better performance than PID
does. Furthermore, during the zero velocity portion of motion, the tracking errors are within �1�m. It
illustrates that using force ripple compensation in high-speed applications does not a�ect the stability of
the closed-loop system, owning to the use of parameter projection mapping.
Case 3: Low-speed point-to-point motion trajectory (without load)
Both DCARC controllers are tested for a slow point-to-point motion trajectory similar to the trajectory
shown in Figure 6, but with a maximum velocity of vmax = 0:1 m=s and a maximum acceleration of
amax = 2 m=s2. The tracking errors are shown in Figure 8. In terms of L2[e], DCARC1 (0.7 �m)
again performs better than DCARC2 (1.0 �m), which further illustrates the e�ectiveness of force ripple
compensation in low-speed applications.
16
6 Conclusions
In this paper, a desired compensation ARC controller with ripple force compensation has been developedfor high performance robust motion control of linear motors. The proposed controller takes into accountthe e�ect of model uncertainties coming from the inertia load, friction force, force ripple and externaldisturbances. In particular, based on the special structure of the ripple forces, design models consisting ofknown basis functions with unknown weights are used to approximate the unknown nonlinear ripple forces.On-line parameter adaptation is then utilized to reduce the e�ect of various parametric uncertaintieswhile the uncompensated uncertain nonlinearities are handled e�ectively via certain robust control lawsfor high performance. As a result, time-consuming and costly rigorous o�-line identi�cation of frictionand ripple forces is avoided without sacri�cing tracking performance. Furthermore, it is shown thatthe desired compensation ARC scheme, in which the regressor is calculated using reference trajectoryinformation only, o�ers several implementation advantages such as less on-line computation time, reducede�ect of measurement noise, a separation of robust control design from parameter adaptation, and afaster adaptation rate in implementation. Comparative experimental results are obtained for the high-acceleration/high-speed motion control of an iron core linear motor. Experimental results verify thehigh-performance nature of the proposed scheme.
References
[1] D. M. Alter and T. C. Tsao, \Control of linear motors for machine tool feed drives: design and implementation
of h1 optimal feedback control," ASME J. of Dynamic systems, Measurement, and Control, vol. 118, pp. 649{
656, 1996.
[2] D. M. Alter and T. C. Tsao, \Dynamic sti�ness enhancement of direct linear motor feed drives for machining,"
in Proc. of American Control Conference, pp. 3303{3307, 1994.
[3] P. V. Braembussche, J. Swevers, H. V. Brussel, and P. Vanherck, \Accurate Tracking control of Linear
Synchronous Motor Machine tool Axes," Mechatronics, vol. 6, no. 5, pp. 507{521, 1996.
[4] S. Komada, M. Ishida, K. Ohnishi, and T. Hori, \Disturbance Observer-Based Motion Control of Direct Drive
Motors," IEEE Transactions on Energy Conversion, vol. 6, no. 3, pp. 553{559, 1991.
[5] T. Egami and T. Tsuchiya, \Disturbance Suppression Control with Preview Action of Linear DC Brushless
Motor," IEEE Transactions on Industrial Electronics, vol. 42, no. 5, pp. 494{500, 1995.
[6] G. Otten, T. Vries, J. Amerongen, A. Rankers, and E. Gaal, \Linear Motor Motion Control Using a Learning
Feedforward Controller," IEEE/ASME Transactions on Mechatronics, vol. 2, no. 3, pp. 179{187, 1997.
[7] K. Ohnishi, M. Shibata, and T. Murakami, \Motion control for advanced mechatronics," IEEE/ASME Trans.
on Mechatronics, vol. 1, no. 1, pp. 56{67, 1996.
[8] B. Yao, M. Al-Majed, and M. Tomizuka, \High performance robust motion control of machine tools: An
adaptive robust control approach and comparative experiments," IEEE/ASME Trans. on Mechatronics, vol. 2,
no. 2, pp. 63{76, 1997. (Part of the paper also appeared in Proc. of 1997 American Control Conference ).
[9] B. Yao and L. Xu, \Adaptive robust control of linear motors for precision manufacturing," in The 14th IFAC
World Congress, Vol. A, pp. 25{30, 1999.
17
[10] B. Yao and M. Tomizuka, \Smooth robust adaptive sliding mode control of robot manipulators with guaranteed
transient performance," Trans. of ASME, Journal of Dynamic Systems, Measurement and Control, vol. 118,
no. 4, pp. 764{775, 1996. Part of the paper also appeared in the Proc. of 1994 American Control Conference.
[11] B. Yao and M. Tomizuka, \Adaptive robust control of siso nonlinear systems in a semi-strict feedback form,"
Automatica, vol. 33, no. 5, pp. 893{900, 1997. (Part of the paper appeared in Proc. of 1995 American Control
Conference, pp2500-2505).
[12] B. Yao, \High performance adaptive robust control of nonlinear systems: a general framework and new
schemes," in Proc. of IEEE Conference on Decision and Control, pp. 2489{2494, 1997.
[13] L. Xu and B. Yao, \Adaptive robust precision motion control of linear motors with negligible electrical
dynamics: theory and experiments," 2000. submitted to 2000 American Control Conference.
[14] J. Y. Hung and Z. Ding, \Design of currents to reduce torque ripple in brushless permanent magnet motors,"
Proc. Inst. Elect. Elect. Eng., vol. 140, no. 4, pp. 260{266, 1993.
[15] D. C. Hanselman, Brushless Permanent-Magnet Motor Design. McGraw-Hill, Inc., 1994.
[16] C. C. de Wit, H. Olsson, K. J. Astrom, and P. Lischinsky, \A new model for control of systems with friction,"
IEEE Trans. on Automatic Control, vol. 40, no. 3, pp. 419{425, 1995.
[17] A. Brian and D. Pierre, \A survey of Models, Analysis Tools and Compensation Methods for the Control of
Machines with Friction," Automatica, vol. 30, no. 7, pp. 1083{1138, 1994.
[18] H. S. Lee and M. Tomizuka, \Robust motion contoller design for high-accuracy positioning systems," IEEE
Trans. on Industrial Electronics, vol. 43, no. 1, pp. 48{55, 1996.
[19] S. Sastry and M. Bodson, Adaptive Control: Stability, Convergence and Robustness. Englewood Cli�s, NJ
07632, USA: Prentice Hall, Inc., 1989.
[20] G. C. Goodwin and D. Q. Mayne, \A parameter estimation perspective of continuous time model reference
adaptive control," Automatica, vol. 23, no. 1, pp. 57{70, 1989.
[21] M. Krstic, I. Kanellakopoulos, and P. V. Kokotovic, Nonlinear and adaptive control design. New York: Wiley,
1995.
[22] N. Sadegh and R. Horowitz, \Stability and robustness analysis of a class of adaptive controllers for robot
manipulators," Int. J. Robotic Research, vol. 9, no. 3, pp. 74{92, 1990.
[23] B. Yao and M. Tomizuka, \Comparative experiments of robust and adaptive control with new robust adaptive
controllers for robot manipulators," in Proc. of IEEE Conf. on Decision and Control, pp. 1290{1295, 1994.
Appendix 1
Proof of Theorem 1: From (17) and (18), the derivative of Vs is given by
_Vs = �k2p2 + pfus2 � 'T ~� + ~dg: (47)
Noting condition i of (19), and choosing � = minf2k2=�1maxg, we have
_Vs � �k2p2 + " � ��Vs + "; (48)
18
which leads to (22) and thus proves the results in A of Theorem 1. Now consider the situation in B of
Theorem 1, i.e., ~d = 0, 8t � t0. Choose a p.d. function Va as
Va = Vs +1
2~�T��1~�: (49)
From (47), condition ii of (19) and P2 of (13), the derivative of Va satis�es
_Va = _Vs + ~�T��1 _̂� � �k2p2 + ~�T��1(
_̂� � ��) � �k2p
2: (50)
Therefore, p 2 L2. It is easy to check that _p is bounded. So, p is uniformly continuous. By Barbalat's
lemma, p �! 0 as t �!1. 2
Appendix 2
Proof of Theorem 2: Along the trajectory of (27), the time derivative of Vs given by (35) is
_Vs = pfus � 'Td~� + (�1k1 � �2) _e+ �3[Sf ( _yd)� Sf (x2)] + �T4b[Sr(yd)� Sr(x1)] + ~dg+Mk21e _e (51)
Applying (28) and (29), and noting _e = p� k1e and �1 =M , we have
_Vs � pfus2 � 'Td~� + ~dg+ (�ks1 + �1k1 � �2 � �3gf )p
2 + (�2k1 + �3k1gf � �T4bgr)ep�Mk31e2 (52)
If A given by (30) is p.d., then
_Vs � pfus2 � 'Td~� + ~dg � k2p
2 �1
2Mk31e
2 (53)
With condition i of (31) and � = minf2k2=�1max; k1g, the derivative of Vs becomes
_Vs � ��Vs + "; (54)
which leads to (36) and the results in A of Theorem 2 is proved. Now consider the situation in B of
Theorem 2, i.e., ~d = 0, 8t � t0. Choose a p.d. function Va as
Va = Vs +1
2~�T��1~�: (55)
From (53), condition ii of (31), and P2 of (13), the derivative of Va satis�es
_Va = _Vs + ~�T��1 _̂� � �k2p2 �
1
2Mk31e
2 + ~�T��1(_̂� � ��) � �W; (56)
where W = k2p2 + 1
2Mk31e2. Therefore, W 2 L1 and Va 2 L1. Since all signals are bounded, it is easy
to check that _W is bounded and thus uniformly continuous. By Barbalat's lemma, W �! 0 as t �! 1,
which implies the conclusion B of Theorem 2. 2
19
0 1 2 3 4 5 6 7 8 9 10
−20
0
20
PID
0 1 2 3 4 5 6 7 8 9 10
−20
0
20T
rack
ing
Err
or (µ
m)
DCARC1
0 1 2 3 4 5 6 7 8 9 10
−20
0
20
Time (sec)
DCARC2
Figure 3: Tracking errors for sinusoidal trajectory without load
0 1 2 3 4 5 6 7 8 9 10−20
0
20
PID
0 1 2 3 4 5 6 7 8 9 10−20
0
20
Tra
ckin
g E
rror
(µ m
)
DCARC1
0 1 2 3 4 5 6 7 8 9 10−20
0
20
Time (sec)
DCARC2
Figure 4: Tracking errors for sinusoidal trajectory with load
20
01
23
45
67
89
10
−50 0 50
PID
01
23
45
67
89
10
−50 0 50
Tracking Error (µ m)
DC
AR
C1
01
23
45
67
89
10
−50 0 50
Tim
e (sec)
DC
AR
C2
Figu
re5:
Track
ingerrors
forsin
usoid
altra
jectorywith
distu
rbance
01
23
45
67
89
100
0.1
0.2
0.3
0.4
Tim
e (sec)
Positsion (m)
01
23
45
67
89
10−
1
−0.5 0
0.5 1
Tim
e (sec)
Velocity (m/s)
01
23
45
67
89
10
−10
−5 0 5 10
Tim
e (sec)
Acceleration (m/s2)
Figu
re6:
High
-acceleration/high
-speed
poin
t-to-poin
tmotion
trajectory
21
01
23
45
67
89
10
−20 0 20
PID
01
23
45
67
89
10
−20 0 20
Tracking Error (µ m)
DC
AR
C1
01
23
45
67
89
10
−20 0 20
Tim
e (sec)
DC
AR
C2
Figu
re7:
Track
ingerrors
forhigh
-acceleration/high
-speed
poin
t-to-poin
tmotion
trajectory
01
23
45
67
89
10−
6
−4
−2 0 2 4 6
Tracking Error (µ m)
Tim
e (sec)
DC
AR
C1
01
23
45
67
89
10−
6
−4
−2 0 2 4 6
Tracking Error (µ m)
DC
AR
C2
Figu
re8:
Track
ingerrors
forlow
-speed
poin
t-to-poin
tmotion
trajectory
22