説明

交通シミュレーション装置および交通シミュレーションプログラム

【課題】仮想空間内の車両が多い場合であっても、少ない処理能力でシミュレーション演算を可能とする。
【解決手段】仮想空間内に配置され、特定車両を含む多数車両の交通シミュレーション装置であって、前記特定車両の挙動を加味しない場合の仮想空間内の各車両の挙動をシミュレーションした結果を蓄積する記憶部と、特定車両及び特定車両の挙動によって影響を受ける車両を抽出する車両抽出部と、車両抽出部により抽出した車両に対する挙動のシミュレーションを行い、シミュレーションの結果を出力すると共に、前記車両抽出部により抽出されなかった車両については、記憶部に記憶された車両の挙動をシミュレーション結果として出力する模擬演算部とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
開示の装置は、交通シミュレーション装置および交通シミュレーションプログラムに関する。
【背景技術】
【0002】
コンピュータ上のシミュレーションにより交通現象を仮想空間内に再現し様々な評価を行うための交通シミュレーション装置が考案されている。例えば、道路の改良、信号制御方式の変更、ドライバへの情報提供などを実施した場合の渋滞改善効果や環境影響の評価に利用される。特に、交通シミュレーション装置のうち、車両1台1台の挙動をシミュレートするものはミクロ交通シミュレータと呼ばれ、車両毎の挙動の変化や渋滞原因などの詳細な分析が可能である。
【0003】
また、コンピュータ上のシミュレーションにより仮想空間内の車両をユーザが運転することが可能なドライビングシミュレータが考案されており、教習所などでの運転教育、ゲームなどのアミューズメント、ドライバの挙動分析などの研究などの用途に利用されている。通常、ユーザが運転する車両以外の車両の挙動はあらかじめ決められたシナリオに従った固定的なものである。ミクロ交通シミュレータをドライビングシミュレータと組み合わせ、仮想空間内の道路交通内をユーザが運転することを可能にする技術は、例えば、以下の選考技術文献等に開示されている。
【0004】
このように、ミクロ交通シミュレータをドライビングシミュレータと組み合わせた場合、ユーザの運転する車両(以下、操作車両)とコンピュータ上でシミュレートする車両(以下、模擬車両)とのインタラクションが発生するため、リアルタイムでシミュレーションする必要がある。また、ユーザに違和感を与えない運転環境を実現するためには、操作車両だけでなく、周辺の模擬車両についても、物理法則に則った詳細な挙動をシミュレートする必要がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−47972号公報
【特許文献2】特開2002−163747号公報
【非特許文献】
【0006】
【非特許文献1】「ユニバーサルドライビングシミュレータにおける交通シミュレーションの評価」、日本機械学会2006年度年次大会講演論文集(5), 3807,No6-1, 2006年9月)
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記のような交通シミュレーション装置は、仮想空間内の個々の車両の挙動をシミュレートするため、シミュレーション対象となる車両の数が増えるほど、演算量は多くなる。このため、従来の技術では、演算量を削減するために、シミュレーション対象の車両台数に関して制限を設ける必要があった。しかしながら、シミュレーション対象の車両台数を制限すると、シミュレーション可能な仮想空間が限定され、ユーザが任意の場所を自由に走行することができない。
【0008】
この点に鑑み、開示の交通シミュレーション装置は、シミュレーション対象の車両が多い場合であっても、少ない演算処理能力でシミュレーション演算を可能とすることを目的とする。
【課題を解決するための手段】
【0009】
仮想空間内に配置され、特定車両を含む多数車両の交通シミュレーション装置であって、前記特定車両の挙動を加味しない場合の仮想空間内の各車両の挙動をシミュレーションした結果を蓄積する記憶部と、特定車両および特定車両の挙動によって影響を受ける車両を抽出する車両抽出部と、車両抽出部により抽出した車両に対する挙動のシミュレーションを行い、シミュレーションの結果を出力すると共に、前記車両抽出部により抽出されなかった車両については、記憶部に記憶された車両の挙動をシミュレーション結果として出力する模擬演算部とを有する。
【発明の効果】
【0010】
開示の交通シミュレーション装置は、仮想空間内の車両が多い場合であっても、少ない演算処理能力でシミュレーション演算を可能とすることができる。
【図面の簡単な説明】
【0011】
【図1】第一の実施例の交通シミュレーション装置の機能ブロック図である。
【図2】本実施例の道路モデルのデータ例である。
【図3】本実施例の交通シミュレーションの仮想空間の例である。
【図4】本実施例の交通シミュレーションの車両情報である。
【図5】本実施例の交通シミュレーションの時系列の車両情報群の説明図である。
【図6】本実施例の交通シミュレーションの操作情報である。
【図7】本実施例の交通シミュレーションの操作車両を含む車両情報である。
【図8】第一の実施例の事前シミュレーション処理のフローチャートである。
【図9】第一の実施例の事前シミュレーション処理の結果例である。
【図10】第一の実施例の再シミュレーション処理のフローチャートである。
【図11】第一の実施例の再シミュレーション処理の影響判定のフローチャートである。
【図12】第一の実施例の影響判定条件情報である。
【図13】本実施例の再シミュレーション処理の結果例である。
【図14】第二の実施例の交通シミュレーション装置の第二の機能ブロック図である。
【図15】第二の実施例の参照情報である。
【図16】第二の実施例の事前シミュレーション処理のフローチャートである。
【図17】第二の実施例の再シミュレーション処理のフローチャートである。
【図18】第二の実施例の再シミュレーション処理の影響判定のフローチャートである。
【図19】本実施例の交通シミュレーション装置のハードウェア構成図である。
【発明を実施するための形態】
【0012】
以下に、交通シミュレーション装置の実施例を図面に基づいて説明する。
【0013】
交通シミュレーション装置は、事前に実行されるシミュレーション処理(以下、事前シミュレーション処理とする)、および事前シミュレーション処理の後に事前シミュレーション処理の結果を利用して短時間で演算結果を出力するシミュレーション(以下、再シミュレーション処理とする)を実行する。事前シミュレーション処理および再シミュレーション処理は例えばミクロシミュレーションであり、交通シミュレーション装置は、仮想空間内に配置され、予め設定されたモデルに応じてコンピュータ上で挙動がシミュレートされる車両(以降、模擬車両とする)の一台ずつの挙動を演算する。
【0014】
なお、本実施例では、交通シミュレーション装置は再シミュレーション処理時にミクロシミュレーションに加えて更にドライブシミュレーションの演算を実行する例を説明する。すなわち、交通シミュレーション装置は、再シミュレーション処理時において、模擬車両に加えて、運転者が操作する車両(以下、操作車両とする)の挙動を模擬する。本実施例では、操作車両が特定車両である場合を例に説明する。交通シミュレーション装置は、操作車両および操作車両の影響を受ける模擬車両(以下、影響車両とする)については挙動を再計算し、操作車両の影響を受けない模擬車両については事前シミュレーションで決定した挙動とする。
【0015】
なお、特定車両は操作車両に限定されない。交通シミュレーション装置1は、事前シミュレーション処理を実行した後で一部の模擬車両のパラメータを変えてシミュレーションする場合や、事前シミュレーション処理を実行した後で任意の模擬車両を追加して配置する場合に、パラメータが変更された模擬車両や追加して配置された模擬車両を特定車両としてもよい。
(実施例1)
[機能ブロック]
図1は、第一の実施例の交通シミュレーション装置の機能ブロック図である。
【0016】
交通シミュレーション装置1は、第一模擬演算部10、入力部11、表示部12、第二模擬演算部13、操作入力部14、視界表示部15、車両抽出部16、第一車両情報記憶部171、第二車両情報記憶部172、モデル記憶部18、および条件記憶部19を含む。
【0017】
入力部11は、車両モデル、道路モデル、ドライバモデルなどの情報を外部から受信する。
【0018】
図2に入力部11に入力される本実施例の道路モデル21の一例を示す。図2に示されるように道路モデル21は、道路を識別する「道路ID」、道路の開始座標を示す「開始位置」、道路の終了座標を示す「終了位置」、道路の幅を示す「幅」等を含む。その他、交差点の位置、信号の点灯時間などの動的なデータ、車線数、優先道路など、シミュレーションで使用する種々の情報を含む。
【0019】
また、入力部11に入力される車両モデルは各模擬車両の挙動のパラメータを定義した情報である。車両モデルは、例えば、車両の大きさ、ステアリング、アクセル、ブレーキ、などの入力に対する応答を定義した車両モデルなどの情報を有する。
【0020】
また、入力部11に入力されるドライバモデルは各運転者の挙動のパラメータを定義した情報である。ドライバモデルは例えば、各模擬車両に、先行車両との距離あるいは速度差に応じた加速・減速度の大きさの情報、先行車両との希望車間距離の情報などを有する。図3は、本実施例の仮想空間30の例である。仮想空間30は、道路モデル21により定義された空間であり、道路31および道路31を通行する複数の車両32などを含む。その他、信号、交差点、横断歩道などの建造物や、歩行者、電車などの他の移動物体を含む場合もある。
【0021】
図1の交通シミュレーション装置1の入力部11は、車両モデル、道路モデル、ドライバモデルなどを外部から入力する。表示部12は、シミュレーションの演算結果を表示する。
【0022】
図4は、本実施例の交通シミュレーションの車両情報22のデータ構成例である。車両情報22は、仮想空間内のあるシミュレーション時刻における各模擬車両の挙動を表す情報である。シミュレーション時刻とは、仮想空間内の時刻情報である。車両情報22は、模擬車両を識別する「車両ID」、模擬車両の仮想空間内の位置を表す「位置」、模擬車両の速度を表す「速度」などの情報を含む。
【0023】
交通シミュレーション装置1は、予め模擬車両のみで交通シミュレーションの演算を実行して模擬車両の挙動を決定する。
【0024】
第一模擬演算部10は、所定の時間毎に、道路モデル、車両モデル、ドライバモデルに基づき仮想空間内の各模擬車両の挙動を表す車両情報を算出することにより、時系列の車両情報を算出する事前シミュレーション処理を行う。第一模擬演算部10は、算出した車両情報22を第一車両格納部171に格納する。
【0025】
図5は、本実施例の交通シミュレーションの時系列の車両情報群の説明図である。「t」は任意のシミュレーション時刻を示す。「t−1」、「t」、「t+1」...は、経過するシミュレーション時刻を示す。
【0026】
第二模擬演算部13は、所定の時間毎に、道路モデル、車両モデル、ドライバモデルに基づき、仮想空間内の模擬車両および操作車両の挙動を計算することで、時系列の車両情報を算出する再シミュレーション処理を行う。第二模擬演算部13は、操作車両(ここでは、Xとする)を含む車両情報24を第二車両情報記憶部172に格納する。
【0027】
図7は、本実施例の交通シミュレーションの操作車両を含む車両情報24である。車両情報24のデータ構成は、図4の車両情報22と同じである。車両情報24は、仮想空間内のあるシミュレーション時刻における各模擬車両の挙動および操作車両の挙動を含む情報である。
【0028】
車両抽出部16は、条件記憶部19に格納された条件に基づき、操作車両および操作車両による影響を受ける模擬車両を抽出する。車両抽出部16は、操作車両から影響を受けるか否かを判別する情報を車両情報に記録することも可能である。
【0029】
第二模擬演算部13は、操作車両以外の模擬車両の挙動についても算出する。第二模擬演算部13は、操作車両から影響を受けると判定された模擬車両について挙動をシミュレーション演算する。一方、操作車両により影響を受けないと判定された模擬車両について、第二模擬演算部13は、第一車両情報記憶部171に記憶された同じシミュレーション時刻の第一模擬演算部10による演算結果(車両情報22)を読み出して、模擬車両の挙動を決定する。
【0030】
操作入力部14は、運転者のステアリング、アクセル、ブレーキ、視線方向などの情報を受信する。視界表示部15は、第二模擬演算部13の演算結果に基づき、操作車両の運転者の模擬視界映像を生成する。視界表示部15は、仮想空間データと映像生成用データと操作車両の位置、方向などに基づいて、模擬視界映像を生成する。操作車両が同時に複数存在する場合、操作入力部14および視界表示部15は操作車両の台数分存在する。
【0031】
第一車両情報記憶部171および第二車両情報記憶部172はシミュレーション時刻毎の車両情報を格納する。本実施例では、第一車両情報記憶部171は第一模擬演算部10による演算によって得られた模擬車両のみの車両情報22を格納する。第二車両情報記憶部172は、第一模擬演算部10および第二模擬演算部13による演算によって得た操作車両と模擬車両とを含む車両情報24を格納する。
【0032】
モデル記憶部18は、交通シミュレーション装置で使用する道路モデル21、車両モデル、ドライバモデルなどの情報を記憶する。
【0033】
条件記憶部19は、ある車両(以下、判定対象車両)に対して、別の車両(以下、参照車両)からの影響の有無を判定する条件を格納する。影響の有無を判定する条件は、例えば、判定対象車両と参照車両との距離が所定値よりも短いか否かがある。影響の有無を判定する条件は、先行車、後続車、対向車のように判定対象車両と参照車両の相互関係ごとに設定してもよい。
【0034】
図6は、本実施例の交通シミュレーションの操作情報23である。操作情報は、例えば、操作車両の操舵角、アクセルの踏み込み量、ブレーキの踏み込み量などの操作車両の操作に関する情報を含む。操作情報23は、運転者から操作入力部14を介して入力された情報により構成される。
【0035】
以下、本実施例の交通シミュレーション装置の処理について説明する。
[事前シミュレーション処理]
図8は、第一の実施例の事前シミュレーション処理のフローチャートである。第一模擬演算部10は、仮想空間内の個々の模擬車両の挙動をシミュレーション演算する。事前シミュレーション処理は、演算の対象に操作車両は含まれず模擬車両のみを対象とする。第一模擬演算部10は、シミュレーションのステップごとに車両の挙動を演算する。ステップはシミュレーションの単位時刻に相当する。なお、ステップ数はあらかじめ設定されているものとする。
【0036】
第一模擬演算部10は、初回のみモデルデータを読み出す(S01)。モデルデータは例えば、道路モデル21や、車両モデル、ドライバモデルである。
【0037】
第一模擬演算部10は、予め定めた全てのステップの演算が完了したか否かを判別する(S02)。全ステップの演算が完了したと判別した場合(S02:Yes)、第一模擬演算部10は事前シミュレーション処理を終了する。全ステップの演算が完了していないと判別した場合(S02:No)、第一模擬演算部10は未選択の車両があるか否かを判別する(S03)。未選択の車両は、現在のステップにおいて、車両情報を算出していない車両である。
【0038】
未選択の車両がある場合(S03:Yes)、第一模擬演算部10は未選択の車両を選択する(S04)。第一模擬演算部10は、車両情報を読み出す(S05)。なお、S05で読み出す車両情報は、現在の演算対象のステップの1ステップ前の車両情報を含む。第一模擬演算部10は、S04で選択した車両の現在のステップの車両情報を計算する(S06)。第一模擬演算部10は、S06で算出した現在の演算対象のステップの車両情報を第一車両情報記憶部171に格納する(S07)。
【0039】
未選択の車両がない場合(S03:No)、現在の演算対象のステップにおいて仮想空間に存在する全ての模擬車両の車両情報の算出が完了しているため、第一模擬演算部10はステップを更新する(S08)。S08の後、第一模擬演算部10はS02以降の処理を実行する。
【0040】
事前シミュレーション処理には操作車両が含まれていないため、第一模擬演算部10は、リアルタイムで事前シミュレーション処理を実行する必要はない。したがって、リアルタイムで演算するよりも少ない計算リソースで時間をかけてシミュレーション処理を行なってもよい。
【0041】
図9は、第一の実施例の事前シミュレーション処理の結果例である。33は仮想空間30の一部である。41は仮想空間33に配置された道路である。42は仮想空間33に配置された模擬車両である。
[再シミュレーション処理]
図10は、第一の実施例の再シミュレーション処理のフローチャートである。第二模擬演算部13は、操作車両を含めて再シミュレーション処理を行う。本実施例の再シミュレーション処理では操作車両を新規に追加する場合を説明するが、事前シミュレーション処理で演算した模擬車両のうちの一台を操作車両としてもよい。
【0042】
第二模擬演算部13は、初回のみモデルデータを読み出す(S11)。モデルデータは例えば、道路モデル21、車両モデルや、ドライバモデルである。第二模擬演算部13は、予め定めた全てのステップの演算が完了したか否かを判別する(S12)。全ステップの演算が完了したと判別した場合(S12:Yes)、第二模擬演算部13は再シミュレーション処理を終了する。全ステップの演算が完了していないと判別した場合(S12:No)、第二模擬演算部13は未選択の車両があるか否かを判別する(S13)。未選択の車両は、現在のステップにおいて、車両情報を算出していない車両である。
【0043】
未選択の車両がある場合(S13:Yes)、第二模擬演算部13は未選択の車両を選択する(S14)。第二模擬演算部13は、車両情報を読み出す(S15)。なお、S15で読み出す車両情報は、現在の演算対象のステップの1ステップ前の車両情報を含む。
【0044】
車両抽出部16は、S14で選択した模擬車両が操作車両からの直接的、または間接的な影響を受けているか否かを判定する(S16)。車両抽出部16は、S15で読み出した第二車両情報記憶部172に記憶された各模擬車両の車両情報、および条件記憶部119に記憶された影響判定条件情報25に基づき、S14で選択した模擬車両が操作車両の影響を受けるか否かを判定する。影響の有無は、図11のフローチャートの処理により判定される。
【0045】
操作車両の影響を受ける場合(S17:Yes)、第二模擬演算部13は、S15で読み出した車両情報と、道路モデル21、車両モデル、ドライバモデルに基づき、S14で選択された模擬車両の挙動を計算する(S18)。第二模擬演算部13は、S18で再計算した模擬車両の車両情報を第二車両情報記憶部172に格納する(S20)。
【0046】
操作車両の影響を受けない場合(S17:No)、S14で選択した車両の車両情報は第一車両情報記憶部171の車両情報であるとみなせるため、第二模擬演算部13は、選択された模擬車両の車両情報22を第一車両情報記憶部171から読み出す(S19)。第二模擬演算部13は、S19で読み出した車両情報を第二車両情報記憶部172に格納する(S20)。S20の後、第二模擬演算部13は、S13以降の処理を実行する。
【0047】
未選択の車両がない場合(S13:No)、現在の演算対象のステップにおいて仮想空間に存在する全ての模擬車両の車両情報の算出が完了しているため、第二模擬演算部13は、視界表示部15にシミュレーション演算の結果を操作車両の運転者の視界として表示する(S21)。S21の後、第二模擬演算部13はステップを更新する(S22)。S22の後、第二模擬演算部13は次のシミュレーション時刻での再シミュレーション処理を実行するため、S12以降の処理を実行する。
[影響判定処理]
図11は、第一の実施例の再シミュレーション処理においての操作車両の影響判定処理のフローチャートである。
【0048】
図12は、第一の実施例の影響判定条件情報25である。条件記憶部119は影響判定条件情報25を記憶する。車両抽出部16は、条件記憶部119に記憶された影響判定条件情報25に基づき、操作車両からある模擬車両への影響の有無を判定する。
【0049】
影響判定条件情報25は、ある車両(判定対象車両)に対して、別の車両(参照車両)からの影響の有無を判定する条件を示す情報である。影響判定条件情報25は、判定対象車両と参照車両との相互の位置および進行方向の関係と判定条件とを関連づけて記憶する。影響判定条件情報25は、例えば、判定対象車両と参照車両との車間距離、衝突余裕時間、車頭時間、車間時間、交差点までの到達時間または到達距離、車両間の相互関係のいずれか、または組合せを含む。
【0050】
例えば、判定対象車両と参照車両とがそれぞれ後続車と前走車との関係である場合、参照車両の影響ありと判定される条件は車頭時間(Time Headway)が閾値(例えば、8秒)以下であり、車間距離が閾値(例えば、20m)以内であると定義される。なお、車頭時間とは、判定対象車両と参照車両のそれぞれの前バンパーが同位置を通過するまでの時間間隔である。車頭時間は、ある車両が前走車の影響を受けて追従走行しているのか、前走車の影響を受けずに自由走行を行っているのかの判別指標として一般的に用いられている。また、判定対象車両と参照車両がそれぞれ右折車と対向直進車の関係である場合、参照車両の影響ありと判定される条件は対向車の交差点までの到達時間が閾値(例えば、5秒)以下であると定義される。対向車の交差点までの接近時間は、右折車が停止・横断を判断している(いわゆるギャップアクセプタンス)指標として一般的に用いられている。その他の判断条件として、判定対象車両と参照車両との相互関係は、車両の位置・道路形状なども使用可能である。また、判定対象車両と参照車両との相互関係によらず、衝突余裕時間(Time To Collision, TTC)が閾値以下であれば参照車両の影響ありと判断することも可能である。衝突余裕時間(Time To Collision, TTC)は、車間距離を相対速度で除した値であり、一般に危険度を表す指標として用いられる。
【0051】
車両抽出部16は、操作車両及び操作車両の挙動によって影響を受ける車両を抽出する。すなわち、再シミュレーション処理において、挙動を再計算すべき車両を抽出する。挙動を再計算する必要があるのは、事前シミュレーション処理において影響を受けた車両の挙動が再計算された場合と、再シミュレーション処理において新たに操作車両の影響を直接的または間接的に受ける場合である。
【0052】
車両抽出部16は、事前シミュレーション処理で模擬車両が影響を受けた車両の挙動が操作車両の影響を受けて再計算されたか否かを判別する(S31)。事前シミュレーション処理で模擬車両が影響を受けた車両は、第一車両情報記憶部171の車両情報22と影響判定条件情報25に含まれる条件に基づき検出する。検出した車両の挙動を再計算したか否かは、例えば、第一車両情報記憶部171の車両情報22と第二車両情報記憶部172の車両情報24を比較することで判断する。もしくは、車両抽出部16は、第二車両情報記憶部172の車両情報24に操作車両からの影響の有無の情報を付加し、それに基づき判断してもよい。事前シミュレーション処理で模擬車両が影響を受けた車両が操作車両の影響を受けた場合(S31:Yes)、車両抽出部16は、模擬車両は操作車両の影響があると判定する(S35)。
【0053】
事前シミュレーション処理で模擬車両が影響を受けた車両が操作車両の影響を受けていない場合(S31:No)、車両抽出部16は、再シミュレーション処理で模擬車両が操作車両の影響を受けているか否かを判別する(S32)。車両抽出部16は、例えば、一つ前のステップの模擬車両および操作車両の車両情報24を第二車両情報記憶部172から読み出し、影響判定条件情報25に含まれる条件に基づき模擬車両から操作車両への影響の有無を判定する。
【0054】
再シミュレーション処理で模擬車両が操作車両の影響を受けている場合(S32:Yes)、車両抽出部16は、模擬車両は操作車両の影響があると判定する(S35)。
【0055】
再シミュレーション処理で模擬車両が操作車両の影響を受けていない場合(S32:No)、車両抽出部16は、再シミュレーション処理において影響車両の影響を受けているか否かを判定する(S33)。車両抽出部16は、例えば、一つ前のステップの影響車両および操作車両の車両情報24を読み出し、影響判定条件情報25に含まれる条件に基づき影響車両から操作車両への影響の有無を判定する。
【0056】
模擬車両が影響車両の影響を受けている場合(S33:Yes)、車両抽出部16は、模擬車両は操作車両の影響があると判定する(S35)。模擬車両が影響車両の影響を受けていない場合(S33:No)、車両抽出部16は、模擬車両は操作車両の影響を受けていないと判定する(S34)。
[シミュレーション結果例]
図13は、本実施例の再シミュレーション処理の結果の一例である。表示部12により、操作車両が影響を与える他の模擬車両の範囲を出力する。表示部12は、操作車両、操作車両が直接影響を与える直接影響車両、直接影響車両が影響を与える間接影響車両を他の模擬車両とは区別して出力することも可能である。
【0057】
仮想空間33は、道路41および模擬車両42を含む。43は仮想空間33に配置された操作車両43である。44は、操作車両43が影響を与える範囲である。45は、操作車両43が直接影響を与える直接影響車両である。46は、直接影響車両45が影響を与える間接影響車両である。47は、操作車両43、直接影響車両45、間接影響車両46による影響を受けない車両である。
【0058】
なお、本実施例では、表示部12は、操作車両が影響を与える範囲を出力するが、任意の模擬車両が他の模擬車両に影響を与える範囲を出力することも可能である。
【0059】
表示部12は、例えば、特定車両(ここでは操作車両)が影響を与える模擬車両を網掛けで表示する。図13のように、特定車両が直接的に影響を与える車両と特定車両が間接的に影響与える車両とを判別可能な状態で表示することも可能である。この場合、第二模擬演算部13は、再シミュレーション処理時に、直接的に影響を与える車両と特定車両が間接的に影響与える車両とを判別可能なフラグ情報を付加して、第二車両情報記憶部172に格納する。
【0060】
第二模擬演算部13は、例えば、特定車両を含む再シミュレーション処理を行う場合、各模擬車両について、特定車両からの影響の有無をシミュレーション時刻毎に記録する。第二模擬演算部13は、例えば、車両情報の一部に特定車両からの影響の有無の情報を記録する。
【0061】
表示部12は、特定車両からの影響を受ける模擬車両を時系列で表示する。例えば、シミュレーション時間の経過に応じて、特定車両が影響を与える模擬車両の台数、模擬車両の仮想空間内の範囲などは変化する。
【0062】
特定車両が影響を与える範囲を判別可能な状態で表示することにより、コンピュータがシミュレーション演算した模擬車両の挙動と人間が運転操作した操作車両の挙動との影響の範囲の比較、通常の運転の模擬車両の挙動とエコ運転の模擬車両の挙動との影響の範囲の比較などを表示することが可能になる。
(実施例2)
交通シミュレーション方式の第2の実施形態について説明する。第2の実施形態は、影響の判定条件に参照情報を用いる場合を説明する。
[第二の機能ブロック]
図14は、本実施例の交通シミュレーション装置の第二の機能ブロック図である。
【0063】
交通シミュレーション装置2は、第一模擬演算部110、入力部111、表示部112、第二模擬演算部113、操作入力部114、視界表示部115、車両抽出部116、第一車両情報記憶部1171、第二車両情報記憶部1172、モデル記憶部118、および条件記憶部119を含む。これらは、第一の実施例の交通シミュレーション装置1の、第一模擬演算部10、入力部11、表示部12、第二模擬演算部13、操作入力部14、視界表示部15、車両抽出部16、第一車両情報記憶部171、第二車両情報記憶部172、モデル記憶部18、および条件記憶部19に対応するため、説明を省略する。
【0064】
交通シミュレーション装置2はさらに参照情報記憶部121を有する。参照情報記憶部121は参照情報を格納する。参照情報は事前シミュレーション処理の際、車両情報を演算する際に参照した車両を関連付けて記憶した情報である。
【0065】
図15は、第二の実施例の時系列に並べられた参照情報26の例である。参照情報26はそれぞれのシミュレーション時刻ごとに記憶される。参照情報26は車両IDと参照車両IDとを含む。車両IDは、仮想空間に存在する模擬車両を識別する情報である。参照車両IDは、車両IDを事前シミュレーション処理する際に参照した他の模擬車両を識別する情報である。
[事前シミュレーション処理]
図16は、第二の実施例の事前シミュレーション処理のフローチャートである。
【0066】
第一模擬演算部110は、初回のみモデルデータを読み出す(S101)。モデルデータは例えば、道路モデル21、車両モデルや、ドライバモデルである。
【0067】
第一模擬演算部110は、予め定めた全てのステップの演算が完了したか否かを判別する(S102)。全ステップの演算が完了したと判別した場合(S102:Yes)、第一模擬演算部110は事前シミュレーション処理を終了する。全ステップの演算が完了していないと判別した場合(S102:No)、第一模擬演算部110は未選択の車両があるか否かを判別する(S103)。未選択の車両は、現在のステップにおいて、車両情報を算出していない車両である。
【0068】
未選択の車両がある場合(S103:Yes)、第一模擬演算部110は未選択の車両を選択する(S104)。第一模擬演算部110は、車両情報を読み出す(S105)。なお、S105で読み出す車両情報は、現在の演算対象のステップの1ステップ前の車両情報を含む。第一模擬演算部110は、S104で選択した車両の現在のステップの車両情報を算出する(S106)。第一模擬演算部110は、S106で算出した現在の演算対象のステップの車両情報を第一車両情報記憶部1171に格納する(S107)。
【0069】
第一模擬演算部110は、模擬車両の車両情報を算出する際に参照した他の模擬車両の識別情報を、該模擬車両の識別情報に関連づけて参照情報26に格納する(S109)。
【0070】
未選択の車両がない場合(S103:No)、現在の演算対象のステップにおいて仮想空間に存在する全ての模擬車両の車両情報の算出が完了しているため、第一模擬演算部110はステップを更新する(S108)。S108の後、第一模擬演算部110はS102以降の処理を実行する。
[再シミュレーション処理]
図17は、第二の実施例の再シミュレーション処理のフローチャートである。
【0071】
第二模擬演算部113は、初回のみモデルデータを読み出す(S111)。モデルデータは例えば、道路モデル21、車両モデル、ドライバモデルである。
【0072】
第二模擬演算部113は、予め定めた全てのステップの演算が完了したか否かを判別する(S112)。全ステップの演算が完了したと判別した場合(S112:Yes)、第二模擬演算部113は再シミュレーション処理を終了する。全ステップの演算が完了していないと判別した場合(S112:No)、第二模擬演算部113は未選択の車両があるか否かを判別する(S113)。未選択の車両は、現在のステップにおいて、車両情報を算出していない車両である。
【0073】
未選択の車両がある場合(S113:Yes)、第二模擬演算部113は未選択の車両を選択する(S114)。第二模擬演算部113は、車両情報を読み出す(S115)。なお、S115で読み出す車両情報は、第二車両情報記憶部1172に格納された現在の演算対象のステップの1ステップ前の車両情報を含む。
【0074】
車両抽出部116は、S114で選択した模擬車両が操作車両からの直接的、または間接的な影響を受けているか否かを判定する(S116)。車両抽出部116は、S115で読み出した第二車両情報記憶部1172に記憶された各模擬車両の車両情報、および条件記憶部119に記憶された影響判定条件情報25、参照情報記憶部121に記憶された参照情報に基づき、各模擬車両が操作車両の影響を受けるか否かを判定する。影響の有無は、図18のフローチャートの処理により判定される。
【0075】
操作車両の影響を受ける場合(S117:Yes)、第二模擬演算部113は、S115で読み出した車両情報と、道路モデル21、車両モデル、ドライバモデルに基づき、S114で選択された模擬車両の挙動を計算する(S118)。
【0076】
車両抽出部116は、S118で計算した模擬車両の車両情報と、第一車両情報記憶部1171に格納された前記模擬車両の車両情報とを比較し、比較結果である差分が所定の閾値以下であるか否かを判定する(S123)。
【0077】
比較結果である差分が所定の閾値以下になる場合、影響がわずかであると考えられるため、S114で選択した模擬車両は操作車両の影響を受けないとみなすことができる。操作車両および影響車両の影響が微小な車両については影響なしと判定することにより、第二模擬演算部113は再シミュレーション処理の演算が必要な車両を限定することが可能になるため、再シミュレーション処理の演算量を削減することができる。
【0078】
比較結果である差分が所定の閾値以下になる場合(S123:Yes)、第二模擬演算部113は、S114で選択された模擬車両の車両情報22を第一車両情報記憶部1171から読み出すことで、該模擬車両の車両情報を算出する(S119)。
【0079】
比較結果である差分が所定の閾値よりも大きくなる場合(S123:No)、影響が無視できないと考えられるため、S114で選択した模擬車両は操作車両の影響を受ける。そこで、第二模擬演算部113はS118の計算結果の車両情報を第二車両情報記憶部1172に格納する(S120)。
【0080】
第二模擬演算部113は、操作車両および影響車両の影響を受けない場合(S117:No)、S114で選択した車両の車両情報は第一車両情報記憶部1171の車両情報であるとみなせる。そこで、第二模擬演算部113は、S114で選択した車両の演算中のシミュレーション時刻に対応する車両情報を第一車両情報記憶部1171から読み出す(S119)。第二模擬演算部113は、演算中のシミュレーション時刻に対応する車両情報を第二車両情報記憶部1172に格納する(S120)。S120の後、第二模擬演算部113は、S113以降の処理を実行する。
【0081】
未選択の車両がない場合(S113:No)、第二模擬演算部113は、視界表示部115にシミュレーション演算の結果を操作車両の運転者の視界として表示する(S121)。S121の後、第二模擬演算部113はステップを更新する(S122)。S122の後、第二模擬演算部13は次のシミュレーション時刻での再シミュレーション処理を実行するため、S112以降の処理を実行する。
[影響判定処理]
図18は、第二の実施例の再シミュレーション処理時に実行する操作車両の影響判定処理のフローチャートである。
【0082】
車両抽出部116は、事前シミュレーション処理で模擬車両が参照した車両の挙動が操作車両の影響を受けて再計算されたか否かるか否かを判別する(S131)。事前シミュレーション処理で模擬車両が参照した車両は、参照情報記憶部121に記憶された参照情報26に基づき検出する。検出した車両の挙動を再計算したか否かは、例えば、第一車両情報記憶部171の車両情報22と第二車両情報記憶部172の車両情報24を比較することで判断する。事前シミュレーション処理で模擬車両が参照した車両が操作車両の影響を受けている場合(S131:Yes)、車両抽出部116は、模擬車両は操作車両の影響があると判定する(S135)。
【0083】
車両抽出部116は、事前シミュレーション処理で実際に参照した車両の情報を利用することにより、操作車両の影響を過大・過小に評価する可能性がなくなるため、より的確に操作車両の影響を調べることができる。また、車両影響判定条件を用いるよりも処理が単純なため、車両抽出部116は、再シミュレーション処理の演算量を削減することができる。
【0084】
事前シミュレーション処理で模擬車両が参照した車両が操作車両の影響を受けていない場合(S131:No)、車両抽出部116は、再シミュレーション処理で模擬車両が操作車両の影響を受けているか否かを判別する(S132)。車両抽出部16は、例えば、一つ前のステップの模擬車両および操作車両の車両情報24を第二車両情報記憶部172から読み出し、影響判定条件情報25に含まれる条件に基づき模擬車両から操作車両への影響の有無を判定する。
【0085】
再シミュレーション処理で模擬車両が操作車両の影響を受けている場合(S132:Yes)、車両抽出部116は、模擬車両は操作車両の影響があると判定する(S135)。
【0086】
再シミュレーション処理で模擬車両が操作車両の影響を受けていない場合(S132:No)、車両抽出部116は、再シミュレーション処理で影響車両の影響を受けているか否かを判定する(S133)。車両抽出部16は、例えば、一つ前のステップの影響車両および操作車両の車両情報24を読み出し、影響判定条件情報25に含まれる条件に基づき影響車両から操作車両への影響の有無を判定する。
【0087】
模擬車両が影響車両の影響を受けている場合(S133:Yes)、車両抽出部116は、模擬車両は操作車両の影響があると判定する(S135)。模擬車両が影響車両の影響を受けていない場合(S133:No)、車両抽出部116は、模擬車両は操作車両の影響を受けていないと判定する(S134)。
[ハードウェア構成]
上記の交通シミュレーション装置の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。
【0088】
図19は、交通シミュレーションプログラムを実行するコンピュータを示す図である。
【0089】
コンピュータ50は、CPU(Central Processing Unit)51、ROM(Read Only Memory)53、HDD(Hard Disk Drive)54、RAM(Random Access Memory)52、モニター55、入力部56、視界モニター57、操作入力部58を有し、相互にバス59を介して接続される。
【0090】
ROM53には、交通シミュレーションプログラムが予め記憶される。CPU51は、交通シミュレーションプログラムをROM53から読み出して実行する。HDD54は、道路モデル、車両モデル、ドライバモデルなどの情報を格納する。
【0091】
CPU51は、道路モデル、車両モデルと、ドライバモデルとを読み出してRAM52に格納する。さらに、CPU51はRAM52に格納された道路モデルと、車両モデルと、ドライバモデルとを用いて、交通シミュレーションプログラムを実行する。なお、RAM52に格納される各データは、常に全てのデータがRAM52に格納される必要はなく、処理に必要なデータのみがRAM52に格納されれば良い。
【0092】
なお、上記した交通シミュレーションプログラムは、最初からROM53に記憶させておく必要はない。例えば、交通シミュレーションプログラムはコンピュータ51に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておくことが可能である。そして、コンピュータ51は、「可搬用の物理媒体」からプログラムを読み出して実行してもよい。
【0093】
CPU51は、入力部56から車両モデルやドライバモデル、道路モデル21などの処理情報を受信し、操作入力部58から運転者の運転操作入力信号を受信する。CPU51は、交通シミュレーションプログラムの実行結果をモニター55および運転者の視界情報として視界モニター57に出力する。
【0094】
本実施例の交通シミュレーション装置は、必要最小限の模擬車両のみを再シミュレーション処理すればよいため、コンピュータの計算量を削減することができる。その結果、リアルタイム、もしくは、それ以上でのシミュレーション処理が可能になる。特に、広域エリアに少数、例えば、1台だけ特定車両が存在するような場合は、大部分の車両についてはシミュレーションを再度行う必要はないので計算コストの削減効果が高い。本実施例の交通シミュレーション装置は、非常に広域の道路における多数(例えば、数万台以上)の模擬車両の挙動を再現し、運転者が仮想空間内の任意の場所で操作車両を運転することを可能にする。前記また、交通シミュレーション装置は、少数の車両についてのみ条件を変更して繰り返し再シミュレーション処理を行うような場合、例えば、操作車両の被験者の変更や模擬車両のパラメータの変更などを行った際のシミュレーション時に、特に有効である。
【0095】
なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【符号の説明】
【0096】
1 交通シミュレーション装置
2 第二の交通シミュレーション装置
10 第一模擬演算部
11 入力部
12 表示部
13 第二模擬演算部
14 操作入力部
15 視界表示部
16 車両抽出部
171 第一車両情報記憶部
172 第二車両情報記憶部
18 モデル記憶部
19 条件記憶部
51 CPU
52 RAM
53 ROM
54 HDD
55 モニター
56 入力部
57 視界モニター
58 操作入力部
110 第一模擬演算部
111 入力部
112 表示部
113 第二模擬演算部
114 操作入力部
115 視界表示部
116 車両抽出部
1171 第一車両情報記憶部
1172 第二車両情報記憶部
118 モデル記憶部
119 条件記憶部
121 参照情報記憶部


