OSP(Open Simulation Platform)に関する調査
MTIフォーラムでのメモ
OSP(Open Simulation Platform)
背景
- 船上システムの高度化・複雑化により、システム搭載前の検証。評価技術へのニーズが高まる
- システムインテグレーション
- 自動車業界では、複数の会社が作成したモデルを接続・連成し、シミュレーションで検証しながら開発を行う「モデルベース開発」が普及
- OSPは海事業界において、このようなデジタルコラボレーションを普及させることを目的としている
Model Based Design
- 自動車業界では様々なシミュレーションツールで作成した物理モデルを接続するための共通企画FMI(Functional Mock-up Interface)が普及
- 異なるメーカ、サプライヤが作成した複数のモデルを連成させてシミュレーションが実施できる
- 設計エラーの早期検出・開発の効率化につながる
- モデル自身が仕様書となる
FMI/FMU
- FMI規格に基づくモデル形式がFMU(Functional Mockup Unit)
- モデルの入出力をXML形式で記述しておけば、モデルの中身はブラックボックス化可能
OSP JIP
- OSP JIPはDNVGL、KONGSBERG、NTNU、SINTEFが中心となって進められた(合計23社)
- 将来的にDNBGLは各ベンダーが作ったモデル(FMU)をオンライン上で接続し、シミュレーションによる評価・認証を行うための商用プラットフォーム(OSP Trust Centre)を提供したい
OSP DEMOを試してみよう
まずは読んで見る・・・
Load a configuration, control the simulation or explore in a easy way some of the features included in
libcosim
. Thecosim demo app
was developed to showcase how the library can be used in an application and to provide a graphical user interface to manage co-simulations.
- ふむ、これはライブラリをどう使うかのデモンストレーションね
There are options for real time execution or simulation in free mode (as fast as the hardware allows). During simulation, the user can observe simulation variables, manipulate these and visualise the results in charts. A scenario management feature allows change of the simulation variables automatically based on a scenario file. It is also possible to log to file the simulation variable values of all models.
- ふむ、
real time execution
モードと、simulation in free
モードってのがあるのね。よくわからんけど - シナリオファイルってやつも必要なのか、これによってシミュレーションが動くのね
- ログも出る
-
Example configurationsがデモンストレーションらしいので、まずはこれを一つづつやろうかな
- Gunnerus-DP
- DPShip
- これはUser guideをやるだけっぽいのでこれが最初かな
- Quarter-Truck
- House
- Open Modelica Thruster
- Launch and Recovery System
- Gunnerus Path-following
- Construction Vessel
DP-Ship
概要
- 5つのFMUから成り立つ(確かに、以下の作業中のdp-shipの直下に5つの名前の.fmuファイルがある)
- OSOM
- NLPobserver
- ReferenceGenerator
- DPController
- ThMPC
- これはこの論文の成果
動かしてみる過程でのメモ
-
User guide通りにやれば良さそう。環境もないし、環境構築の意味でもレッツトライ!!
- 当方の環境はUbuntu20.04 LTSです
Download and install
- 言われたとおりにやるだけっす
- source codeではなくdemo appのzipですね〜
- 展開したら、
chmod +x run-linux
と、chmod +x run-fmuproxy
とchmod +x bin/cosim-demo-app
しましょうね〜 - その後、
./run-linux
したらブラウザが開きましたね〜-
sudo ./run-linux
ってしちゃうとこのエラーを踏んじゃうので注意ね〜
-
Load a Configuration
- これも言われたとおりやるだけっす
- configurationについては絶対パスじゃないと怒られました。うるせ〜
Observe models and variables
- これは単に見れますよ〜ってだけ
- 左下のやつは、configurationで読み込んだ
OspSystemStructure.xml
に書いてあるSimulatorsってところのfmuファイルを読んで表示している模様 - この書き方はこのマニュアルかな
- 左下のやつは、configurationで読み込んだ
Simulation control
- これはそのままかな
- RTFはシミュレーション中に変更されるもので設定ではないみたい
Plot variables
- これは単に可視化できるし、ダッシュボードっぽく可視化項目を追加できるわよってやつ
Override variable values
- シミュレーション途中で設定を変更できるのね。これは面白い!!
- ただ、まだこのモデルが何をやっているのかはよくわからんが
Run Scenarios
- Scenarioが設定できますし、ここで見れますよ〜
Log simulation results
- これは未確認だけど最初に設定したらログが出てくるんだろう
Co-simulation configuration
- これは
OspSystemStructure.xml
の説明ですね〜
Distributed co-simulation using fmu-proxy
- これは
dp-ship/fmuproxy
にあるOspSystemStructure.xml
の説明ですね〜 - ここをいじれば複数台でできそうですね〜
- ちょっとfmuproxyでやってみたらクラッシュしたやん・・・
- そのときのログはこちら
- ここは今度真面目に調査しましょう
Gunnerus-DP
-
demo-casesのreleasesには入っていなかったが、直接レポジトリからgunnerus-dpのfmusフォルダの中にあるっぽい
- docの中にマニュアルもある
Note that all these fmus contain binaries for win64 only.
辛い・・・Windows持っていない・・・
とりあえずパス・・
Quarter-Truck
- まだよ
- これ、トラックやん
Open Modelica Thruster
- 基本的には同じようにdemo-casesから持ってくる
- これは単なる
Thruster.fmu
単体のモジュールっぽい
cosimアプリでconfiguration設定をすると以下のようなエラーが出る。
Command failure
Command: loadMessage: Could not create execution from OspSystemStructure.xml file: Error loading dynamic library: Releasing allocated library resources
・・・これはもしかしてfmuファイルは全部Windowsだけなのかな?辛い・・
とりあえず後回しにするしかないか・・・