Virtual screening: Difference between revisions
en>Boghog m punctuation before citation per WP:REFPUNC; formatting |
en>Monkbot |
||
Line 1: | Line 1: | ||
{{No footnotes|date=May 2009}} | |||
'''Feedback linearization''' is a common approach used in controlling [[nonlinear systems]]. The approach involves coming up with a transformation of the nonlinear system into an equivalent linear system through a change of variables and a suitable control input. Feedback linearization may be applied to nonlinear systems of the form | |||
:<math>\begin{align}\dot{x} &= f(x) + g(x)u \qquad &(1)\\ | |||
y &= h(x) \qquad \qquad \qquad &(2)\end{align}</math> | |||
where <math>x \in \mathbb{R}^n</math> is the state vector, <math>u \in \mathbb{R}^p</math> is the vector of inputs, and <math>y \in \mathbb{R}^m</math> is the vector of outputs. The goal is to develop a control input | |||
:<math>u = a(x) + b(x)v\,</math> | |||
that renders a linear input–output map between the new input <math>v</math> and the output. An outer-loop control strategy for the resulting linear control system can then be applied. | |||
== Feedback Linearization of SISO Systems == | |||
Here, we consider the case of feedback linearization of a single-input single-output (SISO) system. Similar results can be extended to multiple-input multiple-output (MIMO) systems. In this case, <math>u \in \mathbb{R}</math> and <math>y \in \mathbb{R}</math>. We wish to find a coordinate transformation <math>z = T(x)</math> that transforms our system (1) into the so-called [[Normal form (abstract rewriting)|normal form]] which will reveal a feedback law of the form | |||
:<math>u = a(x) + b(x)v\,</math> | |||
that will render a linear input–output map from the new input <math>v \in \mathbb{R}</math> to the output <math>y</math>. To ensure that the transformed system is an equivalent representation of the original system, the transformation must be a [[diffeomorphism]]. That is, the transformation must not only be invertible (i.e., bijective), but both the transformation and its inverse must be [[smooth function|smooth]] so that differentiability in the original coordinate system is preserved in the new coordinate system. In practice, the transformation can be only locally diffeomorphic, but the linearization results only hold in this smaller region. | |||
We require several tools before we can solve this problem. | |||
=== Lie derivative === | |||
The goal of feedback linearization is to produce a transformed system whose states are the output <math>y</math> and its first <math>(n-1)</math> derivatives. To understand the structure of this target system, we use the [[Lie derivative]]. Consider the time derivative of (2), which we can compute using the [[chain rule]], | |||
:<math>\begin{align} | |||
\dot{y} = \frac{\operatorname{d}h(x)}{\operatorname{d}t} &=\frac{\operatorname{d}h(x)}{\operatorname{d}x}\dot{x}\\ | |||
&= \frac{\operatorname{d}h(x)}{\operatorname{d}x}f(x) + \frac{\operatorname{d}h(x)}{\operatorname{d}x}g(x)u | |||
\end{align}</math> | |||
Now we can define the Lie derivative of <math>h(x)</math> along <math>f(x)</math> as, | |||
:<math>L_{f}h(x) = \frac{\operatorname{d}h(x)}{\operatorname{d}x}f(x),</math> | |||
and similarly, the Lie derivative of <math>h(x)</math> along <math>g(x)</math> as, | |||
:<math>L_{g}h(x) = \frac{\operatorname{d}h(x)}{\operatorname{d}x}g(x).</math> | |||
With this new notation, we may express <math>\dot{y}</math> as, | |||
:<math>\dot{y} = L_{f}h(x) + L_{g}h(x)u</math> | |||
Note that the notation of Lie derivatives is convenient when we take multiple derivatives with respect to either the same vector field, or a different one. For example, | |||
:<math>L_{f}^{2}h(x) = L_{f}L_{f}h(x) = \frac{\operatorname{d}(L_{f}h(x))}{\operatorname{d}x}f(x),</math> | |||
and | |||
:<math>L_{g}L_{f}h(x) = \frac{\operatorname{d}(L_{f}h(x))}{\operatorname{d}x}g(x).</math> | |||
=== Relative degree === | |||
In our feedback linearized system made up of a state vector of the output <math>y</math> and its first <math>(n-1)</math> derivatives, we must understand how the input <math>u</math> enters the system. To do this, we introduce the notion of [[relative degree]]. Our system given by (1) and (2) is said to have relative degree <math>r \in \mathbb{W}</math> at a point <math>x_0</math> if, | |||
:<math>L_{g}L_{f}^{k}h(x) = 0 \qquad \forall x</math> in a [[neighbourhood (mathematics)|neighbourhood]] of <math>x_0</math> and all <math>k \leq r-2</math> | |||
:<math>L_{g}L_{f}^{r-1}h(x_0) \neq 0</math> | |||
Considering this definition of relative degree in light of the expression of the time derivative of the output <math>y</math>, we can consider the relative degree of our system (1) and (2) to be the number of times we have to differentiate the output <math>y</math> before the input <math>u</math> appears explicitly. In an [[LTI system]], the relative degree is the difference between the degree of the transfer function's denominator polynomial (i.e., number of [[pole (complex analysis)|pole]]s) and the degree of its numerator polynomial (i.e., number of [[zero (complex analysis)|zero]]s). | |||
=== Linearization by feedback === | |||
For the discussion that follows, we will assume that the relative degree of the system is <math>n</math>. In this case, after differentiating the output <math>n</math> times we have, | |||
:<math>\begin{align} | |||
y &= h(x)\\ | |||
\dot{y} &= L_{f}h(x)\\ | |||
\ddot{y} &= L_{f}^{2}h(x)\\ | |||
&\vdots\\ | |||
y^{(n-1)} &= L_{f}^{n-1}h(x)\\ | |||
y^{(n)} &= L_{f}^{n}h(x) + L_{g}L_{f}^{n-1}h(x)u | |||
\end{align}</math> | |||
where the notation <math>y^{(n)}</math> indicates the <math>n</math>th derivative of <math>y</math>. Because we assumed the relative degree of the system is <math>n</math>, the Lie derivatives of the form <math>L_{g}L_{f}^{i}h(x)</math> for <math>i = 1, \dots, n-2</math> are all zero. That is, the input <math>u</math> has no direct contribution to any of the first <math>(n-1)</math>th derivatives. | |||
The coordinate transformation <math>T(x)</math> that puts the system into normal form comes from the first <math>(n-1)</math> derivatives. In particular, | |||
:<math>z = T(x) = \begin{bmatrix}z_1(x) \\ | |||
z_2(x) \\ | |||
\vdots \\ | |||
z_n(x) | |||
\end{bmatrix} | |||
= \begin{bmatrix}y\\ | |||
\dot{y}\\ | |||
\vdots\\ | |||
y^{(n-1)} | |||
\end{bmatrix} | |||
= \begin{bmatrix}h(x) \\ | |||
L_{f}h(x) \\ | |||
\vdots \\ | |||
L_{f}^{n-1}h(x) | |||
\end{bmatrix}</math> | |||
transforms trajectories from the original <math>x</math> coordinate system into the new <math>z</math> coordinate system. So long as this transformation is a [[diffeomorphism]], smooth trajectories in the original coordinate system will have unique counterparts in the <math>z</math> coordinate system that are also smooth. Those <math>z</math> trajectories will be described by the new system, | |||
:<math>\begin{cases}\dot{z}_1 &= L_{f}h(x) = z_2(x)\\ | |||
\dot{z}_2 &= L_{f}^{2}h(x) = z_3(x)\\ | |||
&\vdots\\ | |||
\dot{z}_n &= L_{f}^{n}h(x) + L_{g}L_{f}^{n-1}h(x)u\end{cases}.</math> | |||
Hence, the feedback control law | |||
:<math>u = \frac{1}{L_{g}L_{f}^{n-1}h(x)}(-L_{f}^{n}h(x) + v)</math> | |||
renders a linear input–output map from <math>v</math> to <math>z_1 = y</math>. The resulting linearized system | |||
:<math>\begin{cases}\dot{z}_1 &= z_2\\ | |||
\dot{z}_2 &= z_3\\ | |||
&\vdots\\ | |||
\dot{z}_n &= v\end{cases}</math> | |||
is a cascade of <math>n</math> integrators, and an outer-loop control <math>v</math> may be chosen using standard linear system methodology. In particular, a state-feedback control law of | |||
:<math>v = -Kz\qquad,</math> | |||
where the state vector <math>z</math> is the output <math>y</math> and its first <math>(n-1)</math> derivatives, results in the [[LTI system]] | |||
:<math>\dot{z} = Az</math> | |||
with, | |||
:<math>A = \begin{bmatrix} | |||
0 & 1 & 0 & \ldots & 0 \\ | |||
0 & 0 & 1 & \ldots & 0 \\ | |||
\vdots & \vdots & \vdots & \ddots & \vdots \\ | |||
0 & 0 & 0 & \ldots & 1 \\ | |||
-k_1 & -k_2 & -k_3 & \ldots & -k_n | |||
\end{bmatrix}.</math> | |||
So, with the appropriate choice of <math>k</math>, we can arbitrarily place the closed-loop poles of the linearized system. | |||
=== Unstable zero dynamics === | |||
Feedback linearization can be accomplished with systems that have relative degree less than <math>n</math>. However, the normal form of the system will include [[zero dynamics]] (i.e., states that are not [[observable]] from the output of the system) that may be unstable. In practice, unstable dynamics may have deleterious effects on the system (e.g., it may be dangerous for internal states of the system to grow unbounded). These unobservable states may be stable or at least [[controllable]], and so measures can be taken to ensure these states do not cause problems in practice. | |||
== See also == | |||
* [[Nonlinear control]] | |||
== Further reading == | |||
{{refbegin}} | |||
* A. Isidori, ''Nonlinear Control Systems,'' third edition, Springer Verlag, London, 1995. | |||
* H. K. Khalil, ''Nonlinear Systems,'' third edition, Prentice Hall, Upper Saddle River, New Jersey, 2002. | |||
* M. Vidyasagar, ''Nonlinear Systems Analysis'' second edition, Prentice Hall, Englewood Cliffs, New Jersey, 1993. | |||
* B. Friedland, ''Advanced Control System Design'' Facsimile edition, Prentice Hall, Upper Saddle river, New Jersey, 1996. | |||
{{refend}} | |||
== External links == | |||
* [http://www.ece.osu.edu/~passino/lab5prelabnlc.pdf ECE 758: Modeling and Nonlinear Control of a Single-link Flexible Joint Manipulator] – Gives explanation and an application of feedback linearization. | |||
* [http://www.ece.osu.edu/~pavlict/ece758/lab5_nonlinear/lab5_nonlinear_ball_tube_ex.pdf ECE 758: Ball-in-Tube Linearization Example] – Trivial application of linearization for a system already in normal form (i.e., no coordinate transformation necessary). | |||
[[Category:Control theory]] | |||
[[Category:Nonlinear control]] |
Revision as of 16:02, 31 January 2014
Feedback linearization is a common approach used in controlling nonlinear systems. The approach involves coming up with a transformation of the nonlinear system into an equivalent linear system through a change of variables and a suitable control input. Feedback linearization may be applied to nonlinear systems of the form
where is the state vector, is the vector of inputs, and is the vector of outputs. The goal is to develop a control input
that renders a linear input–output map between the new input and the output. An outer-loop control strategy for the resulting linear control system can then be applied.
Feedback Linearization of SISO Systems
Here, we consider the case of feedback linearization of a single-input single-output (SISO) system. Similar results can be extended to multiple-input multiple-output (MIMO) systems. In this case, and . We wish to find a coordinate transformation that transforms our system (1) into the so-called normal form which will reveal a feedback law of the form
that will render a linear input–output map from the new input to the output . To ensure that the transformed system is an equivalent representation of the original system, the transformation must be a diffeomorphism. That is, the transformation must not only be invertible (i.e., bijective), but both the transformation and its inverse must be smooth so that differentiability in the original coordinate system is preserved in the new coordinate system. In practice, the transformation can be only locally diffeomorphic, but the linearization results only hold in this smaller region.
We require several tools before we can solve this problem.
Lie derivative
The goal of feedback linearization is to produce a transformed system whose states are the output and its first derivatives. To understand the structure of this target system, we use the Lie derivative. Consider the time derivative of (2), which we can compute using the chain rule,
Now we can define the Lie derivative of along as,
and similarly, the Lie derivative of along as,
With this new notation, we may express as,
Note that the notation of Lie derivatives is convenient when we take multiple derivatives with respect to either the same vector field, or a different one. For example,
and
Relative degree
In our feedback linearized system made up of a state vector of the output and its first derivatives, we must understand how the input enters the system. To do this, we introduce the notion of relative degree. Our system given by (1) and (2) is said to have relative degree at a point if,
- in a neighbourhood of and all
Considering this definition of relative degree in light of the expression of the time derivative of the output , we can consider the relative degree of our system (1) and (2) to be the number of times we have to differentiate the output before the input appears explicitly. In an LTI system, the relative degree is the difference between the degree of the transfer function's denominator polynomial (i.e., number of poles) and the degree of its numerator polynomial (i.e., number of zeros).
Linearization by feedback
For the discussion that follows, we will assume that the relative degree of the system is . In this case, after differentiating the output times we have,
where the notation indicates the th derivative of . Because we assumed the relative degree of the system is , the Lie derivatives of the form for are all zero. That is, the input has no direct contribution to any of the first th derivatives.
The coordinate transformation that puts the system into normal form comes from the first derivatives. In particular,
transforms trajectories from the original coordinate system into the new coordinate system. So long as this transformation is a diffeomorphism, smooth trajectories in the original coordinate system will have unique counterparts in the coordinate system that are also smooth. Those trajectories will be described by the new system,
Hence, the feedback control law
renders a linear input–output map from to . The resulting linearized system
is a cascade of integrators, and an outer-loop control may be chosen using standard linear system methodology. In particular, a state-feedback control law of
where the state vector is the output and its first derivatives, results in the LTI system
with,
So, with the appropriate choice of , we can arbitrarily place the closed-loop poles of the linearized system.
Unstable zero dynamics
Feedback linearization can be accomplished with systems that have relative degree less than . However, the normal form of the system will include zero dynamics (i.e., states that are not observable from the output of the system) that may be unstable. In practice, unstable dynamics may have deleterious effects on the system (e.g., it may be dangerous for internal states of the system to grow unbounded). These unobservable states may be stable or at least controllable, and so measures can be taken to ensure these states do not cause problems in practice.
See also
Further reading
- A. Isidori, Nonlinear Control Systems, third edition, Springer Verlag, London, 1995.
- H. K. Khalil, Nonlinear Systems, third edition, Prentice Hall, Upper Saddle River, New Jersey, 2002.
- M. Vidyasagar, Nonlinear Systems Analysis second edition, Prentice Hall, Englewood Cliffs, New Jersey, 1993.
- B. Friedland, Advanced Control System Design Facsimile edition, Prentice Hall, Upper Saddle river, New Jersey, 1996.
External links
- ECE 758: Modeling and Nonlinear Control of a Single-link Flexible Joint Manipulator – Gives explanation and an application of feedback linearization.
- ECE 758: Ball-in-Tube Linearization Example – Trivial application of linearization for a system already in normal form (i.e., no coordinate transformation necessary).