中京大学 工学部 機械システム工学科
木野 仁
 本ファイルで提供されるコンテンツの著作権は，木野仁，谷口忠大，峰岸桃，(株)講談社にある．
 本ファイルは，著者らに利用承諾書を提出し，許可されたものに限り使用してよい．ファイルを修正しても構わないが，印刷，ネット上で公開，2次配布は禁止する．また，無断で販売することを禁止する．

Information
 このスライドは「イラストで学ぶ制御工学」を講義で活用するために提供されているスライドです．
 「イラストで学ぶ制御工学」をご購入頂けていない方は，必ずご購入いただいてからご利用く
ださい．

「イラストで学ぶ制御工学（講談社）」
木野仁（著）谷口忠大（監）峰岸桃(絵)ホイールダックとは ホイールダックとは，「イラストで学ぶシリーズ（講談社）」において，主人公の博士と助手が開発していく，アヒル型ロボットである．

姉妹書

 イラストで人工知能概論

ホイールダック2号の開発を通じて人工知能を学ぶ

 イラストでロボット工学

ホイールダック2号アット
ホームの開発を通じてロボット工学を学ぶ

STORY『一体いつからすべての状態変数が観測できると錯覚していた？』そんな声が聞こえた気がした．
研究所のパソコンに向かって博士は頭を抱えた．確かに彼女———助手が教えてくれた現代制御理論はレギュレータの作り方を教えてくれる．しかし，ホイールダック1 号を組み上げた博士は気づく．「このロボット，状態変数の1つである『角度』はエンコーダによって計測することができる．でも，制御のためには状態のもう1 つである『角速度』も分からなくちゃいけないんだ！ どうすればいいんだ？」
そんな博士の肩に，そっと助手が手を乗せる．そう，彼女は知っていたのだ．現代制御理論が与える手法．レギュレータと対をなすその手法．その名は———オブザーバ．

13.1 オブザーバの概念

 レギュレータでは，全ての状態変数ベクトルx(t)を計測し，それを状態フィードバック制御していた．しかし，実際は一部or全ての状態変数の計測が困難な場合もある．
 このような場合には，計測できない状態変数を推定する機能を組み込む方法がある．この機能をオブザーバという．オブザーバは行列（A, B, C）と入出力（u(t), y(t)）の値から，x(t)を推定する．

【制御システムの物理パラメータを推定する例】
 1自由度で並進運動する質量mの物体を考え，力f(t)を与えたときの加速度a(t)を考える．このシステムの入力u(t)を力f(t)，出力y(t) を加速度a(t)と考えると，この運動方程式
は u(t)=my(t) となる．
 質量mの値が不明とする．ただし，対象システムの運動方程式が正確に情報として与えられ，さらに入力u(t)と出力y(t)の値が正確に計測できれば，質量mはm=u(t)/y(t)より推定できる（y(t)≠0のとき）．
 このように，運動方程式が事前に正確に分かり，入出力の値をリアルタイム計測できれば，運動方程式の内部のパラメータを推定できることがイメージできるだろう．
 オブザーバでは上述の方法を拡張して，物理パラメータではなく，状態変数ベクトルx(t)を推定する．

13.2 オブザーバの導出
対象システムの行列A，B，Cの値は正確に分かるとする．
制御をしている状態で，時間tの状態変数ベクトルx(t)の値は不明とする．x(t)は値が計測できないだけで，何らかの数値として存在し，実際のx(t)を真値と呼ぶ．
 状態変数ベクトルx(t)を知りたい場合には，値を推定しなくてはならない．推定された状態変数ベクトルをとして推定値と呼び，真値x(t)と区別する．
 推定値が完全に真値と一致していれば，
 この推定値を計算する方法がオブザーバである．
 オブザーバは制御法そのものではなく，補助的にx(t)を推定するものであることに注意してほしい．

 推定値を計算するオブザーバは次式となる．

 Kはn×l 行列で設計者が値を決定．入力u(t)が与えたときの出力y(t)を計測しておき，直前に得られたと行列A，B，C，Kを上式に代入することでを計算できる．
 上式で得られるは推定値の時間微分であり，推定値を得るには時間積分する必要がある．そこで，初期値を決めておき，次式を計算して推定値を得る．

 真値の初期値x(0)は計測できないのでであるが，制御中にサブプログラムとして上式をリアルタイム計算することで，時間tの経過とともに推定値は真値に近づいていき，x(t)の推定が可能となる．

【オブザーバの導出過程】
 状態変数の真値と推定値の誤差を定義(n×1)．オブザーバ目的はt→∞でex(t)→0とすること．
 自由システム
