(57)【要約】      （修正有）【課題】車両運動のリアルタイム・シミュレーションにおいて、ターゲット機の仕様違いまたはリアルタイムＯＳの違いがあっても、その違いを吸収して、安定にリアルタイム・シミュレーションを実行出来るシステムを提供する。【解決手段】ホスト機１の上で、車両モデルおよび運転操作および走行環境または操作状況を設定して、高速演算処理を行うスレーブ機４にダウンロードする。リアルタイムＯＳが走るマスター機３が、スレーブ機４の時間管理を行なう。スレーブ機４に、リアルタイムよりも高速計算するＰＣ、または組み込みシステム、またはＦＰＧＡまたはＡＳＩＣまたはＳＯＣを含むチップを搭載する装置を使って、数値積分法を行って車両運動方程式を解く。マスター機３とスレーブ機４を同期させて動かす事で、車両運動のリアルタイム・シミュレーションを実現する。高速演算処理を行うスレーブ機４の計算結果を、ホスト機１に戻して動画表示する。【選択図】図２
2012104081.tif 000002
【特許請求の範囲】
【請求項１】
車両運動をリアルタイムに解析して、結果を動画表示する装置であり、
第一番目のコンピュータ装置の上で、車両運動を制御する制御モデルを作成して、第二番目のコンピュータ装置にダウンロードし、
同じ第一番目のコンピュータ装置の上で、解析しようとする車両の特性および走行環境および運転操作を設定し、予め車両運動解析ソフトウエアをインストールしてある第三番目の高速演算処理装置にダウンロードし、
第一番目のコンピュータ装置から第二番目のコンピュータ装置に、ユーザが実行開始または実行停止命令を送り出すと、第二番目のコンピュータ装置が第三番目の高速演算処理装置に実行開始信号または実行停止信号を送って、計算の開始または停止を制御し、
第三番目の高速演算処理装置から第二番目のコンピュータ装置が、シミュレーション車両の状態変数の値を受け取り、その値に応じて第二番目のコンピュータ装置が制御変数の値を計算して第三番目の高速演算処理装置に戻す事で、制御モデルと車両運動モデルの動作を動画表示する事を特徴とする車両運動リアルタイム・シミュレーション・システム。
【請求項２】
前記第一番目のコンピュータ装置が、一般的なパーソナル・コンピュータ（以下、ＰＣと表記する）のＯＳ、特にＷｉｎｄｏｗｓ  ＯＳ、で動く事を特徴とする請求項１に記載の車両運動リアルタイム・シミュレーション・システム。
【請求項３】
前記第三番目の高速演算処理装置が、Ｌｉｎｕｘ又はＵＮＩＸ  ＯＳで動く事を特徴とする請求項１又は２に記載の車両運動リアルタイム・シミュレーション・システム。
【請求項４】
前記第三番目の高速演算処理装置が、いわゆる組み込みシステムと呼ばれる、特定の機能を処理するマイコンを使って演算する事を特徴とする請求項１又は２に記載の車両運動リアルタイム・シミュレーション・システム。
【請求項５】
前記第三番目の高速演算処理装置が、アプリケーション・スペシフィック集積回路（以下、ＡＳＩＣと表記する）またはシステム・オン・チップ（以下、ＳＯＣと表記する）を含む特定用途に特化したカスタムチップを使って演算する事を特徴とする請求項１又は２又は４に記載の車両運動リアルタイム・シミュレーション・システム。
【請求項６】
前記第三番目の高速演算処理装置が、フィールド・プログラマブル・ゲートアレイ（以下、ＦＰＧＡと表記する）またはコンプレックス・プログラマブル・ロジック・デバイス（以下、ＣＰＬＤと表記する）を含む内部のデジタル回路をユーザが自由に設計出来る半導体チップを使って演算する事を特徴とする請求項１又は２又は４に記載の車両運動リアルタイム・シミュレーション・システム。
【請求項７】
前記第一番目のコンピュータ装置から前記第三番目の高速演算処理装置に、オフラインでパラメータおよびデータを送り出し、さらに前記第一番目のコンピュータ装置が前記第三番目の高速演算処理装置からオンラインで計算結果を受け取って、前記第一番目のコンピュータ装置が動画描画する事を特徴とする請求項１から６に記載の車両運動リアルタイム・シミュレーション・システム。
【請求項８】
前記第二番目のコンピュータ装置が、前記第三番目の高速演算処理装置に時間情報の信号を送り出し、前記信号を受け取った第三番目の高速演算処理装置が、前記第一番目のコンピュータ装置に計算結果を送り出す事を特徴とする請求項１から７に記載の車両運動リアルタイム・シミュレーション・システム。
【請求項９】
前記第二番目のコンピュータ装置に、予め制御系のシミュレーションプログラムがインストールされ、かつ前記第三番目のコンピュータ装置に、予め車両運動シミュレーションプログラムがインストールされて、シミュレーションの実行時に、前記第一番目のコンピュータ装置が前記第二番目のコンピュータ装置に制御系の種類を指示する信号と、車両運動プログラムから取り出す状態変数の入力ポートと出力ポートを指定するデータを送り出し、前記第一番目のコンピュータ装置が前記第三番目の高速演算処理装置に、解析する車両モデルのデータおよび走行する環境データおよび運転操作を指定するデータを送り出し、前記第一番目のコンピュータ装置からシミュレーション開始信号を前記第二番目のコンピュータ装置に送る事で一連のシミュレーションが開始される事を特徴とする、請求項１から８に記載の車両運動リアルタイム・シミュレーション・システム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、車両運動をリアルタイムにシミュレーション解析し、かつ前記の解析結果を動画表示するシステムの方法と装置に関するものである。
【背景技術】
【０００２】  従来、新車開発の期間とコストを削減し、製品開発における安全性を向上する目的で、車両の動きをシミュレーション解析するソフトウェア・ツールが用いられている。この種類のツールに、車両を構成する各部品の特性モデルと、道路条件や風力条件を含む環境条件と、人間の運転操作を模擬するロジックとを使って運動方程式を解き、その計算結果をアニメーション表示するコンピュータ・ソフトがある。例えば、非特許文献１は、主に自動車の制御装置の開発と検証に使われているソフトウェア・ツールの例である。
【非特許文献１】ＣａｒＳｉｍ  Ｓｏｆｔｗａｒｅ  Ｕｓｅｒｓ  Ｍａｎｕａｌ，Ｍｅｃｈａｎｉｃａｌ  Ｓｉｍｕｌａｔｉｏｎ  Ｃｏ，２００６．
【０００３】ところで、シミュレーションには、リアルタイム・シミュレーションと非リアルタイム・シミュレーションの二種類がある。リアルタイム・シミュレーションは、実際の時間で「１秒」かかる現象を、コンピュータ上でも「１秒」かけて再現するシミュレーションの事をいう。非リアルタイム・シミュレーションは、それ以外の、現実の物理的時間とコンピュータ上の模擬時間が異なるシミュレーションを指す。【０００４】リアルタイム・シミュレーションは、物理的時間とコンピュータ上の模擬時間が一致する為に、実際の制御機器の電気信号を取り出して数値化し、車両モデルに数値データとして提供する事で、実際の制御機器を計算上の車両モデルに連結する事が出来る。このハードウェア・イン・ザ・ループ（ｈａｒｄｗａｒｅ−ｉｎ−ｔｈｅ−ｌｏｏｐ）と呼ばれる技術が、リアルタイム・シミュレーションの重要な応用分野になっている。また、コンピュータに接続した自動車の運転装置を模擬する装置を使って、動画表示される車の動きが人間の運転操作によって変化するドライビング・シミュレータ（ｄｒｉｖｉｎｇ  ｓｉｍｕｌａｔｏｒ）と呼ばれる装置がある。車の応答を、リアルタイムに人間の感覚に反映させる効果がある為に、ドライビング・シミュレータもリアルタイム・シミュレーションの重要な応用分野になっている。【０００５】リアルルタイム・シミュレーションには正確な時間管理が必要になる。これを実現する方法として、図１の方法が公知である。特許文献１では、管理装置と呼ぶホスト機が、シミュレータと呼ぶターゲット機に必要なデータをダウンロードして、リアルタイムＯＳが走る前記ターゲット機の上でリアルタイムに計算を実行し、ホスト機に計算結果を時々刻々戻す事でリアルタイム・アニメーションを実行する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−８４１２１号公報
【０００７】図１の構成を使うと、前記ホスト機で、車両運動解析ソフトのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）、リアルタイム・アニメーションソフト、ターゲット機専用のＧＵＩの三種類のソフトを走らせながら、ターゲット機の上で車両運動計算ソフトをリアルタイムに実行する事が出来る。
【発明の開示】
【発明が解決しようとする課題】
【０００８】  しかしながら、車両運動シミュレーション・ソフトは、車両モデルの精密化と大規模化が進んで更新される場合がある。その結果、上述した従来の構成では、リアルタイム計算を実行するターゲット機の能力を超えて、時間内に計算を終える事が出来なくなる場合が発生する。【０００９】また、ターゲット機には標準仕様が存在せず、ターゲット機メーカ毎に仕様が違う。この為に、各ターゲット機別にコンパイルした実行モジュールを準備する必要がある。ところが、車両運動解析ソフトが、ターゲット機に使われているＯＳの  リアルタイムカーネルに実装されていない関数を使用している場合は、前記の関数を新たに用意する必要がある。【００１０】また、リアルタイム計算の実行中にエラーが発生した場合、ターゲット機のハードウェアの問題なのか、ソフトウェアの問題なのか、ソフトウェアの問題の場合は車両運動解析ソフトの問題なのか、ＯＳの問題なのか、またはシステム全体の問題なのかと、広範囲に及ぶ為に問題の切り分けが困難になる。この事が、リアルタイム・シミュレーションの円滑なユーザ・サポートを困難にしていた。【００１１】そこで、この発明は、上記に鑑みてなされたものであり、ターゲット機の仕様違いまたはリアルタイムＯＳの違いがあっても、その違いを吸収して、安定にリアルタイム・シミュレーションを実行出来るシステムを提供する事を目的とする。【００１２】  また、エラーが発生しても、容易にエラーの発生箇所を特定出来て、円滑なユーザ・サポートが出来るリアルタイム・シミュレーション・システムを提供する事を目的とする。
【課題を解決するための手段】
【００１３】  上述の目的を達成するために、この発明に関わるリアルタイム・シミュレーション・システムは、従来技術のターゲット機２に相当する部分を、マスター機３とスレーブ機４とに機能を分ける事を特徴とする。【００１４】このリアルタイム・シミュレーション・システムは、従来と同じホスト機１と、従来のターゲット機であるマスター機３と、新たに設けた高速演算処理装置のスレーブ機４とで構成する。このような構成により、このリアルタイム・シミュレーション・システムは、車両運動方程式を常に同じスレーブ機４で解く。すなわち、マスター機３は、運動方程式を解く作業から解放されて、高速演算処理装置のスレーブ機４の時間管理に専念する。これによって、マスター機３の仕様がメーカ毎に異なっても、安定して計算を実行する事が出来る。【００１５】また、次の本発明のリアルタイム・シミュレーション・システムのように、ホスト機１に、一般的なＷｉｎｄｏｗｓ  ＯＳが走るコンピュータ装置を使っても良い。【００１６】  また、次の本発明のリアルタイム・シミュレーション・システムのように、高速演算処理装置のスレーブ機４が、ＬｉｎｕｘまたはＵｎｉｘで走るコンピュータ装置であっても良い。スレーブ機４には、あらかじめ車両運動解析ソフトのソルバーを実行モジュールとして保存しておき、シミュレーションを実行する時に、マスター機１から送られてくるデータを使って実行モジュールを選択し、さらに、マスター機１から送られて来る車両特性および走行環境および運転操作を表すパラメータを読み込んでシミュレーションの実行を開始してもよい。【００１７】また、次の本発明のリアルタイム・シミュレーション・システムのように、高速演算処理装置のスレーブ機４が、一般に組み込みシステムと呼ばれる、特定の機能を処理するマイコン装置であっても良い。【００１８】また、次の本発明のリアルタイム・シミュレーション・システムのように、高速演算処理装置を行うスレーブ機４が、ＡＳＩＣまたはＳＯＣを含む、特定用途に特化したカスタム・チップを備えたても良い。スレーブ機４が前記カスタム・チップを搭載する場合は、あらかじめ車両運動解析ソフトの実行モジュールをカスタム・チップに焼きつけておいて、シミュレーションを実行する時に、解析に使用する運動方程式の種類を指定するデータおよび車両モデルを構成するデータおよび運転操作に相当するデータをホスト機１からスレーブ機４に送ってもよい。【００１９】また、次の本発明のリアルタイム・シミュレーション・システムのように、高速演算処理装置を行うスレーブ機４が、ＦＰＧＡまたはＣＰＬＤを含む、内部のデジタル回路をユーザが自由に設計出来る半導体チップを備えても良い。スレーブ機４がＦＰＧＡまたはＣＰＬＤを搭載する場合は、あらかじめ車両運動解析ソフトを、該当するＦＰＧＡまたはＣＰＬＤ用にコンパイルして書き込んでおき、シミュレーションを実行する時に、解析に使用する運動方程式の種類を指定するデータおよび車両モデルを構成するデータおよび走行環境および運転操作に相当するデータをホスト機１からスレーブ機４に送ってもよい。【００２０】また、次の本発明のリアルタイム・シミュレーション・システムのように、ホスト機１がオフラインでパラメータおよびデータをマスター機３に送り出し、さらにホスト機１がスレーブ機４からオンラインで計算結果を受け取って、動画表示しても良い。【００２１】また、次の本発明のリアルタイム・シミュレーション・システムのように、マスター機３がスレーブ機４に信号を送り出し、そのタイミングでスレーブ機４がホスト機１に計算結果を送り出して動画表示をしても良い。【００２２】また、次の本発明のリアルタイム・シミュレーション・システムのように、ホスト機１がマスター機３に、シミュレーション解析する制御モデルのパラメータ・データをロードし、制御モデルに埋め込まれたデータで入力と出力ポートを設定し、かつシミュレーションの開始と終了信号を送り出しても良い。
【発明の効果】
【００２３】  以上説明したように、この発明に係るリアルタイム車両運動シミュレーション・システムでは、常に同じスレーブ機４を使ってシミュレーション計算を実行する為に、図２のマスター機３が変わってもコンパイラを変える必要が無い。また、新たに関数を作る必要もない。【００２４】  また、スレーブ機４が計算を実行し、マスター機３が通信または共用メモリを介して時間管理を行い、ホスト機１がシミュレーション・ソフトのＧＵＩとターゲット機専用のＧＵＩを実行する為に、エラーが発生した時の原因追究を容易に行う事が出来る。【００２５】また、スレーブ機４に高性能なコンピュータ装置、または組み込みシステムとも呼ばれるマイコン・システム、またはＡＳＩＣまたはＳＯＣを含む特定用途に特化したカスタム・チップ、またはＦＰＧＡまたはＣＰＬＤを含む内部のデジタル回路をユーザが自由に設計出来る半導体チップを使用する事で、マスター機３の性能限界に支配されずに、リアルタイム・シミュレーションを実行する事が出来る。その結果、ソフトウェアの更新が繰り返し行われても、安定してリアルタイム・シミュレーション・システムを提供し続ける事が出来る。
【発明を実施するための最良の形態】
【００２６】  以下、この発明につき図面を参照しつつ詳細に説明する。なお、この実施の形態により、この発明が限定されるものではない。また、下記実施の形態における構成要素には、当業者が容易に想定できるもの、あるいは実質的に同一のもの、いわゆる均等の範囲のものが含まれる。【００２７】本実施形態は、ターゲット機２が行っていた車両運動方程式の数値積分計算を、常に同じスレーブ機４で実行することにより、計算環境が安定する事を利用する。これによって、違う種類のターゲット機２、すなわちマスター機３を使う場合でも、スレーブ機４を変更する必要がない点に特徴がある。【００２８】図１は、従来技術の車両運動シミュレーション・システムの構成を示す説明図である。図２は、本実施形態に係るリアルタイム車両運動シミュレーション・システムの構成を示す説明図である。図２は、機能を分担する三種類の要素を使って構成した例を示している。【００２９】リアルタイム車両運動シミュレーション・システムのユーザは、ホスト機１の上で問題を作成する。作成する問題には、シミュレーション解析する車両モデルおよびシミュレーションに使う運転操作および東両モデルが走行するシミュレーション環境が含まれる。車両モデルには、車両寸法および車両重量および車両を構成する車両部品の特性が含まれる。ここで特性とは、試験機で計測した特性曲線またはシミュレーションソフトウェアを使って計算した特性曲線および、それらを簡単に数値化したパラメータが含まれる。【００３０】上記のシミュレーションに使う運転操作とは、予め指定した時間または位置の関数で表現した車速および加速度および減速度および左右への操舵操作と制動操作が含まれる。また、車両の状態を表す状態変数を利用する自動制御の閉ループ制御による、人間ドライバーの操作を模擬するコントロールが含まれる。【００３１】上記の車両モデルが走行するシミュレーション環境とは、市街地道路およびループ形状のテストコースおよび任意の三次元丘陵形状と、道路および地面の摩擦係数と、風入力が含まれる。【００３２】ユーザは、ホスト機１の上で上記の問題の制御に係る部分と制御に使用する車両を設定し、リアルタイムＯＳが走るマスター機３にＧＵＩ（Ｇｒａｐｈｉｃａｌ  ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を介してダウンロードする。また、ユーザは、ホスト機１の上で解析しようとする車両データおよび走行する環境データおよび運転操作のデータを、スレーブ機４に送りだす。前記の送り出しは、時間の制約が無い為に、オフラインでもよい。このようにして、制御に係る部分と制御対象の車両のデータが、マスター機３とスレーブ機４に各々送られる。マスター機３とスレーブ機４の間の連携は、マスター機３が、制御モデルに組み込まれた車両の状態変数に該当する入力ポートと出力ポート設定をホスト機１から受け取って、前記のポートを介してマスター機３  とスレーブ機４が交信する事で実現される。ホスト機１がＧＵＩを介して送り出す信号をトリガとして、マスター機３はシミュレーションを開始し、スレーブ機４にある車両運動の方程式を解くソルバー・プログラムに開始信号を出す。マスター機３から正確なタイミングで、計算を実行する命令信号を受ける度���、スレーブ機４は、時間ステップ毎の計算を行なう。ホスト機１は、スレーブ機４から送られてくる計算結果をアニメ描画する事で、安定したリアルタイム・シミュレーションが実現される【００３３】本実施形態に係るリアルタイム東両運動シミュレーション・システムの例を説明したが、本実施形態に係るシステムの適用対象はこれに限られるものでは無く、リアルタイム車両運動シミュレーション全体に適用出来る。【００３４】以上、本実施形態では、ホスト機１でシミュレーション解析する問題を作成し、制御モデルをマスター機３にダウンロードする一方、高速演算処理するスレーブ機４に車両運動モデルのデータを送り出す。計算負荷の大きな車両運動方程式を、高速演算処理装置のスレーブ機４が解き、計算負荷の軽い制御モデルをマスター機３で解く為に、マスター機３とスレーブ機４ともに計算能力に余裕が出来る。また、スレーブ機４はリアルタイムよりも高速に計算するので、常に、マスター機３の信号を待つ待機モード状態にある。【００３５】スレーブ機４はマスター機３から受け取る制御変数の値を反映して車両状態量を計算し、その結果をマスター機３に返す事で、マスター機３とスレーブ機４が同期する。その結果、マスター機３で走るソフトウェアまたはマスター機３に接続する実機の制御機器が、車両運動を数値計算するスレーブ機４と同期して、リアルタイム・シミュレーションが実現される。【００３６】スレーブ機４から計算結果を受け取るホスト機１は、結果を動画表示する事で、安定したリアルタイム車両運動シミュレーションを実現する。【００３７】シミュレーションが終了すると、スレーブ機４は全ての計算結果を保存したデータを、ファイルにしてホスト機１に送り出して、データ解析に利用する事が出来る。
【産業上の利用可能性】
【００３８】以上のように、本発明に係るリアルタイム車両運動シミュレーション・システムは、車両開発における予測計算に有効であり、特に、実機を連結するハードウェア・イン・ザ・ループ（ｈａｒｄｗａｒｅ−ｉｎ−ｔｈｅ−ｌｏｏｐ）シミュレーションに適している。また、人間の運転操作を車両運動シミュレーションに取り入れる事で、人間と車両運動をリアルタイムに連結するドライビング・シミュレータ（ｄｒｉｖｉｎｇ  ｓｉｍｕｌａｔｏｒ）装置に適している。
【図面の簡単な説明】
【００３９】
【図１】従来技術としてのリアルタイム車両運動シミュレーション・システム
【図２】本実施形態に係るリアルタイム車両運動シミュレーション・システム
【符号の説明】
【００４０】１    ホスト機
１１  ホスト機からターゲット機への信号
２１  ターゲット機からホスト機への信号
２    ターゲット機
３    マスター機
４    高速演算処理スレーブ機
４ａ  ホスト機からマスター機への信号
４ｂ  マスター機からホスト機への信号
５ａ  マスター機からスレーブ機への信号
５ｂ  スレーブ機からマスター機への信号
６ａ  スレーブ機からホスト機への信号
６ｂ  ホスト機からスレーブ機への信号
【図１】
2012104081.tif 000003
【図２】
2012104081.tif 000004