可安定性と可制御性

可安定性と可制御性…Homework

[1] ある平衡状態周りの挙動が線形状態方程式

\displaystyle{(1)\quad \dot{x}(t)=Ax(t)+Bu(t)\quad(x(t)\in{\rm\bf R}^n,u(t)\in{\rm\bf R}^m) }

で表される制御対象に対して、状態フィードバック

\displaystyle{(2)\quad u(t)=-Fx(t) }

による閉ループ系

\displaystyle{(3)\quad \dot{x}(t)=(A-BF)x(t) }

を安定化できる条件について調べます。

状態フィーバックにより安定化できることを可安定性と言います。

【可安定性の定義とその等価な条件】

定義DS: 状態フィードバックにより安定化可能

条件S1: {\rm rank}\, \left[\begin{array}{cc} B & A-\lambda I_n \end{array}\right] =n (\lambdaAのすべての不安定固有値)

条件S2: B^Tw=0,\ A^Tw=\lambda w \Rightarrow w=0 (\lambdaAのすべての不安定固有値)

証明はあとで述べますが、可安定性の判定は行列ABを用いて行われるので、可安定性が成り立つとき、対(A,B)可安定対という言い方をします。

可安定性の十分条件として次の可制御性が知られています。

【可制御性の定義とその等価な条件】

定義DC: 任意初期状態を,任意有限時間内に,任意状態に移動可能

条件C1: \displaystyle{\int_0^t \exp(A\tau)BB^T\exp(A^T\tau)\,d\tau>0 \quad (\forall t>0)}

条件C2: \boxed{{\rm rank}\, \left[\begin{array}{cccc} B & AB & \cdots & A^{n-1}B \end{array}\right]=n}

条件C3: Fを選んで,A-BFの固有値を任意に設定可能

条件C4: \boxed{{\rm rank}\, \left[\begin{array}{cc} B & A-\lambda I_n \end{array}\right] =n} (\lambdaAのすべての固有値)

条件C5: B^Tw=0,\ A^Tw=\lambda w \Rightarrow w=0 (\lambdaAのすべての固有値)

可制御性の判定も行列ABを用いて行われるので、可制御性が成り立つとき、対(A,B)可制御対という言い方をします。条件C1の積分式を可制御性グラミアン行列、条件C2の行列を可制御性行列と呼びます。また条件C4を満足するAの固有値を\lambda可制御固有値、満足しない固有値を不可制御固有値と呼びます。

[2] 以下では、可制御性の条件について、まず
 定義DC\Leftrightarrow条件C1\Leftrightarrow条件C2
を証明します。特に、命題P\Rightarrow Qを証明するのに、
 not(P\Rightarrow Q)\quad \Leftrightarrow\quad P\ and\ not(Q)
を用いて矛盾が出ることを示していることに注意してください。

<定義C0\Rightarrow条件C1> ある時刻tで可制御性グラミアン行列が正定でないとします。このとき,n次元ベクトルw\ne0が存在して

