はじめに
非線形システムを制御する場合、まずは
- システムを平衡点周りで線形近似する
- 座標変換とフィードバックで非線形項を打ち消す
のどちらかをとり、それから線形制御理論に基づいて制御器設計をするといった方法がとられると思います。
本記事では後者の方法について,多入力の場合にどのようにすればよいかをまとめました。
執筆にあたり参考文献[1]の「5.2節 Exact Linearization via Feedback」を熟読しましたが、紙面と著者の理解力の都合上,
- 厳密線形化可否を判断する定理と事例紹介
- 厳密線形化の実現方法
を述べるに留めます。
本記事では、「厳密線形化可否を判断する定理と事例紹介」を扱います。
扱う非線形システム
本記事では以下に示す5次2入力の非線形入力アファインシステムを扱います。
\dot{x} = f(x) + g_1(x)u_1 + g_2(x)u_2
\tag{1-1}
f(x) =
\begin{bmatrix}
x_2 + x_2^2 \\
x_3 - x_1x_4 + x_4x_5 \\
x_2x_4 + x_1x_5 - x_5^2 \\
x_5 \\
x_2^2
\end{bmatrix}
\tag{1-2}
g_1(x) =
\begin{bmatrix}
0 \\ 0 \\ \cos(x_1 - x_5) \\ 0 \\ 0
\end{bmatrix}
\tag{1-3}
g_2(x) =
\begin{bmatrix}
1 \\ 0 \\ 1 \\ 0 \\ 1
\end{bmatrix}
\tag{1-4}
なお、このシステムは参考文献[1]の5.2節にて例として挙げられているシステムです。
厳密線形化可否を判断する定理の紹介
厳密線形化可能とは
非線形システムが厳密線形化可能かどうかは、「状態方程式を、非線形要素が打ち消せる形に変換できるかどうか」に依ります。
例えば1入力系の場合、
\begin{align}
L_{g}L_f^iT_1(x) &=0 \quad (i=0 \sim n-2) \tag{2-1} \\
L_g L_f^{n-1} T_1(x) & \neq 0 \tag{2-2}
\end{align}
を満たす関数$T_1(x)$が存在すれば、状態方程式を
\begin{align}
\begin{bmatrix}
\dot{z_1} \\ \dot{z_2} \\ \vdots \\ \dot{z_n}
\end{bmatrix}
=
\begin{bmatrix}
z_2 \\ z_3 \\ \vdots \\ \alpha(x)
\end{bmatrix}
+
\begin{bmatrix}
0 \\ 0 \\ \vdots \\ \beta(x)
\end{bmatrix}
u
\end{align}
という形にすることができます。この形に対し、下記の様な非線形フィードバックを取ると状態方程式を厳密線形化できます。
\begin{align}
u=\frac{\alpha(x)}{\beta(x)}+\frac{1}{\beta(x)}v
\end{align}
1入力系で式(2-1)と式(2-2)のような変換が存在するかどうかは、フロベニウスの定理で判断できます。
多入力の場合、
r_1 + r_2 + \cdots + r_m = n
を満たす相対次数ベクトル $r={r_1, r_2, \dots, r_m}$を持つ関数ベクトル
y(x) = [\lambda_1(x), \lambda_2(x), \dots, \lambda_m(x)]
が存在すれば、厳密線形化が可能、つまり非線形要素を打ち消せる形に変換できます。
そしてその関数ベクトル$y(x)$が存在するかどうかは、下記定理で判断できます。
関数ベクトルの存在を判別する定理
n次m入力の非線形アファインシステム
\begin{align}
\dot{x} = f(x) + g_1(x)u_1 \cdots g_m(x)u_m
\end{align}
について、式(6)を満たす相対次数ベクトルを持つ関数ベクトル$y(t)$が存在する必要十分条件は、ベクトル場集合
\begin{align}
G_0 &= span\{g_1,\ldots,g_m\}
\\
G_1 &= span\{g_1,\ldots, g_m, ad_fg_1,\ldots, ad_fg_m\}
\\
\vdots
\\
G_i &= span\{ad^k_fg_j : 0 ≤ k ≤ i, 1 ≤ j ≤ m\}
\end{align}
が、次の3条件を満たすことです。
- $0 ≤ i ≤ n − 1$について、$G_i$の次元が$x_0$の近傍で一定値を持つこと
- ベクトル場集合$G_{n−1}$の次元が$n$であること
- $0 ≤ i ≤ n−2$について、$G_i$がinvolutiveであること
定理の事例紹介
本節にて、式(1-1)~式(1-4)の非線形システムが定理を満足することを示します。
1.を満足することの確認
まず、$x_0=0$近傍のベクトル場$G_0 \sim G_2$の次元を計算します。
結果、
| ベクトル場 | 次元 |
|---|---|
| $G_0=span [g_1, g_2]$ | $dim{G_0}=2$ |
| $G_1=span [g_1, g_2, ad_fg_1, ad_fg_2]$ | $dim{G_1}=4$ |
| $G_2=span [g_1, g_2, ad_fg_1, ad_fg_2, ad^2_fg_1, ad^2_fg_2]$ | $dim{G_2}=5$ |
となり、$G_0 \sim G_2$の次元は$x=0$近傍では一定値となることがわかります。
また、
- $G_2$の時点で次元が5となり、システムの次数と一致すること
- $G_i$のベクトル場は$G_{i-1}$のベクトル場も含んでいること
から、$G_3 \sim G_4$の次元も、$x=0$近傍では5であるとわかります。よって「1.」を満たすことがわかりました。
2.を満足することの確認
「1.」を確認した結果を踏まえると、
\begin{align}
dim\{G_{n-1}\}&=dim\{G_4\}\\
&=5
\end{align}
となります。本システムの次数は5なので、「2.」を満たします。
3.を満足することの確認
$G_2$と$G_3$の次元は本システムの次数と一致しているため、involutiveであることは自明です。
そのため、$G_0$と$G_1$がinvolutiveであることのみを示します。
ベクトル場$G_0$のLie bracketは、
[g_1, g_2](x)=0 \in G_0
であるので、$G_0$はinvolutiveです。
次にベクトル場$G_1$のLie bracketは、
\begin{align}
[g_1, g_2](x) &= 0 \subset G_1 \\
[g_1, ad_fg_1](x) &= 0 \subset G_1 \\
[g_1, ad_fg_2](x) &= 0 \subset G_1 \\
[g_2, ad_fg_1](x) &= 0 \subset G_1 \\
[g_2, ad_fg_2](x) &= 0 \subset G_1 \\
[ad_fg_1, ad_fg_2](x) &= \tan(x_1-x_g)g_1(x) \subset G_1
\end{align}
となるので、$G_1$はinvolutiveです。
以上、1.~3.が成立することを確認できました。そのため、本システムは厳密線形化ができます。
参考文献
[1] Alberto Isidori, Nonlinear Control Systems, Third Edition (1989)