A MATLAB toolkit for composite nonlinear feedback control — improving transient response in tracking control
ABSTRACT We present in this article a MATLAB toolkit with a user-friendly graphical interface for composite nonlinear feedback control
system design. The toolkit can be utilized to design a fast and smooth tracking controller for a class of linear systems and
nonlinear systems with actuator and other nonlinearities as well as with external disturbances. The parameters of the controller
can be tuned easily on the user panel or autotuned by the toolkit. The toolkit is capable of displaying both time-domain and
frequency-domain responses on its main panel and generating three different types of control laws, namely, the state feedback,
the full-order measurement feedback and the reduced-order measurement feedback controllers. The usage and design procedure
of the toolkit are illustrated by practical examples on a rotational/translational actuator (RTAC) system and a hard disk
drive servo system. The toolkit can be utilized to design servo systems that deal with point-and-shoot fast targeting.
KeywordsNonlinear control-Actuator saturation-Tracking control-Computer-aided design
-
Citations (0)
-
Cited In (0)
Page 1
J Control Theory Appl 2010 8 (3) 271–279
DOI 10.1007/s11768-010-0026-7
A MATLAB toolkit for composite nonlinear feedback
control – improving transient response in
tracking control
Guoyang CHENG1,2, Ben M. CHEN2, Kemao PENG3, Tong H. LEE2
(1.College of Electrical Engineering and Automation, Fuzhou University, Fuzhou Fujian 350108, China;
2.Department of Electrical and Computer Engineering, National University of Singapore, Singapore 117576;
3.Temasek Laboratories, National University of Singapore, Singapore 117508)
Abstract: We present in this article a MATLAB toolkit with a user-friendly graphical interface for composite non-
linear feedback control system design. The toolkit can be utilized to design a fast and smooth tracking controller for a
class of linear systems and nonlinear systems with actuator and other nonlinearities as well as with external disturbances.
The parameters of the controller can be tuned easily on the user panel or autotuned by the toolkit. The toolkit is capable of
displaying both time-domain and frequency-domain responses on its main panel and generating three different types of con-
trol laws, namely, the state feedback, the full-order measurement feedback and the reduced-order measurement feedback
controllers. The usage and design procedure of the toolkit are illustrated by practical examples on a rotational/translational
actuator (RTAC) system and a hard disk drive servo system. The toolkit can be utilized to design servo systems that deal
with point-and-shoot fast targeting.
Keywords: Nonlinear control; Actuator saturation; Tracking control; Computer-aided design
1Introduction
Transient performance is one of the important issues in
tracking control problems such as target tracking and out-
put regulation (see [1, 2]). In general, quick response and
small overshoot are desirable in most of the target-tracking
control problems. However, it is well known that quick re-
sponse results in a large overshoot. Thus, most of the design
schemes have to make a tradeoff between these two tran-
sient performance indices, which is especially true for phys-
ical systems with input saturation. To improve the tracking
performance, a composite nonlinear feedback (CNF) con-
trol technique is developed in [3] for a class of second-order
linear systems with input saturation. The technique is ex-
tended in [4] to higher order and multiple input systems un-
der some restrictive assumptions. However, both [3] and [4]
consider only the state feedback case. Recently, the prob-
lem has been solved in [5,6] for general linear systems with
measurement feedback and in [7] for a class of nonlinear
systems with input saturation. The CNF control technique
has also been successfully utilized to design hard disk drive
servo systems (see [5,6,8]) and adopted to improve control
performance for a nonlinear benchmark problem of [9] (see
also [10,11]).
The CNF control consists of a linear feedback law and a
nonlinear feedback law without any switching element. The
linear feedback part is designed to yield a closed-loop sys-
tem with a small damping ratio for a quick response, while
at the same time not exceeding the actuator limits for de-
sired command input levels. The nonlinear feedback law is
used to increase the damping ratio of the closed-loop system
as the system output approaches the target reference to re-
duce overshoot caused by the linear part. Basically, the CNF
control design philosophy is to combine the good properties
associated with largely and slightly damped systems (see
Fig.1): At the initial stage when the system output is far
away from the target reference, the CNF control utilizes a
control law that gives a small damping ratio in the resulting
closed-loop system to produce a fast rise time. At the final
stage when the system output is approaching the target, the
CNF control makes use of a control law that yields a large
damping ratio to minimize overshoot and undershoot in the
response. The overall design is achieved through a smooth
nonlinear gain.
Fig. 1 The design philosophy of the CNF tracking control.
Received 1 February 2010.
This work was partly supported by the Scientific Research Foundation for Returned Overseas Chinese Scholars, Ministry of Education of China
(No.LXKQ0804).
c ? South China University of Technology and Academy of Mathematics and Systems Science, CAS and Springer-Verlag Berlin Heidelberg 2010
Page 2
272
G. CHENG et al. / J Control Theory Appl 2010 8 (3) 271–279
The CNF design involves some matrix calculations and
parameter selections. Especially with those parameters for
forming the nonlinear feedback law, some tuning and retun-
ing are needed to obtain the best possible solutions. Hence,
it is desirable to have a toolkit to facilitate the design pro-
cess. This motivated us to develop a MATLAB toolkit with
a user-friendly graphical interface for the CNF control de-
sign. The toolkit can be utilized to design fast and smooth
tracking controllers for general SISO linear systems and
a class of nonlinear systems with actuator saturation and
other nonlinearities such as friction, as well as external dis-
turbances. The toolkit can display both time-domain and
frequency-domain responses on its main panel and generate
three different types of control laws, namely, the state feed-
back, the full-order measurement feedback and the reduced-
order measurement feedback controllers. The usage and de-
sign procedures of the toolkit are illustrated by a nonlinear
benchmark problem and a practical example on the design
of a hard disk drive servo system.
2 Theoretical formulation
We recall in this section the theory of the CNF control
for plants with nonlinearities and disturbances. To be pre-
cise, we consider a given plant characterized by
˙ q = f(q,?(x),h), q(0) = q0,
˙ x = Ax + B sat(g(y) + u) + Ew, x(0) = x0, (2)
y = C1x,
h = C2x + D2sat(g(y) + u),
where(q,x) ∈ Rm×Rn,u ∈ R,y ∈ Rp,h ∈ R,andw ∈ R
are, respectively, the state, control input, measurement out-
put, controlled output, and disturbance input of the system;
f(·,·,·) is a smooth (C∞) function characterizing the sys-
tem nonlinear dynamics, ?(x) represents some appropriate
elements of x, g(y) is a nonlinear function representing the
plant nonlinearities; and A, B, C1, C2, D2, and E are ap-
propriately dimensional constant matrices. The function sat:
R → R represents the actuator saturation defined as
⎧
⎩
when the system nonlinear dynamics ˙ q = f(q,?(x),h) is
nonexistent, (1)∼(4) are reduced to a linear system with in-
put saturation. The following assumptions are made:
1) (A,B) is stabilizable, and (A,C1) is detectable;
2) (A,B,C2,D2) has no invariant zero at s = 0;
3) w is unknown constant disturbance;
4) h is measurable (h is part of the measurement output);
5) There exist a smooth positive-definite function V (q)
and class K∞functions α1and α2such that
α1(|q|) ? V (q) ? α2(|q|),
∂V (q)
∂q
for all q ∈ Ω ⊆ Rm, where Ω is a compact set containing
the origin, and r is the target reference.
Assumptions 1)∼4) are standard for tracking control
problems. Assumption 5) implies that the system nonlinear
(1)
(3)
(4)
sat(u) =
⎨
−umax,
u,
umax,
if u < −umax,
if
− umax? u ? umax,
if u > umax,
where umaxis the saturation level of the input. Note that
f(q,0,r) < 0,
dynamics is asymptotically stable. We summarize in the fol-
lowing the step-by-step design procedure for constructing a
CNF control law for the state feedback case, that is, for the
case when y = x.
Step 1
Given a target reference r, we define
˙ z = κie = κi(h − r),
where κiis the integration gain, and obtain the auxiliary
system
˙¯ x =¯A ¯ x +¯B sat(g(y) + u) +¯Brr +¯E w,
¯ y =¯C1¯ x,
where
?z
¯A =
0
A
?0
Note that this step is not necessary if (2) does not have
external disturbances.
Step 2
Design a linear feedback control law
uL= F ¯ x + Gr,
where F is chosen such that 1)¯A +¯BF is an asymptot-
ically stable matrix, and 2) the closed-loop system (¯C2+
D2F)(sI −¯A −¯BF)−1¯B + D2has certain desired prop-
erties. Let us partition F = [Fz Fx] in conformity with z
and x. The general guideline in designing such an F is to
place the closed-loop pole of¯A +¯BF corresponding to the
integration mode z to be sufficiently closer to the imaginary
axis compared to the remaining eigenvalues, which implies
that Fzis a relatively small scalar. The remaining closed-
loop poles of¯A +¯BF are placed to have a dominant pair
with a small damping ratio, which, in turn, would yield a
fast rise time in the closed-loop system response. Lastly, G
is chosen as
G = [D2− (C2+ D2Fx)(A + BFx)−1B]−1.
Next, we define
?
Step 3
Given a positive-definite symmetric matrix W ∈
R(n+1)×(n+1), we solve
(¯A +¯BF)?P + P(¯A +¯BF) = −W
for P > 0. Such a solution exists as (¯A +¯BF) is asymp-
totically stable. The nonlinear feedback portion of the CNF
control law uNis then given by
uN= ρ(e)¯B?P(¯ x − ¯ xe),
where ρ(e), with e = h − r being the tracking error, is a
smooth, nonpositive and nondecreasing function of |e|, to
be used to gradually change the closed-loop system damp-
ing ratio to improve tracking performance.
We note that the design parameter W is generally used
to tune the desired closed-loop poles at the steady-state sit-
uation. Several forms of nonlinear function ρ(e) have been
suggested in [3,5,6,8]. Especially, the one proposed in [8]
is a scaled nonlinear function with a better performance ro-
(5)
(6)
h =¯C2¯ x + D2sat(g(y) + u),
¯ x =
x
?
, ¯ x0=
?
,¯C1=
?0
¯B =
x0
?
?κiD2
?
, ¯ y =
?z
y
?
,
?0 κiC2
?
,
B
?
,
¯Br=
?−κi
0
?
,
¯E =
E
?1 0
0 C1
,
¯C2= [0 C2].
Ge=
0
−(A + BFx)−1BG
?
, ¯ xe= Ger.
Page 3
G. CHENG et al. / J Control Theory Appl 2010 8 (3) 271–279
273
bustness to variation of tracking targets
ρ(e) = −βe−αα0|e|
with
(7)
α0=
⎧
⎩
⎨
1
|e(0)|, if e(0) ?= 0,
1,
if e(0) = 0,
in which α and β are positive scalars that can be tuned to
improvetrackingperformances.Thedetailedinterpretations
of these parameters can be found in [5] and [6]. Since pa-
rameters α and β have a significant impact on the transient
performance, it is sensible to autotune the values of α and β
to optimize some performance criteria, e.g., the integral of
time multiplied absolute value of error (ITAE),
I(α,β) =
0
which makes a balanced trade-off between overshoot and
quick response in the transient performance. An autotuning
procedure with the Hooke-Jeeves method is proposed in [8].
Step 4
The linear feedback control law and nonlinear
feedback portion derived in the previous steps together with
a nonlinearity compensation are now combined to form the
CNF control law
u = upre+ uL+ uN
= −g(y) + F ¯ x + Gr + ρ(e)¯B?P(¯ x − ¯ xe).
For the measurement feedback case, the state variable x,
containedin ¯ xoftheCNFstatefeedbacklaw(9),isreplaced
?∞
t|e(t)|dt,
(8)
(9)
by an estimation using either a full-order or reduced-order
observer. The detailed derivation is rather involved. We re-
fer interested readers to [6] (see also [12]) for details.
Finally, for the case when the target reference r is a
time-varying function, for example, a sinusoidal function,
one can reformulate the problem into an equivalent output
regulation problem by augmenting an additional exosystem
(see [11,13,14]). Our CNF toolkit can thus be used to solve
such a problem by tuning an appropriate control law for the
augmented system with a target reference r = 0.
3Software framework and user guide
The CNF control toolkit is developed under MATLAB
together with Simulink. The toolkit fully utilizes the graph-
ical user interface (GUI) resources of MATLAB and pro-
vides a user-friendly graphical interface. The main interface
of the toolkit consists of three panels: the panel for conduct-
ing simulation, the panel for setting up system data and the
panel for specifying an appropriate controller. We illustrate
the design procedure using our CNF control toolkit in the
following:
Stage 1(Initialization)Once the toolkit is properly ex-
ecuted in MATLAB, a main panel as shown in Fig.2 will
be generated in a popup window. Users have to first enter
required data for a system to be controlled and then specify
an appropriate controller structure before running simula-
tion on this panel.
Fig. 2 The main panel of the CNF control toolkit. This is the main GUI of the toolkit, on which users can tune controller parameters,
run simulation setup and view time-domain responses.
Stage 2(Plant model setup) To enter system data, users
need to click on the box labeled with “PLANT” to open
the plant model setup panel as shown in Fig.3. In addition
to the state space model of (1)∼(4), the toolkit also allows
users to specify resonance modes of the plant as well on
this panel. We note that high-frequency resonance modes
are existent almost in all mechanical systems. Because of
the complexity of resonance modes, they are generally ig-
nored or simplified in the controller design stage. However,
these resonance modes have to be included in the simulation
and evaluation of the overall control system design.
Each time a plant model is keyed in or modified on the
panel, the toolkit automatically runs a checkup on the sys-
tem stabilizability, detectability, invertibility, and other re-
quirements. For a nonlinear system, the toolkit also checks
the stability of its nonlinear dynamics. Users will be warned
if the solvability conditions for the CNF tracking control are
not satisfied, and they have to revise the model before pro-
ceeding to controller design.
Page 4
274
G. CHENG et al. / J Control Theory Appl 2010 8 (3) 271–279
Stage 3(Controller setup)
the CNF controller design is to be proceeded in a config-
urable and convenient fashion. A controller setup panel as
shown in Fig.4 is opened when the user activates the box
marked with CONTROLLER in the main panel. This panel
As the core of this toolkit,
carries a block diagram for an adjustable controller config-
uration, which automatically refreshes when the user makes
any change or reselection on the controller structure. Users
need to decide a controller structure before proceeding to
specify the corresponding controller parameters.
Fig. 3 The panel for the plant model setup. In this panel users define their plant model, including nominal model, plant nonlinearities,
resonance modes and disturbances, if applicable.
Fig. 4 The panel for the CNF controller setup. In this panel users choose the structure of controller and enter initial values for
controller parameters, which can be further tuned in the main panel.
Page 5
G. CHENG et al. / J Control Theory Appl 2010 8 (3) 271–279
275
The following options are available for the controller in
the CNF control toolkit:
1) If (2) and (4) have some nonlinearities, users can
choose the precompensation option and enter an appropri-
ate nonlinear function to cancel as many nonlinearities as
possible.
2)If(2)hassomeunknownconstantdisturbancesorother
types of disturbances, users can select a controller structure
with integrator to remove the steady-state bias.
3) If (1)∼(4) are the nominal models of a noisy plant,
whichhashigh-frequencyresonancemodes,usersmighten-
ter a predesigned lowpass or notch filter to minimize their
effects on the overall performance.
4) Based on the properties of (1)∼(4) and personal inter-
est, users can then choose a controller with either one of the
following options:
a) State feedback;
b) Full-order measurement feedback;
c) Reduced-order measurement feedback.
When it comes to the design of the state feedback gain F,
users have three choices. They can either specify an explicit
matrix (obtained through any other design methodologies
such as H∞control) for F, or employ the H2control tech-
nique (provided on the panel), or use the pole placement
method characterized by the damping ratio and natural fre-
quency of the dominant poles as well as integration pole and
gain (if applicable). For the pole placement method, the re-
maining closed-loop poles are placed three times faster than
the dominant pair with a Butterworth pattern.
In the case of measurement feedback control, users also
have three choices for the design of the observer gain K.
They can directly enter a predesigned solution for K, or de-
sign it online using the H2control technique, or using the
pole placement method to organize the observer poles into
the pattern of a Butterworth filter with an appropriate band-
width. In each case, the corresponding parameters can be
further tuned on the main panel to obtain a satisfactory per-
formance for the overall system.
Stage 4(Design and simulation)
setup and the controller setup are completed, users can then
specify directly on the panel the simulation parameters,
such as the setpoint for the target reference, the duration
of simulation and the step size. They can also define the
tracking performance indicator and obtain the result for set-
tling time and steady-state bias of the controlled output re-
sponse. The integral of time multiplied absolute value of er-
ror(ITAE)isalsoprovidedasacomprehensiveperformance
index. For example, in Fig.2, the settling time is defined as
the time when the controlled output of the closed-loop sys-
tem enters the neighborhood of ±0.05 of the target refer-
ence. Alternatively, one can define such a neighborhood in
terms of the percentage of the final target instead of the ab-
solute error bound.
As mentioned in the previous section, the CNF controller
consists of two parts, a linear part and a nonlinear part. On
the main panel, users are able to tune the properties of the
linear part by selecting appropriate values of the damping
ratio and natural frequency of the dominant modes of the
linear state feedback dynamical matrix A + BF. The re-
maining eigenvalues of A + BF are placed 3 times faster
Once the plant model
than the dominant modes with a Butterworth pattern. Such
an arrangement is purely for the simplification of the con-
trol system design. The pole corresponding to the integrator
part, if applicable, can be tuned on this main panel as well.
Alternatively, users are allowed to apply the H2design with
a tunable parameter ε, or directly specify a state feedback
gain matrix (obtained using any design method) in the con-
troller setup panel without any tunable parameters.
Design parameters W and ρ(e) for the nonlinear part of
the CNF controller can also be tuned online on the main
panel. In particular, the parameters α and β for the non-
linear function ρ(e) of (7) can be either adjusted by users
manually, or autotuned by the toolkit to minimize the ITAE
using the Hooke-Jeeves algorithm (Users just need to tick
the checkbox named “Auto-tuning” before starting simula-
tion). In the current version of the CNF control toolkit, the
design parameter W is restricted to a diagonal matrix for
the simplicity of implementation.
There are three windows on the main panel for displaying
the system state variables, the controlled output response
and the control input signal, together with a block diagram
showing the structure of the overall control system. Using
the right button of the computer mouse to click on the win-
dow displaying the state variables, output response and con-
trolsignal,usersarepromptedbyasmalltextwindowshow-
ing options to redraw the plots on a new popup window or
export the simulation data to the MATLAB workspace.
Finally, we have also implemented the following com-
mands and functions on the main panel for saving and load-
ing data as well as for evaluating the frequency-domain
properties of the overall control system:
1) Load data: this function is used to load data previously
saved in the CNF control toolkit.
2) Save data: this command is to save the system and con-
troller data for future use.
3) Export controller: this function is to export the data of
the CNF controller obtained to the MATLAB workspace.
The controller data are given by
˙ z = κi(h − r),
˙ xv= Acmpxv+ Bycmpy + Bucmpsat(¯ u),
ˆ x = Ccmpxv+ Dcmpy,
?z
u = H(s)¯ u − g(y),
where Acmp, Bycmp, Bucmp, Ccmp, Dcmp, F, Fn, G, Ge
are constant vectors or matrices, and ρ(e) and g(y) are
scalar functions. If a filter is used to reduce the effects
of noise or high-frequency resonance modes of a physical
plant, H(s) will represent the transfer function of such a
filter. All these parameters can be saved under a structured
workspace variable (specified by the user) in the MATLAB
command window.
4) Root locus: this function is to generate the root locus
of the control system with the CNF controller with respect
to the change of the nonlinear function ρ(e).
5) Bode plot: this function is to generate the Bode mag-
nitude and phase responses of the open-loop system com-
prising the plant and the controller in the steady-state situ-
ation when the nonlinear gain is converging to a constant.
(10)
(11)
(12)
¯ u = F
ˆ x
?
+ Gr + ρ(e)Fn
??z
ˆ x
?
− Ger
?
, (13)
(14)