JP2023528078A - 自律エージェントの不確実性推定に基づく決定論的軌道選択のための方法およびシステム - Google Patents

自律エージェントの不確実性推定に基づく決定論的軌道選択のための方法およびシステム Download PDF

Info

Publication number
JP2023528078A
JP2023528078A JP2022574686A JP2022574686A JP2023528078A JP 2023528078 A JP2023528078 A JP 2023528078A JP 2022574686 A JP2022574686 A JP 2022574686A JP 2022574686 A JP2022574686 A JP 2022574686A JP 2023528078 A JP2023528078 A JP 2023528078A
Authority
JP
Japan
Prior art keywords
uncertainty
trajectory
learning
agent
trained
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022574686A
Other languages
English (en)
Other versions
JP7530999B2 (ja
Inventor
ナラング,ガウタム
クマヴァット,アペクシャ
ナラング,アルジュン
ティエウ,キン
スマート,マイケル
イリエフスキー,マルコ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gatik AI Inc
Original Assignee
Gatik AI Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gatik AI Inc filed Critical Gatik AI Inc
Publication of JP2023528078A publication Critical patent/JP2023528078A/ja
Application granted granted Critical
Publication of JP7530999B2 publication Critical patent/JP7530999B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0011Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/20Data confidence level

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Game Theory and Decision Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

不確実性推定に基づく決定論的軌道選択のためのシステムは、1または複数のコンピューティングシステムのセットを含む。決定論的軌道選択のための方法は、入力のセットを受け取るステップと、出力のセットを求めるステップと、入力のセットの何れかまたはすべておよび/または出力のセットの何れかまたはすべてに関連する不確実性パラメータを求めるステップと、不確実性パラメータを評価し、それに応じて任意選択的にプロセスおよび/またはアクションをトリガーするステップとを含む。【選択図】図16

Description

本発明は、概して自律車両の分野に関し、より具体的には、自律車両の分野における不確実性推定を用いた決定論的軌道選択のための新規かつ有用なシステムおよび方法に関する。
関連出願の相互参照
本出願は、2020年6月5日に出願された米国仮出願第63/035,401号、並びに、2020年7月23日に出願された米国仮出願第63/055,794号の利益を主張するものであり、その各々は、この引用によりその全体が援用されるものとする。
システムが運転手を排除してレベル4の自律性を達成するには、システムがそれ自体の障害を検出し、その運行設計領域(ODD)を自己実現することができる必要がある。自律運転のための現在のシステムおよび方法の多くは、データ駆動型アプローチおよびディープニューラルネットワークを使用している。これらのアプローチは、人間の行動を再現する(例えば、図11に示すような自然な運転軌跡を作成する)上で有利であるが、これらのアプローチには多くの限界があり、例えば、いくつかの古典的方法(例えば、カルマンフィルタ)と比べると、出力の確実性の正確な推定を本質的に提供することはない。さらに、多くのディープネットワークは、入力空間の摂動に対する全体的なロバスト性に欠けている。このため、安全性が重要なアプリケーションに機械学習ベースの方法を実装することは困難である。何故なら、入力データがトレーニングセットの分布の外にあり、それにより未定義の車両の動作が生じるリスクが常に存在するためである。そのため、学習ベースの方法は、新しいシーンが提示されたときに警告することなく、かつ/または出力の不確実性を正確に理解することなく、機能しなくなる可能性がある。古典的なフォールバックまたは緊急ルーチンが応答としてトリガーされ得るが、これは、機能不全が知られていることを必要とし、道路上の他の運転手に対して混乱または危険を及ぼす可能性がある。
このため、自律車両の分野では、自律エージェントの不確実性推定に基づく決定論的軌道選択のための改良された有用なシステムおよび方法を作成する必要性がある。
図1は、決定論的軌道選択のためのシステムの概略図である。 図2は、決定論的軌道選択のための方法の概略図である。 図3A~図3Dは、意思決定および軌道生成のためのシステムの概略的な態様を示している。 図4は、分布外検出器、学習済みモデルおよび古典的フォールバック機構の概略的な態様を示している。 図5は、モジュールのセット(例えば、知覚モジュール、位置特定モジュール、学習モジュールの第1のセット、学習モジュールの第2のセットなど)の各々に対する不確実性推定アーキテクチャの概略的な態様を示している。 図6は、敵対的生成ネットワーク(GAN)を使用する分布外検出器トレーニングの概略的な態様を示している。 図7は、道路に倒れた木を示す分布外データの一例を示している。 図8は、より高い認識論的確実性を示すルート上のカメラ(例えば、前方望遠カメラ)からの同じ入力フレームに対して報告されたバウンディングボックスの様々な高さを示している。 図9A~図9Cは、エージェントが建設区域内で動的な車両障害物に遭遇する具体例を示している。 図10A~図10Cは、センサの知覚喪失の具体例を示している。 図11は、プログラムされた軌道に対する自然な軌道を示している。 図12は、緊急プランナを含む計画モジュールの高レベルアーキテクチャを示している。 図13は、システムの概略的な態様を示している。 図14は、システムの概略的な態様を示している。 図15Aおよび図15Bは、固定ルート配送における自律車両のユースケースの一態様、並びに、車両によって駆動される固定ルートの概略図を示している。 図16は、エージェントの軌跡決定の一態様を示している。
本発明の好ましい実施形態の以下の説明は、本発明をそれらの好ましい実施形態に限定することを意図するものではなく、当業者が本発明を製造および使用できるようにすることを意図するものである。
1.概要
図1に示すように、不確実性推定に基づく決定論的軌道選択のためのシステム100は、1または複数のコンピューティングシステムのセットを含む。追加的または代替的には、システムは、自律エージェント(本明細書では同等に、自律車両および/または自己車両ともいう)、車両制御システム、センサシステム、および/または他の任意の適切なコンポーネントまたはコンポーネントの組合せのうちの何れかまたはすべてを含むことができるか、かつ/またはそれらの何れかまたはすべてと相互作用することができる。
追加的または代替的には、本システム100は、引用によりその全体が本明細書中に援用される2020年12月9日に出願された米国出願第17/116,810および2020年12月17日に出願された米国出願第17/125,668号に記載のシステム、コンポーネント、実施形態および/または例の何れかまたはすべてを含むことができるか、かつ/またはそれらの何れかまたはすべてと相互作用することができる。
図2に示すように、決定論的軌道選択のための方法200は、入力のセットを受け取るステップS210と、出力のセットを決定するステップS215と、入力のセットの何れかまたはすべておよび/または出力のセットの何れかまたはすべてに関連する不確実性パラメータを求めるステップと、不確実性パラメータを評価し、それに応じて任意選択的にプロセスおよび/またはアクションをトリガーするステップS230とを含む。追加的または代替的に、本方法200は、他の任意の適切なプロセスおよび/またはプロセスの組合せを含むことができる。
追加的または代替的には、本方法200は、引用によりその全体が本明細書中に援用される2020年12月9日に出願された米国出願第17/116,810および2020年12月17日に出願された米国出願第17/125,668号に記載の方法、プロセス、実施形態および/または例の何れかまたはすべてを含むことができるか、かつ/またはそれらの何れかまたはすべてと相互作用することができる。
本方法200は、好ましくは、上述したシステム100で実行されるが、追加的または代替的には、1または複数の他の任意のシステムで実行することができる。
2.利点
不確実性推定を使用する決定論的軌道選択のためのシステムおよび方法は、現在のシステムおよび方法を上回るいくつかの利点を与えることができる。
第一に、いくつかの態様において、システムおよび/または方法は、方法全体の多数のポイントにおいて、軌道を決定するプロセスに関与する様々な異なるモジュール(例えば、計画モジュール、知覚モジュール、位置特定モジュール、コンテキスト認識学習モジュールなど)により、不確実性値のセットを計算し、不確実性が高過ぎる場合にフォールバック応答(例えば、決定論的軌道の選択)を実行することによって、自律車両がレベル4の自律性を達成し、ルート(例えば、固定ルート)を安全に横断することを可能にするという利点を与える。具体例では、システムおよび方法は、車両の軌道を選択する最終段階として従来のゲートキーパを実装し、これにより、経路プランナ全体が抑制と均衡によって説明可能性を維持することができる。これにより、衝突シナリオが防止されるだけでなく、様々なレベルの不確実性に対して様々なレイヤのフォールバック動作が提供される。
第二に、いくつかの態様では、上述したものに加えて、またはその代わりに、システムおよび/または方法は、ディープラーニングと古典的手法の組合せを含むハイブリッドアーキテクチャを実装し、それにより、ディープラーニングを通じて人間的な軌道を生成しながらも、その出力の確実性の正確な推定を提供するとともに入力空間の摂動に対してロバストであるという古典的利点の両方が与えられる。言い換えれば、学習された方法は「人間のような」軌道を提供することができるが、トレーニングセットの分布からの逸脱を監視する潜在的な能力を有していない。同様に、それらは強力なパフォーマンスを提供するが、安全性の保証は限定的である。逆に、古典的な方法は、人間的ではない軌道を生成し、防御的で低速度のオプションを選択して進行することができない可能性がある。学習された方法は古典的な方法よりも優れていることが多いが、分布外の例によって突然機能しなくなるリスクがあり、例えば、分布外の例によって学習済みモデルが警告なしにクラッシュする可能性があるため、安全性が重要なアプリケーションでは学習済みモデルに頼ることは困難である。具体例では、システムおよび方法が、学習モジュール(例えば、アクション選択のための学習モジュールの第1のセット、軌道選択のための学習モジュールの第2のセットなど)および古典的にプログラムされたモジュール(例えば、ゲートキーパ、コンテキストセレクタ、フォールバック運動プランナなど)の両方を含むアーキテクチャに分布外検出器を実装する。
第三に、いくつかの態様では、上記のものに加えて、または代わりに、システムおよび/または方法は、テストデータがトレーニングデータと同じように分布するという仮定に依存することを必要としないという利点を与え、かつエージェントが安全に運転するために、システムの学習済みモデルがすべての可能性のあるユースケースでトレーニングされるという要件を抑える。その代わりに、システムおよび/または方法は、不確実性を継続的に計算し、必要に応じてアクション(例えば、フォールバック)をトリガーするためにそれらを使用することができる。
第四に、いくつかの態様では、上記のものに加えて、または代わりに、システムおよび/または方法は、固定ルートの限定ODDアーキテクチャによる未知のシナリオの可能性および/または発生を低減するという利点を与え、これによりシステムおよび方法は、何が通常/分布内であるのかをより確実に知ることができる。具体例では、例えば、システムおよび/または方法が、トレーニングされた固定ルートのセットにオーバーフィットし、トレーニングデータおよびテストデータはともに、同じ固定ルートに対応する。これらの例では、これにより、分布外テストデータを高い信頼度で特定することができる。
第五に、いくつかの態様では、上記のものに加えて、または代わりに、システムおよび/または方法は、人間の乗客を運ぶエージェント(例えば、ロボタクシー)のための従来受け入れられていたフォールバック機構を必要としないという利点を与える。これは、例えば、自律エージェントが、トレーニングされたルートにオーバーフィットし、頻繁に停止および/または停車することを許容可能なフォールバック機構として機能することを可能にすることができる。具体例では、例えば、自律エージェントが、固定ルートによって接続された地点間の商品の配送のために使用され、フォールバック機構がトリガーされる場合に、特定のフォールバックに悩まされる人間の乗客はいない。
第六に、いくつかの態様では、上記のものに加えて、または代わりに、システムおよび/または方法は、自律エージェントの軌道を決定するために使用される複数の学習済みモデル(例えば、ディープニューラルネットワーク)のセットの各々に関連する1または複数の不確実性のセットを決定する利点を与え、不確実性のセットが学習済みモデルの出力のセットの各々に付随する。具体例では、それらの不確実性が、一連のモデルが処理されるときに集約され、集約された不確実性が、後続のモデルのパフォーマンスを変更するために使用され、1または複数のモデルの出力を調整し、古典的な運動プランナからのフォールバック軌道の使用をトリガーし、最小リスクのシナリオの実行をトリガーし、かつ/または他の手法で方法200のパフォーマンスに影響を与えることができる。
追加的または代替的には、システムおよび方法は、1または複数の他の任意の利点および/または利点の組合せを与えることができる。
3.システム
図1に示すように、不確実性推定に基づく決定論的軌道選択のためのシステム100は、1または複数のコンピューティングシステムのセットを含む。追加的または代替的には、システムは、自律エージェント(本明細書では同等に、自律車両および/または自己車両ともいう)、車両制御システム、センサシステム、および/または他の任意の適切なコンポーネントまたはコンポーネントの組合せのうちの何れかまたはすべてを含むことができるか、かつ/またはそれらの何れかまたはすべてと相互作用することができる。
システム100は、出力の何れかまたはすべてに関連する不確実性が高過ぎるとみなされる場合(例えば、1または複数の予め設定された閾値のセットを超える場合、検証の制約および/または規則のセットを満たさない場合など)に、フォールバックおよび/またはフェイルセーフの決定(例えば、アクション、軌道など)の実施とともに、軌道生成および検証に関与する処理を実行するように機能する。追加的または代替的には、システム100は、(例えば、制御システムを用いて)自律エージェントを操作し、他の任意の出力を決定し、かつ/または他の任意の適切な入力を他の方法で処理し、かつ/または他の任意の適切な機能を実行することが可能である。
システム100は、好ましくは、(例えば、図3、図12、図13、図14などに示すような)意思決定および軌道生成のハイブリッドアーキテクチャと、任意選択的には、自律エージェント動作に関わる他の任意のプロセスとを実装するシステムを実現するか、かつ/またはそのようなシステムと相互作用するように構成され、ハイブリッドアーキテクチャは、古典的な規則ベースのアプローチおよび機械学習アプローチの両方を実装する。これは、さらに好ましくは、制約および/または構造化されたODD、固定ルート運転フレームワークによって可能になる。これは、車両が最小限のトレーニングデータで検証されたルート上で人間のような運転動作で運転することを可能にしながら、車両の意思決定の説明可能性を維持するように機能する。
好ましい態様では、システムのハイブリッドアーキテクチャが、学習済みモデルのセットを使用して車両の軌道を決定し、ここで、学習モジュール(および任意選択的には方法の他のコンポーネント)に関連する不確実性は、推定されるとともに、古典的にプログラムされたフォールバック(例えば、決定論的軌道の選択)が実施されるべきかどうかを判定するために使用される。追加的または代替的には、システム100は、自律エージェント動作スタック全体の任意の場所に他の学習および/またはプログラムされたコンポーネントを含むことができる。
図15Aおよび図15Bに示すように、第1の態様のセットでは、システム100が、自律短距離(例えば、5~400マイル)のB2B固定ルートアプリケーションで実現される。これらの態様では、自律エージェントが、好ましくは、仕分けセンタから在庫を受け取るが、追加的または代替的には、荷物ハブおよび/または倉庫の在庫を受け取ることができる。その後、エージェントは、好ましくは、仕分けセンタ、マイクロフルフィルメントセンタ、流通センタ、小売店およびローカル配送センタのうちの何れかまたはすべてに在庫を配送し、かつ/またはそれらの間で在庫を配送する。追加的または代替的には、エージェントは、住宅(例えば、顧客の家)、および/または他の任意の適切な場所/施設と相互作用することができる。
追加的または代替的には、システム100は、1または複数の他の任意の適切な方法で実現することができる。
3.1 システム-コンポーネント
システム100は、コンピューティングシステムを含み、不確実性推定(例えば、分布外検出を含む)、意思決定、軌道生成、フォールバック動作計画(例えば、古典的な運動プランナによるフォールバック軌道の生成)、緊急計画、軌道の妥当性検証、および/または自律エージェントの他の任意のプロセスの何れかまたはすべてを実行するように機能することができる。追加的または代替的には、コンピューティングシステムは、知覚、位置特定(例えば、位置特定モジュールにおける車両および/または周囲の物体の位置特定)、予測(例えば、予測モジュールにおける車両および/または車両の周囲の物体の経路予測)、情報の記憶、および/または他の任意の適切な機能の何れかまたはすべてを実行するよう機能することができる。
コンピューティングシステムは、好ましくは、タスク実行の高い同時並行性、低いレイテンシ、高いデータスループット、および/または他の任意の適切な利点の何れかまたはすべてを可能にする集中並列コンピューティングを実行するように構成される。追加的または代替的には、コンピューティングシステムは、他の任意のコンピューティングおよび/または処理(例えば、非集中コンピューティング、分散コンピューティング、シリアルコンピューティングなど)を実行するように構成することができ、かつ/または他の任意の適切な利益を与えることができる。
追加的または代替的には、システムおよび/またはコンピューティングシステムを他の方法で構成および/または設計することができる。
コンピューティングシステムは、好ましくは、自律エージェントに少なくとも部分的に搭載される(例えば、自律エージェント内に統合される)。
好ましい変形例では、自律エージェントが自律車両を含み、好ましくは、完全自律車両であるか、かつ/または完全自律車両として操作可能であるが、追加的または代替的には、半自律または完全自律車両、遠隔操作車両および/または他の任意の適切な車両とすることができる。自律車両は、好ましくは、自動車(例えば、乗用車、無人車両、バス、シャトル、タクシー、ライドシェア車両、トラック、セミトラックなど)である。追加的または代替的には、自律車両は、船舶(例えば、ボート、水上タクシーなど)、航空車両(例えば、飛行機、ヘリコプタ、ドローンなど)、陸上車両(例えば、2輪車、自転車、オートバイ、スクータなど)、および/または他の任意の適切な車両および/または輸送装置、自律機械、自律装置、自律ロボットおよび/または他の任意の適切な装置のうちの何れかまたはすべてを含むことができる。
コンピューティングシステムは、追加的または代替的に、クラウドコンピューティングシステムなど、自律エージェントから離れた場所に配置することができる。リモートコンピューティングシステムは、好ましくは、(例えば、オンボードコンピューティングシステムから情報を収集するために、オンボードコンピューティングシステムに更新モデルを提供するために)オンボードコンピューティングシステムと通信するが、追加的または代替的には、他の任意の適切なコンポーネントと通信することができる。
コンピューティングシステムは、好ましくは、アクティブ冗長サブシステムを含むが、追加的または代替的には、他の任意の適切なサブシステムを含むことができる。
これを可能にするために、コンピューティングシステムは、好ましくは、モジュール形式で少なくとも部分的に設計され、本明細書では学習モジュールともいう(本明細書では同等に、学習エージェントまたは学習モデルともいう)モジュール式コンピューティングコンポーネントのセットを含み、その各々が、予め定義された入力および出力に関連付けられている。各コンピューティングコンポーネントは、データ入力のセットを処理して、出力のセットを生成するように構築された特定のアルゴリズムモジュールを含む。コンピューティングシステムは、任意選択的に、それらのコンポーネントから依存関係を抽出し、それらをすべて一緒に(例えば、有向非巡回グラフなどのトポロジカル順序付けプロセスで)リンクする、ミドルウェアフレームワークを含むことができる。例えば、実行時に、フレームワークは、上述した予め定義されたコンポーネントを取り込み、センサからの融合データと組み合わせて、軽量のユーザレベルのタスクを作成する。その後、各タスクは、リソースの利用可能性とタスクの優先順位に基づいてスケジューリングされ、最適化されたスレッドとして実行される。
追加的または代替的には、システムおよび/またはコンピューティングシステムを他の方法で構成および/または設計することができる。
1または複数のコンピューティングシステムおよび/またはシステムの他の任意のコンポーネントは、好ましくは、モジュールのセットを含み、モジュールのセットと相互作用し、かつ/またはモジュールのセットを実装し、そのモジュールのセットには、マッピングモジュール、知覚モジュール(例えば、ユーザの環境における静的および/または動的物体に関連する情報を収集および/または決定し、自律エージェントのコンテキストを決定するモジュールなど)、予測モジュール、位置特定モジュール、計画モジュール(例えば、学習モジュールの第1のセットおよび学習モジュールの第2のセットなどを含む)、ルーティングモジュール、制御モジュール、1または複数の他の任意のモジュール、および/またはモジュールの任意の組合せ(例えば、位置特定・マッピングモジュール、知覚・予測モジュールなど)のうちの何れかまたはすべてが含まれ得る。
モジュールのセットの1または複数は、好ましくは、モジュールの1または複数のコンポーネントの機能を記述する、レイヤのセットに編成される。計画モジュール(例えば、図14に示すようなコンテキストを考慮した意思決定および軌道生成のための計画モジュール)は、例えば、好ましくは、エージェントの軌道を生成する学習済みモデル(本明細書では同等に、学習エージェント、学習モジュール、学習マイクロモジュール、ディープネットワークおよび/または他の任意の適切な用語も用いられる)のセットを含むパフォーマンスレイヤと、プログラムされたフォールバック軌道を生成するフォールバックの古典的な運動プランナを含むフォールバックレイヤと、(例えば、フォールバックの古典的な運動プランナが信頼できない場合に)車両のための最小リスクの動きおよび/またはアクションおよび/または軌道を規定することができる緊急プランナを含むフェールセーフレイヤと、パフォーマンスレイヤからの学習軌道およびフォールバックレイヤからのプログラムされた軌道から選択し、任意選択的に(例えば、どちらの軌道も安全でない場合に)緊急プランナをトリガーするゲートキーパを含む検証レイヤとに編成される。特定の例では、計画モジュールは、エージェントのための学習軌道を生成する(例えば、後述する)学習済みモデルのセットを含むパフォーマンスレイヤと;1または複数のフォールバックレイヤ(例えば、パフォーマンスレイヤ全体のため、パフォーマンスレイヤ内の各学習済みモデルのため、計画モジュールのため、他のモジュールのためのフォールバックレイヤなど)であって、パフォーマンスレイヤの入力および/または出力の信頼性が低い場合に、スタックがフォールバックできるアルゴリズムの従来の手法でプログラムされたセットを提供するフォールバックレイヤと;周囲の世界の不確実性が非常に高い極端な場合またはモジュールの何れかが完全に機能しない極端な場合に車両が使用する最終的なレイヤとして機能するフェイルセーフレイヤと;前のレイヤからの出力を検証してその特定のモジュールの最終的な安全な検証済み出力を提供するゲートキーパとして機能する最終検証レイヤとを含む。
追加的または代替的には、計画モジュールは、他の任意のレイヤに編成することができ、かつ/または他の任意のコンポーネントを含むことができ、それらレイヤは、他の方法で配置することができ、かつ/または他の任意のコンポーネントを含むことができ、他の任意のモジュールは、それらまたは他のレイヤおよび/またはコンポーネントを含むことができ、かつ/またはシステム100は、他の方法で編成されることができる。
パフォーマンスレイヤの学習済みモデルのセットは、好ましくは、(例えば、図14、図3A~図3Dに示すような)データ駆動型の学習済みモデルのセットであり、それらは、すべてのシナリオを処理することができない予め定義された規則のセットのみを実装する代わりに、エージェントが人間の運転の微妙な差異を捉えることができるように機能する。学習済みモデルの各々は、好ましくはディープニューラルネットワークであるが、追加的または代替的には、他の任意の機械学習モデルおよび/またはアルゴリズムを含むことができる。
好ましい態様(例えば、図3A~図3Dに示すような態様)では、パフォーマンスレイヤが、(例えば、コンテキストに基づいて)エージェントのアクションを決定するように機能する複数の学習済みモデルの第1のセット(学習済みモデルの第1のセットの各々は、本明細書ではディープデシジョンネットワークともいう)と、(例えば、第1の学習済みモデルから)選択されたアクションに基づいてエージェントの軌道を決定するように機能する複数の学習済みモデルの第2のセット(第2の学習済みモデルのセットの各々は、本明細書ではディープ軌道ネットワークともいう)とを含む。追加的または代替的には、学習済みモデルは、任意の適切な入力に基づいて任意の適切な出力を決定するように構成された他の任意の適切な学習済みモデルを含むことができる。
特定の例では、エージェントのコンテキスト(例えば、エージェントの姿勢および/または他の位置パラメータに基づいてエージェントが参照するマップに割り当てられた予め設定されたコンテキスト)に基づいて複数の学習済みモデルの第1のセットのうちの1つのモデルを選択することに基づいて、エージェントのアクションが決定され、選択された第1のモデルとコンテキストが、1:1の態様で関連付けられる(例えば、割り当てられる)。車両のアクションは、例えば、車両の後ろで停止する、車両に道を譲る、道路に合流する、および/または他の任意の適切なアクションのうちの何れかまたはすべてを含むことができるが、これらに限定されるものではない。アクションに基づいて複数の学習済みモデルの第2のセットのうちの1つのモデルを選択することに基づいて、エージェントの軌道(本明細書では同等に、学習軌道ともいう)が選択され、選択された第2のモデルとアクションが、1:1の態様で関連付けられる(例えば、割り当てられる)。追加的または代替的には、複数の学習済みモデルを選択することができ、学習済みモデルは、1または複数の他の任意の適切な方法で、かつ他の任意の適切な情報に基づいて、割り当てることができ、かつ/または選択することができ、第1の学習済みモデルは単一のモデルのみを含むことができ、第2の学習済みモデルは単一のモデルのみを含むことができ、かつ/または学習済みモデルは他の任意の適切な方法で実現されることが可能である。
追加的または代替的には、システムは、学習済みモデルの第2のセットのみ(例えば、アクションがプログラムおよび/または規則ベースのプロセスで決定される場合)、学習済みモデルの第1のセットのみ、他の学習済みモデル、および/または他の任意の適切な数の学習済みモデルを含むことが可能である。
学習済みモデルの各々は、好ましくは、1または複数のディープラーニングモデルおよび/またはニューラルネットワーク(例えば、ディープニューラルネットワーク[DNN]、畳み込みニューラルネットワーク[CNN]、再帰型ニューラルネットワーク[RNN]、逆強化学習[IRL]モデル、強化学習[RL]モデル、模倣学習[IL]モデルなど)のような1または複数の機械学習済みモデルを含むが、追加的または代替的には、任意の適切なモデルおよび/またはアルゴリズムを含むことができる。学習済みモデルの第1および第2のセットの学習済みモデルは、好ましくは、同じタイプ(例えば、同じ数のレイヤを有する、異なる数のレイヤを有するなど)であるが、追加的または代替的には、異なるタイプであってもよい。システム100は、さらに好ましくは、エージェントの学習済みモデルを含む他の任意のモジュール、例えば、知覚モジュール、予測モジュールおよび位置特定モジュールの何れかまたはすべてを含み、かつ/または相互作用し、不確実性がモジュール毎に計算される。追加的または代替的には、不確実性が、モジュールの任意のサブセット、追加のモジュール、および/または他の任意の適切なモジュールで計算される。
第1のセットの態様では、学習済みモデル(例えば、ディープデシジョンネットワーク、ディープ軌跡ネットワークなど)の各々が、ニューラルネットワークを含み、学習済みモデルの第1のセットのニューラルネットワークの各々が、自律エージェントの特定のコンテキストに対してトレーニングされ(例えば、そのコンテキストに対応するトレーニングデータに基づいてトレーニングされ、その特定のコンテキストのトレーニングデータのみに基づいてトレーニングされ、エージェントが移動する特定の固定ルートからのそのコンテキストのデータに基づいてトレーニングされ)、学習済みモデルの第2のセットのニューラルネットワークの各々が、自律エージェントの特定のアクションに対してトレーニングされる(例えば、そのアクションに対応するトレーニングデータに基づいてトレーニングされる、その特定のアクションからのトレーニングデータのみに基づいてトレーニングされる、そのアクションおよび選択されたコンテキストからのデータに基づいてトレーニングされる、エージェントが移動する特定の固定ルートからのそのアクションのデータに基づいてトレーニングされる)。
特定の例では、学習済みモデルの各々が、ディープラーニングネットワーク(DNN)(例えば、ニューラルネットワーク)、さらに好ましくは、逆強化学習手法および/またはプロセスを使用してトレーニングされたQ学習ネットワークであり、ニューラルネットワークのレイヤ(例えば、隠れレイヤ)の数は、様々なコンテキストおよび/またはアクションに対して変化し得る(例えば、3~8のレイヤ、3以下のレイヤ、8以上のレイヤ、2~10のレイヤ、1~15のレイヤなど)。追加的または代替的には、例えば、方策勾配法、有限状態マシン[FSM]、確率論的手法(例えば、部分観測マルコフ決定過程[POMDP])、模倣学習[IL]、RLまたはIRLの変形、および/または他の任意の適切なモデルおよび/またはネットワークおよび/またはアルゴリズムの何れかまたはすべてに限定されるわけではないが、これらの他の任意の適切なネットワーク、アルゴリズムおよび/またはモデルを1または複数の学習モジュールにおいて使用することができる。学習済みモデル(本明細書では同等に、学習モジュールともいう)の各々は、好ましくは、同じタイプのニューラルネットワーク(例えば、異なるレイヤの数、異なる重みなどを有する)および/またはアルゴリズムおよび/またはモデルであるが、代替的には、異なる(例えば、異なるアーキテクチャ、異なるニューラルネットワークタイプなどを有する)ものであってもよい。
学習済みモデルの各々は、さらに好ましくは、逆強化学習でトレーニングされ、これは、コンテキストを考慮した学習モジュールの各々に対する報酬関数および/または最適運転ポリシーを決定するように機能する。このトレーニングの出力は、さらに好ましくは、各学習モジュールの報酬関数および最適ポリシーを表すコンパクトな完全接続ネットワークモデルである。追加的または代替的には、学習モジュールは、他の方法で適切に(例えば、強化学習などを用いて)トレーニングされ、かつ/または実装され得る。
システムは、さらに好ましくは、トレーニングデータに対して分布外である入力の確率を評価するように機能する分布外検出器と、古典的なプログラム処理に基づいてエージェントのフォールバック軌道を決定するように機能するフォールバックの古典的運動プランナと、車両の候補軌道を検証し、かつ/またはフォールバック運動プランナからのプログラム軌道および/または緊急プランナからの最小リスク軌道に戻すように機能するゲートキーパと、緊急プランナとを含み、かつ/またはそれらと相互作用する。追加的または代替的には、システムは、それらのサブセットを含むことができ、かつ/または相互作用することができ、または、それらを含まないことができ、かつ/または相互作用しないことができ、かつ/または他の任意の適切なコンポーネントを含むことができ、かつ/または相互作用することができる。
分布外検出器は、好ましくは、入力データに付随する不確実性を求め、分布外検出器の不確実性が、さらに好ましくは、確率(例えば、データが分布内にある確率、データが分布外にある確率など)の形式であり、これにより、入力データが信頼できるか否かを判定することができる。分布外検出器は、さらに好ましくは、エージェントのための意思決定および軌道生成に関与する少なくとも1または複数のモジュール(例えば、計画モジュール)についての確率を計算するが、追加的または代替的には、エージェントの他の任意のモジュール(例えば、位置特定モジュール、予測モジュール、知覚モジュールなど)についての確率および/または他のパラメータを計算することができる。追加的または代替的には、システム100は、不確実性を割り出すための他の任意のコンポーネントおよび/または検出器を含むことができる。
フォールバック運動プランナは、好ましくは、例えば学習済みモデルからの軌道および/または軌道の決定に関与する任意の中間出力に付随する不確実性が十分に高い(例えば、閾値を超える)場合に、自律エージェントのためのプログラムされたフォールバック軌道を介して、決定論的な一連のアクションを実行する古典的な運動プランナである。そのような場合、1または複数の学習済みモデルによって生成された軌道を使用するのではなく、システムおよび方法は、フォールバック運動プランナに移行して、環境を通って慎重にナビゲートし、現在の状態から次の目標状態までの安全かつ効率的な経路を出力することができる。プログラムされた軌道は、好ましくは、エージェントの一連の位置と速度のペアであるが、追加的または代替的には、他の任意の形態とすることができる。
ゲートキーパは、好ましくは、分布外検出器と通信し、(例えば、モジュールから、分布外検出器からの確率など)1または複数の不確実性の値を受け取り、その1または複数の値を1または複数の閾値、条件および/または規則と比較し、不確実性が高過ぎるとみなされた場合に、(例えば、学習軌道ではなく)エージェントのフォールバック応答(例えば、プログラムされたフォールバック軌道/決定論的軌道)を選択し、かつ/または緊急プランナを起動させる。追加的または代替的には、ゲートキーパが、任意の適切な結果をトリガーすることができる。
緊急プランナは、好ましくは、ゲートキーパと通信し、システムがフォールバック軌道に十分な確信を持てない場合に、フェールセーフ回復動作を生成するように機能する。不確実性の値の1または複数が極端な上限閾値を超えている場合、例えば、フォールバックレイヤさえも信頼できないことを示す場合(例えば、すべてのセンサからのデータが受信されずに知覚異常を生じている場合)、車両は、緊急プランナによって規定されるフェールセーフ回復動作をデフォルトにすることが可能である。追加的または代替的には、緊急プランナは、1または複数の任意の適切な出力を決定するために、他の方法でトリガーおよび/または実装され得る。
コンピューティングシステムは、さらに好ましくは、コンピューティングシステムで受信された入力を処理するように機能する処理システムを含む。処理システムは、好ましくは、中央処理ユニット(CPU)のセットおよびグラフィック処理ユニット(GPU)のセットを含むが、追加的または代替的には、他の任意のコンポーネントまたはコンポーネントの組合せ(例えば、プロセッサ、マイクロプロセッサ、システムオンチップ(SoC)コンポーネントなど)を含むことができる。
コンピューティングシステムは、任意選択的に、メモリ、ストレージおよび/または他の任意の適切なコンポーネントのうちの何れかまたはすべてをさらに含むことができる。
計画モジュールに加えて、コンピューティングシステムは、自律エージェントの動作のために、位置特定モジュール、予測モジュール、知覚モジュールおよび/または他の任意の適切なモジュールのうちの何れかまたはすべてを含むことができ、かつ/またはそれらと相互作用することができる。
コンピューティングシステム(例えば、オンボードコンピューティングシステム)は、好ましくは、コンピューティングシステムによって決定されたコマンドを実行するように機能する車両制御システムと通信する(例えば、無線で通信する、有線で通信する、接続される、物理的に接続される、電気的に接続される)。
コンピューティングシステムは、自律エージェントに関連するコンテキストの決定を少なくとも部分的に可能にするように機能するマップを含むことができ、かつ/またはそのようなマップと相互作用することができる。マップは、好ましくは、その位置および/またはマップ内の位置に基づいて自律エージェントのコンテキストを規定する後述するような高精細のハンドラベル付きマップであるが、追加的または代替的には、他の任意のマップおよび/またはマップの組合せを含むことが可能である。
システム100は、好ましくは、(例えば、マップ内の)自律エージェントの位置特定、自律エージェントの周囲の物体(例えば、動的物体、静的物体など)の検出、入力のセットの収集および/または他の任意の適切な機能のうちの何れかまたはすべてを可能にするように機能するセンサシステムを含み、かつ/またはそのようなセンサシステムと相互作用する。
センサシステムは、カメラ(例えば、360度範囲カメラ、超高解像度カメラなど)、光検出および測距(LiDAR)センサ、無線検出および測距(RADAR)センサ、運動センサ(例えば、加速度計、ジャイロスコープ、慣性測定ユニット[IMU]、速度計など)、位置センサ(例えば、全地球的航法衛星システム[GNSS]センサ、慣性ナビゲーションシステム[INS]センサ、全地球測位システム[GPS]センサ、任意の組合せなど)、超音波センサおよび/または任意の適切なセンサのうちの何れかまたはすべてを含むことができる。
一態様のセットでは、センサシステムが、16ビームLIDAR(例えば、高忠実度障害物検出などのため)、短距離RADAR(例えば、死角検出、交差交通警告、緊急ブレーキなどのため)、超音波センサ(例えば、駐車支援、衝突回避などのため)、360度範囲カメラ(例えば、歩行者/サイクリスト/都市障害物の検出および回避のためのサラウンドビューなどのため)、128ビームLIDAR(例えば、高精度の車両の位置特定のため)、長距離超高解像度カメラ(例えば、交通標識および交通信号検出のため)、長距離RADAR(例えば、長距離障害物の追跡および回避のため)、GNSS/INS(例えば、超高精度位置特定のため)、および/または他の任意の適切なセンサを含む。
追加的または代替的には、システム100は、他の任意の適切なコンポーネントまたはコンポーネントの組合せを含むことができる。
4.方法
図2に示すように、方法200は、入力のセットを受け取るステップS210と、出力のセットを決定するステップS215と、入力のセットのうちの何れかまたはすべておよび/または出力のセットのうちの何れかまたはすべてに関連する不確実性パラメータを求めるステップと、不確実性パラメータを評価し、それに応じて任意選択的に、プロセスおよび/またはアクションをトリガーするステップS230とを含む。追加的または代替的には、方法200は、他の任意の適切なプロセスおよび/またはプロセスの組合せを含むことができる。
方法200は、自律エージェントがそれ自体の故障を検出し、その運行設計領域(ODD)を自己実現することを可能にするように機能する。方法200は、追加的または代替的に、(例えば、学習済みモデルを用いて、フォールバック運動プランナを用いて、緊急プランナを用いて)1または複数の決定論的軌道を生成し、フォールバックおよび/または最小リスク軌道を開始し、エラーの様々な原因に対処し、不確実性の様々なタイプおよび/または原因を集約し、ルートの安全な横断を可能にし、かつ/または他の任意の適切な機能を実行するように機能することができる。
方法200は、好ましくは、上述したようなシステム100で実行されるが、追加的または代替的には、1または複数の他の任意の適切なシステムで実行することができる。
4.1 方法-入力のセットを受け取るステップS210
方法200は、入力のセットを受け取るステップS220を含み、これは、方法の後続のプロセスを実行するための情報を受け取るように機能する。これは、例えば、1または複数の出力(例えば、学習済みモデルの出力、中間出力など)を決定すること、1または複数の不確実性の値を計算すること、データが分布内か分布外かを判定すること、および/または他の任意の適切なプロセスを実行する際に用いること、のうちの何れかまたはすべてを実行するための情報を含むことができる。追加的または代替的には、S210は、1または複数のプロセスをトリガーするように、自律エージェントのモジュール(例えば、知覚、予測、位置特定、計画など)のうちの何れかまたはすべてに通知するように、他の方法で自律エージェントを操作するために使用されるように、かつ/または他の任意の適切な位置を実行するように機能することができる。
S210は、連続的に、所定の頻度で、ランダムな間隔で、方法200のプロセスのセットの各々の前に、かつ/または他の任意の適切な時点のうちの何れかまたはすべてにおいて、好ましくは、方法200全体を通して継続的に実行され、さらに好ましくは、ルートに沿ったエージェントの動作全体を通して継続的に実行される。S210は、追加的または代替的に、トリガーに応答して(例えば、マップに基づいて、コンテキストが選択されることに応答して、センサ情報などに基づいて)、一連の間隔(例えば、ランダムな間隔)で、かつ/または方法200の間の他の任意の適切な時点で実行することが可能である。
S210は、好ましくは、上述のようなシステム100で、さらに好ましくは、自律エージェントのオンボードコンピューティングシステムおよびオンボードセンサシステムで実行されるが、追加的または代替的には、システムの他の任意のコンポーネントおよび/または他の任意の適切なシステムで実行することが可能である。
入力のセットは、好ましくは、センサシステムなどの自律エージェントの知覚モジュールから受け取った情報を含み、かつ/または(例えば、知覚モジュールを介して)センサシステム内のセンサに基づいて割り出される(例えば、計算される)が、追加的または代替的には、任意の適切なソース(例えば、インターネット、自律エージェント、履歴情報、リモートコンピューティングシステムなど)から受け取ることが可能である。
入力のセットは、エージェントの現在の状態(例えば、位置、方位、ピッチ、加速、減速など)、エージェントに近接するものなどの動的物体のセットに関連する情報(例えば、現在の位置、サイズ、以前の経路、予測される経路など)、エージェントに近接するものなどの静的物体(トラフィックコーン、郵便箱など)のセットに関連する情報(例えば、静的物体の現在の状態、静的物体に関連する履歴情報など)、マップ(例えば、HDマップ、割り当てられたコンテキストのセットを示すハンドラベル付きマップ、割り当てられたコンテキストのセットを示す自動的にラベル付けされたマップ、車線境界、車線間の接続、車線の位置、車線の接続性、意味情報などを示すマップなど)および/またはマップからの情報、目的地に達するために必要なルーティング情報(例えば、取るべき理想的な経路、取るべき車線の順序など)、1または複数の不確実性の値および/または推定値(例えば、認識論的不確実性、偶然的不確実性など)、自律エージェントの状態(本明細書では同等に、自己車両状態ともいう)、および/または他の任意の適切な入力のうちの何れかまたはすべてを含むことができる。
一態様のセットでは、例えば、入力のセットが、マップ内のその位置および/または向き(例えば、姿勢)に基づいて任意の所与の時点における自律エージェントのコンテキストを規定する高精細のラベル付きマップ(例えば、ハンドラベル付きマップ、自動的にラベル付けされたマップなど)を含むが、追加的または代替的には、他の任意のマップ(例えば、自動的な方法でラベル付けされたマップ、手動および自動プロセスの両方を通じてラベル付けされたマップなど)および/またはマップの組合せを含むことが可能である。追加的または代替的な態様では、マップ情報が、道路インフラ情報および/または他の静的環境情報、ルート情報および/または他の任意の適切な情報の何れかまたはすべてを含む。
特定の例では、マップは、(例えば、上述したようなセンサ情報に基づいて特定された)自律エージェントの地域/場所に基づいて選択された(例えば、予め定められた/割り当てられた)1または複数のコンテキスト(および/または移行ゾーン)を規定する。
入力のセットは、好ましくは、自律エージェントのセンサシステム、例えば、自律エージェント搭載のセンサシステム、自律エージェントから離れたセンサシステム、および/または自律エージェントと通信するセンサシステム、および/または自律エージェントのコンピューティングシステム(例えば、オンボードコンピューティングシステム、リモートコンピューティングシステムなど)のうちの何れかまたはすべてにおいて収集されたセンサ情報を含む。追加的または代替的には、センサ情報を、1または複数の他の任意の適切なセンサおよび/またはセンサの組合せから収集することができ、S210は、センサ入力を収集することなく実行することができ、かつ/またはS210は、1または複数の他の任意の適切な方法で実行することができる。
センサ情報は、自律エージェントに関連する位置情報、例えば、位置、向き(例えば、方位角)、姿勢、地理的位置(例えば、全地球測位システム[GPS]座標を使用、他の座標などを使用)、マップ内の位置、および/または他の任意の適切な位置情報の何れかまたはすべてを含むことができ、かつ/またはそれらを特定するために使用することができる。好ましい態様では、例えば、S205が、センササブシステムの位置特定モジュールから姿勢情報を受信することを含み、位置特定モジュールが、GPSセンサ、IMU、LIDARセンサ、カメラおよび/または(例えば、上述したような)他の任意のセンサのうちの何れかまたはすべてを含む。追加的または代替的には、他の任意のセンサ情報を任意の適切なセンサから受信することができる。
センサ情報は、追加的または代替的に、速さ/速度、加速度および/または他の任意の適切な情報のうちの何れかまたはすべてに限定されるものではないが、それらの自律エージェントに関連する運動情報および/または他の動的情報を含むことができ、かつ/またはそれらを求めるために使用することができる。
センサ情報は、追加的または代替的に、上述した位置情報、自律エージェントに関する位置情報、動的物体の運動情報、予測情報(例えば、予測軌跡)、履歴情報(例えば、履歴軌跡)および/または他の任意の適切な情報の何れかまたはすべてに限定されるものではないが、それらの自律エージェントの環境内の1または複数の動的物体と関連する位置情報および/または運動情報を含むことができ、かつ/またはそれらを(例えば、知覚モジュールで)求めるために使用することができる。動的物体は、他の車両(例えば、自律走行車、非自律走行車、4輪車両、自転車などの2輪車両など)、歩行者(例えば、ウォーキング、ランニング、ローラーブレード、スケートボードなど)、動物および/または他の任意の移動物体(例えば、道路を横切って転がるボール、転がるショッピングカートなど)のうちの何れかまたはすべてを含むことができるが、これらに限定されるものではない。追加的または代替的には、センサ情報は、動的物体のサイズ、物体のタイプの識別子、他の適切な情報など、1または複数の動的物体に関連する他の任意の情報を含むことができ、かつ/またはS205で収集される情報は、動的物体の情報がない場合に収集され得る。
センサ情報は、追加的または代替的に、上述した情報(例えば、物体タイプの識別子など)の何れかまたはすべてなど、自律エージェントの環境における1または複数の静的物体(例えば、静止している歩行者、道路インフラ、建設現場および/または建設機械、バリケード、交通コーン、駐車車両など)に関連する位置情報および/または他の情報を含むことができ、かつ/またはそれらを(例えば、知覚モジュールで)求めるために使用することができる。追加的または代替的には、センサ情報は、1または複数の静的物体に関連する他の任意の情報を含むことができ、かつ/またはS210で収集される情報は、静的物体情報がない場合に収集され得る。
入力のセットは、車両の環境を規定する車両コンテキストを含むことができ、車両の運転コンテキストを特徴付けるように機能することができる。コンテキストは、好ましくは、車両のために選択された固定ルートに基づいて、上述したようなマップおよび/または1または複数の他の任意の適切なマップなどのマップ(例えば、高精細のハンドラベル付きマップ)に基づいて規定される。コンテキストは、追加的または代替的に、エージェントの位置などのセンサシステムからのセンサ情報および/または他の任意の好適な情報のうちの何れかまたはすべてに基づいて決定することができる。
好ましい態様では、例えば、コンテキストが、マップ内の位置および/または領域に割り当てられる。マップ内の各位置および/または領域は、単一のコンテキスト、複数のコンテキスト(例えば、複数のルートの交差点を示し、単一のコンテキストは、S205で受け取った入力の何れかまたはすべてなどの追加情報に基づいて選択される)、コンテキストなし(例えば、自律エージェントの固定ルートオプション上にない位置および/または領域を示す)、および/またはコンテキストの任意の組合せのうちの何れかまたはすべてに割り当てられることが可能である。位置および/または領域に割り当てられた1または複数の特定のコンテキストは、好ましくは、その位置および/またはその領域内の静的環境、例えば、その領域内の道路の特徴(例えば、車線の数、高速道路対生活道路、一方通行対両面交通、土および/または砂利対アスファルト、カーブ、路肩対路肩なしなど)、その領域内のランドマークおよび/または特徴(例えば、駐車場、ラウンドアバウトなど)、その位置および/または領域に関連するゾーンのタイプ(例えば、学校ゾーン、建設ゾーン、病院ゾーン、住宅ゾーンなど)、その位置および/または領域で遭遇する動的物体のタイプ(例えば、歩行者、自転車、車両、動物など)、その位置および/または領域に関連する交通パラメータ(例えば、速度制限、交通標識タイプ、セミトラックの高さ制限など)、および/または他の環境情報などに基づいて決定することができる。
追加的または代替的には、コンテキストの割り当ては、車両の固定ルートのセットを考慮することができ、マップは、車両が固定ルートに沿って遭遇する一連のコンテキストを規定し、マップ内の車両の位置は、車両が配置されるのがこれらの連続するコンテキストのどれであるのかを指定し、車両は、コンテキスト間の移行の近くで(例えば、その時に)コンテキストを切り替える。
いくつかの態様では、マップが、異なるコンテキスト間に配置される1または複数の移行ゾーンを含み(例えば、割り当て、規定し)、例えば、コンテキストの変化を(例えば、固定ルートに沿って、動的に決まるルートなどに沿って)示すことができ、それにより(例えば、アクション空間を規定することで)コンテキストの切り替えをスムーズに行うことが可能になる。移行ゾーンを割り当てることは、例えば、車両をあるコンテキストから次のコンテキストにスムーズに移行させる(例えば、特定のアクションを利用できないようにする、エージェントが彼または彼女の車線を維持することを規定する、方向転換を妨げる)アクション空間を本方法の後段で規定し、かつ/または他の任意のプロセス(例えば、新しい第1の学習モジュールの選択)をトリガーするように機能することができる。移行ゾーンは、1または複数のコンテキストと重なる場合(例えば、部分的に重なる場合、完全に重なる場合など)、1または複数のコンテキストと重ならない場合、および/または重なる場合と重ならない場合の任意の組合せのうちの何れかまたはすべてであり得る。追加的または代替的には、移行ゾーンはコンテキストそのものであることができ、方法は、(例えば、後続のコンテキストを予測することによって)ラベル付けされた移行ゾーンがない場合に実行することができ、かつ/または他の方法で実行することができる。
コンテキストの例としては、1車線の生活道路(例えば、道路形状によりエージェントがコンテキストを変更できない)、1車線の非生活道路、多車線の高速道路(例えば、エージェントが歩行者に会う可能性が低いことを学習することができる)、駐車場内の1車線道路、片側に黄色の境界線がある1車線道路、複数車線の高速移動道路、道路に接続する領域(例えば、駐車場、私道など)および/または他の任意の適切なコンテキストに限定されるものではないが、これらのうちの何れかまたはすべてを含むことができる。
車両コンテキストは、好ましくは、本方法の後続のプロセスで使用され、さらに好ましくは、自律エージェントが利用できるアクションを簡素化および/または指定する(例えば、後述する)第1の学習モジュールの選択において使用される。追加的または代替的には、コンテキストは、本方法の後続のプロセスにおいて使用されるシナリオを決定するために使用することができ、シナリオは、例えば、上述した情報(例えば、速度制限、車両の周囲の物体のセンサ情報など)の何れかまたはすべてに基づいて、コンテキストをさらに指定するように機能する。第1のコンテキスト(例えば、両面通行の生活道路)のシナリオの例は、右折機会、右折レーンの追加、停止標識、交通信号、譲れの標識、横断歩道、スピードバンプおよび/または他のシナリオのうちの何れかまたはすべてを含むが、これらに限定されるものではない。第2のコンテキスト(例えば、複数車線の高速道路)のシナリオの例は、車線変更、合流、低速走行車両の追い越しおよび/または他の任意のシナリオのうちの何れかまたはすべてを含むが、これらに限定されるものではない。いくつかの態様では、例えば、コンテキストは、モデルおよび/またはアルゴリズム(例えば、高度に調整された、コンテキストを考慮したカスタム逆強化学習(IRL)アルゴリズム)の選択をトリガーし、ハイレベルのシナリオ選択を行い、シナリオ特有の学習モジュール(例えば、後述する第1の学習モジュール)を呼び出して車両のアクションを選択させる。追加的または代替的には、シナリオを選択するための他の任意の適切なアルゴリズムまたはプロセスを実装することができ、シナリオがない場合にアクションを選択することができ、コンテキストを使用して別のパラメータを選択することができ、かつ/または方法200を他の手法で実行することができる。
追加的または代替的には、方法200は、(例えば、マップおよびセンサ情報から、センサ情報のみから、他の情報などから)車両コンテキストおよび/またはシナリオを決定するステップ、および/または車両コンテキスト、シナリオ、および/または車両の環境に関連する他の情報を他の方法で使用するステップを含むことができる。
S210は、任意選択的に、入力のセットに基づいてエージェントの環境表現を決定することを含むことができ、環境表現は、(例えば、後述するように)モジュールおよび/またはモデルのうちの何れかまたはすべてへの入力として使用することができる。好ましい態様では、環境表現が、エージェントに近接する動的物体のセットの情報(それらの現在の位置、サイズ、以前の経路、および将来への予測経路を含む)、エージェントに近接する静的物体のセットの情報およびそれらの現在の状態、マップ(例えば、高精細マップ、高精細のハンドラベル付きマップなど)、目的地に達するために必要なルーティング情報、現在の自己状態、および/または他の適切な情報のうちの何れかまたはすべてに基づいて決定される。環境表現を決定することは、任意選択的に、潜在空間表現を決定することを含むことができ、これは、入力を簡素化し、入力に順序不変性を付与し、入力の処理を単純化し、かつ/または他の任意の適切な機能を実行するように機能することができる。
さらに、追加的または代替的には、他の任意の適切な入力をS210で受け取ることができる。
第1の態様のセットでは、S210が、自律エージェントのセンサシステムからのセンサ情報と、エージェントのルート(例えば、固定ルート)および/または潜在的ルートに割り当てられたコンテキストのセットを示すラベル付きマップとを受け取ることを含み、エージェントのコンテキストが、マップおよびセンサ情報に基づいて決定される。入力のセットのうちの何れかまたはすべて(例えば、センサ情報)は、好ましくは、方法200全体を通じて連続的に受け取られるが、追加的または代替的には、他の任意の適切な時点で受け取れるようにしてもよい。
特定の例のセットでは、センサ情報が、エージェントの少なくとも位置および/または向き(例えば、姿勢)、エージェントの環境内の動的および/または静的物体に関連する情報(例えば、位置、向き、動きなど)、および任意選択的に、他の任意の情報を含み、エージェントのコンテキストが、マップ内のエージェントの位置および/または向きに基づき決定される。
第2の態様のセットでは、第1の態様に加えて、またはその代わりに、S210が、自律エージェントのセンサシステムからのセンサ情報と、エージェントのコンテキスト(例えば、現在のコンテキスト、接近するコンテキストなど)とを受信することを含む。入力のセットは、好ましくは、方法200全体を通じて連続的に受信されるが、追加的または代替的には、他の任意の適切な時点で受信することができる。
特定の例のセットでは、コンテキストが、マップおよびエージェントの姿勢に基づいて決定され、コンテキストが、学習モジュールの第1のセットのうちの1つを選択するために、本方法の後段で使用される。
4.2 方法-出力のセットを決定するステップS215
方法200は、出力のセットS215を決定することを含み、これは、最終的に自律エージェントを制御するための出力を決定するように機能する。追加的または代替的には、S215は、実装する1または複数の学習済みモデルを選択し、エージェントによって実施される軌道の選択肢(例えば、学習対プログラム対最小リスクなど)を提供し、かつ/または他の任意の適切な機能を実行するように機能することができる。
S215は、中間出力(例えば、ディープ軌道ネットワークを選択するアクション、複数の軌道オプションなど)と1または複数の最終出力(例えば、コントローラによって実施される軌道)の両方を決定するために、好ましくは、方法200を通じて、さらに好ましくは、方法200の各インスタンスを通じて(例えば、計画サイクル毎に)、複数回実行される。追加的または代替的には、S215は、連続的に、所定の頻度で、ランダムな間隔で、方法200のプロセスのセットの各々の前に、かつ/または他の任意の好適なタイミングのうち、何れかまたはすべてにおいて実行することができる。S215は、追加的または代替的に、トリガーに応答して(例えば、不確実性が閾値を超えることに応答して緊急プランナ出力を決定するなど)、間隔のセット(例えば、ランダムな間隔)で、かつ/または方法200の間の他の任意の適切な1または複数の時点で、実行することができる。
S215および/またはS215のインスタンスは、好ましくはS210に応答して実行されるが、追加的または代替的には、S210の前に(例えば、S210のインスタンスの前に)、S220における1または複数の不確実性の値の特定に応じて、方法200の別のプロセスの後に、方法200の別のプロセスの前に、かつ/または方法200中の他の任意の適切な時点で実行することが可能である。
S215は、好ましくは、システム100のコンピューティングシステムで実行され、さらに好ましくは、学習済みモデルのセット、規則ベースのプロセス、プログラムされたプロセスおよび/または他の任意の好適なプロセスのうちの何れかまたはすべてを実行するオンボードコンピューティングシステムで実行される。
S215は、任意選択的に、(例えば、上述したように)学習済みモデルの第1のセットの1または複数により(例えば、各計画サイクルにおいて、各コンテキスト移行などにおいて)出力を決定することを含むことができる。1または複数の第1の学習済みモデルの出力は、好ましくは、エージェントのアクション(本明細書では同等に、動作ともいう)であるが、追加的または代替的には、他の任意の適切な出力を含むことができる。S215は、任意選択的に、学習済みモデルの第1のセットのうちの1つを選択することを含むことができ、特定のモデルは、エージェントが現在位置している特定のコンテキストなどの、エージェントの環境情報に基づいて選択される。モデルは、好ましくは、コンテキストと第1の学習済みモデルとの間の1:1の割り当てなどの所定の割り当てに基づいて選択されるが、追加的または代替的には、他の方法で選択することができる。
追加的または代替的に、自律エージェントのアクションは、別の適切なモデルを用いて、かつ/または他の任意の適切な方法で決定することができ、学習済みモデルの第1のセットおよび学習済みモデルの第2のセットは組み合わせることができ、S215はアクションを決定しない場合に実行することができ、かつ/またはS215は他の方法で実行することができる。
S215は、好ましくは、追加的または代替的に、(例えば、上述したように)学習済みモデルの第2のセットの1または複数により(例えば、計画サイクル毎に、第1の学習済みモデルの各処理の後などに)出力を決定することを含む。1または複数の第2の学習済みモデルの出力は、好ましくは、本明細書において同等に学習軌道ともいうエージェントの軌道であり、学習軌道は、車両の最終軌道の候補として機能し、最終軌道は、後述するように1または複数の不確実性の値を評価する際に決定される。追加的または代替的には、1または複数の第2の学習済みモデルは、他の任意の適切な出力を含むことができる。S215は、任意選択的に、学習済みモデルの第2のセットのうちの1つを選択することを含むことができ、特定のモデルは、エージェントが実行すべき特定のアクションなど、第1の学習済みモデルの出力に基づいて選択される。モデルは、好ましくは、アクションと第2の学習済みモデルとの間の1:1の割り当てなどの所定の割り当てに基づいて選択されるが、追加的または代替的には、他の方法で選択することができる。
学習済みモデルの第1のセットおよび学習済みモデルの第2のセットの各々は、好ましくは、入力としてエージェントの環境表現(例えば、完全な環境表現、局所的な環境表現など)を受け取り、学習済みモデルの出力は、この環境表現に基づいてさらに決定される。好ましい態様では、第1の学習済みモデルが、入力として完全な環境表現を受け取り、局所的な環境表現は、入力として局所的な環境表現を受け取り、局所的な環境表現は、エージェントに対して選択されたアクションに基づいて(考慮して)決定される。追加的または代替的には、学習済みモデルは、同じ環境表現を入力として受け取ることができ、そうでなければ異なる環境表現、および/または他の任意の適切な入力を受け取ることができる。
追加的または代替的には、自律エージェントの学習軌道は、別の適切なモデルを用いて、かつ/または他の任意の適切な方法で決定することができ、S215は、学習軌道を決定しない場合に実行することができ、かつ/またはS215は、他の方法で実行することができる。
S215は、好ましくは、(例えば、上述したように)フォールバック運動プランナを用いてフォールバック軌道を決定することをさらに含み、システム(例えば、エージェント、エージェントのコンピューティングシステムなど)は、(例えば、後述のように)学習軌道に付随する不確実性が(例えば、閾値のセットと比較して、制約および/または規則のセットなどと比較して)高過ぎる場合、学習軌道ではなくフォールバック軌道を選択することができる。追加的または代替的には、フォールバック軌道は、他の任意の適切な理由により選択され、他の軌道よりも選択され、学習軌道の決定がない場合に選択され(例えば、学習軌道の前に求められた出力の不確実性に応じて選択され、入力の不確実性などに応じて選択され)、かつ/または他の方法で実行されることができる。
フォールバック軌道は、好ましくは、方法200の各インスタンスで、さらに好ましくは、自律エージェントの各計画サイクルで決定される。追加的または代替的には、フォールバック軌道は、方法を通じて複数回、連続的に、所定の頻度(例えば、計画サイクル頻度に対応する頻度、計画サイクル頻度とは無関係な頻度、計画サイクル頻度より高い頻度、計画サイクル頻度より低い頻度など)で、間隔のセット(例えば、所定の間隔、ランダム間隔など)で、かつ/または他の任意の適切な1または複数の時点、のうちの何れかまたはすべてで決定されることができる。さらに、追加的または代替的には、方法200の何れかまたはすべてのインスタンスは、フォールバック軌道を決定しない場合に実行することができる。
好ましい態様では、例えば、学習軌道がエージェントに対して決定されるたびにフォールバック軌道が決定され(例えば、並行して決定され、学習軌道と同時に決定され、学習軌道に応答して決定され、学習軌道の前に決定され)、このフォールバック軌道が、学習軌道の不確実性が高過ぎる場合(例えば、偶然的不確実性が閾値を超える場合、認識論的不確実性が閾値を超える場合、偶然的不確実性および認識論的不確実性の両方を含む全体的な分散が閾値を超える場合など)に迅速に実施されることができるように機能する。追加的または代替的には、フォールバック軌道は、必要な場合にのみ決定されるものであってもよく、フォールバック運動プランナは、例えば、学習軌道の不確実性(および/または他の任意の不確実性)が高過ぎると判定することに応答してトリガーされる。追加的または代替的には、フォールバック軌道は、学習軌道の前に求められた入力および/または出力(例えば、アクション、コンテキスト、入力のセットなど)の不確実性が高過ぎることが判明した場合など、学習軌道がない場合および/または学習軌道の前に実施することが可能である。さらに、追加的または代替的には、フォールバック軌道は、他の方法で生成および/またはトリガーすることができる。
フォールバック運動プランナは、好ましくは、(例えば、S210で上述したように)環境の完全な状態(例えば、環境表現、完全な環境表現など)、およびエージェントの目的地(例えば、行き先、固定ルートなど)に関する情報を受け取る。運動プランナは、さらに好ましくは、マッピング、位置特定、知覚、予測およびルーティングのうちの何れかまたはすべてに限定されるものではないが、これらを含む様々なモジュールから入力を受け取る。好ましい態様では、マッピングモジュールが、道路の車線レベルの情報および交通信号などの背景環境情報を(例えば、ベクトルマップの形で)提供し、位置特定モジュールが、位置、進行方向および速度を含む自己車両の状態を正確に追跡し、知覚および予測モジュールが、動的障害物を検出して近い将来の可能性の高い軌道を予測することにより動的障害物を処理し、ルーティングモジュールが、ソース、目的地およびウェイポイントの観点から自己車両の目的地を提供する。追加的または代替的には、運動プランナが、他の任意の適切な情報を受け取ることができ、他の任意のコンポーネント(例えば、学習済みモデルの第1のセット、学習済みモデルの第2のセット、緊急プランナなど)および/または本方法のプロセスが、それらの入力を受け取ることができ、かつ/または本方法は他の手法で実行されることができる。
フォールバック運動プランナは、好ましくは古典的な運動プランナであり、古典的な運動プランナは、1または複数のプログラム式および/または確率論的および/または規則ベースのアプローチで意思決定の複雑なタスクを解決するように機能する。これは複雑なタスクである。何故なら、フォールバック運動プランナが、(他の道路利用者が確率的に振る舞い、その目的地および計画が測定することができないため、不確実性なしに予測することができない)状況の時間的進展と、(測定値にノイズが多く環境の大部分が遮られているため、そのセンサで現在の状況のサブセットしか知覚することができない)自己車両の能力とのうちの何れかまたはすべてなど、いくつかの不確実性の原因を考慮しなければならないからである。このため、古典的な運動プランナは、好ましくは、この記述された不確実性の両方の形態を考慮するように機能する、確率論的アプローチを採用する。
好ましい態様では、フォールバック運動プランナが、好ましくはベイジアンネットワークの形式で、移行モデルを実行するが、追加的または代替的には、他の任意の確率論的アプローチを含み、移行モデルは、様々なシナリオに対して自動的に最適化することができる連続的部分観測マルコフ決定過程(POMDP)として運転タスクを定式化する。POMDP表現は、好ましくは、フォールバック運動プランナのための保守的な実行と関連して使用され、プランナは、他の動的物体(例えば、他の車両および/または道路使用)の運動意図を推定し、その意図が防御的ではなく好戦的であると思われる高い確信を関連付けることができる。追加的または代替的には、古典的な運動プランナは、他の任意のモデルおよび/またはプログラムされたアプローチ、例えば、方策勾配法、有限状態マシン[FSM]、規則ベースの決定木、他の確率論的手法、模倣学習[IRL]、RLまたはIRLの変形、および/または他の任意の適切なモデルおよび/またはネットワークおよび/またはアルゴリズムに限定されるものではないが、これらのうちの何れかまたはすべてを含むことができる。
特定の例または(例えば、図9A~図9Cに示すように)工事区域によるルート変更では、自己車両が交差点に近づくと、複数車線の道路が単一車線の道路になるという名目上の道路コンテキストおよび障害車両の疑いのある運動意図が検出される。図9Aに示すように、自己車両は、隣車線の接近車両との衝突の可能性を避けるために、先ず「減速」モードをトリガーし、これは、現在の「通常」動作から「加速」動作に継続するという高い確信と関連付けられたものである。しかしながら、しばらくすると、図15Bのように、障害車両がその挙動を変えて、自己車両に道を譲ることを決定し、それに応じて運動意図の確信が更新されている。図15Bのように、障害車両が自己車両を通すことを望んでいるという確信が高まると、自己車両は加速することを決定し、障害車両が現在の「通常」動作を続けて減速するという確信が低い状態で、目的の車線に慎重に進み始める。しかしながら、この時点で、障害車両が再び変化し、図9Cに示すように、加速して自己車両を追い抜くことを決定すると、障害車両が加速する動作を続けるという確信の増加を示すように運動意図の確信が更新される。このため、自己車両は減速モードをトリガーし、障害車両が追い越しできるようにする。この場合、いつまでも待つという過剰な保守的挙動や、道を譲ることを求めるという強引過ぎる挙動ではなく、自己車両は障害車両の意図を適切に推論し、決定論的な方法で反応することが可能である。
追加的または代替的には、フォールバック運動プランナは、自律エージェントのために他の方法で動作し、軌道を計画し、かつ/または他の方法で軌道を適合させることができる。
S215は、追加的または代替的に、緊急プランナで1または複数の出力を決定することを含むことができ、緊急プランナは、回復動作を強制するように機能する。緊急プランナの出力は、好ましくは軌道であり、緊急プランナは、さらに好ましくは(例えば、後述するように)、学習軌道もフォールバック軌道も信頼できない場合(例えば、どちらも制約、規則および/または基準のセットを満たさない場合、(例えば、1または複数のプログラムされた軌道の不確実性が閾値を超えることに基づいて)ゲートキーパにおける実現可能な軌道セットが空である場合、1または複数の不確実性の値が予め設定された閾値を超える場合、1または複数の不確実性の値が極端な上限閾値を超える場合など)にトリガーされる。追加的または代替的には、緊急プランナは、本方法のより早い段階で(例えば、学習軌道が決定される前、フォールバック軌道が決定される前など)かつ/または1または複数の他の任意の適切な時点でトリガーされるものであってもよい。
追加的または代替的には、緊急プランナの出力は、車両のアクション(例えば、急停止、車両のハザードランプの点灯など)および/または1または複数の他の任意の適切な出力を含むことができる。緊急プランナは、フォールバック運動プランナの一部、フォールバック運動プランナから独立したもの(例えば、別個のもの、通信しているもの、通信していないものなど)および/または任意の組合せのうちの何れかまたはすべてとすることができる。
S215は、追加的または代替的に、軌道を最終的に決定するために使用される中間出力、例えば、車両コンテキスト、(例えば、上述したような)環境表現、(例えば、上述したような)潜在空間表現および/または他の任意の適切な出力に限定されるものではないが、これらの何れかまたはすべてなど、他の任意の出力を生成することを含むことができる。追加的または代替的には、S215は、エージェントのモジュール(例えば、計画、知覚、位置特定など)の何れかまたはすべてからの出力および/または他の任意の好適な出力を生成することを含むことができる。
第1の態様のセットでは、S215が、任意選択的に第1の学習済みモデルでアクションを決定すること、第2の学習済みモデルで学習軌道を決定すること、フォールバック運動プランナでフォールバック軌道を決定すること(例えば、学習軌道およびフォールバック軌道がゲートキーパを通過する場合)、および任意選択的に緊急プランナで(例えば、学習軌道およびフォールバック軌道がともに受け入れられると見なされない場合に、バックアップとして有するために)回復動作および/または回復軌道を決定することを含む。
特定の例では、S215が、任意選択的にマップに基づいてコンテキストを受信および/または決定すること、任意選択的に(例えば、コンテキストから第1の学習済みモデルへの1:1のマッピングに基づいて)複数の学習済みモデルの第1のセットのなかから単一の第1の学習済みモデルを選択すること、任意選択的に第1の学習済みモデルを用いて車両のアクションを決定すること、任意選択的に複数の学習済みモデルの第2のセットのなかから第2の学習済みモデルを選択すること、第2の学習済みモデルを用いて学習軌道を決定すること、古典的な運動プランナを用いてプログラムされるフォールバック軌道を決定すること、並びに、任意選択的にエージェントの回復動作および/または軌道を決定することを含む。
第2の態様のセットでは、S215が、学習済みモデルで学習軌道を決定すること、フォールバック運動プランナでフォールバック軌道を決定すること(例えば、学習軌道およびフォールバック軌道がゲートキーパを通過する場合)、並びに、任意選択的に緊急プランナで(例えば、学習軌道およびフォールバック軌道がともに受け入れられると見なされない場合に、バックアップとして有するために)回復動作および/または回復軌道を決定することを含む。
特定の例では、S215が、任意選択的にマップに基づいてコンテキストを受信および/または決定すること、任意選択的に(例えば、コンテキストから学習済みモデルへの1:1のマッピングに基づいて)複数の学習済みモデルのセットのなかから学習済みモデルを選択すること、学習済みモデルを用いて学習軌道を決定すること、古典的な運動プランナを用いてプログラムされるフォールバック軌道を決定すること、並びに、任意選択的にエージェントの回復動作および/または軌道を決定することを含む。
第3の態様のセットでは、S215が、任意選択的に第1の学習済みモデルを用いてアクションを決定すること、第2の学習済みモデルを用いて学習軌道を決定すること、任意選択的に(例えば、学習軌道が検証されていないことに応答して、フォールバック軌道が促される場合に)フォールバック運動プランナを用いてフォールバック軌道を決定すること、並びに、任意選択的に(例えば、学習軌道およびフォールバック軌道がともに受け入れられると見なされない場合に、バックアップとして有するために)緊急プランナで回復動作および/または回復軌道を決定することを含む。
追加的または代替的には、S215は、他の任意の適切なプロセスを含むことができる。
4.3 方法-入力のセットおよび/または出力のセットに付随する不確実性の値のセットを求めるステップS220
方法200は、入力のセットおよび/または出力のセットに付随する不確実性の値のセットを求めるステップS220を含み、これは、入力のセット(例えば、S210で受信されたもの、モジュールのセットの何れかまたはすべてで受信されたものなど)の何れかまたはすべてが分布外データに対応するかどうか、出力のセットの何れかまたはすべてと付随する不確実性、(例えば、連続する一連の出力に対する、様々な不確実性のタイプ間の)集約された不確実性のうちの何れかまたはすべてを求めるように機能することができ、かつ/またはS220は他の任意の適切な情報を求めるように機能することができる。S220は、追加的または代替的に、S230における1または複数のアクションなど、本方法の1または複数のプロセスをトリガーし、(例えば、出力の不確実性が閾値を超える場合に)本方法の1または複数のプロセスをスキップし、かつ/または他の任意の適切な機能を実行するように機能することができる。
S220は、好ましくは、入力のセットを受信することに応答して(例えば、S210が実行される任意の時点、環境表現が決定される任意の時点などに)、学習済みモデル(例えば、第1の学習済みモデル、第2の学習済みモデルなど)で出力を決定することに応答して、エージェントの任意のモジュールで出力および/または中間出力を決定することに応答して、トリガーに応答して、かつ/または1または複数の他の任意の時点および任意の適切なプロセスに応答して、のうちの何れかまたはすべてにおいて、本方法を通じて複数回実行される。追加的または代替的には、S220の何れかまたはすべては、1回、連続的に、所定の頻度で、のうちの何れかまたはすべてで実行することができる。
好ましい態様では、S220は、S210(例えば、完全な環境表現を決定すること)に応答して、かつ少なくとも、エージェントの学習軌道の決定に関与する学習済みモデル(例えば、第1の学習済みモデル、第2の学習済みモデルなど)のセットの各々の決定に応答して、実行される。追加的または代替的には、S220は、エージェントの任意のモジュール(例えば、知覚モジュール、予測モジュール、位置特定モジュール、計画モジュール、ルーティングモジュールなど)の処理時に、それらの時点のサブセットで、かつ/または他の任意の適切な時点で実行することができる。
S220は、好ましくはシステムのコンピューティングシステム、さらに好ましくはオンボードコンピューティングシステムによって実行されるが、追加的または代替的には、複数のコンピューティングシステムによって、リモートコンピューティングシステムによって、かつ/または他の任意のコンポーネントおよび/またはシステムによって実行することができる。
不確実性の値は、入力のセットの何れかまたはすべて、出力のセットの何れかまたはすべて、および/または入力と出力の任意の組合せに関連付けることができる。出力のセットに関連する不確実性の値については、不確実性への様々な寄与が決定されるとともに意思決定において使用され得るように、不確実性の値は好ましくは本方法全体を通じて出力に付随する(そして任意選択的には集計される)。追加的または代替的には、不確実性の値は、それらが求められるたびに個別にチェックおよび/または評価され、かつ/または任意の組合せがそれらの関連する出力とともに本方法を通じて伝えられ、個別にチェックされることができる。
S220は、好ましくは、方法200の間に生成されかつ/または方法200で受信される1または複数の出力に関連する不確実性を特定することを含む。好ましい態様では、これは、少なくともエージェントの学習軌道を含み、好ましくは、エージェントに対して決定されたアクション(例えば、第1の学習済みモデルの出力)も含む。追加的または代替的には、不確実性は、入力のセット、(例えば、マップに基づいて)エージェントに対して決定されたコンテキスト、および/または他の任意の適切な入力および出力のうちの何れかまたはすべてについて特定されることができる。
好ましい態様のセットでは、1または複数の不確実性の値のセットが、(例えば、図5に示すような)モジュールのセットの各々で求められ、モジュールのセットが、コンテキストを考慮した意思決定および車両の学習軌道の生成のために使用される(計画モジュール内のマイクロモジュールともいう)学習済みモデルを少なくとも含む。さらに、不確実性は、エージェント(例えば、知覚モジュール、予測モジュール、位置特定モジュールなど)内の他のモジュール(例えば、学習済みモデルの実行、プログラムされたプロセスの実行など)の何れかまたはすべてについて求めることができる。不確実性の値は、好ましくは、モジュールの学習済みモデルの出力として生成される(例えば、出力としてトレーニングされる、追加の回帰出力としてトレーニングされる)が、追加的または代替的には、1または複数のアルゴリズム、モデル(例えば、別の学習済みモデル)および/または方程式を用いて生成することが可能である。特定の例では、不確実性の値が、(例えば、車両コンテキストと第1の学習モジュールとの間の1:1マッピングを通じて)エージェントの具体的なアクションを決定する第1の学習済みモデルと、(例えば、車両アクションと第2の学習モジュールとの間の1:1マッピングを通じて)エージェントの学習軌道を決定する第2の学習済みモデルとの両方において求められる。追加的または代替的には、不確実性の推定値は、任意の適切な時点で、システムの任意の適切なコンポーネントおよび/または本方法のプロセスに関連して求めることができる。
不確実性の値のセットは、好ましくは、システムが既知の未知数を報告することを可能にするように機能することができる偶然的不確実性(例えば、推定偶然的不確実性、モデル出力として生成される推定偶然的不確実性など)を含む。追加的または代替的には、偶然的不確実性は、観測に固有のノイズを捉えることができる。
特定の例では、例えば、1または複数の学習済みモデルおよび/またはモジュール(例えば、学習済みモデルの第1のセット、学習済みモデルの第2のセットなど)をトレーニングするために使用されるトレーニングデータが霧の画像を含み、システムが良好に動作している場合、高さが非常に正確な誤差範囲で報告され、それによりS230においてフォールバックがトリガーされること(例えば、決定論的軌道が選択および実行されること)が可能になる。
不確実性の値のセットは、さらに好ましくは、システムがその結果の収束に対する信頼を自己報告することを可能にするように機能する認識論的不確実性(例えば、推定認識論的不確実性、モデル出力として生成される推定認識論的不確実性など)を含む。追加的または代替的には、認識論的不確実性は、モデル自体の不確実性を説明するように機能することができ、データを説明するための最良のモデルとして1または複数のモデルを選択することの無知(ignorance)を本質的に捉えることができる。
いくつかの態様(例えば、図8に示すような態様)では、例えば、ルート上の前方望遠カメラからの同じ入力フレームについて報告されたバウンディングボックスの様々な高さが、比較的高い認識論的不確実性を示している可能性があり、これはS230においてフォールバックをトリガーするように機能することができる。特定の例では、5回のモンテカルロの実行から、システムは、検出された隣接車両のバウンディングボックスを、5メートル(m)、1m、2m、3mおよび4mの高さ推定値に割り当てることができる。これは、提供された推定値が3m、3m、3m、3mおよび3mであった場合よりも多くの不確実性を示している。学習済みモデルが自己矛盾する場合、フォールバックをトリガーすることが望ましいと考えられる。
好ましい態様では、学習済みモデルの各々が、ディープネットワークにおける不確実性推定のための最先端のアプローチをサポートして、偶然的不確実性と認識論的不確実性の両方を推定するように設計されており、それにより、モジュールの出力に付随する全体の予測分散を目的の消費者に提供することができる。その後、消費者は、S230において、不確実な決定で車両のバウンディングボックスをプランナに拡張させるなど、知識に基づく決定を下すことができる。出力の不確実性は、任意選択的には(例えば、分布外検出器とともに後述するように)入力の不確実性と融合させて、モジュールのより大きな全体的な不確実性を評価し、フォールバックシナリオをトリガーすることができる。
不確実性の値のセットは、追加的または代替的に、他の任意の統計的不確実性値および/または他の任意の不確実性値を含むことができる。
S220は、任意選択的に、不確実性の値の何れかまたはすべてを集約すること(例えば、融合、結合、加算、乗算的に結合、重み付けで加算など)を含むことができる。
不確実性値のセットを集約することは、任意選択的に、モジュール/モデルに関連する複数のタイプの不確実性を結合するように機能する、各モジュール/モデルなどの全体的な不確実性、好ましくは全体的な予測分散(モジュール全体の不確実性)を求めることを含むことができる。これは、好ましくは、様々なタイプの不確実性(例えば、認識論的および偶然的)を融合することを含むが、追加的または代替的には、他の任意の不確実性を融合することを含むことができる。追加的または代替的には、全体的な不確実性は、他の任意の全体的な不確実性を含むことができる。
好ましい態様では、図5に示すように、モジュール/モデル(例えば、第1の学習済みモデル、第2の学習済みモデル、計画モジュール、知覚モジュールなど)毎に全体的な予測分散(本明細書では同等に、全分散ともいう)が求められ、これが、認識論的および偶然的不確実性を結合(例えば、融合、加算など)して、モジュールの出力に付随するモジュールに関連する全体的な予測不確実性の結合推定値を本方法の次の受信者に提供する。特定の態様では、例えば、受信者(例えば、後続のモデル/モジュール)が、不確実性に基づいて知識に基づく決定を下すことができる。特定の例では、例えば、プランナが、予め設定された閾値を超える前段のモジュールからの不確実性を受信することに応答して、検出された車両のバウンディングボックスを拡張することができる。追加的または代替的には、モジュールに対する不確実性が、フォールバックシナリオをトリガーし、かつ/またはS230における他の任意のプロセスをトリガーし、かつ/または他の方法で実施および/または使用されることができる。
不確実値のセットを集約することは、追加的または代替的に、前段のモジュール/モデルからの不確実性値を組み合わせることを含むことができ、これは、方法全体を通して蓄積された不確実性(例えば、異なるデータソースからの不確実性、異なる出力に関連する不確実性、異なるモジュール/モデルから求められる不確実性など)を考慮するように機能する。異なるモジュール/モデルからの不確実性値は、好ましくは乗算によって集約されて、乗算的不確実性を決定するが、追加的または代替的には、(例えば、重み付け方式で、アルゴリズムで、モデルなどで)加算することができ、かつ/または他の方法で組み合わせることができる。個々の不確実性値は、一緒に集約することができ(例えば、認識論的不確実性値の集約、偶然的不確実性値の集約など)、全体的な不確実性値は、他の全体的な不確実性値(例えば、集約された全体的な予測分散値など)と集約することができ、かつ/または不確実性値は、他の方法で適切に集約することができる。追加的または代替的には、不確実性値は他の方法で組み合わせることができる。
モジュール式の意思決定(例えば、学習済みモデルの第1のセットなど)および学習軌道生成モジュール(例えば、学習済みモデルの第2のセットなど)を実行する第1の態様のセットでは、コンテキストを考慮した学習済み運転ポリシーモデルからの現在の不確実性推定値とともに前段の個々のモジュール(例えば、知覚モジュール、予測モジュール、位置特定モジュールなど)からの乗算的不確実性を使用して、データ駆動型モデルの出力に対する全体的信頼性を確立することが可能である。この不確実性は、任意選択的には、システムスタック全体のいくつかのチェックポイントで使用することができるが、好ましくは、データ駆動型のコンテキストを考慮した運転ポリシーモジュールまたは(例えば、S230で述べたように)フォールバックの古典的な運動プランナにより提供される軌道の間で少なくとも選択するために使用される。追加的または代替的には、前段のモジュールからの不確実性を他の方法で使用することができる。
S220は、好ましくは、方法200の間に(例えば、S210において)受け取られた入力のセットに関連する1または複数の不確実性を決定することを含み、入力に関連する不確実性は、意思決定および/または軌道生成に使用されている入力データが、本方法において1または複数のモデルをトレーニングするために使用されたデータとどの程度分布内(または分布外)であるのかを示すよう機能する。
入力の不確実性は、好ましくは、入力データがトレーニングデータに関して分布外である確率を計算するように機能する分布外検出器を用いて求められる。これらの態様における不確実性は、好ましくは、この分布外である確率(P[分布外])の形式であるが、追加的または代替的には、他の任意の確率パラメータ(例えば、データが分布内である確率)および/または不確実性パラメータを含むことができる。
分布外検出器は、好ましくは、システムおよび方法の固定ルートのユースケースにオーバーフィットするように特に設計およびトレーニングされた(例えば、固定ルート自体からのデータに基づいてトレーニングされた)アルゴリズムを実行し、エージェントが、出発点と目的地との間の1または複数の予め設定された固定ルート上を移動する(例えば、移動のみする、主に移動する)。これにより、エージェントの動作中にテストデータを比較するための強力な事前情報が提供されるとともに、ライブ入力データがトレーニングセットで十分に表現されておらず、学習済みの方法の出力が未定義である場合に、実際の展開中にインスタンスを識別することが可能になる。そのようなインスタンスにおいて、システムは、その後、例えば、S230において、学習済みの方法の未定義の動作が信頼できないため、非常に保守的な古典的運動プランナにフォールバックするか、または緊急回復動作をトリガーするように機能することができる。
分布外検出器は、好ましくは、少なくとも計画モジュールとともに使用され、さらに好ましくは、図3A~図3Dに示すようなコンテキストを考慮した意思決定および軌道生成のためのサブシステム(例えば、第1の学習済みモデルおよび第2の学習済みモデル)とともに使用される。特定の例では、コンテキスト考慮の意思決定および軌道生成のためのサブシステムは、2020年12月17日に出願された米国出願第17/125,668号に記載のシステム、コンポーネント、プロセス、実施形態および/または例のうちの何れかまたはすべてを含むことができ、この出願は、この引用によりその全体が本明細書に援用されるものとする。追加的または代替的には、分布外検出器を、他の計画モジュール(例えば、知覚、予測、位置特定など)、学習済みモデルの第1のセットおよび第2のセットの各々に個別に、かつ/または他の任意のモジュール/モデルに適用することが可能である。
分布外検出に使用される特定のアルゴリズムは、任意選択的に、入力タイプ(例えば、点群データ対画像データ対自己姿勢情報)に依存することができ、これは、例えば、分布外検出器とともに動作している特定のモジュールに基づいて決定することができる。分布外検出は、好ましくは、変分オートエンコーダおよび/または密度推定法を使用するが、追加的または代替的には、他の任意のモデル、アルゴリズム、方程式、決定木および/または他の任意の適切なツールを含むことができる。このアプローチは、データ駆動型のコンテキストを考慮した運転ポリシーモジュールおよび/またはフォールバックの古典的な運動プランナによって提供される軌道の間で選択することなど、方法全体を通して複数のプロセスに適用され得る。
分布外検出器は、さらに好ましくは、ラベル付けされた例を介して未知の未知数を完全に表現することの制限(例えば、不可能性、困難性など)を説明するように機能する教師なし学習でトレーニングされるが、追加的または代替的には、教師あり学習、両方の組合せ、および/または他の任意のトレーニングプロセスに基づいて、トレーニングされるものであってもよい。
好ましい態様では、分布外検出器が、好ましくは、教師なし学習を介して「正常な」データ(分布内の例)でトレーニングされた(例えば、図6に示すような)敵対的生成ネットワーク(GAN)に基づくアルゴリズムを含み、それにより分布外検出のパフォーマンスが可能になる。GANは、好ましくは、特定のルートへの単純なオーバーフィッティングを可能にするとともに分布外サンプルに関する検出器の性能を向上させる、この分布内の低い分散を有する有意な量の分布内の例を提供するように構成され、これは、エージェントの繰り返される固定ルートを含むアプリケーションに基づいて有効化および/またはサポートされる。追加的または代替的には、分布外検出器は、任意の適切な方法で、かつ/または任意の適切なユースケース(例えば、固定されていないルート/動的に決定されるルート)に対してトレーニングされた他の任意のアルゴリズムおよび/またはモデルを含むことができる。さらに、追加的または代替的には、分布外検出器は、他の任意のアーキテクチャ、例えば、統計的プロファイリングプロセス(例えば、ヒストグラム、状態ベクトルマシン、最近傍ベースのプロセスなどを使用)、異常検出のための他のアーキテクチャ、他の敵対的に学習されたプロセス、および/または他の任意の適切なプロセスおよび/またはツールに限定されるものではないが、これらの何れかまたはすべてを使用することができる。
分布外検出器は、好ましくは、入力のセットの環境表現(例えば、上述のように、完全な環境表現など)、さらに好ましくは、環境表現の潜在空間表現を使用しかつ/または相互作用するが、追加的または代替的には、潜在空間表現なしで、かつ/または入力のセットの何れかまたはすべてとともに実行される。(例えば、図3Aに示すように)好ましい態様では、分布外検出器、学習軌道を決定するためのモジュール、およびフォールバック運動プランナはすべて、環境表現(例えば、同じ環境表現、完全な環境表現など)を受け取る。
特定の例のセットでは、分布外検出器が、トレーニングデータの通常の変動を取り込む分布内の例(例えば、固定ルート上で遭遇する通常の運転シナリオ)でトレーニングされたGANと、完全環境表現入力から学習済み潜在空間表現の対応位置への高速マッピングを可能にする後続エンコーダトレーニングアプローチとを含む。検出中、所与のクエリ入力データに対する潜在空間位置は、予めトレーニングされたジェネレータおよびディスクリミネータを使用することによって不確実性スコアをもたらす反復バックプロパゲーションを実行することによって決定される。
分布外検出器の使用例では、(例えば、図7に示すように)倒木の場合、1または複数のモデルをトレーニングするためのデータ収集(例えば、固定ルート上で収集)中に取り込まれた通常の運転シナリオのトレーニングデータのセットに含まれない状況を示すことができる。したがって、これは、意思決定モジュールにとって異常(分布外サンプル)となる。データ駆動型モデルはこのような入力に対してトレーニングされたことがないため、それによって生成される出力には何の保証もなく、出力は本質的に定義されない。この例では、計画モジュールより上流にあるすべての要素の完全なパフォーマンスが想定されていても、学習軌道のジェネレータがこの特定の状況に対して一度もトレーニングされていないため、エージェントは何の警告もなく木に衝突する危険性がある。しかしながら、上記のような分布外検出器(例えば、GANベースの分布外検出器)では、倒木は潜在空間において内容表現を持たない可能性が高いため、GANを用いた態様では、GANのディスクリミネータが、検出を行うために使用する顕著な特徴(高い残差)を持つことになるであろう。このアプローチでは、GANディスクリミネータが、入力がトレーニングセットの外側にある十分に高い確率を推定して、データ駆動型意思決定モジュールの出力に高い不確実性スコアを割り当て、それが、軌道を生成するための従来のプログラムされたフォールバックシステムの使用など、本方法の後続のプロセスをトリガーすることができる。
分布外検出器によって求められたパラメータ(例えば、確率)の何れかまたはすべては、任意選択的に、相互(例えば、他のモジュールからの他の確率)、他の不確実性値(例えば、認識論的不確実性、偶然的不確実性など)および/または他の適切な情報のうちの何れかまたはすべてと集約(例えば、融合、加算、乗算、加重方式で結合、規則で結合など)することが可能である。追加的または代替的には、分布外検出器のパラメータは、他の値から独立したままであり、かつ/または他の方法で実施することができる。
追加的または代替的には、S220は、方法200の間および/または前に受信および/または生成された入力および/または出力のうちの何れかまたはすべての不確実性(例えば、低い信頼度、高い分散など)に関連する他の任意のパラメータを求めることを含むことができる。
第1の態様のセットでは、S220は、入力データが分布外である確率を分布外検出器で求めること、1または複数の学習済みモデル(例えば、第2の学習済みモデル、第2の学習済みモデルと第1の学習済みモデルなど)で生成された学習軌道に関連する不確実性値のセットを求めること、任意選択的に、学習済みモデル(例えば、第1の学習済みモデル)で学習軌道を決定するために使用される中間出力(例えば、アクション)に関連する不確実性値のセットを求めること、任意選択的に、エージェントの動作中に使用される他の任意のモジュールに関連する不確実性値を求めること、並びに、任意選択的に、不確実性パラメータのうちの何れかまたはすべてを集約することを含む。
特定の例のセットでは、S220は、エージェントによって受信された情報を含む環境表現が分布外である確率を分布外検出器(例えば、GAN)で求めること、学習済みモデル(例えば、第1の学習済みモデルおよび第2の学習済みモデル)の各々に関連する偶然的および認識論的不確実性値を求めること、偶然的および認識論的不確実性値を融合して各モデルに関連する全体的な予測分散を求めること、並びに、(例えば、乗算的不確実性を求めるために)複数のモデルからの不確実性値を集約することを含む。追加的または代替的には、他の任意のモジュールおよび/またはモデルから不確実性を求める(例えば、集約する)ことができる。
第2の特定の例のセットでは、S220は、モデルのセットの各々について:エージェントによって受信された情報を含む環境表現が分布外である確率を分布外検出器(例えば、GAN)で求めること、学習済みモデル(例えば、第1の学習済みモデル、第2の学習済みモデル)に関連する偶然的および認識論的不確実性値を求めること、偶然的および認識論的不確実性値を融合して各モデルに関連する全体的な予測分散を求めること、並びに、(例えば、乗算的不確実性を求めるために)複数のモデルからの不確実性値を集約することを含む。追加的または代替的には、他の任意のモジュールおよび/またはモデルからの不確実性を求める(例えば、集約する)ことができる。
第3の特定の例のセットでは、S220は、エージェントによって受信された情報を含む環境表現が分布外である確率を分布外検出器(例えば、GAN)で求めること、学習済みモデル(例えば、第1の学習済みモデルおよび第2の学習済みモデル)の各々に関連する偶然的および認識論的不確実性値を求めること、任意選択的に、偶然的および認識論的不確実性値を融合して各モデルに関連する全体的な予測分散を求めること、任意選択的に、(例えば、乗算的不確実性を求めるために)複数のモデルからの不確実性値を集約すること、分布外検出器からの出力で、全体的な予測分散および/または乗算的不確実性を集約すること、並びに、任意選択的に、他のモジュールおよび/またはモデルからの不確実性を求めることを含む。
追加的または代替的には、S220は、入力データの異常を観察するために、かつ/または出力のセットに関連する不確実性を判定するために、他の任意の適切なプロセスを実行することができる。
4.4 方法-不確実性パラメータのセットを評価し、任意選択的にアクション/プロセスをトリガーするステップS230
方法200は、不確実性パラメータのセットを評価し、任意選択的にアクションおよび/またはプロセスをトリガーするステップS230を含み、これは、本方法において受け取った入力のセット、本方法により生成された出力のセット、本方法の任意のプロセス、および/またはパラメータの任意の組合せのうちの何れかまたはすべての信頼性を評価し、それに応じて応答するように機能する。追加的または代替的には、S230は、1または複数のプロセスおよび/またはコンポーネントをトリガーし、複数の出力オプションの間で選択し、1または複数のプロセスのスキップをトリガーし(例えば、緊急プランナに直接進み)、1または複数のプロセスのパフォーマンスを変え、システムの安全性を確保し、決定論的軌道の決定を可能にするように機能し、かつ/または1または複数の他の任意の適切な機能を実行することができる。
S230は、好ましくは、S220に応答して、例えば、各不確実性パラメータおよび/または不確実性パラメータのサブセットの決定、特定の不確実性パラメータおよび/または関連モデル/モジュール(例えば、第2の学習済みモデルの不確実性、分布外確率など)の決定、本方法の他の任意のプロセスのパフォーマンス(例えば、学習済みモデルおよび/またはモジュールのパフォーマンス)、および/または1または複数の他の任意の適切な時点のうちの何れかまたはすべてに応答して実行される。S230は、本方法を通して複数回、一回(例えば、ゲートキーパで)、連続的に、所定の頻度で、間隔のセット(例えば、ランダムな間隔)で、トリガーに応答して、かつ/または他の任意の適切な時点、のうちの何れかまたはすべてにおいて実行されることができる。
S230は、好ましくは、上述したようなコンピューティングシステム、さらに好ましくはオンボードコンピューティングシステムで実行されるが、追加的または代替的には、他の任意の適切なコンポーネントおよび/またはシステムで実行することができる。
S230は、好ましくは、S220で求められた不確実性値のうちの何れかまたはすべてを評価することを含み、1または複数の不確実性値を評価することは、1または複数の値を1または複数の閾値のセット(例えば、予め設定された閾値、動的に決定される閾値など)と比較すること、1または複数の値を規則および/または制約のセット(例えば、交通規則、最小制動距離、最大加速および/または最大減速、最大および/または最小速度制約などの車両動作の予め設定された制約など)と比較すること、1または複数の不確実性値およびアルゴリズムおよび/またはモデルを用いて他のパラメータを計算すること、および/または、他の方法で1または複数の値を評価することのうちの何れかまたはすべてを含むことができる。
不確実性値を評価することは、好ましくは、不確実性が高過ぎるとみなされるかどうかを判定するように機能するが(例えば、車両が適切に反応することを確信するため、モデルによって生成された出力を信頼するためなど)、追加的または代替的には、エージェントが交通法を遵守し、他の車両にとって驚き、不都合および/または危険ではない方法で動作し、かつ/または他の任意の機能を実行するように機能する。
好ましい態様では、例えば、運転が複数車両環境で行われるため、先回りした安全性も重要である。このため、自己車両は、他の運転者に混乱や不安を与えて危険な状況に陥らないように、(衝突を回避する場合を除き)急ブレーキや不規則な運転をしてはならない。部分的には、これは滑らかな軌道に最適化することによって既に促進されているが、厳しい制約を加えることによって、エージェントがこれらの状況を確実に回避することができる。
不確実性値は、一緒に(例えば、集約される場合)、個別に、かつ/または両方の任意の組合せのうちの何れかまたはすべてにおいて評価することができる。
S230は、好ましくは、不確実性値に基づいて軌道の検証をチェックし、フォールバック運動プランナからのフォールバック軌道を使用すべきかどうかを判定することを含み、これは、エージェントが従うべき軌道を決定し、任意選択的には、フォールバックシナリオがトリガーされるかどうかを決定するように機能する。
これは、好ましくは、(例えば、図3Aに示すように、図16に示すように)検証レイヤのゲートキーパで実行され、ゲートキーパは、好ましくは、分布外検出器、学習軌道を決定するためのコンピューティングシステムおよび/または学習済みモデル、およびフォールバック運動プランナと通信するが、追加的または代替的には、エージェントの制御システムおよび/または他の任意の適切なコンポーネントおよび/またはモジュールと通信することができる。
ゲートキーパに渡される情報は、好ましくは、学習軌道に関連する出力の不確実性値(例えば、認識論的および偶然的不確実性、複数のモジュールからの集約された不確実性、全体的な予測分散など)、分布外検出器からの確率、およびフォールバック運動プランナからのフォールバック軌道を含むが、追加的または代替的には、他の任意の情報(例えば、入力のセット)、不確実性値または他の情報のサブセット(例えば、最初はフォールバック軌道がない)、他の不確実性値および/または任意の組合せを含むことができる。
ゲートキーパは、好ましくは、分布外確率を、本明細書において閾値「T」という上限閾値と比較し、分布外確率が上限閾値を超える場合、(例えば、フォールバック軌道が制約のセットを後で満足する場合)フォールバック軌道が実施される。追加的または代替的には、分布内確率(信頼性)を、より低い閾値と比較することができ、複数の閾値を実装することができ、かつ/またはゲートキーパを他の方法で動作させることができる。
学習済みモデル(例えば、第2の学習モジュール、軌道生成のための学習済みモデルなど)において不確実性値が閾値Tを超えて、学習済みモデルがその出力を信頼するのに十分でない可能性を示す場合、ゲートキーパは、好ましくは、決定論的な一連の動作を実行することができるフォールバック運動プランナによって決定されたプログラムされた(古典的な)フォールバック軌道に切り替える。プランナは、好ましくは、現在の状態から次の目標状態への安全かつ効率的な経路を出力するように設計され、低速、低加速、高減速、および/または進行よりも安全を優先する他の任意の特徴のうちの何れかまたはすべてを規定することができる。
好ましい態様のセットでは、例えば、図4に示すように、軌道生成モジュールの分布外検出器によって決定され、zとして示される分布外確率値(0と1の間の値を有する)は、ゲートキーパに送られ、ゲートキーパがzの値を調整された閾値Tと比較する。zの値がTの値を超える場合、モジュールからの学習軌道は、好ましく無視され、プログラムされたフォールバック軌道が辿られる。図4の具体例では、学習された出力を無視するために分布外検出が使用されている。ここで、xは、テスト時点における入力データを示し、yは、zの学習済みモデルの出力を示し、wは、所与の状況に対する古典的にプログラムされたフォールバック応答を示し、zは、xがyを学習するためのトレーニング分布の外にあるという推定確率P(分布外)[P(ODD)]を示し、Tは、z>Tならyではなくwを実施するための閾値を示している。
Tの値は、好ましくは、高過ぎる値または低過ぎる値を防ぐように調整される。閾値Tが高過ぎる場合、実際のエッジケースまたは異常なシナリオが必要なフォールバックを生成しない可能性があり、Tの値が低過ぎる場合、通常のシナリオの僅かな変動に対してもフォールバックがトリガーされる可能性があるからである。
これらの態様の固定ルートのユースケースでは、限られた通常のシナリオとその分散に関する強い事前情報があるため、他のユースケースよりも、より保守的な閾値Tを選択することができ、フォールバックシナリオが特定のルート上で以前に見られなかった異常なケースでのみトリガーされ、それ自体は非常に稀にしか発生することはない。これは、ロボットタクシーのユースケースのような、より大きなODDを有するユースケース(例えば、ジオフェンス領域を使用)とは対照的であり、分布内の例は非常に高い分散を有し、分布外の例を確実に識別することを困難にしている。この特定の例では、T値が保守的に選択される場合、フォールバックが非常に頻繁にトリガーされることになり、それにより乗客に迷惑をかけるだけでなく、目的地への進行が極端に遅くなる可能性がある。
S230は、任意選択的に、別の閾値との比較を含むことができ、不確実性値が第1の閾値(例えば、上限閾値など)よりも大きい第2の閾値を超える場合、入力が極めて異常であり、過度に慎重にプログラムされた運動プランナでさえ信頼できない(例えば、すべてのセンサからのデータが受信されずに知覚喪失を生じている)という表示がなされる。そのようなインシデントの間、システムは、後述するように、緊急プランナを使用して、フェイルセーフ回復動作をデフォルトにすることができる。
図10A~図10Cに示す具体例では、例えば、周囲の世界の情報を提供するセンサの何れかまたはすべてが故障し、エージェントが突然「知覚を失った状態」となっている。第2の時点と称する事象発生時に、車両によって見られる世界が図10Bに示されている。図10Aは、第2の時点より前の第1の時点を示し、図10Cは、第2の時点より後の第3の時点を示している。上記のようなアーキテクチャがない場合、フェイルセーフの保守的な反応は、ブレーキを踏んで直ちに停止することである。しかしながら、これにより、後から追突される可能性が高くなる。好ましい態様では、上記のような事象発生時に、スタックは、図10Cに示すように、エージェントの知覚モジュールおよび予測モジュールから最小リスク世界表現を生成するフェイルセーフレイヤにデフォルト設定される。これにより、エージェントが緊急ウインカを点灯して安全な減速率で停止するのに十分な時間があることを示す、最小限の必須情報が計画モジュールに提供される。一方、車両を停止させるためにフェイルセーフ動作が進行中であるため、センサが再びオンになると、スタックは、他の道路利用者に長時間の迷惑をかけることなく、その通常の動作状態に戻ることができる。
ゲートキーパは、さらに好ましくは、出力の不確実性値の何れかまたはすべてを1または複数の閾値、規則および/または制約と比較し、どちらの軌道も満足できない場合に緊急プランナをトリガーするように機能することができる。追加的または代替的には、これは、モジュールからの出力が信頼できるかどうかを判定すること、どのモジュールが信頼できない可能性があるのか(例えば、それにより、そのパフォーマンスが変更される可能性があること、その出力が変更される可能性があることなど)を判定すること、モジュールおよび/または値に基づいて特定のフォールバックシナリオをトリガーすること、および/または1または複数の他の任意の機能を実行すること、のうちの何れかまたはすべてを実行するように機能することができる。
いくつかの態様では、例えば、任意の段階での不確実性(例えば、認識論的不確実性、偶然的不確実性、全体的な分散など)が閾値の外にあり(例えば、閾値を超え)、学習済みモデルがそれ自体の出力を信頼するのに十分ではない可能性を示す場合、過度に慎重なフォールバック運動プランナが呼び出されて決定論的な一連のアクションを実行することができる。例えば、50メートルの範囲における物体検出位置について±0.5メートルの全体的な分散(例えば、融合した認識論的および偶然的不確実性)(および/または他の分散[例えば、認識論的不確実性、偶然的不確実性など])の閾値を使用することが適当である場合がある。これは、過剰な分散が、適切に(例えば、安全に、衝突等せずに)物体の周りをナビゲートするシステムの能力を制限し得るためである。
特定の例(例えば、図9A~9Cに示すように)では、高い不確実性が、コンテキスト(例えば、建設現場におけるコンテキスト)を検証する際の低い信頼性に起因する可能性があり、この例では、高速の複数車線の高速道路のコンテキストが高速の単一車線のコンテキストに減少している。知覚モジュールなどの前段の学習モジュールからの不確実性は、過度に慎重な古典的運動プランナへのフォールバックに使用することができ、フォールバックプランナは、現在の状態から次の目標状態への安全かつ効率的な経路を出力するように設計されている。追加的または代替的には、緊急プランナを呼び出すことができる。
トレーニングセットが大きく高品質である特定の例のセットでは、夜間画像を含まないことを除いて、ネットワークは理論上、ヘッドライトを介して依然として車を検出することを学習し、3.00m±0.01m、3.01m±0.02m、2.99m±0.02mなどの確実な高品質の推定値を与えることが可能である。分布外検出は、ネットワークが自己矛盾なく信頼できるものであっても、入力データが大きく異なるため、おそらくフォールバック(例えば、プログラムされた決定論的軌道)を慎重にトリガーする必要があることを検出することができる。システムが機能していても、この例ではODDとトレーニングデータとの間に不一致があるため、フォールバックは原則的にあり得る。
S230は、任意選択的に、ゲートキーパにおける軌道のセット(例えば、学習軌道、フォールバック軌道など)の検証プロセス(例えば、出力の不確実性に基づく、分布外値の確率に基づく、両方のタイプに基づく検証プロセスなど)の結果が、空集合(検証された軌道なし)である場合、かつ/またはすべての候補軌道(例えば、学習軌道、プログラムされた軌道、学習およびプログラムされた軌道など)が予め設定された閾値を超える不確実性を伴う場合に、(例えば、後述するように)緊急プランナを呼び出すことを含むことができる。
不確実性パラメータは、学習済みモデルおよび/またはモジュールの出力(例えば、知覚出力、コンテキスト、アクション、軌道など)、入力および分布外検出器、および/または任意の組合せのうちの何れかまたはすべてと関連付けることができる。
好ましい態様では、例えば、緊急プランナは、学習軌道およびプログラムされた軌道の一方または両方に関連する1または複数の出力の不確実性値(例えば、全体的な分散、偶然的不確実性、認識論的不確実性など)が閾値を超える場合(かつ/またはそれらの出力が他の方法で制約および/または規則のセットを満たさない場合)と、分布外検出器によって求められた確率(分布外)が上限閾値を超える(例えば、Tより大きい)場合のうちの、一方または両方にてトリガーされる。追加的または代替的には、緊急プランナは、他の方法でトリガーされ、かつ/または常に出力を生成する(例えば、必要なときにのみ使用される)ことができる。
特定の例では、閾値のセットが、上限閾値のセットを含み、不確実性(例えば、分布外の確率、偶然的不確実性、認識論的不確実性、全体的な分散など)がその閾値を超えた場合にフォールバックプランナ/緊急プランナがトリガーされ、さらに好ましくは、複数の上閾閾値のセットを含み、フォールバック応答が低い方の上限閾値(例えば、T)、例えばプログラムされたフォールバック軌道に対してトリガーされ、第2の応答が、高い方の上限閾値、例えば緊急プランナによる最小リスク世界表現の実施に対してトリガーされる。追加的または代替的な態様では、第2の応答は、プログラムされたフォールバック軌道が予め設定された閾値を超える不確実性(例えば、認識論的不確実性、偶然的不確実性、全体的な分散、他の不確実性など)を有することに応答して実施される。追加的または代替的には、閾値は他の方法で実施されることができる。
緊急事態プランナは、好ましくは、最小リスク世界表現に従って、車両の知覚および/または予測モジュールからの入力のみで決定論的な一連のアクションを決定するが、追加的または代替的には、任意の適切な情報(例えば、不確実性を超えるモジュールに先立つすべてのモジュール情報)に基づいて他の任意の適切な出力を生成することができる。
いくつかの態様では、ゲートキーパで複数の厳しい制約を同時に組み合わせると、実現可能な軌道のセットが空になる可能性がある。例えば、自車は、衝突を回避するために、候補軌道(例えば、学習軌道、フォールバック軌道など)において急旋回または急制動をしなければならない場合がある。特定の例では、緊急プランナが軌道を実現するためにトリガーされ、厳しい制約階層は(厳しい制約のまま)衝突回避を最優先とし、二次制約は、この種の安全運転喪失に違反した場合の大きな罰則を追加するように動作計画最適化問題を変更することによって緩和される。
周辺世界の情報を提供するすべてのセンサが故障した特定の例では、自己車両がある時点tに突然「知覚を失った状態」になる。この場合、時点t<tおよびt≧tにおける、車両によって見られる世界は、図10(A)に示される通りである。そのような状況では、上記のようなアーキテクチャがなければ、フェイルセーフの保守的反応は、ブレーキを踏んで直ちに停止することである。しかしながら、図10(B)に見られるように、これでは追突される可能性が高くなる。その代わりに、上述したような事象発生時に、スタックは、図10(C)に示すように、エージェントの知覚モジュールと予測モジュールから最小リスク世界表現を生成する緊急プランナにデフォルト設定することができる。これにより、自己車両が緊急ウインカを点灯して安全な減速率で停止するのに十分な時間があることを示す最小限の必須情報が計画モジュールに提供される。一方、車両を停止させるために緊急プランナ動作が進行中であるため、センサがオンに戻ると、スタックは、好ましくは、他の道路利用者に長時間の迷惑をかけることなく、その通常の動作状態に戻る。追加的または代替的には、これを他の方法で適切に実行することができる。
S230は、任意選択的に、不確実性値の何れかまたはすべてを考慮して、1または複数のモジュールのパフォーマンスおよび/または1または複数のモジュールによって生成される出力を変更することを含むことができる。これは、例えば、プロセスをスキップすること、および/またはプロセス(例えば、モジュールプロセス、学習済みモデルパフォーマンスなど)を並べ替えることを含むことができる。特定の例では、エージェントに選択されたコンテキストが高い不確実性を伴う場合、本方法は、学習済みモデルのセットによる軌道の決定をスキップし、代わりにフォールバック運動プランナからのプログラムされた軌道を使用し、かつ/またはフェイルセーフレイヤに戻すことができる。他の特定の例では、本方法は、エージェントが取るべき別のアクション(例えば、予め設定されたフォールバックアクション、ディープデシジョンネットワークによって生成された次に高い信頼性のアクション、ディープデシジョンネットワークによって生成および提案されたアクションと同程度に高い信頼性のアクションなど)を選択することを含むことができる。
S230は、追加的または代替的に、(例えば、上述したように)バウンディングボックスのサイズを変更することなど、1または複数のモジュールおよび/またはモデルのパフォーマンスを変更することを含むことができる。
さらに、S230は、追加的または代替的に、不確実性に基づいてモジュール/モデルの出力を調整すること、および/または1または複数の任意の適切な方法で本方法を他の手法で実行することを含むことができる。
第1の態様では、S230は、ゲートキーパで候補軌道のセットの妥当性を確認すること(ただし、候補軌道は、学習済みモデルによって生成された学習軌道と古典的運動プランナによって生成されたフォールバック軌道のうちの一方または両方を含む);分布外検出器からの確率(分布外)が予め設定された閾値(例えば、T)を超える場合に、学習軌道を考慮から除外すること;学習軌道に関連する出力の不確実性の何れかまたはすべてが予め設定された閾値を超える場合、学習軌道を考慮から除外すること;並びに、スタックの出力に関連する出力の不確実性のセットの何れかまたはすべてが第2の予め設定された閾値を超え(例えば、前の閾値を超え)、確率が予め設定された上限閾値を超え、かつ/または候補軌道のセットが空である場合に、緊急プランナを起動させることを含むことができる。
追加的または代替的には、S230は、方法200全体を通じて(例えば、すべての出力の計算時に)、かつ/または他の任意の適切な時点で不確実性をチェックすることを含むことができる。
特定の例のセットでは、S230は、軌道生成に関与する計画モジュールについて、任意選択的にはスタック内の1または複数の他のモジュール/各モジュールについて、教師なし分布外検出器を採用して、不確実性パラメータ(例えば、確率[分布外])の計算を通じてそのモジュールの入力空間における異常を観察し、異常の程度が閾値を超えることが分かった場合、フォールバックシナリオがトリガーされ得ることを含む。出力の不確実性(例えば、少なくとも偶然的および認識論的不確実性を含む)は、さらに好ましくは、選択された軌道(例えば、学習軌道、フォールバック軌道など)が信頼できることを保証するために1または複数の閾値および/または制約と比較され、信頼できない場合に、緊急プランナをトリガーすることができる。
緊急プランナの特定の例では、例えば、この不確実性が上限閾値を超え、フォールバックレイヤを含むシステムのいずれもが信頼できないことを示す場合(例えば、図10A~図10Cに示すように、すべてのセンサからのデータが受信されずに知覚喪失を生じている場合)、車両は(例えば、後述するように)フェイルセーフ回復動作をデフォルトに設定することができる。サブモジュールの各々の不確実性推定値を利用することにより、残留リスクケース(自律スタックが処理することが不可能なシナリオ)の間においても、エージェントが名目上の安全性で実行することができることが保証される。
さらに、S230は、他の任意の適切な処理を含むことができ、かつ/または他の方法で実行することができる。
4.5 方法-任意選択的なプロセス
本方法は、他の任意の適切なプロセス、例えば、選択された軌道(例えば、学習軌道、フォールバック軌道、緊急プランナ軌道など)に従って車両を動作させること、軌道に基づいて制御コマンドのセットを決定すること、制御コマンドのセットに基づいて車両を動作させること、および/または他の任意の適切なプロセスのうちの何れかまたはすべてをさらに含むことができる。
5.実施態様
システム100の第1の態様では、本システムが、エージェントの学習軌道の決定に関与する少なくとも1または複数の学習済みモデルのセットを具備および/または実装するコンピューティングシステムと、分布外検出器と、ゲートキーパと、フォールバック運動プランナと、緊急プランナとを含む。追加的または代替的には、本システムは、他のモジュール(例えば、計画、予測、位置特定など)、エージェントのコントローラ、センサシステム、および/または他の任意のコンポーネントおよび/またはコンポーネントの組合せのうちの何れかまたはすべてを具備および/または実装することができる。
特定の例では、コンピューティングシステムが、エージェントに搭載されている。追加的または代替的な例では、コンピューティングシステムの何れかまたはすべてが、エージェントから離れている。
追加的または代替的には、システム100は、他の任意の適切なコンポーネントおよび/またはコンポーネントの組合せを含むことができる。
方法200の第1の態様では、本方法が:入力のセットを受け取るステップであって、入力のセットが、自律エージェントのセンサシステムからのセンサ情報と、ルート(例えば、固定ルート)に割り当てられたコンテキストのセットおよび/またはエージェントの潜在的ルートを示すラベル付きマップとを含み、エージェントのコンテキストが、マップおよびセンサ情報に基づいて決定され、環境表現が、入力のセットに基づいて決定されるとともに、学習済みモデルのセット、分布外検出器およびフォールバック運動プランナで受信される、ステップと;任意選択的に、第1の学習済みモデルで、アクションおよび関連する出力の不確実性(例えば、偶然的および認識論的)を求めるステップと;第2の学習済みモデルで、学習軌道および関連する出力の不確実性(例えば、偶然的および認識論的)を求めるステップと;フォールバック運動プランナでフォールバック軌道を求めるステップ(例えば、学習軌道およびフォールバック軌道がゲートキーパを通過する)と;任意選択的に、(例えば、学習軌道およびフォールバック軌道がどちらも受け入れられない場合に、バックアップとして有するために)緊急プランナで回復動作および/または回復軌道を求めるステップと;分布外検出器で入力データが分布外である確率を求めるステップと;1または複数の学習済みモデル(例えば 第2の学習済みモデル、第2の学習済みモデルと第1の学習済みモデルなど)で生成された学習軌道に関連する不確実性値のセットを求めるステップと;任意選択的に、不確実性パラメータの何れかまたはすべてを集約するステップと;ゲートキーパで候補軌道のセットの妥当性をチェックするステップであって、候補軌道が、学習済みモデルによって生成される学習軌道および古典的運動プランナによって生成されるフォールバック軌道のうちの一方または両方を含む、ステップと;分布外検出器からの確率(分布外)が予め設定された閾値(例えば、T)を超える場合に、学習軌道を考慮から除外するステップと;学習軌道に関連する出力の不確実性の何れかまたはすべてが予め設定された閾値を超える場合に、学習軌道を考慮から除外するステップと;スタック内の出力に関連する出力の不確実性のセットの何れかまたはすべてが第2の予め設定された閾値を超え(例えば、前の閾値を超え)、確率が予め設定された上限閾値を超え、かつ/または候補軌道のセットが空である場合に、緊急プランナをトリガーさせるステップとを含む。
特定の例では、図3に示すような分布外検出器が実装され、これは、軌道選択のための不確実性推定(分布外検出)とともに、データ駆動型のモジュール式意思決定および軌道生成モジュールを含むアーキテクチャを示している。分布外検出器は、好ましくは、学習軌道ジェネレータと同じ入力を取り入れ、その入力データが、学習済みモデルをトレーニングするために使用したトレーニングデータと一致するか否かについての分類確率zを、不確実性値のセットの計算に基づいて出力する。この分類確率分布[0,1]は、学習済みモデルの出力の不確実性の推定値として使用される。入力xがトレーニング分布からのものではない推定確率zがある閾値Tを超える場合、古典的なフォールバック手法に頼ることを選択することができる。入力xに対して高い不確実性で学習済みモデルが生成した、不正確である可能性の高い出力yは無視される。
特定の例では、上述のものに加えて、またはその代わりに、S215は:任意選択的に、マップに基づいてコンテキストを受信および/または決定すること;任意選択的に、(例えば、コンテキストから第1の学習済みモデルへの1:1のマッピングに基づいて)複数の学習済みモデルの第1のセットのなかから単一の第1の学習済みモデルを選択すること;任意選択的に、第1の学習済みモデルで車両のアクションを決定すること;任意選択的に、複数の学習済みモデルの第2のセットのなかから第2の学習済みモデルを選択すること;第2の学習済みモデルで学習軌道を決定すること;古典的運動プランナで、プログラムされたフォールバック軌道を決定すること;並びに、任意選択的に、エージェントの回復動作および/または軌道を決定することを含む。
追加的または代替的には、本方法は、1または複数の他の任意の適切なプロセスおよび/または任意の適切な順序で実行されるプロセスの組合せを含むことができる。
簡潔にするために省略したが、好ましい実施形態は、様々なシステムコンポーネントおよび様々な方法プロセスのあらゆる組合せおよび置換を含み、方法プロセスは、任意の適切な順序で、順次または同時に実行することができる。
当業者であれば、上述した詳細な説明、図面および特許請求の範囲から認識できるように、以下の特許請求の範囲で特定される本発明の範囲から逸脱することなく、本発明の好ましい実施形態に修正および変更を加えることができる。

Claims (21)

  1. 自律エージェントの軌道を生成する方法であって、
    ・入力のセットを受け取るステップと、
    ・分布外検出器により、前記入力のセットに基づいて、入力の不確実性を求めるステップと、
    ・1または複数の学習済みモデルのセットにより、自律エージェントの学習軌道を生成するステップと、
    ・学習軌道に関連付けられかつ前記1または複数の学習済みモデルのセットで求められた出力の不確実性を求めるステップと、
    ・古典的な運動プランナで、プログラム軌道を求めるステップと、
    ・ゲートキーパで、
    ・学習軌道およびプログラム軌道を含む候補軌道のセットと、
    ・入力の不確実性と、
    ・出力の不確実性とを受信するステップと、
    ・前記ゲートキーパで、
    ・入力の不確実性が第1の閾値を超える場合、候補軌道のセットから学習軌道を除外し、
    ・出力の不確実性が第2の閾値を超える場合、候補軌道のセットから学習軌道を除外し、
    ・候補軌道のセットを制約のセットと比較し、
    ・比較に基づいて最終軌道を決定するステップと、
    ・前記最終軌道に基づいて自律エージェントを動作させるステップとを備えることを特徴とする方法。
  2. 請求項1に記載の方法において、
    候補軌道のセットに関連する第3の不確実性が第3の閾値を超える場合に、緊急プランナを呼び出して、エージェントの決定論的アクションのセットを決定することを特徴とする方法。
  3. 請求項2に記載の方法において、
    前記緊急プランナが、第2の入力のセットを受信し、前記第2の入力のセットが、自律エージェントの知覚モジュールおよび予測モジュールから受信されることを特徴とする方法。
  4. 請求項3に記載の方法において、
    前記緊急プランナが、前記第2の入力のセットのみを受信することを特徴とする方法。
  5. 請求項1に記載の方法において、
    入力の不確実性が、前記第1の閾値よりも大きい前記第2の閾値を超える場合に、緊急プランナを呼び出して、エージェントの決定論的アクションのセットを決定するステップをさらに含むことを特徴とする方法。
  6. 請求項1に記載の方法において、
    前記1または複数の学習済みモデルのセットが、複数の学習済みモデルを含むことを特徴とする方法。
  7. 請求項6に記載の方法において、
    ・前記1または複数の学習済みモデルのセットのうちの第1の学習済みモデルにより、エージェントのアクションを決定するステップと、
    ・前記アクションに基づいて第2の学習済みモデルを選択するステップと、
    ・前記第2の学習済みモデルにより、学習軌跡を決定するステップとをさらに含むことを特徴とする方法。
  8. 請求項7に記載の方法において、
    前記第2の学習済みモデルが、前記アクションから前記第2の学習済みモデルへの1:1のマッピングに基づいてさらに選択されることを特徴とする方法。
  9. 請求項6に記載の方法において、
    出力の不確実性が、複数の学習済みモデルの各々に関連付けられたモデルの出力の不確実性のセットに基づいて決定される集約された不確実性を含むことを特徴とする方法。
  10. 請求項1に記載の方法において、
    出力の不確実性が、偶然的不確実性および認識論的不確実性を含むことを特徴とする方法。
  11. 請求項1に記載の方法において、
    前記分布外検出器が、敵対的生成ネットワークを含むことを特徴とする方法。
  12. 請求項1に記載の方法において、
    前記最終軌道が、自律エージェントに規定された固定ルートに沿っていることを特徴とする方法。
  13. 自律エージェントの軌道を決定する方法であって、
    ・入力のセットを受け取るステップと、
    ・前記入力のセットに基づいて、自律エージェントの環境表現を決定するステップと、
    ・分布外検出器により、前記環境表現に基づいて入力の不確実性を求めるステップと、
    ・1または複数の学習済みモデルのセットにより、自律エージェントの学習軌道を生成するステップと、
    ・学習軌道に関連付けられかつ前記1または複数の学習済みモデルのセットで求められた出力の不確実性を決定するステップと、
    ・古典的な運動プランナで、プログラム軌道を求めるステップと、
    ・ゲートキーパで、
    ・学習軌道と、
    ・入力の不確実性と、
    ・出力の不確実性と、
    ・プログラム軌道とを受信するステップと、
    ・入力の不確実性および出力の不確実性の少なくとも一方を1または複数の閾値のセットと比較するステップと、
    ・比較に基づいて、自律エージェントの最終軌道を決定するステップと、
    ・前記最終軌道に基いて、自律エージェントを動作させるステップとを備えることを特徴とする方法。
  14. 請求項13に記載の方法において、
    前記1または複数の学習済みモデルのセットが、複数の学習済みモデルを含み、前記出力の不確実性が、前記複数の学習済みモデルに基づいて求められた集約された不確実性を含むことを特徴とする方法。
  15. 請求項14に記載の方法において、
    ・前記1または複数の学習済みモデルのセットのうちの第1の学習済みモデルにより、エージェントのアクションを決定するステップと、
    ・前記アクションに基づいて第2の学習済みモデルを選択するステップと、
    ・前記第2の学習済みモデルにより、学習軌跡を求めるステップとをさらに含むことを特徴とする方法。
  16. 請求項15に記載の方法において、
    エージェントのコンテキストに基づいて前記第1の学習済みモデルを選択するステップをさらに含むことを特徴とする方法。
  17. 請求項16に記載の方法において、
    前記入力のセットが、ラベル付きマップを含み、前記コンテキストが、前記ラベル付きマップに基づいて決定され、前記ラベル付きマップが、コンテキスト割り当ての予め設定されたセットを含むことを特徴とする方法。
  18. 請求項13に記載の方法において、
    出力の不確実性が、偶然的不確実性および認識論的不確実性を含むことを特徴とする方法。
  19. 請求項13に記載の方法において、
    前記分布外検出器が、敵対的生成ネットワークを含むことを特徴とする方法。
  20. 請求項13に記載の方法において、
    前記最終軌道が、自律エージェントに規定された固定ルートに沿っていることを特徴とする方法。
  21. 請求項13に記載の方法において、
    比較により学習軌道およびプログラム軌道の両方が除外される場合に、緊急プランナを呼び出して、前記最終軌道を決定するステップをさらに含むことを特徴とする方法。
JP2022574686A 2020-06-05 2020-12-18 自律エージェントの不確実性推定に基づく決定論的軌道選択のための方法およびシステム Active JP7530999B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063035401P 2020-06-05 2020-06-05
US63/035,401 2020-06-05
US202063055794P 2020-07-23 2020-07-23
US63/055,794 2020-07-23
PCT/US2020/066181 WO2021247082A1 (en) 2020-06-05 2020-12-18 Method and system for deterministic trajectory selection based on uncertainty estimation for an autonomous agent

Publications (2)

Publication Number Publication Date
JP2023528078A true JP2023528078A (ja) 2023-07-03
JP7530999B2 JP7530999B2 (ja) 2024-08-08

Family

ID=78219000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022574686A Active JP7530999B2 (ja) 2020-06-05 2020-12-18 自律エージェントの不確実性推定に基づく決定論的軌道選択のための方法およびシステム

Country Status (5)

Country Link
US (6) US11157010B1 (ja)
EP (1) EP4162338A4 (ja)
JP (1) JP7530999B2 (ja)
CA (1) CA3180999A1 (ja)
WO (1) WO2021247082A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6728495B2 (ja) * 2016-11-04 2020-07-22 ディープマインド テクノロジーズ リミテッド 強化学習を用いた環境予測
JP6866762B2 (ja) * 2017-05-18 2021-04-28 いすゞ自動車株式会社 車両用情報処理システム
US12001958B2 (en) * 2020-03-19 2024-06-04 Nvidia Corporation Future trajectory predictions in multi-actor environments for autonomous machine
CA3180994A1 (en) 2020-06-05 2021-12-09 Gautam Narang Method and system for data-driven and modular decision making and trajectory generation of an autonomous agent
US11861494B2 (en) * 2020-06-26 2024-01-02 Intel Corporation Neural network verification based on cognitive trajectories
US11927967B2 (en) * 2020-08-31 2024-03-12 Woven By Toyota, U.S., Inc. Using machine learning models for generating human-like trajectories
US20220254042A1 (en) * 2021-02-11 2022-08-11 GM Global Technology Operations LLC Methods and systems for sensor uncertainty computations
US20220315047A1 (en) * 2021-03-30 2022-10-06 Honda Research Institute Europe Gmbh Method, system and vehicle with an uncertainty-based lane positioning control
US20230020503A1 (en) * 2021-07-08 2023-01-19 Ford Global Technologies, Llc Machine control
CN113963027B (zh) * 2021-10-28 2022-09-09 广州文远知行科技有限公司 不确定性检测模型的训练、不确定性的检测方法及装置
US20230162597A1 (en) * 2021-11-19 2023-05-25 Qualcomm Incorporated Managing Vehicle Behavior Based On Predicted Behavior Of Other Vehicles
CA3240409A1 (en) 2021-12-16 2023-06-22 Apeksha Kumavat Method and system for addressing failure in an autonomous agent
US11675362B1 (en) * 2021-12-17 2023-06-13 Motional Ad Llc Methods and systems for agent prioritization
US12072707B2 (en) * 2022-01-10 2024-08-27 Aurora Flight Sciences Corporation, a subsidiary of The Boeing Company Conflict detection and avoidance for a robot based on perception uncertainty
DE102022206305A1 (de) * 2022-06-23 2023-12-28 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
US11644842B1 (en) * 2022-06-23 2023-05-09 Motional Ad Llc Semi-closed loop rollouts for data augmentation
US20240166209A1 (en) * 2022-11-22 2024-05-23 Toyota Motor Engineering & Manufacturing North America, Inc. System and method for controlling a cruise control system of a vehicle using the moods of one or more occupants
JP2024131007A (ja) * 2023-03-15 2024-09-30 オムロン株式会社 移動経路決定システム、自律型移動装置、移動経路決定方法、プログラム
CN118410343A (zh) * 2024-07-04 2024-07-30 四川师范大学 一种基于智能体建模和贝叶斯网络的农户行为预测方法

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292830B1 (en) 1997-08-08 2001-09-18 Iterations Llc System for optimizing interaction among agents acting on multiple levels
US6278965B1 (en) 1998-06-04 2001-08-21 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Real-time surface traffic adviser
US8024112B2 (en) 2005-09-29 2011-09-20 Microsoft Corporation Methods for predicting destinations from partial trajectories employing open-and closed-world modeling methods
US7831391B2 (en) 2007-06-12 2010-11-09 Palo Alto Research Center Incorporated Using segmented cones for fast, conservative assessment of collision risk
US8612107B2 (en) 2008-06-10 2013-12-17 The Regents Of The University Of Michigan Method, control apparatus and powertrain system controller for real-time, self-learning control based on individual operating style
US20100131148A1 (en) 2008-11-26 2010-05-27 Jaime Camhi System and method for estimated driver intention for driver assistance system control
US8175617B2 (en) 2009-10-28 2012-05-08 Digimarc Corporation Sensor-based mobile search, related methods and systems
US9679258B2 (en) 2013-10-08 2017-06-13 Google Inc. Methods and apparatus for reinforcement learning
US9910441B2 (en) 2015-11-04 2018-03-06 Zoox, Inc. Adaptive autonomous vehicle planner logic
US9507346B1 (en) 2015-11-04 2016-11-29 Zoox, Inc. Teleoperation system and method for trajectory modification of autonomous vehicles
WO2017159176A1 (ja) * 2016-03-17 2017-09-21 株式会社日立製作所 自動運転支援システム、および、自動運転支援方法
US11645444B2 (en) 2016-05-10 2023-05-09 Trustees Of Tufts College Systems and methods enabling online one-shot learning and generalization by intelligent systems of task-relevant features and transfer to a cohort of intelligent systems
CN105872477B (zh) 2016-05-27 2018-11-23 北京旷视科技有限公司 视频监控方法和视频监控系统
US11648935B2 (en) 2016-10-31 2023-05-16 Toyota Motor Europe Driving assistance method and system
CN110291477B (zh) 2016-12-02 2022-08-16 嘉蒂克人工智能公司 车辆控制系统及使用方法
KR20180094725A (ko) 2017-02-16 2018-08-24 삼성전자주식회사 자율 주행을 위한 차량 제어 방법, 차량 제어 장치 및 자율 주행을 위한 학습 방법
US10883844B2 (en) 2017-07-27 2021-01-05 Waymo Llc Neural networks for vehicle trajectory planning
WO2019051834A1 (en) 2017-09-18 2019-03-21 Baidu.Com Times Technology (Beijing) Co., Ltd. DRIVING GUIDELINES BASED ON DRIVING SCENARIOS FOR PLANNING SELF-CONTAINED VEHICLE TRACKS
EP3467717A1 (en) 2017-10-04 2019-04-10 Prowler.io Limited Machine learning system
US20190146508A1 (en) 2017-11-14 2019-05-16 Uber Technologies, Inc. Dynamic vehicle routing using annotated maps and profiles
US10345811B2 (en) 2017-11-14 2019-07-09 GM Global Technology Operations LLC Method and apparatus for scenario generation and parametric sweeps for the development and evaluation of autonomous driving systems
US10859384B2 (en) 2017-11-15 2020-12-08 Uatc, Llc Lightweight vehicle localization systems and methods
US20190147255A1 (en) 2017-11-15 2019-05-16 Uber Technologies, Inc. Systems and Methods for Generating Sparse Geographic Data for Autonomous Vehicles
US10836379B2 (en) 2018-03-23 2020-11-17 Sf Motors, Inc. Multi-network-based path generation for vehicle parking
US10860022B2 (en) 2018-04-11 2020-12-08 GM Global Technology Operations LLC Method and apparatus for automatical rule learning for autonomous driving
US10906536B2 (en) 2018-04-11 2021-02-02 Aurora Innovation, Inc. Control of autonomous vehicle based on determined yaw parameter(s) of additional vehicle
US11454970B2 (en) * 2018-05-21 2022-09-27 Cummins Inc. Adjustment of autonomous vehicle control authority
EP3579174A1 (en) 2018-06-08 2019-12-11 Hexagon Technology Center GmbH Mobile vehicles in manufacturing
US11454975B2 (en) 2018-06-28 2022-09-27 Uatc, Llc Providing actionable uncertainties in autonomous vehicles
US10845815B2 (en) 2018-07-27 2020-11-24 GM Global Technology Operations LLC Systems, methods and controllers for an autonomous vehicle that implement autonomous driver agents and driving policy learners for generating and improving policies based on collective driving experiences of the autonomous driver agents
US10678245B2 (en) 2018-07-27 2020-06-09 GM Global Technology Operations LLC Systems and methods for predicting entity behavior
US11479243B2 (en) 2018-09-14 2022-10-25 Honda Motor Co., Ltd. Uncertainty prediction based deep learning
US11480972B2 (en) * 2018-11-13 2022-10-25 Qualcomm Incorporated Hybrid reinforcement learning for autonomous driving
US11137762B2 (en) 2018-11-30 2021-10-05 Baidu Usa Llc Real time decision making for autonomous driving vehicles
US10814871B2 (en) 2018-12-26 2020-10-27 Gm Cruise Holdings Llc Computing system for assigning maneuver labels to autonomous vehicle sensor data
US11157784B2 (en) 2019-05-08 2021-10-26 GM Global Technology Operations LLC Explainable learning system and methods for autonomous driving
US11314258B2 (en) * 2019-12-27 2022-04-26 Intel Corporation Safety system for a vehicle
US11562203B2 (en) * 2019-12-30 2023-01-24 Servicenow Canada Inc. Method of and server for training a machine learning algorithm for estimating uncertainty of a sequence of models
US11443277B2 (en) 2020-03-26 2022-09-13 Fractal Analytics Private Limited System and method for identifying object information in image or video data
US20210117760A1 (en) 2020-06-02 2021-04-22 Intel Corporation Methods and apparatus to obtain well-calibrated uncertainty in deep neural networks

Also Published As

Publication number Publication date
US11157010B1 (en) 2021-10-26
US20230152816A1 (en) 2023-05-18
EP4162338A4 (en) 2024-07-03
CA3180999A1 (en) 2021-12-09
US20220011776A1 (en) 2022-01-13
US20220236737A1 (en) 2022-07-28
US11586214B2 (en) 2023-02-21
WO2021247082A1 (en) 2021-12-09
US11320827B2 (en) 2022-05-03
US20220214693A1 (en) 2022-07-07
US11307594B2 (en) 2022-04-19
EP4162338A1 (en) 2023-04-12
US11487296B2 (en) 2022-11-01
JP7530999B2 (ja) 2024-08-08
US20220026913A1 (en) 2022-01-27

Similar Documents

Publication Publication Date Title
JP7530999B2 (ja) 自律エージェントの不確実性推定に基づく決定論的軌道選択のための方法およびシステム
US11505207B2 (en) Method and system for context-aware decision making of an autonomous agent
US11440564B2 (en) Method and system for data-driven and modular decision making and trajectory generation of an autonomous agent

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240729

R150 Certificate of patent or registration of utility model

Ref document number: 7530999

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150