【現代制御】状態方程式と立式の仕方
この記事では基本的に、小文字はベクトル、大文字は行列です。ボールド体は用いていません。
現代制御と古典制御
まず、古典制御と現代制御の違いについて考えてみます。
A. 古典制御
まずは、古典制御です。
古典制御には、「伝達関数」という関数があります。これは、一つの入力値(制御量)に対して1つの出力(状態)を持つ関数です。
この関数を導き、その関数から最適な入力値を探していくのが古典制御です。
伝達関数とは1つの入力に対して1つの出力を持つ関数です。入力値と出力値の関係性を表し、その周波数特定を調べることで、その入出力システムの挙動や安定性を考察することが出行きます。
そして、出力を目標値にするために、最適な入力値を与えていくのが 古典制御です。
この古典制御の中で最も有名なのがPID制御だと思います。
PID制御のゲイン調整を考えればわかりますが、古典制御では実際に入力と出力を試行錯誤的に調べて制御していくことが多いです。
言い換えれば、制御対象を数理モデルで表現せずとも、入力と出力の関係がわかればある程度制御が可能な考え方です。制御対の中身はブラックボックスであっても、古典制御の場合は制御可能です。
反対に、理論的に(数式的に)最適な制御器が作れず、チューニングが必要というデメリットもあります(オートチューニングなどの手法もありますが)。
B. 現代制御
古典制御は、制御対象の内部状態がブラックボックスでも制御できたのに対して、現代制御では内部状態を「状態方程式」という方程式で定義しなければなりません。
状態方程式を定義することで、内部状態や入出力の関係を定義することができます。
この状態方程式は行列を使って表されるもので、他入力、他出力にも対応しています。
例えば、古典制御の伝達関数は、「プロペラ回転数 ― プロペラ推力」という1対1の対応だったのに対し、
現代制御の状態方程式では、「プロペラ回転数 & エルロン角度 & フラップ角度 & エレベータ角度 ― 飛行機の位置 & 飛行機の姿勢」のように、複数の入力をもとに、複数の出力を計算できるのです。
現代制御の例1
いよいよ、現代制御について詳しく見ていきます。
以下のような状態について状態方程式を立ててみます。
質量の台車にばね定数のばねが付いており、さらに力で右側に押します。床と物体の間に摩擦は働かないものとします。
この時、台車に対して状態方程式を立ててみよう、という問題です。
物体の運動方程式より、
とあらわすことができます。は物体の平衡点(ばねの長さが自然長の点)からの振れを表します。
ちなみに、のxの上にあるドット(・)は、微分(この場合は時間微分)を表します。
よって、は物体の位置の変化量、つまり速さを表しています。
また、は時間の二回微分なので、加速度を表します。
上の式を変形すると、
となります。
ここで、
とおくと、
と書くことができます。
右辺を行列の外積の公式に基づいて計算すると、
(右辺)=
となるからです。
また、とあらわすことができます。
この、
二つが状態方程式です。
式を見ればわかりますが、入力値のtex:u_{(t)}]と出力値(状態)を表すの関係性を表しているということがわかります。