{\displaystyle{(4)\quad w^T\left(\int_0^t \exp(A\tau)BB^T\exp(A^T\tau)\,d\tau\right)w=0 }

が成り立ちます。これより

{\displaystyle{(5)\quad \int_0^t ||B^T\exp(A^T\tau)w||^2\,d\tau=0 \\ \Rightarrow w^T\exp(A\tau)B=0\ (0\le \tau\le t) }

を得ます。いま,初期状態x(0)x(t)=0に移すことを考えると

{\displaystyle{(6)\quad 0=\exp(At)x(0)+\int_0^{t} \exp(A(t-\tau))Bu(\tau)\,d\tau }

と書けます。ここで,変数変換により

{\displaystyle{(7)\quad \int_0^{t} \exp(A(t-\tau))Bu(\tau)\,d\tau= \int_0^{t} \exp(A\tau)Bu(t-\tau)\,d\tau }

となることに注意して,(6)の左からw^Tをかけると

{\displaystyle{(8)\quad w^T\exp(At)x(0)=0 }

を得ます。ここで,x(0)=\exp(-At)wのときw=0となり,矛盾が生じます。よって条件C1が成り立ちます。

<定義DC\Leftarrow条件C1> (1)に対して,0\le \tau\le tにおいて,入力を

{\displaystyle{(9)\quad \begin{array}{l} u(\tau) =B^T\exp(A^T(t-\tau)) \\ \times \displaystyle{\left(\int_0^{t} \exp(A\tau)BB^T\exp(A^T\tau)\,d\tau\right)^{-1}} (x^*-\exp(At)x(0)) \end{array} }

と定めれば,初期状態x(0)が移される先の状態x(t)は、(9)を(1)の解

{\displaystyle{(10)\quad x(t)=\exp(At)x(0)+\int_0^{t} \exp(A(t-\tau))Bu(\tau)\,d\tau }

に代入して,次式に注意すれば,x^*と計算されます。

{\displaystyle{(11)\quad \begin{array}{l} \displaystyle{\int_0^{t} \exp(A(t-\tau))BB^T\exp(A^T(t-\tau))\,d\tau}  \nonumber \\ =\displaystyle{\int_0^{t} \exp(A\tau)BB^T\exp(A^T\tau)\,d\tau} \end{array} }

以上で,t,x(0),x^*は任意であるので、定義DCを得ていることになります。

<条件C1\Rightarrow条件C2> 可制御性行列は行フルランク(行数に等しい階数)とはならないとすします。このとき,あるn次元ベクトルw\ne0が存在して

{\displaystyle{(12)\quad   w^T\,   [\begin{array}{cccc}   B & AB & \cdots & A^{n-1}B   \end{array}]=0 }

が成り立ちます。ケーリー・ハミルトンの定理を用いて

{\displaystyle{(13)\quad w^TA^iB=0\quad (\forall i\ge 0) }

したがって

{\displaystyle{(14)\quad w^T\exp(A\tau)B=0 }

が成り立ちます。これより,ある時刻tに対して

{\displaystyle{(15)\quad w^T\left(\int_0^t \exp(A\tau)BB^T\exp(A^T\tau)\,d\tau \right)w=0 }

を得ますが,これは条件C1と矛盾です。よって条件C2が成り立ちます。

<条件C1\Leftarrow条件C2> ある時刻tで可制御性グラミアン行列が正定でないとします。このとき,w\ne0に対して(14)が成り立ちます。この第i回微分を求めて,t=0とおくと

{\displaystyle{(16)\quad w^TA^iB=0\quad (i=0,1,\cdots,n-1) }

これより,(12)を得ますが,これは条件C2と矛盾しています。よって条件C1が成り立ちます。

あとで条件C3\Rightarrow条件C4\Leftrightarrow条件C5\Rightarrow条件C2を可制御標準形を求めて、<条件C2\Rightarrow条件C3>を可制御正準形を求めて示します。

上の可制御性と可安定性のさまざまな条件のうち、理論展開では条件C5と条件S2が、数値計算では条件C4と条件S1がよく用いられます。特に、条件C5と条件S2による判定法は、PBH(Popov-Blevitch-Hautus)法と呼ばれています。

演習 A32-1…Flipped Classroom

次のコードは、PBH法の骨格となる部分を示している。これを実行して得られる変数contとstabの解釈を行え。

MATLAB
%a32_1.m
%-----
 clear all, close all
 A=[0 0;0 -1]; B=[1;0]; 
 n=size(A,1);
 r=eig(A);
%----- 
 cont=[];
 for i=1:n
   w1=rank([B A-r(i)*eye(n)]);
   w2=min(svd([B A-r(i)*eye(n)])); 
   cont=[cont; i,r(i),w1,w2];
 end
 cont
%-----
stab=[];
 for i=1:n
   if real(r(i))>=0  
     w1=rank([B A-r(i)*eye(n)]);
     w2=min(svd([B A-r(i)*eye(n)])); 
     stab=[stab; i,r(i),w1,w2];
   end 
 end
 stab
%-----
%eof

演習 A32-2…Flipped Classroom

倒立振子CIPCIP2AIPPIPDIPの可制御性を調べよ。

MATLAB
%lPIP.m
%-----
 clear all, close all
 global mc m1 m2 ell1 ell2 g th10 th20
 mc=1; m1=0.1; m2=0.2; ell1=0.15; ell2=0.2; g=9.8;
%----- 線形化
 A=[zeros(3,3) eye(3);zeros(3,6)];
 A(4,1)=0; 
 A(4,2)=-3*m1*g/(m1+m2+4*mc); 
 A(4,3)=-3*m2*g/(m1+m2+4*mc);  
 A(5,1)=0; 
 A(5,2)=(12*m1+3*m2+12*mc)*g/((4*m1+4*m2+16*mc)*ell1);  
 A(5,3)=9*m2*g/((4*m1+4*m2+16*mc)*ell1);   
 A(6,1)=0; 
 A(6,2)=9*m1*g/((4*m1+4*m2+16*mc)*ell2);  
 A(6,3)=(3*m1+12*m2+12*mc)*g/((4*m1+4*m2+16*mc)*ell2);   
 B=zeros(6,1);
 B(4)=4/(m1+m2+4*mc);
 B(5)=-3/((m1+m2+4*mc)*ell1);
 B(6)=-3/((m1+m2+4*mc)*ell2); 
%----- 可制御性
 n=size(A,1);
 r=eig(A);
 cont=[];
 for i=1:n
   w1=rank([B A-r(i)*eye(n)]);
   w2=min(svd([B A-r(i)*eye(n)])); 
   cont=[cont; i,r(i),w1,w2];
 end
 cont
%-----
%end

Note A32 可制御性は状態フィードバックにより不変

(A,B)が可制御対ならば(A-BF,B)も可制御対であることは次のように証明されます。

条件C5より,任意の\lambdaに対して

\displaystyle{(1)\quad B^Tw=0,\ A^Tw=\lambda w \Rightarrow\ w=0 }

成り立つので,これを仮定して

\displaystyle{(2)\quad B^Tw=0,\ (A-BF)^Tw=\lambda w \Rightarrow\ w=0 }

を示します。実際,B^Tw=0より

\displaystyle{(3)\quad (A-BF)^Tw=A^Tw-F^TB^Tw=A^Tw=\lambda w }

を得ますが,このようなwは,仮定(1)より,w=0でなければなりません。