Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
71 views

Chapter 1 - Introduction

This chapter introduces state-space representations for linear time-invariant systems using state equations. State equations can model physical systems and are represented as matrices in state-space form. MATLAB is introduced for analyzing and designing linear state-space control systems.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
71 views

Chapter 1 - Introduction

This chapter introduces state-space representations for linear time-invariant systems using state equations. State equations can model physical systems and are represented as matrices in state-space form. MATLAB is introduced for analyzing and designing linear state-space control systems.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

1

INTRODUCTION

This chapter introduces the state-space representation for linear time-


invariant systems. We begin with a brief overview of the origins of
state-space methods to provide a context for the focus of this book. Fol-
lowing that, we define the state equation format and provide examples to
show how state equations can be derived from physical system descrip-
tions and from transfer-function representations. In addition, we show
how linear state equations arise from the linearization of a nonlinear state
equation about a nominal trajectory or equilibrium condition.
This chapter also initiates our use of the MATLAB software package
for computer-aided analysis and design of linear state-space control sys-
tems. Beginning here and continuing throughout the book, features of
MATLAB and the accompanying Control Systems Toolbox that support each
chapter’s subject matter will be presented and illustrated using a Continu-
ing MATLAB Example. In addition, we introduce two Continuing Examples
that we also will revisit in subsequent chapters.

1.1 HISTORICAL PERSPECTIVE AND SCOPE

Any scholarly account of the history of control engineering would have


to span several millennia because there are many examples throughout

Linear State-Space Control Systems. Robert L. Williams II and Douglas A. Lawrence


Copyright  2007 John Wiley & Sons, Inc. ISBN: 978-0-471-73555-7
1
2 INTRODUCTION

ancient history, the industrial revolution, and into the early twentieth
century of ingeniously designed systems that employed feedback mech-
anisms in various forms. Ancient water clocks, south-pointing chariots,
Watt’s flyball governor for steam engine speed regulation, and mecha-
nisms for ship steering, gun pointing, and vacuum tube amplifier stabiliza-
tion are but a few. Here we are content to survey important developments
in the theory and practice of control engineering since the mid-1900s in
order to provide some perspective for the material that is the focus of this
book in relation to topics covered in most undergraduate controls courses
and in more advanced graduate-level courses.
In the so-called classical control era of the 1940s and 1950s, systems
were represented in the frequency domain by transfer functions. In addi-
tion, performance and robustness specifications were either cast directly in
or translated into the frequency domain. For example, transient response
specifications were converted into desired closed-loop pole locations or
desired open-loop and/or closed-loop frequency-response characteristics.
Analysis techniques involving Evans root locus plots, Bode plots, Nyquist
plots, and Nichol’s charts were limited primarily to single-input, single-
output systems, and compensation schemes were fairly simple, e.g., a
single feedback loop with cascade compensation. Moreover, the design
process was iterative, involving an initial design based on various sim-
plifying assumptions followed by parameter tuning on a trial-and-error
basis. Ultimately, the final design was not guaranteed to be optimal in
any sense.
The 1960s and 1970s witnessed a fundamental paradigm shift from the
frequency domain to the time domain. Systems were represented in the
time domain by a type of differential equation called a state equation.
Performance and robustness specifications also were specified in the time
domain, often in the form of a quadratic performance index. Key advan-
tages of the state-space approach were that a time-domain formulation
exploited the advances in digital computer technology and the analysis
and design methods were well-suited to multiple-input, multiple-output
systems. Moreover, feedback control laws were calculated using analytical
formulas, often directly optimizing a particular performance index.
The 1980’s and 1990’s were characterized by a merging of frequency-
domain and time-domain viewpoints. Specifically, frequency-domain per-
formance and robustness specifications once again were favored, coupled
with important theoretical breakthroughs that yielded tools for handling
multiple-input, multiple-output systems in the frequency domain. Further
advances yielded state-space time-domain techniques for controller syn-
thesis. In the end, the best features of the preceding decades were merged
into a powerful, unified framework.
STATE EQUATIONS 3

The chronological development summarized in the preceding para-


graphs correlates with traditional controls textbooks and academic curric-
ula as follows. Classical control typically is the focus at the undergraduate
level, perhaps along with an introduction to state-space methods. An in-
depth exposure to the state-space approach then follows at the advanced
undergraduate/first-year graduate level and is the focus of this book. This,
in turn, serves as the foundation for more advanced treatments reflecting
recent developments in control theory, including those alluded to in the
preceding paragraph, as well as extensions to time-varying and nonlinear
systems.
We assume that the reader is familiar with the traditional undergrad-
uate treatment of linear systems that introduces basic system properties
such as system dimension, causality, linearity, and time invariance. This
book is concerned with the analysis, simulation, and control of finite-
dimensional, causal, linear, time-invariant, continuous-time dynamic sys-
tems using state-space techniques. From now on, we will refer to members
of this system class as linear time-invariant systems.
The techniques developed in this book are applicable to various types of
engineering (even nonengineering) systems, such as aerospace, mechani-
cal, electrical, electromechanical, fluid, thermal, biological, and economic
systems. This is so because such systems can be modeled mathematically
by the same types of governing equations. We do not formally address
the modeling issue in this book, and the point of departure is a linear
time-invariant state-equation model of the physical system under study.
With mathematics as the unifying language, the fundamental results and
methods presented here are amenable to translation into the application
domain of interest.

1.2 STATE EQUATIONS

A state-space representation for a linear time-invariant system has the


general form
ẋ(t) = Ax(t) + Bu(t)
x(t0 ) = x0 (1.1)
y(t) = Cx(t) + Du(t)

in which x(t) is the n-dimensional state vector


 
x1 (t)
 x2 (t) 
x(t) = 
 ... 

xn (t)
4 INTRODUCTION

whose n scalar components are called state variables. Similarly, the


m-dimensional input vector and p-dimensional output vector are given,
respectively, as
   
u1 (t) y1 (t)
 u2 (t)   y2 (t) 
u(t) =  .
 .. 
 y(t) =  . 
 .. 
um (t) yp (t)
Since differentiation with respect to time of a time-varying vector quan-
tity is performed component-wise, the time-derivative on the left-hand side
of Equation (1.1) represents
 
ẋ1 (t)
 ẋ2 (t) 
ẋ(t) = 
 ... 

ẋn (t)
Finally, for a specified initial time t0 , the initial state x(t0 ) = x0 is a
specified, constant n-dimensional vector.
The state vector x(t) is composed of a minimum set of system variables
that uniquely describes the future response of the system given the current
state, the input, and the dynamic equations. The input vector u(t) contains
variables used to actuate the system, the output vector y(t) contains the
measurable quantities, and the state vector x(t) contains internal system
variables.
Using the notational convention M = [mij ] to represent the matrix
whose element in the ith row and j th column is mij , the coefficient
matrices in Equation (1.1) can be specified via
A = [aij ] B = [bij ] C = [cij ]
D = [dij ]
having dimensions n × n, n × m, p × n, and p × m, respectively. With
these definitions in place, we see that the state equation (1.1) is a compact
representation of n scalar first-order ordinary differential equations, that is,
ẋi (t) = ai1 x1 (t) + ai2 x2 (t) + · · · + ain xn (t)
+ bi1 u1 (t) + bi2 u2 (t) + · · · + bim um (t)
for i = 1, 2, . . . , n, together with p scalar linear algebraic equations
yj (t) = cj 1 x1 (t) + cj 2 x2 (t) + · · · + cjn xn (t)
+ dj 1 u1 (t) + dj 2 u2 (t) + · · · + dj m um (t)
EXAMPLES 5

D
x0

u(t) + x(t) x(t) + + y(t)


B ∫ C
+

FIGURE 1.1 State-equation block diagram.

for j = 1, 2, . . . , p. From this point on the vector notation (1.1) will


be preferred over these scalar decompositions. The state-space descrip-
tion consists of the state differential equation ẋ(t) = Ax(t) + Bu(t) and
the algebraic output equation y(t) = Cx(t) + Du(t) from Equation (1.1).
Figure 1.1 shows the block diagram for the state-space representation of
general multiple-input, multiple-output linear time-invariant systems.
One motivation for the state-space formulation is to convert a cou-
pled system of higher-order ordinary differential equations, for example,
those representing the dynamics of a mechanical system, to a coupled
set of first-order differential equations. In the single-input, single-output
case, the state-space representation converts a single nth-order differen-
tial equation into a system of n coupled first-order differential equations.
In the multiple-input, multiple-output case, in which all equations are of
the same order n, one can convert the system of k nth-order differential
equations into a system of kn coupled first-order differential equations.

1.3 EXAMPLES

In this section we present a series of examples that illustrate the construc-


tion of linear state equations. The first four examples begin with first-
principles modeling of physical systems. In each case we adopt the strat-
egy of associating state variables with the energy storage elements in the
system. This facilitates derivation of the required differential and algebraic
equations in the state-equation format. The last two examples begin with
transfer-function descriptions, hence establishing a link between transfer
functions and state equations that will be pursued in greater detail in later
chapters.

Example 1.1 Given the linear single-input, single-output, mass-spring-


damper translational mechanical system of Figure 1.2, we now derive the
6 INTRODUCTION

y(t)

m f(t)
c

FIGURE 1.2 Translational mechanical system.

ky(t)

m f (t)
cy(t)

FIGURE 1.3 Free-body diagram.

system model and then convert it to a state-space description. For this


