In this chapter we present some basic, but fundamental, ideas from geometric nonlinear control theory. We first give some background from differential geometry to set the notation and define basic quantities, such as manifold, vector field, Lie bracket, and so forth that we will need later. The main tool that we will use in this chapter is the Frobenius theorem, which we introduce in Section 12.1.2.
We then discuss the notion of feedback linearization of nonlinear systems. This approach generalizes the concept of inverse dynamics of rigid manipulators discussed in Chapter 9. The idea of feedback linearization is to construct a nonlinear control law as an inner-loop control, which, in the ideal case, exactly linearizes the nonlinear system after a suitable state space change of coordinates. The designer can then design the outer-loop control in the new coordinates to satisfy the traditional control design specifications such as tracking and disturbance rejection.
In the case of rigid manipulators the inverse dynamics control of Chapter 9 and the feedback linearizing control are the same. The main difference between inverse dynamics control and feedback linearization, as we shall see, is to find the “right” set of coordinates with respect to which the dynamics can be rendered linear by feedback. In the case of inverse dynamics, no change of coordinates is necessary.
As we shall see, the full power of the feedback linearization technique for manipulator control becomes apparent if one includes in the dynamic description of the manipulator the transmission dynamics, such as elasticity resulting from shaft windup and gear elasticity.
In recent years an impressive volume of literature has emerged in the area of differential geometric methods for nonlinear systems, treating not only feedback linearization but also other problems such as disturbance decoupling, estimation, observers, and adaptive control. It is our intent here to give only that portion of the theory that finds an immediate application to robot control, and even then to give only the simplest versions of the results.
The fundamental notion in differential geometry is that of a differentiable manifold, (manifold for short) which is a topological space that is locally diffeomorphic1 to Euclidean space
. For our purposes here a manifold may be thought of as a subset of
defined by the zero set of a smooth vector valued function2
, for p < n,

We assume that the differentials dh1, …, dhp are linearly independent at each point, in which case the dimension of the manifold is m = n − p. Given an m-dimensional manifold M we may attach at each point x ∈ M a tangent space TxM, which is an m-dimensional vector space specifying the set of possible velocities (directional derivatives) at x.
Example 12.1.
Consider the unit sphere S2 in
defined by

S2 is a two-dimensional submanifold of
.
At points in the upper hemisphere,
, and the tangent space is spanned by the vectors

Figure 12.1 The sphere as a two-dimensional manifold in
.
Figure 12.2 Pictorial representation of a vector field on a manifold.
The differential of h is

which is perpendicular to the tangent plane at x, y, z.
Definition 12.1.
A smooth vector field on a manifold M is an infinitely differentiable function f: M → TM represented as a column vector

Another useful notion is that of cotangent space and covector field. The cotangent space T*xM is the dual space of the tangent space. It is an m-dimensional vector space specifying the set of possible differentials of functions at x. Mathematically, T*xM is the space of all linear functionals on TxM, that is, the space of functions from TxM to
.
Definition 12.2.
A smooth covector field is a function w: M → T*M, which is infinitely differentiable, represented as a row vector,

Henceforth, whenever we use the term function, vector field, or covector field, it is assumed to be smooth. Since TxM and T*xM are m-dimensional vector spaces, they are isomorphic and the only distinction we will make between vectors and covectors below is whether or not they are represented as column vectors or row vectors.
We may also have multiple vector fields defined simultaneously on a given manifold. Such a set of vector fields will span a subspace of the tangent space at each point. Likewise, we will consider multiple covector fields spanning a subspace of the cotangent space at each point. These notions give rise to so-called distributions and codistributions.
Definition 12.3.
Let X1(x), …, Xk(x) be vector fields on M. A distribution Δ is the linear span of the vectors (at each x ∈ M)

Likewise, let w1(x), …, wk(x) be covector fields on M. A codistribution Ω is the linear span of the covectors (at each x ∈ M)

