バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回でPyFMI、PyXCP、tkinter、AUTSOAR-XCPを駆使した仮想HILS&仮想ECUを終えたところ。
XCPonCANFDの拡張までしたが、やはり応答性依存による限界はありそう。
応答性を加味するとオープンソース系だけではどうにもならない領域まで来てる可能性は高く、だったら一部をプロプライアタリ品にしたらどうなるか?
って話。
登場人物
博識フクロウのフクさん
イラスト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と仮想ECUの精度が上がらなかった原因
うーん、前回はやっぱりちょっと残念な結果だったかなー。
そうだね。
変数の精度で動画がガタついていたという仮説でXCPonCANFDにしたわけだけど、
結果としては変わらず。
結局原因は何?ってなるんだけど?
普通に考えたら応答性だね。
やっぱりそこか。
応答性を引き上げるには?
なんとか応答性の引き上げはできないもんかなー。
以前、マルチプロセスにして応答性実験をしたが、結果はあまり芳しくはなかったね。
ここらへんでやったやつだね。
とすると、そもそもPythonを使ってる以上は無理って結論になるのか・・・。
そうだね。
Python以外だと何かあるのかな?
もう普通にdSPACE社のHILSとかRCPを使う感じになるな。
HILS(Hardware-in-the-loop simulation)
Wikipediaより(https://en.wikipedia.org/wiki/Hardware-in-the-loop_simulation)
Hardware-in-the-loop (HIL) simulation, or HWIL, is a technique that is used in the development and test of complex real-time embedded systems. HIL simulation provides an effective platform by adding the complexity of the plant under control to the test platform. The complexity of the plant under control is included in test and development by adding a mathematical representation of all related dynamic systems. These mathematical representations are referred to as the “plant simulation”. The embedded system to be tested interacts with this plant simulation.
↓日本語訳
ハードウェアインザループ ( HIL ) シミュレーション ( HWIL )は、複雑なリアルタイム 組み込みシステム 。 HILシミュレーションは、 プラットフォーム 制御下にあるプラントの複雑さをテストプラットフォームに追加することにより 制御下にあるプラントの複雑さは、 数学的表現 関連するすべての 動的システム 。 これらの数学的表現は「プラントシミュレーション」と呼ばれます。 テストされる組み込みシステムは、このプラントシミュレーションと相互作用します。
Rapid Control Prototyping (RCP) is a design methodology that aims at accelerating control software development cycles. The methodology seeks to rapidly address experimental activities in order to quickly identify and correct potential issues. If necessary, design iterations can be made with computer-assisted design, notably involving system simulations. RCP mainly focuses on control system development (by opposition to the plant itself) and may be complementary with other techniques, such as HIL, PIL, or PHIL.
Wikipediaより(https://en.wikipedia.org/wiki/Rapid_control_prototyping)
↓日本語訳
Rapid Control Prototyping(RCP) は、制御ソフトウェアの開発サイクルを加速することを目的とした設計手法です。 この方法論は、潜在的な問題を迅速に特定して修正するために、実験活動に迅速に対処することを目的としています。 必要に応じて、特にシステムシミュレーションを含む、コンピューター支援設計を使用して設計の反復を行うことができます。 RCPは、主に 制御システム に対抗することによる プラント 自体 HIL 、 PIL 、PHILなどの他の手法を補完する場合があります。
結構お高いやつか・・・。(安くとも500万円くらい)
いや、折衷案もあるかも。
お!
どんな案?
折衷案
一般的なHILSだと1msとかそれより短い期間の精度の話になるのだけど、
今回の応答性の話は10ms~100ms程度の話だ。
とすると、本当のHILSである必要性もなくて、
例えば、Vector社のCANoeにFMUを取り込ませて仮想HILS化するってのもありだと思う。
CAN、FMU処理、グラフ表示などはPythonで無理やり回すよりも遥かに高速且つ効率的に処理されてるはずだ。
CANoeも十分高価なツールではあるけど、まぁ一般的なHILSと比べるとリーズナブルかな。
(200万円くらい)
それにCANoeだったら一応僕が1ライセンス持ってたりするし。
とりあえず、「CANoeを仮想HILS化」路線で作戦を考えてみよう。
まとめ
まとめだよ。
- 仮想HILSと仮想ECUの精度が上がらなかった原因を予測。
- ほぼ間違いなく応答性が原因。
- Pythonではこれ以上の応答性は得られそうもない。
- ほぼ間違いなく応答性が原因。
- Pythonに変わって仮想HILS側をVector社のCANoeにしたらどうかという意見あり。
- 本物のHILSと比べ、コスパも良さそう。
バックナンバーはこちら。
コメント