system, the input is force f (t) and the output is displacement y(t).
Using Newton’s second law, the dynamic force balance for the free-
body diagram of Figure 1.3 yields the following second-order ordinary
differential equation
mÿ(t) + cẏ(t) + ky(t) = f (t)
that models the system behavior. Because this is a single second-order
differential equation, we need to select a 2 × 1 state vector. In general,
energy storage is a good criterion for choosing the state variables. The
total system energy at any time is composed of potential spring energy
ky(t)2 /2 plus kinetic energy mẏ(t)2 /2 associated with the mass displace-
ment and velocity. We then choose to define the state variables as the
mass displacement and velocity:
 
x1 (t) x1 (t) = y(t)
x(t) =
x2 (t) x2 (t) = ẏ(t) = ẋ1 (t)
Therefore,
ẏ(t) = x2 (t)
ÿ(t) = ẋ2 (t)
Substituting these two state definitions into the original system equation
gives
mẋ2 (t) + cx2 (t) + kx1 (t) = f (t)
EXAMPLES 7

The original single second-order differential equation can be written as


a coupled system of two first-order differential equations, that is,
ẋ1 (t) = x2 (t)
c k 1
ẋ2 (t) = − x2 (t) − x1 (t) + f (t)
m m m
The output is the mass displacement

y(t) = x1 (t)

The generic variable name for input vectors is u(t), so we define:

u(t) = f (t)

We now write the preceding equations in matrix-vector form to get a


valid state-space description. The general state-space description consists
of the state differential equation and the algebraic output equation. For
Example 1.1, these are
State Differential Equation
ẋ(t) = Ax(t) + Bu(t)
   
  0 1   0
ẋ1 (t) x (t)
= k c  1 +  1  u(t)
ẋ2 (t) − − x2 (t)
m m m
Algebraic Output Equation
y(t) = Cx(t) + Du(t)
 
x1 (t)
y(t) = [ 1 0 ] + [0]u(t)
x2 (t)
The two-dimensional single-input, single-output system matrices in this
example are (with m = p = 1 and n = 2):
   
0 1 0
A=  k c  B= 1  C = [1 0]
− −
m m m
D=0
In this example, the state vector is composed of the position and
velocity of the mass m. Two states are required because we started with
one second-order differential equation. Note that D = 0 in this example
because no part of the input force is directly coupled to the output. 
8 INTRODUCTION

Example 1.2 Consider the parallel electrical circuit shown in


Figure 1.4. We take the input to be the current produced by the
independent current source u(t) = i(t) and the output to be the capacitor
voltage y(t) = v(t).
It is often convenient to associate state variables with the energy
storage elements in the network, namely, the capacitors and inductors.
Specifically, capacitor voltages and inductor currents, while not only
directly characterizing the energy stored in the associated circuit element,
also facilitate the derivation of the required differential equations. In this
example, the capacitor voltage coincides with the voltage across each
circuit element as a result of the parallel configuration.
This leads to the choice of state variables, that is,

x1 (t) = iL (t)
x2 (t) = v(t)

In terms of these state variables, the inductor’s voltage-current relationship


is given by
x2 (t) = Lẋ1 (t)

Next, Kirchhoff’s current law applied to the top node produces

1
x2 (t) + x1 (t) + C ẋ2 (t) = u(t)
R
These relationships can be rearranged so as to isolate state-variable
time derivatives as follows:
1
ẋ1 (t) = x2 (t)
L
1 1 1
ẋ2 (t) = − x1 (t) − x2 (t) + u(t)
C RC C

iL(t) +
i(t) R L C v(t)

FIGURE 1.4 Parallel electrical circuit.


EXAMPLES 9

This pair of coupled first-order differential equations, along with the


output definition y(t) = x2 (t), yields the following state-space description
for this electrical circuit:
State Differential Equation
   
  1  
0 0
ẋ1 (t)  L  x1 (t)  1  u(t)
= 1 1  +
ẋ2 (t) x2 (t)
− − C
C RC
Algebraic Output Equation
 
x1 (t)
y(t) = [ 0 1 ] + [0]u(t)
x2 (t)

from which the coefficient matrices A, B, C, and D are found by inspec-


tion, that is,
   
1
0 0
 L  1
A= 1 1  B = C = [0 1]
− − C
C RC
D=0

Note that D = 0 in this example because there is no direct coupling


between the current source and the capacitor voltage. 

Example 1.3 Consider the translational mechanical system shown in


Figure 1.5, in which y1 (t) and y2 (t) denote the displacement of the asso-
ciated mass from its static equilibrium position, and f (t) represents a
force applied to the first mass m1 . The parameters are masses m1 and
m2 , viscous damping coefficient c, and spring stiffnesses k1 and k2 . The
input is the applied force u(t) = f (t), and the outputs are taken as the
mass displacements. We now derive a mathematical system model and
then determine a valid state-space representation.
Newton’s second law applied to each mass yields the coupled second-
order differential equations, that is,

m1 ÿ1 (t) + k1 y1 (t) − k2 [y2 (t) − y1 (t)] = f (t)


m2 ÿ2 (t) + cẏ2 (t) + k2 [y2 (t) − y1 (t)] = 0

Here, the energy-storage elements are the two springs and the two masses.
Defining state variables in terms of mass displacements and velocities
10 INTRODUCTION

y1(t) y2(t)

f(t)

k1 k2 c
m1 m2

FIGURE 1.5 Translational mechanical system.

yields
x1 (t) = y1 (t)
x2 (t) = y2 (t) − y1 (t)
x3 (t) = ẏ1 (t)
x4 (t) = ẏ2 (t)

Straightforward algebra yields the following state equation representa-


tion:
State Differential Equation
   
0 0 1 0
    0
ẋ1 (t)  0 0 −1 1  x1 (t)  0 
 
 ẋ2 (t)   k1 k2   x2 (t)   
 ẋ (t)  =  − 0 0   + 1  u(t)

3  m1 m1  x3 (t)  m1 
ẋ4 (t)  −k2 c  x4 (t)
0 0 − 0
m2 m2
Algebraic Output Equation
 
   x1 (t)
  
y1 (t) 1 0 0 0  x2 (t)  0
= +
0  x3 (t) 
u(t)
y2 (t) 1 1 0 0
x4 (t)
from which the coefficient matrices A, B, C, and D can be identified.
Note that D = [ 0 0 ]T because there is no direct feedthrough from the
input to the output.
Now, it was convenient earlier to define the second state variable as
the difference in mass displacements, x2 (t) = y2 (t) − y1 (t), because this
relative displacement is the amount the second spring is stretched. Instead
EXAMPLES 11

we could have defined the second state variable based on the absolute
mass displacement, that is x2 (t) = y2 (t), and derived an equally valid
state-space representation. Making this one change in our state variable
definitions, that is,
x1 (t) = y1 (t)
x2 (t) = y2 (t)
x3 (t) = ẏ1 (t)
x4 (t) = ẏ2 (t)
yields the new A and C matrices
 
0 0 1 0
 0 0 0 1 
 
 (k1 + k2 ) k2 
A = − 0 0 
 m1 m1 
 k2 −k2 c 
0 −
m2 m2 m2
 
1 0 0 0
C=
0 1 0 0
The B and D matrices are unchanged. 

Example 1.4 Consider the electrical network shown in Figure 1.6. We


now derive the mathematical model and then determine a valid state-space
representation. The two inputs are the independent voltage and current
sources vin (t) and iin (t), and the single output is the inductor voltage vL (t).
In terms of clockwise circulating mesh currents i1 (t), i2 (t), and i3 (t),
Kirchhoff’s voltage law applied around the leftmost two meshes yields
d
R1 i1 (t) + vC1 (t) + L [i1 (t) − i2 (t)] = vin (t)
dt
d
L [i2 (t) − i1 (t)] + vC2 (t) + R2 [i2 (t) − i3 (t)] = 0
dt
and Kirchhoff’s current law applied to the rightmost mesh yields

i3 (t) = −iin (t)

In addition, Kirchoff’s current law applied at the top node of the induc-
tor gives
iL (t) = i1 (t) − i2 (t)
12 INTRODUCTION

+ vC1(t) − + vC2(t) −

R1
C1 C2
vin(t) + iin(t)
L iL(t) R2

i1(t) i2(t) i3(t)

FIGURE 1.6 Electrical circuit.

As in Example 1.2, it is again convenient to associate state variables


with the capacitor and inductor energy-storage elements in the network.
Here, we select

x1 (t) = vC1 (t)


x2 (t) = vC2 (t)
x3 (t) = iL (t)

We also associate inputs with the independent sources via

u1 (t) = vin (t)


u2 (t) = iin (t)

and designate the inductor voltage vL (t) as the output so that

y(t) = vL (t) = Lẋ3 (t)

Using the relationships

C1 ẋ1 (t) = i1 (t)


C2 ẋ2 (t) = i2 (t)
x3 (t) = C1 ẋ1 (t) − C2 ẋ2 (t)

the preceding circuit analysis now can be recast as

R1 C1 ẋ1 (t) + Lẋ3 (t) = −x1 (t) + u1 (t)


R2 C2 ẋ2 (t) − Lẋ3 (t) = −x2 (t) − R2 u2 (t)
C1 ẋ1 (t) − C2 ẋ2 (t) = x3 (t)
EXAMPLES 13

Packaging these equations in matrix form and isolating the state-variable


time derivatives gives
   −1
ẋ1 (t) R1 C1 0 L
 ẋ2 (t)  =  0 R2 C2 −L 
ẋ3 (t) C1 −C2 0
     
−1 0 0 x1 (t) 1 0  
 0 −1 0   x2 (t)  +  0 −R2  u1 (t) 