Remark 12.1.
We will assume that the distribution Δ is linearly independent at each x ∈ M, in which case Δ is called a regular distribution. Henceforth, whenever we say distribution, it will be understood to mean regular distribution. The same convention will apply to codistribution and regular codistribution.
A distribution therefore assigns a vector space Δ(x) to each point x ∈ M. Δ(x) is a k-dimensional subspace of the m-dimensional tangent space TxM. A codistribution likewise defines a k-dimensional subspace Ω(x) at each x of the m-dimensional cotangent space T*xM.
Vector fields are used to define differential equations and their associated flows. We restrict our attention here to nonlinear systems of the form

where f(x), g1(x), …, gm(x) are smooth vector fields on M, and where we define G(x) = [g1(x), …, gm(x)] and u = [u1, …, um]T. In the remainder of this chapter we will assume that
.
Definition 12.4.
Let f and g be two vector fields on
. The Lie bracket of f and g, denoted by [f, g], is a vector field defined by

where
(respectively,
) denotes the n × n Jacobian matrix whose ijth entry is
(respectively,
).
Example 12.2
Suppose that vector fields f(x) and g(x) on
are given as

Then the vector field [f, g] is computed according to Equation (12.4) as

We also denote [f, g] as adf(g) and define adkf(g) inductively by

with ad0f(g) = g.
Definition 12.5.
Let
be a vector field on
and let
be a scalar function. The Lie derivative of h with respect to f, denoted Lfh, is defined as

The Lie derivative is simply the directional derivative of h in the direction of f. We denote by L2fh the Lie derivative of Lfh with respect to f, that is,

In general we define

with L0fh = h.
The following technical lemma gives an important relationship between the Lie bracket and Lie derivative and is crucial to the subsequent development.
Lemma 12.1
Let
be a scalar function and f and g be vector fields on
. Then we have the following identity

Expand Equation (12.9) in terms of the coordinates x1, …, xn and equate both sides. The ith component [f, g]i of the vector field [f, g] is given as

Therefore, the left-hand side of Equation (12.9) is

If the right-hand side of Equation (12.9) is expanded similarly it can be shown, with a little algebraic manipulation, that the two sides are equal. The details are left as an exercise (Problem 12–1).
In this section we present a basic result in differential geometry known as the Frobenius theorem. The Frobenius theorem can be thought of as an existence theorem for solutions to certain systems of first-order partial differential equations. Although a rigorous proof of this theorem is beyond the scope of this text, we can gain an intuitive understanding of it by considering the following system of partial differential equations


In this example there are two partial differential equations in a single dependent variable z. A solution to Equations (12.10) and (12.11) is a function z = ϕ(x, y) satisfying


We can think of the function z = ϕ(x, y) as defining a surface in
as in Figure 12.3. The function
defined by
Figure 12.3 Integral manifold in
.

then characterizes both the surface and the solution of Equations (12.10) and (12.11). At each point (x, y) the tangent plane to the surface is spanned by two vectors found by taking partial derivatives of Φ in the x and y directions, respectively, that is, by

The vector fields X1 and X2 are linearly independent and span a two-dimensional subspace at each point. Notice that X1 and X2 are completely specified by Equations (12.10) and (12.11). Geometrically, one can now think of the problem of solving this system of first-order partial differential equations as the problem of finding a surface in
whose tangent space at each point is spanned by the vector fields X1 and X2. Such a surface, if it can be found, is called an integral manifold for Equations (12.10) and (12.11). If such an integral manifold exists then the set of vector fields, equivalently, the system of partial differential equations, is called completely integrable.
Let us reformulate this problem in yet another way. Suppose that z = ϕ(x, y) is a solution of Equations (12.10) and (12.11). Then it is a simple computation (Problem 12–2) to check that the function

satisfies the system of partial differential equations

Conversely, suppose a scalar function h can be found satisfying (12.17), and suppose that we can solve the equation

for z, as z = ϕ(x, y).3 Then it can be shown (Problem 12–3) that ϕ satisfies Equations (12.10) and (12.11). Hence, complete integrability of the set of vector fields {X1, X2} is equivalent to the existence of h satisfying Equations (12.17). With the preceding discussion as background we state the following.
Definition 12.6.
A distribution Δ = span{X1, …, Xm} on
is said to be completely integrable if and only if there are n − m linearly independent functions h1, …, hn − m satisfying the system of partial differential equations

