(57)【要約】【課題】車両モデルのシミュレーションの精度を維持しつつその計算量を削減する。【解決手段】条件設定部１０８は、車両を構成する複数のユニットの動作をそれぞれエミュレートする複数のモデルに制御条件を設定する。周波数設定部１１０は、シミュレーションの時間精度を示す実行周波数を設定する。実行制御部１２４は、設定された制御条件および実行周波数にて、複数のモデルにより構成される車両モデル１２６のシミュレーションを実行する。周波数設定部１１０は、車両モデル１２６の動作状況を示すパラメータを監視し、パラメータに応じて実行周波数を変化させる。たとえば、周波数設定部１１０は、エンジンをエミュレートするモデルにおけるエンジン回転数に応じて実行周波数を変化させる。【選択図】図２
2016024098.tif 000002
【特許請求の範囲】
【請求項１】
車両を構成する複数のユニットの動作をそれぞれエミュレートする複数のモデルに制御条件を設定する条件設定部と、
シミュレーションの時間精度を示す実行周波数を設定する周波数設定部と、
前記設定された制御条件および実行周波数にて、前記複数のモデルにより構成される車両モデルのシミュレーションを実行する実行制御部と、を備え、
前記周波数設定部は、前記車両モデルの動作状況を示すパラメータを監視し、前記パラメータに応じて実行周波数を設定することを特徴とする車両シミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両のシミュレーションに関し、特に、車両のシミュレーションの時間精度に関する。
【背景技術】
【０００２】
自動車などの車両を制御するシステムの複雑化にともない、実機試作の前に車両全体をソフトウェアでモデリングして、シミュレーション・テストするようになってきている（特許文献１参照）。車両シミュレーションでは、まず、車両を構成するユニットをソフトウェアでエミュレートしたモデルを用意する。たとえば、エンジンのモデルは、エンジンにおける点火やそれにともなうシャフトの動き、などを忠実に再現するソフトウェアである。エンジンモデルの出力情報の一部はサスペンションモデルの入力情報となる。このように複数のモデルを組み合わせて、車両全体をモデリングする。
【０００３】
車両モデルに対して、路面条件などの環境情報のほか、急発進や急停止などのさまざまなテスト項目を設定し、車両モデルを動作させ、各ユニットがどのように動きどのような負荷がかかるかを検証する。
以下、車両を構成するユニットのモデルを「ユニットモデル」とよび、車両全体としてのモデルのことを「車両モデル」とよぶことにする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２３７５５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
車両シミュレーションにおいては、実行周波数として指定される時間精度にてシミュレーション計算が繰り返し実行される。これにともない、すべてのユニットモデルにおいても実行周波数にて各自の計算を実行する。たとえば、エンジンモデルにおいて、シャフトの回転運動にともなうシリンダー内圧を、シャフトが１０度回転するごとに計算するとする。この場合には、シャフト１回転につき３６回（＝３６０度÷１０度）のシミュレーション計算が実行される。
【０００６】
エンジンが高速回転、たとえば、３６（msec）で１回転するときには、シリンダ内圧の１（msec）（＝３６（msec）÷３６（回））ごとの変化を計算する必要がある。一方、エンジンが低速回転、たとえば、３６０（msec）で１回転するときには、シリンダ内圧の10（msec）（＝３６０（msec）÷３６（回））ごとの計算でも十分なシミュレーション精度を確保できることを本発明者らは認識した。いいかえれば、高速回転時と同じように、低速回転時においても１（msec）ごとのシリンダにおいて生じる現象をシミュレーション計算することは計算量が多い割には効果的ではない。
【０００７】
車両モデルのシミュレーションは、一般的には、数時間から数日間かけて行われるほど大規模なものであるから、シミュレーションの精度確保は重要であるが、シミュレーション全体にかかる時間の短縮もまた重要である。
【０００８】
本発明は、こうした状況に鑑みてなされたものであり、その主たる目的は、車両モデルのシミュレーションの精度を維持しつつその計算量を削減することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある態様の車両シミュレーションシステムは、車両を構成する複数のユニットの動作をそれぞれエミュレートする複数のモデルに制御条件を設定する条件設定部と、シミュレーションの時間精度を示す実行周波数を設定する周波数設定部と、前記設定された制御条件および実行周波数にて、前記複数のモデルにより構成される車両モデルのシミュレーションを実行する実行制御部と、を備える。前記周波数設定部は、前記車両モデルの動作状況を示すパラメータを監視し、前記パラメータに応じた実行周波数を設定する。
【００１０】
この態様によると、車両モデルの動作状況に応じてシミュレーションの実行中に実行周波数を変化させることができる。これにより、低い実行周波数であっても充分にシミュレーション精度を確保できる状況においてはシミュレーション計算回数を抑制できる。
【発明の効果】
【００１１】
本発明によれば、車両モデルのシミュレーションの精度を確保しつつその計算量を効果的に削減しやすくなる。
【図面の簡単な説明】
【００１２】
【図１】車両シミュレーションシステムのハードウェア構成図である。
【図２】制御端末と車両シミュレータの機能ブロック図である。
【図３】エンジンの模式図である。
【図４】エンジンが高速回転しているときのシリンダー内圧の変化を示すグラフである。
【図５】エンジンが低速回転しているときのシリンダー内圧の変化を示すグラフである。
【図６】タイヤの振動を示すグラフである。
【図７】有限要素法によりタイヤを小領域分割した状態を模式的に示す図である。
【図８】実行周波数の変更処理のフローチャートである。
【発明を実施するための形態】
【００１３】
図１は、車両シミュレーションシステム１００のハードウェア構成図である。
車両シミュレーションシステム１００は、互いに通信線で接続された車両シミュレータ１０２と制御端末１０４を含む。車両シミュレータ１０２は、車両モデルのシミュレーション・テストを実行する。制御端末１０４は、車両シミュレータ１０２の車両モデルに各種設定を行うとともに、シミュレーションの状況を監視する。本実施形態においては、車両シミュレータ１０２と制御端末１０４は別々であるとして説明するが、車両シミュレータ１０２が制御端末１０４の機能の全部または一部を取り込んでもよい。
【００１４】
図２は、制御端末１０４と車両シミュレータ１０２の機能ブロック図である。
制御端末１０４と車両シミュレータ１０２の各構成要素は、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウェアとソフトウェアの任意の組み合わせによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
【００１５】
制御端末１０４は、設定部１０６と監視部１１２を含む。設定部１０６は、車両モデル１２６や環境モデル１３６（後述）に対して各種設定を行う。設定部１０６は、制御条件を設定する条件設定部１０８と実行周波数を設定する周波数設定部１１０を含む。制御条件と実行周波数についても後述する。監視部１１２は、車両モデル１２６のシミュレーション結果を監視し、制御端末１０４の画面に表示させる。
【００１６】
車両シミュレータ１０２は、通信部１１４およびシミュレーション部１２２を含む。通信部１１４は、制御端末１０４との通信処理を担当し、制御端末１０４とシミュレーション部１２２のインタフェースとして機能する。シミュレーション部１２２は、車両モデル１２６のシミュレーションを実行する。
【００１７】
シミュレーション部１２２は、シミュレーションを統括的に制御する実行制御部１２４、車両モデル１２６および環境モデル１３６を含む。環境モデル１３６は、路面状況、風況、気温、天候などシミュレーションにおいて想定される外的環境をエミュレートするモデルである。車両モデル１２６は、車両の各ユニットをエミュレートする複数のユニットモデルを含む。具体的には、車両モデル１２６は車体モデル１２８、エンジンモデル１３０、サスペンションモデル１３２およびドライバーモデル１３４を含むが、これ以外にもさまざまなユニットモデルが追加されてもよい。
【００１８】
車体モデル１２８は、車体やシャーシなどにかかる負荷をエミュレートするユニットモデルである。エンジンモデル１３０は、エンジンをエミュレートしたユニットモデルである。サスペンションモデル１３２は、タイヤやサスペンションをエミュレートしたユニットモデルである。ドライバーモデル１３４は、ドライバーの操作やドライバーにかかる負荷などをエミュレートしたモデルである。
【００１９】
ユニットモデルは、ユニットの種類だけでなくエミュレートの精度によっても多数のバリエーションがある。たとえば、車体モデル１２８は、車体を単純な「箱」としてエミュレートするものもあれば、車軸のねじれ現象までエミュレートするものもある。あるいは、車体を一種の弾性体としてとらえ、車体のわずかな変形までもエミュレートできるユニットモデルもある。どのような車体モデル１２８を選択するかは、シミュレーションに求められる速度や精度等に応じて決定される。他のユニットモデルについても同様である。
【００２０】
ユーザは、条件設定部１０８を介して、どのようなユニットモデルを選ぶか、どのようなテストを行うか、環境モデル１３６としてどのような環境を想定するか、などの各種の条件設定を行う。このような条件のことを「制御条件」とよぶ。周波数設定部１１０は、シミュレーションの実行周波数を設定する。実行周波数とは、シミュレーション計算の時間精度を示すものであり、車両において生じる各種現象をどのくらいの頻度でシミュレーション計算するかを示す指標である。
【００２１】
より具体的には、たとえば、エンジンモデル１３０において１（msec）ごとにシャフトの動きを計算してもよいし、１０（msec）ごとに計算してもよい。実行周波数が大きいときには各ユニットモデルの細かな動きを監視できる代わりにシミュレーション全体の時間がかかる。実行周波数を小さくするとシミュレーションの速度は速くなるがユニットモデルの監視精度はラフになる。実行周波数の詳細については後述する。
【００２２】
ドライバーモデル１３４は、状況に応じてドライバーがどのような動作をするかという設定がなされている。あるいは、状況に応じてどのような動作をするかをドライバーに判断させる人工知能としてドライバーモデル１３４を構築してもよい。
【００２３】
また、ドライバーや車体、タイヤなどのオブジェクトの各部にかかる負荷を有限要素法により計算してもよい。たとえば、どのような状況でどのような運転をするとドライバーの内臓にどのような負荷がかかるかをシミュレーションすることにより、いわゆる「乗り心地」を車両シミュレーションで判断できる。
【００２４】
各種の制御条件や実行周波数を設定したあと、実行制御部１２４は車両モデル１２６のシミュレーション実行を開始する。各ユニットモデルや環境モデル１３６は互いに情報を交換しながら、それぞれの動作を行う。
【００２５】
図３は、エンジン１１６の模式図である。
エンジン１１６においては、点火プラグ１４０がシリンダ１４２内の混合気に点火したときの爆発力でピストン１１８が押し下げられる。ピストン１１８の上下運動はコンロッド１３８を介してシャフト１２０の回転運動に変換される。
【００２６】
エンジンモデル１３０は、点火プラグ１４０による点火タイミング制御、それにともなうピストン１１８の動きやコンロッド１３８、シャフト１２０の動きなどをエミュレートするソフトウェア・モデルである。また、エンジンモデル１３０は、シャフト１２０の回転運動とそれにともなうシリンダ内圧を計算する。エンジンモデル１３０は、シャフト１２０が所定角度だけ回転するごとにシリンダ内圧を計算する。このときのシミュレーション計算の頻度は実行周波数により決められる。
【００２７】
図４は、エンジン１１６が高速回転しているときのシリンダー内圧の変化を示すグラフである。
縦軸はシリンダ内圧を示し、横軸は時間を示す。シリンダ内圧はピストン１１８の位置に応じて、いいかえれば、シャフト１２０の回転角に対応して変化する。図４の場合、時刻ｔ１においてシリンダ内圧は最高値ＭＡＸとなり、時刻ｔ２においてシリンダ内圧は最低値ＭＩＮとなっている。エンジンモデル１３０においては、最低限、時刻ｔ１と時刻ｔ２のタイミングにてシリンダ内圧をシミュレーション計算する必要がある。実行制御部１２４は、まず、エンジンモデル１３０におけるシャフト１２０の回転角というパラメータに基づき、シミュレーション計算の実行タイミングを決定する。ピストン１１８が最高位置となるときのシャフト１２０の回転角は０度で、ピストン１１８が最低位置となるときのシャフト１２０の回転角は１８０度となる。そこで、実行制御部１２４は、少なくとも、回転角が０度となるタイミング（時刻ｔ１）と１８０度となるタイミング（時刻ｔ２）にてシミュレーション計算がなされるように計算の実行タイミングを設定する。同様にして、監視部１１２は、このタイミングにあわせてシリンダ内圧などのデータをサンプリングする。
【００２８】
このようなタイミング調整は、点火プラグ１４０による点火タイミングやピストン１１８の位置など他のパラメータにより決定されてもよい。エンジン１１６のような周期運動をするオブジェクトについては、その周期運動の特徴を示す重要なタイミングとシミュレーション計算のタイミングを一致させることが望ましい。
【００２９】
図４において、シリンダ内圧が最高値ＭＡＸから最低値ＭＩＮまで遷移するのに要する時間はＴＡ（＝ｔ２−ｔ１）である。時間ＴＡは、シャフト１２０が１８０度回転する時間に相当する。シャフト１２０が１０度回転するごとにシリンダ内圧を計算するとすれば、（ＴＡ／１８）時間が経過するごとにシミュレーション計算を実行することになる。
以上ように、シミュレーション計算の実行タイミングと実行周波数を決定する。
【００３０】
図５は、エンジン１１６が低速回転しているときのシリンダー内圧の変化を示すグラフである。
図５の場合、時刻ｔ３においてシリンダ内圧は最高値ＭＡＸとなり、時刻ｔ４においてシリンダ内圧は最低値ＭＩＮとなっている。エンジン１１６が低速回転しているときには、シリンダ内圧が最高値ＭＡＸから最低値ＭＩＮまで遷移するのに要する時間ＴＢ（＝ｔ４−ｔ３）は、時間ＴＡよりも長くなる。シャフト１２０が１０度回転するごとにシリンダ内圧を計算するとすれば、（ＴＢ／１８）時間が経過するごとにシミュレーション計算を実行すればよい。すなわち、高速回転時にくらべて実行周波数が低くてもかまわない。
【００３１】
エンジン１１６の回転速度が１／２倍になると、理論的には、実行周波数を１／２にしても高速回転時と同等精度のシミュレーションが可能である。
【００３２】
一般的には、ユニットモデルのうち、最高の時間精度を要求するのはエンジンモデル１３０であり、その精度はシャフト１２０の回転速度（角速度）によって決まる。そこで、エンジンモデル１３０におけるシャフト１２０の回転速度をパラメータとして実行周波数を変化させることにより、シミュレーション計算精度を確保しつつ、全体としての計算量を抑制し、ひいては車両シミュレーションに全体として要する時間を抑制できる。
【００３３】
一般的には、高速回転シミュレーションに備えて、高い実行周波数を固定的に設定することが多い。本実施形態によれば、高速回転シミュレーションが要求する時間精度を維持しつつ、低速回転シミュレーション時の計算量を抑制できることになる。
【００３４】
たとえば、１（msec）ごとの現象をシミュレーション計算する場合には、１秒間の現象をシミュレーションするために１，０００回の計算を実行することになる。一方、低速回転時には５（msec）ごとの現象をシミュレーション計算するのでも充分かもしれない。この場合には、１秒間の現象をシミュレーションするための計算回数は２００回（＝１（秒）÷５（msec））でよい。特に、アイドリングのシミュレーションにおいては、高速回転時ほど高頻度のシミュレーション計算は不要である。
【００３５】
通常、車体モデル１２８、サスペンションモデル１３２、ドライバーモデル１３４などは、エンジンモデル１３０ほど高い時間精度を必要としないので、エンジンモデル１３０に要求される実行周波数が車両モデル１２６の実行周波数となる。しかし、車体モデル１２８などにおいてより高精度で複雑な計算を行うときには、エンジンモデル１３０よりも高い時間精度を別のユニットモデルが要求する場合もある。次に、エンジンモデル１３０以外のユニットモデルによって実行周波数が決定されるケースについて説明する。
【００３６】
図６は、タイヤの振動を示すグラフである。
タイヤは地面から伝わる力により不規則に振動する。タイヤの振動周波数は、路面状況や速度等によりさまざまに変化する。通常、タイヤは不規則に振動するが、運転状況によってはタイヤの振動周波数が非常に大きくなるため、タイヤの動きをエミュレートするサスペンションモデル１３２が高い時間精度を必要とすることもある。
【００３７】
そこで、エンジンの回転速度と同様、タイヤ振動数をパラメータとして実行周波数を決定してもよい。タイヤ振動周波数から実行周波数を決める方法は任意である。たとえば、タイヤ振動周波数×ｎ（ｎは任意の有理数）を実行周波数としてもよい。
【００３８】
エンジン回転速度の観点から必要とされ推奨される実行周波数（以下、「推奨周波数」とよぶ）と、タイヤ振動数の観点から必要とされる推奨周波数があるとき、実行制御部１２４はより高い方の推奨周波数を実行周波数として設定すればよい。まとめると、複数のユニットモデルそれぞれについて推奨周波数を決定し、このうち、最高の時間精度を要求するユニットモデルの推奨周波数を車両モデル１２６全体としての実行周波数とすればよい。
【００３９】
図７は、有限要素法によりタイヤを小領域分割した状態を模式的に示す図である。
特に高精度のサスペンションモデル１３２では、運転中にタイヤの各部にかかる力を計算するため、タイヤ各部にかかる負荷を有限要素法によって計算する場合もある。有限要素法においては、複雑な形状・性質をもつ物体を単純な形状・性質の小部分（要素領域）に分割し、要素領域１つ１つの特性を単純な方程式により近似表現する。そして、この単純な方程式を組み合わせることでタイヤ全体の挙動を予測する。
【００４０】
図７では、タイヤを複数の要素領域に分割している。このようなメッシュ化により、タイヤ各部にかかる力やそれにともなう変形を計算できる。有限要素法によるシミュレーションの場合には、高い時間精度が要求されることがある。たとえば、１０（msec）ごとの現象をシミュレーションするのでは間に合わず、１（msec）ごとの現象を細かくシミュレーションする必要があるかもしれない。有限要素法のような精密な計算は、高い時間精度を要求することもあるため、ユニットモデルのシミュレーション内容によっても推奨周波数が変わってくる。タイヤだけでなく、車体モデル１２８において車体の変形を有限要素法で計算したり、ドライバーモデル１３４においてドライバーにかかる負荷を有限要素法によって計算する場合も同様である。また、急停止や急発進、急カーブなど、有限要素法による計算に高い時間精度を要求されることもあれば、車両が巡航速度にあるときには有限要素法による計算であってもそれほど時間精度を要求しない。
【００４１】
図８は、実行周波数の変更処理のフローチャートである。
図８に示す処理は、車両シミュレーションの実行中に同時並行にて実行される。周波数設定部１１０は、各ユニットモデルから実行周波数を決定するためのパラメータを取得する（Ｓ１０）。ここでいうパラメータとは、エンジン回転速度やタイヤの振動周波数などである。周波数設定部１１０は、これらのパラメータからユニットモデルごとに推奨周波数を決定し、その中でも最も高い推奨周波数を選択する（Ｓ１２）。
【００４２】
実行周波数とＳ１２で決定した推奨周波数が一致するとき、あるいは、実行周波数と推奨周波数のずれが所定範囲以内のときには（Ｓ１４のＮ）、実行周波数は変更されない。推奨周波数と実行周波数が不一致のとき、あるいは、実行周波数と推奨周波数のずれが所定範囲外のときには（Ｓ１４のＹ）、新たな実行周波数として推奨周波数が設定される。
【００４３】
ユニットモデルの種類と、急停止、急発進、急カーブなどの状況に応じて、ユニットモデルごとに推奨周波数をあらかじめ定義しておいてもよい。そして、複数のユニットモデルの動作状況からそれぞれの推奨周波数を選び、その中から最大の推奨周波数を実行周波数とすればよい。
【００４４】
以上、実施形態に基づいて車両シミュレーションシステム１００について説明した。車両シミュレーションシステム１００によれば、各ユニットモデルの動作状況を示すパラメータに基づいて実行周波数を変化させることにより、シミュレーションに求められる時間精度を確保しつつ、シミュレーション計算回数を効果的に抑制できる。本発明者らの計算によれば、エンジン回転速度に基づいて実行周波数を可変とするだけでも、たとえば、３日かかるような車両シミュレーションを１日に短縮できる。
【００４５】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４６】
車両モデルを構成するユニットのうち、一部についてはユニットモデルではなく実機を用いてもよい。たとえば、エンジンだけは実機を使用し、エンジンへの入出力に関わるユニットについてはユニットモデルを使うことにより、ハードウェアとソフトウェアを混在させたシミュレーションも可能である。
【００４７】
エンジンモデル１３０においては、複数のシリンダを備えるエンジンの場合にはシミュレーション計算が複雑になる。したがって、エンジン回転数だけでなくシリンダ数も考慮して、エンジンモデル１３０の推奨周波数を決定することが望ましい。更には、エンジンモデル１３０におけるミッションの変速時におけるわずかなギアの遅れや、ゴムブッシュの特性変化など、高いシミュレーション時間精度が求められる状況もある。ユニットモデルの動作状況を示すパラメータ、あるいは、ミッション切り換えなどのイベントフラグに応じてあらかじめ推奨周波数を決めておき、シミュレーション中に実行フラグを変化させることで、シミュレーション全体に要する時間をいっそう短縮させることもできる。
【００４８】
本発明の構成としては下記の発明を認識できる。
Ａ１．車両を構成する複数のユニットの動作をそれぞれエミュレートする複数のモデルに制御条件を設定する条件設定部と、
シミュレーションの時間精度を示す実行周波数を設定する周波数設定部と、
前記設定された制御条件および実行周波数にて、前記複数のモデルにより構成される車両モデルのシミュレーションを実行する実行制御部と、を備え、
前記周波数設定部は、前記車両モデルの動作状況を示すパラメータを監視し、前記パラメータに応じて実行周波数を設定することを特徴とする車両シミュレーションシステム。
Ａ２．前記周波数設定部は、前記複数のモデルのうち最高の時間精度を要求されるモデルの動作状況を示すパラメータに基づいて実行周波数を変化させることを特徴とするＡ１に記載の車両シミュレーションシステム。
Ａ３．前記周波数設定部は、エンジンをエミュレートするモデルにおけるエンジン回転速度に応じて実行周波数を変化させることを特徴とするＡ１に記載の車両シミュレーションシステム。
Ａ４．前記実行制御部は、エンジンをエミュレートするモデルにおけるシャフトの回転角に基づいてシミュレーション計算の実行タイミングを設定することを特徴とするＡ３に記載の車両シミュレーションシステム。
Ａ５．前記周波数設定部は、サスペンションをエミュレートするモデルにおけるタイヤの振動周波数に応じて実行周波数を変化させることを特徴とするＡ１に記載の車両シミュレーションシステム。
Ａ６．前記周波数設定部は、有限要素法により所定のオブジェクトの各部にかかる力を計算するモデルにおいて、前記オブジェクトの各部にかかる力を計算するために必要な時間精度から実行周波数を設定することを特徴とするＡ１に記載の車両シミュレーションシステム。
【符号の説明】
【００４９】
１００  車両シミュレーションシステム、  １０２  車両シミュレータ、  １０４  制御端末、  １０６  設定部、  １０８  条件設定部、  １１０  周波数設定部、  １１２  監視部、  １１４  通信部、  １１６  エンジン、  １２０  シャフト、  １２２  シミュレーション部、  １２４  実行制御部、  １２６  車両モデル、  １２８  車体モデル、  １３０  エンジンモデル、  １３２  サスペンションモデル、  １３４  ドライバーモデル、  １３６  環境モデル。
【図１】
2016024098.tif 000003
【図２】
2016024098.tif 000004
【図３】
2016024098.tif 000005
【図４】
2016024098.tif 000006
【図５】
2016024098.tif 000007
【図６】
2016024098.tif 000008
【図７】
2016024098.tif 000009
【図８】
2016024098.tif 000010