Feedback linearization: Difference between revisions

Content deleted Content added
clean up; add {{reflist}}
Added a section on how NDI can be applied to MIMO systems.
Line 134:
 
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 controllable or at least stable, and so measures can be taken to ensure these states do not cause problems in practice. [[Minimum phase]] systems provide some insight on zero dynamics.
 
== Feedback linearization of MIMO systems ==
Although NDI is not necessarily restricted to this type of system, lets consider a nonlinear MIMO system that is affine in input <math>\mathbf{\mathbf{u}}</math>, as is shown below.
{{NumBlk|:|
<math>
\begin{aligned}
\dot{\mathbf{x}} &= \mathbf{f}(\mathbf{x}) + G(\mathbf{x})\mathbf{u}\\
\mathbf{y} &= \mathbf{h}(\mathbf{x})
\end{aligned}
</math>
|{{EquationRef|4}}}}
 
It is assumed that the amount of inputs is the same as the amount of outputs. Lets say there are <math>m</math> inputs and outputs. Then <math>G = [\mathbf{g}_1 \, \mathbf{g}_2 \, \cdots \, \mathbf{g}_m]</math> is an <math>n\times m</math> matrix, where <math>\mathbf{g}_j</math> are the vectors making up its columns. Furthermore, <math>\mathbf{u}\in \mathbb{R}^m</math> and <math>\mathbf{y}\in \mathbb{R}^m</math>. To use a similar derivation as for SISO, the system from Eq. 4 can be split up by isolating each <math>i</math>'th output <math>y_i</math>, as is shown in Eq. 5.
 
{{NumBlk|:|
<math>
\begin{aligned}
\dot{\mathbf{x}} &= \mathbf{f}(\mathbf{x}) + \mathbf{g}_1(\mathbf{x}) u_1 + \mathbf{g}_2(\mathbf{x}) u_2 + \cdots + \mathbf{g}_m(\mathbf{x}) u_m\\
y_i &= h_i(\mathbf{x})
\end{aligned}
</math>
|{{EquationRef|5}}}}
 
Similarly to SISO, it can be shown that up until the <math>(r_i-1)</math>’th derivative of <math>y_i</math>, the term <math>L_{g_j} h_i (\mathbf{x}) = 0</math>. Here <math>r_i</math> refers to the relative degree of the <math>i</math>'th output. Analogously, this gives
 
{{NumBlk|:|
<math>
\begin{aligned}
y_i =& h_i(\mathbf{x})\\
\dot{y}_i =& L_fh_i(\mathbf{x})\\
\ddot{y}_i =& L_f^2h_i(\mathbf{x})\\
&\vdots\\
y_i^{(r_i)} =& L_f^{r_i}h_i(\mathbf{x}) + \sum^m_{j=1} L_{g_j}L_f^{r_i-1}h_i(\mathbf{x})u_j\\
=& L_f^{r_i}h_i(\mathbf{x}) +
\begin{bmatrix}
L_{g_1}L_f^{r_i-1}h_i &
L_{g_2}L_f^{r_i-1}h_i&
\cdots&
L_{g_m}L_f^{r_i-1}h_i
\end{bmatrix} \mathbf{u}
\end{aligned}
</math>
|{{EquationRef|6}}}}
 
Working this out the same way as SISO, one finds that defining a virtual input <math>v_i</math> such that
{{NumBlk|:|
<math>
\begin{aligned}
v_i &= L_f^{r_i}h_i(\mathbf{x}) + \sum^m_{j=1} L_{g_j}L_f^{r_i-1}h_i(\mathbf{x})u_j\\
&= b_i(\mathbf{x}) +
\begin{bmatrix}
a_{i1} & a_{i1} & \cdots& a_{im}
\end{bmatrix} \mathbf{u}
\end{aligned}
</math>
|{{EquationRef|7}}}}
linearizes this <math>i</math>'th system. However, <math>\mathbf{u}</math> can not be solved from <math>v_i</math> since its an underdetermined set of equations. Setting up such an equation for all <math>m</math> outputs, <math>y_1,y_2,\ldots,y_m</math>, however results in <math>m</math> equations of the form shown in Eq. 7. Combining these equation results in a matrix equation, which generally allows solving for the input <math>\mathbf{u}</math>, as is shown below.
{{NumBlk|:|
<math>
\begin{aligned}
\mathbf{v} &= \mathbf{b} + A \mathbf{u}\\
A^{-1} (\mathbf{v}-\mathbf{b}) &= \mathbf{u}
\end{aligned}
</math>
|{{EquationRef|8}}}}
 
 
 
== See also ==