IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社GSECの特許一覧

特許7242098シミュレーションシステム、シミュレーションプログラム及びコンピュータによるシミュレーション方法
<>
  • 特許-シミュレーションシステム、シミュレーションプログラム及びコンピュータによるシミュレーション方法 図1
  • 特許-シミュレーションシステム、シミュレーションプログラム及びコンピュータによるシミュレーション方法 図2
  • 特許-シミュレーションシステム、シミュレーションプログラム及びコンピュータによるシミュレーション方法 図3
  • 特許-シミュレーションシステム、シミュレーションプログラム及びコンピュータによるシミュレーション方法 図4
  • 特許-シミュレーションシステム、シミュレーションプログラム及びコンピュータによるシミュレーション方法 図5
  • 特許-シミュレーションシステム、シミュレーションプログラム及びコンピュータによるシミュレーション方法 図6
  • 特許-シミュレーションシステム、シミュレーションプログラム及びコンピュータによるシミュレーション方法 図7
  • 特許-シミュレーションシステム、シミュレーションプログラム及びコンピュータによるシミュレーション方法 図8
  • 特許-シミュレーションシステム、シミュレーションプログラム及びコンピュータによるシミュレーション方法 図9
  • 特許-シミュレーションシステム、シミュレーションプログラム及びコンピュータによるシミュレーション方法 図10
  • 特許-シミュレーションシステム、シミュレーションプログラム及びコンピュータによるシミュレーション方法 図11
  • 特許-シミュレーションシステム、シミュレーションプログラム及びコンピュータによるシミュレーション方法 図12
  • 特許-シミュレーションシステム、シミュレーションプログラム及びコンピュータによるシミュレーション方法 図13
  • 特許-シミュレーションシステム、シミュレーションプログラム及びコンピュータによるシミュレーション方法 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-10
(45)【発行日】2023-03-20
(54)【発明の名称】シミュレーションシステム、シミュレーションプログラム及びコンピュータによるシミュレーション方法
(51)【国際特許分類】
   G08G 1/16 20060101AFI20230313BHJP
   G08G 1/09 20060101ALI20230313BHJP