Another important concept is the notion of involutivity, as defined next.
Definition 12.7.
A distribution Δ = span{X1, …, Xm} is said to be involutive if and only if there are scalar functions
such that

Involutivity simply means that if one forms the Lie bracket of any pair of vector fields in Δ then the resulting vector field can be expressed as a linear combination of the original vector fields X1, …, Xm. An involutive distribution is thus closed under the operation of taking Lie brackets. Note that the coefficients in this linear combination are allowed to be smooth functions on
.
In the simple case of Equations (12.10) and (12.11) one can show that involutivity of the set {X1, X2} defined by Equation (12.19) is equivalent to interchangeability of the order of partial derivatives of h, that is,
. The Frobenius theorem, stated next, gives the conditions for the existence of a solution to the system of partial differential equations (12.19).
Theroem 12.1. (Frobenius).
A distribution Δ is completely integrable if and only if it is involutive.
The importance of the Frobenius theorem is that it allows one to determine whether or not a given distribution is integrable without having to actually solve the partial differential equations. The involutivity condition can, in principle, be computed from the given vector fields alone.
To introduce the idea of feedback linearization consider the following simple system,


Note that we cannot simply choose u in the above system to cancel the nonlinear term asin (x2). However, if we first change variables by setting


then, by the chain rule, y1 and y2 satisfy

We see that the nonlinearities can now be cancelled by the control input

which results in the linear system in the (y1, y2) coordinates

The term v has the interpretation of an outer-loop control and can be designed to place the poles of the second-order linear system given by Equation (12.27) in the coordinates (y1, y2). For example, the outer-loop control

applied to Equation (12.27) results in the closed-loop system

which has characteristic polynomial

and hence, the closed-loop poles of the system with respect to the coordinates (y1, y2) are completely specified by the choice of k1 and k2. Figure 12.4 illustrates the inner-loop/outer-loop implementation of the above control strategy. The response in the y variables is easy to determine. The corresponding response of the system in the original coordinates (x1, x2) can be found by inverting the transformation given by Equations (12.23) and (12.24). The result is
Figure 12.4 Inner-loop/outer-loop control architecture for feedback linearization.

This example illustrates several important features of feedback linearization. The first thing to note is the local nature of the result. We see from Equations (12.23) and (12.24) that the transformation and the control make sense only in the region − ∞ < x1 < ∞,
. Second, in order to control the linear system given by Equation (12.27), the coordinates (y1, y2) must be available for feedback. This can be accomplished by measuring them directly if they are physically meaningful variables, or by computing them from the measured (x1, x2) coordinates using the transformation given by Equations (12.23) and (12.24). In the latter case the parameter a must be known precisely.
In Section 12.3 we give necessary and sufficient conditions under which a general single-input nonlinear system can be transformed into a linear system using a nonlinear change of variables and nonlinear feedback as in the above example.
The idea of feedback linearization is easiest to understand in the context of single-input systems. In this section we give necessary and sufficient conditions for single-input nonlinear system to be locally feedback linearizable. As an illustration, we apply this result to the control of a single-link manipulator with joint elasticity.
Definition 12.8.
A single-input nonlinear system

where f(x) and g(x) are vector fields on
, f(0) = 0, and
, is said to be feedback linearizable if there exists a diffeomorphism
, defined on an open region U in
containing the origin, and nonlinear feedback

with β(x) ≠ 0 on U such that the transformed state

satisfies the linear system of equations

where

Remark 12.2
The linear system (12.35) with A and b given by (12.36) is known as the Brunovsky canonical form. Any controllable single-input linear system can be transformed into the Brunovsky form with a linear change of coordinates and linear state feedback. Thus, it is without loss of generalization that we specify the Brunovsky form as the target linear system in the definition of nonlinear feedback linearization.
The nonlinear transformation given by Equation (12.34) and the nonlinear control law, Equation (12.33), when applied to the nonlinear system (12.32), result in a linear controllable system (12.35). The diffeomorphism T(x) can be thought of as a nonlinear change of coordinates in the state space. The idea of feedback linearization is that, if one first changes to the coordinate system y = T(x), then there exists a nonlinear control law to cancel the nonlinearities in the system. The feedback linearization is said to be global if the region U is all of
.
We next derive necessary and sufficient conditions on the vector fields f and g in Equation (12.32) for the existence of such a nonlinear coordinate transformation. Let us set

