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

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

▶ ファイブ、エーアイ、リミテッドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-02
(45)【発行日】2024-08-13
(54)【発明の名称】自律型車両の計画
(51)【国際特許分類】
   B60W 30/10 20060101AFI20240805BHJP
   B60W 40/02 20060101ALI20240805BHJP
   B60W 60/00 20200101ALI20240805BHJP
   G08G 1/16 20060101ALI20240805BHJP
【FI】
B60W30/10
B60W40/02
B60W60/00
G08G1/16 C
【請求項の数】 19
(21)【出願番号】P 2023133680
(22)【出願日】2023-08-18
(62)【分割の表示】P 2021546462の分割
【原出願日】2019-10-16
(65)【公開番号】P2023175055
(43)【公開日】2023-12-11
【審査請求日】2023-09-15
(31)【優先権主張番号】1816853.4
(32)【優先日】2018-10-16
(33)【優先権主張国・地域又は機関】GB
(31)【優先権主張番号】1816850.0
(32)【優先日】2018-10-16
(33)【優先権主張国・地域又は機関】GB
(31)【優先権主張番号】1816852.6
(32)【優先日】2018-10-16
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】521163628
【氏名又は名称】ファイブ、エーアイ、リミテッド
【氏名又は名称原語表記】FIVE AI LIMITED
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【弁理士】
【氏名又は名称】赤岡 明
(74)【代理人】
【識別番号】100202429
【弁理士】
【氏名又は名称】石原 信人
(72)【発明者】
【氏名】スブラマニアン、ラマムーシー
(72)【発明者】
【氏名】ミハイ、ドブレ
(72)【発明者】
【氏名】ロベルト、アントリン
(72)【発明者】
【氏名】ステファノ、アルブレヒト
(72)【発明者】
【氏名】サイモン、ライアンズ
(72)【発明者】
【氏名】スベト、ペンコフ
(72)【発明者】
【氏名】モーリス、アントネッロ
(72)【発明者】
【氏名】フランシスコ、アイラス
【審査官】津田 真吾
(56)【参考文献】
【文献】米国特許第9914452(US,B1)
【文献】米国特許出願公開第2018/0089563(US,A1)
【文献】NACHIKET DEO et al.,How would surround vehicles move? A Unified Framework for Maneuver Classification and Motion Predict,ARXIV.ORG,2018年01月19日
(58)【調査した分野】(Int.Cl.,DB名)
B60W 30/10
B60W 40/02
B60W 60/00
G08G 1/16
(57)【特許請求の範囲】
【請求項1】
自律型車両(AV)プランナにおいて、ツリー探索アルゴリズムを実行して、構築されたゲームツリーを通る経路に対応するAV操縦のシーケンスを決定するステップ、
を含み、
前記ゲームツリーは、遭遇した運転シナリオの予想される状態を表す複数のノードを有し、各々の子ノードの前記予想される運転シナリオの状態は、(i)候補AV操縦、および(ii)前記遭遇した運転シナリオ内の少なくとも1つの外部エージェントの予想される挙動に基づいて、親ノードの運転シナリオの状態を更新することによって決定され、
前記外部エージェントの前記予想される挙動は、一時間区間における前記外部エージェントの観測されたトレースに逆計画法を適用することによってシミュレートされ、
前記逆計画法は、
前記遭遇した運転シナリオ内の前記外部エージェントの一式の利用可能な目標又は操縦を決定するステップと、
前記利用可能な目標又は操縦の各々について、前記一時間区間における予想軌道モデルを決定するステップと、
前記外部エージェントの前記観測されたトレースを、前記利用可能な目標又は操縦の各々についての前記予想軌道モデルと比較し、当該目標又は操縦の尤度を決定するステップと、
前記目標又は操縦のうち少なくとも1つの前記決定された尤度を使用して、前記外部エージェントの前記予想される挙動をシミュレートするステップと、
を備える、自律型車両(AV)計画方法。
【請求項2】
前記決定されたAV操縦のシーケンスを実行するためのAV制御信号を生成するステップ、
を備える、請求項1に記載の方法。
【請求項3】
AVに関するセンサ入力を受信するステップと、
前記センサ入力を処理し、前記遭遇した運転シナリオを決定するステップと、
を備える、請求項1又は請求項2に記載の方法。
【請求項4】
オブジェクト追跡が、前記遭遇した運転シナリオ内の少なくとも1つの外部エージェントを追跡することによって、前記外部エージェントの観測されたトレースを決定するために、センサ入力に適用される、
請求項1から請求項3のいずれかに記載の方法。
【請求項5】
前記少なくとも1つの目標又は操縦の前記決定された尤度を使用して前記外部エージェントの前記予想される挙動をシミュレートするステップは、前記少なくとも1つの目標又は操縦についての前記予想軌道モデルおよび当該目標又は操縦の前記決定された尤度に基づいて、前記外部エージェントの少なくとも1つの予測される軌道を計算することを含む、
請求項1から請求項4のいずれかに記載の方法。
【請求項6】
各目標又は操縦についての前記予想軌道モデルは、当該目標に関する予測される軌道の分布である、
請求項1から請求項5のいずれかに記載の方法。
【請求項7】
各目標についての前記分布Gは、一式の予測される軌道のうちの各々の予測される軌道Tについての条件付き確率p(T│G)を含み、当該目標の前記尤度p(G│τ)は、前記観測されたトレースτに鑑みて少なくとも1つの予測される軌道の確率p(T│τ)を推定するために使用される、
請求項6に記載の方法。
【請求項8】
前記観測されたトレースは、前記目標又は操縦についての最良利用可能軌道モデルを予測するために使用され、前記比較は、前記最良利用可能軌道モデルを前記予想軌道モデルと比較することを含む、
請求項1から請求項7のいずれかに記載の方法。
【請求項9】
前記少なくとも1つの目標の前記尤度が決定され、前記観測されたトレースは、前記外部エージェントの現在の操縦および/または将来の操縦を予測するために使用され、前記予測された現在または将来の操縦は、最良利用可能軌道モデルを決定するために使用される、
請求項1から請求項8のいずれかに記載の方法。
【請求項10】
複数の操縦からなるシーケンスが、少なくとも1つの目標について決定され、前記最良利用可能軌道モデルは、当該目標について、前記複数の操縦にそれぞれ関する部分軌道モデルに基づいて決定される、
請求項9に記載の方法。
【請求項11】
各々の部分軌道モデルは、1つ以上の目標運動値を含み、前記最良利用可能軌道モデルの将来部分の1つ以上の運動値が、前記目標運動値に運動平滑化を適用することによって決定される、
請求項10に記載の方法。
【請求項12】
定められたコスト関数が、各目標又は操縦についての前記予想軌道モデルおよび前記最良利用可能軌道モデルの両方に適用されて、当該予測軌道モデル及び当該最小利用可能軌道モデルのそれぞれのコストが決定され、前記比較は、当該コストを比較することを含む、
請求項8から請求項11のいずれかに記載の方法。
【請求項13】
前記コスト関数は、運転時間の短縮に報いる一方で、不安全な軌道を不利に扱う、
請求項12に記載の方法。
【請求項14】
前記コスト関数は、快適性の欠如も不利に扱う、
請求項13に記載の方法。
【請求項15】
前記外部エージェントの前記予想される挙動は、前記一式の利用可能な目標又は操縦から当該目標の前記決定された尤度に基づいて目標又は操縦をサンプリングすることによってシミュレートされる、
請求項1から請求項14のいずれかに記載の方法。
【請求項16】
前記少なくとも1つの目標の前記尤度が決定され、
さまざまな目標分布が、さまざまな操縦または操縦シーケンスについて決定され、前記外部エージェントの前記予想される挙動は、一式の可能な操縦から操縦分布に基づいて操縦または操縦シーケンスをサンプリングし、次いで当該操縦または操縦シーケンスについて決定された前記目標分布に基づいて前記一式の利用可能な目標から前記目標をサンプリングすることによってシミュレートされる、
請求項15に記載の方法。
【請求項17】
前記ツリー探索アルゴリズムは、異なるサンプリングされた目標で複数の構築されたゲームツリーについて複数回実行され、AV操縦の前記シーケンスは、前記AVプランナによって、前記複数の構築されたゲームツリー内の経路の統計分析に基づいて決定される、
請求項15又は請求項16に記載の方法。
【請求項18】
請求項1から請求項17のいずれかに記載の方法のステップを実行するように構成された実行ハードウェアを備えるコンピュータシステム。
【請求項19】
実行されたときに請求項1から請求項17のいずれかに記載の方法を実施するように構成された実行可能命令を含んでいるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自律型車両(AV)の操縦計画に関する。
【背景技術】
【0002】
自律型車両は、自動運転車両としても知られるが、自身の外部環境を監視するためのセンサシステムと、それらのセンサを使用して自動的に運転における決定を実行および履行することができる制御システムとを有する車両を指す。これは、とくには、センサシステムからの入力に基づいて車両の速度および進行方向を自動的に調整する能力を含む。完全自律型車両または「運転者なし」車両は、人間の運転者からのいかなる入力も必要とせずに動作するための充分な意思決定能力を有する。しかしながら、本明細書で使用されるとき、自律型車両という用語は、自律的な意思決定能力がより限定的であり、したがって人間の運転者からの或る程度の監督を依然として必要とする半自律型車両にも適用される。
【発明の概要】
【課題を解決するための手段】
【0003】
遭遇した運転のシナリオを安全かつ効果的に切り抜けるために、自律型車両プランナが、遭遇するシナリオにおいて実行すべき操縦のシーケンスを計画することができる必要がある。本発明は、コンピュータによって実現されるAVプランナが、遭遇した運転シナリオにおいて実行すべき操縦(自車両操縦)の適切なシーケンスを決定することができるように、そのシナリオにおける操縦のさまざまなシーケンスについて生じ得る効果を、予想される他の車両/エージェントの挙動を考慮しつつ、推論することを可能にする推論フレームワークを提供する。
【0004】
本発明のいくつかの態様は、
自律型車両(AV)に関するセンサ信号(入力)を受信するステップと、
前記センサ入力を処理し、遭遇した運転シナリオを決定するステップと、
AVプランナにおいて、ツリー探索アルゴリズムを実行して、構築されたゲームツリーを通る経路に対応するAV操縦のシーケンスを決定するステップと、
前記決定されたAV操縦のシーケンスを実行するためのAV制御信号を生成するステップと
を含んでおり、
前記ゲームツリーは、前記遭遇した運転シナリオの予想される状態を表す複数のノードを有し、各々の子ノードの前記予想される運転シナリオの状態は、(i)候補AV操縦、および(ii)前記遭遇した運転シナリオ内の少なくとも1つの外部エージェント(アクター)の予想される挙動に基づいて、親ノードの運転シナリオの状態を更新することによって決定される、自律型車両(AV)計画方法に関する。
【0005】
前記外部エージェントの前記予想される挙動は、前記センサ信号から導出された前記外部エージェントの1つ以上の観測されたパラメータに生成挙動モデルを適用することによってシミュレートされる。
【0006】
前記生成挙動モデルは、1つ以上の自車両パラメータにも(本計画方法を実施し、あるいは本計画方法によって制御される自車両への前記他のアクターの応答をモデル化するために)適用されてよく、さらには/あるいは(前記アクターの環境への応答をモデル化するために道路レイアウト/他の運転環境パラメータなどの)前記運転シナリオの1つ以上のパラメータにも適用されてよい。
【0007】
本発明の第1の態様において、前記生成挙動モデルは、観測された現実世界の運転挙動の例に基づいて訓練された機械学習(ML)モデルである。
【0008】
すなわち、第1の態様は、
自律型車両(AV)に関するセンサ入力を受信するステップと、
前記AVセンサ入力を処理し、遭遇した運転シナリオを決定するステップと、
AVプランナにおいて、ツリー探索アルゴリズムを実行して、構築されたゲームツリーを通る経路に対応するAV操縦のシーケンスを決定するステップと、
前記決定されたAV操縦のシーケンスを実行するためのAV制御信号を生成するステップと
を含んでおり、
前記ゲームツリーは、前記遭遇した運転シナリオの予想される状態を表す複数のノードを有し、各々の子ノードの前記予想される運転シナリオの状態は、(i)候補AV操縦、および(ii)前記遭遇した運転シナリオ内の少なくとも1つの外部エージェントの予想される挙動に基づいて、親ノードの運転シナリオの状態を更新することによって決定され、
前記外部エージェントの前記予想される挙動は、前記センサ入力から導出された前記外部エージェントの1つ以上の観測されたパラメータに生成挙動モデルを適用することによってシミュレートされ、前記生成挙動モデルは、観測された現実世界の運転挙動の例に基づいて訓練された機械学習(ML)モデルである、自律型車両(AV)計画方法を提供する。
【0009】
いくつかの実施形態において、オブジェクト追跡が、前記外部エージェントの観測されたトレースを決定するために前記センサ入力に適用されてよく、前記外部エージェントの前記予想される挙動は、前記観測されたトレースに基づいてシミュレートされてよい。
【0010】
前記生成モデルの訓練に使用される前記観測された現実世界の運転挙動の例のうちの少なくともいつかは、閉回路テレビジョンデータから抽出されていてよい。
【0011】
前記生成挙動モデルは、訓練されたニューラルネットワークを含むことができる。
【0012】
前記外部エージェントの前記予想される挙動は、前記遭遇した運転シナリオの運転領域について学習した空間マルコフモデルの学習済みの占有および/または遷移確率を使用してシミュレートされ得る。
【0013】
前記ツリー探索アルゴリズムは、確率論的ツリー探索アルゴリズムであってよい。
【0014】
前記ツリー探索アルゴリズムは、モンテカルロツリー探索(MCTS)アルゴリズムであってよい。
【0015】
前記運転シナリオは、定められたシナリオ記述言語に従って一式の運転シナリオパラメータを前記センサ入力から抽出することによって決定され得る。
【0016】
前記生成挙動モデルは、1つ以上の自車両パラメータおよび/または前記運転シナリオの1つ以上のパラメータにも適用される。
【0017】
本発明の第2の態様において、前記生成挙動モデルは、前記予想される挙動をシミュレートするために前記1つ以上の観測されたパラメータに逆計画法を適用する逆プランナの形態をとる。
【0018】
すなわち、第2の態様は、
自律型車両(AV)に関するセンサ入力を受信するステップと、
前記センサ入力を処理し、遭遇した運転シナリオを決定するステップと、
AVプランナにおいて、ツリー探索アルゴリズムを実行して、構築されたゲームツリーを通る経路に対応するAV操縦のシーケンスを決定するステップと、
前記決定されたAV操縦のシーケンスを実行するためのAV制御信号を生成するステップと
を含んでおり、
前記ゲームツリーは、前記遭遇した運転シナリオの予想される状態を表す複数のノードを有し、各々の子ノードの前記予想される運転シナリオの状態は、(i)候補AV操縦、および(ii)前記遭遇した運転シナリオ内の少なくとも1つの外部エージェントの予想される挙動に基づいて、親ノードの運転シナリオの状態を更新することによって決定され、
前記外部エージェントの前記予想される挙動は、前記センサ入力から導出された前記外部アクターの1つ以上の観測されたパラメータに逆計画法を適用することによってシミュレートされる、自律型車両(AV)計画方法を提供する。
【0019】
逆計画法は、前記遭遇した運転シナリオにおける前記外部アクターの一式の利用可能な目標を決定するステップと、前記一式の利用可能な目標に関して確率論的または決定論的目標認識を適用することで、前記予想される挙動をシミュレートするステップとを含むことができる。決定論的目標認識は、利用可能な目標のうちの外部アクターによって実施されている目標を識別することを意味する。確率的目標認識は、利用可能な目標のうちの少なくとも1つについて、外部エージェントがその目標を実施している確率(例えば、外部アクターが各目標を実施している確率である各目標の確率)を推定することを意味する。
【0020】
オブジェクト追跡を、前記遭遇した運転シナリオ内の少なくとも1つの外部アクターを追跡することによって、一時間区間における前記外部アクターの観測されたトレースを決定するために、前記センサ入力に適用することができる。
【0021】
前記逆計画法は、
前記遭遇した運転シナリオ内の前記外部アクターの一式の利用可能な目標を決定するステップと、
前記利用可能な目標の各々について、予想軌道モデルを決定するステップと、
前記外部アクターの前記観測されたトレースを、前記利用可能な目標の各々についての前記予想軌道モデルと比較し、該目標の尤度を決定するステップと、
前記目標のうちの少なくとも1つの目標の前記決定された尤度を使用して、前記外部アクターの前記予想される挙動をシミュレートするステップと
を含むことができる。
【0022】
前記少なくとも1つの目標の前記決定された尤度を使用して前記外部アクターの前記予想される挙動をシミュレートするステップは、前記少なくとも1つの目標についての前記予想軌道モデルおよび該目標の前記決定された尤度に基づいて、前記外部アクターの少なくとも1つの予測される軌道を計算することを含むことができる。
【0023】
各目標についての前記予想軌道モデルは、該目標に関する予測される軌道の分布であってよい。
【0024】
各目標についての前記分布Gは、一式の予測される軌道のうちの各々の予測される軌道Tについての条件付き確率p(T│G)を含むことができ、該目標の前記尤度p(G│τ)は、前記観測されたトレースτに鑑みて少なくとも1つの予測される軌道の確率p(T│τ)を推定するために使用される。
【0025】
前記観測されたトレースを、前記目標についての最良利用可能軌道モデルを予測するために使用することができ、前記比較は、前記最良利用可能軌道モデルを前記予想軌道モデルと比較することを含む。
【0026】
前記観測されたトレースを、前記外部アクターの現在の操縦および/または将来の操縦を予測するために使用することができ、前記予測された現在または将来の操縦を、前記最良利用可能軌道モデルを決定するために使用することができる。
【0027】
複数の操縦からなるシーケンスを、少なくとも1つの目標について決定することができ、前記最良利用可能軌道モデルを、該目標について、前記複数の操縦にそれぞれ関する部分軌道モデルに基づいて決定することができる。
【0028】
各々の部分軌道モデルは、1つ以上の目標運動値を含むことができ、前記最良利用可能軌道モデルの将来部分の1つ以上の運動値を、前記目標運動値に運動平滑化を適用することによって決定することができる。
【0029】
各目標についての前記予想軌道モデルは、該目標についての単一の予想軌道であってよい。
【0030】
各目標についての前記最良利用可能軌道モデルは、単一の最良利用可能軌道であってよい。
【0031】
各操縦についての前記部分軌道モデルは、該操縦についての最も可能性の高い部分軌道であってよい。
【0032】
定められたコスト関数を、各目標についての前記予想軌道モデルおよび前記最良利用可能軌道モデルの両方に適用して、これらの軌道モデルのそれぞれのコストを決定することができ、前記比較は、これらのコストを比較することを含む。
【0033】
前記コスト関数は、運転時間の短縮に報いる一方で、不安全な軌道を不利とすることができる。
【0034】
前記コスト関数は、快適性の欠如も不利とすることができる。
【0035】
前記外部エージェントの前記予想される挙動を、前記一式の利用可能な目標からこれらの目標の前記決定された尤度に基づいて目標をサンプリングすることによってシミュレートすることができる。
【0036】
さまざまな目標分布を、さまざまな操縦または操縦シーケンスについて決定でき、前記外部エージェントの前記予想される挙動を、一式の可能な操縦から前記操縦分布に基づいて操縦または操縦シーケンスをサンプリングし、次いで該操縦または操縦シーケンスについて決定された前記目標分布に基づいて前記一式の利用可能な目標から前記目標をサンプリングすることによってシミュレートすることができる。
【0037】
前記操縦分布を、前記可能な操縦の各々について、予想軌道モデルを決定することと、前記外部アクターの前記観測されたトレースを、前記可能な操縦の各々についての前記予想軌道モデルと比較して、該操縦の尤度を決定することとを含む前記操縦レベルにおける逆計画を使用して決定することができる。
【0038】
前記探索アルゴリズムは、異なるサンプリングされた目標で複数の構築されたゲームツリーについて複数回実行されてよく、AV操縦の前記シーケンスは、前記AVプランナによって、前記複数の構築されたゲームツリー内の経路の統計分析に基づいて決定されてよい。
【0039】
オブジェクト追跡を、前記遭遇した運転シナリオ内の少なくとも1つの外部アクターを追跡することによって、一時間区間における前記外部アクターの観測されたトレースを決定するために、前記センサ入力に適用することができ、
前記逆計画法は、
前記遭遇した運転シナリオ内の前記外部アクターの一式の可能な操縦を決定するステップと、
前記可能な操縦の各々について、予想軌道モデルを決定するステップと、
前記外部アクターの前記観測されたトレースを、前記可能な操縦の各々についての前記予想軌道モデルと比較し、該操縦の尤度を決定するステップと、
前記操縦のうちの少なくとも1つの操縦の前記決定された尤度を使用して、前記外部アクターの前記予想される挙動をシミュレートするステップと
を含むことができる。
【0040】
各操縦についての前記予想軌道モデルは、該操縦に関する単一の軌道であってよい。
【0041】
各操縦についての前記予想軌道モデルは、該操縦に関する予測される軌道の分布であってよい。
【0042】
本発明の第3の態様は、
自律型車両(AV)に関するセンサ入力を受信するステップと、
前記センサ入力を処理し、遭遇した運転シナリオを決定するステップと、
AVプランナにおいて、ツリー探索アルゴリズムを実行して、構築されたゲームツリーを通る経路に対応するAV操縦のシーケンスを決定するステップと、
前記決定されたAV操縦のシーケンスを実行するためのAV制御信号を生成するステップと
を含んでおり、
前記ゲームツリーは、前記遭遇した運転シナリオの予想される状態を表す複数のノードを有し、各々の子ノードの前記予想される運転シナリオの状態は、(i)候補AV操縦、および(ii)前記遭遇した運転シナリオ内の少なくとも1つの外部エージェントの予想される挙動に基づいて、親ノードの運転シナリオの状態を更新することによって決定され、
前記外部エージェントの前記予想される挙動は、前記センサ入力から導出された前記外部アクターの1つ以上の観測されたパラメータに目標認識を適用することによってシミュレートされる、自律型車両(AV)計画方法を提供する。
【0043】
前記目標認識は、一式の利用可能な目標のうちの各々の目標について、
前記1つ以上の観測されたパラメータに基づく該目標についての最良利用可能軌道モデル、および
該目標についての最適軌道モデル
を計算することを含むことができる。
【0044】
前記目標認識は、確率論的であってよく、目標分布を、各目標について前記最良利用可能軌道モデルを前記最適軌道モデルと比較することによって決定することができる。
【0045】
定められたコスト関数を、各目標についての前記予想軌道モデルおよび前記最良利用可能軌道モデルの両方に適用して、これらの軌道モデルのそれぞれのコストを決定することができ、これらの軌道モデルを、それらのコストを比較することによって比較することができる。
【0046】
複数の目標分布を、複数の可能な操縦または操縦シーケンスについて決定することができる。
【0047】
前記予想される挙動を、前記目標分布に基づいて前記一式の利用可能な目標からサンプリングされる目標に基づいてシミュレートすることができる。
【0048】
前記予想される挙動を、前記外部エージェントについて決定された操縦分布に基づいて、前記可能な操縦から少なくとも1つの操縦をサンプリングし、次いで該サンプリングされた操縦について決定された前記目標分布から前記目標をサンプリングすることによってシミュレートすることができる。
【0049】
前記ツリー探索アルゴリズムは、異なるサンプリングされた目標で複数の構築されたゲームツリーについて複数回実行されてよく、AV操縦の前記シーケンスは、前記AVプランナによって、前記複数の構築されたゲームツリー内の経路の統計分析に基づいて決定されてよい。
【0050】
前記目標認識を、目標認識決定ツリーを使用して実行してもよい。
【0051】
本発明の別の態様は、自律型車両を設定する方法を提供し、この方法は、
訓練システムにおいて、1つ以上の運転領域から取得された現実世界の運転挙動データを受信するステップと、
前記現実世界の運転挙動を処理し、生成モデルの訓練に使用するための現実世界の運転挙動の例を抽出するステップと、
前記抽出された運転挙動の例を使用して、外部エージェントの前記挙動を該外部エージェントの1つ以上の観測されたパラメータに基づいて予測するように生成挙動モデルを訓練するステップと、
前記訓練された生成挙動モデルを自律型車両の電子ストレージに格納するステップと
を含み、
前記自律型車両は、前記生成挙動モデルを使用して本明細書に開示されるいずれかの態様の方法またはそのいずれかの実施形態を実施するように構成された自律型車両プランナを備える。
【0052】
前記センサ入力は、AVセンサシステムから受信したセンサ入力を含むことができる。これに加え、あるいはこれに代えて、前記センサ入力は、通信リンクを介して受信される外部で取得されたセンサ入力を含むことができる。
【0053】
本発明の別の態様は、
自律型車両(AV)に関するセンサ入力を受信するステップと、
前記AVセンサ入力を処理し、遭遇した運転シナリオを決定するステップと、
AVプランナにおいて、ツリー探索アルゴリズムを実行して、構築されたゲームツリーを通る経路に対応するAV操縦のシーケンスを決定するステップと、
前記決定されたAV操縦のシーケンスを実行するためのAV制御信号を生成するステップと
を含んでおり、
前記ゲームツリーは、前記遭遇した運転シナリオの予想される状態を表す複数のノードを有し、各々の子ノードの前記予想される運転シナリオの状態は、(i)候補AV操縦、および(ii)前記遭遇した運転シナリオ内の少なくとも1つの外部エージェントの予想される挙動に基づいて、親ノードの運転シナリオの状態を更新することによって決定される、自律型車両(AV)計画方法を提供する。
【0054】
上述の特徴のいずれも、その実施形態において実施することができる。
【0055】
本発明のさらなる態様は、本明細書に開示の方法ステップのいずれかを実行するように構成された実行ハードウェアを備えるコンピュータシステム、および実行されたときに方法ステップのいずれかを実施するように構成された実行可能命令を含むコンピュータプログラムを提供する。
【0056】
またさらなる態様は、本明細書に開示の方法ステップのいずれかを実施するように構成されたコンピュータシステムに具現化された自律型車両(AV)プランナ、ならびにこの自律型車両プランナと、この自律型車両プランナに結合し、このAVプランナによって生成された制御信号に応答する駆動機構とを備える自律型車両を提供する。
【0057】
本発明をよりよく理解するため、および本発明の実施形態をどのように実施することができるのかを示すために、以下の図を参照する。
【図面の簡単な説明】
【0058】
図1】自律型車両コンピュータシステムに実装される機能コンポーネントを示す概略の機能ブロック図を示している。
図2】自律型車両の操縦計画に使用することができる典型的なゲームツリーを示している。
図3】ゲームツリーから実行すべき操縦のシーケンスを選択するために使用することができるツリー探索アルゴリズムのフローチャートを示している。
図4】生成挙動モデルを訓練するための訓練システムの概略の機能ブロック図を示している。
図5A】シミュレータに実装された本技術の例を示している。
図5B】シミュレータに実装された本技術の例を示している。
図5C】シミュレータに実装された本技術の例を示している。
図6】逆計画法のフローチャートを示している。
図7A】一例による逆計画の特定の原理を示している。
図7B】一例による逆計画の特定の原理を示している。
図7C】一例による逆計画の特定の原理を示している。
図8】2つの可能な操縦に基づくツリー探索の例を示している。
図9】3つ以上の操縦に基づくツリー探索の例を示している。
図10】典型的な逆計画法のフローチャートを示している。
図11】別の目標認識方法の決定ツリーを示している。
図12】逆計画からの予測を組み込んだ操縦計画方法の概略の機能ブロック図を示している。
図13】CCTVデータから学習した軌道モデルの一例を示している。
図14A】本明細書の技術を実施することができる典型的なシナリオを示している。
図14B】本明細書の技術を実施することができる典型的なシナリオを示している。
図14C】本明細書の技術を実施することができる典型的なシナリオを示している。
図15】他のエージェントに関する確率論的予測が適用されるモンテカルロツリー探索の特定の原理を実証するための高レベルのフロー図を示している。
図16】CCTVによって監視される領域における通常の運転挙動をモデル化する空間マルコフモデルの一例を示している。
【発明を実施するための形態】
【0059】
以下、本発明の典型的な実施形態を詳しく説明する。最初に、本発明へのいくつかの有用な文脈を説明する。
【0060】
図1が、AV(自車両)の車載コンピュータシステムA1に具現化された特定の機能コンポーネント、すなわちデータ処理コンポーネントA2、予測コンポーネントA4、およびAVプランナA6のきわめて概略的な機能ブロック図を示している。
【0061】
データ処理コンポーネントA2は、AVの車載センサシステムA8からセンサデータを受信する。車載センサシステムA8は、さまざまな形態をとることができるが、一般に、例えば画像取込装置(カメラ)、ライダーユニットなど、衛星測位センサ(GPSなど)、運動センサ(加速度計、ジャイロスコープ、など)など、周囲環境ならびにAVおよびその環境内の他のアクター(車両、歩行者、など)の状態についての詳細な情報を抽出することができる豊富なセンサデータを全体としてもたらすさまざまなセンサを備える。
【0062】
しかしながら、本技術が、AV自体の車載光学センサ(画像取込装置、ライダー、など)を使用して取得された画像データなどの使用に限定されないことに、注意すべきである。これに代え、あるいはこれに加えて、本方法は、例えばCCTV画像など、AVの近傍の外部の画像取込ユニットによって取得された外部取得センサデータの使用にも適用可能である。その場合、本方法の実施に使用されるセンサ入力の少なくとも一部は、AVによって、1つ以上の無線通信リンクを介して、外部のセンサデータソースから受信されてよい。
【0063】
データ処理システムA2は、センサデータを処理し、センサデータからそのような情報を抽出する。これは、一般に、さまざまな形態の機械学習(ML)/人工知能(AI)処理を含む。本文脈に関連するデータ処理システムA2の機能は、位置特定(ブロックA10)、オブジェクト検出(ブロックA12)、およびオブジェクト追跡(ブロックA14)を含む。
【0064】
位置特定は、周囲環境および周囲環境中のAVの位置の認識を提供するために実行される。この目的のために、視覚的およびマップに基づく位置特定など、さまざまな位置特定技術を使用することができる。例として、参照によってその全体が本明細書に組み込まれる「車両の位置特定(Vehicle Localization)」という名称の英国特許出願第1812658.1号明細書が参照される。これは、視覚的検出と所定のマップデータとの組み合わせを使用する適切な位置特定方法を開示している。セグメント化が、周囲の道路構造を検出するために視覚的(画像)データに適用され、周囲の道路構造は、基準のマップフレームにおいて周囲環境の道路および/または他の構造に対するAVの正確かつロバストな位置推定を決定するために、HD(高精細度)マップなどの所定のマップデータと照合され、AVの位置推定は、視覚的およびマップデータをマージすることにより、視覚的検出とマップに基づく推論との組み合わせを通じて決定される。位置推定を決定するために、構造の照合から決定された個々の位置推定が、粒子フィルタリングなどを使用して他の位置推定(GPSなど)と組み合わせられ、個々の位置推定の精度の変動に対してロバストな基準のマップフレームにおけるAVの正確な位置推定がもたらされる。マップ上のAVの位置が正確に決定されると、視覚的に検出された道路構造が、所定のマップデータとマージされ、ライブマップの形態の車両の現在および過去の周囲環境の包括的な表現、ならびに基準のマップフレーム内のAVの位置の正確かつロバストな推定がもたらされる。本文脈における「マップデータ」という用語は、視覚的(または、他のセンサに基づく)検出を所定のマップデータとマージすることによって導出されるライブマップのマップデータを含むが、所定のマップデータまたは視覚的/センサ検出のみから導出されたマップデータも含む。
【0065】
オブジェクト検出は、車両、歩行者、および他の外部アクターなど、それらの挙動に対してAVが安全に応答できる必要がある環境内の外部オブジェクトの検出および位置特定のために、センサデータに適用される。これは、例えば、3D境界ボックス検出の形態を備えることができ、環境内のオブジェクトの位置、向き、およびサイズ、ならびに/あるいは自車両に対するオブジェクトの位置、向き、およびサイズが推定される。これは、例えば、RGBD(赤、緑、青、深度)、LiDARポイントクラウド、などの(3D)画像データに適用することができる。これにより、そのような外部アクターの位置および他の物理的特性をマップ上で決定することが可能になる。
【0066】
オブジェクト追跡は、環境内の検出されたオブジェクトの任意の運動を追跡するために使用される。結果は、オブジェクト追跡によって時間に対して決定される各々のオブジェクトの観測されたトレース(τ)である。観測されたトレースτは、移動するオブジェクトの履歴であり、移動するオブジェクトの経路を時間に対して捕捉し、さまざまな時点におけるオブジェクトの履歴の速度、加速度、などの他の情報も捕捉することができる。
【0067】
オブジェクト検出およびオブジェクト追跡を併せて使用することにより、AVの周囲の決定されたマップ上で外部アクターを包括的に位置特定および追跡することが可能になる。
【0068】
オブジェクト検出およびオブジェクト追跡は、それ自体は周知であり、さまざまな公衆にとって利用可能な技術水準のモデルを使用して本文脈において実行することが可能である。
【0069】
位置特定、オブジェクト検出、およびオブジェクト追跡の組み合わせにより、データ処理コンポーネントA2は、自車両の周囲環境、その環境内の任意の外部アクターの現在の状態(検出可能な範囲において、位置、進行方向、速度、など)、ならびにAVにとって追跡可能であったそのようなアクターの履歴トレースの包括的な表現をもたらす。これは、リアルタイムで継続的に更新され、最新の位置および環境の認識を提供する。
【0070】
予測コンポーネントA4は、この情報を予測分析の基礎として使用し、AVの近傍の外部アクターの将来の挙動に関する予測を行う。適切な予測方法の例が、以下で説明される。
【0071】
AVプランナA6は、自車両の周囲環境およびこの周囲環境内の外部エージェントに関する抽出された情報を、予測コンポーネントA4によってもたらされる挙動の予測と共に、AV計画のための基礎として使用する。すなわち、予測コンポーネントA4による予測分析は、データ処理コンポーネントによってセンサデータから抽出された情報の上に予測情報の層を追加し、これがAVプランナA6によってAV計画の決定のための基礎として使用される。これは、一般に、階層的計画プロセスの一部であり、AVプランナA6は、さまざまな高レベルの決定を行い、次いで高レベルの決定を実施するために必要なますます低いレベルの決定を行う。最終的な結果は、一連のリアルタイムの低レベルのアクションの決定である。これらの決定を実施するために、AVプランナA6は、車両の速度および進行方向を(例えば、操舵、制動、加速、変速、などによって)制御するために、AVの駆動機構A16に少なくとも部分的に入力される制御信号を生成する。また、シグナリングなどの二次的なアクションを実行するための制御信号も生成される。
【0072】
シナリオ抽出コンポーネントA3は、データ処理コンポーネントA2の出力を使用して、自車両について遭遇した運転シナリオを決定する。決定された運転シナリオは、取得されたセンサデータから抽出され、簡潔であるが、リアルなシミュレーションのための基礎として使用されるように充分に詳細であるAVが遭遇した現実世界のシナリオの表現を提供する運転シナリオパラメータを含む。これは、そのようなシミュレーションのための基礎として使用することができる構造化シナリオ記述言語で定式化される。公式のシナリオ記述言語におけるシナリオ記述の例が、付録Aに提示されている。
【0073】
シミュレータA5が、遭遇した運転シナリオのパラメータを受信し、それらのパラメータに基づいてシミュレーションを実行することができる。これらは、遭遇した運転シナリオにおいて何が生じ得るかについて、さまざまな仮定のもとでのシミュレーションである。これらのシミュレーションは、AV計画のための基礎として使用され、AV計画において、AVプランナA6は、定められた目標を遂行する(すなわち、マップ上の特定の場所に到達するなどの所望の結果を達成する)ために、遭遇した運転シナリオにおいて行われるべき操縦の全体的に最適なシーケンスを決定する目的で、複数のシミュレーションを実行する。以下で説明される例において、シミュレーションは、AVプランナA6の操縦選択コンポーネントA7によって実行されるモンテカルロツリー探索(MCTS)の一部として実行される。
【0074】
予測コンポーネントA4の機能は、シミュレーションの一部として実行される予測される外部エージェントの挙動をモデル化することである。すなわち、予測される挙動を操縦計画の基礎となるシミュレーションに組み込むことができるように、遭遇した運転シナリオにおける任意の外部アクターの挙動を予測するための外部エージェント挙動モデルを実行することである。
【0075】
操縦計画
自車両が走行しているとき、定められた目標を実行するためにどの操縦を実行するかを計画しなければならない。示されるように、これを、決定プロセスのためのヒューリスティック探索アルゴリズムであるモンテカルロツリー探索を使用して達成することができる。モンテカルロツリー探索は、「オンライン」推論プロセスであり、すなわち、リアルタイムで実際の運転の決定を行うためにAVプランナA6によって実行される。
【0076】
MCTSは、ゲームツリーに適用される。ゲームツリーは、ゲーム理論に由来するデータ構造であり、意味のあるスコア付けが可能な種々の考えられる結果の系統的分析を介して合理的な意思決定のためのフレームワークを提供する。完全に構築されたゲームツリーは、有限数の考えられる「ムーブ」で「ゲーム」のすべての考えられる結果をキャプチャし、ゲームという用語は、数学的な意味で、意思決定エージェント間の戦略的相互作用(ムーブ)の形式モデルを意味して使用される。ツリー探索アルゴリズムを、定められた報酬(スコア)関数に関して(全体的に)最適であるムーブのシーケンス(ゲームツリーを通る特定の経路に対応する)を決定する目的で、ゲームツリーに適用することができる。
【0077】
MCTSは、ゲームツリーを探索するための効率的な確率論的ツリー探索アルゴリズムである。ゲームツリーは、さまざまな経路が探索されるときに動的に構築される。MCTSの利点は、ゲームツリーを通るすべての可能な経路を完全に探索する必要なく、漸近的に正しい近似を提供できることであり、すなわち、ムーブのすべての可能なシーケンスを考慮する必要はなく、したがってゲームツリーを完全に構築する必要はないことを意味する。その場合、MCTSは、ムーブの真の全体的に最適なシーケンスが発見されることを保証しないが、アルゴリズムは、妥当な時間および計算リソースに鑑みて充分に最適化された解に収束する。
【0078】
本文脈において、順序付けられた操縦の個別のセットに、本目的のための固有のシーケンスとして取り扱われるバリエーションが存在し得ることに留意されたい。例えば、時間t0とt1との間の「車線維持」およびt1とt2との間の「車線変更」を、車線維持から車線変更への変化が異なるそれぞれの時間に発生するため、時間t0とt1’(t1とは異なる)との間の「車線維持」およびt1’とt2との間の車線変更のための操縦の異なるシーケンスと見なすことができる。
【0079】
本文脈において、ムーブは、運転の操縦である。自車両が切り抜ける必要がある実際の運転シナリオに遭遇すると、MCTSは、遭遇した運転シナリオ内の任意の外部エージェント(他の車両、歩行者、など)の予測される挙動を考慮して、遭遇した運転シナリオにおけるさまざまな自車両の操縦(すなわち、自車両のAVプランナA6が取り得る操縦)のさまざまな生じ得る結果について体系的に推論する手段として適用される。これは、上述のように取得されたセンサデータに基づいて遭遇した運転シナリオをパラメータ化し、抽出された運転シナリオパラメータおよび予測コンポーネントA4によってモデル化された外部エージェントの挙動に基づいてシミュレータA5でさまざまなシミュレーションを実行することによって達成される。
【0080】
MCTSなどの確率論的ツリー探索アルゴリズムを使用することにより、リアルタイムのAV意思決定の一部として、大きなゲームツリーであっても、操縦の充分に最適なシーケンスを見つけることが可能になる。本文脈において、シナリオに多数のエージェントが存在する可能性があるため、ゲームツリーは大きくなる可能性がある。
【0081】
これらのシミュレーションの結果は、ゲームツリーを通るさまざまな可能な経路にスコアを付ける目的で、定められた報酬関数を評価するために使用され、これが、報酬関数に関して全体的に最適な経路に向かってMCTSの実行を駆動する。
【0082】
典型的なゲームツリーD00が、図2に示されている。
【0083】
ゲームツリーD00は、遭遇した運転シナリオの現在の状態s(便宜上、時刻t=0と定義される)を表すルートノードD02を有する。これは、遭遇した運転シナリオ内の自車両の実際の現在の状態および任意の外部エージェントの現在の状態(位置、速度、加速度、など)を、それらの周囲に対し、とくには周囲の道路レイアウト/構造に対して捕捉する。
【0084】
MCT D00のさらなるノードは、将来のさまざまな時点における自車両の挙動に関するさまざまな仮定の下での運転シナリオの予想される(すなわち、予測される将来の)状態を表す。MCT D00の構造は、AVプランナA6が、自車両が操縦の所与のシーケンスを実行した場合に運転シナリオにおいて何が生じ得るかを推論することを可能にする。
【0085】
このような推論を容易にするために、MCT D00は、以下のように構成される。
【0086】
可能な操縦は、モンテカルロツリーD00のエッジによって表される。自車両について可能な操縦は、自車両の現在の状態sおよび実行されるべき定められた目標に鑑みて仮定される。
【0087】
ルートノードD02以外の各ノードは、他のノード(親)の子であり、運転シナリオの予想される状態を表す。予想される状態は、以下で説明されるように、特定の一式の関連する仮定の下でシミュレータA5において実行される遭遇した運転シナリオのシミュレーションに基づいて、そのようなノードごとに決定される。
【0088】
エッジが、各々の親ノードからそのそれぞれの子ノードまで示されている。親子ノードの各ペアの間のエッジは、(時刻tにおける)親ノードによって表される運転シナリオの状態に鑑みて、AVプランナA6がとることができる対応する操縦を表し、子ノードは、この操縦が区間Δtにわたって実行される場合の(時刻t+Δtにおける)運転シナリオの予想される状態を表す。
【0089】
各々の子ノードの予想される運転シナリオ状態は、親ノードによって表される運転シナリオ状態を、運転シナリオの適切なシミュレーションに基づいて更新することによって決定される。運転シナリオシミュレーションは、以下に基づいて実行され、すなわち、抽出された運転シナリオ記述パラメータ、親状態(これは、例えば、シミュレーションの開始状態として使用され得る)、親ノードと子ノードとの間の対応する運転(その実行は、時刻tとt+Δtとの間でシミュレートされる)、および予測コンポーネントA4によってモデル化された時刻tとt+Δtとの間のシミュレートされた外部エージェントの挙動に基づいて実行される。
【0090】
区間ΔTにおける自車両による対応する操縦の実行は、親ノードによって表される運転シナリオの状態、その時間区間Δtにおける外部エージェントの挙動、および実行される操縦に鑑みて、AVプランナA6が現実の世界において取るであろうアクションをシミュレートまたは「ロールアウト」することによってシミュレートされる。
【0091】
自車両による操縦の実行は、特定の状態に鑑みた当該操縦の実行に関して学習または他の様態で決定された「アクションポリシー」を使用してシミュレートすることができる。さらに、アクションポリシーは、現実世界においてその操縦を実行するための基礎としてAVプランナA6によって使用される。アクションポリシーは、例えば、強化学習(RL)によって「オフライン」で学習することができる。例として、参照によってその全体が本明細書に組み込まれる「自律型車両の操縦(Autonomous Vehicle Manoeuvres)」という名称の英国特許出願第1816852.6号明細書が参照される。これは、観測された運転挙動データから訓練シナリオが決定される操縦学習のためのフレームワークを開示している。
【0092】
示されているように、外部エージェント挙動は、予測コンポーネントA4の外部エージェント挙動モデルを実行することによってシミュレートされる。適切な挙動シミュレーションモデルの例は、後述される。
【0093】
例として、図2は、ルートノードD02からルートノードの3つの直接の子ノード(それぞれD06a~cとラベル付けされている)までのエッジD04a~cを示している。これらのエッジD04a~cの各々は、これらの延伸元のノード(この例では、ルートノードD02)の運転シナリオの状態sに鑑みて実行され得るさまざまな操縦を表す。これらの子ノードの各々は、状態sから開始して、それぞれの操縦が自車両によって実行された場合に予測される運転シナリオの後続の状態(それぞれ、s1A、s1B、s1C)を表す。
【0094】
例えば、エッジD04a~cは、親状態sに対する複数車線運転シナリオにおける「車線維持」、「左車線変更」、および「右車線変更」にそれぞれ対応することができる。状態sにおいて、自車両は現在の車線にあり、車線維持の操縦は、適用可能な時間区間Δtにわたって現在の車線に留まるように実行され、左および右車線変更は、それぞれ現在の車線の左および右の車線への移動を試みるように実行される。状態s1A、s1B、s1Cは、関連の時間区間における外部エージェントの挙動を考慮しつつ、関連の操縦に従って親状態sを進行させることによって得られる。
【0095】
適用可能であり得る他の典型的な操縦として、(例えば、ラウンドアバウトを切り抜けるときの)減速、維持、および脱出が挙げられる。
【0096】
理解されるように、ツリーのさらに下方のノードの運転シナリオ状態は、それらのそれぞれの親状態から開始して、全く同じやり方で得られる。
【0097】
特定のノードは、終了(終端)ノードであり、すなわち図2のノードD08およびD10などの子ノードを持たないノードである。これらは「終了状態」を表し、広義には、自車両が定められた目標を首尾よく実行した時点(成功)、または定められた目標に失敗したと判定される時点のいずれかに対応する。失敗は、状況に応じてさまざまなやり方で定義することができるが、例として、自車両が目標の中断を強いられること、車両の進行が不充分であると判定されること、および車両の衝突または安全上の理由での他の失敗が挙げられる。状況に応じて、ルートノードD02から開始して、操縦または操縦のシーケンスが、終端ノードに到達するために必要とされ得る。
【0098】
随意により、最終目標を、2つ以上の中間目標に分割してもよく、これは、最終目標が遠すぎる場合に適切であり得る。この文脈において、各々の中間目標を、中間目標の終了状態(しかしながら、必ずしも最終目標の終了状態ではない)を表す終端ノードを有する中間目標自体のゲームツリーに基づいて実行することができる。
【0099】
ゲームツリーD00は、ゲームツリーD00を通るすべての可能な経路が最終的に有限数のムーブの後に終端ノードで終了するという点で、有限ツリーである。
【0100】
考慮される各々の終端ノードに、その終端ノードが表す結果の望ましさを示す報酬関数に基づくスコア(報酬)が割り当てられる。これは、それぞれ成功および失敗の2つのスコアを有する単純なバイナリ方式であってよく、あるいは必要に応じて、より豊富なスコアリング機構を適用することができる。例えば、成功の結果は、より短い時間で達成される場合や、状況において適切である任意の基準に基づいてより望ましい場合に、より高いスコアを有することができる。ゲームツリーを通る各々の可能な経路に割り当てられるスコアは、単にその終端ノードに割り当てられるスコアである。
【0101】
報酬は、必ずしも終端状態においてのみ与えられるとは限らない。考慮される各々の経路に、その経路が表す結果の望ましさを示す報酬関数に基づくスコア(報酬)が割り当てられる。これは、それぞれ成功および失敗の2つのスコアを有する単純なバイナリ方式であってよく、あるいは必要に応じて、より豊富なスコアリング機構を適用することができる。例えば、成功の結果は、より短い時間で達成される場合や、状況において適切である任意の基準に基づいてより望ましい場合に、より高いスコアを有することができる。
【0102】
本例では、ゲームは、各々のエッジが自車両による操縦に対応するという点で、シングルプレイヤモデルである。外部エージェントの挙動は、適用可能な親ノードから適用可能な子ノードへの移動において発生する状態変化の一部として捕捉される。この方法は、他のエージェントが行う可能性があることをロールアウトするが、そのロールアウトに、自車両について仮定されるアクションに他のエージェントがどのように応答する可能性があるかを組み込んでいない(しかしながら、どちらも除外されない)。すなわち、生成挙動は、自車両ならびに周囲(例えば道路レイアウトなどの運転の文脈)に対する外部アクターの応答をモデル化することができるが、より単純なモデルで許容可能な結果を達成することができるため、外部アクターによる高レベルの意思決定をモデル化することは要件ではない。しかしながら、本技術は、外部アクターによる高レベル計画(逆計画など)のモデルを組み込むように拡張することが可能である。
【0103】
可能な(すなわち、現実的に達成可能である)操縦のみを仮定することができる。例えば、車両が(親状態に対応する)T字路に対する特定の場所にある場合、停止、左折、および右折の3つの可能な操縦があり得るが、直進を続けることは選択肢でない。
【0104】
別の例として、複数車線の道路において、利用可能な操縦は、車線維持および車線変更であってよい。MCTSは、車線変更の操縦を安全に開始することができるまで車両が車線維持の操縦を維持するように、これらの操縦を順序付けるために使用される。
【0105】
モデルは、車両が現実世界においてどのように挙動することができるかに関する理解のレベルを組み込むことができる。例えば、車両の1つの制限は、その場で回転することができないことであることが知られている。したがって、不可能な車両の挙動を必要とする操縦は、仮定されない。
【0106】
ゲームツリーD00を通る最適な経路を識別する1つのやり方は、すべての可能な終了ノードのスコアを評価し、最高のスコアを有する経路を選択することである。しかしながら、実際には、これは、とくにはリアルタイムでは実現不可能であり得る。
【0107】
そのような状況においては、妥当な量の計算リソースを使用して、妥当な時間で、少なくとも充分に最適に近い経路を見つけることができるMCTSなどの確率論的ツリー探索を使用することができる。
【0108】
図8が、所与の目標に対して可能な操縦が2つしか存在しない場合に使用され得るMCT 800の単純な例を示している。例えば、目標は、側道から特定の方向の交通流に合流することであってよい。この例において、AVは、道路に合流するために左折する必要がある。両方の道路が単一の車線である場合、AVが実施することができる2つの可能な操縦は、停止または左折である。これにより、車両がいつ「停止」から左折に変化するかに応じて、例えば(停止、停止、曲がる、曲がる、・・・)対(停止、停止、停止、曲がる、・・・)など、複数の可能な操縦シーケンスが生じる。
【0109】
AVの現在の状態sは、AVが合流点に近づいているときの状態である。これは、時刻tにおけるルートノード802によって表される。AVは、合流点において停止しても、道路へと左折してもよい。これらの2つの可能な操縦は、それぞれエッジ804aおよび804bによって表される。
【0110】
主要道路に合流するという目標を達成するために、AVは、左折する操縦、すなわちエッジ804bを実施しなければならない。しかしながら、これは、いつでも実施することができる。MCT 800は、5つの時間区間Δtの各々の後のAVの予測される状態を示しているが、より多くの時間区間またはより少数の時間区間が考慮されてもよいことを、理解できるであろう。状態が判定される時間区間は、図8のMCTにおいては同じであるとして示されているが、各々の反復の時間区間が違ってもよいことを、理解できるであろう。
【0111】
AVは、状態sで開始する。すぐに主要道路へと左折することを選択した場合、エッジ804bに従い、予測される状態は、子ノード806bによって表されるs1Bである。AVが主要道路に合流したため、これは終端ノードである。状態s1BがAVにとって安全な状態である場合、終端ノード806bは成功である。しかしながら、例えばAVが外部エージェントに衝突し、あるいは接近したなど、状態s1Bが安全でない場合、終端ノード806bは失敗である。
【0112】
あるいは、tにおいて、AVは、エッジ804aに従う停止の操縦を実施することができる。したがって、結果として得られる予測される状態s1Aは、主要道路との合流点において停止したAVに対応する。次いで、AVは、時刻t+Δtにおいて、エッジ808bを選択して左折の操縦を実施するか、あるいはエッジ808aを選択して停止したままでいるかを、決定しなければならない。
【0113】
この場合も、結果として、AVが主要道路上に位置することに対応する状態s2Bを有する1つの終端ノード810bと、AVが主要道路に合流していないがゆえに終端ノードではない1つの子ノード810aとがもたらされる。
【0114】
これが、さらなる時間ステップごとに繰り返され、経路は、AVが主要道路に合流したことに対応する状態で終了する。これらの状態のうちのいくつかが失敗である一方で、他のいくつかは成功である。次いで、最適な経路が、構築されたMCTから発見される。
【0115】
図9が、2車線の道路からランドアバウトに接近するAVの典型的なMCTを示している。図5A図5Cが、そのようなシナリオを示している(下記を参照)。
【0116】
目標は、AVがランドアバウトに合流することである。初期状態sは、左車線においてランドアバウトに接近するAVを含む。AVは、停止、車線維持、および右への車線変更という3つの可能な操縦を実行することができる。これらの3つの操縦は、それぞれエッジ904a、904b、904cによって表される。結果として生じる状態s1A、s1B、およびs1Cは、ランドアバウトとの合流点において停止するAV、現在の車線にてランドアバウトに合流するAV、または道路の右車線に車線変更するAVにそれぞれ対応する。
【0117】
AVがエッジ904bを辿る場合、結果としての状態s1Bは、終端ノード906bである。これは、AVがランドアバウトに合流したためである。終端ノード906bは、成功したノードであっても、成功したノードでなくてもよい。
【0118】
AVがエッジ904cを辿って右への移動を実施する場合、AVは、道路の右車線に進入する。次いで、AVは、前進を続けるエッジ908bの選択肢、または停止するエッジ908aの選択肢を有する。前進を続けることによって、AVはランドアバウトに合流し、したがって経路は終端ノード910bで終了する。しかしながら、AVが停止した場合、AVは、次の時間区間において、停止の操縦または車線維持の操縦(すなわち、右車線においてラウンドアバウトに合流する)のいずれかを実施することができる。
【0119】
AVは、エッジ904aを辿り、現在の状態sから停止の操縦を実施する場合、3つの操縦、すなわち停止、車線維持、および右への移動のいずれかを再び実施する選択肢を有する。
【0120】
車線維持の操縦が実施されるたびに、AVがランドアバウトに合流したため、終端ノードが生成される。右への移動の操縦が実施されると、次の反復においては右への移動の操縦を実施することができないため、子ノードの数は1つ減少する。停止の操縦が実施された場合、3つの操縦のすべてが可能なままである。MCTを、このやり方で、すべての可能な経路について構築することができる。ひとたびMCTが構築されると、最適な経路が発見される。
【0121】
上述したように、必ずしもMCTが完全に構築されなくても、充分に最適な解を見つけることは可能である。
【0122】
図3が、図2のゲームツリーD00について実行され得る典型的なMCTSアルゴリズムのフローチャートを示している。MCTS法は、それ自体は知られているため、関連するステップは、本文脈におけるMCTSの適用を実証するために簡単に説明されているにすぎない。
【0123】
MCTSは、考慮対象の終端ノードからの報酬の「逆伝播」の形態と考えることができる確率論的計算に基づいて反復的に動作する(これが、ニューラルネットワークにおける逆伝播に使用されるチェーンルールとは異なる確率論的計算であることに留意されたい)。
【0124】
ゲームツリーD00は、MCTSが実行されるときに動的に構築され、実際には部分的にしか構築されない可能性が高い。ノードが、新たな状態に遭遇するたびに追加され、その状態から車両が実行することができる可能な操縦が仮定される。これが、終端ノードに到達するまで続けられる。
【0125】
各々の反復は、最初にルートノードD02の選択(ステップE0)から開始して、既存のツリーを縦走することによって始まる。選択されたノードは、訪問済みとしてマークされ(E2)、ルートノードから終端ノードまでゲームツリーD00を通る単一の経路が、試行される(E4)。これは、終端ノードに到達するまで、上述したように、(ルートノードの状態から出発して)運転シナリオの状態の連続的な変化を決定するためにシミュレーションを実行することを意味する。展開はランダム化され、すなわち操縦がランダムに選択され、新たなノードがツリーに追加される。新たなノードが終端でない場合、終端ノードへのロールアウトがシミュレートされる。また、ロールアウトもランダム化され、すなわち葉ノードから出発して、そこから終端ノードへと進むために操縦がランダムに選択される。次いで、反復は、上述のようにスコア付けされ、そのスコアに関する情報が、訪問済みのノードを介して逆伝播される(E6)。次に、未訪問のノードが選択され(E8)、新たに選択されたノードでプロセスがステップE2から繰り返される。
【0126】
各々の反復は、最初にルートノードD02の選択(E0)から出発して、以前に訪問されたことがないノードを「訪問」することによって始まることができる。選択されたノードは、訪問済みとしてマークされ(E2)、選択されたノードから終端ノードまでゲームツリーD00を通る単一の経路が拡張される(E4)。これは、終端ノードに到達するまで、上述したように、(選択されたノードの状態から出発して)運転シナリオの状態の連続的な変化を決定するためにシミュレーションを実行することを意味する。経路の拡張は、ランダム化され、すなわち現在の選択されたノードから出発して、そこから終端ノードへと進むために操縦がランダムに選択される。次いで、終端ノードは、上述のようにスコア付けされ、そのスコアに関する情報が、拡張された経路を通って逆伝播される(E6)(注:拡張された経路に沿ったノードは、訪問済みとしてマークされない)。次に、未訪問のノードが選択され(E8)、新たに選択されたノードでプロセスがステップE2から繰り返される。未訪問のノードは、これまでにゲームツリーを通って逆伝播されたスコア情報に基づいて、ノードの選択をより有望な結果に向かって(時間につれて)バイアスさせる一方で、単なる局所最適への望ましくない収束のリスクを軽減するように充分な探索のレベルを依然として奨励するやり方で、選択される。
【0127】
プロセスは、終了するまで反復的に繰り返される(E10)。これは、例えば、特定の時間制限に達した場合や、特定の回数の反復が実行された場合などであってよい。MCTSの利点は、いつでも終了できることであるが、より長く実行されるほど、平均して全体的に最適な解に近くなる。
【0128】
終了すると、AVプランナA6は、拡張された経路のうちの最も有望であると判定された1つを選択し、遭遇した現実世界の運転シナリオにおいて対応する操縦のシーケンスを実行するようにAVを制御するための制御信号を生成する(E12)。
【0129】
最も有望な経路は、最大のスコアを有する経路であってよい。しかしながら、スコア以外の情報も考慮に入れることができる(下記を参照)。
【0130】
AVが遭遇する実際の運転シナリオにおいて、典型的には、道路レイアウトは不変かつ既知であるが、シナリオ内の他の車両/アクターは動的である。したがって、時間につれてMCTS手順が実行されるときに新たなアクターが検出される可能性がある。進行中のMCTS手順の最中に新たなアクターが検出されると、構築された既存のノードおよびエッジを含む構築されたゲームツリーの構造は保持される。しかしながら、新たに検出されたエージェントのシミュレーションによる挙動を考慮に入れて報酬関数を再計算するために、既存のゲームツリーにおいてシミュレーションが再実行される。
【0131】
図5Aは、シミュレータにおけるランドアバウト運転シナリオに適用されるMCTSプロセスの一例を示している。自車両は、参照番号500で示されており、ランドアバウト上の他の車両502の存在下で、ランドアバウトシナリオにおいて安全に計画する必要がある。これは、「減速」、「車線維持」、および「右車線変更」(右への変更)という操縦の充分に最適なシーケンスを選択することによって行われる。
【0132】
図5Bは、さまざまな操縦シーケンスがMCTSによってどのように評価されるかを示している。
【0133】
図5Cは、ランドアバウトに進入するための操縦シーケンスを選択および実行する自車両500を示している。次いで、プロセスは、ランドアバウトを脱出するための操縦シーケンスの決定および実行を繰り返す。
【0134】
後述されるように、MCTSを、他のエージェントの挙動に関する確率論的予測によって実施することができる。例えば、以下では、確率論的操縦検出および確率論的目標認識の両方を考慮する。確率論的予測において、関連する1つ以上の分布が、決定論的予測または予測のセット(サンプル)を効果的に取得するために、プロセスの開始時にサンプリングされる。次いで、MCTSは、確率論的予測からサンプリングされたさまざまな決定論的予測で繰り返される。
【0135】
図15が、確率論的予測で実施されるMTCSの高レベルのフローチャートを示している。
【0136】
ステップ1502において、外部アクターについて少なくとも1つの確率論的予測が決定される。これは、例えば、エージェントの可能な操縦の分布P(M│τ)および/または可能な目標の分布P(G│O)であってよい(下記を参照)。
【0137】
Oという表記は、一式の観測値を意味する。観測値Oは、観測されたトレースτ自体(O=τ)であってよいが、Oは必ずしもこの点に関して限定されない。例えば、一実施態様において、観測値Oは、エージェントの操縦Mを含み、その場合、P(G│M)という表記を(観測値Oはさらなるパラメータを含む可能性があるため、おそらくは略記として)使用することができる(操縦をトレースτから推論できることにも留意されたい)。
【0138】
ステップ1504において、一式の決定論的予測を取得するために、ステップ1504の分布がサンプリングされる。例えば、P(M│τ)をサンプリングして、実際の現在の操縦Mを選択することができ、かつ/またはP(G│O)をサンプリングして、統計的にロバストな方法で実際の現在の目標を選択することができる(より可能性の高い目標、操縦、などが選択される可能性が高くなるように)。
【0139】
ステップ1506において、上述したように、MCTSプロセス全体が実行される。これは、ツリーを探索するためにMCTSプロセス内で実行される反復ステップと区別するために、MCTSプロセスの「超反復」としての反復であってよい。
【0140】
MCTSの複数の超反復は、例えば同じ目標/操縦分布P(G│O)/P(M│τ)からステップ1504でサンプリングされたさまざまな目標/操縦など、確率論的予測のさまざまなサンプリングで繰り返される。すなわち、超反復ごとにステップ1504において確率論的予測が再サンプリングされる。この繰り返しは、例えば時間制限への到達または特定の回数の超反復の実行などの一式の停止条件が満たされる(1508)まで実行されるように示されている。
【0141】
MCTSプロセスの超反復のすべてが完了すると、自車両のための最も有望な操縦シーケンスを選択するために、ステップ1510において、すべての結果の統計分析が適用される。
【0142】
全体の結果のステップ1510における統計分析は、MCTSの各々の超反復で決定されたスコアを考慮する。しかしながら、所与の操縦シーケンスに関連する「信頼度」など、他の情報も考慮に入れることができる。信頼度は、操縦シーケンスがシミュレーションによってどの程度まで試験されたかを反映する。例えば、特定の操縦シーケンスが、或るMCTS超反復において高いスコアであったが、他の超反復において試験されていない可能性がある。その場合、このシーケンスは、高いスコアを有するが、信頼性が低く、したがってスコアはより低いが、信頼性がより高く、すなわちより広く試験された操縦シーケンスを支持して、無視することができる。
【0143】
外部エージェント挙動シミュレーション
ゲームツリーD00が構築されるにつれての運転シナリオ状態の変化を判定するために、外部アクターの将来の動きを予測する必要がある。上述したように、そのような外部エージェントの挙動は、この目的のために、予測コンポーネントA4によってモデル化される。
【0144】
この文脈において、さまざまな形態の生成モデルを使用することができる。
【0145】
好適なモデルの一例は、「逆プランナ」である。例として、参照によってその全体が本明細書に組み込まれる「自律型車両の計画および予測(Autonomous Vehicle Planning and Prediction)」という名称の英国特許出願第1816850.0号明細書が参照される。これは、外部エージェントの挙動をシミュレートするために本文脈において使用することができる逆プランナを開示している。逆計画は、以下で説明される。
【0146】
エージェントは、必ずしも同じ方法を使用するとは限らないが、車両と同じレベルで計画すると仮定することができる。
【0147】
予測の目的で車両および外部エージェントによって共有されると仮定される知識は、マップである。
【0148】
操縦計画のためのMCTSを目標認識と組み合わせることができる特定の機構のさらなる詳細は、逆計画の説明の後で後述される。
【0149】
逆計画コンポーネントA24が、図1において予測コンポーネントA4の一部を形成するように示されている。逆計画コンポーネントA24(逆プランナ)は、後述される「逆計画」を実現する。
【0150】
これに加え、あるいはこれに代えて、生成モデルが、CCTV(閉回路テレビ)映像などの現実の運転挙動データを使用してエージェントの将来の動きを予測するように訓練されてもよい。
【0151】
そのような一例は、tに先立つ短い時間期間の外部エージェントの観測されたトレースなどのオブザーバパラメータを使用して、エージェントがどのように動く可能性が高いかを予測するニューラルネットワークに基づくモデル(または、他の訓練可能な関数近似器)である。これは確率論的モデルであってもよいし、決定論的であってもよい。そのようなモデルを、適切に訓練されたときに訓練用の例から一般化するそのようなモデルの能力を活用して、モデルが以前に遭遇したことのない運転の文脈(未知の道路レイアウトなど)における現実的な挙動を生成するために使用することができる。
【0152】
別の例は、例えばCCTV映像に基づいて、既知の運転領域の直接的観測を通じて導出されるその運転領域のモデルである。例えば、都市の運転の文脈において、複雑な/混雑しているジャンクション、ラウンドアバウト、などの困難な運転領域のためのモデルを構築することができる。そのようなモデルの1つは、空間マルコフモデルであり、このモデルにおいては、運転領域がグリッドセルに分割され、グリッドセルの占有確率および/またはグリッドセル間の遷移確率が長期観察を通じて決定され、これを、外部エージェントの挙動をその観測されたパラメータに基づいて予測するために使用することができる。
【0153】
これらは、訓練された挙動生成モデルの例である。
【0154】
図4を参照すると、生成モデルF06を、訓練コンピュータシステムF00においてオフラインで外部エージェントの挙動をシミュレートするように訓練することができる。CCTVデータなどの現実世界の運転挙動データF01が、訓練システムの挙動抽出コンポーネントF02で受信され、挙動抽出コンポーネントF02は、データを処理して、訓練に使用するための運転挙動の例を抽出する。訓練コンポーネントF04が、これらの例を使用して、上述したように、観測されたパラメータ(観測されたトレースなど)に基づいて外部車両の挙動をシミュレートするように生成モデルF06を訓練する。訓練コンポーネントF04および挙動抽出コンポーネントF02は、訓練システムF00の1つ以上のプロセッサ(図示せず)上で実行される訓練システムF00の機能コンポーネントである。このように生成モデルF06が訓練されると、それを自律型車両の車載コンピュータシステムA1の電子ストレージに転送することによってAVに組み込むことができ、予測コンポーネントA4による上述の機能の実行が可能になる。
【0155】
逆計画
定められた目標を安全かつ効果的に実行するために自車両が行うべき操縦、アクション、などのシーケンスの決定などのAV計画の決定においてAVプランナA6を支援するために、逆プランナA24は、本文脈においてエージェントと呼ばれることもある近傍の外部アクターの動きを予測する。逆プランナA24は、上述の文脈において適用され得る生成挙動モデルの一例である。
【0156】
外部アクターの現在の操縦に関する確率論的予測を行うために、逆計画を、操縦レベルにおいて実施することができる。例えば、逆プランナA24は、トレースτを含む(または、トレースτから導出される)一式の関連の観測値のセットに鑑みて、「車線維持」、「車線変更」、などの一式の利用可能な操縦Mにおける確率分布P(M│τ)を予測することができる。操縦レベルにおける逆計画は、(確率論的な)操縦検出の一形態である。
【0157】
これに代え、あるいはこれに加えて、逆計画は、外部アクターの現在の目標に関する確率論的予測を行うために、目標レベルにおいて実施されてもよい。例えば、逆プランナA24は、一式の利用可能な目標Gにおける確率分布P(G│O)を予測することができる。例えば、左折を伴う運転シナリオにおいて、目標は、適切な目標位置として捕捉された「左折」目標または「直進継続」目標(すなわち、現在の道路上に留まり、左折をしない)であってよい。目標レベルにおける逆計画は、(確率論的な)目標認識の一形態である。
【0158】
目標認識および操縦検出は、典型的には、異なる時間尺度で動作する。目標認識は、一般に、操縦検出と比べて、未来へとより長い時間期間を考慮する。例えば、操縦予測が、未来へと数秒(例えば、5s程度)に目を向けることができる一方で、目標認識は、(状況に応じて)これよりもさらに先に目を向けることができる。したがって、目標認識は、一般に、操縦認識よりも長い軌道(すなわち、さらに将来への軌道)を考慮する。
【0159】
目標を、例えば、自車両がマップ上の現在位置から到達しようと試みているマップ上の(すなわち、基準のマップフレーム内の)所望の位置(基準点)として捕捉することができ、所望の位置は、遭遇した道路レイアウトに関連して定義される。例えば、所望の位置は、特定の合流点、車線レイアウト、ランドアバウト出口、などに関連して定義されてよい。周囲の道路レイアウトおよび任意の外部アクターに鑑み、所望の位置に到達することによってその目標を成功裏に実行するために車両がとることができるさまざまな経路/アクションが存在すると考えられる。また、自車両がそのようにすることを妨げる自車両アクションも存在すると考えられ、例えば、初期アクションのシーケンスの選択が良好でないと、目標を実行し続けると不安全になりかねない場合に外部アクターの挙動に起因して車両が望ましくないランドアバウト出口を取らざるを得なくなり、あるいは他のかたちで目標を中断する結果となり得る。外部アクターの挙動に関する信頼できる予測を計画に組み込むことは、AVプランナA6による安全かつ効果的な計画に役立ち、目標の中断の発生を最小限に抑える。
【0160】
目標レベルにおいて実施される場合、逆計画は、各々の外部エージェントについてさまざまな可能な目標を仮定し、次いで、エージェントが各々の目標をどのように達成することができるかについての軌道、および各々の軌道をたどる可能性を生成する。根底にある仮定は、各々の外部エージェントが生成モデルを使用して予測することができるやり方で行為することである。
【0161】
本文脈における逆計画は、AV予測コンポーネントA4によって実施され得る特定の種類の予測方法を指す。すなわち、逆計画法は、外部アクター、とりわけ他の車両の挙動を、外部アクターが予測可能な様相で計画すると仮定することによって予測する特定の方法である。
【0162】
「逆計画」という用語は、外部アクターが自身の決定を予測可能なやり方で計画するというこの根底にある仮定を指す。より形式的には、仮定することができる生成モデルによって他の車両が計画および実行を行うことが想定される。
【0163】
ここで、逆計画法を、本方法のフローチャートを示す図6を参照して説明する。これは、目標レベルにおける逆計画を考慮するが、根底にある原理は、操縦レベルにおける逆計画にも等しく当てはまる。本方法のステップは、充分に最新の予測がAVプランナA6に常に利用可能であるように、逆プランナA24によってリアルタイムまたは疑似リアルタイムで繰り返し実行される。本方法は、データ処理システムA2によってもたらされる情報、すなわち、周囲の環境/道路レイアウト、環境内の任意の他のアクターの位置/状態、およびオブジェクト追跡を通じて観測されるそれらのアクターのトレースに関する情報を利用する。
【0164】
以下のステップは、検討中の1つ以上の外部アクター(車両、歩行者、サイクリスト、など)の各々について実行され、それらのアクターは、以下の例ではAV以外の車両である。
【0165】
ステップSB2(図6)において、対象の他の車両について、仮定された目標の組が決定される。他の車両は、これらの目標のうちの1つを現在実行していると仮定される。仮定された目標の適切な組を決定するために、他の車両の近傍の道路レイアウトなど、運転の文脈が決定される。
【0166】
外部エージェントの目標は、一般に、マップに基づいて仮定される。例えば、マップ上に示された道路合流点、ランドアバウト、または他の道路レイアウト(運転の文脈)の近傍の外部車両の組に鑑みて、適切な目標を、(エージェントの観測された過去の挙動を考慮することなく)道路レイアウトのみから仮定することができる。一例として、左折合流点の近傍の外部エージェントの組において、仮定される目標は、左折および直進の継続であってよい。示されるように、そのような目標は、マップ上の適切な目標位置(例えば、基準点)を参照して定められる。
【0167】
しかしながら、利用可能な目標は、さまざまなやり方で仮定されてよい。例えば、観測された過去の挙動(時刻tに先立って観測されたトレースなど)を、外部エージェントの目標を仮定する際に考慮することができ、あるいはマップに基づく推論と過去の挙動に基づく推論との組み合わせを使用して、目標を仮定してもよい。
【0168】
利用可能な目標を仮定するために過去の挙動が使用されない場合でも、過去の挙動が、それにもかかわらず、それらの目標の各々の可能性を決定するために使用されることに留意されたい(P(G│O))はエージェントの挙動の観測値Oに依存するため)。
【0169】
仮定された目標の組を決定すると、それらの目標の各々について、以下のステップが実行される。
【0170】
ステップSB4において、対象の仮定された目標について、予想軌道モデルが決定される。予想軌道モデルは、他の車両の将来の挙動を、その車両がその特定の目標を実行しているという仮定に基づいて、シミュレートするモデルである。とくには、予想軌道モデルは、他の車両が、所与の期間Δt(時刻tから時刻t+Δtまで)において、その期間においてその目標を実行していると仮定して、特定の経路(軌道)をとる可能性がどれだけ高いかを示す。示されるように、車両が実行している目標は、マップに基づいて終点によってパラメータ化され得る。例えば、目標が(例えば、左折するのではなく)直進である場合、終点は、同じ車線内の車両の前方の例えば40mなどの所定の距離の道路上の点であってよい。あるいは、例えば複数車線のシナリオにおいて、目標位置は、特定のレーンを指定せずに前方の道路に沿った或る程度の距離であり得る(さらなる詳細については、以下を参照)。
【0171】
予想軌道モデルは、単に所与の目標のための(単一の)予測経路であってよいが、この例では、対象の目標のための予測経路分布の形態をとる。予測経路分布は、この例では、時刻tにおける外部車両の位置rに鑑みて、対象の目標のためのn個の予測経路の離散セットを合成することによって、各々の目標についてもたらされ、少なくとも時間区間Δtにおける予測経路分布をもたらす。
【0172】
例として、図7Aが、特定の外部車両について予測された目標G1およびG2のそれぞれのための予測経路のそれぞれの組PG1、PG2を示している。目標G、Gは、マップ上の点または領域であってよい基準のマップフレーム内の基準位置R、Rに対してそれぞれ定義される。時刻tにおける外部車両の位置rおよび各目標の基準点R、Rに鑑みて、予測経路セットPG1、PG2は、それぞれ目標G、Gについて合成される。
【0173】
この例では、各目標は単に単一の基準点/領域に関して定義されているが、理解されるように、目標は、例えば状況に応じて複数の基準点を参照して、他のやり方で定義することが可能である。一般に、目標は、1つ以上の目標パラメータの組によって定義され、1つ以上の目標パラメータは、一般に、自動運転の文脈における基準のマップフレームにおいて定義される。基準のマップフレーム内の基準位置は、目標パラメータの一例であり、そのような基準位置に関するすべての説明は、他の種類の目標パラメータにも等しく当てはまる。
【0174】
左折の例に続いて、他の車両が「直進」目標を実行した場合に取ることができると予測される経路である「直進」目標のための1組の経路が生成され、他の車両が「左折」目標を実行した場合に取ることができると予測される経路である「左折」目標のための別の1組の経路が生成される。
【0175】
生成モデルを使用して、これらの経路を合成することができる。根底にある仮定は、他の車両がこのモデルを使用して計画および実行することである。そのモデルは、(他の車両が自車両と同じやり方で計画すると仮定して)AVプランナA6自体に対応することができるが、AV自身のプランナとは違ってもよい。
【0176】
例えば、経路を、高速探索ランダムツリー(RRT)モデルを使用して各目標について合成することができる。図7Aの例に従って、各目標G、Gについて、予測経路の空間(探索空間)が、その目標の基準位置(それぞれR、R)および外部車両の現在位置rに基づいて定義される。次いで、n個の経路の組、およびそれらの経路の各々の尤度を決定するために、探索空間が(ランダム化された入力パラメータに基づいて)ランダムにサンプリングされる。各目標についてn個の経路をシミュレートするために、RRTの関連パラメータは、探索空間のn個の適切にバイアスされたランダム探索を実行するために、n回ランダム化される。
【0177】
例として、参照によってその全体が本明細書に組み込まれる「安全な移動の計画のための衝突確率の効率的な計算(Efficient computation of collision probabilities for safe motion planning)」という名称の英国特許出願第1803292.0号明細書が、逆計画を実施するために本文脈において使用することができるRRTモデルを開示している。所与の軌道に沿った衝突の確率的リスクが計算され、安全性によって候補軌道を順位付けするために使用される。これは、対象の目標を実行するために外部車両がより安全な経路をとる可能性が高いという仮定に基づいて、各々のサンプリングされた経路の尤度をもたらす。すなわち、経路の確率を、安全性への仮定された関係に基づいて決定することができる。サンプリングされた経路およびそれらの確率は、軌道モデルの一例である。
【0178】
しかしながら、これは適切な生成モデルの一例にすぎず、生成されたモデルの他の形態も使用することができる。代替の軌道モデルの例が、後述される。
【0179】
そのような一例は、観測されたトレースおよび実行されるべき目標に鑑みて経路予測モデル(例えば、予測経路または予測経路の分布)を出力するように訓練されたニューラルネットワークに基づくモデルである。ネットワークは、現実世界の運転挙動の例に基づいて訓練される。例えば、ニューラルネットワークを、都市運転環境において取得されたCCTV(閉回路テレビ)データの大規模なコーパスから抽出された例に基づいて訓練することができる。
【0180】
別の例は、充分な時間期間にわたって運転領域を監視することによって特定の運転領域について予め決定され得る空間マルコフモデル(または、同様のモデル)である(上記を参照)。
【0181】
一般に、逆プランナA24は、異なる仮定された目標に関して推論することができる任意のモデルであってよい。
【0182】
ステップSB6において、時間期間Δt(すなわち、時刻tとt+Δtとの間)にわたって実際に観測された他の車両のトレースが、その時間期間Δtの対象の目標に関する経路の分布と照合され、その目標の尤度が決定される。
【0183】
例として、図7Bが、時刻tとt+Δtとの間の対象の車両の実際に観測されたトレースτを示している。実際のトレースτを目標G、Gの各々についての予測経路分布(図7A)と照合することによって、各々の目標G、Gの尤度を、時間区間Δtについて確率的に決定することができる。これは、ソフトマッチングの形態であってよい。目標尤度を、外部車両の観測されたトレースτに鑑みて、仮定された各目標Gの条件付き確率、すなわちp(G│τ)として捕捉することができ、これは、観測されたトレースτに鑑みて外部車両が時間区間Δtにおいてその目標Gを実行していた推定確率である。
【0184】
換言すると、逆プランナA24は、仮定された目標の各々について、他の車両が時間区間Δtにおいてその目標を実行していたと仮定して、他の車両がその時間期間において取ることができた一式の可能な経路およびそれらの経路の各々の尤度(すなわち、他の車両がその目標を実行していた場合に時間区間Δtにおいて何を行ったと考えられるか)を予測するために使用される。次いで、これが、その時間期間における他の車両の実際のトレース(すなわち、他の車両が実際に何を行ったか)と比較され、時間期間Δtの各目標の尤度が決定される。
【0185】
図7Cを参照すると、今や観測されたトレースτに鑑みて各目標の尤度が既知であるため、観測されたトレースτに鑑みた時刻t+Δtの後の任意の所与の予測経路(軌道)Tの(絶対)尤度を、例えば
【数1】
【0186】
と決定することができ、ここで、p(G│τ)は、上述のように定義され、時刻t+Δtにおける目標Gの経路分布に鑑みてエージェントが経路Tをとる推定確率である。なお、表記「Δt」と「ΔT」とは本明細書において同等である。また、軌道を表すために使用される数学的表記(小文字または大文字のギリシャ文字「タウ」、すなわちτ、Τ)と、時間を表すために使用される表記(小文字または大文字のラテン「ティー」、すなわちt、T)との間の区別にも留意されたい。
【0187】
軌道は、単純な空間経路であってよいが、説明は、運動情報(速力/速度情報、加速度、など)を取り入れる軌道にも等しく当てはまる。後者の場合、2つの軌道が同じ空間経路に対応する(あるいは、軌道の少なくともそれぞれの一部分が同じ空間経路に対応する)場合もあるが、それにもかかわらず、それらは、例えば異なる速度情報に関連付けられている(例えば、一方が、実質的に同じ空間経路に沿って移動しているが、少なくとも空間経路に沿ったいくつかの地点において速度がより遅い車両に対応する)がゆえに、異なる軌道であり得る。例えば、軌道は、関連の速度あるいは空間経路のそれぞれの地点または部分に関連付けられた一式の速度と組み合わせられた空間経路の形態をとることができる。拡張は、関連の加速度値などをさらに取り入れることができる。
【0188】
図には示されていないが、p(T│G)を決定するための時刻t+Δtにおける経路分布は、それ自体は、例えば、上述のように目標Gについて時刻t+Δtにおいて逆プランナA24を、新たに決定された時刻t+Δtにおける外部エージェントの位置rt+Δtで再実行することにより、予想軌道モデルを相応に更新することによって決定することができる。目標パラメータは、逆プランナA24を再実行する目的で、この時点において更新されても、更新されなくてもよい。データ駆動挙動モデルが使用される場合、同様に、挙動モデルを、予想軌道モデルを更新するために、その時点で再実行することができる。
【0189】
上述のステップは、おそらくはリアルタイムで、時間につれて繰り返し実行される。目標への到達から或る程度遠い外部エージェントについては、異なる目標への経路分布が最初は類似しており、これが仮定された目標の組における確率の分布に反映されるため、どの目標を実行しているかを最初は明確に決定することができない可能性がある。経路分布が発散するにつれて、確率分布は、一般に、経路分布の発散につれて特定の目標に向かって傾き始める。
【0190】
操縦の逆計画
上記は、目標の逆計画を考慮している。示されるように、逆計画を、操縦レベルにおいて、仮定された操縦Mの組について実施することもできる。
【0191】
例えば、他の車両が現時点において近くに分岐点のない複数車線の道路を走行している場合、仮定された操縦Mの組は、「車線維持」および「車線変更」で構成され得る。その場合、他の車両が「車線維持」操縦を現時点において実行している場合に取ることができると予測される経路である「車線維持」操縦のための1組の経路が生成され、他の車両が「車線変更」操縦を実行している場合に取ることができると予測される経路である「車線変更」操縦のための別の1組の経路が生成される。上述の説明は、操縦レベルの逆計画に、仮定された目標Gの組の代わりに仮定された操縦Mの組を用いて、等しく当てはまる。
【0192】
操縦レベルの逆計画に関して、外部エージェントの観測されたトレースτを使用して、可能な操縦Mの組の各々の操縦M∈Mの確率を推定することができる。各々の操縦M∈Mについて、図7Aのように、予測軌道モデルが時刻tについて決定される。予測軌道モデルは、単一の軌道または軌道分布であり得る。次いで、実際の観測されたトレースτを各々の操縦Mの軌道モデル(図7Bのような)と比較することによって、その操縦の確率P(M│τ)を、観測されたトレースτがその操縦Mの軌道モデルにどの程度一致するかに基づいて推定することができる。上述のように、これは、ソフトマッチングの形態であってよい。
【0193】
以下の例では、計算を単純にするために、各々の操縦Mは、逆計画の目的に関して単一の軌道にマッピングされる。軌道分布に関連する操縦の場合、分布のうちの最頻の軌道または最も可能性の高い軌道を、逆計画の目的のために採用することができる。その場合、単一の軌道Tが存在すると仮定され、したがって
P(T│M)=1
であり、他のすべての軌道の確率は、0であると仮定される。
【0194】
上記で使用された表記法は、所与の操縦Mに関連する軌道Tと、所与の目標Gに関して評価された軌道Tとを区別する。
【0195】
目標Gに到達するために、外部エージェントは、例えば(M、M、・・・)などの操縦のシーケンスを実行することができる。その場合、全体的な目標軌道(すなわち、目標Gに到達すること)は、個々の操縦M、Mに関連する操縦軌道の組み合わせとして決定され得る。例えば、以下で説明される実施態様では、目標軌道は、操縦軌道を組み合わせ、それに速度平滑化を適用することによって決定される。この理由で、操縦Mに関連付けられた(または、関連して評価された)軌道Tは、「部分軌道」と呼ばれる場合があり、目標に関連付けられた(または、関連して評価された)軌道Tは、「完全軌道」と呼ばれる場合がある。
【0196】
特定の目標Gまでの複数の軌道が考慮される場合、表記T(n)を、Tの代わりに、目標Gまでのn番目の軌道を指して使用することができる。
【0197】
部分軌道と操縦との間の「1対1」の関係というこの上述の単純化の仮定は、より少ない計算負荷で許容可能な性能をもたらすことが明らかになっている。しかしながら、軌道と操縦との間の「1対1」の関係というこの単純化の仮定を行わない代案の実施態様が、それにもかかわらず実行可能である。この単純化の仮定がない場合、より一般的なベイズ静止関係
【数2】
【0198】
が成り立ち、ここで、p(T│M)∈[0,1]が、操縦Mに鑑みた部分軌道Tの確率である。その場合、最頻/最も可能性の高い部分軌道を仮定するのではなく、代わりに部分軌道をp(T│M)からサンプリングすることができ、最頻/最も可能性の高い部分軌道に関する本明細書のすべての説明は、その場合のサンプリングされた軌道に等しく当てはまる。
【0199】
逆計画-典型的な実施態様
さらなる例示として、ここで、目標認識のための逆計画の典型的な実施態様をさらに詳細に説明する。これは、目標レベルで逆計画を使用して、少なくとも1つの外部エージェントの一式の利用可能な目標Gの確率分布P(G│O))を予測し、すなわち利用可能な目標の各々について、エージェントが現時点においてその目標を実施している推定確率を予測する。
【0200】
さらに、記載された実施態様は、確率論的操縦検出を使用して、外部エージェントの観測されたトレースτに鑑みて一式の可能な操縦Mの分布P(M│τ)を予測し、すなわち可能な操縦の各々について、エージェントが現時点においてその操縦を実行している推定確率を予測する。操縦予測は、後述されるように、目標予測に供給される。操縦検出を、例えば、操縦レベルで逆計画を使用して実施することができる。
【0201】
換言すると、説明した実施態様は、操縦レベルおよび目標レベルの両方で推論する。
【0202】
目標認識
目標認識は、エージェントの過去のアクションの観測および他の文脈上の情報に鑑みて、エージェント(以下の例ではターゲット車両であるが、上述したように別の形態のアクターであってもよい外部アクター)のエージェント目標を推論するプロセスである。
【0203】
本文脈において、目標は、典型的には、高速道路/ジャンクション上のさまざまな出口点あるいは異なる車線など、逆プランナA24が推論する車両の目標の目標位置を指定する。別のエージェントの目標を知ることにより、仮定された目標に関連するエージェントの挙動について予測を行うことができるため、計画プロセスに情報を提供することができる。
【0204】
目標認識を使用すると、AVシステムの「説明可能性」も増す。説明可能性とは、その決定を人間に説明するシステムの能力を指す。目標推論プロセス(さまざまな時点において自車両が他の車両の目標と信じたもの)を記録することにより、決定のトレースおよびデバッグのための解釈可能な情報を提供することができる。
【0205】
目標は、決定論的または確率論的に推論され得る。以下の例において、目標は、一式の関連の観測値Oに鑑みて確率論的に推論され、すなわち目標事後P(G│O)が、有限の一式の利用可能な目標Gについて推定され、P(G│O)は、観測値Oに鑑みて外部エージェントが目標G∈Gを有する確率である。
【0206】
MCTSの文脈において、目標は、ツリーが上述の意味でロールアウトされるときに外部アクターの将来の軌道に関する合理的な予測を行うために、確率的に推論される。
【0207】
操縦および目標
最初に、利用可能な目標および操縦を決定するための典型的なスキームが説明される。この説明は、後述される逆計画の特定の実施態様への関連の文脈を提供する。しかしながら、説明は、これに関して限定されず、逆計画/目標認識の代案の実施態様および目標認識を使用しない実施態様(例えば、より高いレベルの目標認識を伴わないデータ駆動の挙動モデルを使用する上述の例)を含むMCTSの他の実施態様にも、等しく当てはまる。
【0208】
マルチポリシーベースライン
「マルチポリシー法」が、ベースラインとして使用される。マルチポリシー法の根底にある仮定は、自車両を含むすべての車両(または、より一般的には、外部アクター)が、車線維持、車線変更、方向転換、などの有限数の操縦のうちの1つをいつでも実行していることである。そのような操縦は、本明細書において、「操縦ポリシー」と呼ばれることもある(操縦ポリシー、すなわち、有限の一式の操縦のうちの操縦と、選択された操縦ポリシーを実行するために使用され得るアクションポリシーとの間の区別に注意されたい;本明細書において操縦について英国式/米国式の綴りが互換的に使用されることにも注意されたい)。
【0209】
「ターゲット」アクターは、その挙動が予測されている外部アクターを意味する。予測を、1つまたは複数のターゲット車両(または、他のアクター)について行うことができ、上述の一連の仮定が、各々のターゲットアクターに適用される。先行の段落における操縦ポリシーの例は、実際には「閉ループ」であり、すなわちセンサフィードバックを考慮に入れて、速度および先行車両(先行車両はターゲット車両が追従している車両である)までの距離を自動的に変更する。しかしながら、以下で説明されるように、逆計画の目的のために、それらを、計算効率の向上という利点を有し、逆プランナA24の性能に大きな影響を与えることがない「開ループ」操縦としてモデル化することができる。以下の例において、ターゲット車両および先行車両は自動車であるが、説明は、あらゆる形態のアクター(車両、歩行者、サイクリスト、など)に等しく当てはまる。同様に、この例は、自律型の自動車(自車)を考慮しているが、説明は、任意の形態の自律型車両に当てはまる。
【0210】
以下で詳しく説明される図12が、予測コンポーネントA4の一部として操縦検出器1102を示している。
【0211】
一例として、操縦検出器1102は、上述したやり方で操縦レベルでの逆計画を実施することができる。
【0212】
別の例として、操縦検出器1102は、ベイズ変化点検出法を実施することができる。この方法は、ターゲット車両の観測された低レベルの軌道を操縦のシーケンスへとセグメント化するために使用され、最新のセグメントが、自動車の現時点において実行されている操縦の予測として使用される。この予測を使用して、いくつかの前方軌道が、自車に利用可能な各々の操縦についてシミュレートされ、最良の評価を有する操縦が、実行のために選択される。
【0213】
ベイズ変化点検出は、それ自体は公知であり、システムの根底にある隠れ状態の変化の確率論的検出を指す。本文脈において、特定の時刻における外部アクターの隠れ状態は、その時点において実行中の操縦ポリシーとして定義される。この隠れ状態は、直接的に観測することは不可能であり、したがって、この例においては観測されるトレースである隠れ状態が引き起こす観測値を通じて、推論される必要がある。これにより、現時点における各々の利用可能な操縦の確率、すなわち外部アクターが現時点においてその操縦を実行している確率を、推定することができる。
【0214】
例えば、隠れマルコフモデル(HMM)を使用し、操縦をHMMの隠れ状態として表すことができ、観測されたトレースは、HMMの状態遷移から生じるものとしてモデル化される。
【0215】
以下で説明されるように、計画プロセスを大幅に単純化するために、操縦ポリシーの比較的小さな組を定義することが可能である。操縦ポリシーは、速度および距離などの低レベルの計画を包含するように定義されるため、そのような小さな組を定義することが可能である。同様に、他の車両がこれらの同じポリシーのうちの1つを実行していると仮定されるため、それらの現在の操縦を、低レベルの軌道に鑑みて効率的に推論することができる。
【0216】
このマルチポリシー法自体は、他の車両の現在の操縦を予測するだけであり、それらの将来の操縦を予測しようとはしないという点で、近視眼的である。逆計画は、後述されるように将来のアクションを予測するためにこの方法に基づいて構築される。
【0217】
操縦
基本操縦
操縦は、計画および予測に使用される基本アクションを表す。以下の「基本」(基本的な)操縦が、この例において考慮される。
【0218】
・車線維持
・左右の車線変更
・右左折(進行方向に最も近い車線へと向かう)
・停止/警戒
記載された技術を、他の操縦またはさらなる操縦へと拡張できることを、理解できるであろう。
【0219】
各々の基本操縦は、それぞれに関する特定の適用可能性および終了条件を有する。操縦は、所与の状態において、その状態が操縦の適用可能性条件を満たす場合に限り、利用可能である。例えば、左への車線変更は、車両の左側に車線があり、その車線に車両のための充分な空きスペースがある場合にのみ可能である。さらに、適用可能性条件は、交通規則をエンコードすることもできる。状態が終了条件を満たす場合、操縦は終了する。車線変更の操縦の場合、これは、ひとたび車両がその車線に達し、車線方向に整列した場合である。
【0220】
操縦の開始と終了との間で、操縦は、自車が辿るべき基準経路および経路における目標速度を指定する。本文脈において、軌道が、ペア(静的基準経路,目標速度)と定義される。すなわち、静的基準経路に関の一連の目標速度を加えたものとして定義される(上記を参照)。
【0221】
しかしながら、一般に、操縦には複数の軌道が関連付けられる。例えば、予測の文脈において、操縦に軌道分布、すなわち各々が指定された確率(すなわち、外部アクターが、現時点においてその操縦を実行していると仮定して、その軌道を辿る確率)を有している軌道の組を関連付けることができる。
【0222】
車線維持および警戒などのいくつかの操縦は、自然な終了条件を持たない。そのような操縦の場合、終了条件がパラメータとして指定される。「マクロアクション」(下記を参照)が、文脈情報に基づいてこれらのパラメータを自動的に設定する。
【0223】
警戒の操縦は、マクロアクションで使用される停止操縦の変種である。警戒は、車両を減速させ、パラメータとして与えられた指定された場所へと移動し続ける。その場所において、操縦は、終了条件が満たされたならば終了し、そうでない場合には、車両を完全に停止させ、次いで終了条件が満たされた場合に終了する。終了条件は、(パラメータとして与えられる)指定された車線における接近交通をチェックするために使用される。車線が指定されていない場合、終了条件は常に真である。これにより、接近交通が存在する可能性があるときに安全かつ円滑な進入/脱出を計画することができる。
【0224】
出口左右マクロのみを警戒する特別な場合として、接近車両が停止し、少なくとも制御された車両が向きを変える操縦を完了させるために必要な時間にわたって停止したままであると予測される場合、強制終了が可能にされる。これにより、後述されるシナリオ3のような特別な場合が可能になる。
【0225】
基本操縦のいくつかは、追加のパラメータを有し、あるいは向きを変える操縦などのきわめて特定の場所でのみ可能であるため、マクロアクション内でのみ使用される。
【0226】
以下の例は、2種類の基本操縦を使用し、すなわち逆計画(予測)、より一般的には図1の目標認識コンポーネントA24による目標認識のための開ループ操縦、およびAVのプランナA6におけるMCTS自己計画のための閉ループ操縦を使用する。これらは、以下の箇所で詳述される。
【0227】
閉ループ操縦
基本操縦は、センサからのフィードバックを使用する場合、閉ループである。これは、操縦におけるさまざまな程度の自動化をカバーし得る。ここで、各々の閉ループ操縦は、車両の速度および先行車両までの距離を自動的に制御する(アダプティブクルーズコントロール(ACC)の一形態)と仮定される。また、各々の操縦は、自動的に緊急ブレーキを開始できると仮定される。
【0228】
システムは、操縦の具体的な実施態様について不可知であり、本質的に操縦を「ブラックボックス」機能と見なす。これは柔軟性の利点を有し、さまざまな表現を単刀直入に組み込むことを可能にする。可能な実施態様として、以下が挙げられる。
【0229】
・有限状態機械または任意のプログラミング論理を使用するハードコードされたヒューリスティック
・運動学的自転車モデルによって定義された運動プリミティブを使用する格子経路プランナ
・制約最適化プランナ
上記リストの計画方法を、それらを閉ループにするために、状態変化後に繰り返し呼び出すことができる。
【0230】
開ループ操縦
閉ループ操縦とは対照的に、開ループ操縦は、センサフィードバックを使用しない。開ループ操縦は、基準経路(または、経路についての分布)を指定し、これらの経路をフィードバックで修正することを試みない。これにより、操縦のより単純かつ計算コストの低い実装が可能になる。
【0231】
やはり、システムは、開ループ操縦の表現について不可知である。
【0232】
開ループ操縦を実施する簡単であるが効果的な方法は、道路のトポロジから抽出された一式の点に多項式関数を適合させる。目標速度を、一定または他の時系列に設定することができる。これは、軌道の分布ではなく、むしろ1つの軌道を計算し、これは、多くの実際の文脈において充分であることが明らかになっている。
【0233】
別の実施態様は、収集された運転軌道へとガウス過程またはニューラルネットワークなどの上述の種類の挙動モデルを使用する。この軌道データは、さまざまなやり方で生成され得る。
【0234】
・シミュレーションにおいて、さまざまな状況下で、対応する閉ループ操縦を使用する。
【0235】
・AVプラットフォームで生成された実際の運転データから。
【0236】
・認識された操縦へとセグメント化される実際のCCTVデータから。例として、図13が、時間につれてCCTV映像において観測された軌道へとフィットさせたガウス軌道モデル1202の例を示している。
【0237】
警戒の操縦において使用される「接近交通がなくなるまで待つ」などの条件は、条件が真であると予測されるまで(例えば、交通がなくなると予測されるまで待つ)指定された時間にわたって待つことによって、開ループ操縦において実現することができる。
【0238】
目標速度および速度平滑化
上述したように、この例において、軌道は、一連の目標速度と組み合わせられた静的経路として定義される。
【0239】
目標速度は、基本操縦の内部で設定される。一般原則として、車両が特定の領域において特定の速度(例えば、速度制限)で走行しようとすると(例えば)仮定することができる。この目標は、前方に速度の遅い車が存在する場合(この場合、その車の速度が新たな目標である)や、走行経路の曲率などのために必要である場合に減らされる。
【0240】
開ループ車線維持の場合、目標速度は、
min(制限速度、存在するのであれば前方の車の速度)
に設定される。
【0241】
その単純さゆえに、この方法は、安価に計算することができるが、衝突する他の車両の予測軌道をもたらす可能性がある。例えば、下記のシナリオ1において、トラックが制限速度で直進を続ける(前方に車両が存在しないため)と予測され、制限速度での車両2による追い越し(追い越しのうちの車線維持部分における)も想定される。車両2の逆計画が実際にはトラックについて一定の速度を仮定したため、車両2の予測軌道およびトラックの予測軌道が衝突する可能性がある。しかしながら、この場合、および他の多くの場合に、この不一致は自車のプランナA6にとって問題を引き起こさないことが明らかになっており、この単純な方法の予測出力を使用して、安全かつ効果的な計画決定を依然として行うことができる。
【0242】
湾曲した軌道(例えば、旋回および車線変更)を生成する基本操縦において、目標速度は、局所的な曲率に基づき、ヒューリスティックを使用して設定される。この関数が、以下に示され、ここでvtargetが目標速度であり、ψは点曲率である。他の項は、適切な値に設定された定数である。
【0243】
target=max(vmin,vmax-cψ) 点曲率は、以下の式によって与えられ、ここでxおよびyはデカルト座標である。xおよびyの導関数は、有限差を使用して車両の目標経路から推定される。
【数3】
【0244】
速度平滑化
速度は基本操縦の内部で設定されるため、2つの後続の操縦が、速度の急激な変化を有する可能性がある。典型的な例は、車線維持に続く旋回操縦である。
【0245】
この影響を補償するために、異なる操縦にまたがる結果としての全体の軌道を速度について平滑化して、制御および現実性を改善することができる。所与の軌道における目標速度を最適化する速度平滑化関数が使用される。速度平滑化は、予測(逆計画)およびMCTS自己計画の両方に使用される。
【0246】
速度平滑化は、与えられた経路に沿った軌動における最適化問題として定式化される。長手方向位置における点の集合
【数4】
【0247】
およびそれらのそれぞれの目標速度
【数5】
【0248】
を仮定し、連続的かつ微分可能な関数κ:x→vがフィットされる。次いで、タイムホライズンT(これは、例えば、目標速度を使用して推定することができる)、2つの時点間の経過時間Δt、および他の最適化パラメータ(例えば、最大速度vmaxおよび加速度αmax)を考慮して、平滑化問題は次のように定義される。
【数6】
【0249】
N=[T/Δt]
この問題の解から、空間的に再サンプリングを使用して、
【数7】
【0250】
において実際に達成可能な値を得ることができる。最後の達成可能な位置は、xによって与えられる。
【数8】
【0251】
の場合、この解のみから再サンプリングが可能である。
【0252】
あるいは、xから開始して同様の問題を解くことができ、この手順を、条件が達成されるまで繰り返すことができる。
【0253】
また、問題の拡張として、加速度などの軌道に関連する他のパラメータをモデル化し、そのようなパラメータに制約を課すことも可能である。
【0254】
速度平滑化は、完全な停止を表す入力軌道の速度ゼロを尊重すべきである。これを達成する単純なやり方は、軌道を停止事象(速度ゼロ)によって分離されたセグメントに分割し、各セグメントに平滑化関数を適用することである。
【0255】
マクロアクション
本明細書において「マクロアクション」と呼ばれる特別な種類の操縦は、2つの重要なやり方、すなわち共通の操縦シーケンスを指定すること、およびコンテキスト情報(通常は、道路レイアウト)に基づいて基本操縦の自由パラメータを自動的に設定することで、プランナを楽にする。
【0256】
この例では、以下のマクロアクションが使用される(括弧内に操縦パラメータが示されている)。
【0257】
・車線を継続:シーケンス<車線維持(可視の車線の終わり、すなわち車線の終わりまで)>を指定する。
【0258】
・左右の脱出:シーケンス<車線維持(曲がる地点/その付近まで)、警戒(接近交通がなくなる/安全な距離になるまで)、左折/右折>を指定する。出口点は、自車の目標に対応する出口点となるように自動的に設定され、マクロアクションがより早い出口点をスキップすることを可能にする(これは、ランドアバウトで特に有用である)。
【0259】
・交差道路:シーケンス<車線維持(道路横断/その付近まで)、警戒(交差道路からの接近交通がなくなる/安全な距離になるまで)、車線維持(道路横断後まで)>を指定する。
【0260】
・追い越し:シーケンス<右車線変更、車線追従(自車が他車を過ぎるまで)左車線変更>を指定する。
【0261】
マクロアクションの適用可能性の条件は、マクロアクションにおける第1の操縦の適用可能性の条件、および場合によっては追加条件によって与えられる。例えば、<左脱出>の追加条件は、車が進行方向における最も右側の車線にあり、かつ目的とする出口点が車の前方の同じ車線にあることである。<交差道路>の追加条件は、自車が別の車に道を譲らなければならない道路交差が存在することである(後述のシナリオ3を参照)。マクロアクションの終了条件は、マクロアクションにおける最後の操縦によって与えられる。
【0262】
マクロアクションは、単一のマクロアクションで所与の目標を充分に達成できるため、計画および予測プロセスを大幅に高速化することができる。例えば、後述のシナリオ2において、自車の目標がG3である場合、単一のマクロアクション<右脱出>ですでに目標を達成できると考えられる。また、マクロアクションは、本来であれば明示的に計画される(例えば、車線維持などの操縦のオープン終了条件を設定する)必要がある操縦間の切り替え点を自動的に処理するがゆえに、有用である。
【0263】
この研究において使用されるマクロアクションは、分解可能なアクションの階層を定義せず、単にアクションのシーケンスを柔軟なやり方で定義する。マクロアクションは、計画探索空間に暗黙的に含まれる。
【0264】
上述したように、以下で説明される特定の典型的なMCTSプロセスに関して、マクロアクションにおけるすべての基本操縦は、閉ループであり、逆計画の場合、すべての基本操縦は開ループである。
【0265】
目標および目標生成
自車の目標
自車の目標は、ルート計画に基づいて生成される。ルートプランナ(A25、図1)が、注釈付き道路マップ(車線方向、交通標識、などが注釈付けされている)および開始/終了位置を入力として取得する。ルートプランナは、自車が走行しなければならない道路セグメントおよび方向のシーケンスを指定する開始位置から終了位置までのルートを計算する。このルートが、プランナA6に渡され、以下のように自車の目標を生成するために使用される。
【0266】
概念的には、プランナA6は、以下に示されるシナリオ写真と同様に、自車を中心とするビュー領域(例えば、正方形または円形あるいは任意の適切な形状)にてマップを「ズームイン」する。このビュー領域は、自車と共に継続的に移動する。任意の時点において、自車の目標は、(車が現在の道路から接続道路へと乗り換える必要がある)ルートにおける次の出口点によって与えられ、ルートにおける次の出口点がまだ見えていない場合には、現在の車線の可視端によって与えられる。例えば、後述のシナリオ1において、次の出口点は見えないため、目標はG1である。後述のシナリオ2においては、出口点が見えるようになり、新たま目標はG3になる。
【0267】
他車の目標
別の車の目標は、例えば、自車のビュー領域によって境界付けられ、その車にとって可能な出口点およびその車の方向の道路の可視端として定義され得る。ヒューリスティック目標生成関数が、道路レイアウトおよび交通規則に関する情報(例えば、SDLロードグラフを使用する)を使用して、所与のビュー領域内の車の一式の可能な目標を列挙するために使用される。多数の目標(例えば、多数の出口点)が存在する場合に計算時間を短縮するために、関数は、自動車の出口点目標を、自動車の前方の同じ車線上にすでに2つのより早い出口点が存在する場合に、無視することができる。
【0268】
「私の前方にいてほしい」など、他の種類の目標を指定することもできる。そのような目標を、環境内の自動車の現在の構成に基づいて動的に追加および削除することができる。以下のシナリオの説明は、目標の例を示す。
【0269】
目標認識
この典型的な実施態様において、目標認識は、図10を参照して以下で説明されるように、「コストペナルティ」に基づいて実行される。
【0270】
本文脈における「計画」は、目標に到達するために選択された1つ以上の基本操縦のシーケンスを意味する。場合によっては、そのような基本操縦のシーケンスを、マクロアクションによって定義することができる。マクロアクションまたは複数の基本操縦の他のシーケンスにおいて、各々の基本操縦は、部分軌道に関連付けられ、部分軌道が速度平滑化を使用して組み合わせられ、目標に到達するための完全な軌道を決定する。
【0271】
図10が、コストペナルティに基づいて、有限の一式の利用可能な目標から、外部アクターの目標を確率論的に推論する方法の概略フローチャートを示している。図10の右側は、下記の2つの利用可能な目標を有するシナリオに適用されるステップの説明のための例を示している。
【0272】
1.G-現在の道路を進み続ける。可視道路の端部の目標位置として(より一般的には、現在の道路上の自動車の前方の基準点として)定義される。
【0273】
2.G-右折出口を選択する。出口位置に関して定義される。
【0274】
観測された車の一式の可能な目標と、車によって実行された過去の基本操縦のシーケンスとに鑑みて、逆計画のプロセスを使用して、目標の事後分布を計算することができる。この方法は、観測値Oのシーケンス(例えば、上述の例における観測されたトレースτなど)、目標の事前分布P(G)、および尤度関数L(O│G)に鑑みて、可能な目標Gのベイズ事後値P(G│O)~L(O│G)P(G)を計算する。
【0275】
表記P(O│G)およびL(O│G)は、同等であり、目標Gに鑑みた観測値Oの条件付き確率を意味する。「L」という表記は、これらの確率が統計的な意味での尤度であるという事実に一致して使用される(なお、本開示において、尤度という用語が、必ずしもこの特定の統計的な意味ではなく、通常の意味ですでに使用されていることに注意されたい;意味は文脈において明らかであろう)。
【0276】
目標は、目標位置に関して定義され、Gという表記は、その領域の目標位置を表すために使用され得る。目標位置Gは、空間内の点であってよいが、領域であっても、道路に沿った特定の距離に対応してもよく、例えば、目標位置を道路に垂直な線として定義することができ、その場合、自動車を、ひとたび(道路内の横位置に関係なく)その線に到達したならば目標に到達したと称することができる。
【0277】
所与の目標G∈Gについての尤度L(O│G)は、2つの計画のそれぞれのコストの間の差(コストペナルティ)として定義される。
【0278】
1.車の(時刻tにおける)初期位置rから目標位置Gまでの最適な計画、すなわち時刻tの後の車のいかなる観測された挙動にもかかわらずrからGに至る最適な計画。これを、基本操縦、マクロアクション、またはマクロアクション以外の複数の基本操縦のシーケンスとして実行することができる。複数の基本操縦によって、それらに関連する部分軌道を組み合わせて、初期位置rから目標Gに到達するための最適な全体の軌道がもたらされる(時刻tの後の車の実際の観測された挙動に関係なく)。
【0279】
2.「最良の利用可能な」計画-これは、時刻tと時刻t+Δtとの間の車の任意の観測された挙動に鑑みたrから目標位置Gまでの最適な計画、すなわち、この計画が後続の時間区間ΔTにおいて実際に観測された挙動に一致しなければならないという追加の制約のもとでのrからGに到達するための最良の計画として定義される。換言すると、計画が観測Oを尊重するような車の初期位置rから目標Gまでの最適な計画として定義される。これは、車が目標を達成するために最適な計画を実行する可能性がより高いが、ある程度の逸脱は許容することを仮定している。これも、基本操縦、マクロアクション、またはマクロアクション以外の複数の基本操縦のシーケンスとして実行することができる。複数の基本操縦によって、それらに関連する部分軌道を組み合わせて、初期位置rから目標Gに到達するtからt+Δtまでの区間の車の実際の観測された挙動も考慮した「最良の利用可能な」全体の軌道がもたらされる。最良の利用可能な軌道は、実際の観測された軌道に一致する区間[t,t+Δt]についての観測された部分と、後続の時間区間についての将来部分とを有し、将来部分は、最良の利用可能な全体の軌道に関連する全体的なコスト(すなわち、観測された部分および将来部分の両方の全コスト)を最小にするように選択される。
【0280】
これは、(複数の操縦に関連する複数の部分軌道に基づくことができる)目標に到達するための全体の経路を考慮するため、目標認識の一形態である。
【0281】
全体の軌道に割り当てられるコストは、後述するようにさまざまな要因を考慮に入れることができる。これは、運転時間(目標への到達により長い時間がかかる軌道は不利に)、安全性(不安全な軌道は不利に)、および快適性(例えば、ジャークが過度な軌道は不利に)を含む。
【0282】
車の初期位置rは、例えば、車の第1の観測された位置であってよい。合理的な手法は、自車のセンサ範囲によって定められる過去の観測の移動ウィンドウを使用して初期位置rを定義することである。
【0283】
図10のステップ1004において、各々の目標G、Gについて最適な計画(上記1)が計算される。ひとたび計算されると、これにより、例えばA*探索を使用して、各々の目標G、Gについて最適な軌道を決定することができる(詳細については以下を参照)。最適な軌道を計算した後に、最適な軌道に関連する全コストを計算することができる(やはり後述)。最適な軌道は、完全な軌道であり、すなわち初期位置rから問題の目標に到達するための軌道である。
【0284】
図10の例では、軌道は、時間的に等間隔の軌道に沿った点によって示され、したがって等間隔の点は一定の速度を意味し、点間の距離の増加(または、減少)は加速(または、減速)を意味する。白丸は、最適な軌道点を表すために使用される。したがって、目標Gについて、最適な軌道は一定速度で道路に沿って続く直線経路である一方で、目標Gについて、最適な軌道は、車が出口のための転回点に近づくにつれて徐々に減速することを、見てとることができる。
【0285】
ステップ1006において、各々の目標G、Gについて、最良の利用可能な計画(上記2)が計算される。示されるように、これらは、時刻t(車が初期位置rにあったとき)と現在の時刻t+Δtとの間の実際の観測値Oを考慮に入れる。これらの観測値Oは、黒丸を使用して図10に表されている観測された低レベルのトレースτを含むことができる。
【0286】
その文脈において、観測値Oは、これに代え、あるいはこれに加えて、自動車の現在の操縦を含むことができ、すなわち、各々の目標の確率を、自動車が現時点において実行している操縦に応じて推定することができる。それらは、過去に観測された操縦をさらに含むことができる。
【0287】
図10には明示的には示されていないが、上述したように、確率論的操縦検出が、自動車の可能な現在の操縦の確率分布を予測するために適用される。したがって、現在の操縦を確定的に知ることはできず、可能な現在の操縦の分布P(M│τ)に関して確率論的に知ることのみが可能である。これは、最初にp(M│τ)から現在の操縦Mをサンプリングし、次いでこの現在の操縦Mについての目標確率分布p(G│O)(すなわち、Mを含む観測値Oを有する)からサンプリングすることによって対処することができる。
【0288】
最良の利用可能な計画から、最良の利用可能な軌道を決定することができ(詳細については以下を参照)、これにより、最良の利用可能な軌道の全体コストを決定することができる(やはり後述)。これも、初期位置rから目標位置Gまでの完全な軌道であるという意味で、完全な軌道である。最良の利用可能な軌道は、実際の観測された軌道(すなわち、図10の黒丸)に一致する時刻tとt+Δtとの間の観測された部分を有し、斜線入りの円を使用して図10に表されるt+Δtの後の時間の将来部分をさらに含む。
【0289】
図示の例において、目標Gの最良の利用可能な軌道の観測された部分(黒丸)および将来部分(斜線入りの円)の両方が、この目標Gの最適な軌道(白丸)に適度に良好に一致することを、見て取ることができる。したがって、目標Gのコストペナルティ(最適な軌道のコストと最良の利用可能な軌道のコストとの間の差)は比較的小さい。
【0290】
しかしながら、目標Gについては、車が最適な軌道によって必要とされる程度まで時間t+Δtまでに失敗しているため、観測された軌道(黒丸)が、最適な軌道(白丸)からかなり大きく逸脱する。この不一致は、それ自体は大きなコストペナルティを必ずしも引き起こさない(実装の詳細に依存しても、しなくてもよい)。しかしながら、観測された挙動の結果として、最良の利用可能な軌道の将来部分(すなわち、時刻t+Δtの後の部分)が、コスト関数によって不利にされる急制動を必然的に含まなければならない(自動車の現在位置からGまでの最低コストの経路が、自動車の状況に鑑みて急制動を含まなければならないという事実を反映する)ことを、見て取ることができる。最適軌道のコストとのこの不一致は、目標Gに関するより高いコストペナルティを意味する。
【0291】
ステップ1008において、各々の目標G、Gについて、目標尤度L(O│G)が、コストペナルティ、すなわちその目標についてのステップ1004で計算された最適な計画のコストとステップ1006で計算された最良の利用可能な計画のコストとの間の差に関して計算される。これにより、目標尤度および目標事前値に基づいて目標事後P(G│O)を計算することができる(ステップ1010)。
【0292】
事前P(G)を、特定の目標の「固有の」確率に関する知識をエンコードするために使用することができる。例えば、図10のシナリオにおいて、右折出口を選択する車が比較的まれにしかないことが観測され、これをP(G)<P(G)によって事前としてエンコードすることができる。これは、Gに有利になるように目標Gを効果的にバイアスする。この事前知識のないシナリオの場合、各々の目標を、特定の車の個々の挙動の観測が存在しない場合に、同じ確率、すなわちP(G)=P(G)と単純に仮定することができる。
【0293】
上記では、目標が与えられると、車の初期位置rに鑑みてその目標のための最適な計画を決定することができ、後続の時間区間Δtにおける観測に鑑みてその目標のための最良の利用可能な計画を決定することができると仮定している。さらに、最適な(または、最良の利用可能な)計画に鑑みて、最適な(または、最良の利用可能な)軌道を決定することができると仮定する。このやり方で目標を軌道への計画にマッピングするための1つの機構は、以下で説明されるように、A*探索を使用する。
【0294】
確率論的計画認識アルゴリズム
A*検索
「A*探索」は、マクロアクションを含む開ループ操縦について実行される。操縦は、それらの適用可能性条件に基づいてフィルタリングされる。基本操縦が軌道の分布を指定する場合、適切な単一の軌道を、例えば最頻または最も可能性の高い軌道として選択することができる。
【0295】
A*探索は、ノードおよびエッジの重み付きグラフに関して定式化された既知の方法である。本文脈においては、(開始ノードによって表される)所与の位置から指定された目標Gに到達するための最適な計画を見つけることを目的とする。グラフのノードは、操縦(基本操縦またはマクロアクション)を表し、目的は、比較的低コストで目標に到達するノードのシーケンス(したがって、シーケンス操縦)を発見することである。各々のノードnについて、「それまでのコスト」g(n)が、開始ノードからノードnまでのコストとして定義され、ヒューリスティック関数h(n)が、nから目標までのコストの推定をもたらす。探索は、開始ノードで始まり、各ノードにおいて、
f(n)=g(n)+h(n)
として定義される最低ノードコストを有する次のノードへとシーケンスを延ばす。
【0296】
環境内の他のすべての車両が定速モデルを使用するという単純化された仮定を使用することができる。
【0297】
初期位置rから目標Gまでの最適軌道を発見する目的で、探索は、時刻tおよび位置rで実行された車による操縦から始まる。時間区間Δtにおける観測値Oに鑑みた自動車の現在位置rt+Δtから目標までの最良の利用可能な軌道を発見する目的で、探索は、検出された現在の操縦および現在位置rt+Δtから始まる。
【0298】
上述の操縦検出方法を、操縦を検出するために使用することができる。これが、一般に、可能な現在の操縦の確率分布をもたらすことに留意されたい。逆計画は、予測されたすべての現在の操縦について行われるべきであり、これは、これらが目標よりも異なる事後をもたらす可能性があるためである。したがって、可能な現在の操縦の各々は、それ自体の目標事後を生成する。計算効率のために、n個の最も可能性の高い現在の操縦のみが考慮され、他のあらゆる操縦は無視され、ここで、nは適切に設定することができる方法パラメータである。
【0299】
現在位置(現在の探索ノード)に到達するまでのコストg(n)を、基本操縦によって指定された経路および速度に基づいて、現在位置までの推定運転時間として定義することができる。
【0300】
目標までの残りコストを推定するためのコストヒューリスティックh(n)は、制限速度での直線による現在位置から目標位置までの運転時間によって与えられる。探索を効果的に案内するために、h(n)は、探索を案内するために最小残りコストの推定値を提供するだけでよいことに、留意されたい。したがって、ここでは、性能に影響を与えることなく、比較的粗い仮定を行うことができる。
【0301】
最適な計画を発見した後に、完全な軌道が、計画内の操縦を横切って生成される。次いで、速度平滑化が完全な軌道に適用され、完全なコスト関数が計算(後述のコスト関数の箇所を参照)されて、計画の最終コストが求められる。この最後のステップ(平滑化の適用および完全なコスト関数)により、下記の制動の例のように、速度に基づいて追加の「手がかり」を得ることが可能になる。
【0302】
速度平滑化は、すでに観測された軌道のいずれの部分にも適用されない。そうでなければ、速度平滑化の効果は、特定の目標を示唆する証拠を洗い流すことであり得る(図10の例の文脈におけるさらなる詳細については、以下を参照)。
【0303】
自動車が操縦(例えば、車線変更)の途中である場合を考慮するために、自動車の現在実行されている操縦は、将来へのさらなる計画の前に完了することができるように認識される必要がある。
【0304】
探索空間を縮小するために、基本的な方向転換および警戒の操縦を、これらがマクロアクションの外部では使用されないため、探索空間から除去することができる。車線維持の操縦は、その終了条件がデフォルト値として何らかの固定長に設定されている場合、マクロアクションの外部の基本操縦として依然として有用であり得る。
【0305】
本例は、逆計画において外部アクター間の衝突をチェックしない。これは、可能であるが、プロセス全体をより高価にする。さらに、他の車両の一定の速度などのいくつかの単純化の仮定ゆえに、衝突が必然的に発生する状況が存在し得る。以下で詳述されるマルチエージェントMCTS法は、このような衝突チェックを処理することができる。
【0306】
あるいは、プロセスを、逆計画の一部として起こり得る衝突について推論するように拡張することができる。
【0307】
A*探索に関連して上述した仮定は、計算効率と性能との間の良好なバランスを提供することが明らかになっている。当然ながら、非等速モデルなど、さまざまな仮定セットが使用されてよいことを、理解できるであろう。別の例として、上記は、操縦に関連する最も可能性の高い軌道のみを考慮することによって、本質的に探索問題を決定論的問題に変える。しかしながら、これは、完全な軌道の分布または切り詰められた軌道の分布に基づく確率論的探索にも同様に拡張することができる。すなわち、上記は単一軌道の形態の完全/部分軌道モデルを考慮しているが、本技術は、完全/部分軌道分布にも適用することができる。
【0308】
マルチスレッディングを使用し、各々の目標Gについて独立したスレッドを使用することにより、プロセスを高速化することができる。自動車が独立した目標を有するという追加の仮定により、自動車ごとに1つのプロセス/スレッドを使用することによって、さらなる並列化を達成することができる。
【0309】
制動
制動は、上述の方法においては制動は別個の操縦として認識されないが、本方法は、依然として目標の尤度において制動を考慮することができる。
【0310】
一例として、図10に示され、上述されたシナリオを考える。自動車の初期位置からG2への最適な計画は、右脱出のマクロアクションによって与えられる。速度平滑化を適用した後に、結果は、車が転回点に到達するまで継続的に減速する軌道である。この最適軌道のコストは、C2で表される。
【0311】
自動車が、車線に従い、転回点へと途中まで近付き、G2の最適軌道と同様に減速することが観察されると仮定する。したがって、G2までの軌道が競合する場合、これはC2と同様のコストを伴う軌道をもたらす。他方で、初期状態からG1への最適な軌道は、そのような制動を伴わず、(時間の差および場合によってはジャークに起因する)著しいコスト差をもたらす。したがって、G2の事後確率は増加する一方で、G1の確率は減少する。
【0312】
(ちなみに、上述のように、速度平滑化は、軌道のうちのすでに観測された部分には適用されないことに留意されたい。この背後にある推論は、この例において明らかである。すなわち、速度平滑化が軌道全体に適用された場合、平滑化は、すでに観測された車線維持の操縦の部分の速度も減少させると考えられる。これにより、制動がもはやそれほど突然ではなくなるため、コストペナルティがより小さくなると考えられる。換言すると、軌道が最初の観察位置からの最適軌道により類似すると考えられる。したがって、平滑化は、過去の軌道を変更不可能な定数として扱うことが適切である。)
ここで、自動車が車線を維持するが、減速するのではなく一定の速度で観測されると仮定する。この軌道がG2まで続くと、突然の制動が必要になり、C2よりもはるかにコストが高くなる。他方で、目標G1まで軌道を継続する(車線に留まる)ことは、本質的に初期状態からG1の最適な計画である。したがって、G2は事後確率が低下し、G1は増加する。
【0313】
最後に、自動車が車線を維持し、展開点の近くで突然に減速することが観測されると仮定する。この突然の制動は、初期状態からのいずれの最適軌道にもないため、G2およびG1の両方に著しいコストペナルティを引き起こす。したがって、両方の目標のコストが増加し、2つの目標の相対確率の変化は小さくなる。
【0314】
目標ツリーによる目標認識
逆計画法の代案として、決定ツリーを使用して目標検出を実施することができる。
【0315】
目標認識のための決定ツリーの例が、図11に示されている。
【0316】
目標の組Gが与えられると、目標の事後分布が、ベイズの法則を使用して、P(G│O)~L(O│G)P(G)と計算される。目標Gの尤度L(O│G)は、Gと一緒に生成することができるGが関連付けられたツリーによって計算される。ツリーは、目標の尤度を示すための範囲[0,1]内の正規化されたスコアを計算し、0はその目標についていかなる支持もないことを示す。
【0317】
典型的な数を使用するシナリオ2(右脱出)における目標G2の典型的なツリーが、右側に示されている。ツリーは、以下を含むいくつかの条件をテストする。
【0318】
・車が目標のための正しい車線にあるかどうか
・車が正しい方向を示しているかどうか
・出口点が車にとって次の順番である(すなわち、同じ車線上に車により近い他の出口点が存在しない)かどうか
・車が減速しているかどうか
各々の分岐において、ツリーは条件をテストし、スコア(1で始まる)を範囲[0,1]内の何らかの係数で乗算し、ツリーの終端ノードで最終スコアを得る。異なる分岐は、異なる条件をテストすることができ、分岐に与えられる係数は、テスト条件の重要性の相違を反映するために相違してよい。係数の乗算に対する代案は、ツリーの分岐に沿って係数を加算し、終端ノードの深さによって正規化することである。
【0319】
ツリーを使用するこの方法は、2つの主な利点を有し、すなわちツリーは安価に評価することができ、ツリーは人間による解釈が容易である(説明可能性の向上)。
【0320】
決定ツリーを、C4.5などのアルゴリズムまたは回帰ツリー学習のためのアルゴリズムを使用して、(例えば、シミュレーションまたはCCTVからの)現実世界の運転挙動データまたはシミュレートされた運転挙動データに基づいて構築することができる。例えば、バイナリ特徴(テスト条件)の集合を指定することができ、次いで、ツリー学習アルゴリズムは、特定の目標について記録されたグラウンドトゥルースデータに鑑みて、特徴および部分スコアの最適な部分集合を発見する。
【0321】
目標からの軌道の予測
所与の目標に対する車の可能な軌道および関連の確率を予測するために、逆計画に使用されるものと同じA*探索法を使用することができる。最適な計画を発見した後にA*を終了するのではなく、代わりに固定時間予算が課され、アルゴリズムは、計画の組を関連のコストと共に計算することを許可される(おそらくは、いくつかの固定数までの計画について)。A*探索が目標に到達するノードを発見すると、対応する計画が計画の組に追加される。軌道は、計画内の操縦によって与えられる部分軌道を接続することによって計画から生成される。
【0322】
計画から抽出された軌道の分布を、ソフトマックス分布(軌道モデル)を使用して
【数9】
【0323】
と計算することができ、ここで、T(n)は目標までのn番目の完全な軌道であり、Cは軌道T(n)のコスト(平滑化後の全体コスト)であり、βは軌道T(n)のスケーリング係数である(上述したように、表記T(n)は、所与の操縦Mの部分軌道Tと区別するために、目標までのn番目の完全な軌道に使用される)。これは、最適により近い軌道がより可能性が高いという仮定をエンコードする。スケーリング係数を使用して、観測データに基づいて特定の軌道の重みを減らすことができ、すなわち軌道予測モデルを関連する例で訓練することができる。あるいは、一定のスケーリング係数(例えば、1という値)を使用することもできる。
【0324】
上記のソフトマックス軌道モデルを、RRTを介して取得された軌道モデルの代替として使用することができる。
【0325】
逆計画と同様に、そのような軌道の組は、n個の最も可能性が高い現在の操縦などの何らかの部分集合に焦点を合わせて、各々の予測された現在の操縦について生成される。A*は、現在の操縦の完了後に始まり、最終軌道は、現在の操縦の残りを含む。
【0326】
これは、単一の最適軌道ではなく、さまざまなもっともらしく思われる軌道を予測し、これは、複数の軌道が(ほぼ)最小コストを達成するが、自車両の部分において異なる挙動を必要とする可能性がある異なる予測をもたらす状況が存在するため、有益である。
【0327】
目標認識とMCTSとの統合
次に、目標認識を上記のMCTS操縦計画プロセスと統合するための具体的な機構を説明する。この組み合わせは、一般的な相互作用認識操縦プランナを提供する。
【0328】
現在の操縦および目標のサンプリング
図12が、逆計画の結果をMCTSのロールアウトの一部として適用することができる機構の概略図を示している。これは、上述の図15に関連して上述した原理を適用し、MCTSは、他のエージェントに関する確率論的予測の異なるサンプリングで複数回実行される。
【0329】
操縦検出器1102は、上述したやり方で対象アクターの現在の操縦の確率分布を検出する。各々の操縦M∈M(Mは利用可能な操縦の有限集合である)について、これは、観測された低レベルのトレースτに鑑みた対象アクターがその操縦を現時点において実施している確率、すなわちP(M│τ)をもたらす。
【0330】
各MCTSの超反復は、以下のように始まる。他の各車両について:
1.一式の予測された現在の操縦およびそれらの確率から、現在の操縦をサンプリングする。すなわち、P(M│τ)に基づいて現在の操縦Mをサンプリングする(ブロック1104、図12)。
【0331】
2.サンプリングされた現在の操縦に対応する目標後方P(G│O))から目標をサンプリングする。すなわち、サンプリングされた現在の操縦M(観測Oの一部を形成すると考えることができる)で上述の逆計画のステップを適用する。
【0332】
これらのサンプル、すなわちサンプリングされた現在の操縦Mおよびサンプリングされた目標Gは、MCTSプロセスの超反復の全体にわたって使用される。上記のステップ1および2は、各MCTS超反復反復の開始時に実行され、その超反復におけるツリーのすべてのノード(ルートノートから末端ノードまで)に適用される。
【0333】
図12において、短縮表記P(G│M)およびP(G│M)が、現在の操縦MおよびMのそれぞれに鑑みた目標事後を指して使用され、観測値Oが、単に現在の操縦よりも広範囲(例えば、以前の操縦のシーケンスを包含する)であり得ることに留意されたい。この表記を使用して、上記のステップ1で操縦Mがサンプリングされる場合、ステップ2で目標事後P(G│M)がサンプリングされる一方で、Mがサンプリングされる場合、目標事後P(G│M)が使用される。
【0334】
組み合わせられた事後からのサンプリングは、一貫性のないロールアウトを防止する。例えば、自動車が2つの可能な目標および2つの予測される現在の操縦を等しい確率で有する状況を考える。第1の操縦のための目標事後が、すべての確率を第1の目標に置く一方で、第2の操縦のための目標事後は、すべての確率を第2の目標に置く。したがって、組み合わせられた目標事後は、両方の目標に等しい確率を置く(対照的に、組み合わせられた目標事後から目標をサンプリングし、次いで現在の操縦をサンプリングする場合、サンプリングされた目標への軌道が存在しない現在の操縦に行き着く可能性がある(例えば、第1の操縦から第2の目標への経路が存在しない))。
【0335】
軌道サンプリングによる単一エージェントMCTS
他の各車のサンプリングされた現在の操縦および目標に鑑みて、それらの運動軌道が、予測された軌道および確率の関連する組からサンプリングされる。これらの軌道は、ロールアウトに沿った各車の動きを予測するために使用される。
【0336】
自己計画は、現在の状態において適用可能なマクロアクションを含む閉ループ操縦の組にわたって行われる。多くの場合、自車の目標を達成するには、単一のマクロアクションで充分であり得る。目的は、計画時に可能な限り早くそのようなマクロアクションを見つけることである。単純な手法は、マクロアクションが常に最初に試行されるように操縦の組を順序付けることであり、あるいは、所与の目標に対して、その目標を通常達成するマクロアクションを返す「最良の第1の推測」関数を提供することができる。マクロアクションが現時点において適用可能でない場合(例えば、自車が中央車線にあるときの左脱出)、理想的には、プランナはそれを適用可能にするやり方を迅速に見つけるべきである(例えば、最初に基本の左車線変更の操縦を使用し、次いで左脱出のためのマクロアクションを使用する)。
【0337】
自車両のための操縦を選択した後に、環境は、操縦の終了まで前方にシミュレートされる。これは、自車両と同じ時点までの他の車両の軌道の前方シミュレーション、ならびに環境内の任意の他のモデル化されたプロセスを含む。衝突チェッカが、前方シミュレーションの最中に自車両が他の車両のいずれかと衝突するかどうかをチェックするために適用される。衝突が存在する場合、探索ツリー内のその分岐は直ちに「切断」される(すなわち、もはや調査されない)。
【0338】
MCTSは、以下の箇所で定義されるコスト関数を使用する。MCTSが目標を達成する計画のみを生成することを保証するために、コスト関数は、ロールアウトが目標に到達した場合にのみ適用される。より正確には、コスト関数は、速度平滑化を適用した後に、ロールアウトにおける操縦によって生成された軌道に適用される。次いで、平滑化された軌道の結果としてのコストが、探索ツリーに伝播される。したがって、MCTSは、目標を達成する実現可能な計画のみを探索し、その中で最良の計画を探索する。
【0339】
マクロアクションの使用は、成功した計画が典型的には1~5つの操縦(マクロアクションを含む)を含むことを意味する。したがって、探索を高速化するために、MCTS探索を深さ5でカット(終了)することができる。
【0340】
目標認識を伴う単一エージェントMCTSの擬似コードアルゴリズムが、付録Bに提示される。
【0341】
速度向上
可能な速度向上として、以下が挙げられる。
【0342】
・例えばロールアウトの生成および統計の更新に複数のスレッドを使用するなど、MCTSにおいてさまざまな程度のマルチスレッドを使用することが可能であり得る。
【0343】
・計画品質の低下という犠牲にて、閉ループ操縦ではなく開ループ操縦について計画することにより、計算コストを低減できる。MCTS計画後に実行される操縦は、常に閉ループである。
【0344】
コスト関数
コスト関数が、運転軌道のコストを定量化するために、逆計画およびMCTSに使用される。軌道Tは、車両が辿るべき基準経路と、経路に沿った目標速度のシーケンスとで構成される。コスト関数は、軌道を入力として、実数値コストC(T)を返す。コスト関数は、任意の所与の軌道を評価するために安価であるべきであり、計算コストの増加は最大でO(│T│)であるべきである。
【0345】
コストは、例えば、いくつかのコスト要因の加重(線形)和として定義されてよい。これらには、以下が含まれる。
【0346】
・時間:車が軌道を完了するのにどれくらいの時間を要するか?(注意:これは、目標速度にも依存するため、基準経路の長さと同じではない)。
【0347】
・曲率:起動がどの程度「湾曲」しているか?曲率が小さくなるにつれ、コストは指数関数的に高くなるはずである。角速度を代用として使用することができる。
【0348】
・速度変化:速度が軌道に沿ってどの程度変化するか?変化率が大きい(例えば、突然の減速)と、コストは指数関数的に高くなるはずである。
【0349】
・「安全性」:安全性の代用として、指数関数的に高くなる「コスト係数」を、軌道における任意の他の車両までの最小距離の関数として計算することができる(距離しきい値を超える車両は無視される)。すなわち、最小距離が小さくなるにつれてコストが指数関数的に増加する。
【0350】
これらのコスト要因のほとんどは、軌道を通って時間的に前に進み、古い/新しい位置ベクトルおよび目標速度に基づいていくつかの単純な計算を行うことによって、反復的に計算することができる。コスト要因の重み付けを、経験的試験に基づいて調整する必要があるであろう。
【0351】
正規化
さまざまなコスト要因の比較可能性を確保するために、すべてのコスト要因を同じ範囲[0,1]に正規化することが有用である。また、重みが負ではなく、合計が1になるように、重み付けを正規化する役に立つ。まとめて、これらの正規化ステップは、C(T)が[0,1]にあることを保証し、これは、コストが[0,1]の範囲にあるというUCB/UCTにおける仮定を満たす。
【0352】
コスト要因が最小/最大関数(例えば、最大ヨーレート、他車までの最小距離)として定義される場合、正規化をより容易に達成することができる。
【0353】
代替のより安価な手法は、コストを軌道ではなく操縦に関連付けることである。例えば、計画のコストを、計画内の基本操縦の数として定義する。これは、操縦によって生成された軌道に変動がなく、あるいはほとんどない場合(例えば、常に同じポリスプラインに従う車線変更)に、適切な手法であり得る。しかしながら、操縦が軌道の束を生成する場合や、軌道が車両の構成などの動的な態様に依存する可能性がある場合(例えば、近接車両の後方での車線変更と、それほど近接していない車両の後方での車線変更)に、同じ操縦であっても状況に応じて著しく異なる軌道をもたらす可能性があるため、操縦に固定のコストを割り当てることは適切でない可能性がある。
【0354】
典型的なシナリオ
ここで、3つの典型的なシナリオを説明して、目標の概念を示し、目標認識が自車の決定をどのように知らせることができるかを強調する。さらに、これらのシナリオは、提案された方法のいくつかの境界線の状況を示す。3つのシナリオは、それぞれ図14A図14Cに表されている。
【0355】
シナリオ1:遅いトラックを追い越す車両(図14A
車両2が、低速で移動しているトラック1の後方を走行している。G1で示されている車両2の1つの目標位置が示されている。このシナリオにおいて、車両2がトラックを追い越すために自車の車線へと移動して来る可能性がある。
【0356】
近視眼的なベースラインだけでは、車両2について車線維持の操縦にほとんど/すべての事後確率を置くことになり、将来の操縦について推論しないがゆえに、車線変更が差し迫っている可能性を予測できない。
【0357】
車両2が自車と同様のコスト関数(すなわち、時間因子を含む)を使用すると仮定し、車両2についてG1を達成するための逆計画を行うことで、本方法は、車両2の車線変更の操縦およびその後の制限速度での車線維持を予測することができる。車両2が自車から充分に離れている場合、この予測は、おそらくは自車の反応を生じさせない。しかしながら、(図中のように)車両2が自車に近い場合、自車は、減速して車両2までの距離を保つことを決定することができる。
【0358】
シナリオ2:出口へと車線変更する車両(図14B
他の車両の2つの可能な目標G1およびG2が、道路レイアウトに基づいて生成される。車両2についてはG1/G2の両方が可能であるが、車両3についてはG1のみが可能である。
【0359】
車両2が右車線変更を行っていることが観測される。車両2および可能な目標の各々についての逆計画に基づき、車線変更はG2を示唆している可能性が高い。車線変更後に、G2の最適な計画は、減速(速度平滑化による)を伴う車線維持およびその後の右折を定めている。このシーケンスを考慮し、自車両の目標がG1であると仮定すると、MCTSプランナは、車両2の減速が(自車両の減速も強いるがゆえに)自車両の目的関数にとってあまりにも不利であると認識でき、したがって車両2の車線変更の完了後に左に車線変更することを決定することができる。
【0360】
近視眼的なベースラインは、車両2が右車線に車線変更していることだけは認識できるが、その後の減速を予測することができない。ベースラインは、それでもおそらくは車線変更を実行するが、それは、減速がすでに進行してからに限られる。
【0361】
シナリオ3:待機中の車両の前方を移動する(図14C
他車の4つの可能な目標が、道路レイアウトに基づいて示されている。自車は、交差点で待機している。
【0362】
車両3の減速は観測されず、G2の可能性が最も高いことを示している(しかしながら、強い制動という犠牲を伴うが、G3/G4も依然として可能である)。
【0363】
車両2は図示の位置で停止しており、G3に到達するための計画に一致している:車両3が接近中であり、一定の速度を使用しているため、車両2は停止し、車両3の通過を待ち、その後にG3へと右折しなければならない。対照的に、図示の位置での停止は、G1またはG4のいずれも示唆していない(G2は車両2にとって有効な目標ではない)。
【0364】
推論された目標および計画のこの集まりに鑑み、自車は、車両2が車両3の通過を待っている間に道路へと安全に左折することができると認識することができる。
【0365】
近視眼的なベースラインは、車両2の停止の操縦を認識するが、その後の操縦を予測することができない。
【0366】
データ駆動型挙動モデル
上述したように、現実的なシミュレーションを提供するために、アクターの学習された挙動をMCTSシミュレーションにおいて使用することができる。そのような生成挙動モデルを、逆計画と組み合わせて使用、または逆計画の代替として使用することができ、すなわち、学習された生成挙動モデルは、逆計画を実施することなく使用することが可能である(例えば、1つ以上の軌道を、目標、操縦、などを推論する必要なく、学習済みモデルを使用して単純に生成することが可能である)。上述したように、そのようなモデルの例は、空間マルコフモデルおよびニューラルネットワークを含む。
【0367】
例えば、生成挙動モデルは、監視されている運転領域内の複数の空間領域に基づく空間マルコフモデル(SMM)であってよく、各空間領域に関連する推定占有確率および複数の空間領域ペアの各々に関連する推定遷移確率のうちの少なくとも1つが計算される。
【0368】
空間領域は、監視されている運転領域に重ねられたグリッドのセルであってよい。これは、手動で注釈付けされても、あるいは(例えば)マップから決定されてもよい監視されている運転領域内の道路構造および/または他の構造を考慮に入れることができる。
【0369】
表記pは、空間領域iの推定占有確率を意味し、pi,jは、空間領域iから空間領域jへの遷移の推定確率を意味する。SMMを用いて、p(T│Model)を、モデルModelに鑑みて運転経路(軌動)Tが通過する一連のグリッドセル(または、他の空間領域)に関連する占有確率および/または遷移確率に基づいて決定することができる。
【0370】
運転挙動データは、画像データおよび/または運動センサデータなどの任意の形態のセンサデータを含むことができる。データは、任意の適切なやり方で収集可能であるが、CCTV(閉回路テレビ)システムが、とりわけ良好なCCTVカバレッジを有する都市環境において、運転挙動データを収集するきわめて便利な手段を提供する。例えば、本開示は、複雑な運転の文脈(例えば、複雑なラウンドアバウト、多車線合流点、見通しの悪い曲がり角、など)からのCCTVが運転挙動データの豊富な供給源を提供すると理解する。
【0371】
以下の例では、CCTV画像データなどの現実の運転挙動データが、訓練用のモデルの生成および運転中のアクターの挙動の予測の両方に使用される。
【0372】
現実のデータを、或る時間期間にわたって一定の領域について収集することができる。データ収集の期間は、例えば、その領域を通る交通の動きの正確な表現を生成しようと試みるために、24時間であってよい。位置は、合流点など、小さくてよい。データ収集の可能性を最大にするために、通過する交通の量が多い領域を選択することができる。
【0373】
道路レイアウト(運転の文脈)に関するデータが収集される。これは、HD(高精細)マップなどのマップからのものであってもよく、あるいはCCTV映像から収集され、手動または自動のいずれかで入力されてもよい。例えば、CCTV映像に手動で注釈を付けることができる。
【0374】
収集されたデータ内のアクターの位置および動きに関する情報が、収集されたデータから抽出され、通常の運転挙動の空間マルコフ(状態遷移)モデル(SMM)を構築するために使用される。状態遷移モデルは、通常の挙動の単純化された表現を提供するために使用することができる離散セル近似モデルである。これを達成するために、CCTV映像に取り込まれた位置にグリッドを適用することができる。このグリッドは、セル当たり5~10cmの範囲であってよい。
【0375】
次いで、各々のグリッドセル内のエージェントの挙動を、対象の時間期間にわたって分析することができる。この分析において抽出される情報は、例えば、収集されたデータの時間期間における各々のグリッド要素の占有の頻度、および各々の要素からその周囲の要素への時間期間中に行われた遷移の回数を含むことができる。次いで、この情報を使用して、占有確率推定値pを各々のグリッドセルに割り当て、遷移確率推定値pi,jをグリッドセルi、jの各ペアに割り当てることができる。
【0376】
例として、図16が、CCTVカメラの視野内の道路レイアウトについて決定されたSMMを示している。この場合の道路レイアウトは、固定グリッドが重ね合わせられた比較的複雑な合流点の一部である。グリッドの2つのセルが、一例として、参照符号iおよびjで示され、現実世界の交通の観測を通じて決定された占有確率pおよびpを有する。セルiとjとの間の遷移確率pi,jは、アクターがセルiからセルjに直接移動する確率であり、やはり観測を通じて決定される。
【0377】
理解されるように、上記の説明は、予想される車両挙動をモデル化するための適切なモデルのいくつかの例のみを考慮している。適切なモデルの他の例は、マルコフ決定プロセスモデルおよびデータに対する報酬を含む。この場合、訓練が、マルコフ決定プロセスモデルをフィッティングしてデータに報酬を与えることによって実行される。
【0378】
ハードウェアレベルにおいて、AVの車載コンピュータシステムA1は、上記の機能を実行するためのアルゴリズムを実行することができる実行ハードウェアを備える。実行ハードウェアは、汎用または専用の実行ハードウェア、あるいはそれらの任意の組み合わせであってよいが、一般に、これらに限られるわけではないがアクセラレータ(例えば、GPU)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブルなハードウェア、ならびに/あるいは特定用途向け集積回路(ASIC)などの専用ハードウェアと連携して動作することができる中央処理装置(CPU)などの1つ以上のプロセッサを備える。高度で複雑なML/AIモデルを使用することが多い複雑なデータ処理動作を、安全かつ信頼できる動作を保証するための充分な精度および速度で(多くの場合、リアルタイムで)実行する必要があることから、車載コンピュータシステムは、おそらくは該当のモデルおよびアルゴリズムを実装するようにあつらえられた専用のコンピュータハードウェアによって高度に洗練されてよい。とくにはAIの分野における革新の進行の速度に鑑みて、ハードウェアレベルおよび機能/ソフトウェアレベルの両方におけるAV車載コンピュータシステムA1のアーキテクチャが、多くの形態をとることができることが理解されよう。本明細書において、データ処理コンポーネントA2、予測コンポーネントA4、およびAVプランナA6などのコンピュータシステムにおいて具現化される機能コンポーネントなどは、コンピュータシステムによって実現される特定の機能、すなわち状況に適したコンピュータシステムの何らかの汎用および/または専用ハードウェア(の組み合わせ)によって実行される機能の高レベル表現である。
【0379】
添付A-シナリオ記述例
{
"road-layout" : [
{
"lanes" : [
{"index" : -1, "width" : 3.65, "left" : "double", "right" : "double"}
],
"midline" : [
[25.0, 30.0],
[26.46, 33.53],
[30.0, 35.0],
[33.53, 33.53],
[35.0, 30.0],
[33.53, 26.46],
[30.0, 25.0],
[26.46, 26.46],
[25.0, 30.0]
]
},
{
"lanes" : [
{"index" : -1, "width" : 3.65, "left" : "double", "right" : "double"},
{"index" : 1, "width" : 3.65, "left" : "double", "right" : "double"}
],
"midline" : [
[30.0, 26.0],
[30.0, 25.0],
[30.0, 20.0],
[30.0, 15.0],
[30.0, 10.0],
[30.0, 5.0]
]
},
{
"lanes" : [
{"index" : -2, "width" : 3.65, "left" : "double", "right" : "double"},
{"index" : -1, "width" : 3.65, "left" : "double", "right" : "double"}
],
"midline" : [
[26.0, 30.0],
[25.0, 30.0],
[20.0, 30.0],
[15.0, 30.0],
[10.0, 30.0],
[5.0, 30.0]
]
},
{
"lanes" : [
{"index" : 1, "width" : 3.65, "left" : "double", "right" : "double"}
],
"midline" : [
[34.0, 30.0],
[35.0, 30.0],
[40.0, 30.0],
[45.0, 30.0],
[50.0, 30.0],
[55.0, 30.0]
]
},
{
"lanes" : [
{"index" : -1, "width" : 3.65, "left" : "double", "right" : "double"}
],
"midline" : [
[30.0, 34.0],
[30.0, 35.0],
[30.0, 40.0],
[30.0, 45.0],
[30.0, 50.0],
[30.0, 55.0]
]
}
]
}
添付B
図1
図2
図3
図4
図5A
図5B
図5C
図6
図7A
図7B
図7C
図8
図9
図10
図11
図12
図13
図14A
図14B
図14C
図15
図16