【FI】
G08G1/16 A
G08G1/09 H
【請求項の数】 9
(21)【出願番号】P 2021546650
(86)(22)【出願日】2020-09-11
(86)【国際出願番号】 JP2020034568
(87)【国際公開番号】W WO2021054267
(87)【国際公開日】2021-03-25
【審査請求日】2021-12-01
(31)【優先権主張番号】P 2019170943
(32)【優先日】2019-09-19
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】519310193
【氏名又は名称】株式会社GSEC
(74)【代理人】
【識別番号】110003339
【氏名又は名称】弁理士法人南青山国際特許事務所
(72)【発明者】
【氏名】竹之上 典昭
【審査官】佐々木 佳祐
(56)【参考文献】
【文献】特開2016-115143(JP,A)
【文献】特開2008-203913(JP,A)
【文献】特開2009-251519(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00-99/00
(57)【特許請求の範囲】
【請求項1】
平面及び該平面に対する高さを有する三次元の空間を仮想的に区画する複数の仮想空間体が配列されることによって構成される三次元仮想空間に配置される少なくとも飛翔体を含む複数のエンティティの活動をシミュレーションするシミュレーションシステムであって、
前記各仮想空間体は、
前記エンティティを識別するエンティティ情報が前記エンティティの属性に応じて登録される複数のレイヤを備え、
前記レイヤのうち1つのレイヤには、障害物の属性を有するエンティティのエンティティ情報が登録され
該レイヤに登録された前記エンティティ情報に関連づけられる一の前記エンティティの要求に応じて前記レイヤに登録された前記エンティティ情報に関連づけられる他の前記エンティティの前記エンティティ情報を一の前記エンティティに提供する、
シミュレーションシステム。
【請求項2】
前記各仮想空間体は、
一の前記エンティティによって指定される前記三次元仮想空間の任意の位置に配置される他の前記エンティティの前記エンティティ情報を一の前記エンティティに提供する、
請求項1に記載のシミュレーションシステム。
【請求項3】
前記各仮想空間体は、
一の前記エンティティが配置される前記仮想空間体の任意の位置を基準位置として該基準位置から一の前記エンティティによって指定される前記三次元仮想空間の任意の範囲に配置される他の前記エンティティの前記エンティティ情報を一の前記エンティティに提供する、
請求項1に記載のシミュレーションシステム。
【請求項4】
前記各仮想空間体は、
一の前記エンティティが移動する進路上に他の前記エンティティが配置される場合に他の前記エンティティの前記エンティティ情報を一の前記エンティティが移動する前に一の前記エンティティに提供する、
請求項1乃至3のいずれか1項に記載のシミュレーションシステム。
【請求項5】
前記三次元仮想空間の外部に前記仮想空間体が配置され、
該仮想空間体に前記三次元仮想空間の外部に配置される前記エンティティの前記エンティティ情報が登録される、
請求項1乃至4のいずれか1項に記載のシミュレーションシステム。
【請求項6】
離散的な時間の中で次の時刻と評価される時間の刻み幅がタグとして複数設定されて前記三次元仮想空間に配置される前記各エンティティが活動を開始する起動時間が前記タグに関連づけられてイベントとして登録される複数のタイムホイールによって構成され、該各タイムホイールを隠蔽する階層化タイムホイールと、
該階層化タイムホイールに登録された前記イベントに関連づけられる前記各エンティティが配置される前記三次元仮想空間を生成するアプリケーションソフトウェアと、
を備える請求項1乃至5のいずれか1項に記載のシミュレーションシステム。
【請求項7】
前記各エンティティのうち任意の前記エンティティが自動運転車両であって、
該自動運転車両の活動をシミュレーションする、
請求項1乃至6のいずれか1項に記載のシミュレーションシステム。
【請求項8】
平面及び該平面に対する高さを有する三次元の空間を仮想的に区画する複数の仮想空間体が配列されることによって構成される三次元仮想空間に配置される少なくとも飛翔体を含む複数のエンティティの活動をシミュレーションするシミュレーションプログラムであって、
前記各仮想空間体は、
前記エンティティを識別するエンティティ情報が前記エンティティの属性に応じて登録される複数のレイヤを備え、
該レイヤに登録された前記エンティティ情報に関連づけられる一の前記エンティティの要求に応じて前記レイヤに登録された前記エンティティ情報に関連づけられる他の前記エンティティの前記エンティティ情報を一の前記エンティティに提供する、
シミュレーションプログラム。
【請求項9】
平面及び該平面に対する高さを有する三次元の空間を仮想的に区画する複数の仮想空間体が配列されることによって構成される三次元仮想空間に配置される少なくとも飛翔体を含む複数のエンティティの活動をコンピュータによりシミュレーションするシミュレーション方法であって、
前記エンティティを識別するエンティティ情報が前記エンティティの属性に応じて登録される複数のレイヤを有する前記各仮想空間体が、前記レイヤに登録された前記エンティティ情報に関連づけられる一の前記エンティティの要求に応じて前記レイヤに登録された前記エンティティ情報に関連づけられる他の前記エンティティの前記エンティティ情報を一の前記エンティティに提供する、
コンピュータによるシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シミュレーションシステム、シミュレーションプログラム及びシミュレーション方法、特に、平面及び平面に対する高さを有する三次元の空間を仮想的に区画する複数の仮想空間体が配列されることによって構成される三次元仮想空間に配置される複数のエンティティの活動をシミュレーションするシミュレーションシステム、シミュレーションプログラム及びシミュレーション方法に関する。
【背景技術】
【0002】
例えば、軍事作戦における軍隊の行動や、車両の走行環境における自動運転車両の走行状況といった、種々のシミュレーションモデルについて、そのシミュレーションモデルに基づくシミュレーションによって対象物であるエンティティを分析したり評価したりする技術が提案されている。
【0003】
特許文献1には、移動するエンティティの衝突判定を行うシミュレーションシステムにおいて、シミュレーション結果によりエンティティの移動可能範囲を求め、求めた移動可能範囲の重なりから衝突する可能性のあるエンティティを抽出し、エンティティ間の接近距離を算出してエンティティ同士の衝突判定を行うことが開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2009-251519公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、この種のシミュレーションシステムにおいては、あるエンティティの活動が他のエンティティ(多くは、あるエンティティの近傍に存在するエンティティであることが想定される。)の活動に及ぼす影響を評価することがシミュレーションの主な目的となる。
【0006】
この場合、これらエンティティは、あるエンティティと他のエンティティとの間で行われる情報の処理に基づいて移動距離や移動時間が調整されて移動することから、エンティティ間での情報の処理量や処理時間が増大し、シミュレーションシステムに負荷がかかり、ひいてはシミュレーション能力の低下につながることが懸念される。
【0007】
本発明は、上記事情に鑑みてなされたものであり、シミュレーション能力の低下を招くことのないシミュレーションシステム、シミュレーションプログラム及びシミュレーション方法を提供することを課題とするものである。
【課題を解決するための手段】
【0008】
上記課題を達成するための、本発明に係るシミュレーションシステムは、平面及び平面に対する高さを有する三次元の空間を仮想的に区画する複数の仮想空間体が配列されることによって構成される三次元仮想空間に配置される複数のエンティティの活動をシミュレーションするシミュレーションシステムであって、各仮想空間体は、エンティティを識別するエンティティ情報がエンティティの属性に応じて登録される複数のレイヤを備え、レイヤに登録されたエンティティ情報に関連づけられる一のエンティティの要求に応じてレイヤに登録されたエンティティ情報に関連づけられる他のエンティティのエンティティ情報を一のエンティティに提供するものである。
【0009】
これによれば、仮想空間体が、一のエンティティの要求に応じて、他のエンティティのエンティティ情報を一のエンティティに提供することから、エンティティの間で情報の処理が行われることなく、シミュレーションが実行される。
【0010】
したがって、エンティティ間での情報の処理量や処理時間が増大することがないことから、シミュレーション能力の低下を招くことのないシミュレーションシステムが実現される。
【0011】
このシミュレーションシステムの各仮想空間体は、一のエンティティによって指定される三次元仮想空間の任意の位置に配置される他のエンティティのエンティティ情報を一のエンティティに提供するものである。
【0012】
このシミュレーションシステムの各仮想空間体は、一のエンティティが配置される仮想空間体の任意の位置を基準位置として基準位置から一のエンティティによって指定される三次元仮想空間の任意の範囲に配置される他のエンティティのエンティティ情報を一のエンティティに提供するものである。
【0013】
さらに、シミュレーションシステムの各仮想空間体は、一のエンティティが移動する進路上に他のエンティティが配置される場合に他のエンティティのエンティティ情報を一のエンティティが移動する前に一のエンティティに提供するものである。
【0014】
このシミュレーションシステムでは、三次元仮想空間の外部に仮想空間体が配置され、この仮想空間体に三次元仮想空間の外部に配置されるエンティティのエンティティ情報が登録されるものである。
【0015】
このシミュレーションシステムは、離散的な時間の中で次の時刻と評価される時間の刻み幅がタグとして複数設定されて三次元仮想空間に配置される各エンティティが活動を開始する起動時間がタグに関連づけられてイベントとして登録される複数のタイムホイールによって構成され、各タイムホイールを隠蔽する階層化タイムホイールと、階層化タイムホイールに登録されたイベントに関連づけられる各エンティティが配置される三次元仮想空間を生成するアプリケーションソフトウェアと、を備えるものである。
【0016】
さらに、シミュレーションシステムは、各エンティティのうち任意のエンティティが自動運転車両であって、自動運転車両の活動をシミュレーションするものであってもよい。
【0017】
上記課題を達成するための、本発明に係るシミュレーションプログラムは、平面及び平面に対する高さを有する三次元の空間を仮想的に区画する複数の仮想空間体が配列されることによって構成される三次元仮想空間に配置される複数のエンティティの活動をシミュレーションするシミュレーションプログラムであって、各仮想空間体は、エンティティを識別するエンティティ情報がエンティティの属性に応じて登録される複数のレイヤを備え、レイヤに登録されたエンティティ情報に関連づけられる一のエンティティの要求に応じてレイヤに登録されたエンティティ情報に関連づけられる他のエンティティのエンティティ情報を一のエンティティに提供するものである。
【0018】
上記課題を達成するための、本発明に係るシミュレーション方法は、平面及び平面に対する高さを有する三次元の空間を仮想的に区画する複数の仮想空間体が配列されることによって構成される三次元仮想空間に配置される複数のエンティティの活動をシミュレーションするシミュレーション方法であって、エンティティを識別するエンティティ情報がエンティティの属性に応じて登録される複数のレイヤを有する各仮想空間体が、レイヤに登録されたエンティティ情報に関連づけられる一のエンティティの要求に応じてレイヤに登録されたエンティティ情報に関連づけられる他のエンティティのエンティティ情報を一のエンティティに提供するものである。
【発明の効果】
【0019】
この発明によれば、シミュレーション能力の低下を招くことのないシミュレーションシステム、シミュレーションプログラム及びシミュレーション方法が実現される。
【図面の簡単な説明】
【0020】
図1】本発明の実施の形態に係るシミュレーションシステムの概略を説明する図である。
図2】同じく、本実施の形態に係るシミュレーションシステムの計算機の構成の概略を説明する図である。
図3】同じく、本実施の形態に係るシミュレーションシステムの計算機のメモリに記憶された階層化タイムホイールの構成の概略を説明するブロック図である。
図4】同じく、本実施の形態に係るシミュレーションシステムの計算機のメモリに記憶された階層化タイムホイールを構成する複数のタイムホイールの構成の概略を説明する図である。
図5】同じく、本実施の形態に係るシミュレーションシステムの計算機のメモリに記憶された階層化タイムホイールの作動概略を説明する図である。
図6】同じく、本実施の形態に係るシミュレーションシステムの計算機のストレージの構成の概略を説明する図である。
図7】同じく、本実施の形態に係るシミュレーションシステムの計算機のストレージにおけるシナリオデータの構成の概略を説明するブロック図である。
図8】同じく、本実施の形態に係るシミュレーションシステムの計算機のメモリで展開される三次元仮想空間の構成の概略を説明する図である。
図9】同じく、本実施の形態に係るシミュレーションシステムの計算機のメモリで展開される三次元仮想空間を構成する仮想空間体の構成の概略を説明する図である。
図10】同じく、本実施の形態に係るシミュレーションシステムの計算機のメモリで展開される三次元仮想空間を構成する仮想空間体での処理の概略を説明する図である。
図11】同じく、本実施の形態に係るシミュレーションシステムの計算機のメモリで展開される三次元仮想空間を構成する仮想空間体での処理の概略を説明する図である。
図12】同じく、本実施の形態に係るシミュレーションシステムの計算機のメモリで展開される三次元仮想空間を構成する仮想空間体での処理の概略を説明する図である。
図13】同じく、本実施の形態に係るシミュレーションシステムの計算機のメモリで展開される三次元仮想空間の外部に仮想空間体が配置される場合の概略を説明する図である。
図14】本発明の他の実施の形態に係るシミュレーションシステムの概略を説明するブロック図である。
【発明を実施するための形態】
【0021】
次に、図1図13に基づいて、本発明の実施の形態に係るシミュレーションシステムについて説明する。
【0022】
図1は、本実施の形態に係るシミュレーションシステムの概略を説明する図である。図示のように、シミュレーションシステム1は、後述する三次元仮想空間において実現されるシミュレーションモデル100を生成する計算機10によって構成される。
【0023】
シミュレーションモデル100は、本実施の形態では、自動運転車両の評価を行うものであって、評価対象となる対象物である評価車両やその他の車両、あるいは自転車や歩行者といったエンティティの活動がイベントとして登録されて、登録されたイベントが起動される。
【0024】
計算機10は、ユーザUの操作によって生成したシミュレーションモデル100に基づいて対象物を評価するものであって、本実施の形態では、サーバとして機能するコンピュータ、デスクトップ型のコンピュータ、ノート型のコンピュータ、スマートフォンあるいはタブレット型コンピュータといった各種のコンピュータによって実装される。
【0025】
図2は、計算機10の構成の概略を説明するブロック図である。図示のように、計算機10は、プロセッサ11、メモリ12、ストレージ13、送受信部14、及び入出力部15を主要構成として備え、これらが互いにバス16を介して電気的に接続される。
【0026】
プロセッサ11は、計算機10の動作を制御し、各要素間におけるデータの送受信の制御や、プログラムの実行に必要な処理等を行う演算装置である。
【0027】
このプロセッサ11は、本実施の形態では例えばCPU(Central Processing Unit)であり、後述するストレージ13に格納されてメモリ12に展開されたプログラムを実行して各処理を行う。
【0028】
メモリ12は、DRAM(Dynamic Random Access Memory)等の揮発性記憶装置で構成される主記憶装置、及びフラッシュメモリやHDD(Hard Disc Drive)等の不揮発性記憶装置で構成される補助記憶装置を備える。
【0029】
このメモリ12は、プロセッサ11の作業領域として使用される一方、計算機10の起動時に実行されるBIOS(Basic Input/Output System)、及び各種の設定情報等が格納される。
【0030】
本実施の形態では、後述する階層化タイムホイールが生成される場合に、階層化タイムホイールを構成するタイムホイールがディクショナリとして登録されて、階層化タイムホイールが記憶される。
【0031】
ストレージ13は、プログラムや各種の処理に用いられる情報等が記憶されている。このストレージ13の構成については、後述する。
【0032】
送受信部14は、計算機10をインターネット網等のネットワークに接続するものであって、Bluetooth(登録商標)やBLE(Bluetooth Low Energy)といった近距離通信インターフェースを具備するものであってもよい。
【0033】
入出力部15には、入出力機器が接続されるインターフェースであって、これら入出力機器としては、例えばキーボードやマウス、ディスプレイといったものが想定される。
【0034】
バス16は、接続したプロセッサ11、メモリ12、ストレージ13、送受信部14及び入出力部15の間において、例えばアドレス信号、データ信号及び各種の制御信号を伝達する。
【0035】
図3は、メモリ12にディクショナリとして登録されて記憶された階層化タイムホイール21の構成の概略を説明する図である。図示のように、階層化タイムホイール21は、時間単位の異なる複数の時間階層にそれぞれ対応した複数のタイムホイールによって構成され、本実施の形態では、シミュレーションモデル100に応じて、「日」、「時」、「分」、「秒」及び「ミリ秒」の時間階層に対応したタイムホイール22~26によって構成される。
【0036】
図4は、階層化タイムホイール21を構成する各タイムホイール22~26の構成の概略を説明する図である。図示のように、各タイムホイール22~26は、離散的な時間の中で次の時刻と評価される時間の刻み幅がタグTとして設定され、このタグTがイベント処理の時間差分の最大数をもって環状に配列されたタイムテーブル型の記憶領域である。
【0037】
これら各タイムホイール22~26のタグTには、イベントが関連づけられて登録され、各タイムホイール22~26に予め設定された、現在時間を示す第1指示位置~第n指示位置であるアベイルA1~A5が、タグTに関連づけられたイベントの起動時間と一致した場合に、イベントが起動する。
【0038】
各タイムホイール22~26は、階層化タイムホイール21によって、メモリ12に不正に侵入するプログラムに対して隠蔽されることから、このプログラムに検知されて改変されることが防止される。
【0039】
さらに、各タイムホイール22~26は、階層化タイムホイール21によって、計算機10を操作するユーザUも不可視とされることから、ユーザUは階層化タイムホイール21を生成するに際して階層化タイムホイール21を構成する各タイムホイール22~26の設定を行う必要がない。したがって、シミュレーションを簡易に実行することができる。
【0040】
図5は、階層化タイムホイール21の作動概略を説明する図である。図示のように、「時」、「分」及び「秒」の時間階層に対応するタイムホイール23~25が構成される場合において、例えばタイムホイール24を第1タイムホイールとする。
【0041】
この場合、タイムホイール24に対して下位の時間階層である「秒」の時間階層に対応するタイムホイール25を第nタイムホイールとすれば、タイムホイール25のアベイルA4が位置する始点のタグTから終点のタグTまでイベントが進行すると、第1タイムホイールであるタイムホイール24のアベイルA3が現在のタグTから次のタグTまでイベントが進行する。
【0042】
タイムホイール24のアベイルA3が現在のタグTから次のタグTまでイベントが進行すると、本実施の形態では、タイムホイール24に対して上位の時間階層である「時」の時間階層に対応するタイムホイール23に登録されたイベントが起動する。
【0043】
上記のような構成のタイムホイールを用いてシミュレーションを行う場合、イベントが関連づけられて登録されていないタグをスキップして演算処理が実行されることから、シミュレーションにおける処理を高速で処理することができる。
【0044】
図6は、ストレージ13の構成の概略を説明するブロック図である。図示のように、ストレージ13は、ストレージ13の記憶領域に記憶されるシナリオデータ30、シミュレーションプログラム40及び三次元表示処理プログラム50を備える。
【0045】
図7は、シナリオデータ30の構成の概略を説明するブロック図である。図示のように、シナリオデータ30は、空間データD1、イベントデータD2及びエンティティデータD3によって構成される。
【0046】
空間データD1は、本実施の形態では、シミュレーションモデル100が実現される三次元仮想空間を生成するデータである。
【0047】
イベントデータD2は、例えば緊急車両の走行、信号の変化や歩行者の歩行等といったシミュレーションモデル100において起動するイベントを生成するデータである。
【0048】
エンティティデータD3は、本実施の形態では、対象物となる自動運転車両や他の車両、自転車あるいは歩行者等といった移動体となるエンティティや、路面や信号機といった構造物となるエンティティを生成するデータである。
【0049】
図6で示すように、シミュレーションプログラム40は、タイムホイール生成モジュール41、空間生成モジュール42及びイベント登録モジュール43を備える。
【0050】
タイムホイール生成モジュール41は、本実施の形態では、シミュレーションモデル100に応じて必要となる任意のタイムホイール22~26を階層化タイムホイール21として生成するモジュールある。
【0051】
空間生成モジュール42は、本実施の形態では、シミュレーションモデル100が実現される三次元仮想空間を生成するモジュールである。
【0052】
図8は、三次元仮想空間の構成の概略を説明する図である。図示のように、三次元仮想空間60は、複数の仮想空間体61が配列されることによって構成される。
【0053】
仮想空間体61は、本実施の形態では、x座標及びy座標からなる平面、この平面に対するh座標からなる高さを有する三次元の空間を仮想的に区画する立方体状であって、計算機10のメモリ12で展開される。
【0054】
図9は、仮想空間体61の構成の概略を説明する図である。図示のように、仮想空間体61は、複数のレイヤ61a~61nを備える。これらレイヤ61a~61nには、本実施の形態では、エンティティの名称(種類)や色といったエンティティを識別するエンティティ情報が、エンティティの属性に応じて登録される。
【0055】
本実施の形態では、例えばレイヤ61aには、シミュレーションモデル100に出現する、「object」の属性を有するエンティティのエンティティ情報が登録される。「object」の属性を有するエンティティとしては、例えば対象物となる自動運転車両や他の車両、自転車や歩行者等が想定される。
【0056】
レイヤ61bには、本実施の形態では、シミュレーションモデル100に出現する、「obstacle」の属性を有するエンティティのエンティティ情報が登録される。「obstacle」の属性を有するエンティティとしては、例えば建物、地形及び工事状況等が想定される。
【0057】
レイヤ61cには、本実施の形態では、シミュレーションモデル100に出現する、「road」の属性を有するエンティティのエンティティ情報が登録される。「road」の属性を有するエンティティとしては、例えば対象物となる自動運転車両や他の車両等が走行する道路及び交差点によって構成される道路網が想定される。
【0058】
一方、レイヤ61dには、本実施の形態では、シミュレーションモデル100に出現する、「signal」の属性を有するエンティティのエンティティ情報が登録される。「signal」の属性を有するエンティティとしては、信号機が想定される。
【0059】
このような仮想空間体61は、本実施の形態では、レイヤ61a~61nに登録されたエンティティ情報に関連づけられる一のエンティティの要求に応じて、レイヤ61a~61nに登録されたエンティティ情報に関連づけられる他のエンティティのエンティティ情報を一のエンティティに提供する。
【0060】
図10で示すように、仮想空間体61は、仮想空間体61に配置される一のエンティティE1(例えば対象物である自動運転車両)によって指定される三次元仮想空間60の任意の位置に配置される他のエンティティE2(例えば他の車両)のエンティティ情報を、一のエンティティE1に提供する。
【0061】
具体的には、一のエンティティE1によって、仮想空間体61上のx座標、y座標及びh座標を介して三次元仮想空間60のx座標、y座標及びh座標(例えばx:8,y:3,h:6)が指定されるとともに、レイヤ61a~61nから任意のレイヤ(例えば「object」の属性を有するエンティティのエンティティ情報が登録されるレイヤ61a)が指定されると、仮想空間体61は、指定された位置(x:8,y:3,h:6)においてレイヤ61aに配置される他のエンティティE2のエンティティ情報を、一のエンティティE1に提供する。
【0062】
一方、図11で示すように、仮想空間体61は、一のエンティティE1が配置される仮想空間体61の任意の位置を基準位置Sとして、この基準位置Sから一のエンティティE1によって指定される三次元仮想空間60の任意の範囲に配置される他のエンティティE2のエンティティ情報を、一のエンティティE1に提供する。
【0063】
具体的には、一のエンティティE1によって、一のエンティティE1が配置される仮想空間体61における基準位置Sから扇状の検索センサPが投影されることによって任意の範囲が指定され、仮想空間体61で指定された任意の範囲を介して三次元仮想空間60の任意の範囲が指定される。
【0064】
本実施の形態では、仮想空間体61は、検索センサPが投影されて指定された範囲に配置された他のエンティティE2のエンティティ情報を、一のエンティティE1に提供する。
【0065】
なお、仮想空間体61に投影される検索センサPは扇状に限られるものではなく、矩形、楕円形あるいは立方体状等、種々の形状あるいは形態のものが採用される。
【0066】
図12で示すように、仮想空間体61は、一のエンティティE1が移動する進路上に他のエンティティE2が配置される場合に、他のエンティティE2のエンティティ情報を、一のエンティティE1が移動する前に一のエンティティE1に提供する。
【0067】
具体的には、一のエンティティE1が移動する進路が、例えば矢線Nで示すN方向である場合において、N方向に配置される他のエンティティE2のエンティティ情報を、一のエンティティE1が移動する前に一のエンティティE1に提供する。
【0068】
これにより、一のエンティティE1は、N方向に移動する前に他のエンティティE2を検知することができることから、N方向以外で移動可能な方向(例えば矢線E、NE、W及びNWでそれぞれ示すE方向、NE方向、W方向及びNW方向)に移動することによって、他のエンティティE2との衝突を回避することができる。
【0069】
図13は、三次元仮想空間60の外部に仮想空間体61が配置される場合の概略を説明する図である。図示のように、三次元仮想空間60の外部には、単一の仮想空間体61が更に配置される。
【0070】
この仮想空間体61には、シミュレーションモデル100で想定されるエンティティの活動範囲の外側で活動するエンティティのエンティティ情報が、エンティティの属性に応じて複数のレイヤ61a~61nに登録される。
【0071】
本実施の形態では、自動運転車両の評価を行うシミュレーションモデル100において、例えば、活動範囲が規定された地域に対して遠方の地域から近接する他の車両をエンティティとして処理する場合に、そのエンティティのエンティティ情報が三次元仮想空間60の外部に配置された仮想空間体61に登録される。
【0072】
これにより、シミュレーションモデル100でエンティティが活動する活動範囲を拡張することなく、活動範囲の外側で活動するエンティティの活動をシミュレーションすることができることから、活動範囲の拡張に伴う計算機10の資源の費消によるシミュレーションシステム1の処理能力の低下が回避される。
【0073】
図6で示すように、イベント登録モジュール43は、本実施の形態では、タイムホイール生成モジュール41で生成した階層化タイムホイール21の任意のタイムホイール22~26の任意のタグTに、イベントを関連づけて登録するモジュールである。
【0074】
任意のタイムホイール22~26に登録されるイベントには、イベント処理の時間差分が起動時間として記憶されており、イベントの起動時間が時間単位の異なる複数の時間階層に亘る場合は、階層化タイムホイール21の複数のタイムホイール22~26の全てあるいはいずれかに亘ってイベントが登録される。
【0075】
三次元表示処理プログラム50は、シミュレーションモデル100を計算機10に接続されるディスプレイに三次元で表示するように処理するプログラムである。
【0076】
次に、本実施の形態のシミュレーションシステム1の使用手順を説明する。
【0077】
本実施の形態では、まず、シミュレーションモデル100及びシミュレーションモデル100で起動されるイベントに応じて生成される階層化タイムホイール21が、タイムホイール22~26ごとにメモリ12にディクショナリとして登録され、階層化タイムホイール21が生成される。
【0078】
例えば、イベントの起動時間が「時」の時間階層、「分」の時間階層及び「秒」の時間階層に亘る場合には、タイムホイール23~25がディクショナリとして登録されて記憶され、タイムホイール23~25によって階層化タイムホイール21が生成される。
【0079】
次に、メモリ12において、複数の仮想空間体61が生成されてシミュレーションモデル100に応じて配列されて、三次元仮想空間60が構成される。
【0080】
続いて、イベントが登録される。登録されるイベントは、本実施の形態では、例えば、エンティティデータD3に基づいて生成されるエンティティである評価車両や、同じくエンティティである緊急車両や自転車といった他の車両等が三次元仮想空間60に出現する時間や位置等がイベントとして登録される。
【0081】
一方、イベントとして登録されるエンティティのエンティティ情報が、エンティティの属性に応じて、三次元仮想空間60を構成する各仮想空間体61の複数のレイヤ61a~61nに登録される。
【0082】
次に、シミュレーションモデル100に基づいてシミュレーションが実行され、評価車両の自動運転に関するシミュレーションに基づいて、評価車両の自動運転が評価される。このとき、シミュレーションモデル100は、本実施の形態では、計算機10に接続されるディスプレイに三次元で表示される。
【0083】
本実施の形態のシミュレーションシステム1で実行されるシミュレーションでは、仮想空間体61が、一のエンティティの要求に応じて他のエンティティのエンティティ情報を一のエンティティに提供する。
【0084】
例えば、一のエンティティE1によって、仮想空間体61上の位置及びレイヤ61a~61nのうちの任意のレイヤが指定される、あるいは基準位置Sから検索センサPが投影されることによって任意の範囲が指定されると、仮想空間体61は、指定された位置において任意のレイヤに配置される他のエンティティE2のエンティティ情報を、一のエンティティE1に提供する。
【0085】
さらに、一のエンティティE1が移動する進路上に他のエンティティE2が配置される場合に、仮想空間体61は、他のエンティティE2のエンティティ情報を、一のエンティティE1が移動する前に一のエンティティE1に提供する。
【0086】
一方、本実施の形態では、三次元仮想空間60の外部に単一の仮想空間体61が更に配置され、シミュレーションモデル100で想定されるエンティティの活動範囲の外側で活動するエンティティのエンティティ情報が登録され、シミュレーションモデル100でエンティティが活動する活動範囲の外側で活動するエンティティの活動をシミュレーションすることができる。
【0087】
このように、本実施の形態のシミュレーションシステム1によれば、仮想空間体61が、一のエンティティの要求に応じて、他のエンティティのエンティティ情報を一のエンティティに提供することから、エンティティの間で情報の処理が行われることなく、シミュレーションが実行される。
【0088】
したがって、エンティティ間での情報の処理量や処理時間が増大することがないことから、シミュレーション能力の低下を招くことのないシミュレーションシステム1が実現される。
【0089】
(他の実施の形態)
次に、図14に基づいて、本発明の他の実施の形態に係るシミュレーションシステム2について説明する。
【0090】
なお、シミュレーションシステム2において、シミュレーションシステム1と同様の構成には同一の符号を付して、その説明を省略する。
【0091】
図示のように、シミュレーションシステム2は、計算機10、計算機10上で実行される階層化タイムホイール21、階層化タイムホイール21を生成するとともに生成した階層化タイムホイール21にイベントを登録するシミュレーションプログラム40、及び階層化タイムホイール21上でエンティティを生成するアプリケーションソフトウェア70を備える階層モデルによって実現される。
【0092】
このシミュレーションシステム2では、シミュレーションモデルをシミュレーションする計算機10のOS(Operating System)として、階層化タイムホイール21を用いることができる。
【0093】
一方、シミュレーションシステム2では、階層化タイムホイール21上にイベントとして登録されるエンティティを生成するアプリケーションソフトウェア70を開発する環境が、例えばAPI(Application Programming Interface)によって提供される、あるいはアプリケーションソフトウェア70のソースコードを公開することによって提供される。
【0094】
アプリケーションソフトウェア70は、本実施の形態では、仮想空間体61、この仮想空間体61が複数配列された三次元仮想空間60、及びこの三次元仮想空間60に配置されるシミュレーションモデルに含まれるエンティティを生成するものである。
【0095】
アプリケーションソフトウェア70としては、仮想空間体61や三次元仮想空間60を生成する空間生成アプリケーションソフトウェアのほか、例えば、シミュレーションモデル100であれば、自動運転車両や他の車両といった移動体を生成する移動体生成アプリケーションソフトウェア、自動運転車両等が走行する路面あるいは地形といった構造物を生成する構造物生成アプリケーションソフトウェア等が想定される。
【0096】
さらに、例えば、移動体の進行方向を制御する方向制御アプリケーションソフトウェアや、シミュレーションモデル100のディスプレイへの表示を制御する表示制御アプリケーションソフトウェア等、エンティティのユーティリティに関するアプリケーションソフトウェアも想定される。
【0097】
なお、アプリケーションソフトウェア70によってシミュレーションプログラム40が実装されるように構成することもできる。
【0098】
このように、本実施の形態のシミュレーションシステム2によれば、階層化タイムホイール21を構成する各タイムホイール22~26が階層化タイムホイール21によって隠蔽されて計算機10上で実行されることから、メモリ12に不正に侵入するプログラムに検知されて階層化タイムホイール21が改変されることが防止される。
【0099】
一方で、各タイムホイール22~26は、階層化タイムホイール21によって、アプリケーションソフトウェア70を開発する開発者にも不可視とされることから、開発者はアプリケーションソフトウェア70を開発するに際して階層化タイムホイール21を構成する各タイムホイール22~26の設定を行う必要がなく、アプリケーションソフトウェア70の開発を簡易に実行することができる。
【0100】
したがって、メモリ12に侵入するプログラムに階層化タイムホイール21が改変されることのない安全な環境において、各タイムホイール22~26を意識することなく生成されたアプリケーションソフトウェア70を用いながら、シミュレーションモデルに応じて柔軟に階層化タイムホイール21を構築することができることから、汎用性に富んだシミュレーションシステム2が実現される。
【0101】
なお、本発明は上記実施の形態及び上記他の実施の形態に限定されることはなく、発明の趣旨を逸脱しない範囲で種々の変更が可能である。
【0102】
上記実施の形態では、他のエンティティE2が、一のエンティティE1として評価対象となる自動運転車両に対する他の車両である場合を説明したが、例えば歩行者や自転車、信号機や建物、あるいは道路網等といった各種のエンティティであってもよい。
【0103】
上記実施の形態では、シミュレーションモデル100が自動運転車両の評価である場合を説明したが、ドローンの飛行進路の評価、航空機の飛行空間の制御、鉄道交通網やバス交通網の運行評価、軍隊の行動評価、電波発信源間の電波の疎通解析及び妨害発信源の探索、工場内外の物流解析等、各種の評価に用いることができる。
【0104】
1、2 シミュレーションシステム
10 計算機
21 階層化タイムホイール
22~26 タイムホイール
30 シナリオデータ
40 シミュレーションプログラム
41 タイムホイール生成モジュール
42 空間生成モジュール
60 三次元仮想空間
61 仮想空間体
61a~61n レイヤ
70 アプリケーションソフトウェア
E1 一のエンティティ
E2 他のエンティティ
P 検索センサ
U ユーザ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14