and see what conditions the transformation T(x) must satisfy. Differentiating both sides of Equation (12.37) with respect to time yields

where
is the Jacobian matrix of the transformation T(x). Using Equations (12.32) and (12.35), Equation (12.38) can be written as

In component form with

we see that the first equation in Equation (12.39) is

Similarly, the other components of T satisfy

Since we assume that T1, …, Tn are independent of u while v is not independent of u we conclude from (12.42) that


This leads to the system of partial differential equations

together with

Using Lemma 12.1 together with Equations (12.43) and (12.44) we can derive a system of partial differential equations in terms of T1 alone as follows. Using h = T1 in Lemma 12.1 we have

Thus, we have shown

By proceeding inductively it can be shown (Problem 12–4) that


If we can find T1 satisfying the system of partial differential equations (12.49), then T2, …, Tn are found inductively from Equation (12.45) and the control input u is found from (12.46) as

We have thus reduced the problem to solving the system given by Equation (12.49) for T1. When does such a solution exist?
First note that the vector fields g, adf(g), …, adn − 1f(g) must be linearly independent. If they are not linearly independent, then for some index i, we would have

and then adn − 1f(g) would be a linear combination of g, adf(g), …, adn − 2f(g) and Equation (12.50) could not hold. Now, by the Frobenius theorem, Equation (12.49) has a solution if and only if the distribution Δ = span{g, adf(g), …, adn − 2f(g)} is involutive. Putting this together we have shown the following
Theroem 12.2.
The nonlinear system

is feedback linearizable if and only if there exists an open region U containing the origin in
in which the following conditions hold:
Remark 12.3.
A few remarks about the above theorem are the following:



Example 12.3. (Flexible-Joint Robot).
Consider the single-link, flexible-joint manipulator shown in Figure 12.5. Ignoring damping for simplicity, the equations of motion are

Note that since the nonlinearity enters into the first equation the control u cannot simply be chosen to cancel it as in the case of the rigid manipulator equations. In state space we set

and write the system (12.54) as

The system is thus of the form (12.32) with

Therefore, with n = 4, the necessary and sufficient conditions for feedback linearization of this system are that

and that the distribution

is involutive. Performing the indicated calculations it is easy to check that (Problem 12–10)

which has rank 4 for k, I, J ≠ 0. Also, since the vector fields {g, adf(g), ad2f(g)} are constant, the distribution Δ is involutive. To see this it suffices to note that the Lie bracket of two constant vector fields is zero. Hence, the Lie bracket of any two members of the set of vector fields in Equation (12.59) is zero, which is trivially a linear combination of the vector fields themselves. It follows that the system given by Equation (12.54) is feedback linearizable. The new coordinates

are found from the conditions given by Equation (12.49), with n = 4, that is

Carrying out the above calculations leads to the system of equations (Problem 12–11)

and

From this we see that the function T1 should be a function of x1 alone. Therefore, we take the simplest solution

and compute from Equation (12.45) (Problem 12–12)

The feedback linearizing control input u is found from the condition

as (Problem 12–13)

where

Therefore in the coordinates y1, …, y4 with the control law given by Equation (12.68) the system becomes

or, in matrix form,

where

It is interesting to note that the above feedback linearization is actually global. In order to see this we need only compute the inverse of the change of variables given by Equations (12.65) and (12.66). By inspection we see that

The inverse transformation is well defined and differentiable everywhere and, hence, the feedback linearization for the system given by Equation (12.54) holds globally. The transformed variables y1, …, y4 are themselves physically meaningful. We see that

Since the motion trajectory of the link is typically specified in terms of these quantities, they are natural variables to use for feedback.
Example 12.4.
Once the system is linearized to Brunovsky form, we can choose the outer-loop control v as

