概要

制御対象のパラメータを同定しながら制御する制御法。 通常の制御法と違い、制御則の他に、適応則というのを設計する。 今回は、モデル規範型適応制御 (MRAC : Model Refference Adaptive Control) と呼ばれる手法を紹介する。 詳しくはJ. E. Slotine, W. Li, “Applied Nonlinear Control”, 1991を参照。

問題

次のシステムを制御したいとする。

$$a_ny^{(n)} + a_{n-1}y^{(n-1)} + \cdots +a_0y = u$$

ここで、状態$y,\dot y\cdots,y^{(n-1)}$は可測であるが、係数${\bf a} = [a_n \ \cdots \ a_1 \ a_0]^T$は未知であるとする。つまり、このシステムは、一次系、二次系などの構造はわかっているけれど、パラメータに不確かさを含むシステムである。ここで、$a_n$の符号のみは既知とする。

我々の制御目的は、$y$を望ましい参照モデルの応答

$$\alpha_ny_m^{(n)} + \alpha_{n-1}y_m^{(n-1)} + \cdots +\alpha_0y_m = r$$

に追従させることである。

制御則の選択

$z$を以下で定義する。

$$z := y_m^{(n)} - \beta_{n-1}e^{(n-1)} - \cdots - \beta_0e$$

ここで、$\beta_1, \cdots, \beta_n$は、多項式$s^n+\beta_{n-1}s^{n-1} + \cdots + \beta_0$がフルビッツになるよう選ばれた、設計パラメータである。 また、$e:=y-y_m$は追従誤差である。

この定義のもと、制御則として

$$u = \hat a_n z + \hat a_{n-1} y^{(n-1)} + \cdots + \hat a_0y$$

を用いることにする。 ここで、$\hat{\bf a} = [\hat a_n \ \cdots \ \hat a_1 \ \hat a_0]^T$はそれぞれ、適応則によって推定されたパラメータである(後述)。 すると、閉ループ系の動特性は

$$a_n( e^{(n)} + \beta_{n-1}e^{(n-1)} - \cdots - \beta_0e) = {\bf v}^T\tilde{\bf a}$$

となる。ここで$\tilde{\bf a} := \hat{\bf a} -{\bf a}$はパラメータ推定誤差であり、${\bf v} = [z \ y^{(n-1)} \ \cdots \ \dot y \ y]^T$とおいた。

適応則の選択

閉ループ系の動特性を${\bf e} = [e,\cdots,e^{n-1},e^n]$についての状態空間形式に書き直すと

$$\dot{\bf e} = {\bf A} {\bf e} + \frac{1}{a_n} {\bf b} {\bf v}^T\tilde{\bf a}$$

となる。ここで

$$ {\bf A} = \begin{bmatrix} 0 & 1 & 0 & \cdots & 0 \newline 0 & 0 & 1 & \cdots & \cdot \newline \vdots & \vdots & \vdots & \ddots & \vdots \newline 0 & 0 & 0 & \cdots & 1 \newline -\beta_0 & -\beta_1 & -\beta_2 & \cdots & -\beta_{n-1} \end{bmatrix} $$

$${\bf b} = [ 0 \ 0 \ \cdots \ 0 \ 1]^T$$

とおいた。 リヤプノフ関数の候補として、

$$V({\bf e}, \tilde{\bf a}) = {\bf e}^T {\bf P}{\bf e} + \tilde{\bf a}^T {\bf \Gamma}^{-1}\tilde{\bf a}$$

を考える。ここで、${\bf P}, {\bf \Gamma}$はどちらも半正定行列であり、${\bf P}$はある正定対称行列${\bf Q}$に対して

$${\bf P}{\bf A}+{\bf A}^T{\bf P}=-{\bf Q}$$

を満たすように選ぶ。すると、このリヤプノフ関数の微分は

$$\dot V = -{\bf e}^T {\bf Q}{\bf e} + 2\tilde{\bf a}^T{\bf v}{\bf b}^T {\bf P}{\bf e} + 2 \tilde {\bf a}^T {\bf \Gamma}^{-1}\dot{\tilde{\bf a}}$$

と計算できる。 そこで、推定パラメータの更新式 (適応則) として

$$\dot{\hat{\bf a}} = -{\bf \Gamma}{\bf v} {\bf b}^T{\bf P}{\bf e}$$

を用いれば、リヤプノフ関数の微分は

$$\dot V = - {\bf e}^T{\bf Q}{\bf e}$$

となるため、${\bf e} \rightarrow 0$となる。

パラメータ追従誤差の解析

上記の制御則と適応則を選べば、制御目的は達成できる、すなわち${\bf e} \rightarrow 0$が満たされることが解析できた。 一つ残る疑問は、パラメータ推定誤差は収束するか、すなわち$\tilde{\bf a} \rightarrow 0$は満たされるかということだ。

これに対する答えは「参照モデルの複雑さによる」となる。 例えば、参照モデルが単なる$r=1$などの定置だった場合、パラメータを厳密に推定せずとも、制御目的が達成されるため、推定誤差は残るかもしれない。 また、参照モデルが$r=\sin(t)$などの正弦波だった場合、制御目的を達成するために、パラメータをより厳密に推定する必要が生じ、推定誤差は$0$になるかもしれない。

これについて、パラメータ追従誤差が0に収束するかを判定する、PE性 (Persistent Excitation) という条件がある。 詳しく説明するには、システム同定の知識が必要となるので、ここでは割愛する。

まとめ

リヤプノフ関数の微分が負定になるように、制御則と、適応則を設計するというのがポイント。 今回用いた方法は、一部の非線形システムにも適用できるらしい。