【PyFMI】最小構成のMBD事例 第2章 その107【リアルタイム描画①】

【PyFMI】最小構成のMBD事例 第2章 その107【リアルタイム描画①】 事例
【PyFMI】最小構成のMBD事例 第2章 その107【リアルタイム描画①】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/

はじめに

前回まででPyFMIのシミュレーション時間と実時間の同期が取れた。
これでHILS構築に一歩近づいた。

と、思うのだが・・・。
いろいろと課題もありそうだ。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラスト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

シミュレーション時間と実時間の同期の課題

太郎くん
太郎くん

とりあえず、シミュレーション時間と実時間の同期は取れたわけだから、
HILS環境にはかなり近づいたんじゃない?

フクさん
フクさん

まぁそうなんだけど、
実際はちょっと難しいかもしれないんだよねー。

太郎くん
太郎くん

どういうこと?
前回の結果といしては結構良かったように見えたんだけど?

フクさん
フクさん

前回の結果としてはOKだ。
ただ、あの手法は
「シミュレーション側が実時間より遥かに高速である」
を前提にしてるんだよね。

太郎くん
太郎くん

え?
シミュレーションだから実時間より高速になるのでは?

フクさん
フクさん

そんな保証はない
アルゴリズムが複雑になればPCで処理する時間もかかる。

太郎くん
太郎くん

でも、そこまで複雑なアルゴリズムを入れることってあるのかな?

フクさん
フクさん

まぁ純粋なアルゴリズムだけならおおよそ大丈夫な気もしているが、
リアルタイムにデータ、グラフ表示ってのをやると結構な処理負荷になるんだよねー。

太郎くん
太郎くん

ってことは前回の手法だとうまく行かない可能性の方が高い!?

フクさん
フクさん

リアルタイムなグラフ表示とか無ければ前回の手法でも結構いい感じにはなる。
実際前回もシミュレーションが終わった後にグラフ表示していたので、
シミュレーション中は描画の負荷はかかっていなかった。

太郎くん
太郎くん

なるほど。
しかし、やっぱり長時間動かすことを想定するとリアルタイムはグラフ表示は欲しいよねぇ。

フクさん
フクさん

まぁ一般的なHILSには大体付いてるもんね。

回避策

太郎くん
太郎くん

となると、FMUを利用したHILS環境は実現不可ってこと?

フクさん
フクさん

そんなことはないかな。
今回の話はPyFMIを使用した場合の話なので、
FMILibraryを使用して、描画部分は別のプロセスに任せるとかすれば相当高速に回せるんで、
HILS環境はできるだろう。

太郎くん
太郎くん

うーん、でもPythonでの環境を手放すのもなんか勿体ない気がするなー。

フクさん
フクさん

というわけで、別の案を考えた。

太郎くん
太郎くん

お!
なんかうまい策があるの?!

フクさん
フクさん

前回までのパターンの逆をやる。

太郎くん
太郎くん

????

フクさん
フクさん

前回までのパターンは
シミュレーション時間が先行して、そこに実時間を追いつかせる。」
って発想だった。

太郎くん
太郎くん

確かに一言でいうとそうなるね。

フクさん
フクさん

目的は時間の同期なんで、この因果が逆になってもいいはずだ。

太郎くん
太郎くん

とすると、
実時間が先行して、シミュレーション時間を追いつかせる
ってこと?

フクさん
フクさん

そのとおり。

太郎くん
太郎くん

うーん、言ってることはわかるけど、
具体的にどうすれば良いかのイメージはわかないな・・・。

フクさん
フクさん

では、次回はそのらへんの話をしよう。

まとめ

フクさん
フクさん

まとめだよ。

  • 前回までやってたシミュレーション時間と実時間の同期には課題がある。
    • シミュレーション時間の方が長いと破綻。
      • Python側でグラフ表示等すると破綻し易い。
  • よって、別案。
    • 前回まではシミュレーション時間に実時間を追いつかせる。
    • 対して、新方式は実時間に対してシミュレーション時間を追いつかせる。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました