(57)【特許請求の範囲】
【請求項１】
仮想空間内に配置され、特定車両を含む多数車両の交通シミュレーション装置であって、
前記特定車両の挙動を加味しない場合の前記仮想空間内の各車両の挙動をシミュレーションした結果を蓄積する記憶部と、
前記特定車両及び前記特定車両の挙動によって影響を受ける前記車両を抽出する車両抽出部と、
前記車両抽出部により抽出した車両に対する挙動のシミュレーションを行い、前記シミュレーションの結果を出力すると共に、前記車両抽出部により抽出されなかった前記車両については、前記記憶部に記憶された車両の挙動をシミュレーション結果として出力する模擬演算部と、
を有することを特徴とする交通シミュレーション装置。
【請求項２】
前記車両抽出部は、前記特定車両と前記特定車両以外の前記車両の位置、および、前記特定車両と前記特定車両以外の前記車両の速度差またはそれぞれの速度に基づき、前記特定車両の挙動によって影響を受ける前記車両を抽出することを特徴とする請求項１に記載の交通シミュレーション装置。
【請求項３】
前記記憶部は、それぞれの車両が影響を受ける他の車両を関連づけた参照情報を記憶し、
前記車両抽出部は、前記参照情報に基づき、前記特定車両によって影響を受ける前記車両を抽出することを特徴とする請求項１に記載の交通シミュレーション装置。
【請求項４】
前記車両抽出部は、前記特定車両の挙動によって影響を受ける前記車両のうち、前記特定車両によって影響を受けたことにより、変化した速度あるいは位置が所定値以下となった前記車両は、影響を受けない車両であると判定して抽出しないことを特徴とする請求項１に記載の交通シミュレーション装置。
【請求項５】
前記模擬演算部は、前記特定車両の影響を受けた車両か否かを判別可能な状態でシミュレーション結果を出力することを特徴とする請求項１に記載の交通シミュレーション装置。
【請求項６】
前記模擬演算部は、前記特定車両の直接の影響を受けた車両か、前記特定車両の影響を受けた前記車両による影響を受けた車両かを分類して表示することを特徴とする請求項５に記載の交通シミュレーション装置。
【請求項７】
仮想空間内に配置された特定車両を含む多数車両の交通シミュレーションを実行し、前記特定車両の挙動を加味しない場合の仮想空間内の各車両の挙動をシミュレーションした結果を蓄積する記憶部を有するコンピュータに、
前記特定車両及び前記特定車両の挙動によって影響を受ける前記車両を抽出させ、
抽出された車両に対する挙動のシミュレーションを行わせ、
前記シミュレーションの結果を出力すると共に、抽出されなかった車両については、前記記憶部に記憶された車両の挙動をシミュレーション結果として出力させる
処理を実行させることを特徴とする交通シミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の装置は、交通シミュレーション装置および交通シミュレーションプログラムに関する。
【背景技術】
【０００２】
コンピュータ上のシミュレーションにより交通現象を仮想空間内に再現し様々な評価を行うための交通シミュレーション装置が考案されている。例えば、道路の改良、信号制御方式の変更、ドライバへの情報提供などを実施した場合の渋滞改善効果や環境影響の評価に利用される。特に、交通シミュレーション装置のうち、車両１台１台の挙動をシミュレートするものはミクロ交通シミュレータと呼ばれ、車両毎の挙動の変化や渋滞原因などの詳細な分析が可能である。
【０００３】
また、コンピュータ上のシミュレーションにより仮想空間内の車両をユーザが運転することが可能なドライビングシミュレータが考案されており、教習所などでの運転教育、ゲームなどのアミューズメント、ドライバの挙動分析などの研究などの用途に利用されている。通常、ユーザが運転する車両以外の車両の挙動はあらかじめ決められたシナリオに従った固定的なものである。ミクロ交通シミュレータをドライビングシミュレータと組み合わせ、仮想空間内の道路交通内をユーザが運転することを可能にする技術は、例えば、以下の選考技術文献等に開示されている。
【０００４】
このように、ミクロ交通シミュレータをドライビングシミュレータと組み合わせた場合、ユーザの運転する車両（以下、操作車両）とコンピュータ上でシミュレートする車両（以下、模擬車両）とのインタラクションが発生するため、リアルタイムでシミュレーションする必要がある。また、ユーザに違和感を与えない運転環境を実現するためには、操作車両だけでなく、周辺の模擬車両についても、物理法則に則った詳細な挙動をシミュレートする必要がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−４７９７２号公報
【特許文献２】特開２００２−１６３７４７号公報
【非特許文献】
【０００６】
【非特許文献１】「ユニバーサルドライビングシミュレータにおける交通シミュレーションの評価」、日本機械学会2006年度年次大会講演論文集(5), 3807,No6-1, 2006年9月）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記のような交通シミュレーション装置は、仮想空間内の個々の車両の挙動をシミュレートするため、シミュレーション対象となる車両の数が増えるほど、演算量は多くなる。このため、従来の技術では、演算量を削減するために、シミュレーション対象の車両台数に関して制限を設ける必要があった。しかしながら、シミュレーション対象の車両台数を制限すると、シミュレーション可能な仮想空間が限定され、ユーザが任意の場所を自由に走行することができない。
【０００８】
この点に鑑み、開示の交通シミュレーション装置は、シミュレーション対象の車両が多い場合であっても、少ない演算処理能力でシミュレーション演算を可能とすることを目的とする。
【課題を解決するための手段】
【０００９】
仮想空間内に配置され、特定車両を含む多数車両の交通シミュレーション装置であって、前記特定車両の挙動を加味しない場合の仮想空間内の各車両の挙動をシミュレーションした結果を蓄積する記憶部と、特定車両および特定車両の挙動によって影響を受ける車両を抽出する車両抽出部と、車両抽出部により抽出した車両に対する挙動のシミュレーションを行い、シミュレーションの結果を出力すると共に、前記車両抽出部により抽出されなかった車両については、記憶部に記憶された車両の挙動をシミュレーション結果として出力する模擬演算部とを有する。
【発明の効果】
【００１０】
開示の交通シミュレーション装置は、仮想空間内の車両が多い場合であっても、少ない演算処理能力でシミュレーション演算を可能とすることができる。
【図面の簡単な説明】
【００１１】
【図１】第一の実施例の交通シミュレーション装置の機能ブロック図である。
【図２】本実施例の道路モデルのデータ例である。
【図３】本実施例の交通シミュレーションの仮想空間の例である。
【図４】本実施例の交通シミュレーションの車両情報である。
【図５】本実施例の交通シミュレーションの時系列の車両情報群の説明図である。
【図６】本実施例の交通シミュレーションの操作情報である。
【図７】本実施例の交通シミュレーションの操作車両を含む車両情報である。
【図８】第一の実施例の事前シミュレーション処理のフローチャートである。
【図９】第一の実施例の事前シミュレーション処理の結果例である。
【図１０】第一の実施例の再シミュレーション処理のフローチャートである。
【図１１】第一の実施例の再シミュレーション処理の影響判定のフローチャートである。
【図１２】第一の実施例の影響判定条件情報である。
【図１３】本実施例の再シミュレーション処理の結果例である。
【図１４】第二の実施例の交通シミュレーション装置の第二の機能ブロック図である。
【図１５】第二の実施例の参照情報である。
【図１６】第二の実施例の事前シミュレーション処理のフローチャートである。
【図１７】第二の実施例の再シミュレーション処理のフローチャートである。
【図１８】第二の実施例の再シミュレーション処理の影響判定のフローチャートである。
【図１９】本実施例の交通シミュレーション装置のハードウェア構成図である。
【発明を実施するための形態】
【００１２】
以下に、交通シミュレーション装置の実施例を図面に基づいて説明する。
【００１３】
交通シミュレーション装置は、事前に実行されるシミュレーション処理（以下、事前シミュレーション処理とする）、および事前シミュレーション処理の後に事前シミュレーション処理の結果を利用して短時間で演算結果を出力するシミュレーション（以下、再シミュレーション処理とする）を実行する。事前シミュレーション処理および再シミュレーション処理は例えばミクロシミュレーションであり、交通シミュレーション装置は、仮想空間内に配置され、予め設定されたモデルに応じてコンピュータ上で挙動がシミュレートされる車両（以降、模擬車両とする）の一台ずつの挙動を演算する。
【００１４】
なお、本実施例では、交通シミュレーション装置は再シミュレーション処理時にミクロシミュレーションに加えて更にドライブシミュレーションの演算を実行する例を説明する。すなわち、交通シミュレーション装置は、再シミュレーション処理時において、模擬車両に加えて、運転者が操作する車両（以下、操作車両とする）の挙動を模擬する。本実施例では、操作車両が特定車両である場合を例に説明する。交通シミュレーション装置は、操作車両および操作車両の影響を受ける模擬車両（以下、影響車両とする）については挙動を再計算し、操作車両の影響を受けない模擬車両については事前シミュレーションで決定した挙動とする。
【００１５】
なお、特定車両は操作車両に限定されない。交通シミュレーション装置１は、事前シミュレーション処理を実行した後で一部の模擬車両のパラメータを変えてシミュレーションする場合や、事前シミュレーション処理を実行した後で任意の模擬車両を追加して配置する場合に、パラメータが変更された模擬車両や追加して配置された模擬車両を特定車両としてもよい。
（実施例１）
［機能ブロック］
図１は、第一の実施例の交通シミュレーション装置の機能ブロック図である。
【００１６】
交通シミュレーション装置１は、第一模擬演算部１０、入力部１１、表示部１２、第二模擬演算部１３、操作入力部１４、視界表示部１５、車両抽出部１６、第一車両情報記憶部１７１、第二車両情報記憶部１７２、モデル記憶部１８、および条件記憶部１９を含む。
【００１７】
入力部１１は、車両モデル、道路モデル、ドライバモデルなどの情報を外部から受信する。
【００１８】
図２に入力部１１に入力される本実施例の道路モデル２１の一例を示す。図２に示されるように道路モデル２１は、道路を識別する「道路ＩＤ」、道路の開始座標を示す「開始位置」、道路の終了座標を示す「終了位置」、道路の幅を示す「幅」等を含む。その他、交差点の位置、信号の点灯時間などの動的なデータ、車線数、優先道路など、シミュレーションで使用する種々の情報を含む。
【００１９】
また、入力部１１に入力される車両モデルは各模擬車両の挙動のパラメータを定義した情報である。車両モデルは、例えば、車両の大きさ、ステアリング、アクセル、ブレーキ、などの入力に対する応答を定義した車両モデルなどの情報を有する。
【００２０】
また、入力部１１に入力されるドライバモデルは各運転者の挙動のパラメータを定義した情報である。ドライバモデルは例えば、各模擬車両に、先行車両との距離あるいは速度差に応じた加速・減速度の大きさの情報、先行車両との希望車間距離の情報などを有する。図３は、本実施例の仮想空間３０の例である。仮想空間３０は、道路モデル２１により定義された空間であり、道路３１および道路３１を通行する複数の車両３２などを含む。その他、信号、交差点、横断歩道などの建造物や、歩行者、電車などの他の移動物体を含む場合もある。
【００２１】
図１の交通シミュレーション装置１の入力部１１は、車両モデル、道路モデル、ドライバモデルなどを外部から入力する。表示部１２は、シミュレーションの演算結果を表示する。
【００２２】
図４は、本実施例の交通シミュレーションの車両情報２２のデータ構成例である。車両情報２２は、仮想空間内のあるシミュレーション時刻における各模擬車両の挙動を表す情報である。シミュレーション時刻とは、仮想空間内の時刻情報である。車両情報２２は、模擬車両を識別する「車両ＩＤ」、模擬車両の仮想空間内の位置を表す「位置」、模擬車両の速度を表す「速度」などの情報を含む。
【００２３】
交通シミュレーション装置１は、予め模擬車両のみで交通シミュレーションの演算を実行して模擬車両の挙動を決定する。
【００２４】
第一模擬演算部１０は、所定の時間毎に、道路モデル、車両モデル、ドライバモデルに基づき仮想空間内の各模擬車両の挙動を表す車両情報を算出することにより、時系列の車両情報を算出する事前シミュレーション処理を行う。第一模擬演算部１０は、算出した車両情報２２を第一車両格納部１７１に格納する。
【００２５】
図５は、本実施例の交通シミュレーションの時系列の車両情報群の説明図である。「ｔ」は任意のシミュレーション時刻を示す。「ｔ−１」、「ｔ」、「ｔ＋１」．．．は、経過するシミュレーション時刻を示す。
【００２６】
第二模擬演算部１３は、所定の時間毎に、道路モデル、車両モデル、ドライバモデルに基づき、仮想空間内の模擬車両および操作車両の挙動を計算することで、時系列の車両情報を算出する再シミュレーション処理を行う。第二模擬演算部１３は、操作車両（ここでは、Ｘとする）を含む車両情報２４を第二車両情報記憶部１７２に格納する。
【００２７】
図７は、本実施例の交通シミュレーションの操作車両を含む車両情報２４である。車両情報２４のデータ構成は、図４の車両情報２２と同じである。車両情報２４は、仮想空間内のあるシミュレーション時刻における各模擬車両の挙動および操作車両の挙動を含む情報である。
【００２８】
車両抽出部１６は、条件記憶部１９に格納された条件に基づき、操作車両および操作車両による影響を受ける模擬車両を抽出する。車両抽出部１６は、操作車両から影響を受けるか否かを判別する情報を車両情報に記録することも可能である。
【００２９】
第二模擬演算部１３は、操作車両以外の模擬車両の挙動についても算出する。第二模擬演算部１３は、操作車両から影響を受けると判定された模擬車両について挙動をシミュレーション演算する。一方、操作車両により影響を受けないと判定された模擬車両について、第二模擬演算部１３は、第一車両情報記憶部１７１に記憶された同じシミュレーション時刻の第一模擬演算部１０による演算結果（車両情報２２）を読み出して、模擬車両の挙動を決定する。
【００３０】
操作入力部１４は、運転者のステアリング、アクセル、ブレーキ、視線方向などの情報を受信する。視界表示部１５は、第二模擬演算部１３の演算結果に基づき、操作車両の運転者の模擬視界映像を生成する。視界表示部１５は、仮想空間データと映像生成用データと操作車両の位置、方向などに基づいて、模擬視界映像を生成する。操作車両が同時に複数存在する場合、操作入力部１４および視界表示部１５は操作車両の台数分存在する。
【００３１】
第一車両情報記憶部１７１および第二車両情報記憶部１７２はシミュレーション時刻毎の車両情報を格納する。本実施例では、第一車両情報記憶部１７１は第一模擬演算部１０による演算によって得られた模擬車両のみの車両情報２２を格納する。第二車両情報記憶部１７２は、第一模擬演算部１０および第二模擬演算部１３による演算によって得た操作車両と模擬車両とを含む車両情報２４を格納する。
【００３２】
モデル記憶部１８は、交通シミュレーション装置で使用する道路モデル２１、車両モデル、ドライバモデルなどの情報を記憶する。
【００３３】
条件記憶部１９は、ある車両（以下、判定対象車両）に対して、別の車両（以下、参照車両）からの影響の有無を判定する条件を格納する。影響の有無を判定する条件は、例えば、判定対象車両と参照車両との距離が所定値よりも短いか否かがある。影響の有無を判定する条件は、先行車、後続車、対向車のように判定対象車両と参照車両の相互関係ごとに設定してもよい。
【００３４】
図６は、本実施例の交通シミュレーションの操作情報２３である。操作情報は、例えば、操作車両の操舵角、アクセルの踏み込み量、ブレーキの踏み込み量などの操作車両の操作に関する情報を含む。操作情報２３は、運転者から操作入力部１４を介して入力された情報により構成される。
【００３５】
以下、本実施例の交通シミュレーション装置の処理について説明する。
［事前シミュレーション処理］
図８は、第一の実施例の事前シミュレーション処理のフローチャートである。第一模擬演算部１０は、仮想空間内の個々の模擬車両の挙動をシミュレーション演算する。事前シミュレーション処理は、演算の対象に操作車両は含まれず模擬車両のみを対象とする。第一模擬演算部１０は、シミュレーションのステップごとに車両の挙動を演算する。ステップはシミュレーションの単位時刻に相当する。なお、ステップ数はあらかじめ設定されているものとする。
【００３６】
第一模擬演算部１０は、初回のみモデルデータを読み出す（Ｓ０１）。モデルデータは例えば、道路モデル２１や、車両モデル、ドライバモデルである。
【００３７】
第一模擬演算部１０は、予め定めた全てのステップの演算が完了したか否かを判別する（Ｓ０２）。全ステップの演算が完了したと判別した場合（Ｓ０２：Ｙｅｓ）、第一模擬演算部１０は事前シミュレーション処理を終了する。全ステップの演算が完了していないと判別した場合（Ｓ０２：Ｎｏ）、第一模擬演算部１０は未選択の車両があるか否かを判別する（Ｓ０３）。未選択の車両は、現在のステップにおいて、車両情報を算出していない車両である。
【００３８】
未選択の車両がある場合（Ｓ０３：Ｙｅｓ）、第一模擬演算部１０は未選択の車両を選択する（Ｓ０４）。第一模擬演算部１０は、車両情報を読み出す（Ｓ０５）。なお、Ｓ０５で読み出す車両情報は、現在の演算対象のステップの１ステップ前の車両情報を含む。第一模擬演算部１０は、Ｓ０４で選択した車両の現在のステップの車両情報を計算する（Ｓ０６）。第一模擬演算部１０は、Ｓ０６で算出した現在の演算対象のステップの車両情報を第一車両情報記憶部１７１に格納する（Ｓ０７）。
【００３９】
未選択の車両がない場合（Ｓ０３：Ｎｏ）、現在の演算対象のステップにおいて仮想空間に存在する全ての模擬車両の車両情報の算出が完了しているため、第一模擬演算部１０はステップを更新する（Ｓ０８）。Ｓ０８の後、第一模擬演算部１０はＳ０２以降の処理を実行する。
【００４０】
事前シミュレーション処理には操作車両が含まれていないため、第一模擬演算部１０は、リアルタイムで事前シミュレーション処理を実行する必要はない。したがって、リアルタイムで演算するよりも少ない計算リソースで時間をかけてシミュレーション処理を行なってもよい。
【００４１】
図９は、第一の実施例の事前シミュレーション処理の結果例である。３３は仮想空間３０の一部である。４１は仮想空間３３に配置された道路である。４２は仮想空間３３に配置された模擬車両である。
［再シミュレーション処理］
図１０は、第一の実施例の再シミュレーション処理のフローチャートである。第二模擬演算部１３は、操作車両を含めて再シミュレーション処理を行う。本実施例の再シミュレーション処理では操作車両を新規に追加する場合を説明するが、事前シミュレーション処理で演算した模擬車両のうちの一台を操作車両としてもよい。
【００４２】
第二模擬演算部１３は、初回のみモデルデータを読み出す（Ｓ１１）。モデルデータは例えば、道路モデル２１、車両モデルや、ドライバモデルである。第二模擬演算部１３は、予め定めた全てのステップの演算が完了したか否かを判別する（Ｓ１２）。全ステップの演算が完了したと判別した場合（Ｓ１２：Ｙｅｓ）、第二模擬演算部１３は再シミュレーション処理を終了する。全ステップの演算が完了していないと判別した場合（Ｓ１２：Ｎｏ）、第二模擬演算部１３は未選択の車両があるか否かを判別する（Ｓ１３）。未選択の車両は、現在のステップにおいて、車両情報を算出していない車両である。
【００４３】
未選択の車両がある場合（Ｓ１３：Ｙｅｓ）、第二模擬演算部１３は未選択の車両を選択する（Ｓ１４）。第二模擬演算部１３は、車両情報を読み出す（Ｓ１５）。なお、Ｓ１５で読み出す車両情報は、現在の演算対象のステップの１ステップ前の車両情報を含む。
【００４４】
車両抽出部１６は、Ｓ１４で選択した模擬車両が操作車両からの直接的、または間接的な影響を受けているか否かを判定する（Ｓ１６）。車両抽出部１６は、Ｓ１５で読み出した第二車両情報記憶部１７２に記憶された各模擬車両の車両情報、および条件記憶部１１９に記憶された影響判定条件情報２５に基づき、Ｓ１４で選択した模擬車両が操作車両の影響を受けるか否かを判定する。影響の有無は、図１１のフローチャートの処理により判定される。
【００４５】
操作車両の影響を受ける場合（Ｓ１７：Ｙｅｓ）、第二模擬演算部１３は、Ｓ１５で読み出した車両情報と、道路モデル２１、車両モデル、ドライバモデルに基づき、Ｓ１４で選択された模擬車両の挙動を計算する（Ｓ１８）。第二模擬演算部１３は、Ｓ１８で再計算した模擬車両の車両情報を第二車両情報記憶部１７２に格納する（Ｓ２０）。
【００４６】
操作車両の影響を受けない場合（Ｓ１７：Ｎｏ）、Ｓ１４で選択した車両の車両情報は第一車両情報記憶部１７１の車両情報であるとみなせるため、第二模擬演算部１３は、選択された模擬車両の車両情報２２を第一車両情報記憶部１７１から読み出す（Ｓ１９）。第二模擬演算部１３は、Ｓ１９で読み出した車両情報を第二車両情報記憶部１７２に格納する（Ｓ２０）。Ｓ２０の後、第二模擬演算部１３は、Ｓ１３以降の処理を実行する。
【００４７】
未選択の車両がない場合（Ｓ１３：Ｎｏ）、現在の演算対象のステップにおいて仮想空間に存在する全ての模擬車両の車両情報の算出が完了しているため、第二模擬演算部１３は、視界表示部１５にシミュレーション演算の結果を操作車両の運転者の視界として表示する（Ｓ２１）。Ｓ２１の後、第二模擬演算部１３はステップを更新する（Ｓ２２）。Ｓ２２の後、第二模擬演算部１３は次のシミュレーション時刻での再シミュレーション処理を実行するため、Ｓ１２以降の処理を実行する。
［影響判定処理］
図１１は、第一の実施例の再シミュレーション処理においての操作車両の影響判定処理のフローチャートである。
【００４８】
図１２は、第一の実施例の影響判定条件情報２５である。条件記憶部１１９は影響判定条件情報２５を記憶する。車両抽出部１６は、条件記憶部１１９に記憶された影響判定条件情報２５に基づき、操作車両からある模擬車両への影響の有無を判定する。
【００４９】
影響判定条件情報２５は、ある車両（判定対象車両）に対して、別の車両（参照車両）からの影響の有無を判定する条件を示す情報である。影響判定条件情報２５は、判定対象車両と参照車両との相互の位置および進行方向の関係と判定条件とを関連づけて記憶する。影響判定条件情報２５は、例えば、判定対象車両と参照車両との車間距離、衝突余裕時間、車頭時間、車間時間、交差点までの到達時間または到達距離、車両間の相互関係のいずれか、または組合せを含む。
【００５０】
例えば、判定対象車両と参照車両とがそれぞれ後続車と前走車との関係である場合、参照車両の影響ありと判定される条件は車頭時間（Ｔｉｍｅ  Ｈｅａｄｗａｙ）が閾値（例えば、８秒）以下であり、車間距離が閾値（例えば、２０ｍ）以内であると定義される。なお、車頭時間とは、判定対象車両と参照車両のそれぞれの前バンパーが同位置を通過するまでの時間間隔である。車頭時間は、ある車両が前走車の影響を受けて追従走行しているのか、前走車の影響を受けずに自由走行を行っているのかの判別指標として一般的に用いられている。また、判定対象車両と参照車両がそれぞれ右折車と対向直進車の関係である場合、参照車両の影響ありと判定される条件は対向車の交差点までの到達時間が閾値（例えば、５秒）以下であると定義される。対向車の交差点までの接近時間は、右折車が停止・横断を判断している（いわゆるギャップアクセプタンス）指標として一般的に用いられている。その他の判断条件として、判定対象車両と参照車両との相互関係は、車両の位置・道路形状なども使用可能である。また、判定対象車両と参照車両との相互関係によらず、衝突余裕時間（Ｔｉｍｅ  Ｔｏ  Ｃｏｌｌｉｓｉｏｎ，  ＴＴＣ）が閾値以下であれば参照車両の影響ありと判断することも可能である。衝突余裕時間（Ｔｉｍｅ  Ｔｏ  Ｃｏｌｌｉｓｉｏｎ，  ＴＴＣ）は、車間距離を相対速度で除した値であり、一般に危険度を表す指標として用いられる。
【００５１】
車両抽出部１６は、操作車両及び操作車両の挙動によって影響を受ける車両を抽出する。すなわち、再シミュレーション処理において、挙動を再計算すべき車両を抽出する。挙動を再計算する必要があるのは、事前シミュレーション処理において影響を受けた車両の挙動が再計算された場合と、再シミュレーション処理において新たに操作車両の影響を直接的または間接的に受ける場合である。
【００５２】
車両抽出部１６は、事前シミュレーション処理で模擬車両が影響を受けた車両の挙動が操作車両の影響を受けて再計算されたか否かを判別する（Ｓ３１）。事前シミュレーション処理で模擬車両が影響を受けた車両は、第一車両情報記憶部１７１の車両情報２２と影響判定条件情報２５に含まれる条件に基づき検出する。検出した車両の挙動を再計算したか否かは、例えば、第一車両情報記憶部１７１の車両情報２２と第二車両情報記憶部１７２の車両情報２４を比較することで判断する。もしくは、車両抽出部１６は、第二車両情報記憶部１７２の車両情報２４に操作車両からの影響の有無の情報を付加し、それに基づき判断してもよい。事前シミュレーション処理で模擬車両が影響を受けた車両が操作車両の影響を受けた場合（Ｓ３１：Ｙｅｓ）、車両抽出部１６は、模擬車両は操作車両の影響があると判定する（Ｓ３５）。
【００５３】
事前シミュレーション処理で模擬車両が影響を受けた車両が操作車両の影響を受けていない場合（Ｓ３１：Ｎｏ）、車両抽出部１６は、再シミュレーション処理で模擬車両が操作車両の影響を受けているか否かを判別する（Ｓ３２）。車両抽出部１６は、例えば、一つ前のステップの模擬車両および操作車両の車両情報２４を第二車両情報記憶部１７２から読み出し、影響判定条件情報２５に含まれる条件に基づき模擬車両から操作車両への影響の有無を判定する。
【００５４】
再シミュレーション処理で模擬車両が操作車両の影響を受けている場合（Ｓ３２：Ｙｅｓ）、車両抽出部１６は、模擬車両は操作車両の影響があると判定する（Ｓ３５）。
【００５５】
再シミュレーション処理で模擬車両が操作車両の影響を受けていない場合（Ｓ３２：Ｎｏ）、車両抽出部１６は、再シミュレーション処理において影響車両の影響を受けているか否かを判定する（Ｓ３３）。車両抽出部１６は、例えば、一つ前のステップの影響車両および操作車両の車両情報２４を読み出し、影響判定条件情報２５に含まれる条件に基づき影響車両から操作車両への影響の有無を判定する。
【００５６】
模擬車両が影響車両の影響を受けている場合（Ｓ３３：Ｙｅｓ）、車両抽出部１６は、模擬車両は操作車両の影響があると判定する（Ｓ３５）。模擬車両が影響車両の影響を受けていない場合（Ｓ３３：Ｎｏ）、車両抽出部１６は、模擬車両は操作車両の影響を受けていないと判定する（Ｓ３４）。
［シミュレーション結果例］
図１３は、本実施例の再シミュレーション処理の結果の一例である。表示部１２により、操作車両が影響を与える他の模擬車両の範囲を出力する。表示部１２は、操作車両、操作車両が直接影響を与える直接影響車両、直接影響車両が影響を与える間接影響車両を他の模擬車両とは区別して出力することも可能である。
【００５７】
仮想空間３３は、道路４１および模擬車両４２を含む。４３は仮想空間３３に配置された操作車両４３である。４４は、操作車両４３が影響を与える範囲である。４５は、操作車両４３が直接影響を与える直接影響車両である。４６は、直接影響車両４５が影響を与える間接影響車両である。４７は、操作車両４３、直接影響車両４５、間接影響車両４６による影響を受けない車両である。
【００５８】
なお、本実施例では、表示部１２は、操作車両が影響を与える範囲を出力するが、任意の模擬車両が他の模擬車両に影響を与える範囲を出力することも可能である。
【００５９】
表示部１２は、例えば、特定車両（ここでは操作車両）が影響を与える模擬車両を網掛けで表示する。図１３のように、特定車両が直接的に影響を与える車両と特定車両が間接的に影響与える車両とを判別可能な状態で表示することも可能である。この場合、第二模擬演算部１３は、再シミュレーション処理時に、直接的に影響を与える車両と特定車両が間接的に影響与える車両とを判別可能なフラグ情報を付加して、第二車両情報記憶部１７２に格納する。
【００６０】
第二模擬演算部１３は、例えば、特定車両を含む再シミュレーション処理を行う場合、各模擬車両について、特定車両からの影響の有無をシミュレーション時刻毎に記録する。第二模擬演算部１３は、例えば、車両情報の一部に特定車両からの影響の有無の情報を記録する。
【００６１】
表示部１２は、特定車両からの影響を受ける模擬車両を時系列で表示する。例えば、シミュレーション時間の経過に応じて、特定車両が影響を与える模擬車両の台数、模擬車両の仮想空間内の範囲などは変化する。
【００６２】
特定車両が影響を与える範囲を判別可能な状態で表示することにより、コンピュータがシミュレーション演算した模擬車両の挙動と人間が運転操作した操作車両の挙動との影響の範囲の比較、通常の運転の模擬車両の挙動とエコ運転の模擬車両の挙動との影響の範囲の比較などを表示することが可能になる。
（実施例２）
交通シミュレーション方式の第２の実施形態について説明する。第２の実施形態は、影響の判定条件に参照情報を用いる場合を説明する。
［第二の機能ブロック］
図１４は、本実施例の交通シミュレーション装置の第二の機能ブロック図である。
【００６３】
交通シミュレーション装置２は、第一模擬演算部１１０、入力部１１１、表示部１１２、第二模擬演算部１１３、操作入力部１１４、視界表示部１１５、車両抽出部１１６、第一車両情報記憶部１１７１、第二車両情報記憶部１１７２、モデル記憶部１１８、および条件記憶部１１９を含む。これらは、第一の実施例の交通シミュレーション装置１の、第一模擬演算部１０、入力部１１、表示部１２、第二模擬演算部１３、操作入力部１４、視界表示部１５、車両抽出部１６、第一車両情報記憶部１７１、第二車両情報記憶部１７２、モデル記憶部１８、および条件記憶部１９に対応するため、説明を省略する。
【００６４】
交通シミュレーション装置２はさらに参照情報記憶部１２１を有する。参照情報記憶部１２１は参照情報を格納する。参照情報は事前シミュレーション処理の際、車両情報を演算する際に参照した車両を関連付けて記憶した情報である。
【００６５】
図１５は、第二の実施例の時系列に並べられた参照情報２６の例である。参照情報２６はそれぞれのシミュレーション時刻ごとに記憶される。参照情報２６は車両ＩＤと参照車両ＩＤとを含む。車両ＩＤは、仮想空間に存在する模擬車両を識別する情報である。参照車両ＩＤは、車両ＩＤを事前シミュレーション処理する際に参照した他の模擬車両を識別する情報である。
［事前シミュレーション処理］
図１６は、第二の実施例の事前シミュレーション処理のフローチャートである。
【００６６】
第一模擬演算部１１０は、初回のみモデルデータを読み出す（Ｓ１０１）。モデルデータは例えば、道路モデル２１、車両モデルや、ドライバモデルである。
【００６７】
第一模擬演算部１１０は、予め定めた全てのステップの演算が完了したか否かを判別する（Ｓ１０２）。全ステップの演算が完了したと判別した場合（Ｓ１０２：Ｙｅｓ）、第一模擬演算部１１０は事前シミュレーション処理を終了する。全ステップの演算が完了していないと判別した場合（Ｓ１０２：Ｎｏ）、第一模擬演算部１１０は未選択の車両があるか否かを判別する（Ｓ１０３）。未選択の車両は、現在のステップにおいて、車両情報を算出していない車両である。
【００６８】
未選択の車両がある場合（Ｓ１０３：Ｙｅｓ）、第一模擬演算部１１０は未選択の車両を選択する（Ｓ１０４）。第一模擬演算部１１０は、車両情報を読み出す（Ｓ１０５）。なお、Ｓ１０５で読み出す車両情報は、現在の演算対象のステップの１ステップ前の車両情報を含む。第一模擬演算部１１０は、Ｓ１０４で選択した車両の現在のステップの車両情報を算出する（Ｓ１０６）。第一模擬演算部１１０は、Ｓ１０６で算出した現在の演算対象のステップの車両情報を第一車両情報記憶部１１７１に格納する（Ｓ１０７）。
【００６９】
第一模擬演算部１１０は、模擬車両の車両情報を算出する際に参照した他の模擬車両の識別情報を、該模擬車両の識別情報に関連づけて参照情報２６に格納する（Ｓ１０９）。
【００７０】
未選択の車両がない場合（Ｓ１０３：Ｎｏ）、現在の演算対象のステップにおいて仮想空間に存在する全ての模擬車両の車両情報の算出が完了しているため、第一模擬演算部１１０はステップを更新する（Ｓ１０８）。Ｓ１０８の後、第一模擬演算部１１０はＳ１０２以降の処理を実行する。
［再シミュレーション処理］
図１７は、第二の実施例の再シミュレーション処理のフローチャートである。
【００７１】
第二模擬演算部１１３は、初回のみモデルデータを読み出す（Ｓ１１１）。モデルデータは例えば、道路モデル２１、車両モデル、ドライバモデルである。
【００７２】
第二模擬演算部１１３は、予め定めた全てのステップの演算が完了したか否かを判別する（Ｓ１１２）。全ステップの演算が完了したと判別した場合（Ｓ１１２：Ｙｅｓ）、第二模擬演算部１１３は再シミュレーション処理を終了する。全ステップの演算が完了していないと判別した場合（Ｓ１１２：Ｎｏ）、第二模擬演算部１１３は未選択の車両があるか否かを判別する（Ｓ１１３）。未選択の車両は、現在のステップにおいて、車両情報を算出していない車両である。
【００７３】
未選択の車両がある場合（Ｓ１１３：Ｙｅｓ）、第二模擬演算部１１３は未選択の車両を選択する（Ｓ１１４）。第二模擬演算部１１３は、車両情報を読み出す（Ｓ１１５）。なお、Ｓ１１５で読み出す車両情報は、第二車両情報記憶部１１７２に格納された現在の演算対象のステップの１ステップ前の車両情報を含む。
【００７４】
車両抽出部１１６は、Ｓ１１４で選択した模擬車両が操作車両からの直接的、または間接的な影響を受けているか否かを判定する（Ｓ１１６）。車両抽出部１１６は、Ｓ１１５で読み出した第二車両情報記憶部１１７２に記憶された各模擬車両の車両情報、および条件記憶部１１９に記憶された影響判定条件情報２５、参照情報記憶部１２１に記憶された参照情報に基づき、各模擬車両が操作車両の影響を受けるか否かを判定する。影響の有無は、図１８のフローチャートの処理により判定される。
【００７５】
操作車両の影響を受ける場合（Ｓ１１７：Ｙｅｓ）、第二模擬演算部１１３は、Ｓ１１５で読み出した車両情報と、道路モデル２１、車両モデル、ドライバモデルに基づき、Ｓ１１４で選択された模擬車両の挙動を計算する（Ｓ１１８）。
【００７６】
車両抽出部１１６は、Ｓ１１８で計算した模擬車両の車両情報と、第一車両情報記憶部１１７１に格納された前記模擬車両の車両情報とを比較し、比較結果である差分が所定の閾値以下であるか否かを判定する（Ｓ１２３）。
【００７７】
比較結果である差分が所定の閾値以下になる場合、影響がわずかであると考えられるため、Ｓ１１４で選択した模擬車両は操作車両の影響を受けないとみなすことができる。操作車両および影響車両の影響が微小な車両については影響なしと判定することにより、第二模擬演算部１１３は再シミュレーション処理の演算が必要な車両を限定することが可能になるため、再シミュレーション処理の演算量を削減することができる。
【００７８】
比較結果である差分が所定の閾値以下になる場合（Ｓ１２３：Ｙｅｓ）、第二模擬演算部１１３は、Ｓ１１４で選択された模擬車両の車両情報２２を第一車両情報記憶部１１７１から読み出すことで、該模擬車両の車両情報を算出する（Ｓ１１９）。
【００７９】
比較結果である差分が所定の閾値よりも大きくなる場合（Ｓ１２３：Ｎｏ）、影響が無視できないと考えられるため、Ｓ１１４で選択した模擬車両は操作車両の影響を受ける。そこで、第二模擬演算部１１３はＳ１１８の計算結果の車両情報を第二車両情報記憶部１１７２に格納する（Ｓ１２０）。
【００８０】
第二模擬演算部１１３は、操作車両および影響車両の影響を受けない場合（Ｓ１１７：Ｎｏ）、Ｓ１１４で選択した車両の車両情報は第一車両情報記憶部１１７１の車両情報であるとみなせる。そこで、第二模擬演算部１１３は、Ｓ１１４で選択した車両の演算中のシミュレーション時刻に対応する車両情報を第一車両情報記憶部１１７１から読み出す（Ｓ１１９）。第二模擬演算部１１３は、演算中のシミュレーション時刻に対応する車両情報を第二車両情報記憶部１１７２に格納する（Ｓ１２０）。Ｓ１２０の後、第二模擬演算部１１３は、Ｓ１１３以降の処理を実行する。
【００８１】
未選択の車両がない場合（Ｓ１１３：Ｎｏ）、第二模擬演算部１１３は、視界表示部１１５にシミュレーション演算の結果を操作車両の運転者の視界として表示する（Ｓ１２１）。Ｓ１２１の後、第二模擬演算部１１３はステップを更新する（Ｓ１２２）。Ｓ１２２の後、第二模擬演算部１３は次のシミュレーション時刻での再シミュレーション処理を実行するため、Ｓ１１２以降の処理を実行する。
［影響判定処理］
図１８は、第二の実施例の再シミュレーション処理時に実行する操作車両の影響判定処理のフローチャートである。
【００８２】
車両抽出部１１６は、事前シミュレーション処理で模擬車両が参照した車両の挙動が操作車両の影響を受けて再計算されたか否かるか否かを判別する（Ｓ１３１）。事前シミュレーション処理で模擬車両が参照した車両は、参照情報記憶部１２１に記憶された参照情報２６に基づき検出する。検出した車両の挙動を再計算したか否かは、例えば、第一車両情報記憶部１７１の車両情報２２と第二車両情報記憶部１７２の車両情報２４を比較することで判断する。事前シミュレーション処理で模擬車両が参照した車両が操作車両の影響を受けている場合（Ｓ１３１：Ｙｅｓ）、車両抽出部１１６は、模擬車両は操作車両の影響があると判定する（Ｓ１３５）。
【００８３】
車両抽出部１１６は、事前シミュレーション処理で実際に参照した車両の情報を利用することにより、操作車両の影響を過大・過小に評価する可能性がなくなるため、より的確に操作車両の影響を調べることができる。また、車両影響判定条件を用いるよりも処理が単純なため、車両抽出部１１６は、再シミュレーション処理の演算量を削減することができる。
【００８４】
事前シミュレーション処理で模擬車両が参照した車両が操作車両の影響を受けていない場合（Ｓ１３１：Ｎｏ）、車両抽出部１１６は、再シミュレーション処理で模擬車両が操作車両の影響を受けているか否かを判別する（Ｓ１３２）。車両抽出部１６は、例えば、一つ前のステップの模擬車両および操作車両の車両情報２４を第二車両情報記憶部１７２から読み出し、影響判定条件情報２５に含まれる条件に基づき模擬車両から操作車両への影響の有無を判定する。
【００８５】
再シミュレーション処理で模擬車両が操作車両の影響を受けている場合（Ｓ１３２：Ｙｅｓ）、車両抽出部１１６は、模擬車両は操作車両の影響があると判定する（Ｓ１３５）。
【００８６】
再シミュレーション処理で模擬車両が操作車両の影響を受けていない場合（Ｓ１３２：Ｎｏ）、車両抽出部１１６は、再シミュレーション処理で影響車両の影響を受けているか否かを判定する（Ｓ１３３）。車両抽出部１６は、例えば、一つ前のステップの影響車両および操作車両の車両情報２４を読み出し、影響判定条件情報２５に含まれる条件に基づき影響車両から操作車両への影響の有無を判定する。
【００８７】
模擬車両が影響車両の影響を受けている場合（Ｓ１３３：Ｙｅｓ）、車両抽出部１１６は、模擬車両は操作車両の影響があると判定する（Ｓ１３５）。模擬車両が影響車両の影響を受けていない場合（Ｓ１３３：Ｎｏ）、車両抽出部１１６は、模擬車両は操作車両の影響を受けていないと判定する（Ｓ１３４）。
［ハードウェア構成］
上記の交通シミュレーション装置の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。
【００８８】
図１９は、交通シミュレーションプログラムを実行するコンピュータを示す図である。
【００８９】
コンピュータ５０は、ＣＰＵ（Central  Processing  Unit）５１、ＲＯＭ（Read  Only  Memory）５３、ＨＤＤ（Hard  Disk  Drive）５４、ＲＡＭ（Random  Access  Memory）５２、モニター５５、入力部５６、視界モニター５７、操作入力部５８を有し、相互にバス５９を介して接続される。
【００９０】
ＲＯＭ５３には、交通シミュレーションプログラムが予め記憶される。ＣＰＵ５１は、交通シミュレーションプログラムをＲＯＭ５３から読み出して実行する。ＨＤＤ５４は、道路モデル、車両モデル、ドライバモデルなどの情報を格納する。
【００９１】
ＣＰＵ５１は、道路モデル、車両モデルと、ドライバモデルとを読み出してＲＡＭ５２に格納する。さらに、ＣＰＵ５１はＲＡＭ５２に格納された道路モデルと、車両モデルと、ドライバモデルとを用いて、交通シミュレーションプログラムを実行する。なお、ＲＡＭ５２に格納される各データは、常に全てのデータがＲＡＭ５２に格納される必要はなく、処理に必要なデータのみがＲＡＭ５２に格納されれば良い。
【００９２】
なお、上記した交通シミュレーションプログラムは、最初からＲＯＭ５３に記憶させておく必要はない。例えば、交通シミュレーションプログラムはコンピュータ５１に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておくことが可能である。そして、コンピュータ５１は、「可搬用の物理媒体」からプログラムを読み出して実行してもよい。
【００９３】
ＣＰＵ５１は、入力部５６から車両モデルやドライバモデル、道路モデル２１などの処理情報を受信し、操作入力部５８から運転者の運転操作入力信号を受信する。ＣＰＵ５１は、交通シミュレーションプログラムの実行結果をモニター５５および運転者の視界情報として視界モニター５７に出力する。
【００９４】
本実施例の交通シミュレーション装置は、必要最小限の模擬車両のみを再シミュレーション処理すればよいため、コンピュータの計算量を削減することができる。その結果、リアルタイム、もしくは、それ以上でのシミュレーション処理が可能になる。特に、広域エリアに少数、例えば、1台だけ特定車両が存在するような場合は、大部分の車両についてはシミュレーションを再度行う必要はないので計算コストの削減効果が高い。本実施例の交通シミュレーション装置は、非常に広域の道路における多数（例えば、数万台以上）の模擬車両の挙動を再現し、運転者が仮想空間内の任意の場所で操作車両を運転することを可能にする。前記また、交通シミュレーション装置は、少数の車両についてのみ条件を変更して繰り返し再シミュレーション処理を行うような場合、例えば、操作車両の被験者の変更や模擬車両のパラメータの変更などを行った際のシミュレーション時に、特に有効である。
【００９５】
なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【符号の説明】
【００９６】
１  交通シミュレーション装置
２  第二の交通シミュレーション装置
１０  第一模擬演算部
１１  入力部
１２  表示部
１３  第二模擬演算部
１４  操作入力部
１５  視界表示部
１６  車両抽出部
１７１  第一車両情報記憶部
１７２  第二車両情報記憶部
１８  モデル記憶部
１９  条件記憶部
５１  ＣＰＵ
５２  ＲＡＭ
５３  ＲＯＭ
５４  ＨＤＤ
５５  モニター
５６  入力部
５７  視界モニター
５８  操作入力部
１１０  第一模擬演算部
１１１  入力部
１１２  表示部
１１３  第二模擬演算部
１１４  操作入力部
１１５  視界表示部
１１６  車両抽出部
１１７１  第一車両情報記憶部
１１７２  第二車両情報記憶部
１１８  モデル記憶部
１１９  条件記憶部
１２１  参照情報記憶部
【図１】
0005673373.tif 000002
【図２】
0005673373.tif 000003
【図３】
0005673373.tif 000004
【図４】
0005673373.tif 000005
【図５】
0005673373.tif 000006
【図６】
0005673373.tif 000007
【図７】
0005673373.tif 000008
【図８】
0005673373.tif 000009
【図１０】
0005673373.tif 000010
【図１１】
0005673373.tif 000011
【図１２】
0005673373.tif 000012
【図１４】
0005673373.tif 000013
【図１５】
0005673373.tif 000014
【図１６】
0005673373.tif 000015
【図１７】
0005673373.tif 000016
【図１８】
0005673373.tif 000017
【図１９】
0005673373.tif 000018
【図９】
0005673373.tif 000019
【図１３】
0005673373.tif 000020