u2 (t)
0 0 0 x3 (t) 0 0

Calculating and multiplying through by the inverse and yields the state
differential equation, that is,
 1 −1 R2 
   (R1 + R2 )C1 (R1 + R2 )C1 (R1 + R2 )C1   
ẋ1 (t)   x1 (t)
 −1 −1 −R1 
 ẋ2 (t)  =    x2 (t) 
 (R + R )C (R + R )C (R + R )C 
ẋ3 (t)  1 2 2 1 2 2 1 2 2  x3 (t)
 −R2 R1 −R1 R2 
(R1 + R2 )L (R1 + R2 )L (R1 + R2 )L
 1 −R2 
 (R1 + R2 )C1 (R1 + R2 )C1 
  
 1 −R  u1 (t)
+ 
2
 (R + R )C (R1 + R2 )C2 
 1 2 2  u2 (t)
 R2 R1 R2 
(R1 + R2 )L (R1 + R2 )L
which is in the required format from which coefficient matrices A and B
can be identified. In addition, the associated output equation y(t) = Lẋ3 (t)
can be expanded to the algebraic output equation as follows
 
  x1 (t)
−R2 R1 −R1 R2
y(t) =  x2 (t) 
(R1 + R2 ) (R1 + R2 ) (R1 + R2 ) x (t) 3
  
R2 R1 R2 u1 (t)
+
(R1 + R2 ) (R1 + R2 ) u2 (t)

from which coefficient matrices C and D can be identified.


Note that in this example, there is direct coupling between the indepen-
dent voltage and current source inputs vin (t) and iin (t) and the inductor
voltage output vL (t), and hence the coefficient matrix D is nonzero. 
14 INTRODUCTION

Example 1.5 This example derives a valid state-space description for


a general third-order differential equation of the form

¨˙ + a2 ÿ(t) + a1 ẏ(t) + a0 y(t) = b0 u(t)


y(t)

The associated transfer function definition is


b0
H (s) =
s3 + a2 s2 + a1 s + a0
Define the following state variables:
 
x1 (t) x1 (t) = y(t)

x(t) = x2 (t)  x2 (t) = ẏ(t) = ẋ1 (t)
x3 (t) x3 (t) = ÿ(t) = ẍ1 (t) = ẋ2 (t)

Substituting these state-variable definitions into the original differential


equation yields the following:

ẋ3 (t) = −a0 x1 (t) − a1 x2 (t) − a2 x3 (t) + b0 u(t)

The state differential and algebraic output equations are then


State Differential Equation
      
ẋ1 (t) 0 1 0 x1 (t) 0
 ẋ2 (t)  =  0 0 1    
x2 (t) + 0  u(t)
ẋ3 (t) −a0 −a1 −a2 x3 (t) b0

Algebraic Output Equation


 
x1 (t)
y(t) = [ 1 0 0 ]  x2 (t)  + [0]u(t)
x3 (t)

from which the coefficient matrices A, B, C, and D can be identified.


D = 0 in this example because there is no direct coupling between the
input and output.
This example may be generalized easily to the nth-order ordinary dif-
ferential equation

d n y(t) d n−1 y(t) d 2 y(t) dy(t)


n
+ an−1 n−1
+ · · · + a2 2
+ a1 + a0 y(t) = b0 u(t)
dt dt dt dt
(1.2)
EXAMPLES 15

For this case, the coefficient matrices A, B, C, and D are


   
0 1 0 ··· 0 0
 0 0 1 ··· 0  0
 . ..   . 
A=  ..
..
.
..
.
..
.   
.  B =  .. 
 0 0 0 ··· 1  0
−a0 −a1 −a2 · · · −an−1 b0
C = [1 0 0 ··· 0] D = [0] (1.3) 
Example 1.6 Consider a single-input, single-output system represented
by the third-order transfer function with second-order numerator polyno-
mial
b2 s 2 + b1 s + b0
H (s) = 3
s + a2 s 2 + a1 s + a0
If we attempted to proceed as in the preceding example in defining state
variables in terms of the output y(t) and its derivatives, we eventually
would arrive at the relationship
ẋ3 (t) = −a0 x1 (t) − a1 x2 (t) − a2 x3 (t) + b2 ü(t) + b1 u̇(t) + b0 u(t)
This is not consistent with the state-equation format because of the pres-
ence of time derivatives of the input, so we are forced to pursue an
alternate state-variable definition. We begin by factoring the transfer func-
tion according to H (s) = H2 (s)H1 (s) with
1
H1 (s) = H2 (s) = b2 s 2 + b1 s + b0
s 3 + a2 s 2 + a1 s + a0
and introducing an intermediate signal w(t) with Laplace transform W (s)
so that
W (s) = H1 (s)U (s)
1
= 3 U (s)
s + a2 s + a1 s + a0
2

Y (s) = H2 (s)W (s)


= (b2 s 2 + b1 s + b0 )W (s)
A block-diagram interpretation of this step is shown in Figure 1.7. In
the time domain, this corresponds to
¨ẇ(t) + a2 ẅ(t) + a1 ẇ(t) + a0 w(t) = u(t)
y(t) = b2 ẅ(t) + b1 ẇ(t) + b0 w(t)
16 INTRODUCTION

U(s) W(s) Y(s)


H1(s) H2(s)

FIGURE 1.7 Cascade block diagram.

Now, the key observation is that a state equation describing the rela-
tionship between input u(t) and output w(t) can be written down using
the approach of the preceding example. That is, in terms of state variables

x1 (t) = w(t)
x2 (t) = ẇ(t) = ẋ1 (t)
x3 (t) = ẅ(t) = ẍ1 (t) = ẋ2 (t)

we have
      
ẋ1 (t) 0 1 0 x1 (t) 0
 ẋ2 (t)  =  0 0 1   x2 (t)  +  0  u(t)
ẋ3 (t) −a0−a1 −a2 x3 (t) 1
 
x1 (t)
w(t) = [ 1 0 0 ]  x2 (t)  + [0]u(t)
x3 (t)

As the final step, we recognize that an equation relating the true system
output y(t) and our chosen state variables follows from

y(t) = b0 w(t) + b1 ẇ(t) + b2 ẅ(t)


= b0 x1 (t) + b1 x2 (t) + b2 x3 (t)

which gives the desired state equations:


State Differential Equation
      
ẋ1 (t) 0 1 0 x1 (t) 0
 ẋ2 (t)  =  0 0 1   x2 (t) + 0  u(t)
 
ẋ3 (t) −a0 −a1 −a2 x3 (t) 1

Algebraic Output Equation


 
x1 (t)
y(t) = [ b0 b1 b2 ]  x2 (t)  + [0]u(t)
x3 (t)
LINEARIZATION OF NONLINEAR SYSTEMS 17

At this point, it should be clear how to extend this approach to systems


of arbitrary dimension n beginning with a transfer function of the form
bn−1 s n−1 + · · · + b1 s + b0
H (s) =
s n + an−1 s n−1 + · · · + a1 s + a0
Notice that the numerator polynomial in H (s) has degree strictly less
than the denominator polynomial degree, so H (s) is referred to as a strictly
proper rational function (ratio of polynomials in the complex variable
s). The preceding state-equation construction can be extended further to
handle proper transfer functions
bn s n + bn−1 s n−1 + · · · + b1 s + b0
H (s) =
s n + an−1 s n−1 + · · · + a1 s + a0
in which the numerator and denominator polynomial degrees are equal.
The procedure involves first using polynomial division to write H (s) as
a strictly proper part plus a constant

b̂n−1 s n−1 + · · · + b̂1 s + b̂0


H (s) = + bn
s n + an−1 s n−1 + · · · + a1 s + a0

in which the reader may verify that b̂i = bi − bn ai , for i = 0, 1, . . . , n −


1. Next, the coefficient matrices A, B, and C are found from the numerator
and denominator polynomial coefficients of the strictly proper component
and, in addition, D = bn . 
In general, we say that a state equation is a state-space realization of a
given system’s input-output behavior if it corresponds to the relationship
Y (s) = H (s)U (s) in the Laplace domain or to the associated differential
equation relating y(t) and u(t) in the time domain (for zero initial con-
ditions). The exact meaning of corresponds to will be made precise in
the next chapter. The preceding example serves to illustrate that a state-
space realization of a single-input, single-output system can be written
down by inspection simply by plugging the numerator and denomina-
tor coefficients into the correct locations in the coefficient matrices C
and A, respectively. Owing to its special structure, this state equation is
referred to as the phase-variable canonical form realization as well as the
controller canonical form realization.

1.4 LINEARIZATION OF NONLINEAR SYSTEMS

Linear state equations also arise in the course of linearizing nonlinear


state equations about nominal trajectories. We begin with a more general
18 INTRODUCTION

nonlinear, time-varying state equation

ẋ(t) = f [x(t), u(t), t]


x(t0 ) = x0 (1.4)
y(t) = h[x(t), u(t), t]

where x(t), u(t), and y(t) retain their default vector dimensions and
f (·, ·, ·) and h(·, ·, ·) are continuously differentiable functions of their
(n + m + 1)-dimensional arguments. Linearization is performed about a
nominal trajectory defined as follows.

Definition 1.1 For a nominal input signal, ũ(t), the nominal state tra-
jectory x̃(t) satisfies
˙
x̃(t) = f [x̃(t), ũ(t), t]

and the nominal output trajectory ỹ(t) satisfies

ỹ(t) = h[x̃(t), ũ(t), t]

