test

ビジネスと技術やってたらロボティクスにいきついた人のブログ

制御工学 なぜラプラス変換して部分分数分解をするのか

そもそも制御工学ってなんなの???

→僕の理解では、時間変化する対象(車、ドローン、回路、金融市場etc)の状態を所望の状態に保つためには、どういう入力(アクセルの踏み込み量、プロペラの回転数etc)を入れればいいかを考える学問

 

なので、基本的には状態と入力と出力を関係づける時間微分を含む方程式があって

その解として状態がある値に無限時間後収束する解(その時の入力・出力)を求めるというのが目的になる。

 

速い収束性だとか、数学的な扱いやすさだとかで、基本的には指数関数的に収束していく解を求めることになる。

 

簡単に言えば、時間微分を含む微分方程式の解き方の一つにラプラス変換があって

興味ある解の一つとして指数関数に比例する物があるけど、それは

\displaystyle \mathcal{L}[e^{-at}]=\frac{1}{s+a}

だから、解を一次式を分母に持って分子が定数な項の線形結合で書けると嬉しいから

・・・だと思ってます。

 

 

 

簡単な例 PID制御

簡単のため、状態、入力、出力は1次元の量だとする。

例えば、状態は車の速さv、入力はアクセルの踏み込み量c、出力はエンジンが車に与える推進力fとする。

この車はアクセルの踏み込み量と加速度が比例している車だとして(簡単のためにね!!) 

車の運動方程式

m\dot{v} = f-\gamma v, f=kc

である。(ほらでた時間微分を含む方程式)

 

こんな場合、vをある所望のv_0に収束させる(制御する)にはどういう風にアクセルを踏めばいいか?

PID制御では3つのポリシーで決める。

v_0-vに比例してアクセルを踏む 遅いから踏もうという考え

\dot{v}に比例してアクセルを踏む 空気抵抗に勝とうという考え

\int_0 ^\tau v(\tau) d\tauに比例してアクセルを踏む 過去の履歴から考えて調整しようという考え

上3つの項を「適当な割合」で混ぜるとうまく制御ができる。

 

 なぜラプラス変換なのか

 微分方程式を代数方程式にして簡単に解くためです。

フーリエ変換と違って偏微分方程式には使えないやつですが、制御やる上では時間微分を扱えればまずはいいだろうということなんでしょう。

 

指数関数のラプラス変換

\displaystyle \mathcal{L}[e^{-at}]=\frac{1}{s+a}

これはもう空気のように使うんだけど、ラプラス変換って普通変換表使っちゃうんだよね。

一回ぐらい真面目に導いておいてもいいと思う。

 

ラプラス変換の定義から

\displaystyle F(s) = \mathcal{L}[e^{-at}]=\int _0 ^\infty e^{-(a+s)t} dt = -\frac{1}{a+s}[e^{-\infty}-e^{0}]= \frac{1}{a+s}

 あ、あれ。やってみたら別になんてことねーただの指数関数の積分じゃんワロス

 ラプラス変換は線形性があるので、 \frac{1}{a+s}の線形結合で書けたら勝利です(aの実部が正ならね)

 

部分分数分解のテクニック

ヘヴィサイドの方法とかいうのがスマートです。

例えば

\displaystyle \frac{1}{(x-10)(x-7)}を部分分数分解しようと思ったら

(x-10)をかけて10を代入した値が\frac{1}{x-10}の分子

(x-7)をかけて7を代入した値が\frac{1}{x-7}の分子となります。

カラクリは、係数比較をするとわかります。

\displaystyle \frac{1}{(x-10)(x-7)} = \frac{A}{x-10} + \frac{B}{x-7}

とします。両辺に(x-10)をかけると

\displaystyle \frac{(x-10)}{(x-10)(x-7)} = A+ \frac{B(x-10)}{x-7}

これにx=10を代入して

\displaystyle \frac{1}{10-7} = A

\displaystyle A=\frac{1}{3}

ね?簡単でしょう?