では，x(t)→0となる必要十分
条件は「行列Aのすべての固有値の実部が負になること」
であり，このような行列Aを安定行列と呼んだ この特性より，誤差ベクトルex(t)が任意のex(0)に対し，t→∞でex(t)→0となるには，適切な安定行列で以下のように関係付けられればよい．

 このとき，上式の解は以下となる．

より，

 もし，安定行列を逆算していくと，を得る．よって，が得られ，上式を計算可能なら時間積分して推定値を得る．しかし以下の問題点がある．
問題1：状態変数の真値x(t)が不明であるのに，推定値を計算するうえで真値x(t)の値が必要（波線部）．
問題2：適切な安定行列とは具体的にどのようなものを選定すればよいか不明．
 そこで，これらの問題点を解決していく．

 出力の値は計測可能なので，y(t)の値を利用できる．もし，安定行列をと選定可能ならば出力は

 この出力を先述のに代入する次式のように書けるかもしれない．
 上式は既知のを利用し，出力y(t)を用いての値を確定でき，オブザーバとして推定値の計算に真値x(t)を用いる必要がない．→問題解決？
 しかし，この方法には大きな無理がある．A(n×n)に対し，行列C(l×n)はサイズが異なり，仮定であるが成立しない．そこで，基本方針はそのままで少しの変更を加える．

 新たに適切な行列K(n×l)を考え，を以下とする．

 これなら行列KCはn×nとなり，上は計算可能．

これをに代入．出力方程式y(t)=Cx(t)より，以下のオブザーバ（完成形）を得る．

 上式で前述の問題を解決可．に上式を代入し次式を得る．A-KCが安定行列(全ての固有値の実部が負)ならばt→∞でで，真値と推定値が一致．

 行列AとCは変更困難だが，Kは変更可能で行列A-KCの固有値を変更可．A-KCの固有値をオブザーバの極という．
行列Kのことをオブザーバのゲイン行列と呼ぶ．

【可観測性とオブザーバ】
 オブザーバでx(t)を推定可能かは，オブザーバの極（AKCの固有値）が複素平面の左半平面上に存在すればよい．
 行列AとCが特定の条件下では，行列Kを変更してもA-KCを安定行列にできず，x(t)の推定が不可能な場合もある．
 「オブザーバが構築できるか？」は行列AとCのみに依存し，次の可観測性を調べることで知ることができる．
 可観測の場合には，Kの値を調整することで行列A-KCを安定行列とし，オブザーバによる状態変数ベクトルの推定が可能．逆に不可観測の場合には，どれほど頑張っても推定ができない．
 オブザーバを構築したいシステムが与えられた場合，その可観測性を調べることは極めて重要となる．

13.3 実際のオブザーバの例

 重力下の回転1自由度システムでオブザーバを構築しよう．

入力u(t)は回転軸へのトルクτ(t)，出力y(t)は角度θ(t)．u(t)とy(t)はリアルタイム計測可能．

 m=0.1，g=10，lg=1，J=0.01の場合を想定.

 行列Cが1×2で，可観測性行列Uoは2×2正方行列となる．

従って行列式|Uo|を計算することで，可観測性が判断できる．行列AとCの値を用いると，Uoは以下となる．

 |Uo|≠0よりシステムは可観測→オブザーバを構築可能．
 ゲイン行列で与えると行列A-KCは

 A-KCの固有値を計算するとλ1≒-8.9，λ2≒-1.1となり，全て実部が負になる．従って，オブザーバによりex(t)→0(t→∞) となり，推定値はで真値に収束．

 オブザーバのシミュレーション結果を示す．左図はx(t)と推定値，右図はex(t)成分の時間変化を示す．
 理論上はt→∞でとなり，初期状態に近い場合には誤差が大きい．十分に時間が経過した後，ex(t)≒0となり，実質的にと取り扱える．
今回は入力u(t)=0を与えている．不安定な自由システムなのでx(t)→0に収束しない．オブザーバはx(t)の推定が目的でx(t)→0かどうかは関係ない．

【倒立振子でのオブザーバ】
 ホイールダックを模した台車型倒立振子について，オブザーバの導入を検討しよう．本例は出力は台車の距離とし，y(t)=x(t)とする．

 結論をいえば，このシステムは可観測となり，オブザーバ構築が可能である．（章末問題を参照）
 オブザーバのゲイン行列Kを次式で与える，
 A-KCを計算すると，以下となる，

 可観測であることが分かっているが，一応，オブザーバの極（A-KCの固有値）を調べてみると，以下となり，固有値の実部が負となり，状態変数の推定が可能なことが分かる．

 誤差ベクトルの収束性を下図に示す．ex(t)→0となっており，推定値が真値に収束していることが分かる．