【特許請求の範囲】
【請求項1】
仮想空間内に配置され、特定車両を含む多数車両の交通シミュレーション装置であって、
前記特定車両の挙動を加味しない場合の前記仮想空間内の各車両の挙動をシミュレーションした結果を蓄積する記憶部と、
前記特定車両及び前記特定車両の挙動によって影響を受ける前記車両を抽出する車両抽出部と、
前記車両抽出部により抽出した車両に対する挙動のシミュレーションを行い、前記シミュレーションの結果を出力すると共に、前記車両抽出部により抽出されなかった前記車両については、前記記憶部に記憶された車両の挙動をシミュレーション結果として出力する模擬演算部と、
を有することを特徴とする交通シミュレーション装置。
【請求項2】
前記車両抽出部は、前記特定車両と前記特定車両以外の前記車両の位置、および、前記特定車両と前記特定車両以外の前記車両の速度差またはそれぞれの速度に基づき、前記特定車両の挙動によって影響を受ける前記車両を抽出することを特徴とする請求項1に記載の交通シミュレーション装置。
【請求項3】
前記記憶部は、それぞれの車両が影響を受ける他の車両を関連づけた参照情報を記憶し、
前記車両抽出部は、前記参照情報に基づき、前記特定車両によって影響を受ける前記車両を抽出することを特徴とする請求項1に記載の交通シミュレーション装置。
【請求項4】
前記車両抽出部は、前記特定車両の挙動によって影響を受ける前記車両のうち、前記特定車両によって影響を受けたことにより、変化した速度あるいは位置が所定値以下となった前記車両は、影響を受けない車両であると判定して抽出しないことを特徴とする請求項1に記載の交通シミュレーション装置。
【請求項5】
前記模擬演算部は、前記特定車両の影響を受けた車両か否かを判別可能な状態でシミュレーション結果を出力することを特徴とする請求項1に記載の交通シミュレーション装置。
【請求項6】
前記模擬演算部は、前記特定車両の直接の影響を受けた車両か、前記特定車両の影響を受けた前記車両による影響を受けた車両かを分類して表示することを特徴とする請求項5に記載の交通シミュレーション装置。
【請求項7】
仮想空間内に配置された特定車両を含む多数車両の交通シミュレーションを実行し、前記特定車両の挙動を加味しない場合の仮想空間内の各車両の挙動をシミュレーションした結果を蓄積する記憶部を有するコンピュータに、
前記特定車両及び前記特定車両の挙動によって影響を受ける前記車両を抽出させ、
抽出された車両に対する挙動のシミュレーションを行わせ、
前記シミュレーションの結果を出力すると共に、抽出されなかった車両については、前記記憶部に記憶された車両の挙動をシミュレーション結果として出力させる
処理を実行させることを特徴とする交通シミュレーションプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図9】
image rotate

【図13】
image rotate


【公開番号】特開2012−256192(P2012−256192A)
【公開日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願番号】特願2011−128657(P2011−128657)
【出願日】平成23年6月8日(2011.6.8)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】