to execute a step change yref1 in the link angle.
Figure 12.6 shows the response of the system with parameter values I = J = 1, mgL = 10, k = 100, reference value yref1 = π/2, and outer loop gains k1 = 4788, k2 = 2319, k3 = 420, k4 = 34, chosen so that the closed poles of the linearized system are at − 7, −8, −9, −9.5. Note that the final value of the input torque is u = 10, which is necessary to balance the gravitational torque mgL = 10.
Figure 12.5 Single-link, flexible joint robot.
Figure 12.6 Step response and motor torque of the flexible joint robot. The difference between the final values of the motor angle and the link angle are determined by the joint stiffness and the steady-state value of the gravitational torque.
Example 12.5.
The next example shows the response for the above flexible joint robot, where the reference input is a cubic polynomial trajectory. With a cubic polynomial the desired jerk is a constant. Therefore, let us specify a trajectory

so that

Then a linear control law that tracks this trajectory, which is essentially equivalent to the feedforward/feedback scheme of Chapter 9, is given by

Applying this control law to the fourth-order linear system given by Equation (12.68) we see that the tracking error e(t) = y1 − yd1 satisfies the fourth-order linear equation

and, hence, the error dynamics are completely determined by the choice of gains k0, …, k3.
Figure 12.7 shows the closed loop response of the system.
Figure 12.7 Tracking response and motor torque of the flexible joint robot with a cubic polynomial reference trajectory for the link angle y1.
Remark 12.4.
Notice that the feedback control law given by Equation (12.76) is stated in terms of the variables y1, …, y4. Thus, it is important to consider how these variables are to be determined so that they may be used for feedback in case they cannot be measured directly. Although the first two variables, representing the link position and velocity, are easy to measure, the remaining variables, representing link acceleration and jerk, are difficult to measure with any degree of accuracy using present technology. One could measure the original variables x1, …, x4, which represent the motor and link positions and velocities, and compute y1, …, y4 using the transformation Equations (12.65) and (12.66). In this case the parameters appearing in the transformation equations would have to be known precisely. One may also implement a nonlinear observer to estimate the full state, given only the measured link position x1.
Nonlinear Observer with Output Injection
It is interesting to note that the special structure of the dynamic equations (12.54), in the single-link case, allows us to design a nonlinear observer to estimate the full state vector, x = [x1, x2, x3, x4]T supposing that only the link angle x1 is measured. To see this, set y = x1 = cTx as an output equation with cT = [1, 0, 0, 0]. We can then write the state space equations (12.56) as

where

Since ϕ(y) is a nonlinear function depending only on the output y, a so-called nonlinear observer with output injection takes the form

The estimation error
is then given by the linear system

It is easily checked that (cT, A) is an observable pair and so the observer gains ℓ can now be chosen so that A − ℓcT is a Hurwitz matrix. Figure 12.8 shows the closed-loop response of the system using the estimated state
in the control input. The observer gains were chosen as ℓ1 = 46, ℓ2 = 591, ℓ3 = 14.3, ℓ4 = −419.
Figure 12.8 Tracking response and motor torque of the flexible joint robot with an observer. The link angle and estimated link angle are nearly indistinguishable.
In the general case of an n-link manipulator the dynamic equations represent a multi-input nonlinear system. The conditions for feedback linearization of multi-input systems are more difficult to state, but the conceptual idea is the same as the single-input case. That is, one seeks a coordinate system in which the nonlinearities can be exactly cancelled by one or more of the inputs. In the multi-input system we can also decouple the system, that is, linearize the system in such a way that the resulting linear system is composed of subsystems, each of which is affected by only a single one of the outer-loop control inputs.
Since we are concerned only with the application of these ideas to manipulator control, we will not need the most general results in multi-input feedback linearization. Instead, we will use the physical insight gained by our detailed derivation of this result in the single-link case to derive a feedback linearizing control both for n-link rigid manipulators and for n-link manipulators with elastic joints. For fully-actuated rigid manipulators, no coordinate change from the usual generalized coordinates
is needed. For n-link flexible-joint robots, the required coordinate transformation can be defined in terms of the link position, velocity, acceleration, and jerk just as in the single-input case.
Example 12.6.
We will first verify what we have stated previously, namely that for an n-link rigid manipulator the feedback linearizing control is identical to the inverse dynamics control of Chapter 9. To see this, consider the rigid robot equations of motion given by Equation (9.2.6), which we write in state space as