If ũ(t) = ũ, a constant vector, a special case is an equilibrium state x̃


that satisfies
0 = f (x̃, ũ, t)

for all t. 

Deviations of the state, input, and output from their nominal trajectories
are denoted by δ subscripts via
xδ (t) = x(t) − x̃(t)
uδ (t) = u(t) − ũ(t)
yδ (t) = y(t) − ỹ(t)

Using the compact notation


 
∂f ∂fi
(x, u, t) = (x, u, t) (n × n)
∂x ∂xj
 
∂f ∂fi
(x, u, t) = (x, u, t) (n × m)
∂u ∂uj
 
∂h ∂hi
(x, u, t) = (x, u, t) (p × n)
∂x ∂xj
 
∂h ∂hi
(x, u, t) = (x, u, t) (p × m)
∂u ∂uj
LINEARIZATION OF NONLINEAR SYSTEMS 19

and expanding the nonlinear maps in Equation (1.4) in a multivariate


Taylor series about [x̃(t), ũ(t), t] we obtain

ẋ(t) = f [x(t), u(t), t]


∂f
= f [x̃(t), ũ(t), t] + [x̃(t), ũ(t), t][x(t) − x̃(t)]
∂x
∂f
+ [x̃(t), ũ(t), t][u(t) − ũ(t)] + higher-order terms
∂u
y(t) = h[x(t), u(t), t]
∂h
= h[x̃(t), ũ(t), t] + [x̃(t), ũ(t), t][x(t) − x̃(t)]
∂x
∂h
+ [x̃(t), ũ(t), t][u(t) − ũ(t)] + higher-order terms
∂u
On defining coefficient matrices
∂f
A(t) = (x̃(t), ũ(t), t)
∂x
∂f
B(t) = (x̃(t), ũ(t), t)
∂u
∂h
C(t) = (x̃(t), ũ(t), t)
∂x
∂h
D(t) = (x̃(t), ũ(t), t)
∂u
rearranging slightly, and substituting deviation variables [recognizing that
˙
ẋδ (t) = ẋ(t) − x̃(t)] we have

ẋδ (t) = A(t)xδ (t) + B(t)uδ (t) + higher-order terms


yδ (t) = C(t)xδ (t) + D(t)uδ (t) + higher-order terms

Under the assumption that the state, input, and output remain close to
their respective nominal trajectories, the high-order terms can be neglected,
yielding the linear state equation

ẋδ (t) = A(t)xδ (t) + B(t)uδ (t)


yδ (t) = C(t)xδ (t) + D(t)uδ (t) (1.5)

which constitutes the linearization of the nonlinear state equation (1.4)


about the specified nominal trajectory. The linearized state equation
20 INTRODUCTION

approximates the behavior of the nonlinear state equation provided that the
deviation variables remain small in norm so that omitting the higher-order
terms is justified.
If the nonlinear maps in Equation (1.4) do not explicitly depend on t,
and the nominal trajectory is an equilibrium condition for a constant nom-
inal input, then the coefficient matrices in the linearized state equation are
constant; i.e., the linearization yields a time-invariant linear state equation.

Example 1.7 A ball rolling along a slotted rotating beam, depicted in


Figure 1.8, is governed by the equations of motion given below. In this
example we will linearize this nonlinear model about a given desired
trajectory for this system.
 
Jb
+ m p̈(t) + mg sin θ (t) − mp(t)θ̇(t)2 = 0
r2
[mp(t)2 + J + Jb ]θ̈ (t) + 2 mp(t)ṗ(t)θ̇(t) + mgp(t) cos θ (t) = τ (t)

in which p(t) is the ball position, θ (t) is the beam angle, and τ (t) is the
applied torque. In addition, g is the gravitational acceleration constant, J
is the mass moment of inertia of the beam, and m, r, and Jb are the mass,
radius, and mass moment of inertia of the ball, respectively. We define
state variables according to

