(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-01
(54)【発明の名称】AV挙動テスト用シミュレーション環境の生成
(51)【国際特許分類】
G06F 11/36 20060101AFI20240125BHJP
G01M 17/007 20060101ALI20240125BHJP
【FI】
G06F11/36 184
G06F11/36 196
G01M17/007 B
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023546157
(86)(22)【出願日】2022-01-28
(85)【翻訳文提出日】2023-09-27
(86)【国際出願番号】 EP2022052124
(87)【国際公開番号】W WO2022162190
(87)【国際公開日】2022-08-04
(32)【優先日】2021-01-29
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】521163628
【氏名又は名称】ファイブ、エーアイ、リミテッド
【氏名又は名称原語表記】FIVE AI LIMITED
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【氏名又は名称】赤岡 明
(74)【代理人】
【識別番号】100152205
【氏名又は名称】吉田 昌司
(72)【発明者】
【氏名】ラッセル、ダーリング
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GB08
5B042HH07
5B042HH17
5B042HH49
(57)【要約】
自律走行車をテストするためのシミュレーション環境を生成するためのコンピュータ実装方法は、自己物体と対抗物体との間の動的相互作用を備えるシナリオを生成するステップであり、相互作用が、静的シーン・トポロジに対して規定された、ステップを備える。この方法は、動的相互作用のパラメータを備える動的レイヤおよび静的シーン・トポロジを備える静的レイヤをシミュレータに与えるステップと、マップストアを検索して、静的シーン・トポロジに一致するシーン・トポロジを有するマップにアクセスするステップと、一致するシーン・トポロジを使用して、動的相互作用のシミュレート版を生成するステップと、を備える。
【特許請求の範囲】
【請求項1】
自律走行車をテストするためのシミュレーション環境を生成するためのコンピュータ実装方法であって、
自己物体と少なくとも1つの対抗物体との間の動的相互作用を備えるシナリオを生成するステップであり、前記相互作用が、静的シーン・トポロジに対して規定された、ステップと、
前記動的相互作用のパラメータを備える前記シナリオの動的レイヤをシミュレータに与えるステップと、
前記静的シーン・トポロジを備える前記シナリオの静的レイヤを前記シミュレータに与えるステップと、
マップストアを検索して、前記静的シーン・トポロジに一致するシーン・トポロジを有するマップにアクセスするステップと、
前記マップの前記一致するシーン・トポロジを使用して、前記シナリオの前記動的相互作用のシミュレート版を生成するステップと、
を備える、コンピュータ実装方法。
【請求項2】
前記一致するシーン・トポロジが、前記アクセス・マップのマップ・セグメントを備える、請求項1に記載の方法。
【請求項3】
前記マップストアを検索するステップが、前記静的シーン・トポロジの1つまたは複数のパラメータを規定するクエリーを受け付けることと、前記1つまたは複数のパラメータに基づいて、前記一致するシーン・トポロジを検索することと、を備える、請求項1または2に記載の方法。
【請求項4】
コンピュータ機器のユーザ・インターフェースにおいて、ユーザから前記クエリーを受け付けるステップを備える、請求項3に記載の方法。
【請求項5】
前記少なくとも1つのパラメータが、
前記静的シーン・トポロジにおける道路または道路の車線の幅と、
前記静的シーン・トポロジにおける道路の曲率と、
前記静的シーン・トポロジにおける走行可能な経路の長さと、
から選択される、請求項3または4に記載の方法。
【請求項6】
前記少なくとも1つのパラメータが、3次元マップ・シーン・トポロジと一致する静的シーン・トポロジを規定するための3次元パラメータを備える、請求項3または4に記載の方法。
【請求項7】
前記クエリーが、前記マップにおけるシーン・トポロジが前記静的シーン・トポロジに一致するかを判定するための少なくとも1つの閾値を規定する、請求項3、4、または請求項3に従属する場合の請求項5もしくは6に記載の方法。
【請求項8】
前記シナリオを生成するステップが、
前記静的シーン・トポロジの画像をコンピュータ機器のディスプレイにレンダリングすることと、
ユーザ入力を受け付けるための一組の入力フィールドを備え、自己物体に対する対抗物体の相互作用をパラメータ化するための物体編集ノードを前記ディスプレイにレンダリングすることと、
前記自己物体に対する前記対抗物体の少なくとも1つの時間制約または関係制約を規定する入力を用いて前記物体編集ノードの前記入力フィールドに受け付けることであり、前記少なくとも1つの時間制約または関係制約が、前記自己物体と前記対抗物体との間の規定の相互作用段階の相互作用点を規定する、受け付けることと、
前記一組の制約および規定の相互作用段階を前記コンピュータ機器のコンピュータ・メモリ中の相互作用コンテナに格納することと、
前記相互作用点において前記静的シーン・トポロジ上で実行された前記規定の相互作用段階を備える前記シナリオを生成することと、
を備える、請求項1から7のいずれかに記載の方法。
【請求項9】
所定のシーン・トポロジのライブラリから前記静的シーン・トポロジを選択するステップと、
前記選択したシーン・トポロジを前記ディスプレイにレンダリングするステップと、
を備える、請求項8に記載の方法。
【請求項10】
前記静的シーン・トポロジが、少なくとも1つの走行可能な車線を伴う道路レイアウトを備える、請求項1から9のいずれかに記載の方法。
【請求項11】
前記シナリオの前記動的相互作用の前記シミュレート版をコンピュータ機器のディスプレイにレンダリングするステップを備える、請求項1から10のいずれかに記載の方法。
【請求項12】
各シーン・トポロジが、トポロジ識別子を有し、車線識別子と関連付けられた少なくとも1つの走行可能な車線を有する道路レイアウトを規定する、請求項1から11のいずれかに記載の方法。
【請求項13】
挙動が、その関連する車線識別子により識別された前記走行可能な車線に対して規定された、請求項12に記載の方法。
【請求項14】
一連のコンピュータ実行可能命令を備えるコンピュータ・プログラムを保持するコンピュータ・メモリと、
実行された場合に、請求項1から13のいずれかに記載の方法のステップを実行する前記コンピュータ・プログラムを実行するように構成されたプロセッサと、
を備えるコンピュータ機器。
【請求項15】
一致するシーン・トポロジを決定するためのクエリーを受け付けるように構成されたユーザ・インターフェースを備える、請求項14に記載のコンピュータ機器。
【請求項16】
ディスプレイを備え、前記プロセッサが、前記シミュレート版を前記ディスプレイにレンダリングするように構成された、請求項14または15に記載のコンピュータ機器。
【請求項17】
複数のマップが格納されたマップ・データベースに接続された、請求項14から16のいずれかに記載のコンピュータ機器。
【請求項18】
1つまたは複数のプロセッサにより実行された場合に、請求項1から13のいずれかに記載の方法を実行するコンピュータ可読命令が格納された一過性または非一過性のコンピュータ可読媒体。
【請求項19】
自律走行車の挙動をテストするためのシミュレーション環境において実行されるシナリオを生成するコンピュータ実装方法であって、
コンピュータ・ストアにアクセスして、前記コンピュータ・ストアに保持され、それぞれがトポロジ識別子を有するとともに、車線識別子と関連付けられた少なくとも1つの走行可能な車線を有する道路レイアウトを規定する複数のシーン・トポロジのうちの1つを読み出すステップと、
グラフィカル・ユーザ・インターフェースにおいて、前記シナリオにおいてインスタンス化される自己車両およびその挙動を規定する第1の一組のパラメータを受信するステップであり、前記挙動が、前記道路レイアウトの走行可能な車線に対して規定され、前記走行可能な車線が、その関連する車線識別子により識別される、ステップと、
前記グラフィカル・ユーザ・インターフェースにおいて、前記シナリオにおいてインスタンス化される対抗車両を規定する第2の一組のパラメータを受信するステップであり、前記第2の一組のパラメータが、前記自己車両に対する相互作用点において前記対抗車両による動作を規定し、前記動作が、その車線識別子により識別された走行可能な車線に対して規定される、ステップと、
シミュレーション環境において実行されるシナリオを生成するステップであり、前記シナリオが、前記自己車両および前記対抗車両をそれぞれインスタンス化するための前記第1および第2の一組のパラメータならびに前記読み出したシーン・トポロジを備える、ステップと、
を備える、コンピュータ実装方法。
【請求項20】
一連のコンピュータ実行可能命令を備えるコンピュータ・プログラムを保持するコンピュータ・メモリと、
実行された場合に、請求項19に記載の方法のステップを実行する前記コンピュータ・プログラムを実行するように構成されたプロセッサと、
を備えるコンピュータ機器。
【請求項21】
1つまたは複数のプロセッサにより実行された場合に、請求項19に記載の方法を実行するコンピュータ可読命令が格納された一過性または非一過性のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自律走行車の挙動をテストするためのシミュレーション環境に使用するシナリオの生成に関する。
【背景技術】
【0002】
自律走行車の分野は、大規模かつ急速に発展している。自律走行車は、人間による挙動制御のない動作を可能にするセンサおよび制御システムが搭載された車両である。自律走行車は、たとえばカメラ、RADAR、およびLiDARを含むセンサ等、物理的環境の認識を可能にするセンサが搭載されている。また、自律走行車は、センサから受信されたデータの処理およびセンサにより認識された状況に基づく安全かつ予測可能な決定を行い得る好適にプログラムされたコンピュータが搭載されている。また、特定の自律走行車またはある種の自律走行車に搭載されたセンサおよび制御システムの挙動をテストするためのさまざまな局面が存在する。
【0003】
センサ処理は、現実世界の物理的設備において評価されるようになっていてもよい。同様に、自律走行車の制御システムは、たとえば既知のテスト経路の繰り返し走行または予測不可能な状況もしくは未知の状況を管理するための人間を乗せた状態での経路の走行により、物理的世界においてテストされるようになっていてもよい。
【0004】
物理的世界でのテストは、自律走行車が安全かつ予測可能な決定を下す能力のテストにおいて、今後も重要な因子となる。ただし、物理的世界でのテストは、高価で時間がかかる。そこで、シミュレート環境を使ったテストへの依存が強まっている。シミュレート環境におけるテストが増える場合、このような環境は、現実世界のシナリオを可能な限り反映可能であることが望ましい。自律走行車は、人間の運転者が運転し得るのと同じ多種多様な状況において動作する設備を有する必要がある。このような状況は、高水準の予測不可能性を包含し得る。
【0005】
走行中に遭遇する可能性のあるすべてのシナリオにおける自律走行車の挙動のテストを物理的なテストから実現するのは不可能である。テスト結果が自律走行車の潜在的な現実挙動を表すという確信を与えるように、このようなテストを提供し得るシミュレーション環境の生成にますます多くの注目が寄せられている。
【0006】
シミュレーション環境における効果的なテストのため、テスト対象の自律走行車(自己車両)は、任意の瞬間の位置を把握し、(シミュレート・センサ入力に基づいて)その状況を理解し、事前にプログラムされた目的地に達するための環境のナビゲート方法に関する安全かつ予測可能な決定を下すことができる。
【0007】
シミュレーション環境は、変化する可能性がある現実世界の因子を表し得ることが必要である。これには、気象条件、道路の種類、道路構造、道路レイアウト、分岐点の種類等を含み得る。自己車両の動作に影響を及ぼし得る因子は数多く存在することから、このリストは網羅的ではない。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本開示は、自己車両が動作することになるシミュレーション環境における動作主体の挙動のシミュレーションにおいて生じ得る特定の課題に対処する。このような動作主体は、他の車両であってもよいが、歩行者、動物、自転車等、他の種類の動作主体も可能である。
【0009】
シミュレータは、好適なコンピュータにより実行された場合に、物理的な同等品の構築およびテストに先立って、センサ搭載車両の制御モジュールの開発およびシミュレーションにおけるテストを可能にするコンピュータ・プログラムである。シミュレータは、自律走行車が搭載し得る各種センサをモデル化するセンサ・シミュレーション・システムを提供する。また、シミュレータは、自動走行車が動作し得る物理的環境を反映する3次元環境モデルを提供する。3D環境モデルは、少なくとも自律走行車の動作が意図される道路網と、環境中の他の動作主体と、を規定する。自己車両の挙動のモデル化に加えて、これらの動作主体の挙動もモデル化される必要がある。
【0010】
シミュレータは、テスト・シナリオを生成する(または、提供されたシナリオを取り扱う)。上記説明の通り、自己車両がテストされ得る多くの異なるシナリオをシミュレータが生成可能であることが重要な理由が存在する。このようなシナリオは、動作主体の異なる挙動を含み得る。自律走行車が応答する必要のある各決定に含まれる因子が多数であること、および、これらの決定に課される他の要件(2つの例として、安全および快適性等)が多いことは、テストが必要なすべての状況ごとにシナリオを書くことが不可能であることを意味する。それにも関わらず、シミュレータが可能な限り多くのシナリオを効率的に提供できるようにする試みと、このようなシナリオを現実の世界に確実に近づけようとする試みと、が必要である。シミュレーションにおいて行われるテストが、対応する物理的世界環境において生成される出力に忠実な出力を生成しないのであれば、シミュレーションの価値は著しく減じられる。
【0011】
シナリオは、実生活の走行において記録されたライブ・シーンから生成されるようになっていてもよい。このようなシーンをマークして、実際の走行経路を識別し、シミュレーションに使用することが可能と考えられる。テスト生成システムは、たとえば既存のシナリオから要素(道路レイアウトおよび動作主体の挙動等)を取得し、他のシナリオと組み合わせることによって、新たなシナリオを生成することができる。この追加または代替として、シナリオがランダムに生成されるようになっていてもよい。
【0012】
ただし、特定の複数組の因子がテスト用に生成され得るように、特定の状況に対してシナリオを調整する必要性が増している。そして、このようなシナリオが動作主体の挙動を規定し得るのが望ましい。
【課題を解決するための手段】
【0013】
本開示の一態様は、このような課題に対処する。
【0014】
本発明の一態様によれば、自律走行車をテストするためのシミュレーション環境を生成するためのコンピュータ実装方法であって、
自己物体と少なくとも1つの対抗物体との間の動的相互作用を含むシナリオを生成するステップであり、相互作用が、静的シーン・トポロジに対して規定された、ステップと、
動的相互作用のパラメータを備えるシナリオの動的レイヤをシミュレータに与えるステップと、
静的シーン・トポロジを備えるシナリオの静的レイヤをシミュレータに与えるステップと、
マップストアを検索して、静的シーン・トポロジに一致するシーン・トポロジを有するマップにアクセスするステップと、
マップの一致するシーン・トポロジを使用して、シナリオの動的相互作用のシミュレート版を生成するステップと、
を備える、コンピュータ実装方法が提供される。
【0015】
生成されるシナリオは、抽象的なシナリオと考えられる。このようなシナリオは、たとえば英国特許出願第2101233.1号に記載の編集ツールを使って、ユーザにより生成されるようになっていてもよく、その内容が参照として組み込まれる。生成されるシミュレート版は、具体的なシナリオと考えられる。ある抽象的なシナリオは、同じ抽象的なシナリオに基づく複数の具体的なシナリオの生成を可能にし得ることが明らかであろう。具体的な各シナリオは、他の具体的なシナリオとさまざまに異なり得るように、マップストアからアクセスされる異なるシーン・トポロジを使用するようにしてもよい。ただし、抽象的なシナリオの生成者により規定された特徴は、具体的なシナリオにおいても保持されることになる。これらの特徴は、たとえば相互作用が起こる時間または相互作用が起こる状況に関連していてもよい。いくつかの実施形態において、一致するシーン・トポロジは、アクセス・マップのマップ・セグメントを備える。
【0016】
いくつかの実施形態において、マップストアを検索するステップは、静的シーン・トポロジの1つまたは複数のパラメータを規定するクエリーを受け付けることと、1つまたは複数のパラメータに基づいて、一致するシーン・トポロジを検索することと、を備える。
【0017】
いくつかの実施形態において、この方法は、コンピュータ機器のユーザ・インターフェースにおいて、ユーザからクエリーを受け付けるステップを備える。
【0018】
いくつかの実施形態において、少なくとも1つのパラメータは、
静的シーン・トポロジにおける道路または道路の車線の幅と、
静的シーン・トポロジにおける道路の曲率と、
静的シーン・トポロジにおける走行可能な経路の長さと、
から選択される。
【0019】
いくつかの実施形態において、少なくとも1つのパラメータは、3次元マップ・シーン・トポロジと一致する静的シーン・トポロジを規定するための3次元パラメータを備える。
【0020】
いくつかの実施形態において、クエリーは、マップにおけるシーン・トポロジが静的シーン・トポロジに一致するかを判定するための少なくとも1つの閾値を規定する。
【0021】
いくつかの実施形態において、シナリオを生成するステップは、
静的シーン・トポロジの画像をコンピュータ機器のディスプレイにレンダリングすることと、
ユーザ入力を受け付けるための一組の入力フィールドを備え、自己物体に対する対抗物体の相互作用をパラメータ化するための物体編集ノードをディスプレイにレンダリングすることと、
自己物体に対する対抗物体の少なくとも1つの時間制約または関係制約を規定する入力を用いて物体編集ノードの入力フィールドに受け付けることであり、少なくとも1つの時間制約または関係制約が、自己物体と対抗物体との間の規定の相互作用段階の相互作用点を規定する、受け付けることと、
一組の制約および規定の相互作用段階をコンピュータ機器のコンピュータ・メモリ中の相互作用コンテナに格納することと、
相互作用点において静的シーン・トポロジ上で実行された規定の相互作用段階を備えるシナリオを生成することと、
を備える。
【0022】
いくつかの実施形態において、この方法は、所定のシーン・トポロジのライブラリから静的シーン・トポロジを選択するステップと、選択したシーン・トポロジをディスプレイにレンダリングするステップと、を備えていてもよい。
【0023】
いくつかの実施形態において、静的シーン・トポロジは、少なくとも1つの走行可能な車線を伴う道路レイアウトを備える。
【0024】
いくつかの実施形態において、この方法は、シナリオの動的相互作用のシミュレート版をコンピュータ機器のディスプレイにレンダリングするステップを備える。
【0025】
いくつかの実施形態において、各シーン・トポロジは、トポロジ識別子を有し、車線識別子と関連付けられた少なくとも1つの走行可能な車線を有する道路レイアウトを規定する。
【0026】
いくつかの実施形態において、挙動は、その関連する車線識別子により識別された走行可能な車線に対して規定される。
【0027】
本発明の別の態様によれば、
一連のコンピュータ実行可能命令を備えるコンピュータ・プログラムを保持するコンピュータ・メモリと、
実行された場合に、上記方法の任意の実施形態のステップを実行するコンピュータ・プログラムを実行するように構成されたプロセッサと、
を備えるコンピュータ機器が提供される。
【0028】
いくつかの実施形態において、このコンピュータ機器は、一致するシーン・トポロジを決定するためのクエリーを受け付けるように構成されたユーザ・インターフェースを備える。
【0029】
いくつかの実施形態において、このコンピュータ機器は、ディスプレイを備え、プロセッサは、シミュレート版をディスプレイにレンダリングするように構成されている。
【0030】
いくつかの実施形態において、このコンピュータ機器は、複数のマップが格納されたマップ・データベースに接続されている。
【0031】
本発明の別の態様によれば、1つまたは複数のプロセッサにより実行された場合に、上述の方法の任意の実施形態を実行するコンピュータ可読命令が格納された一過性または非一過性のコンピュータ可読媒体が提供される。
【0032】
本発明の別の態様は、自律走行車の挙動をテストするためのシミュレーション環境において実行されるシナリオを生成するコンピュータ実装方法であって、
コンピュータ・ストアにアクセスして、コンピュータ・ストアに保持され、それぞれがトポロジ識別子を有するとともに、車線識別子と関連付けられた少なくとも1つの走行可能な車線を有する道路レイアウトを規定する複数のシーン・トポロジのうちの1つを読み出すステップと、
グラフィカル・ユーザ・インターフェースにおいて、シナリオにおいてインスタンス化される自己車両およびその挙動を規定する第1の一組のパラメータを受信するステップであり、挙動が、道路レイアウトの走行可能な車線に対して規定され、走行可能な車線が、その関連する車線識別子により識別される、ステップと、
グラフィカル・ユーザ・インターフェースにおいて、シナリオにおいてインスタンス化される対抗車両を規定する第2の一組のパラメータを受信するステップであり、第2の一組のパラメータが、自己車両に対する相互作用点において対抗車両による動作を規定し、動作が、その車線識別子により識別された走行可能な車線に対して規定される、ステップと、
シミュレーション環境において実行されるシナリオを生成するステップであり、シナリオが、自己車両および対抗車両をそれぞれインスタンス化するための第1および第2の一組のパラメータならびに読み出したシーン・トポロジを備える、ステップと、
を備える、コンピュータ実装方法を提供する。
【0033】
本発明のさらに別の態様によれば、自律走行車の挙動をテストするためのシミュレーション環境において実行されるシナリオを生成するコンピュータ実装方法であって、
コンピュータ・ストアにアクセスして、コンピュータ・ストアに保持され、それぞれがトポロジ識別子を有するとともに、車線識別子と関連付けられた少なくとも1つの走行可能な車線を有する道路レイアウトを規定する複数のシーン・トポロジのうちの1つを読み出すステップと、
グラフィカル・ユーザ・インターフェースにおいて、シナリオにおいてインスタンス化される自己車両およびその挙動を規定する第1の一組のパラメータを受信するステップであり、挙動が、道路レイアウトの走行可能な車線に対して規定され、走行可能な車線が、その関連する車線識別子により識別される、ステップと、
グラフィカル・ユーザ・インターフェースにおいて、シナリオにおいてインスタンス化される対抗車両を規定する第2の一組のパラメータを受信するステップであり、第2の一組のパラメータが、自己車両に対する相互作用点において対抗車両による動作を規定し、動作が、その車線識別子により識別された走行可能な車線に対して規定される、ステップと、
シミュレーション環境において実行されるシナリオを生成するステップであり、シナリオが、自己車両および対抗車両をそれぞれインスタンス化するための第1および第2の一組のパラメータならびに読み出したシーン・トポロジを備える、ステップと、
を備える、コンピュータ実装方法が提供される。
【0034】
本発明のさらに別の態様によれば、
一連のコンピュータ実行可能命令を備えるコンピュータ・プログラムを保持するコンピュータ・メモリと、
実行された場合に、上述の方法のステップを実行するコンピュータ・プログラムを実行するように構成されたプロセッサと、
を備えるコンピュータ機器が提供される。
【0035】
本発明の別の態様によれば、1つまたは複数のプロセッサにより実行された場合に、上述の方法を実行するコンピュータ可読命令が格納された一過性または非一過性のコンピュータ可読媒体が提供される。
【0036】
以下、本発明をより深く理解するとともに、本発明が実施され得る方法を示すため、添付の図面が一例として参照される。
【図面の簡単な説明】
【0037】
【
図1】3台の車両を含むシミュレーションの相互作用空間を示した図である。
【
図2】動作主体の車両により実行されるカットイン操作のグラフィック表現を示した図である。
【
図3】動作主体の車両により実行されるカットアウト操作のグラフィック表現を示した図である。
【
図4】動作主体の車両により実行されるスローダウン操作のグラフィック表現を示した図である。
【
図5】シナリオ構築器を実装したコンピュータの高度模式ブロック図である。
【
図6】自律走行車のランタイム・スタックの高度模式ブロック図である。
【
図7】シミュレーション中の自律走行車の性能に対するテスト・パイプラインの高度模式ブロック図である。
【
図8】例示的なカットイン操作の場合の進路のグラフィック表現を示した図である。
【
図9a】本発明の第1の実施形態に係る、シミュレーション環境の動的レイヤを設定するための第1の例示的なユーザ・インターフェースを示した図である。
【
図9b】本発明の第2の実施形態に係る、シミュレーション環境の動的レイヤを設定するための第2の例示的なユーザ・インターフェースを示した図である。
【
図10a】
図9aにおいて設定され、TV1ノードが選択された例示的な動的レイヤのグラフィック表現を示した図である。
【
図10b】
図9aにおいて設定され、TV2ノードが選択された例示的な動的レイヤのグラフィック表現を示した図である。
【
図11】
図9aにおいて設定され、ノードが選択されていない動的レイヤのグラフィック表現を示した図である。
【
図12】シミュレーション環境の動的レイヤがパラメータ化され得る包括的なユーザ・インターフェースを示した図である。
【
図13】シミュレーション環境の静的レイヤがパラメータ化され得る例示的なユーザ・インターフェースを示した図である。
【
図14a】
図9bにおいてパラメータ化されたシナリオの動的な視覚化を可能にして制御するように構成された機能を備える例示的なユーザ・インターフェースであって、最初の操作の開始時のシナリオを示した図である。
【
図14b】
図14aと同じ例示的なユーザ・インターフェースであって、
図14aのインスタンスから時間が経過し、パラメータ化車両が移動して当該時間後の新たな位置を反映しており、パラメータ化操作中のシナリオを示した図である。
【
図14c】
図14aおよび
図14bと同じ例示的なユーザ・インターフェースであって、
図14bのインスタンスから時間が経過し、パラメータ化車両が移動して当該時間後の新たな位置を反映しており、パラメータ化操作の終了時のシナリオを示した図である。
【
図15a】システムがマップ上のパラメータ化道路レイアウトのすべてのインスタンスを認識するプロセスの高度模式図である。
【
図15b】
図15aにより表されたプロセスにおいてマップ上に識別されるパラメータ化道路レイアウトのインスタンスを青いオーバーレイが表すマップを示した図である。
【発明を実施するための形態】
【0038】
シミュレート環境における自己車両の挙動のテストに使用され得るシナリオを規定する必要がある。シナリオは、自己車両が制御されないオフラインモードで規定および編集された後、後述のテスト・パイプライン7200の次段階におけるテストのためエクスポートされる。
【0039】
シナリオは、道路レイアウト中の1つまたは複数の経路に沿って進行する1つまたは複数の主体(動作主体と称される場合もある)を備える。道路レイアウトは、走行シーンにおいて起こり得る任意の特徴を表すために本明細書で使用される用語であり、特に、車両がシミュレーション中に進行することを意図される少なくとも1つの軌道を含む。当該軌道は、道路、車線、またはその他任意の走行可能な経路であってもよい。道路レイアウトは、主体がインスタンス化される画像として編集されるシナリオにおいて表示される。本発明の実施形態によれば、道路レイアウト(または、他のシーン・トポロジ)は、シーン・トポロジのデータベースからアクセスされる。道路レイアウトには車線等が規定され、シナリオにレンダリングされる。シナリオは、シーン中で動作する自己車両の視点から視認される。シーン中の他の主体は、自転車運転者および歩行者等の非自己車両または他の道路ユーザを備え得る。シーンは、環状交差点または分岐点等の1つまたは複数の道路特徴を備え得る。これらの主体は、実生活の走行状況において自己車両により遭遇される現実世界のエンティティを表すことが意図される。本明細書によれば、ユーザは、シナリオ編集器における実行の後にシミュレートされ得る上記主体と自己車両との間の相互作用を生成可能となる。
【0040】
本明細書は、シナリオを生成して、自己車両をテストするための大きな検証集合を取得するための方法およびシステムに関する。本明細書に記載のシナリオ生成方式によれば、シナリオのより便利なパラメータ化および探索が可能になる上、シナリオの閉ループ再利用が可能になる。
【0041】
本システムにおいて、シナリオは、一組の相互作用として記載される。各相互作用は、シーンの動作主体とシーンの静的トポロジとの間で相対的に規定される。各シナリオは、ディスプレイ上でユーザに提示される環境の視覚化において静的物体をレンダリングするための静的レイヤと、環境中の移動主体の運動を制御するための動的レイヤと、を備え得る。なお、本明細書においては、用語「主体(agent)」および「動作主体(actor)」が同義で使用される場合もある。
【0042】
各相互作用は、動作主体と静的トポロジとの間で相対的に記載される。なお、この背景において、自己車両は、動的な動作主体と考えられる。相互作用には、別の動作主体または静的トポロジに対して実行される操作または挙動を含む。
【0043】
本文脈において、用語「挙動(behaviour)」は、以下のように解釈され得る。挙動は、エンティティ(シーン中の動作主体等)を伴う。より高水準の目標を所与として、挙動は、所与の目標に向かってエンティティを進める操作を対話形式で行う。たとえば、シーン中の動作主体は、車線追従(Follow Lane)目標および適当な挙動モデルを与えられ得る。動作主体は、(編集器において生成されたシナリオおよび結果としてのシミュレーションにおいて)当該目標を実現しようとすることになる。
【0044】
挙動は、ユーザが知能をシナリオに与えてより現実的なシナリオを得られるようにし得る不透明な抽象化と見なされ得る。一組の相互作用としてシナリオを規定することにより、本システムは、複数の動作主体が能動的な挙動と協働して、交通モデルのような閉ループ挙動ネットワークを生成できるようにする。
【0045】
本文脈において、用語「操作(manoeuvre)」は、エンティティがその挙動モデルに従う特定の目標を実現するために示し得る具体的な物理的動作と考えられる。
【0046】
相互作用には、2つ以上および/または1つの動作主体と静的シーンとの間で相対的に発生する条件および目標を伴う具体的な操作(または、一組の操作)/挙動を含む。
【0047】
本システムの特徴によれば、相互作用は、時相論理を用いて事後的に評価され得る。相互作用は、本明細書において詳細に説明される通り、シナリオを並べるための再利用可能な論理ブロックと見なされ得る。
【0048】
相互作用の概念を使用することにより、特定のシナリオにとって重要な相互作用の「臨界経路」を規定することができる。シナリオは、パラメータが規定され得る抽象化の全範囲を有し得る。これらの抽象的なシナリオの変形がシナリオ・インスタンスと称される。
【0049】
シナリオ・パラメータは、シナリオまたはシナリオ中の相互作用を規定するのに重要である。本システムは、如何なるシナリオ値のパラメータ化をも可能にする。相互作用を説明する場合に本明細書にて別途論じられる通り、シナリオである値が予想される場合は、互換性のあるパラメータ型および適当な制約によってパラメータが規定され得る。
【0050】
本明細書に記載の概念の具体的な一例を説明するため、
図1が参照される。車線L1上には、自己車両EVがインスタンス化されている。また、対抗動作主体TV1がインスタンス化され、所望のシナリオによれば、自己車両EVに対してカットインすることが意図される。
図1に示される相互作用は、対抗動作主体TV1が自己車両EVに対して特定の関係制約を実現する場合に生じるカットイン操作を規定することである。
図1において、関係制約は、自己車両に対して点線dx0により示される横方向距離(dy0)オフセット条件として規定される。この点において、対抗車両TV1は、自己車両EVの前方で矢印Mにより示される車線変更(Switch Lane)操作を実行する。相互作用は、対抗車両のカットイン操作後の新たな挙動(この場合、車線追従目標)をさらに規定する。なお、この目標は、車線L1に適用される(一方、対抗車両はそれ以前に、車線L2に適用された車線追従目標を有していた可能性もある)。破線により規定されたボックスは、この一組の操作を相互作用Iとして指定する。なお、第2の動作主体の車両TV2には、車線L3に追従するための車線追従目標が割り当てられている。
【0051】
相互作用の規定のため、以下のパラメータが割り当てられていてもよい。
【0052】
物体:任意のオントロジ・クラスから書き込まれ得る抽象物体型
長手方向距離dx0:車線の長手方向に測定された距離
横方向距離dy0:車線の横方向に測定された距離
速度Ve、Vy:物体に割り当てられた(長手方向または横方向の)速さ
加速度Gx:物体に割り当てられた加速度
車線:単一車線のトポロジ記述子
相互作用は、シナリオの動的レイヤと静的レイヤとの間の一組の時間および関係制約として規定される。動的レイヤは、シーン物体およびそれぞれの状態を表し、静的レイヤは、シナリオのシーン・トポロジを表す。レイヤをパラメータ化する制約がランタイムでの監視または設計時間での記述および実行の両方がなされ得る一方、シナリオは、編集/生成がなされている。
【0053】
相互作用の例は、以下の表1に与えられる。
【表1】
各相互作用は、当該特定の相互作用を規定する概要と、相互作用に含まれる関係と、を有する。たとえば、
図1に示されるような「カットイン」相互作用は、物体(対抗動作主体)が隣り合う車線から自己車線へと横方向に移動して近くの軌跡と交差する相互作用である。近くの軌跡は、別の動作主体と重なる軌跡であるが、他方の動作主体は、これに応答して動作する必要がない。
【0054】
この相互作用には、2つの関係が存在する。第1は、対抗動作主体と自己車線との間の関係であり、第2は、対抗動作主体と自己軌跡との間の関係である。これらの関係は、以下により詳しく論じられるような時間および関係制約により規定されていてもよい。
【0055】
各相互作用の時間および関係制約は、相互作用の特性化パラメータを入力する1つまたは複数のノードを使用することにより規定され得る。本開示によれば、これらのパラメータを保持するノードが相互作用のための相互作用コンテナに格納される。シナリオは、これらのノードの編集および接続によって、一連の相互作用により構築され得る。これらにより、ユーザは、複雑な編集を必要とすることなく、ランタイム・シミュレーションにおいてテストされる一組の所要相互作用でシナリオを構成可能となる。従来のシステムにおいて、シナリオを生成して編集する場合、ユーザは、編集ツールで生成したシナリオにおいて、テストの必要がある相互作用が実際に起こっているか否かを判定する必要がある。
【0056】
本明細書に記載のシステムによれば、シナリオを生成して編集しているユーザは、シミュレーションの実行時に起こることが保証される相互作用を規定可能となる。したがって、このような相互作用がシミュレーションにおいてテストされ得る。上述の通り、相互作用は、静的トポロジと動的な動作主体との間に規定される。
【0057】
ユーザは、上表に与えられるような特定の相互作用操作を規定することができる。
【0058】
ユーザは、相互作用のパラメータを規定するようにしてもよいし、相互作用におけるパラメータ範囲を制限するようにしてもよい。
【0059】
図2は、カットイン操作の一例を示している。この操作において、自己車両EVと対抗車両TV1との間の長手方向の距離dx0は、特定の値または値の範囲に設定され得る。自己車両EVと対抗車両TV1との間の横方向内側の距離dy0は、特定の値またはパラメータ範囲内に設定されていてもよい。先行車両の横方向運動(Vy)パラメータは、特定の値または特定の範囲内に設定されていてもよい。横方向運動パラメータは、カットイン速度を表し得る。対抗車両の前進速度である先行車両速度(Vo0)は、特定の規定値として設定されていてもよいし、パラメータ範囲内に設定されていてもよい。自己速度Ve0は、特定の値またはパラメータ範囲内に設定されていてもよく、前進方向の自己車両の速度である。自己車線(Le0)および先行車両車線(Lv0)は、パラメータ範囲において規定されていてもよい。
【0060】
図3は、カットアウト相互作用を示した図である。この相互作用は、上記
図2のカットイン相互作用を参照しつつ識別された一部のパラメータを有する。また、前方車両がFA(前方動作主体)として規定され、この前方車両に関連して付加的なパラメータが存在する。これらには、前方長手方向の距離(dx0_f)および前方車両の速度を含む。
【0061】
また、車両速度(Vf0)は、特定の値またはパラメータ範囲内に設定されていてもよい。車両速度Vf0は、カットアウトの前方の前方車両の速度であり、この場合、先行車両の横方向運動Vyは、カットイン方向ではなく、カットアウト方向の運動である。また、前方車両がFA(前方動作主体)として規定され、この前方車両に関連して付加的なパラメータが存在する。これらには、前方長手方向の距離(dx0_f)および前方車両の速度を含む。
【0062】
図4は、減速相互作用を示している。この場合、パラメータVe0、dx0、およびVo0は、カットイン相互作用と同じ定義を有する。これらの値は、具体的に設定されていてもよいし、パラメータ範囲内に設定されていてもよい。また、最大加速度(Gx_max)は、対抗動作主体の減速度として、具体的な値に設定されていてもよいし、パラメータ範囲において設定されていてもよい。
【0063】
相互作用を規定するためのステップについては、以下により詳しく論じられる。
【0064】
ユーザは、目標速度(たとえば、道路レイアウトの速度制限ゾーンごとの割合または目標速度)、最大加速度値、最大加加速度値等を取り込む自己車両の構成を設定するようにしてもよい。いくつかの実施形態においては、道路レイアウトの特定の速度制限ゾーンの速度制限として、デフォルト速度が自己車両に適用されていてもよい。ユーザは、このデフォルト値を加速度/加加速度値で上書きすること、または、相互作用カットイン点での自己車両の開始点および目標速度を設定することが可能とされていてもよい。そして、これは開始点とカットイン点との間の加速度値の計算に使用されることも可能である。以下により詳しく説明される通り、編集ツールによれば、ユーザは、編集ツールにおいてシナリオを生成した後、設定済みのパラメータを調整/探索し得るようにシナリオを視覚化可能となる。本明細書において、相互作用点における自己車両の速度は、自己車両の相互作用点速度と称される場合もある。
【0065】
対抗車両の相互作用点速度についても設定され得る。対抗車両の速度のデフォルト値は、道路の速度制限として設定されていてもよいし、自己車両に一致するように設定されていてもよい。いくつかの状況において、自己車両は、シナリオ・ランタイムにおいて少なくとも一部が公開される計画スタックを有していてもよい。なお、後者のオプションは、自己車両の速度がシナリオ・ランタイムにおけるスタックから抽出され得る状況に当てはまる。ユーザは、デフォルト速度を加速度/加加速度値で上書きすること、または、対抗車両の開始点および速度を設定し、これを用いて開始点とカットイン点との間の加速度値を計算することが可能とされる。自己車両と同様に、生成シナリオが編集ツールにおいて実行されている場合、ユーザは、これらの値を調整/探索することができる。本明細書において論じられる(ノードを備える)相互作用コンテナにおいては、対抗車両の値が自己車両に対して設定可能であってもよいため、ユーザは、相互作用点における自己車両の値に対して、対抗車両の速度/加速度/加加速度を設定することができる。
【0066】
上記においては、相互作用点が参照されている。また、相互作用ごとに相互作用点が規定される。たとえば、
図1および
図2のシナリオにおいては、カットイン相互作用点が規定される。いくつかの実施形態において、これは、自己車両および対抗車両が横方向に重なり合う点において規定される(前後への投影経路としての車両縁部に基づく(横方向の重なり合いとしては、これの一部も可能である))。これが決定され得ない場合は、車線幅、車幅、横方向の位置関係に基づいて推定され得る。
【0067】
相互作用は、自己車両の開始車線(
図1のL1)を設定することにより、シーン・トポロジに対してさらに規定される。対抗車両の場合は、開始車線(L2)および終了車線(L1)が設定される。
【0068】
カットイン・ギャップが規定されていてもよい。時間進度は、カットイン相互作用のその他の部分が構成される重要なパラメータ値である。ユーザが自己車両の2秒前方にカットイン点を設定した場合は、相互作用点における自己車両の目標速度を用いて、カットイン・ギャップの距離が計算される。たとえば、50マイル/時(22m/秒)の速度においては、2秒のカットイン・ギャップが44メートルのカットイン距離を設定することになる。
【0069】
図5は、シナリオ構築器を実装したコンピュータの高度模式ブロック図であって、表示ユニット510、ユーザ入力装置502、プログラム・コード504を保持する電子メモリ500等のコンピュータ・ストレージ、およびシナリオ・データベース508を備える。
【0070】
プログラム・コード504は、ユーザ入力を受け付け、表示ユニット510に表示される出力を生成するように構成された4つのモジュールを備えるように示される。ユーザ入力装置502に入力されたユーザ入力は、
図9~
図13を参照しつつ本明細書に記載される通り、ノード・インターフェース512により受信される。そして、シナリオ・モデル・モジュール506がノード・インターフェース512からユーザ入力を受信して、シミュレートされるシナリオを生成するように構成されている。
【0071】
シナリオ・モデル・データは、静的レイヤ7201aおよび動的レイヤ7201bを備えたシナリオ記述モジュール7201に送られる。静的レイヤ7201aは、シナリオの静的要素(通常は、静的な道路レイアウトを含むことになる)を含み、動的レイヤ7201bは、他の車両、歩行者、自転車等、シナリオ内の外部主体に関する動的な情報を規定する。そして、シナリオ記述モジュール7201により受信されたシナリオ・モデル506のデータは、当該データが後でロードおよびシミュレートされ得るシナリオ・データベース508に格納されるようになっていてもよい。シナリオ・モデル506のデータは、ノード・インターフェースまたはシナリオ・データベースのいずれを介して受信されたかに関わらず、パラメータ化シナリオのシミュレーションを実行するように構成されたシナリオ・ランタイム・モジュール516に送られる。そして、シナリオ・ランタイムの出力データは、シナリオの動的視覚表現を生成するために読まれ得るフォーマットのデータを生成するように構成されたシナリオ視覚化モジュール514に送られる。そして、シナリオ視覚化モジュール514の出力データは、たとえばビデオ・フォーマットにてシナリオが視認され得る表示ユニット510に送られるようになっていてもよい。また、いくつかの実施形態においては、プログラム・コード・モジュール512、506、516、514によってシミュレーション・データに対して実行される分析に関する別のデータが表示ユニット510により表示されるようになっていてもよい。
【0072】
以下、
図6および
図7を参照して、本明細書に記載のシナリオ構築器により生成されたシナリオを使用可能なシミュレーション・システムを説明する。
【0073】
図6は、本明細書においては、自己車両(EV)とも称される自律走行車(AV)のランタイム・スタック6100の高度模式ブロック図である。ランタイム・スタック6100は、認識システム6102、予測システム6104、計画器6106、およびコントローラ6108を備えるように示される。
【0074】
現実世界の状況において、認識システム6102は、AVの車載センサ・システム6110からセンサ出力を受信し、これらのセンサ出力を使用して、外部主体を検出するとともに、それらの位置、速度、加速度等の物理的状態を測定することになる。車載センサ・システム6110は、さまざまな形態が可能であるものの、一般的には、画像キャプチャ・デバイス(カメラ/光学センサ)、LiDARおよび/またはRADARユニット、衛星測位センサ(GPS等)、運動センサ(加速度計、ジャイロスコープ等)などの多様なセンサを備え、全体として豊富なセンサ・データを提供することにより、周囲環境、AVの状態、および当該環境内の外部動作主体(車両、歩行者、自転車運転者等)に関する詳細な情報を抽出可能とし得る。センサ出力には通常、1つまたは複数のステレオ光学センサ、LiDAR、RADAR等からのステレオ画像など、複数のセンサ・モダリティのセンサ・データを含む。ステレオ撮像は、LiDAR/RADAR等による高密度の深度データの収集に使用され、潜在的により高精度だが低密度の深度データを示す。より一般的に、複数のセンサ・モダリティからの深度データ収集は、(たとえば、ベイズ処理もしくは非ベイズ処理、または他の何らかの統計処理等を使用して)好ましくはそれぞれの不確実性のレベルを尊重するように組み合わされ得る。たとえば、全360°の深度認識を与えるため、複数のステレオ対の光学センサが車両の周囲に配置されていてもよい。
【0075】
認識システム6102は、センサ出力を解釈することにより認識出力を予測システム6104に与えるように協働する複数の認識コンポーネントを備える。認識システム6102内の認識の不確実性のレベルを反映するように、外部主体が確率的に検出および表現されるようになっていてもよい。
【0076】
シミュレーション状況においては、テストの性質(特に、スタック6100がスライスされるか)に応じて、車載センサ・システム6100のモデル化が必要な場合もあるし、必要ではない場合もある。より高いレベルのスライシングでは、シミュレート・センサ・データが求められないことから、複雑なセンサ・モデリングも求められない。
【0077】
認識システム6102からの認識出力は、AVの近傍の他の車両等、外部動作主体(主体)の将来挙動を予測するために予測システム6104によって使用される。
【0078】
予測システム6104により演算された予測は計画器6106に提供され、計画器6106は、その予測を使用することにより、所与の走行シナリオにおいてAVにより実行される自律走行決定を下す。シナリオは、計画器6106により用いられる一組のシナリオ記述パラメータとして表される。通常のシナリオであれば、走行可能なエリアを規定するとともに、走行可能なエリア内の任意の外部主体(AVの視点からの障害物)の予測される動きを取り込むことになる。走行可能なエリアは、認識システム6102からの認識出力をHD(高解像度)マップ等のマップ情報と組み合わせて使用することにより決定され得る。
【0079】
計画器6106の中心機能は、主体の予測される運動を考慮に入れたAVの軌跡(自己軌跡)の計画である。これは、操作計画と称される場合もある。軌跡は、シナリオ内の所望の目標を実行するために計画される。目標としては、たとえば環状交差点に入り、所望の出口から去ること、前方の車両を追い抜くこと、または目標速度で現在の車線に留まること(車線追従)も可能である。目標は、たとえば自律経路計画器(図示せず)により決定されるようになっていてもよい。
【0080】
コントローラ6108は、好適な制御信号をAVの車載動作主体システム6112に与えることによって、計画器6106によりなされた決定を実行する。特に、計画器6106は、AVによる操作を計画し、コントローラ6108は、これらの操作を実行するために制御信号を生成する。
【0081】
図7は、テスト・パイプライン7200の模式ブロック図である。テスト・パイプライン7200は、シミュレータ7202およびテスト・オラクル7252を備えるように示される。シミュレータ7202は、AVランタイム・スタックの全部または一部のテストを目的としてシミュレーションを実行する。
【0082】
一例に過ぎないものの、テスト・パイプライン7200の説明では、
図6のランタイム・スタック6100を参照することにより、例によって基本的な原理のいくつかを示す。上述の通り、ランタイム・スタックのサブスタックのみがテストされることもあり得るが、簡素化のため、以下の説明では、AVスタック6100を常に参照する。なお、テストのため如何にスライスされるかに応じて、実際にテストされるのは、
図6のAVスタック6100のサブセットのみとなる可能性もある。したがって、
図6において、参照番号6100は、状況に応じて、AVスタック全体を示す可能性もあるし、サブスタックのみを示す可能性もある。
【0083】
図7は、テスト対象のAVスタック6100内の予測、計画、および制御のシステム6104、6106、および6108を示しており、シミュレート認識入力7203がシミュレータ7202からスタック6100に供給される。ただし、これは必ずしも、予測システム6104がこれらのシミュレート認識入力7203に対して直接作用することを暗示するものではない(ただし、これは1つの実行可能なスライシングであって、その場合、シミュレート認識入力7203は、認識システム6102の最終出力に形式が対応することになる)。認識システム6102全体がテスト対象のスタックに実装される場合(または、少なくとも生のセンサ・データに対して作用する1つまたは複数の下位レベルの認識コンポーネントが含まれる場合)、シミュレート認識入力7203は、シミュレート・センサ・データを備えることになる。
【0084】
シミュレート認識入力7203は、予測、最終的には、計画器6106による意思決定の基礎として用いられる。一方、コントローラ6108は、制御信号6109を出力することによって、計画器の決定を実現する。現実世界の状況において、これらの制御信号は、AVの物理的動作主体システム6112を駆動することになる。テストにおいて生成される制御信号のフォーマットおよび内容は、現実世界の状況におけるものと同じである。ただし、テスト・パイプライン7200において、これらの制御信号6109は代替として、自己運動モデル7204を駆動することにより、シミュレータ7202内で自己主体の運動をシミュレートする。
【0085】
外部主体がシミュレータ7202内で自律挙動/意思決定を示す程度まで、何らかの形態の主体決定ロジック7210の実装によって、これらの決定を実行するとともに、それに応じてシミュレータ7202内の外部主体運動を駆動する。主体決定ロジック7210は、複雑性が自己スタック6100自体に匹敵していてもよいし、意思決定能力がより制限されていてもよい。その目的は、自己スタック6100の意思決定能力を有効にテスト可能となるように、十分に現実的な外部主体挙動をシミュレータ7202内で提供することである。これについて、いくつかの状況においては、如何なる主体決定ロジック7210も全く必要とせず(開ループ・シミュレーション)、他の状況においては、基本適応走行制御(ACC)等の比較的制限された主体ロジック7210を使用することにより、有用なテストが提供され得る。自己スタック6100と同様に、シミュレータ7202からの出力によって任意の主体決定ロジック7210が駆動され、次いでその出力は、主体挙動シミュレーションの基礎として、主体運動モデル7206に対する入力を導出するために使用される。
【0086】
上記説明の通り、静的レイヤ7201aおよび動的レイヤ7201bの両方を有するシナリオ記述7201に従って、走行シナリオのシミュレーションが実行される。シナリオ記述は、抽象的なシナリオを規定するものと考えられる。本明細書に記載の通り、マップ・データベースからシーン・トポロジにアクセスすることによって、さまざまな具体的シナリオが抽象的なシナリオに基づいて生成され得る。
【0087】
静的レイヤ7201aは、シナリオの静的要素を規定するが、これには通常、静的な道路レイアウトを含むことになる。シナリオ記述7201の静的レイヤ7201aは、マップ・データベース7207からロードされたマップであるマップ7205上に配置される。規定の静的レイヤ7201aの如何なる道路レイアウトについても、このシステムは、所与のマップ7205上で、静的レイヤ7201aの規定の道路レイアウトのインスタンスを備える当該マップ7205のすべてのセグメントを認識可能となり得る。たとえば、特定のマップが選択され、「環状交差点」の道路レイアウトが静的レイヤ7201aにおいて規定されている場合、システムは、選択マップ7205上の環状交差点のすべてのインスタンスを見つけ、それらをシミュレーション環境としてロードすることも可能である。
【0088】
動的レイヤ7201bは、他の車両、歩行者、自転車等、シナリオ内の外部主体に関する動的な情報を規定する。提供される動的情報の範囲は、変化し得る。たとえば、動的レイヤ7201bは、外部主体ごとに、運動データおよび挙動データの一方または両方と併せて主体により追従される空間経路または指定車線を備えてもよい。
【0089】
単純な開ループ・シミュレーションにおいて、外部動作主体は単に、シミュレーション内で非反応性の、すなわち自己主体に反応しない動的レイヤにおいて規定された空間経路および運動データに従う。このような開ループ・シミュレーションは、主体決定ロジック7210なしに実現され得る。
【0090】
ただし、「閉ループ」シミュレーションにおいて、動的レイヤ7201bは代替として、静的経路または車線に沿って追従される少なくとも1つの挙動(ACC挙動等)を規定する。この場合、主体決定ロジック7210は、反応的にすなわち自己主体および/または他の外部主体に反応するように、シミュレーションにおいて当該挙動を実現する。運動データは依然として、静的経路と関連付けられていてもよいが、この場合は規定が弱く、たとえば経路に沿った目標として機能してもよい。たとえば、ACC挙動では、主体が一致しようとする経路に沿って目標速度が設定されていてもよいが、主体決定ロジック7210は、前方車両からの目標進度を維持するため、経路に沿った任意の地点で外部主体の速度を目標未満に下げることが許可される場合もある。
【0091】
本実施形態において、静的レイヤは、「経路」を規定する代わりに使用される車線規定を伴う道路網を提供する。動的レイヤが車線に対する主体の割り当てのほか、任意の車線操作を含む一方、実際の車線規定は、静的レイヤに格納されている。
【0092】
所与のシミュレーションに対するシミュレータ7202の出力は、自己主体の自己トレース7212aならびに1つもしくは複数の外部主体の1つもしくは複数の主体トレース7212b(トレース7212)を含む。
【0093】
トレースは、空間および運動の両成分を有するシミュレーション内の主体の挙動の完全な履歴である。たとえば、トレースは、速度、加速度、加加速度(加速度の変化率)、加加加速度(加加速度の変化率)等、経路に沿った点と関連付けられた運動データを有する空間経路の形態を取ってもよい。
【0094】
また、トレース7212の補足および背景の提供のための付加的な情報が与えられる。このような付加的情報は、「環境」データ7214と称され、静的成分(道路レイアウト等)および動的成分(シミュレーションの過程で変化する範囲での気象条件等)の両方を有し得る。
【0095】
環境データ7214は、シナリオ記述7201によって直接規定され、シミュレーションの結果の影響を受けない点において、ある程度までは「通過(passthrough)」であってもよい。たとえば、環境データ7214は、シナリオ記述7201に直接由来する静的な道路レイアウトを含んでいてもよい。ただし、通常、環境データ7214はシミュレータ7202内で導出される少なくとも一部の要素を含むことになる。これには、たとえばシミュレート気象データを含むことも可能であり、シミュレータ7202は、シミュレーションの進行に応じて気象条件を変更するかを自由に変更可能である。この場合、気象データは、時間に依存していてもよく、その時間依存性は、環境データ7214に反映されることになる。
【0096】
テスト・オラクル7252は、トレース7212および環境データ7214を受信し、これらの出力を一組の所定の数値性能基準7254に対してスコアリングする。性能基準7254は、本明細書において「デジタル・ハイウェイ・コード」(DHC)と称され得るものを符号化する。好適な性能基準のいくつかの例が以下に与えられる。
【0097】
スコアリングは時間に基づくものであり、テスト・オラクル7252は、性能基準ごとに、シミュレーションの進行に応じた当該基準(スコア)の値の経時的変化の様子を追跡する。テスト・オラクル7252は、性能基準ごとのスコア-時間プロットを備える出力7256を提供する。
【0098】
基準7256は専門家にとって有益であり、スコアは、テスト・スタック6100内の性能問題の識別および軽減に使用され得る。
【0099】
上述のようにシミュレーション・システムにより用いられるシナリオは、本明細書に記載のシナリオ構築器において生成されるようになっていてもよい。
図1に与えられたシナリオ例に戻って、
図8は、当該シナリオにおける相互作用がノードへと分解される様子を示している。
【0100】
図8は、本明細書における相互作用として規定され得る例示的なカットイン操作の進路を示している。本例において、相互作用は、3つの別個の相互作用ノードとして規定される。第1のノードは、地点N1に示される「開始操作」ノードと考えられる。このノードは、相互作用点までの時間(秒)および対抗車両の速度を規定する。第2のノードN2は、両方向矢印によって図式的に示されるカットイン・プロファイルおよび経路の湾曲部を規定し得る。このノードは、N2と表される。また、このノードは、カットイン継続時間および速度変化プロファイルによって、カットイン・プロファイルの横方向速度Vyを規定し得る。後述の通り、ユーザは、必要に応じて、加速度および加加速度の値を調整するようにしてもよい。ノードN3は、終了操作であり、相互作用点からの時間(秒)および対抗車両の速度を規定する。後述の通り、カットイン操作の開始点および終了点を設定するとともにパラメータを設定するオプションを有するため、ノード・コンテナがユーザに利用可能とされていてもよい。
【0101】
図13は、
図9aのユーザ・インターフェース900aを示しており、道路トグル901および動作主体トグル903を備える。
図9aにおいては、動作主体トグル903が選択されているため、シミュレートされる車両およびその挙動等、シミュレーション環境の動的レイヤをパラメータ化するように構成された機能および入力フィールドがユーザ・インターフェース900aに追加される。
図13においては、道路トグル901が選択されている。この選択の結果として、ユーザ・インターフェース900aには、道路レイアウト等、シミュレーション環境の静的レイヤをパラメータ化するように構成された機能および入力フィールドが追加されている。
図13の例において、ユーザ・インターフェース900aは、一組の事前設定道路レイアウト1301を備える。一組の事前設定道路レイアウト1301から特定の1つを選択すると、選択された道路レイアウトがユーザ・インターフェース900a(本例においては、ユーザ・インターフェース900aの下部)に表示され、選択された道路レイアウト1301の別途パラメータ化を可能にする。ラジオ・ボタン1303および1305は、選択時に、シミュレート車両が移動する道路側をパラメータ化するように構成されている。「左側」ラジオ・ボタン1303を選択すると、システムは、静的レイヤにおいて規定された道路の左側を動的レイヤの車両が走行するようにシミュレーションを設定することになる。同様に、「右側」ラジオ・ボタン1305を選択すると、システムは、静的レイヤにおいて規定された道路の右側を動的レイヤの車両が走行するようにシミュレーションを設定することになる。いくつかの実施形態において、特定のラジオ・ボタン1303または1305が選択されると、対向車線が設定不可能となるように、他方が自動的に選択解除される。
【0102】
図13のユーザ・インターフェース900aは、選択された事前設定道路レイアウト1301を表す編集可能な道路レイアウト1306をさらに表示する。編集可能な道路レイアウト1306には、複数の幅入力フィールド1309が関連付けられており、特定の各幅入力フィールド1309には、道路レイアウトの特定の車線が関連付けられている。データは特定の幅入力フィールド1309に入力され、その対応する車線の幅をパラメータ化するようにしてもよい。車線の幅は、シナリオ編集器におけるシナリオのレンダリングおよびランタイムにおけるシミュレーションの実行に用いられる。
【0103】
また、編集可能な道路レイアウト1306は、選択された事前設定道路レイアウト1301の曲率を修正するように構成された関連する曲率フィールド1313を有する。
図13の例において、曲率フィールド1313は、スライダとして示される。バーに沿って矢印をスライドさせることにより、道路レイアウトの曲率が編集可能となり得る。
【0104】
車線生成器1311を使用することにより、編集可能な道路レイアウト1306に対して付加的な車線が追加されるようになっていてもよい。
図13の例において、表示された編集可能な道路レイアウト1306上で左側走行が左右への走行を暗示する場合は、編集可能な道路レイアウト1306の上にある車線生成器1311を選択することによって、道路の左側に1つまたは複数の車線が追加されるようになっていてもよい。同様に、編集可能な道路レイアウト1306の下にある車線生成器1311を選択することによって、道路の右側に1つまたは複数の車線が追加されるようになっていてもよい。編集可能な道路レイアウト1306に追加された車線ごとに、当該新たな車線の幅をパラメータ化するように構成された付加的な幅入力フィールド1309も追加される。
【0105】
また、編集可能な道路レイアウト1306にある車線は、車線除去器1307の選択に際して、除去されるようになっていてもよく、編集可能な道路レイアウト中の各車線には、一意の車線除去器1307が関連付けられている。特定の車線除去器1307の選択に際して、当該特定の車線除去器1307と関連付けられた車線が除去され、当該車線と関連付けられた幅入力フィールド1309も除去される。
【0106】
このように、特定のレイアウトに対して、相互作用がユーザにより規定され得る。対抗車両の経路は、操作の開始に必要な一定速度で操作点まで継続するように設定され得る。操作終了後の対抗車両の経路は、操作の終了時に達した値を用いた一定速度で継続するものとする。ユーザには、操作点の開始および終了の設定ならびに相互作用点における対応値の確認のオプションが提供され得る。これについては、以下により詳しく記載される。
【0107】
一連の規定された相互作用を用いてシナリオを構成することにより、シミュレーション後の分析フェーズにおいて生成シナリオによりできることを強化可能である。たとえば、相互作用点の周りで分析出力を編成することができる。相互作用は、特定の操作で探索されたすべてのシナリオにわたる一貫した時点として使用され得る。これは単一の比較基準点を提供するが、ユーザは、(ランタイム継続時間に基づいて)この点の前後の設定可能な秒数の分析出力を確認することができる。
図12は、シミュレーション環境がパラメータ化され得る一般的なユーザ・インターフェース900aを構成するためのフレームワークを示している。
図12のユーザ・インターフェース900aは、シナリオ名称フィールド1201を備え、シナリオに名称が割り当てられ得る。さらに、シナリオの記述がシナリオ記述フィールド1203に入力され、シナリオに関連するメタデータ(たとえば、生成日)がシナリオ・メタデータ・フィールド1205に格納されていてもよい。
【0108】
自己車両をパラメータ化する自己物体編集ノードN100が提供されるが、この自己ノードN100は、選択された静的な道路レイアウトに対する自己車両の相互作用点車線および相互作用点速度をそれぞれ規定するように構成されたフィールド1202および1204を備える。
【0109】
第1の動作主体車両が車両1物体編集ノードN102において設定され得るが、このノードN102は、シミュレーションにおける対応する動作主体車両の開始車線および開始速度をそれぞれ規定するように構成された開始車線フィールド1206および開始速度フィールド1214を備える。他の動作主体車両(車両2および車両3)についても、対応する車両ノードN106およびN108において設定可能であるが、両ノードN106およびN108もまた、ノードN102と同じ目的だが対応する異なる動作主体車両に対して構成された開始車線フィールド1206および開始速度フィールド1214を備える。また、
図12のユーザ・インターフェース900aは、選択された場合に、付加的なノードを生成することによって、シナリオで実行される付加的な動作主体車両を生成する動作主体ノード生成器905bを備える。新たに生成される車両ノードは、新たな車両がシナリオの他の物体と同様にパラメータ化され得るように、フィールド1206および1214を備えていてもよい。
【0110】
いくつかの実施形態においては、
図9aを参照して後述する通り、ユーザ・インターフェース900aの車両ノードN102、N106、およびN108が車両選択フィールドF5をさらに備えていてもよい。
【0111】
動作主体車両ノードN102、N106、N108ごとに、動作ノード生成器905aを用いて一連の関連する動作ノードが生成され、割り当てられるようになっていてもよく、各車両ノードには、(本例においては)当該車両ノードの行の右端に位置する関連する動作ノード生成器905aが関連付けられている。動作ノードは、シナリオの実行またはシミュレートに際して対応する車両により実行される動作をパラメータ化するように構成された複数のフィールドを備えていてもよい。たとえば、車両ノードN102には、相互作用点規定フィールド1208、目標車線/速度フィールド1210、および動作制約フィールド1212を備える動作ノードN103が関連付けられている。ノードN103の相互作用点規定フィールド1208は、車両1により操作が実行されるシミュレーション環境の静的シーン・トポロジ上の点を規定し得る1つまたは複数の入力フィールドをそれ自体が備えていてもよい。同様に、目標車線/速度フィールド1210は、車線識別子を使用して、動作を実行する車両の速度および目標車線を規定するように構成された1つまたは複数の入力フィールドを備えていてもよい。動作制約フィールド1212は、実行される動作の態様をさらに規定するように構成された1つまたは複数の入力フィールドを備えていてもよい。たとえば、動作制約フィールド1212は、
図9aを参照して記載の通り、挙動選択フィールド909を備えていてもよく、また、その所定のリストから操作または挙動の種類が選択されるようになっていてもよく、システムは、特定の挙動の種類の選択に際して、選択された操作または挙動の種類のパラメータ化に要する入力フィールドを関連する動作ノードに追加するように構成されている。
図12の例において、車両1には、第1の動作ノードN103と同じ一組のフィールド1208、1210、および1212を備える第2の動作ノードN105が割り当てられている。なお、第2の動作ノードN105の右側に位置する動作ノード生成器905aの選択に際しては、第3の動作ノードがユーザ・インターフェース900aへ追加されることも可能である。
【0112】
図12の例は、第2の車両ノードN106を示すが、同様に開始車線フィールド1206および開始速度フィールド1214を備える。第2の車両ノードN106は、3つの関連する動作ノードN107、N109、およびN111を有するものとして示され、これら3つの動作ノードはそれぞれ、それらの関連する動作をパラメータ化し得る一組のフィールド1208、1210、および1212を備える。動作ノード生成器905aは動作ノードN111の右側にも存在し、その選択によって、シミュレーション中の車両2の別の挙動をパラメータ化するように構成された付加的な動作ノードを同じく生成することになる。
【0113】
また、開始車線フィールド1206および開始速度フィールド1214を同様に備える第3の車両ノードN108も表示されるが、この第3の車両ノードN108には、1つの動作ノードN113しか割り当てられていない。動作ノードN113も同様に、関連する動作をパラメータ化し得る一組のフィールド1208、1210、および1212を備え、動作ノードN113の右側にある動作ノード生成器905aの選択に際して、第2の動作ノードが生成され得る。
【0114】
動作ノードおよび車両ノードも同様に、選択可能なノード除去器907を有しており、選択された場合に、ユーザ・インターフェース900aから関連するノードを除去することによって、シミュレーション環境から関連する動作または物体を除去する。さらに、特定のノード除去器907の選択によって、当該特定のノードの補助ノードまたは従属ノードも除去され得る。たとえば、車両ノード(N106等)と関連付けられたノード除去器907の選択によって、当該車両ノードと関連付けられた動作ノード(N107等)がその動作ノードのノード除去器907を選択しなくても自動的に除去され得る。
【0115】
図12のユーザ・インターフェース900aのすべての関連フィールドへの入力の登録に際して、ユーザは、
図9aで構成された入力に対して、
図10a、
図10b、および
図11を参照して以下に記載されるようなそれらのシミュレーション環境のシミュレーション前視覚的表現を確認可能であってもよい。そして、特定のノードの選択により、入力されたパラメータを表示すると、
図10aおよび
図10bのような関連する視覚的表現上のデータ・オーバーレイとして現れる。
【0116】
図9aは、
図12のフレームワークの利用によってカットイン相互作用を規定するための一組のノードを提供する様子の特定の一例を示している。各ノードは、編集ツールのユーザ・インターフェース上でユーザに対して提示されることにより、ユーザが相互作用のパラメータを設定できるようになっていてもよい。N100は、自己車両の挙動を規定するノードを示す。車線フィールドF1によれば、ユーザは、自己車両が開始となるシーン・トポロジ上の車線を規定可能となる。最大加速度フィールドF2によれば、ユーザは、上下メニュー選択ボタンを使用して、最大加速度を設定可能となる。速度フィールドF3によれば、上下ボタンを使用することにより、固定速度の入力が可能となる。速度モード・セレクタによれば、速度の固定値への設定(
図9aのノードN100において選択されたものとして示される)または速度制限の割合への設定が可能となる。速度制限の割合は、ユーザにより設定されるそれ自体のフィールドF4と関連付けられている。ノード102は、対抗車両を記述する。これは、フィールドF5に示されるドロップダウン・メニューを用いて、動的物体のオントロジーから選択される。対抗車両が動作する車線は、車線フィールドF6を用いて選択される。カットイン相互作用ノードN103は、前方距離dx0を規定するためのフィールドF8および横方向距離dy0を規定するためのフィールドF9を有する。各フィールドF10およびF11は、前方向および横方向のカットイン操作の最大加速度を規定するために設けられている。
【0117】
ノードN103は、ドロップダウン・メニューの複数のオプションからの選択によって相互作用の性質が規定され得るタイトル・フィールドF12を有する。各オプションが選択されると、ノードの関連フィールドが表示され、当該相互作用に適したパラメータがユーザにより追加される。
【0118】
また、対抗車両の進路は、速度変更動作を規定する第2のノードN105に従う。ノードN105は、速度変更を引き起こす対抗車両の前方距離を設定するためのフィールドF13と、最大加速度を設定するためのフィールドF14と、自己車両ノードN100を参照して記載のように振る舞う各速度制限フィールドF15およびF16と、を備える。
【0119】
また、対抗車両のノードN102と同じ設定可能パラメータを提供する物体ノードN106を使用して、別の車両がさらに規定される。第2の車両は、自己車両に対する前方距離を設定するためのフィールドF16と、最大加速度を設定するためのフィールドF17と、を有するノードN107によって規定される車線維持挙動と関連付けられる。
【0120】
図9aは、道路トグル901および動作主体トグル903をさらに示している。道路トグル901は、選択された場合に、道路レイアウト等、シミュレーション環境の静的レイヤをパラメータ化するように構成された機能および入力フィールドをユーザ・インターフェース900aに追加するユーザ・インターフェース900aの選択可能な機能である(
図13の説明参照)。動作主体トグル903は、選択された場合に、シミュレートされる車両およびその挙動等、シミュレーション環境の動的レイヤをパラメータ化するように構成された機能および入力フィールドをユーザ・インターフェース900aに追加するユーザ・インターフェース900aの選択可能な機能である。
【0121】
図12を参照して記載の通り、ノード生成器905は、選択された場合に、シミュレーション環境の動的レイヤの付加的な態様をパラメータ化し得る付加的なノードを生成するユーザ・インターフェース900aの選択可能な機能である。動作ノード生成器905aは、各動作主体車両の行の右端にあってもよい。このような動作ノード生成器905aは、選択された場合に、付加的な動作ノードをそれらの関連する動作主体車両に割り当てることによって、シミュレーションに対する複数の動作のパラメータ化を可能にする。同様に、車両ノード生成器905bは、最下車両ノードの下にあってもよい。車両ノード生成器905bは、選択されると、付加的な車両または他の動的物体をシミュレーション環境に追加するが、この付加的な動的物体は、関連する動作ノード生成器905aを使用して1つまたは複数の動作ノードを割り当てることによって、さらに設定可能である。動作ノードおよび車両ノードは、選択可能なノード除去器907を有していてもよく、選択された場合に、ユーザ・インターフェース900aから関連するノードを除去することによって、シミュレーション環境から関連する挙動または物体を除去する。さらに、特定のノード除去器907の選択によって、当該特定のノードの補助ノードまたは従属ノードも除去され得る。たとえば、車両ノード(N106等)と関連付けられたノード除去器907の選択によって、当該車両ノードと関連付けられた動作ノード(N107等)がその動作ノードのノード除去器907を選択しなくても自動的に除去される。
【0122】
各車両ノードは、車両選択フィールドF5をさらに備えていてもよく、ドロップダウン・リスト等、所定の一組の種類から、特定種類の車両が選択されるようになっていてもよい。車両選択フィールドF5からの特定の車両種類の選択に際して、対応する車両ノードには、車両の種類に固有のパラメータをパラメータ化するように構成された他の入力フィールドが追加されるようになっていてもよい。さらに、特定の車両の選択は、最大加速度または速度等、対応する動作ノード・パラメータに対して制約を課す場合もある。
【0123】
また、各動作ノードは、挙動選択フィールド909を備えていてもよい。特定の動作ノード(N107等)と関連付けられた挙動選択フィールド909の選択に際して、当該ノードは、たとえばドロップダウン・リストに、シミュレーション用に設定可能な一組の所定の挙動および/または操作の種類を表示する。一組の所定の挙動からの特定の挙動の選択に際して、このシステムは、関連する車両の選択された挙動のパラメータ化に必要な入力フィールドを動作ノードに追加する。たとえば、動作ノードN107は、動作主体車両TV2と関連付けられ、挙動選択フィールド909を備えており、「車線維持」挙動が選択されている。この特定の選択の結果として、動作ノードN107には、自己車両EVからの関連車両TV2の前方距離を設定するためのフィールドF16と、動作主体車両TV2の選択された挙動種類のパラメータ化を可能にするように示された最大加速度フィールドF17と、が追加されている。
【0124】
図9bは、
図9aのユーザ・インターフェースの別の実施形態を示している。
図9bは、自己車両EV、第1の動作主体車両TV1、および第2の動作主体車両TV2をそれぞれ表す同じ車両ノードN100、N102、およびN106を備える。
図9bの例は、
図9aと同様のシナリオを与えるが、ノードN102により規定された第1の動作主体車両TV1が「カットイン」操作ではなく、「車線変更」操作を実行しており、ノードN106により規定された第2の動作主体車両TV2が「車線維持」操作ではなく、「速度維持」操作を実行するとともに、「乗用車」とは対照的に「大型トラック」として規定されており、ユーザ・インターフェース900bのフィールドに入力された複数の例示的なパラメータもユーザ・インターフェース900aのものとは異なっている。
【0125】
図9bのユーザ・インターフェース900bは、
図9aのユーザ・インターフェース900aには存在しない複数の機能を備える。たとえば、動作主体車両TV1およびTV2をそれぞれパラメータ化するように構成された動作主体車両ノードN102およびN106は、シミュレーション中の各車両の初期速度を規定するように構成された開始速度フィールドF29を含む。ユーザ・インターフェース900bは、ユーザが1つまたは複数の文字を入力してパラメータ化対象のシナリオの名称を規定することができるシナリオ名称フィールドF26をさらに備える。また、シナリオ記述フィールドF27が含まれ、これは、シナリオの識別および他のシナリオからの区別に役立つ別の文字および/または単語を受け付けるように構成されている。また、ラベル・フィールドF28も存在しており、これは、保存されたシナリオの分類および編成に役立ち得る単語および/または識別文字を受け付けるように構成されている。ユーザ・インターフェース900bの例においては、「環境|幹線道路」というタイトルのラベルがフィールドF28に追加されている。
【0126】
図9bのユーザ・インターフェース900bには、
図9aのユーザ・インターフェース900aの複数の機能が存在しない。たとえば、
図9bのユーザ・インターフェース900bにおいては、自己車両ノードN100に対して加速度制御が規定されていない。さらに、
図9bの例においては、道路トグル901および動作主体トグル903が存在せず、ユーザ・インターフェース900bは、車両およびその挙動をパラメータ化するように具体的に構成されている。
【0127】
さらに、車両速度を規定の速度制限の割合として規定する
図9aのオプションF4およびF18は、ユーザ・インターフェース900bでは利用できない機能であり、固定速度フィールドF3のみがこの実施形態において設定可能である。速度変更操作ノードN105にあったフィールドF14等の加速度制御フィールドについても、
図9bのユーザ・インターフェース900bには存在しない。速度変更操作の挙動制約は、異なる一組のフィールドを用いてパラメータ化される。
【0128】
さらに、第1の動作主体車両TV1に割り当てられた速度変更操作ノードN105には、異なる一組のフィールドが追加されている。ユーザ・インターフェース900aにある最大加速度フィールドF14、固定速度フィールドF15、および速度制限割合フィールドF18は、900bに存在しない。その代わりに、目標速度フィールドF22、相対位置フィールドF21、および速度フィールドF23が存在する。目標速度フィールドF22は、速度変更操作の最後に、関連する車両の所望の速度に関するユーザ入力を受け付けるように構成されている。相対位置フィールドF21は、フィールドF13において規定された前方距離が測定される地点または他のシミュレーション・エンティティを規定するように構成されているが、前方距離フィールドF13はユーザ・インターフェース900aおよび900bの両方に存在する。
図9bの例において、相対位置フィールドF21は、自己車両として規定されているが、たとえばドロップダウン・メニューを介して他のオプションが選択されるようになっていてもよい。速度フィールドF23は、操作の速度または割合を規定する。ノードN103により規定される操作が(位置でも車線でもなく)速度に依存するため、速度フィールドF23は、フィールドF22に規定されるような目標速度に達し得る割合を制限するため、加速度制御を表すことになる。
【0129】
ユーザ・インターフェース900bにおいては、第1の動作主体車両TV1に割り当てられた操作ノードN103が車線変更操作として規定されていることから、ノードN103には、カットイン操作を規定するユーザ・インターフェース900aの同じノードに異なるフィールドが追加されている。
図9bの操作ノードN103は依然として、前方距離フィールドF8および横方向距離フィールドF9を備えるが、ここでは、フィールドF8の前方距離が測定される地点または他のシミュレーション・エンティティを規定するように構成された相対位置フィールドF30をさらに備える。
図9bの例において、相対位置フィールドF30は、自己車両を基準点として規定するが、ドロップダウン・メニューからの選択等、他のオプションが設定可能であってもよい。したがって、操作作動条件は、F30において規定された地点またはエンティティから、フィールドF8およびF9において規定された前方距離および横方向距離を測定することにより規定される。
図9bの車線変更操作ノードN103は、操作の実行後、関連する車両により占有される車線を規定するように構成された目標車線フィールドF19と、操作の運動制約を規定するように構成された速度フィールドF20と、をさらに備える。
【0130】
図9bにおいては、第2の動作主体車両TV2に割り当てられた操作ノードN107が「速度維持」操作として規定されていることから、
図9bのノードN107には、「速度維持」操作を規定するユーザ・インターフェース900aの同じノードに異なるフィールドが追加されている。
図9bの操作ノードN107は依然として、前方距離フィールドF16を備える一方、
図9aに存在した最大加速度フィールドF17は含まない。その代わりに、
図9bのノードN107は、相対位置フィールドF21およびF30と同じ目的で作用し、ドロップダウン・メニューによって同様に編集可能となり得る相対位置フィールドF31を備える。さらに、目標速度フィールドF32および速度フィールドF25が含まれる。目標速度フィールドF32は、操作中に維持される目標速度を規定するように構成されている。速度フィールドF25は、操作の速度または割合を規定する。ノードN105により規定される操作が(位置でも車線でもなく)速度に依存するため、速度フィールドF25は、フィールドF32に規定されるような目標速度に達し得る割合を制限するため、加速度制御を表すことになる。
【0131】
ノードN103およびN107に追加となったフィールドは、そこで規定される操作が異なるため、
図9aおよび
図9b間で異なる。ただし、これらのノードに規定された操作の種類が
図9aおよび
図9b間で一致するならば、ユーザ・インターフェース900bは依然として、ユーザ・インターフェース900aとは異なるように各ノードを追加し得ることに留意するものとする。
【0132】
図9bのユーザ・インターフェース900bは、
図9aのユーザ・インターフェース900aと同様に、ノード生成ボタン905を備える。ただし、
図9bの例は、
図9aのユーザ・インターフェース900aの機能であった車両ノード生成器905bを示していない。
【0133】
図9bの例において、F12等の操作種類フィールドは、編集可能なフィールドでなくてもよい。
図9aにおいては、フィールドF12が編集可能なフィールドであるため、そのドロップダウン・リストから特定の操作種類を選択すると、当該特定の操作種類をパラメータ化するための関連入力フィールドが関連するノードに追加される。その代わりに、
図9bの例においては、ノード生成器905の選択等、ノードの生成に際して、操作種類が選択されるようになっていてもよい。
【0134】
図10aおよび
図10bは、システムのシミュレーション前視覚化機能の例を与える。このシステムは、ユーザがパラメータ化シミュレーションを実行前に視覚化可能となるように、静的レイヤおよび動的レイヤのグラフィック表現を生成することができる。この機能は、ユーザが所望のシナリオを意図せず誤ってプログラムしてしまう可能性を大幅に低減する。
【0135】
ユーザは、シミュレーションを実行し、その観察によってプログラミング・エラーの存在を見つける必要なしに、シミュレーションの重要な瞬間(たとえば、相互作用状態の時点)にシミュレーション環境のグラフィック表現を確認することができる。また、
図10aおよび
図10bは、
図9aのユーザ・インターフェース900aの選択機能を実証している。
図9aに備えられる一組のノードから1つまたは複数のノードが選択可能であってもよく、その選択によって、システムは、シミュレーション環境のグラフィック表現に対して、当該ノードのプログラムされた挙動のデータ・オーバーレイを行う。
【0136】
たとえば、
図10aは、
図9aのユーザ・インターフェース900aにおいてプログラムされたシミュレーション環境のグラフィック表現を示しており、「車両1」というタイトルのノードが選択されている。この選択の結果として、車両1 TV1に割り当てられたパラメータおよび挙動は、
図10a上のデータ・オーバーレイとして視認可能となる。記号X2は、ノードN103に対して規定された相互作用状態が満たされた地点を示しており、地点X2が座標ではなく、F8およびF9に入力された距離により規定されていることから、記号X1は、F8およびF9においてパラメータ化された距離が測定される地点を規定する(所与のすべての例では、自己車両EVを用いて、X1地点を規定する)。また、「20m」と記された橙色の点線1001は、操作が作動される自己車両EVと車両1 TV1との間の長手方向距離(X1とX2との間の距離)を明確に示す。
【0137】
また、ノードN103においてパラメータ化されたカットイン操作は、記号X2から記号X4までの湾曲した橙色線1002として視認可能であり、記号の種類は、ノードN103の左上隅に規定されている。同様に、ノードN105において規定された速度変更操作は、カットインが終了となる記号X4から記号X3までの橙色線1003として示されており、記号の種類は、ノードN105の左上隅に規定されている。
【0138】
「車両2」のノードN106の選択に際して、車両2 TV2に割り当てられたデータ・オーバーレイが
図10bと同様に示される。なお、
図10aおよび
図10bは、時間的に同一の瞬間を示しているが、
図9aのユーザ・インターフェース900aにおいて選択された車両ノードのみが異なり、したがってデータ・オーバーレイの存在も異なる。車両2のノードN106を選択することにより、
図10bにおいては、ノードN107において車両2 TV2に割り当てられた「車線維持」操作の視覚的表現が存在する。このF16に規定されるような車両の操作の作動条件は、
図10bにオーバーレイされた青色の点線1004として示され、作動条件が満たされる地点および作動条件を規定する距離が測定される地点をそれぞれ表す記号X2およびX1も存在する。車線維持操作は、
図10bにオーバーレイされた青色の矢印1005として示され、その終点にも同様に、ノードN107の左上隅に規定された記号(この場合は、記号X3)が記されている。
【0139】
いくつかの実施形態においては、複数の車両に関するデータ・オーバーレイを同時に表示することも可能であってよく、または特定の車両に割り当てられたすべての操作ではなく、1つの操作のみに関するデータ・オーバーレイを表示することも可能であってよい。
【0140】
また、いくつかの実施形態においては、操作の開始点または終了点の規定に用いられる記号の種類を編集することも可能であってよく、この場合、
図9aの動作ノードの左上隅の記号は、ユーザ・インターフェース900の選択可能かつ編集可能な機能である。
【0141】
いくつかの実施形態においては、データ・オーバーレイが示されない。
図11は、
図9aのユーザ・インターフェース900において設定されたものと同じシミュレーション環境を示しているが、ノードはどれも選択されていない。その結果、
図10aまたは
図10bに見られるデータ・オーバーレイはどれも存在せず、自己車両EV、車両1 TV1、および車両2 TV2のみが示される。
図10a、
図10b、および
図11により表現されるものは不変で、データ・オーバーレイのみが変化している。
【0142】
図14a、
図14b、および
図14cは、自己車両、第1の動作主体車両、および第2の動作主体車両をそれぞれ表す3つの車両EV、TV1、およびTV2間の相互作用シナリオのシミュレーション前のグラフィック表現を示している。また、各図には、シミュレーションに先立つパラメータ化シナリオの動的な視覚化を可能にするように構成されたスクラビング・タイムライン(scrubbing timeline)1400も含む。
図14a、
図14b、および
図14cのすべてに関して、車両TV1の操作に関するデータ・オーバーレイがグラフィック表現上に示されるように、ノード編集ユーザ・インターフェース(
図9b等)においては車両TV1のノードが選択されている。
【0143】
スクラビング・タイムライン1400は、タイムラインに沿った両方向に制御され得るスクラビング・ハンドル(scrubbing handle)1407を含む。また、スクラビング・タイムライン1400には、再生量コントロール1401、1402、および1404(再生ボタン1401、巻き戻しボタン1402、および早送りボタン1404)が関連付けられている。再生ボタンは、選択に際して、パラメータ化シナリオのシミュレーション前の動的表現を再生するように構成されていてもよく、その再生は、選択時のスクラビング・ハンドル1407の位置から始まるようになっていてもよい。巻き戻しボタン1402は、選択に際して、スクラビング・ハンドル1407を左方へと移動させることにより、対応するより早い瞬間をグラフィック表現に示させるように構成されている。また、巻き戻しボタン1402は、選択時に、操作が開始となった最も近い時間等、シナリオにおける重要な瞬間までスクラビング・ハンドル1407を戻すように構成されていてもよく、これにより、シナリオのグラフィック表現は、新たな時点と一致するように調整されることになる。同様に、早送りボタン1404は、選択に際して、スクラビング・ハンドル1407を右方へと移動させることにより、対応するより遅い瞬間をグラフィック表現に示させるように構成されている。また、早送りボタン1404は、選択に際して、新たな操作が開始となる将来の最も近い地点等、将来の重要な瞬間まで移動させるように構成されていてもよく、このような場合、グラフィック表現は、新たな時点に応じて変化することになる。
【0144】
いくつかの実施形態において、スクラビング・タイムライン1400は、パラメータ化シナリオについて、時間的にほぼ連続した一組のインスタンスを表示可能であってもよい。この場合、ユーザは、シミュレーションの開始と終了間の任意の瞬間までスクラビング可能であるとともに、当該瞬間におけるシナリオのシミュレーション前の対応するグラフィック表現を視認可能となり得る。このような場合は、再生ボタン1401の選択によって、相互作用シナリオの連続的な進行をユーザが認識するようなフレームレートでの動的な視覚化の再生が可能となり得る(すなわち、ビデオ再生)。
【0145】
スクラビング・ハンドル1407それ自体は、スクラビング・タイムライン1400の選択可能な機能であってもよい。スクラビング・ハンドル1407は、選択およびスクラビング・タイムライン1400上の新たな位置へのドラッグによって、グラフィック表現を変化させ、新たな瞬間におけるシミュレーション・エンティティの相対的な位置を示すようにしてもよい。あるいは、スクラビング・タイムライン1400に沿った特定の位置の選択によって、スクラビング・タイムラインに沿って選択が行われた地点までスクラビング・ハンドル1407を移動させるようにしてもよい。
【0146】
また、スクラビング・タイムライン1400は、色付きまたは網掛け領域等、パラメータ化シナリオのさまざまなフェーズを示す視覚的インジケータを含んでいてもよい。たとえば、特定の視覚的表示がスクラビング・タイムライン1400のある領域に割り当てられ、特定の車両に対する操作作動条件が満たされていない一組の時間的インスタンスを示していてもよい。そして、第2の視覚的表示が第2の領域を示していてもよい。たとえば、この領域は、操作が発生した期間または割り当てられたすべての操作が実行済みとなった場所を表していてもよい。たとえば、
図1Aに対する例示的なスクラビング・タイムライン1400は、網掛けされていない作動前領域1403を含み、シナリオの作動条件が満たされていない期間を表す。また、網掛けされた操作領域1409も示され、これは、動作主体車両TV1およびTV2に割り当てられた操作が進行中である期間を示す。例示的なスクラビング・タイムライン1400は、網掛けされていない操作後領域1413をさらに含み、動作主体車両TV1およびTV2に割り当てられた操作が完了となった期間を示す。
【0147】
図14bに示されるように、スクラビング・タイムライン1400は、シナリオ・フェーズ間の境界を表す1405および1411等の記号インジケータをさらに含んでいてもよい。たとえば、例示的なスクラビング・タイムライン1400は、操作が作動された瞬間を表す第1の境界インジケータ1405を含む。同様に、第2の境界点1411は、操作中フェーズ1409と操作後フェーズ1413との間の境界点を表す。なお、
図14a、
図14b、および
図14cの境界点を示すのに用いられる記号は、すべての実施形態において同じでなくてもよい。
【0148】
図14a、
図14b、および
図14cは、単一のシナリオの場合の時間の進行を示している。
図14aにおいて、スクラビング・ハンドル1407は、シナリオの相互作用前フェーズ1403と相互作用中フェーズ1409との間の第1の境界点1405に配置されている。その結果、動作主体車両TV1は、この遷移が発生する位置(地点X2)に示される。
図14bにおいて、動作主体車両TV1は、その第1の操作(カットイン)を実行して、地点X3に達している。この瞬間に、動作主体車両TV1は、その第2の操作(減速操作)の実行を開始することになる。地点X2すなわち対応する第1の境界点1405での操作の作動から時間が経過していることから、スクラビング・ハンドル1407は、第2の操作が開始となる時点に対応するように移動している。なお、
図14bにおいて、スクラビング・ハンドル1407は、網掛けにより示されるように、操作中フェーズ1409内にある。そして、
図14cは、操作が完了された瞬間を示している。動作主体車両TV1は、地点X4に達しており、スクラビング・ハンドルは、操作が終了となった地点である第2の境界点1411まで進んでいる。
【0149】
シナリオの視覚化は、シナリオに対して選択された特定の道路セグメント上の主体(この場合は、車両)のリアルタイム・レンダリング描写である。自己車両EVが黒色で示される一方、他の車両はラベルで表される(TV1、TV2等)。視覚的なオーバーレイは、オンデマンドで切り替え可能であり、相互作用の開始点および終了点、車両の位置および軌跡、ならびに他の主体からの距離を示す。
図9b等の対応するノード編集ユーザ・インターフェースにおける異なる車両ノードの選択によって、視覚的オーバーレイが示される車両または動作主体を制御する。
【0150】
タイムライン・コントローラによれば、ユーザは、シナリオ相互作用のリアルタイム再生(再生ボタン)、ある相互作用点から次の相互作用点までのジャンプ(前後スキップ・ボタン)、またはスクラビング・ハンドル1407を用いた時間の前方または後方スクラビングが可能となる。丸で囲んだ「+」がタイムライン中の最初の相互作用点を示し、丸で囲んだ「×」が最終的な相互作用点を表す。これは、シナリオにおける主体をすべて網羅する。すなわち、丸で囲んだ「+」は、シミュレーション中の任意の主体について最初の操作が開始する時点を示し、丸で囲んだ「×」は、シミュレーション中の任意の主体について最後の操作が終了する時点を表す。
【0151】
タイムラインを再生する場合、主体の視覚化は、それらのシナリオ動作により指定されるような主体の動きを示すことになる。
図14aにより与えられる例において、主体TV1は、自己EVの前方5mかつ横方向距離1.5mの地点で最初に自己EVと相互作用し、地点X2と示される。これが(丸で囲んだ「1」により指定される)最初の動作をトリガし、TV1は、シナリオにおいて速度および加速度の制約が与えられた状態で、車線1から車線2への車線変更動作を実行することになる。当該動作が完了となった場合、主体は、次の動作へと進むことになる。
図14bにおいて丸で囲んだ「2」により指定される2つ目の動作は、TV1が自己の30m前方の場合にトリガされることになり、これが第2の相互作用点である。そして、TV1は、その指定された減速動作を実行して、特定の速度を実現することになる。
図14cに示されるように、当該速度に達した場合は、2つ目の動作が完了となる。この主体には、これ以外の動作が割り当てられていないため、これ以上の操作を実行することはない。
【0152】
これらの例示的な画像は、シナリオにおける第2の主体(TV2)を示す。この車両には、車線2に追従するとともに安定した速度を維持する動作が割り当てられている。この視覚化の視点は道路の鳥瞰的な上面視であり、自己を追跡しているため、主体の動きは互いに相対的なものしか見えず、シナリオの視覚化においてTV2の動きは見えない。
【0153】
図15aは、システムがマップ7205上のシナリオ7201のパラメータ化静的レイヤ7201aのすべてのインスタンスを認識するプロセスの高度模式図である。パラメータ化シナリオ7201は、動的レイヤのエンティティおよびその相互作用に関するデータを同じく含み得るが、シナリオ7201において規定された静的レイヤおよび静的レイヤの距離要件それぞれに関するデータ・サブグループ7201aおよび1501を備えるように示される。一例として、静的レイヤ・パラメータ7201aおよびシナリオ実行距離1501は、組み合わされた場合に、4車線の「中央分離道路」の「T字路」で終わる2車線道路の100m区間を規定していてもよい。
【0154】
識別プロセス1505は、マップ・データベースに格納された1つまたは複数のマップに関するシステムの分析を表す。このシステムは、パラメータ化された静的レイヤのパラメータ7201aおよびシナリオ実行距離1501を満たす1つまたは複数のマップ上のインスタンスを識別可能である。そして、パラメータ化道路セグメントの好適なインスタンスを備えるマップ7205がシミュレーション用として、ユーザに提供されるようになっていてもよい。
【0155】
このシステムでは、各マップにおける道路セグメントに関する既存のデータに対して、パラメータ化された静的レイヤの基準を比較することにより、好適な道路セグメントを検索するようにしてもよい。この場合、システムは、好適な道路セグメント1503の部分集合と好適ではないその他の道路セグメント1507の部分集合とを区別することになる。
【0156】
図15bは、複数の異なる種類の道路セグメントを備える例示的なマップ7205を示している。ユーザがシナリオ7201の一部として静的レイヤ7201aおよびシナリオ実行距離1501をパラメータ化した結果として、このシステムでは、パラメータ化道路レイアウトの好適な例であるマップ7205内のすべての道路セグメントを識別している。システムにより識別された好適なインスタンス1503は、
図15bにおいて青色で強調されている。好適な各インスタンスは、シナリオ記述からの具体的なシナリオの生成に使用され得る。
【0157】
以下の説明は、クエリーを満たす道路要素を読み出すための静的な道路レイアウトの問い合わせに関する。道路レイアウトの速度最適化問い合わせの恩恵を受ける自律走行車の用途は数多く存在する。このような特徴を実現するには、静的な道路レイアウトを格納するように構成されたコンピュータ・ストレージを備えるコンピュータ・システムが必要とされ得る。このコンピュータ・システムは、静的な道路レイアウトのメモリ内トポロジ・インデックスを生成するように構成されたトポロジ・インデックス化コンポーネントを備えていてもよい。トポロジ・インデックスは、ノードおよびエッジから成るグラフの形態で格納されていてもよく、各ノードが静的な道路レイアウトの道路構造要素に対応し、エッジが道路構造要素間のトポロジ関係を符号化している。このコンピュータ・システムは、静的な道路レイアウトの道路構造要素に対して幾何学的な制約をマッピングするための静的な道路レイアウトの少なくとも1つのメモリ内幾何学的インデックスを生成するように構成された幾何学的インデックス化コンポーネントをさらに具備していてもよい。
【0158】
幾何学的クエリーを受信し、幾何学的クエリーの1つまたは複数の幾何学的制約を満たす少なくとも1つの静的な道路要素を配置するための幾何学的インデックスを検索し、少なくとも1つの道路構造要素の記述子を返すように構成されたシナリオ・クエリー・エンジンが設けられていてもよい。シナリオ・クエリー・エンジンは、少なくとも1つの道路要素の記述子を備えるトポロジ・クエリーを受信し、対応するノードを配置するトポロジ・インデックスを検索し、トポロジ・インデックスのエッジに符号化されたトポロジ関係に基づいて、トポロジ・クエリーを満たす少なくとも1つの他のノードを識別し、トポロジ・クエリーを満たす当該他のノードの記述子を返すようにさらに構成されていてもよい。
【0159】
他のクエリーも可能とされ得る。たとえば、シナリオ・クエリー・エンジン(SQE)は、静的レイヤまたはマップ内の位置を与える距離クエリーを受信し、距離クエリーにおいて与えられた位置に最も近い道路構造要素の記述子を返すように構成されていてもよい。
【0160】
幾何学的インデックス化コンポーネントは、道路構造要素間の境界に存在する線状セグメントを含む1つまたは複数の線状セグメント・インデックスを生成するように構成されていてもよい。各線状セグメントは、道路構造要素識別子と関連付けて格納されていてもよい。2つの道路構造要素間の境界に存在する各線状セグメントの2つのコピーがこれら2つの道路構造要素の異なる道路構造要素識別子と関連付けて、1つまたは複数の線状セグメント・インデックスに格納されていてもよい。1つまたは複数の線状セグメント・インデックスは、上述の距離クエリーの処理に用いられるようになっていてもよい。
【0161】
幾何学的クエリーは、位置(たとえば、指定の(x,y)点)および所要の道路構造要素種類を入力とし、幾何学的(空間的)インデックスへの問い合わせによって、提供された位置を含む所要の道路構造要素種類の車線の記述子を返す包含クエリーであってもよい。所要の種類の道路構造要素が返されない場合は、ヌル結果が返されるようになっていてもよい。空間的インデックスは、包含クエリーの処理に使用する道路構造要素またはその一部の境界ボックスを含む境界ボックス・インデックスを備えていてもよく、各境界ボックスは、道路構造要素識別子と関連付けられる。
【0162】
なお、道路構造要素は、記述子から、静的な道路レイアウトまたはマップにおいて直接配置可能であってもよい。また、クエリー中の道路構造要素が種類ごとに固有の場合は、最初に、グラフ・データベースへのフィルタの適用によって、当該固有の種類以外のノードを取り除くようにしてもよい。SQEは、種類固有の距離クエリーの所要の道路構造要素種類を符号化するフィルタを1つまたは複数の線状セグメント・インデックスに適用することによって、所要の道路構造要素種類に適合しない線状セグメントを取り除くようにさらに構成されていてもよい。
【0163】
1つもしくは複数の線状セグメント・インデックスまたは境界ボックス・インデックスにおける道路構造要素識別子は、フィルタを適用するための仕様(のメモリ内表現)における識別道路構造の配置に用いられるようになっていてもよい。
【0164】
なお、幾何学的クエリーは、元の道路レイアウト記述の背景において解釈され得る形態の結果を返す。すなわち、幾何学的クエリーに対して返される記述子は、静的レイヤにおける対応する部分への直接マッピングを行うようにしてもよい(たとえば、地点xと交差する車線のクエリーであれば、問題の車線を表す部分への直接マッピングを行う記述子を返すことになる)。トポロジ・クエリーにも同じことが当てはまる。
【0165】
トポロジ・クエリーは、1つまたは複数の道路構造要素の入力記述子(入力要素)を含み、当該トポロジ・クエリーを満たす1つまたは複数の道路構造要素の出力記述子(出力要素)の形態の応答を返す。たとえば、トポロジ・クエリーは、開始レーンおよび目的レーンを示し、開始レーンから目的レーンまでの一組の「微小経路」を要求するようにしてもよく、微小経路は、前者から後者までの通過可能な一連の車線として規定される。これは、「微小計画(microplanning)」と称され得るものの一例である。なお、本開示では経路計画に特に焦点を当てていないため、別途詳細は提供されない。ただし、当然のことながら、このような微小計画は、SQEシステムにより実現されるようになっていてもよい。
【0166】
道路分割インデックスが道路インデックス化コンポーネントにより生成されるようになっていてもよい。道路分割インデックスは、幾何学的(空間的)インデックスの構築に用いられるようになっていてもよく、また、SQEの特定のクエリー・モードを直接サポートしていてもよい。
【0167】
なお、静的レイヤのクエリーに関する上記開示は、複数のマップにおける複数の静的レイヤにわたって拡張され得る。また、特定の構成にて組み合わされた1つまたは複数の道路構造要素で構成された複合道路構造へと拡張され得る。すなわち、1つまたは複数の一般道路構造テンプレートに基づいて、一般的なシナリオの道路レイアウトが規定されるようになっていてもよい。
【0168】
図13のユーザ・インターフェース900は、左から右に5つの例示的な一般道路構造(片側1車線、2車線双方向道路、双方向T字路、双方向4方交差点、および双方向4方環状交差点)を示している。一例として、
図13に示されるような一般道路構造を記述するパラメータがSQEに入力として登録されるようになっていてもよい。SQEは、マップ・データベースにおける複数の静的レイヤ・マップそれぞれに対してフィルタを適用することにより、クエリーの入力制約を満たす各マップの静的レイヤ・インスタンスを隔離するようにしてもよい。このようなクエリーは、当該クエリーの入力制約を満たす複数のマップのうちの1つにおける道路レイアウトにそれぞれ対応する1つまたは複数の記述子を返すようにしてもよい。一例において、ユーザは、交通方向ごとに1つの車線を有する一般双方向T字路をパラメータ化し、マップ・データベースにおける複数のマップに対応する複数のインデックスへの問い合わせによって、このような各マップ中のすべてのT字路インスタンスを識別するようにしてもよい。
【0169】
そして、複数のマップにわたる一般的シナリオの道路レイアウトのクエリーは、速度制限等、パラメータ化シナリオの動的制約および/または複数のマップと関連付けられた動的制約を考慮するようにさらに拡張され得る。ここで、同じ方向に走行するように構成された2車線の道路についてパラメータ化された追い抜き操作を考える。このような操作の1つまたは複数のマップにおいて好適なインスタンスを識別するため、好適な道路の延伸長さが評価されるようになっていてもよい。すなわち、追い抜き操作の実行に対して、すべての2車線インスタンスが十分に長いわけではない。ただし、必要とされる道路の長さは、操作中に車両が走行する速度によって決まる。その後、各マップ上の道路の各延伸と関連付けられた速度制限、シナリオにおいてパラメータ化された速度、または両方に基づいて、速度に基づく好適性評価が行われるようになっていてもよい(シナリオのパラメータ化速度が許可された道路を識別する)。なお、好適性の評価に際しては、道路の曲率等、他の静的または動的な態様も考慮され得る。すなわち、見通しの悪い曲がり角は、道路の長さにも速度制限にも関係なく、追い抜き操作に好適な場所とはされ得ない。
【0170】
なお、動的な制約が考慮される場合は、マップ・インスタンスの好適性に対する制限が多くなる。ただし、有用な結果が返される限りは、マップ内の好適なインスタンスをより多く識別できるように、可能な限り多くのパラメータを可変にするか、または、可能な限り広い範囲に制限するものとする。このことは、動的な制約が考慮されるか否かに関わらず、一般的に当てはまる。
【0171】
なお、マップ・データベースにおいて識別される道路レイアウトの一致数を制限し得るのは、制約パラメータの数だけではない。ユーザが設定した各パラメータが制約を受ける程度は、返される一致数に大きな影響を与える。たとえば、ユーザが設定した道路レイアウトと比較して、特定のパラメータ値に対して比較的小さな偏差を有するマップ・インスタンスは、完全に好適なマップ・インスタンスとされ得る。ユーザにより入力された対応する各パラメータ値と厳密に一致するパラメータ値を有するマップ・インスタンス以外の好適なマップ・インスタンスをSQEが識別するため、閾値の設定またはパラメータ範囲の提供を行う何らかのシステムが実装されていてもよい。このようなパラメータ範囲の詳細については、以下に与えられる。
【0172】
ユーザは、マップ・データベースのマップ内の好適または一致トポロジへの問い合わせのため、道路レイアウトをパラメータ化する場合、制約したい1つまたは複数のパラメータの値の上側閾値および下側閾値を提供するようにしてもよい。SQEは、クエリーを受信したら、マップ・インスタンスのフィルタリングによって、ユーザ規定の範囲内にパラメータ値が存在するインスタンスを識別する。すなわち、SQEにより返されるマップ・インスタンスについて、このインスタンスは、ユーザ・クエリーにより制約を受けるすべてのパラメータに対して、ユーザ・クエリーのパラメータごとに規定された特定の範囲内の値を有する。
【0173】
あるいは、ユーザは、1つまたは複数のパラメータの絶対値を与えることにより、抽象的な道路レイアウトを規定するようにしてもよい。ユーザ規定の道路レイアウトがクエリーとしてSQEに入力される場合、SQEは、ユーザにより制約されたパラメータごとに、好適な範囲を決定するようにしてもよい。好適な範囲の決定に際して、SQEは、ユーザにより制約されたパラメータごとに、当該SQEが決定した範囲を満たすマップ・インスタンスを識別するクエリーを実行するようにしてもよい。SQEは、ユーザにより与えられた各パラメータ値の両側に所定の割合の偏差を許可することによって、好適な範囲を決定するようにしてもよい。いくつかの例においては、特定のパラメータ値が大きくなると、小さくなる場合よりも大きな影響が及ぶ可能性もあり、その逆もまた同様である。たとえば、湾曲した道路のキャンバーが大きくなると、小さくなる場合よりもマップ・インスタンスの好適性に対する影響が大きくなる。すなわち、道路の負のキャンバーが大きくなる(つまり、道路がカーブの内側から離れるほど急勾配になる)と、道路レイアウトは、キャンバーが逆方向に変化する(つまり、道路が内側に大きく傾斜する)場合よりも早く、好適でなくなる可能性がある。所与の速度の車両は、同様に正のキャンバーが大きな場合よりも、負のキャンバーが大きな場合にロールまたは制御喪失の可能性が高くなるためである。このような例において、SQEは、ユーザ規定のパラメータ値を上回る第1のパーセント値で上側閾値を適用し、ユーザ規定のパラメータ値を下回る第2のパーセント値で下側閾値を適用するように構成されていてもよい。
【0174】
いくつかの例においては、負のパラメータ値が意味をなさない場合もある。このようなパラメータの周りの範囲は、負の値を含むように構成されていなくてもよい。ただし、いくつかの例においては、負のパラメータ値が受け入れ可能となり得る。SQEは、負の値が受け入れ可能か否かに基づいて、特定のパラメータ範囲に制約を適用するようにしてもよい。
【0175】
特定の値範囲内に制約され得る静的レイヤ・パラメータの例としては、道路幅、車線幅、曲率、道路セグメント長、垂直方向の急勾配、キャンバー、標高、超高度、車線数等が含まれる。当然のことながら、他のパラメータも同様に制約され得る。
【0176】
当然のことながら、用語「一致(match)」は、SQEに対するシナリオ・クエリーに基づいて識別されたマップ・データベースのマップ内のマップ・インスタンスを表す。「一致」の識別マップ・インスタンスは、クエリーのすべての制約パラメータに関して、特定の範囲内に存在するパラメータ値を有する。
【0177】
当然のことながら、上記説明において、マップは、パラメータ化シナリオから完全に分離されていてもよい。シナリオは、SQEに対するクエリーを用いたマップ内の好適な道路レイアウト・インスタンスの識別に際して、マップに結合されるようになっていてもよい。
【国際調査報告】