【XCP】最小構成のMBD事例 第2章 その223【仮想HILS⑥】

【XCP】最小構成のMBD事例 第2章 その223【仮想HILS⑥】 事例
【XCP】最小構成のMBD事例 第2章 その223【仮想HILS⑥】

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

はじめに

前回はややこしくなった仮想ECUと仮想HILSの連携についての構成を確認。
ネットワーク構成と論理的構成を確認したが、
機能単位でノード分割しているためネットワーク構成側がややこしい。
しかし、この単位で分割していると一部を本物に差し替えることも理屈上可能なわけで応報範囲は広くなる。

というわけで今回はついに仮想ECUと仮想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

ついに仮想ECUと仮想HILSの連携動作

太郎くん
太郎くん

ついに仮想ECUと仮想HILSの連携だね。

フクさん
フクさん

(きっと動くきっと動くきっと動くきっと動くきっと動く・・・)

太郎くん
太郎くん

なんか念じとる・・・。

太郎くん
太郎くん

まぁ悩んでもしようがないし、とりあえず動かすねーポチー

仮想ECUと仮想HILSの連携動作状況

太郎くん
太郎くん

お!
なんか動いてるっぽいぞ!

フクさん
フクさん

何!?
早く!録画するんだ!早く!

太郎くん
太郎くん

一応、録画しておいた。

フクさん
フクさん

よし!
少し編集するからちょっと待ってて!

仮想ECUと仮想HILSの連携動作を動画で確認

・・・30分後・・・

フクさん
フクさん

よし!
それっぽい動画にしてYoutubeに上げた!

動画:仮想ECUと仮想HILSの連携動作

太郎くん
太郎くん

バッチリ動いてるね!

フクさん
フクさん

一応、画像としてもキャプチャーしておいた。

仮想HILSの波形

仮想HILSの波形、target、Enable Scale bar、Enable Cpu Load、pause、sin wave、Sawtooth wave、can rcv、target Speed

仮想ECUの内部状態をXCPリスナーで拾った波形

仮想ECUの内部状態をXCPリスナーで拾った波形、Target[rad/s]、voltaget[V]、speed[rad/s]

動作を見た感想

太郎くん
太郎くん

若干カクついてる動きはしてるけど、これは以前からあったのものだから仕方ないのかな?

フクさん
フクさん

そうだねー。
想定よりもキレイな気はするが、もう少しなんとかしたいねー。

太郎くん
太郎くん

なんとか出来るもんなの?

フクさん
フクさん

うーん、やってみないとわからないんだけど、
カクついてる理由に信号の精度が含まれているとするとちょっと改善できるかもしれない。

信号の精度を上げる方法があるのか?

太郎くん
太郎くん

精度?

フクさん
フクさん

うん。
今回の物理値の精度は1/256になってる。
これは2byte(16bit)長の変数の上位byteを整数、下位byteを小数点以下としたわけなのだが、
これを4byte(32bit)長の変数にして上位2byteを整数、下位2byteを小数点以下とすると精度については劇的に上がる。

太郎くん
太郎くん

だったら、4byte(32bit)長の変数にしよう!

フクさん
フクさん

ただ、変数それぞれ4byte(32bit)長にすると、1ODTあたり1変数しか乗らなくなるんだよねー。

太郎くん
太郎くん

そっか。
1ODTの最大長が7byteまでだから、
4byte占有すると残り3byte。
他の変数が載らなくなるのか・・・。

太郎くん
太郎くん

だったら、ODTを増やせばいいんじゃない?

フクさん
フクさん

それだとCANの負荷が上がって別の問題でカクつく原因を作ってしまいそうだ。

太郎くん
太郎くん

じゃーどうするの?

フクさん
フクさん

XCPonCANからXCPonCAN-FDにする!

太郎くん
太郎くん

また、なんか新たなネタが・・・。(よくいろいろ思いつくな。このフクロウ)

ソースコードとか

フクさん
フクさん

今回使用したソースコードはGithubに上げとく。

仮想ECU(AUTOSAR-XCP)

指令器&仮想HILS

まとめ

フクさん
フクさん

まとめだよ。

  • ついに仮想ECUと仮想HILSの連携動作。
    • とりあえず動いたんで録画してYoutubeに上げた。
  • 想定よりもキレイだはあるが、やはりカクついている。
    • カクついている原因は変数の精度も含まれているかもしれない。
    • 変数を32bit長にすることで精度を上げられるがODTを増やす必要がある。
      • CAN-FDを使うと・・・。

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

コメント

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