x1 (t) = p(t)
x2 (t) = ṗ(t)
x3 (t) = θ (t)
x4 (t) = θ̇ (t)

)
p(t

q(t)

t(t)

FIGURE 1.8 Ball and beam apparatus.


LINEARIZATION OF NONLINEAR SYSTEMS 21

In addition, we take the input to be the applied torque τ (t) and the
output to be the ball position p(t), so
u(t) = τ (t)
y(t) = p(t)

The resulting nonlinear state equation plus the output equation then are
ẋ1 (t) = x2 (t)
ẋ2 (t) = b[x1 (t)x4 (t)2 − g sin x3 (t)]
ẋ3 (t) = x4 (t)
−2mx1 (t)x2 (t)x4 (t) − mgx1 (t) cos x3 (t) + u(t)
ẋ4 (t) =
mx1 (t)2 + J + Jb
y(t) = x1 (t)

in which b = m/[(Jb /r 2 ) + m].


We consider nominal trajectories corresponding to a steady and level
beam and constant-velocity ball position responses. In terms of an initial
ball position p0 at the initial time t0 and a constant ball velocity v0 , we take
x̃1 (t) = p̃(t) = v0 (t − t0 ) + p0
˙
x̃2 (t) = p̃(t) = v0
x̃3 (t) = θ̃ (t) = 0
x̃ (t) = θ̃˙ (t) = 0
4

ũ(t) = τ̃ (t) = mg x̃1 (t)

for which it remains to verify that Definition 1.1 is satisfied. Comparing

x̃˙ 1 (t) = v0
x̃˙ 2 (t) = 0
x̃˙ 3 (t) = 0
x̃˙ 4 (t) = 0

with
x̃2 (t) = v0
b(x̃1 (t)x̃4 (t)2 − g sin x̃3 (t)) = b(0 − g sin(0)) = 0
x̃4 (t) = 0
22 INTRODUCTION

−2mx̃1 (t)x̃2 (t)x̃4 (t)−


mg x̃1 (t) cos x̃3 (t) + ũ(t) 0 − mg x̃1 (t) cos(0) + mg x̃1 (t)
= =0
mx̃1 (t)2 + J + Jb mx̃1 (t)2 + J + Jb

we see that x̃(t) is a valid nominal state trajectory for the nominal input
ũ(t). As an immediate consequence, the nominal output is ỹ(t) = x̃1 (t) =
p̃(t). It follows directly that deviation variables are specified by
 
p(t) − p̃(t)
 ṗ(t) − p̃(t)
˙ 
xδ (t) = 
 θ (t) − 0 

θ̇ (t) − 0
uδ (t) = τ (t) − mg p̃(t)
yδ (t) = p(t) − p̃(t)

With
 
  x2
f1 (x1 , x2 , x3 , x4 , u)  
b(x1 x4 2 − g sin x3 )
 f2 (x1 , x2 , x3 , x4 , u)   
f (x, u) =   =
 x4 

f3 (x1 , x2 , x3 , x4 , u)  −2mx1 x2 x4 − mgx1 cos x3 + u 
f4 (x1 , x2 , x3 , x4 , u)
mx1 2 + J + Jb

partial differentiation yields


 
0 1 0 0
bx4 2 0 −bg cos x3 2bx1 x4 
∂f  
(x, u) =   0 0 0 1 

∂x  ∂f4 −2mx1 x4 mgx1 sin x3 −2mx1 x2 
∂x1 mx1 2 + J + Jb mx1 2 + J + Jb mx1 2 + J + Jb

where
[(−2mx2 x4 − mg cos x3 )(mx1 2 + J + Jb )]−
∂f4 [(−2mx1 x2 x4 − mgx1 cos x3 + u)(2mx1 )]
=
∂x1 (mx1 2 + J + Jb )2
 
0
 0 
∂f  
(x, u) =  0 
∂u  1 
mx1 2 + J + Jb
LINEARIZATION OF NONLINEAR SYSTEMS 23

∂h
(x, u) = [ 1 0 0 0]
∂x
∂h
(x, u) = 0
∂u
Evaluating at the nominal trajectory gives
∂f
A(t) = [x̃(t), ũ(t)]
∂x
 
0 1 0 0
 0 0 −bg 0 
 
=
 0 0 0 1 

 −mg −2mp̃(t)v0 
0 0
mp̃(t)2 + J + Jb mp̃(t)2 + J + Jb
 
0
 0 
∂f  
B(t) = [x̃(t), ũ(t)] = 
 0 

∂u  1 
mp̃(t) + J + Jb
2

∂h
C(t) = [x̃(t), ũ(t)] = [ 1 0 0 0]
∂x
∂h
D(t) = [x̃(t), ũ(t)] = 0 (1.6)
∂u
which, together with the deviation variables defined previously, specifies
the linearized time-varying state equation for the ball and beam system.
A special case of the nominal trajectory considered thus far in this
example corresponds to zero ball velocity v0 = 0 and, consequently, con-
stant ball position p̃(t) = p0 . The beam must remain steady and level, so
the nominal state trajectory and input reduce to
x̃1 (t) = p̃(t) = p0
˙
x̃1 (t) = p̃(t) =0
x̃1 (t) = θ̃ (t) = 0
x̃ (t) = θ̃˙ (t) = 0
1

ũ(t) = τ̃ (t) = mg p0

with an accompanying impact on the deviation variables. Given that the


nonlinear ball and beam dynamics are time invariant and that now the
24 INTRODUCTION

nominal state trajectory and input are constant and characterize an equi-
librium condition for these dynamics, the linearization process yields a
time-invariant linear state equation. The associated coefficient matrices
are obtained by making the appropriate substitutions in Equation (1.6)
to obtain
 
0 1 0 0
 0 0 −bg 0 
∂f  
A= 
(x̃, ũ) =  0 0 0 1
∂x 
 −mg 
0 0 0
m p0 + J + Jb
2
 
0
 0 
∂f  
B= 
(x̃, ũ) =  0 
∂u 
 1 
m p0 + J + Jb
2

∂h
C= (x̃, ũ) = [ 1 0 0 0]
∂x
∂h
D= (x̃, ũ) = 0 
∂u

1.5 CONTROL SYSTEM ANALYSIS AND DESIGN USING MATLAB

In each chapter we include a section to identify and explain the use


of MATLAB software and MATLAB functions for state-space analysis and
design methods. We use a continuing example to demonstrate the use of
MATLAB throughout; this is a single-input, single-output two–dimensional
rotational mechanical system that will allow the student to perform all
operations by hand to compare with MATLAB results. We assume that the
Control Systems Toolbox is installed with MATLAB.

MATLAB: General, Data Entry, and Display


In this section we present general MATLAB commands, and we start the
Continuing MATLAB Example. We highly recommend the use of MATLAB
m-files, which are scripts and functions containing MATLAB commands
that can be created and modified in the MATLAB Editor and then executed.
Throughout the MATLAB examples, bold Courier New font indicates MAT-
LAB function names, user inputs, and variable names; this is given for
emphasis only. Some useful MATLAB statements are listed below to help
the novice get started.
CONTROL SYSTEM ANALYSIS AND DESIGN USING MATLAB 25

General MATLAB Commands:


help Provides a list of topics for which you can
get online help.
help fname Provides online help for MATLAB function
fname .
% The % symbol at any point in the code
indicates a comment; text beyond the % is
ignored by MATLAB and is highlighted in
green .
; The semicolon used at the end of a line
suppresses display of the line’s result to
the MATLAB workspace.
clear This command clears the MATLAB
workspace, i.e., erases any previous
user-defined variables.
clc Clears the cursor.
figure(n) Creates an empty figure window (numbered
n) for graphics.
who Displays a list of all user-created variable
names.
whos Same as who but additionally gives the
dimension of each variable.
size(name) Responds with the dimension of the matrix
name .
length(name) Responds with the length of the vector
name .
eye(n) Creates an n × n identity matrix In .
zeros(m,n) Creates a m × n array of zeros.
ones(m,n) Creates a m × n array of ones.
t = t0:dt:tf Creates an evenly spaced time array starting
from initial time t0 and ending at final
time tf , with steps of dt .
disp(‘string’) Print the text string to the screen.
name = input(‘string’) The input command displays a text
string to the user, prompting for input;
the entered data then are written to the
variable name .

In the MATLAB Editor (not in this book), comments appear in green,


text strings appear in red, and logical operators and other reserved pro-
gramming words appear in blue.
26 INTRODUCTION

MATLAB for State-Space Description


MATLAB uses a data-structure format to describe linear time-invariant sys-
tems. There are three primary ways to describe a linear time-invariant
system in MATLAB: (1) state-space realizations specified by coefficient
matrices A, B, C, and D (ss); (2) transfer functions with (num, den),
where num is the array of polynomial coefficients for the transfer-function
numerator and den is the array of polynomial coefficients for the transfer-
function denominator (tf); and (3) transfer functions with (z, p, k), where
z is the array of numerator polynomial roots (the zeros), p is the array
of denominator polynomial roots (the poles), and k is the system gain.
There is a fourth method, frequency response data (frd), which will not
be considered in this book. The three methods to define a continuous-time
linear time-invariant system in MATLAB are summarized below:

SysName = ss(A,B,C,D);
SysName = tf(num,den);
SysName = zpk(z,p,k);

In the first statement (ss), a scalar 0 in the D argument position will


be interpreted as a zero matrix D of appropriate dimensions. Each of
these three statements (ss, tf, zpk) may be used to define a system
as above or to convert between state-space, transfer-function, and zero-
pole-gain descriptions of an existing system. Alternatively, once the linear
time-invariant system SysName is defined, the parameters for each system
description may be extracted using the following statements:

[num,den] = tfdata(SysName);
[z,p,k] = zpkdata(SysName);
[A,B,C,D] = ssdata(SysName);

In the first two statements above, if we have a single-input, single-


output system, we can use the switch 'v': tfdata(SysName,'v') and
zpkdata(SysName,'v'). There are three methods to access data from
the defined linear time-invariant SysName: set get commands, direct
structure referencing, and data-retrieval commands. The latter approach is
given above; the first two are:

set(SysName,PropName,PropValue);
PropValue = get(SysName,PropName);
SysName.PropName = PropValue;
% equivalent to ‘set’ command
CONTROL SYSTEM ANALYSIS AND DESIGN USING MATLAB 27

PropValue = SysName.PropName;
% equivalent to ‘get’ command

In the preceding, SysName is set by the user as the desired name for
the defined linear time-invariant system. PropName (property name) rep-
resents the valid properties the user can modify, which include A, B, C, D
for ss, num, den, variable (the default is ‘s ’ for a continuous system
Laplace variable) for tf, and z, p, k, variable (again, the default is
‘s ’) for zpk. The command set(SysName) displays the list of proper-
ties for each data type. The command get(SysName) displays the value
currently stored for each property. PropValue (property value) indicates
the value that the user assigns to the property at hand. In previous MATLAB
versions, many functions required the linear time-invariant system input
data (A, B, C, D for state space, num, den for transfer function, and z, p,
k for zero-pole-gain notation); although these still should work, MATLAB’s
preferred mode of operation is to pass functions the SysName linear time-
invariant data structure. For more information, type help ltimodels and
help ltiprops at the MATLAB command prompt.

Continuing MATLAB Example


Modeling A single-input, single-output rotational mechanical system is
shown in Figure 1.9. The single input is an externally applied torque τ (t),
and the output is the angular displacement θ (t). The constant parameters
are motor shaft polar inertia J , rotational viscous damping coefficient
b, and torsional spring constant kR (provided by the flexible shaft). This
example will be used in every chapter to demonstrate the current topics via
MATLAB for a model that will become familiar. To derive the system model,
MATLAB does not help (unless the Symbolic Math Toolbox capabilities of
MATLAB are used).
In the free-body diagram of Figure 1.10, the torque resulting from
the rotational viscous damping opposes the instantaneous direction of
the angular velocity and the torque produced by the restoring spring

b
kR

q(t) t(t)

FIGURE 1.9 Continuing MATLAB Example system.


28 INTRODUCTION

b q(t) kRq(t)

t(t)

FIGURE 1.10 Continuing MATLAB Example free-body diagram.

opposes the instantaneous direction of the angular displacement. We apply


Euler’s rotational law (the rotational equivalent of Newton’s Second Law),
to
 derive the system  model. Euler’s rotational law may be stated as
M = J α, where M is the sum of moments, J is the polar moment
of inertia, and α is the shaft angular acceleration.

M = J θ̈ (t) = τ (t) − bθ̇ (t) − kR θ (t)

This system can be represented by the single second-order linear time-


invariant ordinary differential equation

J θ̈ (t) + bθ̇ (t) + kR θ (t) = τ (t)

This equation is the rotational equivalent of a translational mechanical


mass-spring-damper system with torque τ (t) as the input and angular
displacement θ (t) as the output.

State-Space Description Now we derive a valid state-space descrip-


tion for the Continuing MATLAB Example. That is, we specify the state
variables and derive the coefficient matrices A, B, C, and D. We start with
the second-order differential equation above for which we must define two
state variables xi (t), i = 1, 2. Again, energy-storage elements guide our
choice of states:
x1 (t) = θ (t)
x2 (t) = θ̇ (t) = ẋ1 (t)

We will have two first-order differential equations, derived from the


original second-order differential equation, and ẋ1 (t) = x2 (t) from above.
The state differential equation is
   
  0 1   0
ẋ1 (t) x (t)
=  −kR −b  1 +  1  τ (t)
ẋ2 (t) x2 (t)
J J J
CONTROL SYSTEM ANALYSIS AND DESIGN USING MATLAB 29

TABLE 1.1 Numerical Parameters for the Continuing MATLAB Example


Parameter Value Units Name
2
J 1 kg-m motor shaft polar inertia
b 4 N-m-s motor shaft damping constant
kR 40 N-m/rad torsional spring constant

The algebraic output equation is:


 
x1 (t)
y(t) = [ 1 0 ] + [0]τ (t)
x2 (t)

The coefficient matrices A, B, C, D for this Continuing MATLAB


Example are thus:
   
0 1 0
A =  kR b B=1 C = [1 0]
− −
J J J
D=0
This specifies a two–dimensional single-input, single-output system
with m = 1 input, p = 1 output, and n = 2 states. Let us assume the con-
stant parameters listed in Table 1.1 for the continuing MATLAB example.
Then the numerical coefficient matrices are
   
0 1 0
A= B= C = [1 0] D=0
−40 −4 1

Chapter by chapter we will present MATLAB code and results dealing


with the topics at hand for the Continuing MATLAB Example. These code
segments will be complete only if taken together over all chapters (i.e.,
ensuing code portions may require previously defined variables in earlier
chapters to execute properly). Appendix C presents this complete program
for all chapters. To get started, we need to define the coefficient matrices
A, B, C, and D in MATLAB. Then we can find the system transfer function
and zero-pole-gain descriptions.

%-------------------------------------------------
% Chapter 1. State-Space Description
%-------------------------------------------------

J = 1;
b = 4;
kR = 40;
30 INTRODUCTION

A = [0 1;-kR/J -b/J]; % Define the


% state-space
% realization
B = [0;1/J];
C = [1 0];
D = [0];

JbkR = ss(A,B,C,D); % Define model from


% state-space

JbkRtf = tf(JbkR); % Convert to


% transfer function
JbkRzpk = zpk(JbkR); % Convert to
% zero-pole
% description

[num,den] = tfdata(JbkR,'v'); % Extract transfer


% function
% description
[z,p,k] = zpkdata(JbkR,'v'); % Extract zero-pole
% description

JbkRss = ss(JbkRtf) % Convert to


% state-space
% description

The ss command yields

a =
x1 x2
x1 0 1
x2 -40 -4

b =
u1
x1 0
x2 1

c =
x1 x2
y1 1 0
CONTROL SYSTEM ANALYSIS AND DESIGN USING MATLAB 31

d =
u1
y1 0
Continuous-time model.

The tf and zpk commands yield

Transfer function:
1
--------------
s^2 + 4 s + 40

Zero/pole/gain:
1
---------------
(s^2 + 4s + 40)

The tfdata and zpkdata commands yield

num =
0 0 1

den =
1.0000 4.0000 40.0000

z =
Empty matrix: 0-by-1

p =
-2.0000 + 6.0000i
-2.0000 - 6.0000i

k =
1

Finally, the second ss command yields

a =
x1 x2
x1 -4 -5
x2 8 0
32 INTRODUCTION

b =
u1
x1 0.25
x2 0

c =
x1 x2
y1 0 0.5

d =
u1
y1 0

Note that when MATLAB converted from the tf to the ss description


above, it returned a different state-space realization than the one originally
defined. The validity of this outcome will be explained in Chapter 2.

1.6 CONTINUING EXAMPLES


Continuing Example 1: Two-Mass Translational Mechanical
System
This multiple-input, multiple-output example will continue throughout
each chapter of this book, building chapter by chapter to demonstrate
the important topics at hand.

Modeling A mechanical system is represented by the two degree-of-


freedom linear time-invariant system shown in Figure 1.11. There are
two force inputs ui (t) and two displacement outputs yi (t), i = 1, 2. The
constant parameters are masses mi , damping coefficients ci , and spring
coefficients ki , i = 1, 2. We now derive the mathematical model for this
system; i.e., we draw the free-body diagrams and then write the correct
number of independent ordinary differential equations. All motion is con-
strained to be horizontal, as shown in Figure 1.11. Outputs yi (t) are each
measured from the neutral spring equilibrium location of each mass mi .
Figure 1.12 shows the two free-body diagrams.
Now we apply Newton’s second law twice, once for each mass, to
derive the two second-order dynamic equations of motion:

F1 = m1 ÿ1 (t) = k2 [y2 (t) − y1 (t)] + c2 [ẏ2 (t) − ẏ1 (t)]
− k1 y1 (t) − c1 ẏ1 (t) + u1 (t)

F2 = m2 ÿ2 (t) = −k2 [y2 (t) − y1 (t)] − c2 [ẏ2 (t) − ẏ1 (t)] + u2 (t)
CONTINUING EXAMPLES 33

y1(t) y2(t)

u1(t) u2(t)
k1 k2

m1 m2
c1 c2

FIGURE 1.11 Continuing Example 1 system.

u1(t) u2(t)

k1y1(t) k2(y2(t) − y1(t))


m1 m2

c1y1(t) c2( y2(t) − y1(t))

FIGURE 1.12 Continuing Example 1 free-body diagrams.

We rewrite these equations so that the output-related terms yi (t) appear


on the left side along with their derivatives and the input forces ui (t)
appear on the right. Also, yi (t) terms are combined.
m1 ÿ1 (t) + (c1 + c2 )ẏ1 (t) + (k1 + k2 )y1 (t) − c2 ẏ2 (t) − k2 y2 (t) = u1 (t)
m2 ÿ2 (t) + c2 ẏ2 (t) + k2 y2 (t) − c2 ẏ1 (t) − k2 y1 (t) = u2 (t)
These equations are two linear, coupled, second-order ordinary differ-
ential equations. In this type of vibrational system, it is always possible to
structure the equations such that the coefficients of ÿi (t), ẏi (t), and yi (t)
are positive in the ith equation, and the coefficients of any ẏj (t) and yj (t)
terms that appear in the ith equation are negative for j  = i.
Example 1 is a multiple-input, multiple output system with two inputs
ui (t) and two outputs yi (t). We can express the two preceding second-
order differential equations in standard second-order matrix-vector form,
M ÿ(t) + C ẏ(t) + Ky(t) = u(t), that is,
     
m1 0 ÿ1 (t) c1 + c2 −c2 ẏ1 (t)
+
0 m2 ÿ2 (t) −c2 c2 ẏ2 (t)
    
k1 + k2 −k2 y1 (t) u1 (t)
+ =
−k2 k2 y2 (t) u2 (t)
State-Space Description Next, we must derive a valid state-space
description for this system. That is, we specify the state variables and then
34 INTRODUCTION

derive the coefficient matrices A, B, C, and D. We present two distinct


cases:

a. Multiple-input, multiple-output: Both inputs and both outputs


b. Single-input, single-output: One input u2 (t) and one output y1 (t)

We start with the form of the two coupled second-order differential


equations above in which the highest-order derivatives ÿi (t), i = 1, 2, are
isolated. For both cases, the choice of state variables and the resulting
system dynamics matrix A will be identical. This always will be true,
i.e., A is fundamental to the system dynamics and does not change with
different choices of inputs and outputs. For case a, we use both inputs
ui (t); for case b, we must set u1 (t) = 0.

Case a: Multiple-Input, Multiple-Output Since we have two second-


order differential equations, the state-space dimension is n = 4, and thus
we need to define four state variables xi (t), i = 1, 2, 3, 4. Again, energy-
storage elements guide our choice of states:

x1 (t) = y1 (t)
x2 (t) = ẏ1 (t) = ẋ1 (t)
x3 (t) = y2 (t)
x4 (t) = ẏ2 (t) = ẋ3 (t)

We will have four first-order ordinary differential equations derived


from the original two second-order differential equations. Two are ẋi (t) =
xi+1 (t) from the state variable definitions above, for i = 1, 3. The
remaining two come from the original second-order differential equations,
rewritten by isolating accelerations and substituting the state variable
definitions in place of the outputs and their derivatives. Also, we must
divide by mi to normalize each equation.

ẋ1 (t) = x2 (t)


−(k1 + k2 )x1 (t) − (c1 + c2 )x2 (t) + k2 x3 + c2 x4 (t) + u1 (t)
ẋ2 (t) =
m1
ẋ3 (t) = x4 (t)
k2 x1 (t) + c2 x2 (t) − k2 x3 (t) − c2 x4 (t) + u2 (t)
ẋ4 (t) =
m2
CONTINUING EXAMPLES 35

The state differential equation is


 
0 1 0 0
   −(k1 + k2 ) −(c1 + c2 ) k2 c2   x1 (t) 
ẋ1 (t)  
 ẋ2 (t)     x2 (t) 
 ẋ (t)  =  
m1 m1 m1 m1
 0 0 0 1  x3 (t) 
3  
ẋ4 (t)  k2 c2 −k2 −c2  x4 (t)
m2 m2 m2 m2
 
0 0
 1 
 0  
m  u1 (t)
+  1 
 0 0 
 u2 (t)
 1 
0
m2

from which we identify coefficient matrices A and B:


   
0 1 0 0 0 0
 −(k1 + k2 ) −(c1 + c2 ) k c   1 
 2 2   0 
  m 
A=  m 1 m 1 m 1 m 1  B =  1 
 0 0 0 1  
 0
 0 
 k2 c2 −k2 −c2   1 
0
m2 m2 m2 m2 m2

The algebraic output equation is


 
   x1 (t)
   
y1 (t) 1 0 0 0  x2 (t)  0 0 u1 (t)
= +
y2 (t) 0 0 1 0  x3 (t)  0 0 u2 (t)
x4 (t)

from which we identify coefficient matrices C and D:


   
1 0 0 0 0 0
C= D=
0 0 1 0 0 0

This is a four-dimensional multiple-input, multiple-output system with


m = 2 inputs, p = 2 outputs, and n = 4 states.

Case b: Single-Input, Single-Output: One Input u2 , One Output y1 .


Remember, system dynamics matrix A does not change when considering
different system inputs and outputs. For the single-input, single-output
36 INTRODUCTION

case b, only coefficient matrices B, C, and D change. The state differential


equation now is:
 
0 1 0 0
   −(k1 + k2 ) −(c1 + c2 ) k2 c2   
ẋ1 (t)   x1 (t)
 ẋ2 (t)   m1 
 ẋ (t)  = 
m1 m1 m1  x2 (t) 
 x (t) 
 0 0 0 1 
3  3
ẋ4 (t)  k2 c2 −k2 −c2  x4 (t)
m2 m2 m2 m2
 
0
 0 
 
+  0  u2 (t)
 1 
m2
A is the same as that given previously, and the new input matrix is
 
0
 0 
 
B= 0 
 1 
m2
The algebraic output equation now is:
 
x1 (t)
 x (t) 
y1 (t) = [ 1 0 0 0 ]  2  + [0]u2 (t)
x3 (t)
x4 (t)

so that
C = [1 0 0 0] D=0

This is still a four-dimensional system, now with m = 1 input and p = 1


output.

Continuing Example 2: Rotational Electromechanical System


This example also will continue throughout each chapter of this book,
building chapter by chapter to demonstrate the important topics.

Modeling A simplified dc servomotor model is shown in Figure 1.13.


The input is the armature voltage v(t) and the output is the motor shaft
CONTINUING EXAMPLES 37

L R
J
+ b
v(t) i(t)

t(t) w(t), q(t)

FIGURE 1.13 Continuing Example 2 system.

angular displacement θ (t). The constant parameters are armature cir-


cuit inductance and resistance L and R, respectively, and motor shaft
polar inertia and rotational viscous damping coefficient J and b, respec-
tively. The intermediate variables are armature current i(t), motor torque
τ (t), and motor shaft angular velocity ω(t) = θ̇(t). In this Continuing
Example 2, we have simplified the model; we ignore back emf voltage,
and there is no gear ratio or load inertia included. For improvements on
each of these issues, see Continuing Exercise 3.
We can derive the dynamic model of this system in three steps: circuit
model, electromechanical coupling, and rotational mechanical model. For
the circuit model, Kirchhoff’s voltage law yields a first-order differential
equation relating the armature current to the armature voltage, that is,
di(t)
L + Ri(t) = v(t)
dt
Motor torque is modeled as being proportional to the armature current, so
the electromechanical coupling equation is
τ (t) = kT i(t)
where kT is the motor torque constant. For the rotational mechanical
model, Euler’s rotational law results in the following second-order dif-
ferential equation relating the motor shaft angle θ (t) to the input torque
τ (t):
J θ̈ (t) + bθ̇ (t) = τ (t)
To derive the overall system model, we need to relate the designated
system output θ (t) to the designated system input v(t). The intermediate
variables i(t) and τ (t) must be eliminated. It is convenient to use Laplace
transforms and transfer functions for this purpose rather than manipulat-
ing the differential equations. Here, we are applying a method similar to
Examples 1.5 and 1.6, wherein we use a transfer-function description to
derive the state equations. We have
I (s) 1 T (s) (s) 1
= = kT = 2
V (s) Ls + R I (s) T (s) J s + bs
38 INTRODUCTION

Multiplying these transfer functions together, we eliminate the intermedi-


ate variables to generate the overall transfer function:

(s) kT
=
V (s) (Ls + R)(J s 2 + bs)

Simplifying, cross-multiplying, and taking the inverse Laplace transform


yields the following third-order linear time-invariant ordinary differential
equation:

LJ θ¨˙(t) + (Lb + RJ )θ̈ (t) + Rbθ̇ (t) = kT v(t)

This equation is the mathematical model for the system of Figure 1.13.
Note that there is no rotational mechanical spring term in this equation,
i.e., the coefficient of the θ (t) term is zero.

State-Space Description Now we derive a valid state-space descrip-


tion for Continuing Example 2. That is, we specify the state variables
and derive the coefficient matrices A, B, C, and D. The results then are
written in matrix-vector form. Since we have a third-order differential
equation, the state-space dimension is n = 3, and thus we need to define
three state variables xi (t), i = 1, 2, 3. We choose

x1 (t) = θ (t)
x2 (t) = θ̇ (t) = ẋ1 (t)
x3 (t) = θ̈ (t) = ẋ2 (t)

We will have three first-order differential equations, derived from the


original third-order differential equation. Two are ẋi (t) = xi+1 (t) from the
state variable definitions above, for i = 1, 2. The remaining first-order dif-
ferential equation comes from the original third-order differential equation,
rewritten by isolating the highest derivative θ¨˙(t) and substituting the state-
variable definitions in place of output θ (t) and its derivatives. Also, we
divide the third equation by LJ :

ẋ1 (t) = x2 (t)


ẋ2 (t) = x3 (t)
−(Lb + RJ ) Rb kT
ẋ3 (t) = x3 (t) − x2 (t) + v(t)
LJ LJ LJ
HOMEWORK EXERCISES 39

The state differential equation is


      0 
0 1 0
ẋ1 (t) x (t)

 ẋ2 (t)  =  0 0 1  1   0 
 x2 (t) + 
kT 
v(t)
−Rb −(Lb + RJ )
ẋ3 (t) 0 x3 (t)
LJ LJ LJ
from which we identify coefficient matrices A and B:
   
0 1 0 0
0 0 1   0 
A= B=
−Rb −(Lb + RJ )  kT 
0
LJ LJ LJ
The algebraic output equation is
 
x1 (t)
y(t) = [ 1 0 0 ]  x2 (t)  + [0]v(t)
x3 (t)

from which we identify coefficient matrices C and D:

C = [1 0 0] D=0

This is a three-dimensional single-input, single-output system with m = 1


input, p = 1 output, and n = 3 states.

1.7 HOMEWORK EXERCISES

We refer the reader to the Preface for a description of the four classes of
exercises that will conclude each chapter: Numerical Exercises, Analytical
Exercises, Continuing MATLAB Exercises, and Continuing Exercises.

Numerical Exercises
NE1.1 For the following systems described by the given transfer func-
tions, derive valid state-space realizations (define the state vari-
ables and derive the coefficient matrices A, B, C, and D).
Y (s) 1
a. G(s) = = 2
U (s) s + 2s + 6
Y (s) s+3
b. G(s) = = 2
U (s) s + 2s + 6
40 INTRODUCTION

Y (s) 10
c. G(s) = = 3
U (s) s + 4s + 8s + 6
2

Y (s) s 2 + 4s + 6
d. G(s) = = 4
U (s) s + 10s 3 + 11s 2 + 44s + 66
NE1.2 Given the following differential equations (or systems of differ-
ential equations), derive valid state-space realizations (define the
state variables and derive the coefficient matrices A, B, C, and D).
a. ẏ(t) + 2y(t) = u(t)
b. ÿ(t) + 3ẏ(t) + 10y(t) = u(t)
¨˙ + 2ÿ(t) + 3ẏ(t) + 5y(t) = u(t)
c. y(t)
d. ÿ1 (t) + 5y1 (t) − 10[y2 (t) − y1 (t)] = u1 (t)
2ÿ2 (t) + ẏ2 (t) + 10[y2 (t) − y1 (t)] = u2 (t)

Analytical Exercises
AE1.1 Suppose that A is n × m and H is p × q. Specify dimensions for
the remaining matrices so that the following expression is valid.
    
A B E F AE + BG AF + BH
=
C D G H CE + DG CF + DH

AE1.2 Suppose that A and B are square matrices, not necessarily of the
same dimension. Show that
 
A 0 
 
 0 B  = |A| · |B|

AE1.3 Continuing AE1.2, show that


 
A 0 
 
 C B  = |A| · |B|
AE1.4 Continuing AE1.3, show that if A is nonsingular,
 
A D
  −1
 C B  = |A| · |B − CA D|

AE1.5 Suppose that X is n × m and Y is m × n. With Ik denoting the


k × k identity matrix for any integer k > 0, show that

|In − XY | = |Im − Y X|
HOMEWORK EXERCISES 41

Explain the significance of this result when m = 1. Hint: Apply


AE1.4 to    
Im Y In X
and
X In Y Im
AE1.6 Show that the determinant of a square upper triangular matrix
(zeros everywhere below the main diagonal) equals the product
if its diagonal entries.
AE1.7 Suppose that A and C are nonsingular n × n and m × m matrices,
respectively. Verify that
[A + BCD]−1 = A−1 − A−1 B[C −1 + DA−1 B]−1 DA−1
What does this formula reduce to when m = 1 and C = 1?
AE1.8 Suppose that X is n × m and Y is m × n. With Ik denoting the
k × k identity matrix for any integer k > 0, show that
(In − XY )−1 X = X(Im − Y X)−1
when the indicated inverses exist.
AE1.9 Suppose that A and B are nonsingular matrices, not necessarily
of the same dimension. Show that
 −1  −1 
A 0 A 0
=
0 B 0 B −1
AE1.10 Continuing AE1.8, derive expressions for
 −1  −1
A 0 A D
and
C B 0 B
AE1.11 Suppose that A is nonsingular and show that
 −1  −1 
A D A + E−1 F −E−1
=
C B −−1 F −1
in which  = B − CA−1 D, E = A−1 D, and F = CA−1 .
AE1.12 Compute the inverse of the k × k Jordan block matrix
 
λ 1 0 ··· 0
0 λ 1 ··· 0
 
 . 
Jk (λ) =  0 0 λ .. 0 
. . .. . . 
 .. .. . . 1
0 0 0 ··· λ
42 INTRODUCTION

AE1.13 Suppose that A : Rn → Rm is a linear transformation and S is a


subspace of Rm . Verify that the set
A−1 S = {x ∈ Rn |Ax ∈ S}
is a subspace of Rn . This subspace is referred to as the inverse
image of the subspace S under the linear transformation A.
AE1.14 Show that for conformably dimensioned matrices A and B, any
induced matrix norm satisfies
||AB|| ≤ ||A||||B||
AE1.15 Show that for A nonsingular, any induced matrix norm satisfies
1
||A−1 || ≥
||A||
AE1.16 Show that for any square matrix A, any induced matrix norm
satisfies
||A|| ≥ ρ(A)
where ρ(A)  maxλi ∈σ (A) |λi | is the spectral radius of A.

Continuing MATLAB Exercises

CME1.1 Given the following open-loop single-input, single-output


two–dimensional linear time-invariant state equations, namely,
      
ẋ1 (t) −1 0 x1 (t) 1
= + √ u(t)
ẋ2 (t) 0 −2 x2 (t) 2
 
√ x (t)
y(t) = [ 1 − 2/2 ] 1 + [0]u(t)
x2 (t)
find the associated open-loop transfer function H (s).
CME1.2 Given the following open-loop single-input, single-output
three–dimensional linear time-invariant state equations, namely
      
ẋ1 (t) 0 1 0 x1 (t) 0
 ẋ2 (t)  =  0 0 1   x2 (t)  +  0  u(t)
ẋ3 (t) −52 −30 −4 x3 (t) 1
 
x1 (t)
y(t) = [ 20 1 0 ]  x2 (t)  + [0]u(t)
x3 (t)
find the associated open-loop transfer function H (s).
HOMEWORK EXERCISES 43

CME1.3 Given the following open-loop single-input, single-output


fourth–order linear time-invariant state equations, namely,
      
ẋ1 (t) 0 1 0 0 x1 (t) 0
ẋ2 (t)  0 0 1 0  x2 (t) 0
ẋ (t) =  0 0 0
+
1  x3 (t) 0
u(t)
3
ẋ4 (t) −962 −126 −67 −4 x4 (t) 1
 
x1 (t)
 x (t)
y(t) = [300 0 0 0 ]  2  + [0]u(t)
x3 (t)
x4 (t)

find the associated open-loop transfer function H (s).


CME1.4 Given the following open-loop single-input, single-output
four–dimensional linear time-invariant state equations, namely,
      
ẋ1 (t) 0 1 0 0 x1 (t) 0
ẋ2 (t)  0 0 1 0  x2 (t)  0 
ẋ (t) =  0 0 0
+
1  x3 (t)  0 
u(t)
3
ẋ4 (t) −680 −176 −86 −6 x4 (t) 1
 
x1 (t)
 x (t) 
y(t) = [ 100 20 10 0 ]  2  + [0]u(t)
x3 (t)
x4 (t)

find the associated open-loop transfer function H (s).

Continuing Exercises

CE1.1a A mechanical system is represented by the three degree-of-


freedom linear time-invariant system shown in Figure 1.14.
There are three input forces ui (t) and three output displacements
yi (t), i = 1, 2, 3. The constant parameters are the masses mi , i =
1, 2, 3, the spring coefficients kj , and the damping coefficients
cj , j = 1, 2, 3, 4. Derive the mathematical model for this system,
i.e., draw the free-body diagrams and write the correct number
of independent ordinary differential equations. All motion is
constrained to be horizontal. Outputs yi (t) are each measured
from the neutral spring equilibrium location of each mass mi .
44 INTRODUCTION

y1(t) y2(t) y3(t)

u1(t) u2(t) u3(t)


k1 k2 k3 k4

m1 m2 m3
c1 c2 c3 c4

FIGURE 1.14 Diagram for Continuing Exercise 1.

Also express the results in matrix-vector form M ÿ(t) + C ẏ(t) +


Ky(t) = u(t).
CE1.1b Derive a valid state-space realization for the CE1.1a system. That
is, specify the state variables and derive the coefficient matrices
A, B, C, and D. Write out your results in matrix-vector form.
Give the system order and matrix/vector dimensions of your
result. Consider three distinct cases:
i. Multiple-input, multiple-output: three inputs, three displace-
ment outputs.
ii. Multiple-input, multiple-output: two inputs [u1 (t) and u3 (t)
only], all three displacement outputs.
iii. Single-input, single-output: input u2 (t) and output y3 (t).
CE1.2a The nonlinear, inherently unstable inverted pendulum is shown in
Figure 1.15. The goal is to maintain the pendulum angle θ (t) = 0
by using a feedback controller with a sensor (encoder or poten-
tiometer) for θ (t) and an actuator to produce an input force f (t).
The cart mass is m1 , the pendulum point mass is m2 , and we
assume that the pendulum rod is massless. There are two possi-
ble outputs, the pendulum angle θ (t) and the cart displacement
w(t). The classical inverted pendulum has only one input, the
force f (t). We will consider a second case, using a motor to
provide a second input τ (t) (not shown) at the rotary joint of
Figure 1.15. For both cases (they will be very similar), derive the
nonlinear model for this system, i.e., draw the free-body diagrams
and write the correct number of independent ordinary differential
equations. Alternately, you may use the Lagrangian dynamics
approach that does not require free-body diagrams. Apply the
steps outlined in Section 1.4 to derive a linearized model about
the unstable equilibrium condition corresponding to zero angular
displacement.
HOMEWORK EXERCISES 45

m2
Y

g q(t)
L

X
f(t)
m1

w(t)

FIGURE 1.15 Diagram for Continuing Exercise 2.

CE1.2b Derive a valid state-space description for the system of


Figure 1.15. That is, specify the state variables and derive the
coefficient matrices A, B, C, and D. Write out your results in
matrix-vector form. Give the system order and matrix-vector
dimensions of your result. Consider three distinct cases:
i. Single-input, single-output: input f (t) and output θ (t).
ii. Single-input, multiple-output: one input f (t) and two outputs
w(t) and θ (t).
iii. Multiple-input, multiple-output: two inputs f (t) and τ (t)
(add a motor to the inverted pendulum rotary joint, traveling
with the cart) and two outputs w(t) and θ (t).
CE1.3a Figure 1.16 shows a single robot joint/link driven through a gear
ratio n by an armature-controlled dc servomotor. The input is
the dc armature voltage vA (t) and the output is the load-shaft
angle θL (t). Derive the mathematical model for this system;
i.e., develop the circuit differential equation, the electromechan-
ical coupling equations, and the rotational mechanical differen-
tial equation. Eliminate intermediate variables and simplify; it
will be convenient to use a transfer-function approach. Assume
the mass-moment of inertia of all outboard links plus any load
JL (t) is a constant (a reasonable assumption when the gear ratio
n = ωM /ωL is much greater than 1, as it is in the case of industrial
robots). The parameters in Figure 1.16 are summarized below.
CE1.3b Derive a valid state-space description for the system of
Figure 1.16. That is, specify the state variables and derive the
46 INTRODUCTION

L R n
JL(t)
bL

+ + bM
tL(t)
vA(t) iA(t) vB(t) JM
wL(t)
− −
tM(t) qL(t)
wM(t)
qM(t)

FIGURE 1.16 Diagram for Continuing Exercise 3.

vA (t) armature voltage L armature inductance R armature resistance


iA (t) armature current vB (t) back emf voltage kB back emf constant
JM motor inertia bM motor viscous damping τM (t) motor torque
kT torque constant ωM (t) motor shaft velocity θM (t) motor shaft angle
n gear ratio JL (t) load inertia bL load viscous damping
τL (t) load shaft torque ωL (t) load shaft velocity θL (t) load shaft angle

coefficient matrices A, B, C, and D. Write out your results in


matrix-vector form. Give the system order and matrix-vector
dimensions of your result. Consider two distinct cases:
i. Single-input, single-output: armature voltage vA (t) as the
input and robot load shaft angle θL (t) as the output.
ii. Single-input, single-output: armature voltage vA (t) as the
input and robot load shaft angular velocity ωL (t) as the output.
CE1.4 The nonlinear ball and beam apparatus was introduced in
Section 1.4, Example 1.7. This system will form the basis for
Continuing Exercise 4. Figure 1.8 shows the ball and beam
system geometry, where the goal is to control the position of the
ball on the slotted rotating beam by applying a torque τ (t) to the
beam. CE1.4a and CE1.4b are already completed for you; i.e., the
nonlinear equations of motion have been presented, and a valid
state-space realization has been derived and linearized about the
given nominal trajectory. Thus the assignment here is to rederive
these steps for Continuing Exercise 4. As in Example 1.7, use
the single-input, single-output model with input torque τ (t) and
output ball position p(t).
For all ensuing Continuing Exercise 4 assignments, use a special
case of the time-varying linear state equation (1.6) to obtain a lin-
ear time-invariant state-space realization of the nonlinear model;
use zero velocity v0 = 0 and constant nominal ball position
p̃(t) = p0 . Derive the linear time-invariant coefficient matrices
A, B, C, and D for this special case.
HOMEWORK EXERCISES 47

q(t)

M
n(t)
k f(t)

e
J
q(t) m

FIGURE 1.17 Diagram for Continuing Exercise 5 (top view).

CE1.5a A nonlinear proof-mass actuator system is shown in Figure 1.17.


This system has been proposed as a nonlinear controls bench-
mark problem (Bupp et al., 1998). However, in this book, the
system will be linearized about a nominal trajectory, and the lin-
earization then will be used in all ensuing chapters as Continuing
Exercise 5.
This is a vibration-suppression system wherein the control goal
is to reject an unknown, unwanted disturbance force f (t) by
using the control torque n(t) to drive the unbalanced rotating
pendulum (proof mass) to counter these disturbances. The block
of mass M is connected to the wall via a spring with spring
constant k and is constrained to translate as shown; q(t) is the
block displacement. The rotating pendulum has a point mass m
at the tip, and the pendulum has mass moment of inertia J . The
pendulum length is e and the pendulum angle θ (t) is measured
as shown. Assume that the system is operating in the horizontal
plane, so gravity need not be considered. Derive the nonlinear
model for this system.
CE1.5b For nominal equilibria corresponding to zero control torque, lin-
earize the nonlinear model from CE1.5a and derive a valid state-
space description. That is, follow the procedure of Section 1.4
and derive the linearized coefficient matrices A, B, C, and D.
Write out your results in matrix-vector form. Give the system
order and matrix-vector dimensions of your result. Consider only
the single-input, single-output case with input torque n(t) and
output displacement q(t). In ensuing problems, the control objec-
tive will be to regulate nonequilibrium initial conditions.

You might also like