今回は基本的なシステムを例にしてフィードバック制御理論について学んでみたいと思います。下記のような直線に走る車を考えます。

このドライバーは車を80km/hで走らせたいと思っています。一方車の速度は60km/hです。この時に車の速度差に応じたトルクを与えるとします。





これをフィードバック制御システムに置き換えると下記のようになります。





このシステムで実測速度がターゲット速度に近づけられるか数学的に考えてみます。

まず、速度差に応じた力を与える式を考えます。Vt はターゲット速度(例では80km/h)。Vm は実測速度(例では60km/h)です。Vt はターゲット速度なので定数なのに注意してください。





一方で力は質量×加速度で表すことができますので、下記のように表現できます。





(1)と(2)の式から速度差と実測速度の関係が導けます。





(1)と(2)と(3)の式から、下記の式が求まります。





これを変数分離で変数を右辺左辺にまとめます。





両辺を積分します。これは未知の関数を求める数学的テクニックですね。





積分すると下記の式が導けます。ここで log の底はe、Cは積分定数になります。





形を整えるために指数に変換します。これで、Ev(t) の式が求まりました。





Cが不定なのは気持ち悪いので、ここで t=0 を代入します。eのC乗は速度差の初期値と等しくなります。





これで、Ev(t) の式が確定しました。





これは減衰関数を言われるもので、t →∞ でゼロに近づきます。





これは、(1)の式からターゲット速度 Vt と実測速度 Vm の差がゼロに近づくことを意味します。つまり、Vm が Vt にどんどん近づいていくということです。





これで、フィードバック制御システムはうまく働くということが数学的に証明されました。これをシステム的に表すと、下記のようになります。





ここでは時間は連続的なものと扱いましたが、実際のシステムでは測定するのに時間がかかります。つまり飛び飛びの時間で測定されるので、k が大きいと、ターゲット速度を追い越してしまい振動が発生します。

次もそのようなフィードバック制御の特質について深堀したいと思います!
しかし、久しぶりの数学は頭が痛くなるなぁ。
σ(^_^;





エンジニアのためのフィードバック制御入門

  • 作者: Philipp K. Janert
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2014/07/26
  • メディア: 単行本(ソフトカバー)



Building Your Own Drones: A Beginners' Guide to Drones, UAVs, and ROVs

  • 作者: John Baichtal
  • 出版社/メーカー: Que Publishing
  • 発売日: 2015/09/14
  • メディア: ペーパーバック