with x1 = q,
. In this case a feedback linearizing control is found by simply inspecting Equation (12.80) as


Equation (12.82) represents a set of n second-order systems of the form

Comparing Equation (12.81) with Equation (9.3.4) we see indeed that the feedback linearizing control for a rigid manipulator is precisely the inverse dynamics control of Chapter 9.
Example 12.7
Including the joint flexibility in the dynamic description of an n-link robot results in a Lagrangian system with 2n degrees of freedom. Recall the Euler–Lagrange equations of motion for the flexible-joint robot from Chapter 9

In state space, which is now
, we define state variables in block form

Then from Equation (12.84) we have:

where we define h(x1, x2) = C(x1, x2)x2 + g(x1) for simplicity. This system is of the form

In the single-link case we saw that the system could be linearized by nonlinear feedback if we took as state variables the link position, velocity, acceleration, and jerk. Following the single-input example, we can attempt to do the same thing in the multi-link case and derive a feedback linearizing transformation blockwise as follows. Set

where for simplicity we define the function a4 to be everything in the definition of y4 except the last term, which is D− 1Kx4. Note that x4 appears only in this last term so that a4 depends only on x1, x2, x3.
As in the single-link case, the above mapping is a global diffeomorphism. Its inverse can be found by inspection to be

The linearizing control law can now be found from the condition

Computing
from Equation (12.88) yields

where a(x) denotes all the terms in Equation (12.91) but the last term, which involves the input u, and b(x) = D− 1(x)KJ− 1.
Solving the above expression for u yields

where β(x) = JK− 1D(x) and α(x) = −b(x)− 1a(x).
With the nonlinear change of coordinates given by Equation (12.88) and nonlinear feedback given by Equation (12.92) the transformed system now has the linear block form

where I = n × n identity matrix, 0 = n × n zero matrix,
, and
. The system (12.93) represents a set of n decoupled quadruple integrators. The outer-loop design can now proceed as before, because not only is the system linearized, but it consists of n subsystems each identical to the fourth-order system (12.70).
This chapter introduced some basic concepts from differential geometric nonlinear control theory and serves as a foundation to explore more advanced literature.
Manifolds, Vector Fields, Distributions
We introduced basic definitions from differential geometry, such as a differentiable manifold, vector field, and distribution. We introduced some geometric operations such as the Lie derivative and Lie bracket and showed how they are related. We stated the Frobenius Theorem, which is an important tool for nonlinear analysis.
Feedback Linearization
We derived the necessary and sufficient conditions for feedback linearization of single-input nonlinear systems. This important result serves as a basis for controller design for a wide range of physical systems. In particular, we showed how feedback linearization can be used to design globally stable tracking controllers for flexible joint robots.
, then Equation (12.18) can be solved for z as z = ϕ(x, y) where ϕ satisfies Equations (12.10) and (12.11). Also show that
can occur only in the case of the trivial solution h = 0 of Equation (12.17).


A rigorous treatment of differential geometry can be found, for example, in a number of texts, for example, [15] or [156]. A comprehensive treatment of differential geometric methods in control is [69]. For specific applications in robotics of these advanced methods, the reader is referred to [118] and [32].
Our treatment of feedback linearization for single-input, affine, nonlinear systems follows closely the pioneering result of Su [171]. The first application of the method of feedback linearization for the single-link flexible-joint robot appeared in Marino and Spong [109]. The corresponding result for the case of n-link flexible-joint robots is due to Spong [165]. Dynamic feedback linearization for flexible-joint robots was treated in DeLuca [34]. An complete reference for flexible-joint robots is in Readman [142]. The problem of designing nonlinear observers is treated in [81] and [82].
.
.