(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022179122
(43)【公開日】2022-12-02
(54)【発明の名称】可視化シミュレーションシステムおよび可視化シミュレーション方法
(51)【国際特許分類】
G01M 17/007 20060101AFI20221125BHJP
G06F 30/15 20200101ALI20221125BHJP
G06F 30/10 20200101ALI20221125BHJP
G06F 30/20 20200101ALI20221125BHJP
G06Q 50/04 20120101ALI20221125BHJP
【FI】
G01M17/007 Z
G06F30/15
G06F30/10 200
G06F30/20
G06Q50/04
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021086384
(22)【出願日】2021-05-21
(71)【出願人】
【識別番号】000139355
【氏名又は名称】ヤマハモーターエンジニアリング株式会社
(74)【代理人】
【識別番号】100101351
【弁理士】
【氏名又は名称】辰巳 忠宏
(72)【発明者】
【氏名】上西 直也
(72)【発明者】
【氏名】太田 博康
【テーマコード(参考)】
5B146
5L049
【Fターム(参考)】
5B146AA05
5B146CA01
5B146DG02
5B146DJ11
5B146DJ14
5L049CC03
(57)【要約】
【課題】シミュレーションの演算負荷を軽量化しつつ良好なシミュレーション結果が得られ、かつシミュレーション結果を分かり易く表示できる、可視化シミュレーションシステムおよび可視化シミュレーション方法を提供する。
【解決手段】可視化シミュレーションシステム10は、可視化シミュレーションプログラムの指令により、運動モデル演算結果およびゲームエンジン演算結果に基づいて、連携ソフトウェアプログラムによって実行される制御モデルを用いた制御演算を行い、ゲームエンジン演算結果および制御演算結果に基づいて、運動モデルを用いた運動モデル演算を行い、運動モデル演算結果に基づいて、3D形状データとゲームエンジンと運転環境データとを用いたゲームエンジン演算を行い、ゲームエンジンを用いて、ゲームエンジン演算結果の3Dアニメーション画像を生成し、表示部16に表示する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
制御対象の挙動をシミュレーションする可視化シミュレーションシステムであって、
前記制御対象の3D形状データと、前記制御対象の運動モデルと、前記制御対象を制御する制御装置の制御モデルまたは制御プログラムと、ゲームエンジンと、可視化シミュレーションプログラムと、前記制御モデルを実行するための連携ソフトウェアプログラムと、運転環境データとが記憶される記憶部と、
前記連携ソフトウェアプログラムによって実行される前記制御モデルまたは前記制御プログラムを用いて制御演算を行う第1演算部と、
前記運動モデルを用いて運動モデル演算を行う第2演算部と、
前記3D形状データと前記ゲームエンジンと前記運転環境データとを用いてゲームエンジン演算を行う第3演算部と、
前記可視化シミュレーションプログラムの指令により、前記ゲームエンジンを用いて前記第3演算部によるゲームエンジン演算結果の3Dアニメーション画像を生成する第4演算部と、
前記3Dアニメーション画像を表示する表示部とを備え、
前記第1演算部は、前記可視化シミュレーションプログラムの指令により、前記第2演算部による運動モデル演算結果に基づいて制御演算を行い、
前記第2演算部は、前記可視化シミュレーションプログラムの指令により、前記第1演算部による制御演算結果および前記第3演算部によるゲームエンジン演算結果に基づいて運動モデル演算を行い、
前記第3演算部は、前記可視化シミュレーションプログラムの指令により、前記第2演算部による運動モデル演算結果に基づいてゲームエンジン演算を行う、可視化シミュレーションシステム。
【請求項2】
前記第1演算部は、さらに前記第3演算部によるゲームエンジン演算結果に基づいて制御演算を行う、請求項1に記載の可視化シミュレーションシステム。
【請求項3】
前記可視化シミュレーションプログラムは、前記表示部にユーザインターフェイスを表示させるためのプログラムを含み、
当該可視化シミュレーションシステムは、前記表示部に表示された前記ユーザインターフェイスを操作する入力部をさらに含む、請求項1または2に記載の可視化シミュレーションシステム。
【請求項4】
前記運転環境データは、3D地形データと前記3D地形データに紐づけされる外乱データとを含む、請求項1から3のいずれかに記載の可視化シミュレーションシステム。
【請求項5】
制御対象の3D形状データと、前記制御対象の運動モデルと、前記制御対象を制御する制御装置の制御モデルまたは制御プログラムと、ゲームエンジンと、可視化シミュレーションプログラムと、前記制御モデルを実行するための連携ソフトウェアプログラムと、運転環境データとを用いて、前記制御対象の挙動をシミュレーションする可視化シミュレーション方法であって、
前記連携ソフトウェアプログラムによって実行される前記制御モデルまたは前記制御プログラムを用いて制御演算を行う第1ステップと、
前記運動モデルを用いて運動モデル演算を行う第2ステップと、
前記3D形状データと前記ゲームエンジンと前記運転環境データとを用いてゲームエンジン演算を行う第3ステップと、
前記可視化シミュレーションプログラムの指令により、前記ゲームエンジンを用いて前記第3ステップによるゲームエンジン演算結果の3Dアニメーション画像を生成する第4ステップと、
前記3Dアニメーション画像を表示部に表示する第5ステップとを備え、
前記第1ステップは、前記可視化シミュレーションプログラムの指令により、前記第2ステップによる運動モデル演算結果に基づいて制御演算を行い、
前記第2ステップは、前記可視化シミュレーションプログラムの指令により、前記第1ステップによる制御演算結果および前記第3ステップによるゲームエンジン演算結果に基づいて運動モデル演算を行い、
前記第3ステップは、前記可視化シミュレーションプログラムの指令により、前記第2ステップによる運動モデル演算結果に基づいてゲームエンジン演算を行う、可視化シミュレーション方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は可視化シミュレーションシステムおよび可視化シミュレーション方法に関し、より特定的にはモデルベース開発(MBD)等に用いられる可視化シミュレーションシステムおよび可視化シミュレーション方法に関する。
【背景技術】
【0002】
この種の従来技術の一例として、特許文献1において車両走行仮想試験システムが開示されている。この車両走行仮想試験システムは、車両を構成する要素として所定機能毎に独立して設定された複数の部品を、該各部品に加わるエネルギーの瞬時値を構成する2種類の状態量である位差量と流動量とを入出力状態量の対とし、該入出力状態量が加わる部品の内部特性のパラメータが、行が出力状態ベクトル、列が入力状態ベクトルとなる行列形式で配置されることで、位差量及び流動量に対応した内部行列を構成するシステム方程式でモデル化し、モデル化されたモデルを入出力状態量を介して結合することで、車両モデルを構築し、該車両モデルの仮想試験を実行する。そして、仮想試験結果はモニタに表示されることができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
このような特許文献1に開示された車両走行仮想試験システムでは、仮想試験の演算負荷を軽量化しつつ良好な仮想試験結果を得る点や、仮想試験結果を分かり易く表示する点につき、十分検討されていない。
【0005】
それゆえにこの発明の主たる目的は、シミュレーションの演算負荷を軽量化しつつ良好なシミュレーション結果が得られ、かつシミュレーション結果を分かり易く表示できる、可視化シミュレーションシステムおよび可視化シミュレーション方法を提供することである。
【課題を解決するための手段】
【0006】
上述の目的を達成するために、制御対象の挙動をシミュレーションする可視化シミュレーションシステムであって、制御対象の3D形状データと、制御対象の運動モデルと、制御対象を制御する制御装置の制御モデルまたは制御プログラムと、ゲームエンジンと、可視化シミュレーションプログラムと、制御モデルを実行するための連携ソフトウェアプログラムと、運転環境データとが記憶される記憶部と、連携ソフトウェアプログラムによって実行される制御モデルまたは制御プログラムを用いて制御演算を行う第1演算部と、運動モデルを用いて運動モデル演算を行う第2演算部と、3D形状データとゲームエンジンと運転環境データとを用いてゲームエンジン演算を行う第3演算部と、可視化シミュレーションプログラムの指令により、ゲームエンジンを用いて第3演算部によるゲームエンジン演算結果の3Dアニメーション画像を生成する第4演算部と、3Dアニメーション画像を表示する表示部とを備え、第1演算部は、可視化シミュレーションプログラムの指令により、第2演算部による運動モデル演算結果に基づいて制御演算を行い、第2演算部は、可視化シミュレーションプログラムの指令により、第1演算部による制御演算結果および第3演算部によるゲームエンジン演算結果に基づいて運動モデル演算を行い、第3演算部は、可視化シミュレーションプログラムの指令により、第2演算部による運動モデル演算結果に基づいてゲームエンジン演算を行う、可視化シミュレーションシステムが提供される。
【0007】
また、制御対象の3D形状データと、制御対象の運動モデルと、制御対象を制御する制御装置の制御モデルまたは制御プログラムと、ゲームエンジンと、可視化シミュレーションプログラムと、制御モデルを実行するための連携ソフトウェアプログラムと、運転環境データとを用いて、制御対象の挙動をシミュレーションする可視化シミュレーション方法であって、連携ソフトウェアプログラムによって実行される制御モデルまたは制御プログラムを用いて制御演算を行う第1ステップと、運動モデルを用いて運動モデル演算を行う第2ステップと、3D形状データとゲームエンジンと運転環境データとを用いてゲームエンジン演算を行う第3ステップと、可視化シミュレーションプログラムの指令により、ゲームエンジンを用いて第3ステップによるゲームエンジン演算結果の3Dアニメーション画像を生成する第4ステップと、3Dアニメーション画像を表示部に表示する第5ステップとを備え、第1ステップは、可視化シミュレーションプログラムの指令により、第2ステップによる運動モデル演算結果に基づいて制御演算を行い、第2ステップは、可視化シミュレーションプログラムの指令により、第1ステップによる制御演算結果および第3ステップによるゲームエンジン演算結果に基づいて運動モデル演算を行い、第3ステップは、可視化シミュレーションプログラムの指令により、第2ステップによる運動モデル演算結果に基づいてゲームエンジン演算を行う、可視化シミュレーション方法が提供される。
【0008】
上述の発明では、運動モデル演算結果に基づいて、連携ソフトウェアプログラムによって実行される制御モデルまたは制御プログラムを用いた制御演算が行われ、ゲームエンジン演算結果および制御演算結果に基づいて、運動モデルを用いた運動モデル演算が行われ、運動モデル演算結果に基づいて、3D形状データとゲームエンジンと運転環境データとを用いたゲームエンジン演算が行われる。そして、ゲームエンジンを用いて、ゲームエンジン演算結果の3Dアニメーション画像、すなわち、制御対象の挙動のシミュレーション結果を示す3Dアニメーション画像が生成され、表示部に表示される。このように、ゲームエンジンを用いて運転環境の外乱を反映させて演算することによって、演算負荷の高い計算を軽量化できる。また、ゲームエンジン演算結果を運動モデル演算に反映させることによって、精度よく運動モデル演算結果が得られるとともに、運動モデル演算結果をゲームエンジン演算に反映させることによって、良好なシミュレーション結果が得られる。さらに、ゲームエンジンを用いることによって、シミュレーション結果の3Dアニメーション画像を容易に生成でき、当該3Dアニメーション画像を表示部に表示することができる。したがって、シミュレーション結果をグラフやデータ群で表現することなく、シミュレーション結果が分かり易くなる。
【0009】
好ましくは、第1演算部は、さらに第3演算部によるゲームエンジン演算結果に基づいて制御演算を行う。この場合、ゲームエンジン演算結果を利用して取得することができるセンシング情報を制御演算に反映させることにより、さらに精度よく制御演算を行うことができる。
【0010】
また、好ましくは、可視化シミュレーションプログラムは、表示部にユーザインターフェイスを表示させるためのプログラムを含み、当該可視化シミュレーションシステムは、表示部に表示されたユーザインターフェイスを操作する入力部をさらに含む。この場合、シミュレーションに必要な設定をコーディングレスで行うことができるので、データ入力や指示が容易になり、利用者のソフトウェア技術技量に関係なくシミュレーションを利用できる。
【0011】
さらに、好ましくは、運転環境データは、3D地形データと3D地形データに紐づけされる外乱データとを含む。この場合、運転環境をより現実に近い状況に設定でき、シミュレーション結果の精度を上げることができる。
【0012】
ここで、「制御演算結果」とは、運動モデルが意図した挙動を行うように、運動状態などのセンシング結果に基づいて、制御モデルや制御プログラムで演算される運動モデルへの制御指令をいう。たとえば、車両速度が目標速度に達していない場合には、エンジンのスロットル開度を大きくする指令などが該当する。
【0013】
「ゲームエンジン演算結果」とは、物理運動の結果、制御対象が外界(環境)の変化によってどのような影響を受けるかのシミュレーション結果をいう。この演算により、たとえば、環境によって変化する風力や路面状況などの外乱をパラメータとして、タイヤが路面から受ける反力(タイヤの摩擦力)、タイヤのすべり、車体への衝撃力、車両の振動およびGPS座標のデータなどのセンシング情報が得られる。
【0014】
「運動モデル演算結果」とは、制御指令に基づいて、制御対象内部のエネルギー伝達や制御対象の挙動などを演算したシミュレーション結果をいう。この演算により、たとえば、エンジン回転数、エンジントルクおよび車両速度などのセンシング情報が得られる。
【発明の効果】
【0015】
この発明によれば、シミュレーションの演算負荷を軽量化しつつ良好なシミュレーション結果が得られ、かつシミュレーション結果を分かり易く表示できる。
【図面の簡単な説明】
【0016】
【
図1】この発明の一実施形態に係る可視化シミュレーションシステムを示すブロック図である。
【
図2】可視化シミュレーションシステムの主な演算を示すブロック図である。
【
図3】この発明の一実施形態に係る可視化シミュレーションシステムの主要動作を示すフロー図である。
【
図4】シミュレーション設定動作の一例を示すフロー図である。
【
図5】シミュレーション環境選択動作の一例を示すフロー図である。
【
図6】シミュレーション実施動作の一例を示すフロー図である。
【
図7】ユーザインターフェイスを用いた3D形状データの選択・取込動作を説明するための図解図である。
【
図8】シミュレーション設定時に開かれるウィンドウの一例を示す図解図である。
【
図9】ユーザインターフェイスを用いたゲームエンジン用の設定動作を説明するための図解図である。
【
図10】ゲームエンジン用の設定時に表示される画面の一例を示す図解図である。
【
図11】ユーザインターフェイスを用いた運動モデルの選択・取込動作を説明するための図解図である。
【
図12】ユーザインターフェイスを用いた通信設定ファイルの選択・取込動作を説明するための図解図である。
【
図13】ユーザインターフェイスを用いたリンク設定およびシミュレーション設定出力動作を説明するための図解図である。
【
図14】シミュレーション設定時に開かれるウィンドウの一例を示す図解図である。
【
図15】シミュレーション実行画面の一例を示す図解図である。
【
図16】この発明の他の実施形態に係る可視化シミュレーションシステムを示すブロック図である。
【
図17】この発明のその他の実施形態に係る可視化シミュレーションシステムを示すブロック図である。
【発明を実施するための形態】
【0017】
以下、図面を参照してこの発明の実施の形態について説明する。
【0018】
図1を参照して、この発明の一実施形態に係る可視化シミュレーションシステム10は、MILS(Model-In-the-Loop Simulation)用の装置であり、コンピュータ12と、入力部14と、表示部16とを含む。コンピュータ12は、マザーボード18と、GPU20と、記憶装置22とを含む。マザーボード18は、CPU24と、メモリ26と、インターフェイス28とを含む。インターフェイス28は、外部機器接続装置30と、ネットワーク接続装置32とを含む。
【0019】
記憶装置22は、たとえばHDDやSSDであり、制御対象の3D形状データと、制御対象の運動モデルと、制御対象を制御する制御装置の制御モデルと、ゲームエンジン(物理エンジン)と、可視化シミュレーションプログラムと、制御モデルを実行するための連携ソフトウェアプログラムと、運転環境データとを記憶する。
【0020】
この実施形態では、制御対象は、車両であり、より具体的には車両のパワートレイン系である。制御対象の3D形状データは、車両全体の3D形状データを含み、CADや3Dモデリングソフト等の3D形状モデル設計ツールで予め作成されることができる。制御対象の運動モデルは、数式で表された0Dモデルや1Dモデルなどのプラントモデルであり、FMU(Functional Mockup Unit)を用いることができ、また、必要に応じて運動モデル設計ツールで予め作成されることができる。制御モデルは、制御対象を制御する制御装置を数式で表したコントローラモデルである。連携ソフトウェアプログラムは、制御モデルを作成および/または実行するためのプログラムであり、この実施形態では、MATLAB/Simulink(登録商標)を含む。ゲームエンジンは、コンピュタゲームを開発するための開発環境であり、たとえばUnity(登録商標)が用いられる。運転環境データは、3D地形データと3D地形データに紐づけされる外乱データとを含む。3D地形データの生成には、たとえば国土地理院等が提供する既存のデータベースが利用される。これにより、実際に存在する地形を再現できる。外乱データは、路面の摩擦係数、風速等を含み、ゲームエンジンが有する既存の外乱データを用いて任意に設定できる。可視化シミュレーションプログラムは、可視化シミュレーションシステム10の動作を制御するためのプログラムであり、表示部16にユーザインターフェイスを表示させるためのプログラムを含む。
【0021】
マザーボード18は、インターフェイス28の外部装置接続装置30を介して、入力部14および表示部16に接続される。メモリ26には、記憶装置22に記憶されたプログラムやデータが展開され、CPU24やGPU20による演算データが一時的に記憶される。CPU24は、メモリ26で展開されたプログラムやデータに基づいて、各種演算、指令および各部の制御を行う。GPU20は、CPU24からの指令を受けて、主として描画系やゲームエンジン系の演算処理を行う。
【0022】
図2をも参照して、CPU24は、可視化シミュレーションプログラムの指令により、運動モデル演算結果およびゲームエンジン演算結果に基づいて、連携ソフトウェアプログラムによって実行される制御モデルを用いた制御演算を行う。また、CPU24は、可視化シミュレーションプログラムの指令により、制御演算結果およびゲームエンジン演算結果に基づいて、運動モデルを用いた運動モデル演算を行う。CPU24およびGPU20は協働して、可視化シミュレーションプログラムの指令により、運動モデル演算結果に基づいて、3D形状データとゲームエンジンと運転環境データとを用いたゲームエンジン演算を行う。また、CPU24およびGPU20は協働して、可視化シミュレーションプログラムの指令により、ゲームエンジンを用いて、ゲームエンジン演算結果の3Dアニメーション画像を生成する。生成された3Dアニメーション画像は、表示部16に表示される。
【0023】
図1に戻って、入力部14は、キーボードやマウスを含み、たとえば、表示部16に表示されたユーザインターフェイスを操作してシミュレーションに必要な設定をするために用いられる。
【0024】
この実施形態では、CPU24が第1演算部および第2演算部に対応する。CPU24およびGPU20が第3演算部に対応する。CPU24およびGPU20が第4演算部に対応する。記憶装置22が記憶部に対応する。
【0025】
ついで、可視化シミュレーションシステム10の動作について説明する。
【0026】
図3を参照して、可視化シミュレーションシステム10の動作の概要について説明する。
【0027】
まず、シミュレーション設定済みか否かが判断される(ステップS1)。シミュレーションが設定済みでなければ、シミュレーションが設定され(ステップS3)、ステップS5に進む。ステップS1においてシミュレーション設定済みであれば、ステップS5に進む。ステップS5では、シミュレーション環境が選択される。その後、シミュレーションが実施され(ステップS7)、試験が完了したか否かが判断される(ステップS9)。試験が完了していなければ、ステップS7に戻り、一方、試験が完了していれば、終了する。
【0028】
ついで、
図4を参照して、ステップS3のシミュレーション設定動作について説明する。このシミュレーション設定は、可視化シミュレーションプログラムによりユーザインターフェイスを表示部16に表示させ、当該ユーザインターフェイスを入力部14で操作することによって行われる。
【0029】
まず、制御対象の3D形状データの選択・取込が行われる(ステップS11)。この実施形態では、制御対象として車両が選択され、車両全体の3D形状データの選択・取込が行われる。ついで、ゲームエンジンを用いるための設定が行われる(ステップS13)。ここでは、必要に応じて、車両の部品ごとに、接触判定、運動解析のためのボーン構造、重力による演算および幾何拘束に関する設定等が行われる。つぎに、運動モデルとして0Dモデルまたは1Dモデルが選択され、取り込まれる(ステップS15)。そして、通信設定ファイルの選択・取込が行われる(ステップS17)。ここでは、連携ソフトウェアプログラムであるMATLAB/Simulinkによって制御モデルを実行するための設定等が行われる。
【0030】
その後、ゲームエンジンと運動モデルとのリンク設定が行われ(ステップS19)、通信と運動モデルとのリンク設定が行われ(ステップS21)、通信とゲームエンジンとのリンク設定が行われる(ステップS23)。これらのリンク設定により、運動モデル演算結果とゲームエンジン演算結果とに基づく制御演算、ゲームエンジン演算結果と制御演算結果とに基づく運動モデル演算、運動モデル演算結果に基づくゲームエンジン演算が可能となる。そして、3D形状データの選択、ゲームエンジン用設定、運動モデルの選択、通信設定ファイルの選択およびリンク設定を含むシミュレーション設定が、記憶装置22に出力されて記憶され(ステップS25)、リターンする。
【0031】
ここで、
図7から
図14を参照して、シミュレーション設定動作についてより具体的に説明する。
【0032】
まず、3D形状の選択・取込が行われる。
【0033】
図7に示すように表示部16に表示されたユーザインターフェイスにおいて、矢印Aで示す「Select model」が入力部14でクリックされると、たとえば
図8に示すような新しいウィンドウが開かれ、この画面から3Dデータが選択される。この実施形態では、車両3Dデータが選択される。すると、車両3Dデータが取り込まれ、ユーザインターフェイスの略中央の画面に、車両の3D画像が表示される。このとき、矢印Bで示す画面の左側に3Dデータの階層構造がリスト形式で表示される。3Dデータの階層構造は、入力部14の操作によって変更できる。
【0034】
ついで、ゲームエンジン用の設定が行われる。
【0035】
図9を参照して、ゲームエンジン用の設定を行いたい3Dデータの箇所(部品やアセンブリ)が、3D表示画面上でクリック、または矢印Bで示す画面の左側のリストから選択される。選択された部品またはアセンブリはハイライト表示される。つぎに、部品等が選択された状態で、矢印Cで示す「Add Component」がクリックされると、
図10に示すような画面が表示され、その部品等についてゲームエンジン用設定が選択される。たとえば、Rigidbodyが追加されると、物体の接触や重力の影響を受けるように計算され、WheelColliderおよび WheelControllerが追加されると、ゲームエンジンはその部品をタイヤと認識する。さらに、矢印Dで示す箇所を用いて、追加されたゲームエンジン用の設定に関して詳細な設定が行われる。たとえば、タイヤの特性の設定や接触判定をするか否かなどが設定される。
【0036】
つぎに、運動モデルの選択・取込が行われる。
【0037】
図11を参照して、矢印Eで示す「Select FMU」がクリックされると、
図8に示すようなウィンドウが開かれ、この画面から運動モデルが選択される。この実施形態では、車両運動モデルが選択される。すると、車両運動モデルが取り込まれ、矢印Fで示すように画面の左上に取り込まれたファイルの名称が表示される。また、取込が完了すると、矢印Gで示すように、通信設定するためのドロップダウンリストに運動モデルの入出力のデータ名称が表示される。
【0038】
そして、通信設定ファイルの選択・取込が行われる。
【0039】
図12を参照して、矢印Hで示す箇所で、UDP、TCP、CAN通信等の通信の種類が設定され、ゲームエンジンや連携ソフトウェアプログラムのアドレス設定が実施される。
【0040】
つぎに、リンク設定が行われる。
【0041】
図13を参照して、矢印Iで示す「Select」がクリックされると、
図8で示すようなウィンドウが表示され、この画面から通信データの構造を定義したファイル(通信設定ファイル)が選択される。通信設定ファイルが取り込まれると、矢印Jで示す箇所に送信側および受信側それぞれのデータ構造が表示される。
【0042】
そして、表示されたデータのドロップダウンリストから、送信側について、運動モデルやゲームエンジンの演算結果のうち送信するデータの紐づけが実施される。すなわち、運動モデルから制御モデルへ送信されるデータの紐づけ、およびゲームエンジンから制御モデルへ送信されるデータの紐づけが実施される。また、受信側について、運動モデルの入力に用いるデータの紐づけが実施される。すなわち、制御モデルから運動モデルへ送信されるデータの紐づけが実施される。これらの処理は、通信と運動モデルとのリンク設定、および通信とゲームエンジンとのリンク設定に該当する。
【0043】
ここで、ユーザインターフェイスを用いた制御モデルから運動モデルへのデータの紐づけの際に、制御演算と運動モデル演算との時刻同期を設定できる。
【0044】
その後、矢印Kで示す画面の左側で、運動モデルとゲームエンジンとのデータの紐づけすなわちリンク設定が行われる。その設定は、通信と運動モデルとのリンク設定および通信とゲームエンジンとのリンク設定と同様に、ドロップダウンリストを選択して実施される。
【0045】
以上のすべての設定が完了した状態で、矢印Lで示す「Create model」がクリックされると、
図14に示すような画面が表示され、保存先と保存名とが決定され保存ボタンが押されると、シミュレーション設定が記憶装置22に出力され保存される。
【0046】
ついで、
図5を参照して、ステップS5のシミュレーションの環境選択動作について説明する。この環境選択は、たとえばUnityが有する既存のユーザインターフェイスを表示部16に表示させ、当該ユーザインターフェイスを入力部14で操作することによって行われる。
【0047】
まず、設定済みの運転環境データを利用するか否かが判断される(ステップS31)。設定済みの運転環境データを利用しない場合には、たとえば国土地理院等が提供する外部のデータベースから3D地形データが取得され(ステップS33)、3D地形に着色され(ステップS35)、たとえば木、岩、対向車などの障害物や建築物が設定される(ステップS37)。さらに、物理演算に必要なパラメータとしての外乱データが設定されて(ステップS39)、3D地形データに外乱データが紐づけされた設定済みの運転環境データが生成され(ステップS41)、ステップS31に戻る。ステップS31において、設定済みの運転環境データを利用する場合には、設定済みの運転環境データの中から所望の運転環境データが選択されて、記憶装置22に記憶され(ステップS43)、リターンする。
【0048】
つぎに、
図6を参照して、ステップS7のシミュレーション実施動作について説明する。このシミュレーション実施は、表示部16にシミュレーション実行画面(
図15参照)を表示させて行われる。
【0049】
まず、表示部16に表示されたシミュレーション実行画面中の開始アイコン34を入力部14によってクリックする。すると、シミュレーションが開始され、運転環境データが読み込まれてメモリ26に展開され(ステップS51)、シミュレーション設定が読み込まれてメモリ26に展開される(ステップS53)。ついで、通信ポートが開かれ(ステップS55)、シミュレーションが初期化される(ステップS57)。すなわち、制御モデル、運動モデルおよびゲームエンジンの初期化演算が行われる。
【0050】
そして、制御演算が行われ(ステップS59)、運動モデルが演算され(ステップS61)、ゲームエンジンが演算され(ステップS63)、アニメーション描画に反映され(ステップS65)、エンジン回転数、エンジントルクおよびタイヤの摩擦力などのセンシング情報が送信され(ステップS67)、シミュレーションが終了したか否かが判断される(ステップS69)。シミュレーションが終了していなければ、ステップS59に戻り、処理が繰り返される。
【0051】
すなわち、
図2を参照して、指定値を用いて制御モデル、運動モデルおよびゲームエンジンの初期化演算が行われる。その後、センシング情報として運動モデルの初期値とゲームエンジンの初期値とを用いて制御モデルによる制御演算が行われ、その制御演算結果とゲームエンジンの初期値とを用いて運動モデルによる運動モデル演算が行われ、その運動モデル演算結果を用いてゲームエンジンによるゲームエンジン演算が行われ、ゲームエンジン演算結果がアニメーション描画に反映される。ついで、センシング情報として運動モデル演算結果とゲームエンジン演算結果とを用いて制御モデルによる制御演算が行われ、その制御演算結果とゲームエンジン演算結果とを用いて運動モデルによる運動モデル演算が行われ、その運動モデル演算結果を用いてゲームエンジンによるゲームエンジン演算が行われ、ゲームエンジン演算結果が3Dアニメーション描画に反映される。このような処理が、可視化シミュレーションプログラムの指令により、シミュレーションが終了するまで繰り返される。
【0052】
図6に戻って、表示部16に表示されたシミュレーション実行画面中の終了アイコン36を入力部14によってクリックすると、シミュレーションが終了し、通信ポートが閉じられ(ステップS71)、リターンする。
【0053】
なお、ゲームエンジン演算結果の3Dアニメーション画像、すなわち、制御対象の挙動のシミュレーション結果を示す3Dアニメーション画像は、ゲームエンジンを用いて生成される。この実施形態では、Unityが有する「カメラ機能」を制御するプログラムを用いて3Dアニメーション画像が生成され、
図15に示すような3Dアニメーション描画が表示部16に表示される。
【0054】
このような可視化シミュレーションシステム10によれば、運動モデル演算結果およびゲームエンジン演算結果に基づいて、連携ソフトウェアプログラムによって実行される制御モデルを用いた制御演算が行われ、ゲームエンジン演算結果および制御演算結果に基づいて、運動モデルを用いた運動モデル演算が行われ、運動モデル演算結果に基づいて、3D形状データとゲームエンジンと運転環境データとを用いたゲームエンジン演算が行われる。そして、ゲームエンジンを用いて、ゲームエンジン演算結果の3Dアニメーション画像、すなわち、制御対象の挙動のシミュレーション結果を示す3Dアニメーション画像が生成され、表示部16に表示される。このように、ゲームエンジンを用いて運転環境の外乱を反映させて演算することによって、演算負荷の高い計算を軽量化できる。また、ゲームエンジン演算結果を運動モデル演算に反映させることによって、精度よく運動モデル演算結果が得られるとともに、運動モデル演算結果をゲームエンジン演算に反映させることによって、良好なシミュレーション結果が得られる。さらに、ゲームエンジンを用いることによって、シミュレーション結果の3Dアニメーション画像を容易に生成でき、当該3Dアニメーション画像を表示部16に表示することができる。したがって、シミュレーション結果をグラフやデータ群で表現することなく、シミュレーション結果が分かり易くなる。また、シミュレーション結果を制御対象全体の3Dアニメーション画像として描画できるので、シミュレーション結果が一層分かり易くなる。
【0055】
ゲームエンジン演算結果を利用して取得することができるセンシング情報を、制御演算に反映させることにより、さらに精度よく制御演算を行うことができる。
【0056】
3D形状データおよび運動モデルの選択、ゲームエンジン用設定、通信設定ファイルの選択ならびにリンク設定等のシミュレーションに必要な設定を、簡便なUI操作のみ(マウスによるクリック操作またはキーボードからの数値入力)によってコーディングレスで行うことができる。したがって、データ入力や指示が容易になり、利用者のソフトウェア技術技量に関係なくシミュレーションを利用できる。また、その設定結果をファイル出力することによって再利用できる。
【0057】
運転環境データは、3D地形データと3D地形データに紐づけされる外乱データとを含むので、運転環境をより現実に近い状況に設定できる。たとえば障害物や建築物を任意に設定できるので、衝突や乗り上げがあった際の運動も計算できる。したがって、シミュレーション結果の精度を上げることができる。また、このような運転環境データをファイル出力することによって再利用できる。
【0058】
以上より、新規構造や新規アイデアが搭載されたモビリティについて、ユーザが任意に準備した地形での運動シミュレーションをリアルタイムに容易に実施できる。また、その結果をアニメーションで表現することによって、ステークホルダ間の認識ずれを是正しながら、開発対象の開発結果の良し悪しを机上で確認できる。
【0059】
また、可視化シミュレーションシステム10がロギング機能を有する場合には、シミュレーション実施時の制御演算結果を示す制御ログデータと、ゲームエンジン演算結果および運動モデル演算結果の運動ログデータとを生成し、保存することができる。運動ログデータは、実物で計測できるデータだけではなく、実物では計測できないデータを含む。このようなログデータを解析入力データとして、構造、熱、応力などを解析するために別途準備された3DCAEツールに与えることによって、良好な3Dシミュレーション結果を得ることができる。
【0060】
また、保存されたログデータを実行することによって、シミュレーション結果の3Dアニメーション画像を随時確認することができる。
【0061】
つぎに、
図16を参照して、この発明の他の実施形態に係る可視化シミュレーションシステム10aについて説明する。
【0062】
可視化シミュレーションシステム10aは、MILS用の装置であり、コンピュータ12a,12bと、入力部14と、表示部16とを含み、コンピュータ12a,12bによって分散処理を行うように構成される。
【0063】
コンピュータ12a,12bはそれぞれ、
図1に示す可視化シミュレーションシステム10のコンピュータ12と同様に構成される。したがって、コンピュータ12aの構成要素は、コンピュータ12の構成要素の符号の末尾に「a」を付けることによって、その重複する説明は省略する。また、コンピュータ12bの構成要素は、コンピュータ12の構成要素の符号の末尾に「b」を付けることによって、その重複する説明は省略する。
【0064】
コンピュータ12aのマザーボード18aは、インターフェイス28aの外部装置接続装置30aを介して、入力部14および表示部16に接続される。コンピュータ12aと12bとは、互いのネットワーク接続装置32a,32bを介して、Wi-fi、LANなどを用いて接続される。
【0065】
コンピュータ12aの記憶装置22aは、制御対象の3D形状データと、制御対象の運動モデルと、ゲームエンジンと、可視化シミュレーションプログラムと、運転環境データとを記憶する。コンピュータ12bの記憶装置22bは、制御対象を制御する制御装置の制御モデルと、制御モデルを実行するための連携ソフトウェアプログラムとを記憶する。
【0066】
この実施形態では、コンピュータ12aにおいて、運動モデル演算、ゲームエンジン演算および3Dアニメーション画像の生成が行われ、コンピュータ12bにおいて、制御演算が行われる。
【0067】
すなわち、コンピュータ12aのCPU24aは、可視化シミュレーションプログラムの指令により、制御演算結果およびゲームエンジン演算結果に基づいて、運動モデルを用いた運動モデル演算を行う。CPU24aおよびGPU20aは協働して、可視化シミュレーションプログラムの指令により、運動モデル演算結果に基づいて、3D形状データとゲームエンジンと運転環境データとを用いたゲームエンジン演算を行う。また、CPU24aおよびGPU20aは協働して、可視化シミュレーションプログラムの指令により、ゲームエンジンを用いて、ゲームエンジン演算結果の3Dアニメーション画像を生成する。一方、コンピュータ12bのCPU24bは、可視化シミュレーションプログラムの指令により、運動モデル演算結果およびゲームエンジン演算結果に基づいて、連携ソフトウェアプログラムによって実行される制御モデルを用いた制御演算を行う。
【0068】
このように可視化シミュレーションシステム10aでは、分散処理が行われ、先の実施形態に係る可視化シミュレーションシステム10においてコンピュータ12のCPU24によって行われていた制御演算が、コンピュータ12bのCPU24bによって処理される。
【0069】
この実施形態では、CPU24bが第1演算部に対応する。CPU24aが第2演算部に対応する。CPU24aおよびGPU20aが第3演算部に対応する。CPU24aおよびGPU20aが第4演算部に対応する。記憶装置22a,22bが記憶部に対応する。
【0070】
可視化シミュレーションシステム10aにおいても、可視化シミュレーションシステム10と同様の効果が得られる。
【0071】
また、可視化シミュレーションシステム10aによれば、2台のコンピュータ12a,12bによって演算を分散処理できるので、各コンピュータ12a,12bの演算負荷を小さくできる。
【0072】
さらに、
図17を参照して、この発明の他の実施形態に係る可視化シミュレーションシステム10bについて説明する。
【0073】
可視化シミュレーションシステム10bは、HILS(Hardware-In-the-Loop Simulation)用の装置であり、可視化シミュレーションシステム10aのコンピュータ12bに代えて、組み込みコンピュータ12cが用いられる。組み込みコンピュータ12cは、CPU24cと、メモリ26cと、インターフェイス28cとを含む。メモリ26cは、ROM38と、RAM40とを含み、ROM38は、制御対象を制御する制御プログラムを記憶する。インターフェイス28cは、外部機器接続装置30cと、ネットワーク接続装置32cとを含む。コンピュータ12aと組み込みコンピュータ12cとは、互いのネットワーク接続装置32a,32cを介して接続される。可視化シミュレーションシステム10bのその他の構成については、可視化シミュレーションシステム10aと同様である。
【0074】
この実施形態では、コンピュータ12aにおいて、運動モデル演算、ゲームエンジン演算および3Dアニメーション画像の生成が行われ、組み込みコンピュータ12cにおいて、制御演算が行われる。
【0075】
すなわち、コンピュータ12aのCPU24aは、可視化シミュレーションプログラムの指令により、制御演算結果およびゲームエンジン演算結果に基づいて、運動モデルを用いた運動モデル演算を行う。CPU24aおよびGPU20aは協働して、可視化シミュレーションプログラムの指令により、運動モデル演算結果に基づいて、3D形状データとゲームエンジンと運転環境データとを用いたゲームエンジン演算を行う。また、CPU24aおよびGPU20aは協働して、可視化シミュレーションプログラムの指令により、ゲームエンジンを用いて、ゲームエンジン演算結果の3Dアニメーション画像を生成する。一方、組み込みコンピュータ12cのCPU24cは、可視化シミュレーションプログラムの指令により、制御プログラムを実行させて運動モデル演算結果およびゲームエンジン演算結果に基づく制御演算を行う。
【0076】
このように可視化シミュレーションシステム10bでは、分散処理が行われ、先の実施形態に係る可視化シミュレーションシステム10aにおいてコンピュータ12bのCPU24bによって行われていた制御演算が、組み込みコンピュータ12cのCPU24cによって処理される。
【0077】
この実施形態では、CPU24cが第1演算部に対応する。CPU24aが第2演算部に対応する。CPU24aおよびGPU20aが第3演算部に対応する。CPU24aおよびGPU20aが第4演算部に対応する。記憶装置22aおよびROM38が記憶部に対応する。
【0078】
可視化シミュレーションシステム10bにおいても、可視化シミュレーションシステム10aと同様の効果が得られる。
【0079】
なお、
図1に示す実施形態に係る可視化シミュレーションシステム10において、記憶装置22に、制御モデルおよび制御モデルを実行するための連携ソフトウェアプログラムが記憶される代わりに、制御対象を制御する制御プログラムが記憶されてもよい。この場合、コンピュータ12のCPU24は、可視化シミュレーションプログラムの指令により、制御プログラムを実行させて運動モデル演算結果およびゲームエンジン演算結果に基づく制御演算を行う。
【0080】
上述の実施形態では、
図2に示すように、制御演算は、運動モデル演算結果およびゲームエンジン演算結果に基づいて行われたが、これに限定されない。制御演算は、ゲームエンジン演算結果に基づくことなく運動モデル演算結果に基づいて行われてもよい。
【0081】
この発明が適用される制御対象は、四輪車に限定されず、二輪車などの他の車両、マルチコプタなどの飛行体、船舶など、任意の輸送機器でよい。
【符号の説明】
【0082】
10,10a,10b 可視化シミュレーションシステム
12,12a,12b コンピュータ
12c 組み込みコンピュータ
14 入力部
16 表示部
20,20a,20b GPU
22,22a,22b 記憶装置
24,24a,24b,24c CPU
26,26a,26b,26c メモリ
38 ROM
40 RAM