バックナンバーはこちら
https://www.simulationroom999.com/blog/model-based-of-minimum-backnumber/
はじめに
前回、PID制御を離散化した。
Simulinkへ転記しても動作するレベルまで来たが、
制御対象が無いため、動作確認ができない。
制御対象の仕様を決めていく。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
アクセル開度と車速の関係性は?
で、制御対象ってどうしたら良いの?
車両側の振る舞いとか良く分かっていないよ?
まぁ、
完全に車両を再現する必要はないかな。
そーなの?
それだとしても、一体どうしたら良いか・・・。
世の中に存在する制御対象はおおよそ一次遅れ系で表現できる。
これを考え方を利用する。
一次遅れ系?
動作イメージはこんな感じ。
青点線が入力として、黒線が出力。
入力が制御で、
出力がその結果ってイメージ?
そのイメージであってるよ。
今回で仕様で言うと、
- アクセル開度が入力
- 車速が出力
と考えるとイメージしやすい
なるほど。
アクセスを一気に踏み込んでも、
すぐに車速には反映されないもんね。
それと同じ特性ってことだね。
そして、これを伝達関数で表現すると以下になる。
$$G(s)=\frac{c}{as+b}$$
これは、
もしやラプラス変換ってやつでは?
うん。
ここでは、\(s\)は微分、\(\displaystyle\frac{1}{s}\)は積分を示していると思って良い。
んー。
だとすると、
一次遅れ系は積分なような積分じゃないような?
まぁ、
積分的な性質は持っているが、
このままだと離散化する際に手間がかかるので、
変形しておく。
\(P\):出力
\(A_p\):アクセル開度
\(a\):時定数ゲイン
\(b\):負帰還ゲイン
\(c\):定常ゲイン
$$\frac{P}{A_p}=\frac{c}{as+b}$$
$$P(as+b)=cA_p$$
$$Pas+Pb=cA_p$$
$$Pas=cA_p-Pb$$
$$P=(cA_p-Pb)\frac{1}{a}\frac{1}{s}$$
ブロック線図にするとこんな感じ。
ん?
予想に反して結構シンプルだね。
まぁ
\(\displaystyle\frac{1}{s}\)の積分と\(b\)の負帰還ゲインが、
いろいろ吸収してしまっているのでシンプルに見えるかもね。
とりあえず、
これで車両の振る舞い相当になるってことで良いんだよね?
んー、
どうだろうか。
私のイメージだとアクセル開度と一次遅れ系の関係にあるのは車速ではなく、出力こと仕事率だと思うんだよね。
そーなの?
仮にそうだとして、
どうやって車速を表現したら良いの?
たぶん、仕事\(W[J]\)と仕事率\(P[W]\)の定義から算出できると思う。
仕事率から速度を求める
え!ちょっとやってみてよ!
こんな感じかな。
仕事\(W\)の定義より、
$$W=Fr$$
仕事率\(P\)の定義より、
$$P=W\frac{d}{dt}$$
これらより、
$$P=Fr\frac{d}{dt}$$
$$=mar\frac{d}{dt}$$
$$=mav$$
$$=ma^2t$$
$$a^2=\frac{P}{m}\frac{d}{dt}$$
$$a=\sqrt{\frac{P}{m}\frac{d}{dt}}$$
$$v=\int \sqrt{\frac{P}{m}\frac{d}{dt}} dt$$
算出できた!
ブロック線図で描くとこう。
この物理量の変換は以下のページを見ると分かるよ。
ということは先の一次遅れ系とつなげると・・・。
こんな感じで、
アクセル開度から車速が求められることになる。
すごい!
なんちゃって車両モデルの完成だ!
まぁ、
実際の車両の応答性から、
一次遅れ系の時定数ゲイン、負帰還ゲイン、定常ゲインを求めたり、
仕事率→車速変換のために質量(車体重量)を調べておく必要はあるけどね。
よし!あとはSimulinkにコピぺしt
ちょい待ち。
なに?
制御対象側も離散化してしてしまおう。
制御対象側も離散化しなきゃダメなの?
Simulinkでシミュレーションするだけだったら不要だろう。
ただ、今回はこれを簡易HILSにするんだろう?
だったら、ソフトウェア仕様として定義できるよう離散化は必要だろう。
なるほど。
そういえばそれがあったね。
というわけで、
次回は制御対象側の離散化をする。
オッケー
まとめ
まとめだよ。
- 制御対象はおおよそ一次遅れ系で表現できることが多い。
- アクセル開度と一次遅れ系の関係性を持っているのは出力。
- 出力(仕事率)から車速が算出できる。
バックナンバーはこちら
コメント