Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7637673B2 - Safety Analysis Framework - Google Patents
[go: Go Back, main page]

JP7637673B2 - Safety Analysis Framework - Google Patents

Safety Analysis Framework Download PDF

Info

Publication number
JP7637673B2
JP7637673B2 JP2022519120A JP2022519120A JP7637673B2 JP 7637673 B2 JP7637673 B2 JP 7637673B2 JP 2022519120 A JP2022519120 A JP 2022519120A JP 2022519120 A JP2022519120 A JP 2022519120A JP 7637673 B2 JP7637673 B2 JP 7637673B2
Authority
JP
Japan
Prior art keywords
scenario
data
vehicle
determining
error
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.)
Active
Application number
JP2022519120A
Other languages
Japanese (ja)
Other versions
JP2022550058A5 (en
JP2022550058A (en
Inventor
バグシック ヘリット
スコット クレゴ アンドリュー
ジスラン ドゥ アントワーヌ
リアソフ ロディン
ウィリアム ベイジー フィルビン ジェームズ
ウィマーショフ マーク
クリスチャン レシュカ アンドレアス
ガジャーネン レゲ アシュトシュ
アヌラーグ モダラバラサ サイ
Original Assignee
ズークス インコーポレイテッド
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
Priority claimed from US16/586,838 external-priority patent/US11625513B2/en
Priority claimed from US16/586,853 external-priority patent/US11351995B2/en
Application filed by ズークス インコーポレイテッド filed Critical ズークス インコーポレイテッド
Publication of JP2022550058A publication Critical patent/JP2022550058A/en
Publication of JP2022550058A5 publication Critical patent/JP2022550058A5/ja
Application granted granted Critical
Publication of JP7637673B2 publication Critical patent/JP7637673B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/161Decentralised systems, e.g. inter-vehicle communication
    • G08G1/163Decentralised systems, e.g. inter-vehicle communication involving continuous checking
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/165Anti-collision systems for passive traffic, e.g. including static obstacles, trees
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/166Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Description

本発明は、安全性分析フレームワークに関する。 The present invention relates to a safety analysis framework.

[関連出願]
この特許出願は、2019年9月27日に出願されたシリアル番号16/586,838の「SAFETY ANALYSIS FRAMEWORK」と題された米国実用特許出願の優先権を主張し、および2019年9月27日に出願されたシリアル番号16/586,853の「ERROR MODELING FRAMEWORK」と題された米国実用特許出願の優先権を主張する。出願シリアル番号16/586,838および16/586,853は、参照により本明細書に完全に組み込まれる。
[Related Applications]
This patent application claims priority to U.S. utility patent application entitled "SAFETY ANALYSIS FRAMEWORK" having Serial No. 16/586,838, filed on September 27, 2019, and to U.S. utility patent application entitled "ERROR MODELING FRAMEWORK" having Serial No. 16/586,853, filed on September 27, 2019. Application Serial Nos. 16/586,838 and 16/586,853 are incorporated herein by reference in their entireties.

自律車両は、自律車両コントローラを使用して、環境を通して自律車両をガイドできる。例えば、自律車両コントローラは、計画方法、装置、およびシステムを使用して、駆動経路を決定し、動的オブジェクト(例えば、車両、歩行者、動物など)および静的オブジェクト(例えば、建物、標識、停滞車両など)を含む環境を通して自律車両をガイドできる。しかし、乗員の安全を確実にするために、コントローラの安全性を検証することが重要である。 An autonomous vehicle can use an autonomous vehicle controller to guide the autonomous vehicle through an environment. For example, the autonomous vehicle controller can use planning methods, apparatus, and systems to determine a driving path and guide the autonomous vehicle through an environment that includes dynamic objects (e.g., vehicles, pedestrians, animals, etc.) and static objects (e.g., buildings, signs, stationary vehicles, etc.). However, it is important to verify the safety of the controller to ensure the safety of the occupants.

詳細な説明は添付の図面を参照して説明される。図面において、参照番号の左端の数字は参照番号が最初に現れる図を特定している。異なる図面における同じ参照番号の使用は類似または同一のコンポーネントまたは特徴を示す。 The detailed description will be described with reference to the accompanying drawings. In the drawings, the leftmost digit(s) of a reference number identifies the figure in which the reference number first appears. Use of the same reference number in different drawings indicates similar or identical components or features.

図1は、パラメータ化シナリオに基づいて、車両コントローラに関連付けられた車両性能データを生成することを示している。FIG. 1 illustrates generating vehicle performance data associated with a vehicle controller based on a parameterized scenario. 図2は、車両によって生成されたログデータに少なくとも部分的に基づいてシナリオデータを生成するコンピューティングデバイスを示しており、シナリオデータはシナリオの1つまたは複数のバリエーションを示している。FIG. 2 illustrates a computing device that generates scenario data based at least in part on log data generated by a vehicle, the scenario data indicative of one or more variations of a scenario. 図3は、車両データおよびグラウンドトゥルースデータに少なくとも部分的に基づいてエラーモデルデータを生成することを示している。FIG. 3 illustrates generating error model data based at least in part on vehicle data and ground truth data. 図4は、シミュレートされた環境に関連付けられたエラーまたは不確実性の少なくとも1つを提供することによって、シミュレーションに摂動を与えるためにエラーモデルデータを使用することを示している。FIG. 4 illustrates the use of error model data to perturb a simulation by providing at least one of an error or uncertainty associated with the simulated environment. 図5は、車両によって生成されたログデータおよびグラウンドトゥルースデータに少なくとも部分的に基づいて知覚エラーモデルデータを生成するコンピューティングデバイスを示している。FIG. 5 illustrates a computing device that generates perceptual error model data based at least in part on log data and ground truth data generated by a vehicle. 図6は、パラメータ化シナリオデータに少なくとも部分的に基づいてシミュレーションデータを生成し、シミュレーションデータに少なくとも部分的に基づいて安全性メトリックデータを生成するコンピューティングデバイスを示している。FIG. 6 illustrates a computing device for generating simulation data based at least in part on parameterized scenario data and generating safety metric data based at least in part on the simulation data. 図7は、本明細書で説明される技法を実装するための例示的なシステムのブロック図を示す。FIG. 7 shows a block diagram of an example system for implementing the techniques described herein. 図8は、本開示の例による、車両コントローラに関連付けられた安全性メトリックを決定するための例示的なプロセスのフロー図を示す。FIG. 8 illustrates a flow diagram of an example process for determining a safety metric associated with a vehicle controller, according to an example of the disclosure. 図9は、自律車両のサブシステムに関連付けられた統計モデルを決定するための例示的なプロセスのフロー図を示している。FIG. 9 illustrates a flow diagram of an example process for determining statistical models associated with subsystems of an autonomous vehicle.

本明細書に記載される技術は、システムの性能メトリックを決定する様々な態様を対象とする。本明細書で説明される少なくともいくつかの例では、そのようなパフォーマンスメトリックを、例えば、他のパフォーマンスメトリックの決定と併せてシミュレーションを使用して決定し得る。シミュレーションを使用して、車両(例えば、自律車両)上で実行されるソフトウェア(例えば、車両コントローラ)を検証し、安全性メトリックを収集して、ソフトウェアがさまざまなシナリオでそのような車両を安全に制御することが可能であることを確実にできる。追加または代替の例では、シミュレーションを使用して、自律コントローラを使用する自律車両の制約について学習できる。例えば、シミュレーションを使用して、路面のコンディション、周囲のノイズ、故障したコンポーネントなどを考慮して、自律車両の動作空間(例えば、自律コントローラが自律車両を効果的に制御するエンベロープ)を理解できる。シミュレーションはまた、自律車両の動作および設計を改善するためのフィードバックを生成するのに有用であり得る。例えば、いくつかの例では、シミュレーションは、自律コントローラにおいて必要とされる冗長性の量、またはシミュレーションを通じて学習されることに基づいて自律コントローラの挙動を修正する方法を決定するために有用であり得る。さらに、追加または代替の例では、シミュレーションは、自律車両上のセンサの配置を最適化するなど、自律車両のハードウェア設計を通知するのに有用であり得る。 The techniques described herein are directed to various aspects of determining performance metrics of a system. In at least some examples described herein, such performance metrics may be determined using simulation, for example, in conjunction with determining other performance metrics. Simulation can be used to validate software (e.g., vehicle controller) running on a vehicle (e.g., autonomous vehicle) and gather safety metrics to ensure that the software is capable of safely controlling such a vehicle in various scenarios. In additional or alternative examples, simulation can be used to learn about the constraints of an autonomous vehicle using an autonomous controller. For example, simulation can be used to understand the operating space of an autonomous vehicle (e.g., the envelope within which an autonomous controller effectively controls the autonomous vehicle) taking into account road conditions, ambient noise, failed components, etc. Simulation can also be useful to generate feedback to improve the operation and design of an autonomous vehicle. For example, in some examples, simulation can be useful to determine the amount of redundancy needed in an autonomous controller, or how to modify the behavior of an autonomous controller based on what is learned through simulation. Furthermore, in additional or alternative examples, simulation can be useful to inform the hardware design of an autonomous vehicle, such as optimizing the placement of sensors on the autonomous vehicle.

シミュレーション環境を作成して、テストおよび検証を実行する場合、様々な具体的な例で環境を具体的に列挙することが可能である。そのような環境の各インスタンス化は一意であり、定義できる。全ての可能性のあるシナリオを手動で列挙することは過剰な時間を必要とする可能性があり、全ての可能性のあるシナリオが構築されていない場合、さまざまなシナリオがテストされない可能性がある。シナリオパラメータを使用して、シナリオ内のオブジェクトの特性および/または属性をパラメータ化し、シナリオのバリエーションを提供できる。 When creating a simulation environment to perform testing and validation, it is possible to specifically enumerate the environment with various specific examples. Each instantiation of such an environment is unique and definable. Manually enumerating all possible scenarios can require excessive time, and if all possible scenarios are not constructed, various scenarios may not be tested. Scenario parameters can be used to parameterize characteristics and/or attributes of objects in a scenario to provide scenario variations.

例えば、車両または複数の車両は、環境を横断し、環境に関連付けられたログデータを生成できる。ログデータは、車両の1つまたは複数のセンサによってキャプチャされたセンサデータ、車両に搭載された1つまたは複数のシステムによって識別された(または後処理段階で生成された)オブジェクトを示す知覚データ、オブジェクトの意図を示す予測データ(記録中またはその後に生成されたかどうか)、および/または車両によって生成された診断情報、軌道情報、および他の情報を示すステータスデータ、を含むことができる。車両はネットワークを介して、ログデータを格納するデータベースにおよび/またはログデータを分析するコンピューティングデバイスに、ログデータを送信できる。 For example, a vehicle or multiple vehicles can traverse an environment and generate log data associated with the environment. The log data can include sensor data captured by one or more sensors on the vehicle, sensory data indicative of objects identified by one or more systems on board the vehicle (or generated in a post-processing stage), predictive data indicative of the object's intent (whether generated during recording or thereafter), and/or status data indicative of diagnostic information, trajectory information, and other information generated by the vehicle. The vehicles can transmit the log data over a network to a database that stores the log data and/or to a computing device that analyzes the log data.

コンピューティングデバイスは、ログデータに基づいて、様々なシナリオ、様々なシナリオの頻度、および様々なシナリオに関連付けられた環境の領域を決定できる。いくつかの例では、コンピューティングデバイスは、ログデータ内に表される類似のシナリオをグループ化できる。例えば、シナリオを、例えば、k-meansクラスタリングを使用して、および/または環境のパラメータ(例えば、昼間、夜間、降水量、車両の位置/速度、オブジェクトの位置/速度、道路区分など)間の加重距離(例えば、ユークリッド)を評価することでグループ化できる。上述したように、類似または同様のシナリオをクラスタリングすることは、冗長なシミュレーションデータ/結果をもたらすほぼ類似のシナリオにおいて自律車両をシミュレートするのではなく、独自のシナリオで自律コントローラをシミュレートすることによって、環境内の自律コントローラをシミュレートするために必要な計算リソースの量を削減できる。理解できるように、自律コントローラは、同様のシナリオにおいて同様に実行することが期待され得る(および/または明らかに実行され得る)。 The computing device can determine various scenarios, frequencies of the various scenarios, and regions of the environment associated with the various scenarios based on the log data. In some examples, the computing device can group similar scenarios represented in the log data. For example, the scenarios can be grouped, for example, using k-means clustering and/or by evaluating weighted distances (e.g., Euclidean) between parameters of the environment (e.g., daytime, nighttime, precipitation, vehicle position/velocity, object position/velocity, road segments, etc.). As described above, clustering similar or similar scenarios can reduce the amount of computational resources required to simulate an autonomous controller in an environment by simulating the autonomous controller in its own scenario, rather than simulating an autonomous vehicle in nearly similar scenarios that would result in redundant simulation data/results. As can be appreciated, an autonomous controller can be expected (and/or may obviously perform) similarly in similar scenarios.

例えば、コンピューティングデバイスは、ログデータに表される歩行者の数に基づいて、横断歩道に歩行者が現れる割合を決定できる。いくつかの例では、コンピューティングデバイスは、割合および自律車両を操作する時間期間に基づいて横断歩道で歩行者を検出する確率を決定できる。ログデータに基づいて、コンピューティングデバイスは、シナリオを決定し、シミュレーションにおいて使用できるシナリオに基づいてシナリオパラメータを識別できる。 For example, the computing device can determine a rate at which pedestrians appear at a crosswalk based on the number of pedestrians represented in the log data. In some examples, the computing device can determine a probability of detecting a pedestrian at a crosswalk based on the rate and a time period for operating the autonomous vehicle. Based on the log data, the computing device can determine a scenario and identify scenario parameters based on the scenario that can be used in a simulation.

いくつかの例では、シミュレーションを使用して、車両の欠陥のある(および/または不良がある)センサおよび/またはセンサデータの欠陥のある(および/または不良がある)処理に対する自律車両コントローラの応答をテストおよび検証できる。そのような例では、コンピューティングデバイスを、オブジェクトのシナリオパラメータに不整合性を導入するように構成できる。例えば、エラーモデルは、シナリオパラメータに関連付けられたエラーおよび/またはエラーパーセンテージを示すことができる。シナリオは、エラーおよび/またはエラーパーセンテージをシミュレートされたシナリオに組み込み、自律車両コントローラの応答をシミュレートできる。そのようなエラーは、限定することなく、グラウンドトゥルースデータ、関数(例えば、入力パラメータに基づくエラー)、またはパラメータを特定のエラーにマッピングする任意の他のモデルを使用した統計的集計に基づいて決定されたルックアップテーブルによって表され得る。少なくともいくつかの例では、そのようなエラーモデルは、特定のエラーを発生の確率/頻度でマッピングし得る。 In some examples, simulations can be used to test and validate the response of an autonomous vehicle controller to faulty (and/or faulty) sensors in the vehicle and/or faulty (and/or faulty) processing of sensor data. In such examples, a computing device can be configured to introduce inconsistencies in scenario parameters of an object. For example, an error model can indicate errors and/or error percentages associated with the scenario parameters. A scenario can incorporate the errors and/or error percentages into a simulated scenario to simulate the response of the autonomous vehicle controller. Such errors can be represented by lookup tables determined based on statistical aggregation using, without limitation, ground truth data, functions (e.g., errors based on input parameters), or any other model that maps parameters to specific errors. In at least some examples, such error models can map specific errors with probabilities/frequencies of occurrence.

例として、限定されないが、エラーモデルは、シミュレーション環境内のオブジェクトに関連付けられた速度などのシナリオパラメータがエラーパーセンテージに関連付けられていることを示すことができる。例えば、オブジェクトは、毎秒10メートルの速度でシミュレートされたシナリオ内を横断する可能性があり、エラーパーセンテージは、毎秒8メートル乃至毎秒12メートルの速度の範囲をもたらす20%である可能性がある。いくつかの例では、速度の範囲を、範囲の一部が範囲の他の部分よりも発生する可能性が高いことを示す確率分布に関連付けることができる。(例えば、毎秒8メートルと毎秒12メートルは15%の確率に関連付けられ、毎秒9メートルと毎秒11メートルは30パーセントの確率に関連付けられ、毎秒10メートルは10%の確率に関連付けられる)。 By way of example, and not limitation, the error model may indicate that a scenario parameter, such as a speed associated with an object in a simulated environment, is associated with an error percentage. For example, an object may traverse a simulated scenario at a speed of 10 meters per second, and the error percentage may be 20%, resulting in a range of speeds from 8 meters per second to 12 meters per second. In some examples, the range of speeds may be associated with a probability distribution indicating that some parts of the range are more likely to occur than other parts of the range. (For example, 8 meters per second and 12 meters per second are associated with a 15% probability, 9 meters per second and 11 meters per second are associated with a 30 percent probability, and 10 meters per second is associated with a 10% probability).

エラーモデルおよび/またはシナリオに基づいて、パラメータ化シナリオを生成できる。パラメータ化シナリオは、シナリオのバリエーションのセットを提供できる。したがって、パラメータ化シナリオにおいて自律車両コントローラをインスタンス化することおよびパラメータ化シナリオをシミュレートすることは、バリエーションの手動列挙を必要とせずに、シナリオの幅広いバリエーションを効率的にカバーできる。加えて、パラメータ化シナリオを実行することに少なくとも部分的に基づいて、シミュレーションデータは、自律車両コントローラがパラメータ化シナリオにどのように応答したか(または応答することになる)を示し、シミュレーションデータに少なくとも部分的に基づいて、成功した結果または失敗した結果を決定できる。 Based on the error model and/or the scenario, a parameterized scenario can be generated. The parameterized scenario can provide a set of scenario variations. Thus, instantiating the autonomous vehicle controller in the parameterized scenario and simulating the parameterized scenario can efficiently cover a wide range of scenario variations without requiring manual enumeration of the variations. Additionally, based at least in part on executing the parameterized scenario, simulation data can indicate how the autonomous vehicle controller responded (or would respond) to the parameterized scenario, and a successful or unsuccessful outcome can be determined based at least in part on the simulation data.

パラメータ化シナリオに関連するシミュレーションデータを集約することは、パラメータ化シナリオに関連付けられた安全性メトリックを提供できる。例えば、シミュレーションデータは、自律車両コントローラおよびパラメータ化シナリオの成功率および/または失敗率を示すことができる。いくつかの例では、成功率を満たすまたは超えることは自律車両コントローラの検証の成功を示すことができ、これは、その後、さらなる車両制御および動作のために車両によってダウンロードされる(またはそうでなければ転送される)ことができる。 Aggregating the simulation data related to the parameterization scenarios can provide safety metrics associated with the parameterization scenarios. For example, the simulation data can indicate success and/or failure rates of the autonomous vehicle controller and the parameterization scenarios. In some examples, meeting or exceeding the success rate can indicate successful validation of the autonomous vehicle controller, which can then be downloaded (or otherwise transferred) by the vehicle for further vehicle control and operation.

例えば、パラメータ化シナリオは、結果に関連付けることができる。シミュレーションデータは、自律車両コントローラが結果に一貫してまたは一貫せずに応答したことを示すことができる。例として、限定されないが、パラメータ化シナリオは、自律車両コントローラによって制御される車両がある速度で横断する、および車両の前方にあるオブジェクトの前で停止アクションを実行することを含むシミュレーション環境を表すことができる。速度を車両の速度の範囲を示すシナリオパラメータに関連付けることができる。パラメータ化シナリオは、速度の範囲に少なくとも部分的に基づいてシミュレートすることができ、車両が停止アクションを完了したときの車両とオブジェクトとの間の距離を示すシミュレーションデータを生成できる。パラメータ化シナリオは、車両とオブジェクトとの間の距離が距離閾値を満たす、または超えることを示す結果に関連付けることができる。シミュレーションデータおよびシナリオパラメータに基づいて、成功率は、車両が停止アクションを完了した合計回数と比較して、車両が停止アクションを完了したときの車両とオブジェクトとの間の距離が距離閾値を満たすまたは超える回数を示すことができる。 For example, the parameterized scenario can be associated with an outcome. The simulation data can indicate that the autonomous vehicle controller responded consistently or inconsistently to the outcome. By way of example, and not by way of limitation, the parameterized scenario can represent a simulated environment that includes a vehicle controlled by the autonomous vehicle controller crossing at a speed and performing a stopping action in front of an object ahead of the vehicle. The speed can be associated with a scenario parameter indicating a range of speeds for the vehicle. The parameterized scenario can be simulated based at least in part on the range of speeds, and can generate simulation data indicating a distance between the vehicle and the object when the vehicle completes the stopping action. The parameterized scenario can be associated with an outcome indicating that the distance between the vehicle and the object meets or exceeds a distance threshold. Based on the simulation data and the scenario parameters, a success rate can indicate the number of times that the distance between the vehicle and the object meets or exceeds a distance threshold when the vehicle completes the stopping action compared to the total number of times the vehicle completes the stopping action.

本明細書に記載の技術は、様々な計算効率を提供する。例えば、本明細書に記載の技術を使用することによって、コンピューティングデバイスが必要とする計算リソースはより少なくなり、複数のシミュレートされたシナリオを、従来の技術を介して利用可能であるものよりも速く生成できる。従来の技術はスケーラブルではない。例えば、自律車両に搭載されたシステム(例えば、AIスタックの1つまたは複数のコンポーネント)のトレーニング、テスト、および/または検証する(例えば、そのような自律車両が対応する新しい実際の環境に配備される前に)のに必要とされる数の、固有のシミュレートされた環境のセットを生成することは、非常に長い時間がかかる可能性があり、これにより、実際のシナリオおよび/または環境に進入する前に、自律車両に搭載されたそのようなシステム(例えば、AIスタックの1つまたは複数のコンポーネント)をトレーニング、テスト、および/または検証する機能が制限される。本明細書に記載の技術は、実際の環境から収集されたセンサデータを活用し、そのデータを追加のデータで補足して、従来の技術で利用可能なものよりも実質的に正確なシミュレートされた環境をより効率的に生成する(例えば、対応する実際の環境に対して)という点で、従来にない。さらに、シナリオの様々な様態など、本明細書で説明する技法は、従来の技法で利用可能なものよりも少ない時間および少ない計算リソースで、多くのスケーラブルなシミュレートされたシナリオの生成を可能にする。 The techniques described herein provide various computational efficiencies. For example, by using the techniques described herein, a computing device requires fewer computational resources and multiple simulated scenarios can be generated faster than is available via conventional techniques. Conventional techniques are not scalable. For example, generating a set of unique simulated environments, as many as are required to train, test, and/or validate a system (e.g., one or more components of an AI stack) on an autonomous vehicle (e.g., before such an autonomous vehicle is deployed to a corresponding new real environment), can take a very long time, thereby limiting the ability to train, test, and/or validate such a system (e.g., one or more components of an AI stack) on an autonomous vehicle before entering a real scenario and/or environment. The techniques described herein are unconventional in that they leverage sensor data collected from a real environment and supplement that data with additional data to more efficiently generate a simulated environment that is substantially more accurate than is available via conventional techniques (e.g., for a corresponding real environment). Moreover, the techniques described herein, including various aspects of the scenarios, enable the generation of many scalable simulated scenarios in less time and with fewer computational resources than are available with conventional techniques.

さらに、本明細書に記載される技術は、安全性の向上を対象とする。すなわち、本明細書に記載される生成技術からもたらされるシミュレートされた環境を、自律車両に搭載されたシステムをテスト、トレーニング、および検証するために使用し、そのようなシステムが、実際の環境に展開されたときに自律車両を安全に動作させることができることを確実にできる。すなわち、本明細書に記載される生成技術からもたらされるシミュレートされた環境は、自律車両コントローラのプランナシステムおよび/または予測システムをテスト、トレーニング、および検証するために使用することができ、これは、自律車両によって使用されて、自律車両を実際の環境内の軌道に沿ってナビゲートできる。したがって、本明細書に記載される技術によって可能となるそのようなトレーニング、テスト、および検証は、自律車両が実際の環境で安全に動作できることを確実にする機会を提供できる。したがって、本明細書に記載される技術は、安全性を向上させ、ナビゲーションに影響を与える。 Furthermore, the techniques described herein are directed to improving safety. That is, the simulated environments resulting from the generative techniques described herein can be used to test, train, and validate systems onboard an autonomous vehicle to ensure that such systems can safely operate the autonomous vehicle when deployed in a real environment. That is, the simulated environments resulting from the generative techniques described herein can be used to test, train, and validate planner and/or predictive systems of an autonomous vehicle controller that can be used by an autonomous vehicle to navigate the autonomous vehicle along a trajectory in a real environment. Thus, such training, testing, and validation enabled by the techniques described herein can provide an opportunity to ensure that an autonomous vehicle can safely operate in a real environment. Thus, the techniques described herein improve safety and impact navigation.

図1は、パラメータ化シナリオに基づいて、車両コントローラに関連付けられた車両性能データを生成する例100を示している。シナリオを生成するために、入力データ102を使用できる。入力データ102は、車両データ104および/または追加の状況データ106を含むことができる。車両データ104は、環境を通り横断する車両によってキャプチャされるログデータを含むことができる。上述したように、ログデータを使用して、自律コントローラをシミュレートするためのシナリオを識別できる。例示の目的で、車両は、ドライバー(または乗員)の車両の常時制御を期待せず、全体行程の全ての安全上重要な機能を実行可能な車両について説明する米国国家高速道路交通安全局が発行するレベル5分類に従って動作するように構成された自律車両とすることができる。このような例では、車両は全ての駐車機能を含む開始から停止までの全ての機能を制御するように構成できるので、無人化できる。これは単なる例であり、本明細書で説明するシステムおよび方法は、ドライバーが常に手動で制御する必要がある車両から、部分的または完全に自律的に制御されているものまでを含む任意の地上、空中、または水上車両に組み込むことができる。 1 illustrates an example 100 of generating vehicle performance data associated with a vehicle controller based on a parameterized scenario. To generate the scenario, input data 102 can be used. The input data 102 can include vehicle data 104 and/or additional situational data 106. The vehicle data 104 can include log data captured by the vehicle traversing through an environment. As described above, the log data can be used to identify scenarios for simulating the autonomous controller. For illustrative purposes, the vehicle can be an autonomous vehicle configured to operate according to a Level 5 classification issued by the National Highway Traffic Safety Administration, which describes a vehicle that can perform all safety-critical functions for the entire journey without expecting a driver (or passenger) to be in control of the vehicle at all times. In such an example, the vehicle can be unmanned, as it can be configured to control all functions from start to stop, including all parking functions. This is merely an example, and the systems and methods described herein can be incorporated into any land, air, or water vehicle, including vehicles that require manual control at all times by a driver, to those that are partially or fully autonomously controlled.

車両は、知覚エンジンおよび/またはプランナを含むコンピューティングデバイスを含み、環境から収集されたセンサデータからオブジェクトを検出、識別、区分、分類、および/または追跡するなどの動作を実行することができる。例えば、歩行者、自転車/自転車乗り、オートバイ/オートバイ乗り、バス、路面電車、トラック、動物などのオブジェクトは、環境内に存在できる。 The vehicle may include a computing device that includes a perception engine and/or planner and perform operations such as detecting, identifying, segmenting, classifying, and/or tracking objects from sensor data collected from the environment. For example, objects such as pedestrians, bicycles/bicyclists, motorcycles/motorcyclers, buses, trams, trucks, animals, etc. may be present in the environment.

車両が環境を通り横断するとき、センサは、環境に関連付けられたセンサデータをキャプチャできる。例えば、センサデータのいくつかを、オブジェクト(例えば、車両、自転車乗り、および/または歩行者)に関連付けることができる。いくつかの例では、センサデータを、これらに限定されないが、建物、路面、標識、障壁などを含む他のオブジェクトに関連付けることができる。したがって、いくつかの例では、センサデータを、動的オブジェクトおよび/または静的オブジェクトに関連付けることができる。動的オブジェクトを、上記のように、移動に関連付けられている(例えば、車両、オートバイ、自転車乗り、歩行者、動物など)、または環境内で移動することが可能な(例えば、駐車中の車両、立っている歩行者など)オブジェクトとすることができる。静的オブジェクトを、上述のように、例えば、建物/構造物、道路路面、道路マーカー、標識、障壁、木、歩道などの環境に関連付けられたオブジェクトとすることができる。いくつかの例では、車両コンピューティングデバイスは、バウンディングボックス、分類、区分情報などの環境内のオブジェクトに関する情報を決定できる。 As the vehicle traverses through the environment, the sensors can capture sensor data associated with the environment. For example, some of the sensor data can be associated with objects (e.g., vehicles, bicyclists, and/or pedestrians). In some examples, the sensor data can be associated with other objects, including, but not limited to, buildings, road surfaces, signs, barriers, and the like. Thus, in some examples, the sensor data can be associated with dynamic objects and/or static objects. Dynamic objects, as described above, can be objects that are associated with movement (e.g., vehicles, motorcycles, bicyclists, pedestrians, animals, etc.) or that can move within the environment (e.g., parked vehicles, standing pedestrians, etc.). Static objects, as described above, can be objects associated with the environment, such as, for example, buildings/structures, road surfaces, road markers, signs, barriers, trees, sidewalks, etc. In some examples, the vehicle computing device can determine information about objects in the environment, such as bounding boxes, classifications, and segmentation information.

車両コンピューティングデバイスは、センサデータを使用して車両の軌道を生成できる。いくつかの例では、車両コンピューティングデバイスはまた、車両の位置に関連付けられたポーズデータを決定できる。例えば、車両コンピューティングデバイスは、センサデータを使用して、環境内の車両の位置データ、座標データ、および/または方向データを決定できる。いくつかの例では、ポーズデータは、x-y-z座標を含むことができ、および/または車両に関連付けられたピッチ、ロール、およびヨーデータを含むことができる。 The vehicle computing device can use the sensor data to generate a trajectory for the vehicle. In some examples, the vehicle computing device can also determine pose data associated with the position of the vehicle. For example, the vehicle computing device can use the sensor data to determine position data, coordinate data, and/or orientation data for the vehicle within the environment. In some examples, the pose data can include x-y-z coordinates and/or can include pitch, roll, and yaw data associated with the vehicle.

車両コンピューティングデバイスは、上述のデータを含むことができる車両データ104を生成できる。例えば、車両データ104は、センサデータ、知覚データ、計画データ、車両ステータスデータ、速度データ、意図データ、および/または車両コンピューティングデバイスによって生成された他のデータを含むことができる。いくつかの例では、センサデータは、飛行時間センサ(time-of-flight sensors)、位置センサ(GPS、コンパスなど)、慣性センサ(慣性測定装置(IMU)、加速度計、磁力計、ジャイロスコープなど)、lidarセンサ、radarセンサ、sonarセンサ、赤外線センサ、カメラ(例えば、RGB、IR、強度、深度など)、マイクセンサ、環境センサ(例えば、温度センサ、湿度センサ、光センサ、圧力センサなど)、超音波トランスデューサー、ホイールエンコーダなどのようなセンサによってキャプチャされたデータを含むことができる。センサデータは、そのようなセンサによってキャプチャされる、飛行時間データ(time-of-flight data)、位置データ、lidarデータ、radarデータ、sonarデータ、画像データ、オーディオデータなどのデータとすることができる。そのようなログデータは、これらに限定されないが、オブジェクトの検出を示すメッセージ、オブジェクトトラック、将来のオブジェクトの位置の予測、そのような検出に応答して生成された複数の軌道、コマンドを実行するために使用される1つまたは複数のシステムまたはサブシステムに渡される制御信号などを含む、車両の任意の1つまたは複数のシステムまたはサブシステムによる中間出力をさらに含み得る。いくつかの例では、車両データ104は、車両コンピューティングデバイスによって生成された他のデータに関連付けられた時間データを含むことができる。 The vehicle computing device can generate vehicle data 104, which can include the data described above. For example, the vehicle data 104 can include sensor data, perception data, planning data, vehicle status data, speed data, intent data, and/or other data generated by the vehicle computing device. In some examples, the sensor data can include data captured by sensors such as time-of-flight sensors, position sensors (GPS, compass, etc.), inertial sensors (inertial measurement unit (IMU), accelerometer, magnetometer, gyroscope, etc.), lidar sensors, radar sensors, sonar sensors, infrared sensors, cameras (e.g., RGB, IR, intensity, depth, etc.), microphone sensors, environmental sensors (e.g., temperature sensors, humidity sensors, light sensors, pressure sensors, etc.), ultrasonic transducers, wheel encoders, etc. The sensor data can be data captured by such sensors, such as time-of-flight data, position data, lidar data, radar data, sonar data, image data, audio data, etc. Such log data may further include intermediate outputs by any one or more systems or subsystems of the vehicle, including, but not limited to, messages indicating detection of an object, object tracks, predictions of future object positions, multiple trajectories generated in response to such detection, control signals passed to one or more systems or subsystems used to execute commands, etc. In some examples, vehicle data 104 may include time data associated with other data generated by the vehicle computing device.

いくつかの例では、入力データ102を使用してシナリオを生成できる。入力データ102は、車両データ104および/または追加の状況データ106を含むことができる。例として、限定されないが、追加の状況データ106は、第三者ソースからのインシデントレポートなどのデータを含むことができる。第三者のソースは、法執行機関、自動車部門、および/または、アクティビティおよび/またはインシデントのレポートを公開および/または格納できる安全管理を含むことができる。例えば、レポートは、アクティビティのタイプ(例えば、道路上の破片、局所的な洪水などの交通危険)、場所、および/またはアクティビティの説明を含むことができる。例として、限定されないが、レポートは、ドライバーが、車両を操作している間に、毎秒15メートルの速度で横断中に、車道の倒れた木の枝に当たったことを説明できる。レポートを使用して、シミュレーションにおいて使用できる同様のシナリオを生成できる。 In some examples, input data 102 can be used to generate scenarios. Input data 102 can include vehicle data 104 and/or additional situational data 106. By way of example, and without limitation, additional situational data 106 can include data such as incident reports from third party sources. Third party sources can include law enforcement agencies, motor vehicle departments, and/or safety management that can publish and/or store reports of activities and/or incidents. For example, the reports can include a type of activity (e.g., traffic hazards such as debris on the road, localized flooding, etc.), a location, and/or a description of the activity. By way of example, and without limitation, the report can describe a driver being struck by a fallen tree branch in the roadway while crossing at a speed of 15 meters per second while operating a vehicle. The reports can be used to generate similar scenarios that can be used in a simulation.

いくつかの例では、追加の状況データ106はキャプチャされたセンサデータ(例えば、画像データ)を含むことができる。例として、限定されないが、車両のドライバーは、ドライバーが車両を操作する間、カメラを使用して画像データをキャプチャできる。いくつかの例では、画像データは、インシデントなどのアクティビティをキャプチャできる。例として、限定されないが、ドライバーは、ダッシュボードカメラ(例えば、車両の内部ダッシュボードに搭載されたカメラ)を使用して、ドライバーが車両を操作している間に画像データをキャプチャできる。ドライバーが車両を操作するとき、動物は車道を横切って走る可能性があり、ドライバーはすぐにブレーキをかけて車両を遅くする場合がある。ダッシュボードカメラは、車道を横切って走っている動物の画像データをキャプチャでき、車両は減速する。画像データを使用して、車道を横切って走る動物のシナリオを生成できる。上述したように、シナリオに関連付けられた確率を決定し、確率閾値を満たすまたは超える確率に基づいてシミュレーションのためのシナリオを識別できる。例として、限定されないが、シナリオに遭遇する可能性が0.001%未満である場合、0.001%の確率閾値を使用することができ、次いで、シミュレーションのために、確率の高いシナリオに優先順位を付けて、確率の高いシナリオに関連付けられた安全性メトリックを決定できる。 In some examples, the additional situation data 106 can include captured sensor data (e.g., image data). By way of example and not by way of limitation, a driver of a vehicle can use a camera to capture image data while the driver is operating the vehicle. In some examples, the image data can capture an activity, such as an incident. By way of example and not by way of limitation, a driver can use a dashboard camera (e.g., a camera mounted on the interior dashboard of the vehicle) to capture image data while the driver is operating the vehicle. As the driver operates the vehicle, an animal may run across the roadway, and the driver may immediately brake to slow the vehicle. The dashboard camera can capture image data of an animal running across the roadway, and the vehicle slows down. The image data can be used to generate a scenario of an animal running across the roadway. As described above, a probability associated with the scenario can be determined, and a scenario for simulation can be identified based on the probability of meeting or exceeding a probability threshold. By way of example and not by way of limitation, if the likelihood of encountering a scenario is less than 0.001%, a probability threshold of 0.001% can be used, and then the high probability scenarios can be prioritized for simulation to determine a safety metric associated with the high probability scenario.

入力データ102、例えば、車両データ104および/または追加の状況データ106、はシナリオエディタコンポーネント108によって使用されて、初期シナリオ110を生成できる。例えば、入力データ102は、合成環境内の入力データ102の少なくとも一部を表す合成環境を生成することができるシナリオエディタコンポーネント108に入力することができる。初期シナリオ110および車両データ104に含めることができる車両によって生成されたデータなどの生成シナリオの例は、例えば、「Scenario Editor and Simulator」と題され2019年4月23日に出願された米国特許出願第16/392,094号に見出すことができ、これは参照によりその全体が組み込まれる。 The input data 102, e.g., vehicle data 104 and/or additional situation data 106, can be used by a scenario editor component 108 to generate an initial scenario 110. For example, the input data 102 can be input to the scenario editor component 108, which can generate a synthetic environment that represents at least a portion of the input data 102 in the synthetic environment. Examples of generated scenarios, such as vehicle-generated data that can be included in the initial scenario 110 and vehicle data 104, can be found, for example, in U.S. Patent Application No. 16/392,094, entitled "Scenario Editor and Simulator," filed April 23, 2019, which is incorporated by reference in its entirety.

シナリオエディタコンポーネント108を、入力データ102をスキャンして、入力データ102に表される1つまたは複数のシナリオを識別するように構成できる。例として、限定されないが、シナリオエディタコンポーネント108は、入力データ102の一部が、通行権なし(例えば、横断歩道なし、歩行表示のない交差点など)で通りを横切る歩行者を表すと決定できる。シナリオエディタコンポーネント108は、これをシナリオ(例えば、ジェイウォーキングパラメータ)として識別し、シナリオを、例えば、ジェイウォーキングシナリオとしてラベル付け(および/または分類)できる。例えば、シナリオエディタコンポーネント108は、アクションを定義するルールを使用して、初期シナリオ110を生成できる。例として、限定されないが、ルールは、横断歩道に関連付けられていない領域内の道路を横切る歩行者がジェイウォーカー(a jaywalker)であることを定義できる。いくつかの例では、シナリオエディタコンポーネント108は、シナリオエディタコンポーネント108のユーザからラベルデータを受信して、入力データ102の一部をラベルに関連付け、初期シナリオ110を生成できる。 The scenario editor component 108 can be configured to scan the input data 102 to identify one or more scenarios represented in the input data 102. By way of example, and not by way of limitation, the scenario editor component 108 can determine that a portion of the input data 102 represents a pedestrian crossing a street without a right-of-way (e.g., no crosswalk, an intersection without pedestrian signs, etc.). The scenario editor component 108 can identify this as a scenario (e.g., jaywalking parameters) and label (and/or classify) the scenario, for example, as a jaywalking scenario. For example, the scenario editor component 108 can generate an initial scenario 110 using rules that define actions. By way of example, and not by way of limitation, the rules can define that a pedestrian crossing a road in an area not associated with a crosswalk is a jaywalker. In some examples, the scenario editor component 108 can receive label data from a user of the scenario editor component 108 to associate a portion of the input data 102 with the label and generate the initial scenario 110.

いくつかの例では、シナリオエディタコンポーネント108は、入力データ102の他の部分をスキャンし、類似のシナリオを識別し、類似のシナリオに同じジェイウォーキングラベルでラベル付けできる。いくつかの例では、シナリオエディタコンポーネント108は、既存のラベルに対応しない(または除外される)シナリオを識別し、これらのシナリオの新しいラベルを生成できる。いくつかの例では、シナリオエディタコンポーネント108は、シナリオのライブラリを生成し、シナリオのライブラリをシナリオエディタコンポーネント108内のデータベースに格納できる。例として、限定されないが、シナリオのライブラリは、横断歩道シナリオ、マージシナリオ、車線変更シナリオなどを含むことができる。 In some examples, the scenario editor component 108 can scan other portions of the input data 102, identify similar scenarios, and label the similar scenarios with the same jaywalking label. In some examples, the scenario editor component 108 can identify scenarios that do not correspond to (or are excluded from) existing labels and generate new labels for these scenarios. In some examples, the scenario editor component 108 can generate a library of scenarios and store the library of scenarios in a database within the scenario editor component 108. By way of example, and not limitation, the library of scenarios can include a pedestrian crossing scenario, a merge scenario, a lane change scenario, etc.

少なくともいくつかの例では、そのような初期シナリオ110は手動で指定され得る。例えば、1人または複数のユーザが、テストすべき特定のシナリオを指定して、そのようなシナリオを実行するときに、以前にシナリオに遭遇したことが(またはめったに)ないにもかかわらず、車両が安全に動作できることを確実にし得る。 In at least some examples, such initial scenarios 110 may be specified manually. For example, one or more users may specify particular scenarios to be tested to ensure that the vehicle can operate safely when executing such scenarios, despite never (or rarely) having encountered the scenarios before.

パラメータコンポーネント112は、シナリオエディタコンポーネント108によって識別された初期シナリオ110に関連付けられたシナリオパラメータを決定できる。例として、限定されないが、パラメータコンポーネント112は、ジェイウォーキングシナリオを分析し、歩行者の位置、歩行者のポーズ、歩行者のサイズ、歩行者の速度、歩行者の足跡、車両と歩行者の間の距離、車両の速度、道路の幅などを含むジェイウォーキングシナリオに関連付けられたシナリオパラメータを決定できる。 The parameters component 112 can determine scenario parameters associated with the initial scenario 110 identified by the scenario editor component 108. By way of example, and not limitation, the parameters component 112 can analyze a jaywalking scenario and determine scenario parameters associated with the jaywalking scenario including pedestrian position, pedestrian pose, pedestrian size, pedestrian speed, pedestrian footprint, distance between vehicle and pedestrian, vehicle speed, road width, etc.

いくつかの例では、パラメータコンポーネント112は、シナリオパラメータに関連付けられた範囲または値のセットを決定できる。例えば、パラメータコンポーネント112は、初期シナリオ110内に表されるオブジェクト(例えば、歩行者)に関連付けられた分類を決定し、入力データ102内の同じ分類の他のオブジェクトを決定できる。次いで、パラメータコンポーネント112は、初期シナリオ110によって表されるように、シナリオパラメータに関連付けられた値の範囲を決定できる。例として、限定されないが、シナリオパラメータは、歩行者が毎秒0.5乃至1.5メートルの範囲の速度を有することができることを示すことができる。 In some examples, the parameter component 112 can determine a range or set of values associated with a scenario parameter. For example, the parameter component 112 can determine a classification associated with an object (e.g., a pedestrian) represented in the initial scenario 110 and determine other objects of the same classification in the input data 102. The parameter component 112 can then determine a range of values associated with the scenario parameter as represented by the initial scenario 110. By way of example, and not limitation, the scenario parameter can indicate that a pedestrian can have a speed ranging from 0.5 to 1.5 meters per second.

いくつかの例では、パラメータコンポーネント112は、シナリオパラメータに関連付けられた確率を決定できる。例として、限定されないが、パラメータコンポーネント112は、ガウス分布(正規分布とも呼ばれる)などの確率分布をシナリオパラメータに関連付けることができる。いくつかの例では、パラメータコンポーネント112は、入力データ102に基づいて、シナリオパラメータに関連付けられた確率を決定できる。上述したように、パラメータコンポーネント112は、入力データ102内に表されるオブジェクトに関連付けられた分類を決定し、入力データ102および/または他のログデータ内の同じ分類の他のオブジェクトを決定できる。次いで、パラメータコンポーネント112は、入力データ102および/または他のログデータによって表されるように、オブジェクトに関連付けられたシナリオパラメータの確率分布を決定できる。 In some examples, the parameter component 112 can determine probabilities associated with the scenario parameters. By way of example, and not limitation, the parameter component 112 can associate a probability distribution, such as a Gaussian distribution (also referred to as a normal distribution), with the scenario parameters. In some examples, the parameter component 112 can determine the probabilities associated with the scenario parameters based on the input data 102. As described above, the parameter component 112 can determine a classification associated with an object represented in the input data 102 and determine other objects of the same classification in the input data 102 and/or other log data. The parameter component 112 can then determine a probability distribution for the scenario parameters associated with the object as represented by the input data 102 and/or other log data.

例として、限定されないが、パラメータコンポーネント112は、歩行者の30%が毎秒0.3メートル未満の速度で歩いており、歩行者の30%が毎秒1.2メートルを超える速度で歩いており、および歩行者の40%が毎秒0.3乃至1.2メートルの間の速度で歩いていると、決定できる。パラメータコンポーネント112は、ジェイウォーキングシナリオの歩行者が特定の速度で歩くであろう確率として分布を使用できる。追加の例として、限定されないが、パラメータコンポーネント112は、環境を横断する車両が環境を横断する間に5%の時間でジェイウォーカーに遭遇することを示すことができる、ジェイウォーキングシナリオ確率が1%であると決定できる。いくつかの例では、自律車両コントローラのシミュレーション中に、シナリオ確率を、シナリオ確率に関連付けられたレートにてシナリオを含めるために使用することができる。 As an example, but not by way of limitation, the parameter component 112 may determine that 30% of pedestrians walk at a speed less than 0.3 meters per second, 30% of pedestrians walk at a speed greater than 1.2 meters per second, and 40% of pedestrians walk at a speed between 0.3 and 1.2 meters per second. The parameter component 112 may use the distribution as the probability that a pedestrian in a jaywalking scenario will walk at a particular speed. As an additional example, but not by way of limitation, the parameter component 112 may determine that a jaywalking scenario probability is 1%, which may indicate that a vehicle traversing an environment will encounter a jaywalker 5% of the time while traversing the environment. In some examples, the scenario probabilities may be used to include scenarios at a rate associated with the scenario probabilities during a simulation of the autonomous vehicle controller.

いくつかの例では、パラメータコンポーネント112は、分布に組み込まれた補完データ114を受信できる。例として、限定されないが、パラメータコンポーネント112は、車両が毎秒15メートルの速度で移動する間、歩行者が車両までの30乃至60メートルの範囲の距離を有することができることを示す、または代替的に2乃至4秒の衝突までの時間として表される、シナリオパラメータを決定できる。補完データ114(例えば、規制またはガイドライン)は、下限(パラメータ閾値とも呼ばれる)とすることができる1.5秒の衝突までの時間で、車両がシナリオに対処しなければならないことを示すことができる。パラメータコンポーネント112は、補完データ114を組み込むことができ、1.5乃至4秒の衝突までの時間(しかし、任意の時間範囲を指定できる)を有するようにシナリオパラメータを決定できる。いくつかの例では、パラメータコンポーネント112は上述の確率分布を使用して、補完データ114に関連付けられた確率を(内挿および/または外挿技法を使用して)決定できる。 In some examples, the parameter component 112 can receive the complementary data 114 incorporated into the distribution. By way of example, and not by way of limitation, the parameter component 112 can determine a scenario parameter indicating that a pedestrian may have a range of distances to a vehicle between 30 and 60 meters while the vehicle is moving at a speed of 15 meters per second, or alternatively expressed as a time to impact between 2 and 4 seconds. The complementary data 114 (e.g., regulations or guidelines) can indicate that the vehicle must address the scenario with a time to impact of 1.5 seconds, which can be a lower limit (also referred to as a parameter threshold). The parameter component 112 can incorporate the complementary data 114 and determine the scenario parameter to have a time to impact between 1.5 and 4 seconds (although any time range can be specified). In some examples, the parameter component 112 can use the probability distributions described above to determine (using interpolation and/or extrapolation techniques) a probability associated with the complementary data 114.

エラーモデルコンポーネント116は、シナリオパラメータに関連付けられたエラーを示すことができるエラーモデルを決定できる。例えば、知覚エラーモデルは、シミュレートされたオブジェクトの知覚パラメータに関連付けられた知覚エラーを生成でき、予測エラーモデルは、シミュレートされたオブジェクトの予測パラメータに関連付けられた予測エラーを生成するなどができる。いくつかの例では、車両が環境を横断するとき、センサは誤ったセンサデータを生成する可能性があり、および/または車両のコンピューティングデバイスは、知覚エラーをもたらす可能性があるセンサデータを誤って処理する可能性がある。知覚エラーをテストおよびシミュレートすることは、潜在的な知覚エラーに関連する車両の運用マージンを示すのに役立つことができる。例えば、知覚パラメータなどのシナリオパラメータは、オブジェクトのサイズまたは環境内のオブジェクトの位置の範囲を示すことができる。エラーモデルコンポーネント116は、知覚エラーモデルを使用して、オブジェクトが環境内の実際のオブジェクトよりも大きいまたは小さいことを示す車両の知覚データをもたらすことができるオブジェクトのサイズに関連付けられた潜在的なエラーを示すことができる。 The error model component 116 can determine an error model that can indicate an error associated with the scenario parameters. For example, the perception error model can generate a perception error associated with a perception parameter of the simulated object, the prediction error model can generate a prediction error associated with a prediction parameter of the simulated object, etc. In some examples, as the vehicle traverses the environment, the sensors can generate erroneous sensor data and/or the vehicle's computing device can misprocess the sensor data that can result in a perception error. Testing and simulating the perception error can help indicate the vehicle's operating margins associated with potential perception errors. For example, the scenario parameters, such as the perception parameters, can indicate the size of an object or a range of positions of an object in the environment. The error model component 116 can use the perception error model to indicate a potential error associated with the size of an object that can result in the vehicle's perception data indicating that the object is larger or smaller than the actual object in the environment.

エラーモデルコンポーネント116は、例えば、入力データ102をグラウンドトゥルースデータと比較することによって、知覚エラーモデルを決定できる。いくつかの例では、グラウンドトゥルースデータを、手動でラベル付けおよび/または他の検証された機械学習コンポーネントから決定できる。例えば、入力データ102は、センサデータおよび/または車両によって生成された知覚データを含むことができる。エラーモデルコンポーネント116は、入力データ102を、環境内のオブジェクトの実際のパラメータを示すことができるグラウンドトゥルースデータと比較できる。入力データ102をグラウンドトゥルースデータと比較することによって、エラーモデルコンポーネント116は、知覚エラーを決定できる。例として、限定されないが、入力データ102は、歩行者が1.8メートルの高さであることを示すことができ、一方、グラウンドトゥルースデータは歩行者が1.75メートルの高さであることを示し、したがって、知覚エラーモデルは約3%の知覚エラーを示すことができる(例えば、[(1.8-1.75)/1.8]*100)。 The error model component 116 can determine the perception error model, for example, by comparing the input data 102 to ground truth data. In some examples, the ground truth data can be determined from manually labeled and/or other validated machine learning components. For example, the input data 102 can include sensor data and/or sensory data generated by a vehicle. The error model component 116 can compare the input data 102 to the ground truth data, which can indicate actual parameters of objects in the environment. By comparing the input data 102 to the ground truth data, the error model component 116 can determine a perception error. As an example, but not by way of limitation, the input data 102 can indicate that a pedestrian is 1.8 meters tall, while the ground truth data indicates that the pedestrian is 1.75 meters tall, and thus the perception error model can indicate a perception error of approximately 3% (e.g., [(1.8-1.75)/1.8]*100).

いくつかの例では、エラーモデルコンポーネント116は、入力データ102内に表されるオブジェクトに関連付けられた分類を決定し、入力データ102内の同じ分類の他のオブジェクトを決定できる。次いで、エラーモデルコンポーネント116は、オブジェクトのエラーの範囲に関連付けられた確率分布(エラー分布とも呼ばれる)を決定し、確率分布を初期シナリオ110内のオブジェクトに関連付けることができる。例として、限定されないが、エラーモデルコンポーネント116は、歩行者分類を伴うオブジェクトが4%乃至6%の知覚エラーを有すること、および車両分類を伴うオブジェクトが3%乃至5%の知覚エラーを有することを決定できる。いくつかの例では、エラーモデルコンポーネント116は、例えば、閾値サイズより大きいオブジェクトがエラーを有する可能性が高いまたは低い(例えば、分類において)ことを示す確率分布を決定できる。 In some examples, the error model component 116 can determine a classification associated with an object represented in the input data 102 and determine other objects of the same classification in the input data 102. The error model component 116 can then determine a probability distribution (also referred to as an error distribution) associated with a range of error for the object and associate the probability distribution with the object in the initial scenario 110. By way of example and not by way of limitation, the error model component 116 can determine that an object with a pedestrian classification has a perception error of 4% to 6% and an object with a vehicle classification has a perception error of 3% to 5%. In some examples, the error model component 116 can determine a probability distribution indicating that, for example, objects larger than a threshold size are more likely or less likely to have an error (e.g., in the classification).

いくつかの例では、パラメータコンポーネント112は、領域データ118を使用して、シナリオおよびシナリオパラメータと互換性のある環境の領域のセットを決定できる。例として、限定されないが、シナリオは、車両が毎秒15メートルの速度を有すること、歩行者が毎秒1.5メートルの速度を有すること、および車両と歩行者との間の距離が30メートルであること、を示すことができる。パラメータコンポーネント112は、シナリオに適合する環境の領域データ118に基づいて領域を決定できる。例として、限定されないが、パラメータコンポーネント112は、シナリオ内の車両の速度がスクールゾーンに関連付けられた速度制限を超える可能性があり、したがって、シナリオがスクールゾーンで有効ではないため、スクールゾーンを除外できる。しかし、そのような車両速度(例えば、15m/s)は、農地に隣接する郡道上で妥当であり得、したがって、そのような領域は、領域のセット内で考慮され得る。 In some examples, the parameters component 112 can use the region data 118 to determine a set of regions of an environment that are compatible with the scenario and the scenario parameters. By way of example, and not by way of limitation, a scenario can indicate that a vehicle has a speed of 15 meters per second, a pedestrian has a speed of 1.5 meters per second, and a distance between the vehicle and the pedestrian is 30 meters. The parameters component 112 can determine the regions based on the region data 118 of an environment that fits the scenario. By way of example, and not by way of limitation, the parameters component 112 can exclude school zones because the speed of the vehicles in the scenario may exceed the speed limit associated with the school zone, and thus the scenario is not valid in the school zone. However, such vehicle speeds (e.g., 15 m/s) may be reasonable on a county road adjacent to farmland, and thus such regions may be considered within the set of regions.

いくつかの例では、パラメータコンポーネント112は、環境の駆動可能領域の区分を含む領域データ118を格納できる。運転可能な路面の区分および類似の区分、ならびに区分分類および/またはステレオタイプを識別するための技術は、例えば、「Extension of Autonomous Driving Functionality to New Regions」と題され、2019年3月19日に出願された米国特許出願第16/370,696号、および「Simulating Autonomous Driving Using Map Data and Driving Data」と題され、2019年4月5日に出願された米国特許出願第16/376,842号に見出すことができ、これらは、参照によりその全体が本明細書に組み込まれる。 In some examples, the parameter component 112 can store region data 118 including segments of drivable regions of the environment. Techniques for identifying drivable surface segments and similar segments, as well as segment classifications and/or stereotypes, can be found, for example, in U.S. patent application Ser. No. 16/370,696, entitled "Extension of Autonomous Driving Functionality to New Regions," filed Mar. 19, 2019, and U.S. patent application Ser. No. 16/376,842, entitled "Simulating Autonomous Driving Using Map Data and Driving Data," filed Apr. 5, 2019, which are incorporated herein by reference in their entireties.

例えば、環境の領域データ118を区分に解析でき、同様の区分を識別できる。いくつかの例では、区分は、ジャンクション区分、例えば、交差点、合流点など、または接続道路区分、例えば、ジャンクション間の道路の長さおよび/または幅を含むことができる。例として、限定されないが、10mphの範囲内の速度制限を有する全ての2車線道路区分を、同じステレオタイプに関連付けることができる。いくつかの例では、データを個々の区分のそれぞれに関連付けることができる。例えば、ジャンクション区分は、例えば、合流点、「T」、ラウンドアバウトなどのジャンクションタイプ、ジャンクションで集合する道路の数、例えば、ジャンクションで集合する道路間の角度であるそれらの道路の相対位置、ジャンクションでの交通制御信号に関する情報、および/または他の特徴を含むことができる。接続道路区分に関連付けられたデータは、いくつかの車線、それらの車線の幅、車線のそれぞれにおける横断の方向、駐車車線の識別、道路区分の速度制限、および/または他の特徴を含むことができる。 For example, the area data 118 of the environment can be parsed into segments and similar segments can be identified. In some examples, the segments can include junction segments, e.g., intersections, merges, etc., or connecting road segments, e.g., the length and/or width of the road between the junctions. By way of example, and not limitation, all two-lane road segments having speed limits within a 10 mph range can be associated with the same stereotype. In some examples, data can be associated with each of the individual segments. For example, a junction segment can include a junction type, e.g., a merge, "T", roundabout, etc., the number of roads that meet at the junction, the relative positions of those roads, e.g., the angle between the roads that meet at the junction, information about the traffic control signals at the junction, and/or other features. Data associated with a connecting road segment can include the number of lanes, the width of those lanes, the direction of crossing in each of the lanes, the identification of parking lanes, the speed limit of the road segment, and/or other features.

いくつかの例では、駆動可能な表面の区分を、区分分類または区分ステレオタイプに従ってグループ化できる。例として、限定されないが、メトリックまたは属性のいくつかの範囲に適合する一部または全てのジャンクション区分を一緒にグループ化することができる(例えば、k-meansを使用する、区分パラメータ間の加重距離(例えば、ユークリッド)を評価する、またはそうでなければ区分パラメータに基づいてそのような区分をクラスタリングする)。 In some examples, segments of a drivable surface can be grouped according to a segment classification or segment stereotype. By way of example and not limitation, some or all junction segments that fit some range of a metric or attribute can be grouped together (e.g., using k-means, evaluating a weighted distance (e.g., Euclidean) between segment parameters, or otherwise clustering such segments based on segment parameters).

同じまたは類似のステレオタイプを含むシナリオを使用して、自律車両コントローラの機能性を検証できる。例えば、自律車両は、同じまたは類似のステレオタイプにおいて、同じことを行うことが期待され得る(および/または明らかに実行され得る)。いくつかの例では、ステレオタイプの使用は、行われるべき比較の数を減少できる。例えば、同様の領域を識別することによって、有用な情報を提供できるシミュレーションシナリオの数が減る。本明細書に記載の技術は、検証およびテストのための有用な情報を提供する特定のシナリオにわたって最適化することによって、計算の複雑性、メモリ要件、および処理時間を低減できる。 Scenarios involving the same or similar stereotypes can be used to verify the functionality of an autonomous vehicle controller. For example, an autonomous vehicle may be expected (and/or apparently performed) to do the same thing in the same or similar stereotypes. In some examples, the use of stereotypes can reduce the number of comparisons to be made. For example, by identifying similar areas, the number of simulation scenarios that can provide useful information is reduced. The techniques described herein can reduce computational complexity, memory requirements, and processing time by optimizing over specific scenarios that provide useful information for validation and testing.

パラメータ化シナリオコンポーネント120はパラメータコンポーネント112によって決定されたデータ(例えば、初期シナリオ110、シナリオパラメータ、領域のセット、および/またはエラーモデルデータ)を使用して、パラメータ化シナリオ122を生成できる。例えば、初期シナリオ110は、車線変更シナリオ、右折シナリオ、左折シナリオ、緊急停止シナリオなどのシナリオを示すことができる。シナリオパラメータは、自律車両コントローラによって制御される車両に関連付けられた速度、車両のポーズ、車両とオブジェクトとの間の距離などを示すことができる。いくつかの例では、シナリオパラメータは、オブジェクト、オブジェクトに関連付けられた位置、オブジェクトに関連付けられた速度などを示すことができる。さらに、エラーモデル(例えば、知覚エラーモデル、予測エラーモデルなど)は、シナリオパラメータに関連付けられたエラーを示し、シナリオパラメータに関連付けられた値および/または確率の範囲を提供できる。例として、限定されないが、車両の速度などのシナリオパラメータを、毎秒8乃至12メートルなどの速度の範囲に関連付けることができる。上述のように、速度の範囲を、発生する速度の範囲内の速度の確率を示す確率分布に関連付けることができる。 The parameterized scenario component 120 can use the data determined by the parameter component 112 (e.g., the initial scenario 110, the scenario parameters, the set of regions, and/or the error model data) to generate the parameterized scenario 122. For example, the initial scenario 110 can represent scenarios such as a lane change scenario, a right turn scenario, a left turn scenario, an emergency stop scenario, etc. The scenario parameters can represent a speed associated with a vehicle controlled by the autonomous vehicle controller, a pose of the vehicle, a distance between the vehicle and an object, etc. In some examples, the scenario parameters can represent an object, a position associated with the object, a speed associated with the object, etc. Additionally, the error model (e.g., a perception error model, a prediction error model, etc.) can represent an error associated with the scenario parameter and provide a range of values and/or probabilities associated with the scenario parameter. By way of example, and without limitation, a scenario parameter such as a vehicle speed can be associated with a range of speeds, such as 8 to 12 meters per second. As discussed above, the range of speeds can be associated with a probability distribution indicating the probability of a speed within the range of speeds occurring.

領域のセットは、シミュレートされた環境内にオブジェクトを配置するために使用できる環境の一部を示すことができる。例えば、初期シナリオ110は、時速35マイルの速度制限に関連付けられた双方向マルチ車線駆動路面を含むシナリオを示すことができる。初期シナリオ110に基づいて、領域のセットは、例えば駐車場など、時速35マイルの制限速度に関連付けられた双方向マルチ車線駆動路面を含まないであろう領域を除外できる。パラメータ化シナリオ122を使用して、シナリオパラメータ、エラーモデル、領域データ118などによって提供されるバリエーションをカバーできる。 The set of regions can represent portions of an environment that can be used to place objects within the simulated environment. For example, the initial scenario 110 can represent a scenario that includes a two-way, multi-lane driving surface associated with a speed limit of 35 miles per hour. Based on the initial scenario 110, the set of regions can exclude regions that would not include a two-way, multi-lane driving surface associated with a speed limit of 35 miles per hour, such as parking lots. The parameterized scenarios 122 can be used to cover variations provided by the scenario parameters, error models, region data 118, etc.

例として、限定されないが、シナリオパラメータは、ジャンクションに接近しながら、毎秒10、11、または12メートルの速度(または任意の速度)で環境を横断する車両を含むことができる。領域のセットは、制御されていないジャンクション、4方向のストップを有するジャンクション、および交通信号を有するジャンクションを含むことができる。加えて、知覚エラーモデルは、テストされている知覚システムのために決定された知覚メトリックによって提供され得るように、1.34%の知覚エラーを示すことができる。したがって、パラメータ化シナリオ122は、シナリオパラメータおよび領域を変化させることによって、合計9つの様々なシナリオを可能にできる(例えば、3つの速度*3つの領域=9つのシナリオ/順列)。加えて、シミュレーションコンポーネント124がパラメータ化シナリオをシミュレートするとき、シミュレーションコンポーネント124は、知覚エラーモデルを使用して、車両によって決定された知覚データに関連付けられた知覚エラーを導入できる。理解できるように、これは単なる例であり、パラメータ化シナリオ122は、より多くまたはより少ない順列、ならびにシナリオパラメータの異なるタイプ、領域、および/または知覚エラーを含むことができる。 By way of example, and not by way of limitation, the scenario parameters may include a vehicle traversing an environment at a speed of 10, 11, or 12 meters per second (or any speed) while approaching a junction. The set of regions may include an uncontrolled junction, a junction with a four-way stop, and a junction with a traffic light. In addition, the perception error model may indicate a perception error of 1.34%, as may be provided by the perception metric determined for the perception system being tested. Thus, the parameterization scenario 122 may allow for a total of nine different scenarios by varying the scenario parameters and regions (e.g., three speeds * three regions = nine scenarios/permutations). In addition, when the simulation component 124 simulates the parameterization scenario, the simulation component 124 may use the perception error model to introduce a perception error associated with the perception data determined by the vehicle. As can be appreciated, this is merely an example, and the parameterization scenario 122 may include more or fewer permutations, as well as different types, regions, and/or perception errors of the scenario parameters.

シミュレーションコンポーネント124は、パラメータ化シナリオ122をシミュレーション命令のセットとして実行し、シミュレーションデータ126を生成できる。例えば、シミュレーションコンポーネント124はシミュレートされたシナリオにおいて車両コントローラをインスタンス化できる。いくつかの例では、シミュレーションコンポーネント124は複数のシミュレートされたシナリオを同時におよび/または並行して実行できる。加えて、シミュレーションコンポーネント124はパラメータ化シナリオ122の結果を決定できる。例えば、シミュレーションコンポーネント124はテストおよび検証のためのシミュレーションにおいて使用するためのパラメータ化シナリオ122のバリエーションを実行できる。シミュレーションコンポーネント124は、自律車両コントローラがどのように実行したか(例えば、応答したか)を示すシミュレーションデータ126を生成でき、シミュレーションデータ126を所定の結果と比較し、および/またはいずれかの所定のルール/アサーションが破られた/トリガされたかどうかを決定できる。 The simulation component 124 can execute the parameterized scenarios 122 as a set of simulation instructions and generate simulation data 126. For example, the simulation component 124 can instantiate a vehicle controller in the simulated scenario. In some examples, the simulation component 124 can execute multiple simulated scenarios simultaneously and/or in parallel. In addition, the simulation component 124 can determine the results of the parameterized scenarios 122. For example, the simulation component 124 can execute variations of the parameterized scenarios 122 for use in a simulation for testing and validation. The simulation component 124 can generate simulation data 126 indicative of how the autonomous vehicle controller performed (e.g., responded) and can compare the simulation data 126 to predetermined results and/or determine whether any predetermined rules/assertions were violated/triggered.

いくつかの例では、シミュレーションのためのバリエーションをシナリオパラメータの一般化された間隔に基づいて選択できる。例として、限定されないが、シナリオパラメータを車両の速度に関連付けることができる。加えて、シナリオパラメータを車両の値の範囲に関連付けることができる。シミュレーションのためのバリエーションを一般化された間隔に基づいて選択して、値の範囲のカバレッジを増加できる(例えば、25パーセンタイル、50パーセンタイル、75パーセンタイルなどを選択する)。いくつかの例では、バリエーションを無作為に選択でき、および/またはバリエーションを値の範囲の標準偏差内で無作為に選択できる。 In some examples, the variations for the simulation can be selected based on a generalized interval of the scenario parameters. By way of example and not limitation, the scenario parameters can be associated with the speed of the vehicle. In addition, the scenario parameters can be associated with a range of values for the vehicle. The variations for the simulation can be selected based on a generalized interval to increase coverage of the range of values (e.g., selecting the 25th percentile, 50th percentile, 75th percentile, etc.). In some examples, the variations can be selected randomly and/or the variations can be selected randomly within a standard deviation of the range of values.

いくつかの例では、所定のルール/アサーションはパラメータ化シナリオ122に基づくことができる(例えば、横断歩道に関する交通ルールは、横断歩道のシナリオに基づいて有効化でき、または車線マーカーを横切ることに関する交通ルールは、停止した車両のシナリオに対して無効化できる)。いくつかの例では、シミュレーションコンポーネント124は、シミュレーションが進むにつれて動的にルール/アサーションを有効化および無効化できる。例えば、シミュレートされたオブジェクトがスクールゾーンに近づくと、シミュレートされたオブジェクトがスクールゾーンから離れるときに、スクールゾーンに関連するルール/アサーションを有効化または無効化できる。いくつかの例では、ルール/アサーションは、例えば、シミュレートされたシナリオを所与として、オブジェクトがどのくらい速く加速できるかに関連する快適性メトリックを含むことができる。少なくともいくつかの例では、ルールは、例えば、道路のルールに従うこと、オブジェクト間の安全バッファを残すことなどを含み得る。 In some examples, the predefined rules/assertions may be based on the parameterized scenario 122 (e.g., a traffic rule regarding a crosswalk may be enabled based on a crosswalk scenario, or a traffic rule regarding crossing lane markers may be disabled for a stopped vehicle scenario). In some examples, the simulation component 124 may dynamically enable and disable the rules/assertions as the simulation progresses. For example, as the simulated object approaches a school zone, a rule/assertion related to the school zone may be enabled or disabled as the simulated object leaves the school zone. In some examples, the rules/assertions may include, for example, a comfort metric related to how fast the object can accelerate given the simulated scenario. In at least some examples, the rules may include, for example, following the rules of the road, leaving a safety buffer between objects, etc.

自律車両コントローラが所定の結果と一致して実行した(すなわち、自律車両コントローラは、することが想定されていた全てのことを実行した)と決定すること、および/またはルールが破られなかった、もしくはアサーションがトリガされなかったと決定することに少なくとも部分的に基づいて、シミュレーションコンポーネント124は、自律車両コントローラが成功したと決定できる。自律車両コントローラのパフォーマンスが所定の結果と一致しなかった(つまり、自律車両コントローラは、することを想定していないことをした)と決定すること、および/またはルールが破られた、もしくはアサーションがトリガされたと決定することに少なくとも部分的に基づいて、シミュレーションコンポーネント124は自律車両コントローラが失敗したと決定できる。したがって、パラメータ化シナリオ122を実行することに少なくとも部分的に基づいて、シミュレーションデータ126は、上記のように、自律車両コントローラがパラメータ化シナリオ122の各バリエーションにどのように応答するかを示し、シミュレーションデータ126に少なくとも部分的に基づいて成功した結果または失敗した結果を決定できる。 Based at least in part on determining that the autonomous vehicle controller performed consistent with a predetermined outcome (i.e., the autonomous vehicle controller did everything it was supposed to do) and/or determining that no rules were broken or assertions were triggered, the simulation component 124 can determine that the autonomous vehicle controller was successful. Based at least in part on determining that the autonomous vehicle controller's performance was inconsistent with a predetermined outcome (i.e., the autonomous vehicle controller did something it was not supposed to do) and/or determining that a rule was broken or assertions were triggered, the simulation component 124 can determine that the autonomous vehicle controller failed. Thus, based at least in part on executing the parameterized scenarios 122, the simulation data 126 can indicate how the autonomous vehicle controller responded to each variation of the parameterized scenarios 122, as described above, and a successful or unsuccessful outcome can be determined based at least in part on the simulation data 126.

分析コンポーネント128を成功または失敗の程度を決定するように構成できる。例として、限定されないが、ルールは、自律車両コントローラによって制御される車両がオブジェクトの閾値距離内で停止しなければならないことを示すことができる。シミュレーションデータ126は、パラメータ化シナリオ122の第1のバリエーションにおいて、シミュレートされた車両が閾値距離から5メートルを超えて停止したことを示すことができる。パラメータ化シナリオ122の第2のバリエーションにおいて、シミュレーションデータ126は、シミュレートされた車両が閾値距離から10メートルを超えて停止したことを示すことができる。分析コンポーネント128は、シミュレートされた車両が、第1のバリエーションにおけるシミュレートされた車両と比較して、第2のバリエーションにおいてより良好に実行したことを示すことができる。例えば、分析コンポーネント128は、シミュレートされた車両およびパラメータ化シナリオ122の関連するバリエーションを含む順序付けられたリスト(例えば、相対的な成功スケールに従って順序付けられた)を決定できる。そのようなバリエーションを使用して、シミュレートされるシステムの様々なコンポーネントの制限を決定もし得る。 The analysis component 128 can be configured to determine a degree of success or failure. By way of example, and not by way of limitation, a rule can indicate that a vehicle controlled by an autonomous vehicle controller must stop within a threshold distance of an object. The simulation data 126 can indicate that in a first variation of the parameterized scenario 122, the simulated vehicle stopped more than 5 meters from the threshold distance. In a second variation of the parameterized scenario 122, the simulation data 126 can indicate that the simulated vehicle stopped more than 10 meters from the threshold distance. The analysis component 128 can indicate that the simulated vehicle performed better in the second variation compared to the simulated vehicle in the first variation. For example, the analysis component 128 can determine an ordered list (e.g., ordered according to a relative success scale) that includes the simulated vehicle and associated variations of the parameterized scenario 122. Such variations can also be used to determine limitations for various components of the simulated system.

分析コンポーネント128は、シミュレーションデータ126に基づいて、パラメータ化シナリオ122の追加のバリエーションを決定できる。例えば、シミュレーションコンポーネント124によって出力されるシミュレーションデータ126は、成功または失敗に関連付けられたパラメータ化シナリオ122のバリエーション(連続した尤度として表され得る)を示すことができる。分析コンポーネント128は、失敗に関連付けられたバリエーションに基づいて、追加のバリエーションを決定できる。例として、限定されないが、失敗に関連付けられたパラメータ化シナリオ122のバリエーションは、毎秒15メートルの速度で駆動路面を横断する車両および車両の前方の20メートルの距離で駆動路面を横切る動物を表すことができる。分析コンポーネント128は、シナリオの追加のバリエーションを決定して、分析のための追加のシミュレーションデータ126を決定できる。例として、限定されないが、分析コンポーネント128は、毎秒10メートル、毎秒12.5メートル、毎秒17.5メートル、毎秒20メートルなどで横断する車両を含む追加のバリエーションを決定できる。加えて、分析コンポーネント128は、15メートル、17.5メートル、22.5メートル、および25メートルなどの距離で駆動路面を横切る動物を含む追加のバリエーションを決定できる。追加のバリエーションをシミュレーションコンポーネント124に入力して、追加のシミュレーションデータを生成できる。そのような追加のバリエーションを、例えば、シミュレーションにおいて実行されるシナリオのシナリオパラメータに対する摂動に基づいて決定できる。 The analysis component 128 can determine additional variations of the parameterized scenario 122 based on the simulation data 126. For example, the simulation data 126 output by the simulation component 124 can indicate variations of the parameterized scenario 122 associated with success or failure (which may be expressed as a continuous likelihood). The analysis component 128 can determine additional variations based on variations associated with failure. By way of example, and not by way of limitation, the variation of the parameterized scenario 122 associated with failure can represent a vehicle crossing the driving surface at a speed of 15 meters per second and an animal crossing the driving surface at a distance of 20 meters in front of the vehicle. The analysis component 128 can determine additional variations of the scenario to determine additional simulation data 126 for analysis. By way of example, and not by way of limitation, the analysis component 128 can determine additional variations including a vehicle crossing at 10 meters per second, 12.5 meters per second, 17.5 meters per second, 20 meters per second, etc. Additionally, the analysis component 128 can determine additional variations including animals crossing the driving surface at distances such as 15 meters, 17.5 meters, 22.5 meters, and 25 meters. The additional variations can be input to the simulation component 124 to generate additional simulation data. Such additional variations can be determined, for example, based on perturbations to scenario parameters of the scenarios executed in the simulation.

いくつかの例では、分析コンポーネント128は、シナリオパラメータを無効にすることによって、シナリオの追加のバリエーションを決定できる。例えば、パラメータ化シナリオは、オブジェクトの速度に関連付けられた第1のシナリオパラメータおよびオブジェクトの位置に関連付けられた第2のシナリオパラメータを含むことができる。パラメータ化シナリオ122は、速度に関連付けられた値の第1の範囲および位置に関連付けられた値の第2の範囲を含むことができる。いくつかの例では、パラメータ化シナリオ122をシミュレートした後、シミュレーションデータ126は、パラメータ化シナリオ122のいくつかのバリエーションが成功した結果をもたらし、いくつかのバリエーションが失敗した結果をもたらしたことを示すことができる。次いで、分析コンポーネント128は、第1のシナリオパラメータを無効にすること(例えば、第1のシナリオパラメータに関連付けられた固定値を設定すること)を決定し、第2のシナリオパラメータに基づいてパラメータ化シナリオ122を変化させることができる。シナリオパラメータの1つを無効にすることによって、分析コンポーネント128は、シナリオパラメータおよび/またはシナリオパラメータの値が成功の結果または失敗の結果に関連付けられているかどうかを決定できる。そのようなパラメータを、失敗の可能性に基づいて、ランダムに、またはその他で、無効にし得る。例として、限定されないが、シナリオパラメータの全てを無効にした結果としてのシミュレーションデータ126は自律車両の計画コンポーネントを伴う問題を示すことができる。 In some examples, the analysis component 128 can determine additional variations of the scenario by disabling a scenario parameter. For example, the parameterized scenario can include a first scenario parameter associated with a velocity of an object and a second scenario parameter associated with a position of the object. The parameterized scenario 122 can include a first range of values associated with the velocity and a second range of values associated with the position. In some examples, after simulating the parameterized scenario 122, the simulation data 126 can indicate that some variations of the parameterized scenario 122 resulted in successful outcomes and some variations resulted in unsuccessful outcomes. The analysis component 128 can then determine to disable the first scenario parameter (e.g., set a fixed value associated with the first scenario parameter) and vary the parameterized scenario 122 based on the second scenario parameter. By disabling one of the scenario parameters, the analysis component 128 can determine whether the scenario parameter and/or the value of the scenario parameter is associated with a successful outcome or a failed outcome. Such parameters may be disabled randomly, based on a likelihood of failure, or otherwise. By way of example, and not limitation, simulation data 126 as a result of disabling all of the scenario parameters may indicate an issue with the planning component of an autonomous vehicle.

いくつかの例では、分析コンポーネント128を使用して感度分析を実行できる。例えば、分析コンポーネント128は、シナリオパラメータを無効にし、シミュレーションコンポーネント124によって生成されたシミュレーションデータ126に基づいて、シナリオパラメータを無効にすることがシミュレーションデータ126にどのように影響するか(例えば、成功率を増加させる、成功率を減少させる、成功率に最小限の影響を与える)を決定できる。いくつかの例では、分析コンポーネント128は、シナリオパラメータを個別に無効にして、各シナリオパラメータを無効にすることがシミュレーションデータ126にどのように影響するかを決定できる。分析コンポーネント128は、個々のシナリオパラメータが多くのシミュレーションの経過にわたってシミュレーションデータ126にどのように影響するかを示す統計データを収集できる。いくつかの例では、分析コンポーネント128を、シナリオパラメータのセットを無効にする(例えば、ナイトタイム環境パラメータを無効にする、および湿潤コンディション環境パラメータを無効にする)ように構成できる。上述のように、分析コンポーネントは、シナリオパラメータのセットがシミュレーションデータ126にどのように影響するかを示す統計データを収集できる。統計データは、成功するシミュレーションをもたらす可能性を増加または減少させるシナリオパラメータを決定するために使用できる、およびシミュレーションデータ126の成功率を増加または減少させるシナリオパラメータに関連付けられた自律車両のサブシステムを識別するために使用できる。 In some examples, the analysis component 128 can be used to perform sensitivity analysis. For example, the analysis component 128 can disable scenario parameters and determine, based on the simulation data 126 generated by the simulation component 124, how disabling the scenario parameters affects the simulation data 126 (e.g., increases the success rate, decreases the success rate, minimally affects the success rate). In some examples, the analysis component 128 can disable scenario parameters individually and determine how disabling each scenario parameter affects the simulation data 126. The analysis component 128 can collect statistical data indicative of how individual scenario parameters affect the simulation data 126 over the course of many simulations. In some examples, the analysis component 128 can be configured to disable a set of scenario parameters (e.g., disable a nighttime environment parameter and disable a wet conditions environment parameter). As described above, the analysis component can collect statistical data indicative of how a set of scenario parameters affects the simulation data 126. The statistical data can be used to determine scenario parameters that increase or decrease the likelihood of resulting in a successful simulation, and can be used to identify autonomous vehicle subsystems associated with scenario parameters that increase or decrease the success rate of the simulation data 126.

いくつかの例では、分析コンポーネント128は、シナリオパラメータが調整される程度を調整できる。例として、限定されないが、シナリオパラメータは、湿潤環境コンディション(例えば、雨の条件)を示すことができる。シナリオパラメータを範囲(例えば、4分の1インチの雨量、1インチの雨量など)上で調整できる。分析コンポーネント128は、シナリオパラメータの大きさ(magnitude)を調整し、シナリオパラメータの大きさに基づいて感度分析を実行して、シミュレーションの成功または失敗の結果をもたらすことができるシナリオパラメータに関連付けられた閾値を決定できる。いくつかの例では、バイナリ検索アルゴリズム、粒子フィルタアルゴリズム、および/またはモンテカルロ法を使用して、閾値を決定できるが、他の適切なアルゴリズムが企図される。 In some examples, the analysis component 128 can adjust the extent to which the scenario parameters are adjusted. By way of example, and not limitation, the scenario parameters can indicate wet environmental conditions (e.g., rainy conditions). The scenario parameters can be adjusted over a range (e.g., a quarter inch of rain, an inch of rain, etc.). The analysis component 128 can adjust the magnitude of the scenario parameters and perform a sensitivity analysis based on the magnitude of the scenario parameters to determine thresholds associated with the scenario parameters that can result in a successful or unsuccessful outcome of the simulation. In some examples, the thresholds can be determined using a binary search algorithm, a particle filter algorithm, and/or a Monte Carlo method, although other suitable algorithms are contemplated.

車両性能コンポーネント130は、シミュレーションデータ126(および/または分析コンポーネント128からの追加のバリエーションに基づく追加のシミュレーションデータ)および失敗のタイプに基づいて、車両性能データ132を決定できる。いくつかの例では、車両性能データ132は車両が環境内でどのように機能するかを示すことができる。例として、限定されないが、車両性能データ132は毎秒15メートルの速度で横断する車両が15メートルの停止距離を有することを示すことができる。いくつかの例では、車両性能データは安全性メトリックを示すことができる。例として、限定されないが、車両性能データ132はイベント(例えば、失敗)およびイベントの原因を示すことができる。少なくともいくつかの例では、そのような表示は、バイナリ(故障の有無)、粗い(故障のレベル、例えば、「臨界」、「非臨界」、および「通過」)、または連続的(例えば、故障の可能性を表す)であり得るが、任意の他の表示が企図される。例えば、イベントタイプ1および原因タイプ1について、データ134(1)は安全性レーティングを示すことができ、データ134(2)乃至134(4)についても同様である。いくつかの例では、原因タイプ1および原因タイプ2は車両の故障またはオブジェクト(例えば、自転車乗り)の故障などの故障を示すことができる。次いで、車両性能データ132は、パラメータ化シナリオ122に関連付けられた安全性メトリックを示すことができる。いくつかの例では、車両性能コンポーネント130は、ターゲットメトリックを使用し、車両性能データ132をターゲットメトリックと比較して、安全性メトリックがターゲットメトリックを満たすまたは超えるかを決定できる。いくつかの例では、ターゲットメトリックは、自律車両に関連付けられた標準および/または規制に基づくことができる。 The vehicle performance component 130 can determine vehicle performance data 132 based on the simulation data 126 (and/or additional simulation data based on additional variations from the analysis component 128) and the type of failure. In some examples, the vehicle performance data 132 can indicate how the vehicle performs in an environment. By way of example, and not by way of limitation, the vehicle performance data 132 can indicate that a vehicle traversing at a speed of 15 meters per second has a stopping distance of 15 meters. In some examples, the vehicle performance data can indicate a safety metric. By way of example, and not by way of limitation, the vehicle performance data 132 can indicate an event (e.g., a failure) and a cause of the event. In at least some examples, such an indication can be binary (presence or absence of failure), coarse (level of failure, e.g., “critical”, “non-critical”, and “pass”), or continuous (e.g., representing the likelihood of failure), although any other indication is contemplated. For example, for event type 1 and cause type 1, data 134(1) can indicate a safety rating, as can data 134(2) through 134(4). In some examples, cause type 1 and cause type 2 may indicate a fault, such as a vehicle fault or an object (e.g., a cyclist) fault. The vehicle performance data 132 may then indicate a safety metric associated with the parameterization scenario 122. In some examples, the vehicle performance component 130 may use a target metric and compare the vehicle performance data 132 to the target metric to determine whether the safety metric meets or exceeds the target metric. In some examples, the target metric may be based on a standard and/or regulation associated with the autonomous vehicle.

いくつかの例では、車両性能データ132を、フィルタコンポーネント134に入力して、車両性能データ132に基づいてフィルタされたデータ136を決定できる。例えば、フィルタコンポーネント134を使用して、カバレッジ閾値を満たさない領域を識別するフィルタされたデータ136を決定できる。例として、限定されないが、初期シナリオ110は、時速35マイルの速度制限および領域データ118に関連付けられた双方向マルチ車線駆動路面を示すことができる。初期シナリオ110および領域データ118に基づいて、パラメータコンポーネント112は、初期シナリオ110をシミュレートするために使用できる環境の5つの領域を識別できる。パラメータ化シナリオ122をシミュレートした後、車両性能データ132は、シミュレーションデータ126が5つの領域のうちの3つに関連付けられていることを示すことができる。例えば、シミュレーションコンポーネント124は、パラメータコンポーネント112によって識別された5つの領域のうちの3つにおいて、シナリオを実行することに基づいて、シナリオをシミュレートし、シミュレーションデータ126を生成できる。フィルタコンポーネント134は、1つまたは複数のフィルタに基づいて、5つの領域の残りの2つがカバレッジ閾値(例えば、領域に関連付けられたシミュレーションの最小数)を満たさないことを示すフィルタされたデータ136を決定できる。 In some examples, the vehicle performance data 132 can be input to a filter component 134 to determine filtered data 136 based on the vehicle performance data 132. For example, the filter component 134 can be used to determine filtered data 136 that identifies areas that do not meet a coverage threshold. By way of example, and not limitation, the initial scenario 110 can indicate a speed limit of 35 miles per hour and a two-way multi-lane driving surface associated with the area data 118. Based on the initial scenario 110 and the area data 118, the parameter component 112 can identify five areas of the environment that can be used to simulate the initial scenario 110. After simulating the parameterized scenario 122, the vehicle performance data 132 can indicate that simulation data 126 is associated with three of the five areas. For example, the simulation component 124 can simulate the scenario and generate simulation data 126 based on running the scenario in three of the five areas identified by the parameter component 112. The filter component 134 can determine filtered data 136 that indicates that the remaining two of the five regions do not meet a coverage threshold (e.g., a minimum number of simulations associated with the region) based on one or more filters.

いくつかの例では、フィルタコンポーネント134は、車両性能データ132に基づいて、イベントの発生を示すフィルタされたデータ136を決定できる。例として、限定されないが、シミュレーションデータ126は、非常停止、フラットタイヤ、駆動路面を横切る動物などのイベントの発生を含むことができる。フィルタコンポーネント134は、1つまたは複数のフィルタに基づいて、非常停止の発生を示すフィルタされたデータ136を決定できる。加えて、フィルタされたデータ136は、例えば、緊急停止に関連付けられた停止距離など、緊急停止の発生に関連付けられたシミュレーションデータ126の一部を含むことができる。 In some examples, the filter component 134 can determine filtered data 136 indicative of an occurrence of an event based on the vehicle performance data 132. By way of example, and not limitation, the simulation data 126 can include an occurrence of an event, such as an emergency stop, a flat tire, an animal crossing the driving surface, etc. The filter component 134 can determine filtered data 136 indicative of an occurrence of an emergency stop based on one or more filters. Additionally, the filtered data 136 can include a portion of the simulation data 126 associated with the occurrence of an emergency stop, such as, for example, a stopping distance associated with the emergency stop.

図2は、車両202の例200を示しており、これは、図1を参照して説明した車両データ104を生成する車両と同様であり、車両データ104を生成し、車両データ104をコンピューティングデバイス204に送信できる。上述したように、シナリオエディタコンポーネント108を、入力データ102(例えば、車両データ104および/または追加の状況データ106)をスキャンし、入力データ102に表される1つまたは複数のシナリオを識別するように構成できる。非限定的な例として、そのようなシナリオは、例えば、ログデータのパラメータ化をクラスタリング(例えば、k平均などを使用する)することに基づいて決定され得る。いくつかの例では、シナリオエディタコンポーネント108は、シナリオ定義データ206を使用して、入力データ102に表される1つまたは複数のシナリオを識別できる。例えば、シナリオ定義データ206は、シナリオのタイプに関連付けられた特徴を識別できる。例として、限定されないが、シナリオ定義データ206は、横断歩道に関連付けられていない駆動路面の一部を歩行者が横断するなどの特徴を含むジェイウォーキングシナリオを識別できる。シナリオエディタコンポーネント108は、入力データ102をスキャンして、横断歩道に関連付けられていない駆動路面の一部を横断する歩行者の特徴を含む入力データの一部を識別して、ジェイウォーキングシナリオを決定できる。少なくともいくつかの例では、そのようなシナリオは、サードパーティのデータ(例えば、警察のレポート、一般に利用可能なビデオクリップなど)からさらに手動で入力および/または導出され得る。 2 illustrates an example 200 of a vehicle 202, similar to the vehicle generating vehicle data 104 described with reference to FIG. 1, that can generate and transmit the vehicle data 104 to a computing device 204. As described above, the scenario editor component 108 can be configured to scan the input data 102 (e.g., the vehicle data 104 and/or the additional situation data 106) and identify one or more scenarios represented in the input data 102. As a non-limiting example, such scenarios can be determined, for example, based on clustering (e.g., using k-means, etc.) a parameterization of the log data. In some examples, the scenario editor component 108 can use scenario definition data 206 to identify one or more scenarios represented in the input data 102. For example, the scenario definition data 206 can identify features associated with a type of scenario. As an example, but not by way of limitation, the scenario definition data 206 can identify a jaywalking scenario that includes features such as a pedestrian crossing a portion of a driving surface that is not associated with a crosswalk. The scenario editor component 108 can scan the input data 102 to identify portions of the input data that include characteristics of a pedestrian crossing a portion of the driving surface that is not associated with a crosswalk to determine a jaywalking scenario. In at least some examples, such scenarios can be further manually input and/or derived from third party data (e.g., police reports, publicly available video clips, etc.).

加えて、上述したように、パラメータコンポーネント112は、シナリオ内のオブジェクトのパラメータに関連付けられた値または値の範囲を示すことができるシナリオパラメータを決定できる。パラメータコンポーネント112は、図2に描写されるように、シナリオデータ208を生成できる。 Additionally, as described above, the parameter component 112 can determine scenario parameters that can indicate values or ranges of values associated with parameters of objects in a scenario. The parameter component 112 can generate scenario data 208, as depicted in FIG. 2.

シナリオデータ208は、駆動路面に沿って横断する車両210、および車両210の近くを車両210と同じ方向に横断するオブジェクト212(異なる車両であり得る)を含むベースシナリオを示すことができる。車両210およびオブジェクト212は、横断歩道とのジャンクションに接近できる。パラメータコンポーネント112は、車両210とオブジェクト212との間の距離を、距離の範囲を有するものとして示すシナリオパラメータを決定できる。したがって、シナリオS1は、車両210とオブジェクト212との間の第1の距離を有するシナリオのセットの第1のシナリオを表すことができ、シナリオS2は、車両210とオブジェクト212との間の第2の距離を有するシナリオのセットの第2のシナリオを表すことができ、シナリオSNは、車両210とオブジェクト212との間の第Nの距離を有するシナリオのセットの第Nのシナリオを表すことができる。パラメータの追加のタイプ(属性とも称される)の例は、例えば、「Pedestrian Prediction Based on Attributes」と題され、2019年3月25日に出願された米国特許出願第16/363,541号に見出すことができ、参照によりその全体が本明細書に組み込まれる。 The scenario data 208 may represent a base scenario including a vehicle 210 traversing along a driving surface and an object 212 (which may be a different vehicle) traversing near the vehicle 210 in the same direction as the vehicle 210. The vehicle 210 and the object 212 may approach a junction with a pedestrian crossing. The parameter component 112 may determine a scenario parameter indicating a distance between the vehicle 210 and the object 212 as having a range of distances. Thus, scenario S1 may represent a first scenario of the set of scenarios having a first distance between the vehicle 210 and the object 212, scenario S2 may represent a second scenario of the set of scenarios having a second distance between the vehicle 210 and the object 212, and scenario S N may represent an Nth scenario of the set of scenarios having an Nth distance between the vehicle 210 and the object 212. Examples of additional types of parameters (also referred to as attributes) can be found, for example, in U.S. patent application Ser. No. 16/363,541, entitled "Pedestrian Prediction Based on Attributes," filed March 25, 2019, and incorporated by reference in its entirety herein.

例えば、シナリオパラメータは、オブジェクト212の速度、オブジェクト212の加速度、オブジェクト212のx位置(例えば、グローバル位置、ローカル位置、および/または任意の他の基準フレームに対する位置)、オブジェクト212のy位置(例えば、サイズ、ポーズ、ローカル位置、グローバル位置、および/または任意の他の基準フレームに対する位置)、オブジェクト212に関連付けられたバウンディングボックス(例えば、範囲(長さ、幅、および/または高さ)、ヨー、ピッチ、ロールなど)、照明状態(例えば、ブレーキライト、ブリンカーライト、ハザードライト、ヘッドライト、リバースライトなど)、オブジェクト212のホイールの方向、マップ要素(例えば、オブジェクト212と信号機の間の距離、一時停止標識、スピードバンプ、交差点、譲歩標識など)、オブジェクト212の分類(例:車両、車、トラック、自転車、オートバイ、歩行者、動物など)、オブジェクトの特性(例えば、オブジェクトが車線を変更しているかどうか、オブジェクト212が二重駐車車両であるかどうかなど)、1つまたは複数のオブジェクト(任意の座標フレームにおける)との近接性、車線の種類(例えば、車線の方向、駐車車線など)、道路標示(例えば、通過または車線変更が許可されているかどうかなどを示す)、オブジェクト密度、などを含むことができるが、これらに限定されない。 For example, the scenario parameters may include the velocity of object 212, the acceleration of object 212, the x-position of object 212 (e.g., relative to a global position, a local position, and/or any other frame of reference), the y-position of object 212 (e.g., size, pose, local position, global position, and/or position relative to any other frame of reference), a bounding box associated with object 212 (e.g., extent (length, width, and/or height), yaw, pitch, roll, etc.), lighting conditions (e.g., brake lights, blinker lights, hazard lights, headlights, reverse lights, etc.), the wheel position of object 212, These may include, but are not limited to, direction of the lane, map elements (e.g., distance between object 212 and a traffic light, stop sign, speed bump, intersection, yield sign, etc.), classification of object 212 (e.g., vehicle, car, truck, bicycle, motorcycle, pedestrian, animal, etc.), object characteristics (e.g., whether the object is changing lanes, whether object 212 is a double parked vehicle, etc.), proximity to one or more objects (in any coordinate frame), lane type (e.g., lane direction, parking lane, etc.), road markings (e.g., indicating whether passing or lane changing is permitted, etc.), object density, etc.

上述したように、パラメータコンポーネント112は、車両データ104および/または他の入力データによって表されるように、シナリオパラメータに関連付けられた値の範囲を決定できる。したがって、上記で識別された例示的なシナリオパラメータのそれぞれ、ならびに他のシナリオパラメータを、シナリオのセットのシナリオがシナリオパラメータの1つまたは複数の値によって異なるシナリオのセットを生成するために使用できる値のセットまたは範囲に、関連付けることができる。 As discussed above, the parameter component 112 can determine a range of values associated with the scenario parameters, as represented by the vehicle data 104 and/or other input data. Thus, each of the example scenario parameters identified above, as well as other scenario parameters, can be associated with a set or range of values that can be used to generate a set of scenarios, where the scenarios in the set of scenarios differ by one or more values of the scenario parameters.

図3は、車両データおよびグラウンドトゥルースデータに少なくとも部分的に基づいてエラーモデルデータを生成する例300を示している。図3に示すように、車両202は、車両データ104を生成し、車両データ104をエラーモデルコンポーネント116に送信できる。上述したように、エラーモデルコンポーネント116は、シナリオパラメータに関連付けられたエラーを示すことができるエラーモデルを決定できる。例えば、車両データ104は、知覚システム、計画システム、追跡システム(トラッカーシステムとも呼ばれる)、予測システムなどの車両202のサブシステムに関連付けられたデータとすることができる。例として、限定されないが、車両データ104を知覚システムに関連付けることができ、車両データ104は環境内の車両202によって検出されたオブジェクトに関連付けられたバウンディングボックスを含むことができる。 FIG. 3 illustrates an example 300 of generating error model data based at least in part on vehicle data and ground truth data. As shown in FIG. 3, the vehicle 202 can generate vehicle data 104 and transmit the vehicle data 104 to the error model component 116. As described above, the error model component 116 can determine an error model that can indicate errors associated with scenario parameters. For example, the vehicle data 104 can be data associated with a subsystem of the vehicle 202, such as a perception system, a planning system, a tracking system (also referred to as a tracker system), a prediction system, etc. By way of example, and not limitation, the vehicle data 104 can be associated with a perception system, and the vehicle data 104 can include bounding boxes associated with objects detected by the vehicle 202 in the environment.

エラーモデルコンポーネント116は、手動でラベル付けおよび/または他の検証された機械学習コンポーネントから決定できるグラウンドトゥルースデータ302を受信できる。例として、限定されないが、グラウンドトゥルースデータ302は、環境内のオブジェクトに関連付けられた検証されたバウンディングボックスを含むことができる。車両データ104のバウンディングボックスをグラウンドトゥルースデータ302のバウンディングボックスと比較することによって、エラーモデルコンポーネント116は、車両202のサブシステムに関連付けられたエラーを決定できる。いくつかの例では、車両データ104は、検出されたエンティティおよび/またはエンティティが位置する環境に関連付けられた1つまたは複数の特性(パラメータとも呼ばれる)を含むことができる。いくつかの例では、エンティティに関連付けられた特性は、x位置(グローバル位置)、y位置(グローバル位置)、z位置(グローバル位置)、方向、エンティティタイプ(例えば、分類など)、エンティティの速度、エンティティの範囲(サイズ)などを含むことができるが、これらに限定されない。環境に関連付けられた特性は、環境内の別のエンティティの存在、環境内の別のエンティティの状態、時刻、曜日、季節、気象条件、暗闇/光の表示などを含むことができるが、これらに限定されない。したがって、エラーを、他の特性(例えば、環境パラメータ)に関連付けることができる。 The error model component 116 can receive ground truth data 302, which can be determined from manual labeling and/or other validated machine learning components. By way of example, and not limitation, the ground truth data 302 can include validated bounding boxes associated with objects in the environment. By comparing the bounding boxes of the vehicle data 104 to the bounding boxes of the ground truth data 302, the error model component 116 can determine errors associated with subsystems of the vehicle 202. In some examples, the vehicle data 104 can include one or more characteristics (also referred to as parameters) associated with the detected entity and/or the environment in which the entity is located. In some examples, the characteristics associated with the entity can include, but are not limited to, x-position (global position), y-position (global position), z-position (global position), orientation, entity type (e.g., classification, etc.), velocity of the entity, range (size) of the entity, etc. The characteristics associated with the environment can include, but are not limited to, the presence of another entity in the environment, the state of another entity in the environment, time of day, day of the week, season, weather conditions, dark/light indications, etc. Therefore, the error can be associated with other characteristics (e.g., environmental parameters).

エラーモデルコンポーネント116は、複数の車両データ104および複数のグラウンドトゥルースデータ302を処理して、エラーモデルデータ304を決定できる。エラーモデルデータ304は、エラー306(1)乃至(3)として表すことができるエラーモデルコンポーネント116によって計算されたエラーを含むことができる。加えて、エラーモデルコンポーネント116は、エラーモデル310(1)乃至(3)を提示するための環境パラメータに関連付けることができる確率308(1)乃至(3)として表されるエラー306(1)乃至(3)に関連付けられた確率を決定できる。例として、限定されないが、車両データ104は、降雨を含む環境内の車両202から50メートルの距離にあるオブジェクトに関連付けられたバウンディングボックスを含むことができる。グラウンドトゥルースデータ302は、オブジェクトに関連付けられた検証されたバウンディングボックスを提供できる。エラーモデルコンポーネント116は、エラーが車両202の知覚システムに関連付けられていることを決定するエラーモデルデータ304を決定できる。50メートルの距離および降雨を環境パラメータとして使用して、エラーモデル310(1)乃至(3)のどのエラーモデルを使用するかを決定できる。エラーモデルが識別されたら、エラーモデル310(1)乃至(3)は確率308(1)乃至(3)に基づいてエラー306(1)乃至(3)を提供でき、ここで、より高い確率308(1)乃至(3)に関連付けられたエラー306(1)乃至(3)は、より低い確率308(1)乃至(3)に関連付けられたエラー306(1)乃至(3)よりも、選択される可能性が高い。 The error model component 116 can process the plurality of vehicle data 104 and the plurality of ground truth data 302 to determine the error model data 304. The error model data 304 can include errors calculated by the error model component 116, which can be represented as errors 306(1)-(3). In addition, the error model component 116 can determine probabilities associated with the errors 306(1)-(3), which can be associated with environmental parameters to present the error models 310(1)-(3). By way of example and without limitation, the vehicle data 104 can include a bounding box associated with an object at a distance of 50 meters from the vehicle 202 in an environment including rainfall. The ground truth data 302 can provide a verified bounding box associated with the object. The error model component 116 can determine the error model data 304 determining that an error is associated with the perception system of the vehicle 202. A distance of 50 meters and rainfall can be used as environmental parameters to determine which of the error models 310(1)-(3) to use. Once the error models are identified, the error models 310(1)-(3) can provide errors 306(1)-(3) based on probabilities 308(1)-(3), where errors 306(1)-(3) associated with higher probabilities 308(1)-(3) are more likely to be selected than errors 306(1)-(3) associated with lower probabilities 308(1)-(3).

図4は、シミュレートされた環境に関連付けられたエラーまたは不確実性の少なくとも1つを提供することによって、シミュレーションに摂動を与えるためにエラーモデルデータを使用する例400を示している。上述したように、エラーモデルデータは、エラー306を確率308に関連付けるエラーモデルを含むことができ、エラーモデルは環境パラメータに関連付けることができる。シミュレーションコンポーネント124は、エラーモデルデータ304を使用してエラーを注入することができ、これは、シミュレーションに摂動を与えるための摂動を与えられたパラメータ化シナリオをもたらすことができる。注入されたエラーに基づいて、シミュレーションデータは、自律コントローラが注入されたエラーにどのように応答するかを示すことができる。 FIG. 4 illustrates an example 400 of using error model data to perturb a simulation by providing at least one of an error or uncertainty associated with a simulated environment. As described above, the error model data can include an error model that associates errors 306 with probabilities 308, and the error models can be associated with environmental parameters. The simulation component 124 can inject errors using the error model data 304, which can result in perturbed parameterized scenarios for perturbing the simulation. Based on the injected errors, the simulation data can indicate how the autonomous controller responds to the injected errors.

例えば、シミュレーションコンポーネント124は、エラーをシミュレーションに連続的に注入することによってシミュレーションに摂動を与えることができる。例として、限定されないが、例402は、時間t0にてオブジェクトに関連付けられたバウンディングボックス404を示す。バウンディングボックス404は、バウンディングボックスのサイズのエラーおよび/またはバウンディングボックスの位置などのエラーを含む車両によるオブジェクトの検出を表すことができる。時間t1において、シミュレーションコンポーネント124は、オブジェクトを表し、異なるエラーを含むバウンディングボックス406を使用できる。例えば、各シミュレーション時間(例えば、t0、t1、またはt2)において、シミュレーションコンポーネント124は、エラー306に関連付けられた確率308に基づいて異なるエラー306を使用できる。時間t2において、シミュレーションコンポーネント124は、オブジェクトを表し、異なるエラーを含むバウンディングボックス408を使用できる。 For example, the simulation component 124 can perturb the simulation by successively injecting errors into the simulation. By way of example, and not limitation, example 402 shows a bounding box 404 associated with an object at time t0 . The bounding box 404 can represent a detection of the object by a vehicle, including errors such as errors in the size of the bounding box and/or the location of the bounding box. At time t1 , the simulation component 124 can use a bounding box 406 representing the object and including a different error. For example, at each simulation time (e.g., t0 , t1 , or t2 ), the simulation component 124 can use a different error 306 based on a probability 308 associated with the error 306. At time t2 , the simulation component 124 can use a bounding box 408 representing the object and including a different error.

いくつかの例では、シミュレーションコンポーネント124は、環境内のオブジェクトを表すバウンディングボックスに関連付けられた不確実性を注入することによってシミュレーションに摂動を与えることができる。例として、限定されないが、例410は、時間t0にてオブジェクトに関連付けられたバウンディングボックス412を示す。バウンディングボックスは、5%の不確実性を含むことができ、これは、5%の量によってオブジェクトのサイズおよび/または位置の不確実性を示すことができる。加えて、不確実性は、例402に描写されるように、異なるシミュレーション時間にて、異なるエラーを注入するのではなく、時間t1およびt2を通してオブジェクトと共に存続できる。 In some examples, the simulation component 124 can perturb the simulation by injecting uncertainty associated with a bounding box that represents an object in the environment. By way of example, and not limitation, example 410 shows a bounding box 412 associated with an object at time t0 . The bounding box can include a 5% uncertainty, which can represent uncertainty in the size and/or position of the object by an amount of 5%. Additionally, the uncertainty can persist with the object through times t1 and t2 , rather than injecting different errors at different simulation times, as depicted in example 402.

図5は、車両データ104を生成し、車両データ104をコンピューティングデバイス204に送信する車両202の例500を示す。上述したように、エラーモデルコンポーネント116は、シナリオパラメータに関連付けられたエラーを示すことができる知覚エラーモデルを決定できる。上述したように、車両データ104は、車両202のセンサによって生成されたセンサデータおよび/または車両202の知覚システムによって生成された知覚データを含むことができる。知覚エラーモデルは、車両データ104をグラウンドトゥルースデータ302と比較することによって決定できる。グラウンドトゥルースデータ302を手動でラベル付けでき、環境に関連付けることができ、既知の結果を表すことができる。したがって、車両データ104内のグラウンドトゥルースデータ302からの逸脱は、車両202のセンサシステムおよび/または知覚システム内のエラーとして識別できる。例として、限定されないが、知覚システムはオブジェクトを自転車乗りとして識別する可能性があり、ここでグラウンドトゥルースデータ302はオブジェクトが歩行者であることを示している。別の例として、限定されないが、センサシステムは、オブジェクトを2メートルの幅を有するように表すセンサデータを生成でき、ここでグラウンドトゥルースデータ302はオブジェクトが1.75メートルの幅を有することを示す。 5 illustrates an example 500 of a vehicle 202 generating vehicle data 104 and transmitting the vehicle data 104 to a computing device 204. As described above, the error model component 116 can determine a perception error model that can indicate an error associated with a scenario parameter. As described above, the vehicle data 104 can include sensor data generated by a sensor of the vehicle 202 and/or perception data generated by a perception system of the vehicle 202. The perception error model can be determined by comparing the vehicle data 104 to ground truth data 302. The ground truth data 302 can be manually labeled, can be associated with an environment, and can represent known outcomes. Thus, deviations from the ground truth data 302 in the vehicle data 104 can be identified as errors in the sensor system and/or perception system of the vehicle 202. By way of example, and not by way of limitation, the perception system may identify an object as a cyclist, where the ground truth data 302 indicates that the object is a pedestrian. As another example, without limitation, a sensor system may generate sensor data that represents an object as having a width of 2 meters, where the ground truth data 302 indicates that the object has a width of 1.75 meters.

上述したように、エラーモデルコンポーネント116は、車両データ104に表されるオブジェクトに関連付けられた分類を決定し、車両データ104および/または他のログデータ内の同じ分類の他のオブジェクトを決定できる。次いで、エラーモデルコンポーネント116は、オブジェクトに関連付けられたエラーの範囲に関連付けられた確率分布を決定できる。エラーの比較および範囲に基づいて、エラーモデルコンポーネント116は、知覚エラーモデルデータ502を決定できる。 As described above, the error model component 116 can determine a classification associated with an object represented in the vehicle data 104 and determine other objects of the same classification in the vehicle data 104 and/or other log data. The error model component 116 can then determine a probability distribution associated with a range of errors associated with the object. Based on the comparison and range of errors, the error model component 116 can determine the perceptual error model data 502.

図5に示されるように、環境504は、知覚システムによって生成されたバウンディングボックスとして表されるオブジェクト506(1)乃至(3)を含むことができる。知覚エラーモデルデータ502は、シナリオパラメータを508(1)乃至(3)として、シナリオパラメータに関連付けられたエラーを510(1)乃至(3)として、示すことができる。図5に示されるように、オブジェクト508(1)に関連付けられたエラーを環境504において、オブジェクト508(1)の寸法に関する不確実性を示すより大きなバウンディングボックス512として視覚化できる。 As shown in FIG. 5, environment 504 may include objects 506(1)-(3) that are represented as bounding boxes generated by a perception system. Perception error model data 502 may indicate scenario parameters as 508(1)-(3) and errors associated with the scenario parameters as 510(1)-(3). As shown in FIG. 5, errors associated with object 508(1) may be visualized in environment 504 as a larger bounding box 512 that indicates uncertainty regarding the dimensions of object 508(1).

図6は、シミュレーションデータ126を生成し、車両性能データ132を決定するコンピューティングデバイス204の例600を示す。パラメータ化シナリオコンポーネント120は、シナリオパラメータ、領域のセット、および知覚エラーモデルに基づいて、パラメータ化シナリオを決定できる。例えば、シナリオパラメータは、パラメータ化シナリオにおける、オブジェクト、オブジェクトに関連付けられた位置、オブジェクトに関連付けられた速度などを示すことができる。加えて、シナリオパラメータは、シナリオパラメータに関連付けられた値および/または確率の範囲を示す範囲を示すことができる。領域のセットは、シミュレートされた環境内にオブジェクトを配置するために使用できる環境の一部を示すことができる。さらに、知覚エラーモデルは、シナリオパラメータに関連付けられたエラーを示すことができる。これらを組み合わせて、本明細書に詳述されるように、シナリオパラメータ、領域のセット、および/または知覚エラーモデルによって提供されるバリエーションをカバーできるパラメータ化シナリオを作成できる。 6 illustrates an example 600 of a computing device 204 that generates simulation data 126 and determines vehicle performance data 132. The parameterization scenario component 120 can determine a parameterization scenario based on scenario parameters, a set of regions, and a perception error model. For example, the scenario parameters can indicate an object, a position associated with the object, a speed associated with the object, etc., in the parameterization scenario. In addition, the scenario parameters can indicate a range indicating a range of values and/or probabilities associated with the scenario parameters. The set of regions can indicate a portion of the environment that can be used to place an object in the simulated environment. Furthermore, the perception error model can indicate an error associated with the scenario parameters. These can be combined to create a parameterization scenario that can cover the variations provided by the scenario parameters, the set of regions, and/or the perception error model, as detailed herein.

パラメータ化シナリオをシミュレーションコンポーネント124によって使用して、パラメータ化シナリオのバリエーションをシミュレートできる。例えば、シミュレーションコンポーネント124は、テストおよび検証のためのシミュレーションにおいて使用するためのパラメータ化シナリオのバリエーションを実行できる。シミュレーションコンポーネント124は、自律車両コントローラがどのように実行したか(例えば、応答したか)を示すシミュレーションデータ126を生成でき、シミュレーションデータ126を所定の結果と比較し、および/または任意の所定のルール/アサーションが破られた/トリガされたかどうかを決定できる。 The parameterized scenarios can be used by the simulation component 124 to simulate variations of the parameterized scenarios. For example, the simulation component 124 can execute variations of the parameterized scenarios for use in a simulation for testing and validation. The simulation component 124 can generate simulation data 126 indicative of how the autonomous vehicle controller performed (e.g., responded) and can compare the simulation data 126 to predetermined results and/or determine whether any predetermined rules/assertions were violated/triggered.

図6に例示されるように、シミュレーションデータ126は、いくつかのシミュレーション(例えば、シミュレーション1、シミュレーション2など)およびシミュレーションの結果(例えば、結果1、結果2)を示すことができる。例えば、上述したように、結果は、破られた/トリガされたルール/アサーションに基づいて、合格または失敗を示すことができる。加えて、シミュレーションデータ126は、シナリオに遭遇する確率を示すことができる。例として、限定されないが、シミュレーションコンポーネント124は、ジェイウォーキング歩行者を含むシナリオをシミュレートできる。入力データは、車両が、1時間の運転あたり1分の割合でジェイウォーキング歩行者に遭遇することを示すことができる。これを使用して、パラメータ化シナリオのバリエーションに関連付けられた特定のシミュレーションに遭遇する確率を決定できる。いくつかの例では、シミュレーションコンポーネント124は、低い確率を有するパラメータ化シナリオのバリエーションを識別し、それらのバリエーションに対応するシミュレーションを実行できる。これは、より独特な状況における自律車両コントローラのテストおよび検証を可能にできる。 6, the simulation data 126 can indicate several simulations (e.g., Simulation 1, Simulation 2, etc.) and results of the simulations (e.g., Outcome 1, Outcome 2). For example, as described above, the results can indicate pass or fail based on rules/assertions that are broken/triggered. In addition, the simulation data 126 can indicate the probability of encountering a scenario. By way of example and not limitation, the simulation component 124 can simulate a scenario involving a jaywalking pedestrian. The input data can indicate that the vehicle encounters a jaywalking pedestrian at a rate of one minute per hour of driving. This can be used to determine the probability of encountering a particular simulation associated with a variation of the parameterized scenario. In some examples, the simulation component 124 can identify variations of the parameterized scenario that have a low probability and run simulations corresponding to those variations. This can enable testing and validation of the autonomous vehicle controller in more unique situations.

加えて、シミュレーションコンポーネント124は、結果に基づいて、追加のシミュレーションのためのパラメータ化シナリオのバリエーションを識別できる。例として、限定されないが、シミュレーションの結果は、シナリオパラメータが毎秒15メートルの車両の速度に関連付けられた障害とすることができる。シミュレーションコンポーネント124は毎秒15メートルの速度に近い速度を識別して、シミュレーションが通過するであろう閾値を決定でき、これはより安全な車両コントローラの開発をさらに支援できる。 In addition, the simulation component 124 can identify parameterized scenario variations for additional simulations based on the results. By way of example, and not by way of limitation, the results of a simulation can be a fault where the scenario parameters are associated with a vehicle speed of 15 meters per second. The simulation component 124 can identify speeds approaching a speed of 15 meters per second to determine thresholds that the simulation will pass, which can further aid in the development of a safer vehicle controller.

シミュレーションデータ126に基づいて、車両性能コンポーネント130は、車両性能データ132を生成できる。上述したように、例えば、イベントタイプ1および原因タイプ1について、データ134(1)は安全性レーティングを示すことができ、データ134(2)乃至134(4)についても同様である。いくつかの例では、イベントタイプは、コストがコスト閾値を満たしている、または超えていることを示すことができるが、他のイベントタイプが企図される。例えば、コストは、参照コスト、障害物コスト、横方向コスト、縦方向コストなどを含むことができるが、これらに限定されない。 Based on the simulation data 126, the vehicle performance component 130 can generate vehicle performance data 132. As described above, for example, for event type 1 and cause type 1, data 134(1) can indicate a safety rating, as can data 134(2) through 134(4). In some examples, the event type can indicate a cost meeting or exceeding a cost threshold, although other event types are contemplated. For example, the cost can include, but is not limited to, a reference cost, an obstacle cost, a lateral cost, a longitudinal cost, etc.

基準コストは、基準軌道上の点(基準点とも呼ばれる)とターゲット軌道上の対応する点(点またはターゲット点とも呼ばれる)との間の差に関連付けられたコストを含むことができ、これにより、差は、ヨー、横方向オフセット、速度、加速度、曲率、曲率レート(curvature rate)などの1つまたは複数の差を表す。いくつかの例では、基準コストに関連付けられた重みを減らすことは基準軌道から離れた距離に位置しているターゲット軌道に関連付けられたペナルティを減らすことができ、これは、より安全でおよび/またはより快適な車両操作を導くよりスムーズな移行を提供できる。 The reference cost may include a cost associated with a difference between a point on the reference trajectory (also referred to as a reference point) and a corresponding point on the target trajectory (also referred to as a point or a target point), whereby the difference represents one or more differences in yaw, lateral offset, velocity, acceleration, curvature, curvature rate, etc. In some examples, reducing the weight associated with the reference cost may reduce the penalty associated with a target trajectory that is located at a distance away from the reference trajectory, which may provide a smoother transition leading to safer and/or more comfortable vehicle operation.

いくつかの例では、障害物コストは、基準軌道またはターゲット軌道上の点と環境内の障害物に関連付けられた点との間の距離に関連付けられたコストを含むことができる。例として、障害物に関連付けられたポイントは、運転可能エリアの境界上のポイントに対応でき、または環境内の障害物に関連付けられたポイントに対応できる。いくつかの例では、環境内の障害物は、静的オブジェクト(例えば、建物、縁石、歩道、車線マーキング、標識、信号機、木など)または動的オブジェクト(例えば、車両、自転車乗り、歩行者、動物など)を含むことができるが、これらに限定されない。いくつかの例では、動的オブジェクトをエージェントと呼ぶこともできる。いくつかの例では、静的オブジェクトまたは動的オブジェクトを概してオブジェクトまたは障害物と呼ぶことができる。 In some examples, the obstacle cost may include a cost associated with a distance between a point on a reference trajectory or a target trajectory and a point associated with an obstacle in the environment. By way of example, the point associated with the obstacle may correspond to a point on a boundary of a drivable area or may correspond to a point associated with an obstacle in the environment. In some examples, the obstacles in the environment may include, but are not limited to, static objects (e.g., buildings, curbs, sidewalks, lane markings, signs, traffic lights, trees, etc.) or dynamic objects (e.g., vehicles, bicyclists, pedestrians, animals, etc.). In some examples, the dynamic objects may also be referred to as agents. In some examples, the static or dynamic objects may be generally referred to as objects or obstacles.

いくつかの例では、横方向コストは、車両の速度に対する最大ステアリング入力など、車両へのステアリング入力に関連付けられたコストを指すことができる。いくつかの例では、縦方向コストは、車両の速度および/または加速度(例えば、最大ブレーキおよび/または加速度)に関連付けられたコストを指すことができる。そのようなコストを使用して、フェリーで運行されている乗客の実行可能な限度および/または快適限度内で車両が動作していることを確実できる。 In some examples, the lateral cost may refer to a cost associated with a steering input to the vehicle, such as a maximum steering input relative to the vehicle's speed. In some examples, the longitudinal cost may refer to a cost associated with the vehicle's speed and/or acceleration (e.g., maximum braking and/or acceleration). Such costs may be used to ensure that the vehicle is operating within feasible and/or comfort limits for passengers operating on the ferry.

いくつかの例では、原因タイプ1および原因タイプ2は、車両の故障またはオブジェクト(例えば、自転車乗り)の故障などの故障を示すことができる。車両性能コンポーネント130は、所定のルール/アサーションを使用して故障を決定できる。例として、限定されないが、ルールは、車両が車両の後方のオブジェクトによって衝撃を受けた場合、故障をオブジェクトに関連付けることができることを示すことができる。いくつかの例では、車両が後方のオブジェクトによって衝撃を受けたときに環境を前方方向に横断しなければならないことを示すような、追加のルールを使用できる。いくつかの例では、原因タイプ(例えば、原因タイプ1および/または原因タイプ2)を、自律車両コントローラのコンポーネントに関連付けることができる。非限定的な例として、そのような原因は、知覚システム、予測システム、プランナシステム、ネットワークレイテンシー、トルク/加速障害、および/または車両の任意の他のコンポーネントまたはサブコンポーネントの障害を含み得る。 In some examples, cause type 1 and cause type 2 may indicate a fault, such as a fault in the vehicle or a fault in an object (e.g., a cyclist). The vehicle performance component 130 may determine the fault using predefined rules/assertions. By way of example, and without limitation, a rule may indicate that if the vehicle is struck by an object behind the vehicle, then the fault may be associated with the object. In some examples, additional rules may be used, such as indicating that the vehicle must traverse the environment in a forward direction when struck by an object behind. In some examples, the cause types (e.g., cause type 1 and/or cause type 2) may be associated with components of the autonomous vehicle controller. By way of non-limiting example, such causes may include failures of the perception system, the prediction system, the planner system, network latency, torque/acceleration faults, and/or any other component or subcomponent of the vehicle.

上述したように、分析コンポーネントは、シミュレーションデータ126に基づいて、シナリオパラメータを無効にする(例えば、シナリオパラメータに関連付けられた固定値を設定する)ことを決定し、他のシナリオパラメータを変化させることができる。シナリオパラメータを分離することにより、分析コンポーネントは、成功または失敗の結果に関連付けられたシナリオパラメータを決定できる。次いで、車両性能データ132は、パラメータ化シナリオに関連付けられた安全性メトリックを示すことができる。加えて、分析コンポーネントは感度分析を実行して障害の原因を決定できる。例えば、分析コンポーネントは、シナリオパラメータを個別に無効にして、1つまたは複数のシナリオパラメータを分離し、シナリオパラメータを無効にすることが、自律車両の応答にどのように影響するか決定し、1つまたは複数のシナリオパラメータを無効にすることに関連付けられた統計データをキャプチャし、結果を成功または失敗した結果としてキャプチャできる。統計データは、シナリオパラメータのセットが結果にどのように影響するかを示すことができ、成功するシミュレーションがもたらされる可能性を増加または減少させるシナリオパラメータを決定するために使用でき、シミュレーションデータの成功率を増加または減少させるものとして、シナリオパラメータに関連付けられた自律車両のサブシステムを識別するために使用できる。 As described above, the analysis component can determine to disable scenario parameters (e.g., set fixed values associated with the scenario parameters) and vary other scenario parameters based on the simulation data 126. By isolating the scenario parameters, the analysis component can determine the scenario parameters associated with a successful or failed outcome. The vehicle performance data 132 can then indicate a safety metric associated with the parameterized scenario. In addition, the analysis component can perform a sensitivity analysis to determine the cause of failure. For example, the analysis component can disable the scenario parameters individually to isolate one or more scenario parameters, determine how disabling the scenario parameters affects the response of the autonomous vehicle, capture statistical data associated with disabling one or more scenario parameters, and capture the outcome as a successful or failed outcome. The statistical data can indicate how a set of scenario parameters affects the outcome and can be used to determine scenario parameters that increase or decrease the likelihood of resulting in a successful simulation and can be used to identify subsystems of the autonomous vehicle associated with the scenario parameters as increasing or decreasing the success rate of the simulation data.

図7は、本明細書で説明される技法を実装するための例示的なシステム700のブロック図を示す。少なくとも1つの例では、システム700は車両202を含むことができる。図示の例700では、車両202は自律車両であるが、車両202は任意の他のタイプの車両(例えば、様々な操作を実行することが安全であるかどうかの指標を提供し得るドライバーが制御する車両)とすることができる。 FIG. 7 illustrates a block diagram of an example system 700 for implementing the techniques described herein. In at least one example, the system 700 can include a vehicle 202. In the illustrated example 700, the vehicle 202 is an autonomous vehicle, but the vehicle 202 can be any other type of vehicle (e.g., a driver-controlled vehicle that can provide an indication of whether it is safe to perform various operations).

車両202は、コンピューティングデバイス702、1つまたは複数のセンサシステム704、1つまたは複数のエミッタ706、1つまたは複数の通信接続部708(通信デバイスおよび/またはモデムとも呼ばれる)、少なくとも1つの直接接続部710(例えば、データを交換するため、および/または電力を提供するために車両202と物理的に結合するための)、および1つまたは複数の駆動システム712を含むことができる。1つまたは複数のセンサシステム704は、環境に関連付けられたセンサデータをキャプチャするように構成できる。 The vehicle 202 may include a computing device 702, one or more sensor systems 704, one or more emitters 706, one or more communication connections 708 (also referred to as communication devices and/or modems), at least one direct connection 710 (e.g., for physically coupling with the vehicle 202 to exchange data and/or provide power), and one or more drive systems 712. The one or more sensor systems 704 may be configured to capture sensor data associated with the environment.

センサシステム704は、飛行時間センサ、位置センサ(例えば、GPS、コンパスなど)、慣性センサ(例えば、慣性測定装置(IMU)、加速度計、磁力計、ジャイロスコープなど)、lidarセンサ、radarセンサ、sonarセンサ、赤外線センサ、カメラ(例えば、RGB、IR、強度、深度など)、マイクセンサ、環境センサ(例えば、温度センサ、湿度センサ、光センサ、圧力センサなど)、超音波トランスデューサー、ホイールエンコーダなどを含むことができる。センサシステム704は、これらまたは他のタイプのセンサのそれぞれの複数のインスタンスを含むことができる。例えば、飛行時間センサは、車両202の角、前部、後部、側面、および/または上部に配置された個々の飛行時間センサを含むことができる。別の例として、カメラセンサは、車両202の外部および/または内部の周りの様々な場所に配置された複数のカメラを含むことができる。センサシステム704はコンピューティングデバイス702に入力を提供できる。 The sensor system 704 may include time-of-flight sensors, position sensors (e.g., GPS, compass, etc.), inertial sensors (e.g., inertial measurement unit (IMU), accelerometer, magnetometer, gyroscope, etc.), lidar sensors, radar sensors, sonar sensors, infrared sensors, cameras (e.g., RGB, IR, intensity, depth, etc.), microphone sensors, environmental sensors (e.g., temperature sensors, humidity sensors, light sensors, pressure sensors, etc.), ultrasonic transducers, wheel encoders, etc. The sensor system 704 may include multiple instances of each of these or other types of sensors. For example, the time-of-flight sensors may include individual time-of-flight sensors positioned at the corners, front, rear, sides, and/or top of the vehicle 202. As another example, the camera sensors may include multiple cameras positioned at various locations around the exterior and/or interior of the vehicle 202. The sensor system 704 may provide input to the computing device 702.

車両202はまた、光および/または音を放出するための1つまたは複数のエミッタ706を含むことができる。この例における1つまたは複数のエミッタ706は、車両202の乗客と通信するための内部オーディオおよびビジュアルエミッタを含む。例示の目的で、限定ではなく、内部エミッタは、スピーカー、光、記号、ディスプレイ画面、タッチ画面、触覚エミッタ(例えば、振動および/またはフォースフィードバック)、機械式アクチュエータ(例えば、シートベルトテンショナー、シートポジショナー、ヘッドレストポジショナーなど)などを含むことができる。この例における1つまたは複数のエミッタ706はまた、外部エミッタを含む。限定ではなく例として、この例における外部エミッタは、走行の方向または車両の作動の他のインジケータ(例えば、インジケータライト、標識、ライトアレイなど)を信号で送るためのライト、および音響ビームステアリング技術を備え得る1つまたは複数の歩行者または他の近くの車両と音声で通信するための1つまたは複数のオーディオエミッタ(例えば、スピーカー、スピーカーアレイ、ホーンなど)を含む。 The vehicle 202 may also include one or more emitters 706 for emitting light and/or sound. The one or more emitters 706 in this example include interior audio and visual emitters for communicating with passengers of the vehicle 202. By way of example, and not by way of limitation, the interior emitters may include speakers, lights, symbols, display screens, touch screens, haptic emitters (e.g., vibration and/or force feedback), mechanical actuators (e.g., seat belt tensioners, seat positioners, head rest positioners, etc.), and the like. The one or more emitters 706 in this example also include exterior emitters. By way of example, and not by way of limitation, the exterior emitters in this example include lights for signaling the direction of travel or other indicators of the operation of the vehicle (e.g., indicator lights, signs, light arrays, etc.), and one or more audio emitters (e.g., speakers, speaker arrays, horns, etc.) for audibly communicating with one or more pedestrians or other nearby vehicles, which may include acoustic beam steering technology.

車両202はまた、車両202と1つまたは複数の他のローカルまたはリモートコンピューティングデバイス(例えば、リモートテレオペレーションコンピューティングデバイス)またはリモートサービスとの間の通信を可能にする1つまたは複数の通信接続部708を含むことができる。例えば、通信接続部708は車両202および/または駆動システム712上の他のローカルコンピューティングデバイスとの通信を容易にできる。また、通信接続部708は、車両202が他の近くのコンピューティングデバイス(例えば、他の近くの車両、交通信号など)と通信することを可能にできる。 The vehicle 202 may also include one or more communication connections 708 that enable communication between the vehicle 202 and one or more other local or remote computing devices (e.g., a remote teleoperated computing device) or a remote service. For example, the communication connections 708 may facilitate communication with other local computing devices on the vehicle 202 and/or the drive system 712. The communication connections 708 may also enable the vehicle 202 to communicate with other nearby computing devices (e.g., other nearby vehicles, traffic signals, etc.).

通信接続部708は、コンピューティングデバイス702を別のコンピューティングデバイスまたは1つまたは複数の外部ネットワーク714(例えば、インターネット)に接続するための物理および/または論理インターフェースを含むことができる。例えば、通信接続部708は、IEEE802.11規格によって定義された周波数を介するようなWi-Fiベースの通信、Bluetoothなどの短距離無線周波数、セルラー通信(例えば、2G、3G、4G、4GLTE、5Gなど)、衛星通信、専用狭域通信(DSRC)、またはそれぞれのコンピューティングデバイスが他のコンピューティングデバイスとインターフェースで接続することを可能にする任意の適切な有線または無線通信プロトコルを可能にできる。少なくともいくつかの例では、通信接続部708は、上記で詳細に説明したように、1つまたは複数のモデムを備え得る。 The communications connection 708 may include physical and/or logical interfaces for connecting the computing device 702 to another computing device or to one or more external networks 714 (e.g., the Internet). For example, the communications connection 708 may enable Wi-Fi-based communications, such as over frequencies defined by the IEEE 802.11 standard, short-range radio frequencies such as Bluetooth, cellular communications (e.g., 2G, 3G, 4G, 4G LTE, 5G, etc.), satellite communications, dedicated short-range communications (DSRC), or any suitable wired or wireless communications protocol that enables each computing device to interface with other computing devices. In at least some examples, the communications connection 708 may comprise one or more modems, as described in detail above.

少なくとも1つの例では、車両202は、1つまたは複数の駆動システム712を含むことができる。いくつかの例では、車両202は、単一の駆動システム712を有することができる。少なくとも1つの例では、車両202が複数の駆動システム712を有する場合、個々の駆動システム712を車両202の両端部(例えば、前部および後部など)に配置できる。少なくとも1つの例では、駆動システム712は駆動システム712および/または車両202の周囲の状態を検出するための1つまたは複数のセンサシステム704を含むことができる。限定ではなく例として、センサシステム704は、駆動システムのホイールの回転を感知するための1つまたは複数のホイールエンコーダ(例えばロータリーエンコーダー)、駆動システムの方向と加速度を測定するための慣性センサ(例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など)、カメラまたはその他の画像センサ、駆動システムの周囲のオブジェクトを音響的に検出するための超音波センサ、lidarセンサ、radarセンサなどを含むことができる。一部のセンサ、ホイールエンコーダなど、は駆動システム712に固有とすることができる。いくつかのケースでは、駆動システム712上のセンサシステム704は車両202の対応するシステム(例えば、センサシステム704)と重複または補足できる。 In at least one example, the vehicle 202 can include one or more drive systems 712. In some examples, the vehicle 202 can have a single drive system 712. In at least one example, when the vehicle 202 has multiple drive systems 712, individual drive systems 712 can be located at both ends of the vehicle 202 (e.g., the front and the rear, etc.). In at least one example, the drive system 712 can include one or more sensor systems 704 for detecting conditions surrounding the drive system 712 and/or the vehicle 202. By way of example and not limitation, the sensor systems 704 can include one or more wheel encoders (e.g., rotary encoders) for sensing the rotation of the wheels of the drive system, inertial sensors (e.g., inertial measurement units, accelerometers, gyroscopes, magnetometers, etc.) for measuring the orientation and acceleration of the drive system, cameras or other imaging sensors, ultrasonic sensors, lidar sensors, radar sensors, etc. for acoustically detecting objects surrounding the drive system. Some sensors, such as wheel encoders, can be specific to the drive system 712. In some cases, the sensor system 704 on the drive system 712 can overlap or complement a corresponding system (e.g., sensor system 704) on the vehicle 202.

駆動システム712は、高電圧バッテリー、車両を推進するモーター、バッテリーからの直流を他の車両システムで使用する交流に変換するインバーター、ステアリングモーターおよびステアリングラック(電動とすることができる)を含むステアリングシステム、油圧または電気アクチュエータを含むブレーキシステム、油圧および/または空気圧コンポーネントを含むサスペンションシステム、トラクションの損失を軽減し制御を維持するブレーキ力分散用の安定性制御システム、HVACシステム、照明(例えば、車両の外部環境を照らすヘッド/テールライトなどの照明)、および1つまたは複数の他のシステム(例えば、冷却システム、安全システム、車載充電システム、DC/DCコンバーター、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなどの他の電装コンポーネント)を含む、多くの車両システムを含むことができる。加えて、駆動システム712は、センサシステム704からデータを受信および前処理し、様々な車両システムの操作を制御できる駆動システムコントローラを含むことができる。いくつかの例では、駆動システムコントローラは、1つまたは複数のプロセッサおよび1つまたは複数のプロセッサと通信可能に結合されたメモリを含むことができる。メモリは、駆動システム712の様々な機能を実行するための1つまたは複数のモジュールを格納できる。さらに、駆動システム712はまた、それぞれの駆動システムによる1つまたは複数の他のローカルまたはリモートコンピューティングデバイスとの通信を可能にする1つまたは複数の通信接続部を含む。 The drive system 712 can include many vehicle systems, including a high voltage battery, a motor to propel the vehicle, an inverter to convert direct current from the battery to alternating current for use by other vehicle systems, a steering system including a steering motor and a steering rack (which can be electric), a brake system including hydraulic or electric actuators, a suspension system including hydraulic and/or pneumatic components, a stability control system for brake force distribution to mitigate loss of traction and maintain control, an HVAC system, lighting (e.g., lighting such as head/tail lights that illuminate the vehicle's exterior environment), and one or more other systems (e.g., cooling systems, safety systems, on-board charging systems, DC/DC converters, high voltage junctions, high voltage cables, charging systems, charging ports, and other electrical components). In addition, the drive system 712 can include a drive system controller that can receive and pre-process data from the sensor system 704 and control the operation of various vehicle systems. In some examples, the drive system controller can include one or more processors and a memory communicatively coupled to the one or more processors. The memory can store one or more modules for performing various functions of the drive system 712. Additionally, drive system 712 also includes one or more communication connections that enable the respective drive system to communicate with one or more other local or remote computing devices.

コンピューティングデバイス702は、1つまたは複数のプロセッサ516および1つまたは複数のプロセッサ716と通信可能に結合されたメモリ518を含むことができる。例示される例では、コンピューティングデバイス702のメモリ718は、ローカリゼーションコンポーネント720、知覚コンポーネント722、予測コンポーネント724、計画コンポーネント726、および1つまたは複数のシステムコントローラ728を格納する。例示の目的でメモリ718内に存在するものとして示されているが、ローカリゼーションコンポーネント720、知覚コンポーネント722、予測コンポーネント724、計画コンポーネント726、および1つまたは複数のシステムコントローラ728は、追加的に、または代替的に、コンピューティングデバイス702にアクセス可能である(例えば、車両202の異なるコンポーネントに格納されている)、および/または車両202にアクセス可能である(例えば、遠隔に格納されている)ことができる、ことが企図される。 The computing device 702 may include one or more processors 516 and a memory 518 communicatively coupled to the one or more processors 716. In the illustrated example, the memory 718 of the computing device 702 stores a localization component 720, a perception component 722, a prediction component 724, a planning component 726, and one or more system controllers 728. While shown as residing in the memory 718 for illustrative purposes, it is contemplated that the localization component 720, the perception component 722, the prediction component 724, the planning component 726, and the one or more system controllers 728 may additionally or alternatively be accessible to the computing device 702 (e.g., stored in a different component of the vehicle 202) and/or accessible to the vehicle 202 (e.g., stored remotely).

コンピューティングデバイス702のメモリ718において、ローカリゼーションコンポーネント720は、センサシステム704からデータを受信して車両202の位置を決定する機能を含むことができる。例えば、ローカリゼーションコンポーネント720は、環境の3次元マップを含むおよび/または要求/受信でき、マップ内の自律車両の位置を継続的に決定できる。いくつかの例では、ローカリゼーションコンポーネント720は、SLAM(ローカリゼーションとマッピングの同時実行)またはCLAMS(キャリブレーション、ローカリゼーションとマッピングの同時実行)を使用し、飛行時間データ、画像データ、lidarデータ、radarデータ、sonarデータ、IMUデータ、GPSデータ、ホイールエンコーダデータ、またはそれらの任意の組み合わせなどを受信して、自律車両の位置を正確に決定できる。いくつかの例では、ローカリゼーションコンポーネント720は、本明細書で論じられるように、車両202の様々なコンポーネントにデータを提供し、軌道を生成するための自律車両の初期位置を決定できる。 In the memory 718 of the computing device 702, the localization component 720 may include functionality for receiving data from the sensor system 704 to determine the position of the vehicle 202. For example, the localization component 720 may include and/or request/receive a three-dimensional map of the environment and continuously determine the position of the autonomous vehicle within the map. In some examples, the localization component 720 may use SLAM (Simultaneous Localization and Mapping) or CLAMS (Calibration, Simultaneous Localization and Mapping) to receive time-of-flight data, image data, lidar data, radar data, sonar data, IMU data, GPS data, wheel encoder data, or any combination thereof, and the like, to accurately determine the position of the autonomous vehicle. In some examples, the localization component 720 may provide data to various components of the vehicle 202 as discussed herein to determine an initial position of the autonomous vehicle for generating a trajectory.

知覚コンポーネント722は、オブジェクトの検出、区分、および/または分類を実行するための機能を含むことができる。いくつかの例では、知覚コンポーネント722は、車両202に近接するエンティティの存在および/またはエンティティタイプ(例えば、自動車、歩行者、自転車乗り、建物、木、路面、縁石、歩道、不明など)としてのエンティティの分類を示す処理済みセンサデータを提供できる。追加および/または代替の例では、知覚コンポーネント722は、検出されたエンティティおよび/またはエンティティが配置されている環境に関連付けられた1つまたは複数の特性(パラメータとも呼ばれる)を示す処理されたセンサデータを提供できる。いくつかの例では、エンティティに関連付けられた特性は、x位置(グローバル位置)、y位置(グローバル位置)、z位置(グローバル位置)、方向、エンティティタイプ(例えば、分類など)、エンティティの速度、エンティティの範囲(サイズ)などを含むことができるが、これらに限定されない。環境に関連付けられた特性は、環境内の別のエンティティの存在、環境内の別のエンティティの状態、時刻、曜日、季節、気象条件、地理的位置、暗闇/光の表示などを含むことができるが、これらに限定されない。 The perception component 722 may include functionality for performing object detection, segmentation, and/or classification. In some examples, the perception component 722 may provide processed sensor data indicative of the presence of an entity proximate to the vehicle 202 and/or the classification of the entity as an entity type (e.g., automobile, pedestrian, bicyclist, building, tree, road surface, curb, sidewalk, unknown, etc.). In additional and/or alternative examples, the perception component 722 may provide processed sensor data indicative of one or more characteristics (also referred to as parameters) associated with the detected entity and/or the environment in which the entity is located. In some examples, the characteristics associated with the entity may include, but are not limited to, x-position (global location), y-position (global location), z-position (global location), direction, entity type (e.g., classification, etc.), velocity of the entity, range (size) of the entity, etc. The characteristics associated with the environment may include, but are not limited to, the presence of another entity in the environment, the state of another entity in the environment, time of day, day of the week, season, weather conditions, geographic location, dark/light indication, etc.

知覚コンポーネント722は、知覚コンポーネント722によって生成された知覚データを格納するための機能を含むことができる。いくつかの例では、知覚コンポーネント722は、オブジェクトタイプとして分類されたオブジェクトに対応するトラックを決定できる。例示のみを目的として、センサシステム704を使用する知覚コンポーネント722は、環境の1つまたは複数の画像をキャプチャできる。センサシステム704は、歩行者などのオブジェクトを含む環境の画像をキャプチャできる。歩行者は、時間Tにおける第1の位置に、時間T+tにおける第2の位置(例えば、時間Tの後の時間tのスパン中の移動)にいることができる。換言すれば、歩行者は、この時間期間中に第1の位置から第2の位置まで移動できる。そのような移動は、例えば、オブジェクトに関連付けられた格納された知覚データとしてログに記録できる。 The perception component 722 may include functionality for storing the perception data generated by the perception component 722. In some examples, the perception component 722 may determine a track corresponding to an object classified as an object type. For purposes of illustration only, the perception component 722 using the sensor system 704 may capture one or more images of an environment. The sensor system 704 may capture an image of an environment including an object, such as a pedestrian. The pedestrian may be at a first location at time T and at a second location at time T+t (e.g., movement during a span of time t after time T). In other words, the pedestrian may move from a first location to a second location during this time period. Such movement may be logged, for example, as stored perception data associated with the object.

格納された知覚データは、いくつかの例では、車両によってキャプチャされた融合知覚データを含むことができる。融合知覚データは、画像センサ、lidarセンサ、radarセンサ、飛行時間センサ、sonarセンサ、グローバルポジショニングシステムセンサ、内部センサ、および/またはこれらの任意の組み合わせなどのセンサシステム704からのセンサデータの融合または他の組み合わせを含むことができる。格納された知覚データは、追加的または代替的に、センサデータに表されるオブジェクト(例えば、歩行者、車両、建物、路面など)の意味分類を含む分類データを含むことができる。格納された知覚データは、追加的または代替的に、環境を通る動的オブジェクトとして分類されるオブジェクトの動きに対応するトラックデータ(経時的なオブジェクトに関連付けられた履歴的な位置、方向、センサ特徴などの集合)を含むことができる。トラックデータは、経時的に複数の異なるオブジェクトの複数のトラックを含むことができる。このトラックデータを、オブジェクトが止まっている(例えば、静止している)または移動している(例えば、歩行、走行など)時に、特定のタイプのオブジェクト(例えば、歩行者、動物など)の画像を識別するためにマイニングすることができる。この例では、コンピューティングデバイスは、歩行者に対応するトラックを決定する。 The stored sensory data may, in some examples, include fused sensory data captured by the vehicle. The fused sensory data may include a fusion or other combination of sensor data from sensor systems 704, such as image sensors, lidar sensors, radar sensors, time-of-flight sensors, sonar sensors, global positioning system sensors, interior sensors, and/or any combination thereof. The stored sensory data may additionally or alternatively include classification data including a semantic classification of an object (e.g., pedestrian, vehicle, building, road surface, etc.) represented in the sensor data. The stored sensory data may additionally or alternatively include track data (a collection of historical positions, orientations, sensor features, etc. associated with an object over time) corresponding to the movement of an object classified as a dynamic object through the environment. The track data may include multiple tracks of multiple different objects over time. This track data may be mined to identify images of a particular type of object (e.g., pedestrian, animal, etc.) when the object is stationary (e.g., stationary) or moving (e.g., walking, running, etc.). In this example, the computing device determines a track corresponding to a pedestrian.

予測コンポーネント724は、環境内の1つまたは複数のオブジェクトの可能な位置の予測確率を表す1つまたは複数の確率マップを生成できる。例えば、予測コンポーネント724は、車両202から閾値距離内にある車両、歩行者、動物などのための1つまたは複数の確率マップを生成できる。いくつかの例では、予測コンポーネント724は、オブジェクトのトラックを測定し、観測されたおよび予測された挙動に基づいて、オブジェクトの、離散化された予測確率マップ、ヒートマップ、確率分布、離散化された確率分布、および/または軌道を生成できる。いくつかの例では、1つまたは複数の確率マップは、環境内の1つまたは複数のオブジェクトの意図を表すことができる。 The prediction component 724 can generate one or more probability maps that represent predicted probabilities of possible locations of one or more objects in the environment. For example, the prediction component 724 can generate one or more probability maps for vehicles, pedestrians, animals, etc., within a threshold distance from the vehicle 202. In some examples, the prediction component 724 can measure the tracks of the objects and generate discretized predicted probability maps, heat maps, probability distributions, discretized probability distributions, and/or trajectories of the objects based on the observed and predicted behavior. In some examples, the one or more probability maps can represent the intent of one or more objects in the environment.

計画コンポーネント726は環境を通り横断するために車両202が辿る経路を決定できる。例えば、計画コンポーネント726は、様々なルートおよび経路ならびに様々なレベルの詳細を決定できる。いくつかの例では、計画コンポーネント726は、第1の位置(例えば、現在の位置)から第2の位置(例えば、ターゲット位置)へ進行するためのルートを決定できる。本説明を目的に、ルートは2つの位置の間を走行するための一連の経由地点にできる。非限定的な例として、経由地点は、道路、交差点、全地球測位システム(GPS)座標などを含む。さらに、計画コンポーネント726は、第1の位置から第2の位置へのルートの少なくとも一部に沿って自律車両をガイドするための命令を生成できる。少なくとも1つの例において、計画コンポーネント726は、自律車両を一連の経由地点の第1の経由地点から一連の経由地点の第2の経由地点までどのようにガイドすべきかを決定できる。いくつかの例では、命令は経路または経路の一部とすることができる。いくつかの例では、複数の経路をreceding horizon技術に従って、実質的に同時に(すなわち、技術的許容範囲内で)生成できる。最も高い信頼水準を有するreceding data horizonにおける複数の経路の単一の経路を、車両を操作するために選択できる。 The planning component 726 can determine a path for the vehicle 202 to follow to traverse through the environment. For example, the planning component 726 can determine various routes and paths as well as various levels of detail. In some examples, the planning component 726 can determine a route for traveling from a first location (e.g., a current location) to a second location (e.g., a target location). For purposes of this description, the route can be a series of waypoints for traveling between the two locations. As non-limiting examples, the waypoints include roads, intersections, Global Positioning System (GPS) coordinates, and the like. Additionally, the planning component 726 can generate instructions for guiding the autonomous vehicle along at least a portion of the route from the first location to the second location. In at least one example, the planning component 726 can determine how to guide the autonomous vehicle from a first waypoint in the series of waypoints to a second waypoint in the series of waypoints. In some examples, the instructions can be a path or a portion of a path. In some examples, multiple paths can be generated substantially simultaneously (i.e., within technical tolerances) according to a receding horizon technique. The single path of multiple paths in the receding data horizon that has the highest confidence level can be selected for maneuvering the vehicle.

他の例では、計画コンポーネント726は、代替的にまたは追加的に、知覚コンポーネント722からのデータを使用して、車両202が環境を通り横断するために辿る経路を決定できる。例えば、計画コンポーネント726は知覚コンポーネント722から、環境に関連付けられたオブジェクトに関するデータを受信できる。このデータを使用して、計画コンポーネント726は、環境内のオブジェクトを回避するための、第1の位置(例えば、現在の位置)から第2の位置(例えば、ターゲット位置)まで移動する経路を決定できる。少なくともいくつかの例では、そのような計画コンポーネント726はそのような衝突のない経路がないと決定し、次に車両202を全ての衝突を回避するおよび/またはそうでなければ損傷を軽減する安全な停止へ導く経路を提供し得る。 In other examples, the planning component 726 can alternatively or additionally use data from the perception component 722 to determine a path for the vehicle 202 to follow to traverse through the environment. For example, the planning component 726 can receive data from the perception component 722 regarding objects associated with the environment. Using this data, the planning component 726 can determine a path to travel from a first location (e.g., a current location) to a second location (e.g., a target location) to avoid the objects in the environment. In at least some examples, such a planning component 726 can determine that there is no such collision-free path and then provide a path that leads the vehicle 202 to a safe stop that avoids all collisions and/or otherwise mitigates damage.

少なくとも1つの例では、コンピューティングデバイス702は、1つまたは複数のシステムコントローラ728を含むことができ、これは、車両202のステアリング、推進、ブレーキ、安全、エミッタ、通信、および他のシステムを制御するように構成できる。これらのシステムコントローラ728は駆動システム712の対応するシステムおよび/または車両202の他のコンポーネントと通信および/または制御でき、これは計画コンポーネント726から提供される経路に従って動作するように構成され得る。 In at least one example, the computing device 702 can include one or more system controllers 728, which can be configured to control steering, propulsion, braking, safety, emitter, communication, and other systems of the vehicle 202. These system controllers 728 can communicate with and/or control corresponding systems of the drive system 712 and/or other components of the vehicle 202, which can be configured to operate according to a path provided by the planning component 726.

車両202は、コンピューティングデバイス204にネットワーク514を介して接続でき、1つまたは複数のプロセッサ730および1つまたは複数のプロセッサ730と通信可能に結合されたメモリ732を含むことができる。少なくとも1つの例では、1つまたは複数のプロセッサ730はプロセッサ716と同様にすることができ、メモリ732はメモリ718と同様にすることができる。例示される例では、コンピューティングデバイス204のメモリ732は、シナリオエディタコンポーネント108、パラメータコンポーネント112、エラーモデルコンポーネント116、パラメータ化シナリオコンポーネント120、シミュレーションコンポーネント124、分析コンポーネント128、および車両性能コンポーネント130を格納する。例示的な目的でメモリ732内に存在するように描写されるが、シナリオエディタコンポーネント108、パラメータコンポーネント112、エラーモデルコンポーネント116、パラメータ化シナリオコンポーネント120、シミュレーションコンポーネント124、分析コンポーネント128、および車両性能コンポーネント130は、追加的にまたは代替的に、コンピューティングデバイス204にアクセス可能であること(例えば、コンピューティングデバイス204の異なるコンポーネントに格納される)、および/またはコンピューティングデバイス204にアクセス可能であること(例えば、リモートに格納されている)ができることが企図される。シナリオエディタコンポーネント108、パラメータコンポーネント112、エラーモデルコンポーネント116、パラメータ化シナリオコンポーネント120、シミュレーションコンポーネント124、分析コンポーネント128、および車両性能コンポーネント130は、図1のシナリオエディタコンポーネント108、パラメータコンポーネント112、エラーモデルコンポーネント116、パラメータ化シナリオコンポーネント120、シミュレーションコンポーネント124、分析コンポーネント128、および車両性能コンポーネント130と実質的に同様とすることができる。 The vehicle 202 can be connected to the computing device 204 via the network 514 and can include one or more processors 730 and a memory 732 communicatively coupled to the one or more processors 730. In at least one example, the one or more processors 730 can be similar to the processor 716, and the memory 732 can be similar to the memory 718. In the illustrated example, the memory 732 of the computing device 204 stores the scenario editor component 108, the parameter component 112, the error model component 116, the parameterized scenario component 120, the simulation component 124, the analysis component 128, and the vehicle performance component 130. While depicted as residing in memory 732 for illustrative purposes, it is contemplated that the scenario editor component 108, the parameter component 112, the error model component 116, the parameterized scenario component 120, the simulation component 124, the analysis component 128, and the vehicle performance component 130 may additionally or alternatively be accessible to the computing device 204 (e.g., stored in a different component of the computing device 204) and/or accessible to the computing device 204 (e.g., stored remotely). The scenario editor component 108, the parameter component 112, the error model component 116, the parameterized scenario component 120, the simulation component 124, the analysis component 128, and the vehicle performance component 130 may be substantially similar to the scenario editor component 108, the parameter component 112, the error model component 116, the parameterized scenario component 120, the simulation component 124, the analysis component 128, and the vehicle performance component 130 of FIG. 1.

コンピューティングデバイス702のプロセッサ716およびコンピューティングデバイス204のプロセッサ730は、本明細書で説明されるように、データを処理し動作を実施するための命令を実行可能な任意の適切なプロセッサとすることができる。限定ではなく例として、プロセッサ716および730は、1つまたは複数の中央処理装置(CPU)、グラフィック処理装置(GPU)、または電子データを処理して当該電子データをレジスタまたはメモリに格納できる他の電子データに変換する任意の他のデバイスまたはデバイスの一部を含むことができる。いくつかの例で、集積回路(例えば、ASICなど)、ゲートアレイ(例えば、FPGAなど)、および他のハードウェアデバイスはまた、それらがエンコードされた命令を実装するよう構成される限り、プロセッサとみなすことができる。 The processor 716 of the computing device 702 and the processor 730 of the computing device 204 may be any suitable processor capable of executing instructions to process data and perform operations as described herein. By way of example and not limitation, the processors 716 and 730 may include one or more central processing units (CPUs), graphics processing units (GPUs), or any other device or portion of a device that processes electronic data and converts it into registers or other electronic data that can be stored in memory. In some examples, integrated circuits (e.g., ASICs, etc.), gate arrays (e.g., FPGAs, etc.), and other hardware devices may also be considered processors so long as they are configured to implement the encoded instructions.

コンピューティングデバイス702のメモリ718およびコンピューティングデバイス204のメモリ732は、非一時的コンピュータ可読媒体の例である。メモリ718および732は、本明細書に記載の方法および様々なシステムに起因する機能を実装する、オペレーティングシステムおよび1つまたは複数のソフトウェアアプリケーション、命令、プログラム、および/またはデータを格納できる。様々な実装では、メモリ718および732を、スタティックランダムアクセスメモリ(SRAM)、シンクロナスダイナミックRAM(SDRAM)、不揮発性/フラッシュタイプメモリ、または情報を格納可能な任意の他のタイプのメモリなどの任意の適切なメモリ技術を用いて実装できる。本明細書で説明されるアーキテクチャ、システム、および個々の要素は、多くの他の論理的、プログラム的、および物理的なコンポーネントを含むことができ、添付図面に図示されるそれらは本明細書での説明に関連する単なる例にすぎない。 The memory 718 of the computing device 702 and the memory 732 of the computing device 204 are examples of non-transitory computer-readable media. The memory 718 and 732 can store an operating system and one or more software applications, instructions, programs, and/or data that implement the methods and functions attributed to the various systems described herein. In various implementations, the memory 718 and 732 can be implemented using any suitable memory technology, such as static random access memory (SRAM), synchronous dynamic RAM (SDRAM), non-volatile/flash type memory, or any other type of memory capable of storing information. The architecture, systems, and individual elements described herein can include many other logical, programmatic, and physical components, and those illustrated in the accompanying drawings are merely examples relevant to the description herein.

いくつかの例では、本明細書で説明されるコンポーネントのいくつかまたは全ての態様は、任意のモデル、アルゴリズム、および/または機械学習アルゴリズムを含むことができる。例えば、いくつかの例では、メモリ718および732内のコンポーネントを、ニューラルネットワークとして実装できる。 In some examples, some or all aspects of the components described herein may include any model, algorithm, and/or machine learning algorithm. For example, in some examples, the components in memories 718 and 732 may be implemented as a neural network.

図8は、車両コントローラに関連付けられた安全性メトリックを決定するための例示的なプロセス800を示す。プロセス800の一部または全てを、本明細書に記載されるように、図1乃至図7の1つまたは複数のコンポーネントによって実行できる。例えば、プロセス800の一部または全ては、コンピューティングデバイス204および/またはコンピューティングデバイス702によって実行できる。 FIG. 8 illustrates an example process 800 for determining a safety metric associated with a vehicle controller. Some or all of the process 800 may be performed by one or more components of FIGS. 1-7 as described herein. For example, some or all of the process 800 may be performed by computing device 204 and/or computing device 702.

例示的なプロセス800の操作802において、プロセス800は、環境内の自律車両における動作に関連付けられたログデータを受信することを含むことができる。いくつかの例では、ログデータを少なくとも環境のセンサデータをキャプチャする車両によって生成できる。 At operation 802 of the example process 800, the process 800 may include receiving log data associated with operation of the autonomous vehicle within an environment. In some examples, the log data may be generated by the vehicle capturing at least sensor data of the environment.

例示的なプロセス800の操作804にて、プロセス800は、ログデータ(または他のデータ)に基づいて、シナリオのセットを決定することを含むことができ、シナリオのセットのシナリオは環境の態様に関連付けられたシナリオパラメータを含む。いくつかの例では、コンピューティングデバイスは、ログデータ内に表される類似のシナリオをグループ化できる。例えば、シナリオを、例えば、k-meansクラスタリングおよび/または環境のパラメータ間の加重距離(例えば、ユークリッド)を評価すること、を使用してグループ化できる。加えて、シナリオパラメータは、夜間環境パラメータまたは湿潤条件環境パラメータなどの環境パラメータを表すことができる。いくつかの例では、シナリオパラメータは、車両またはオブジェクト(例えば、ポーズ、速度など)に関連付けることができる。 At operation 804 of the example process 800, the process 800 can include determining a set of scenarios based on the log data (or other data), where the scenarios of the set of scenarios include scenario parameters associated with aspects of the environment. In some examples, the computing device can group similar scenarios represented in the log data. For example, the scenarios can be grouped using, for example, k-means clustering and/or evaluating a weighted distance (e.g., Euclidean) between parameters of the environment. Additionally, the scenario parameters can represent environmental parameters, such as nighttime environmental parameters or wet condition environmental parameters. In some examples, the scenario parameters can be associated with a vehicle or object (e.g., pose, speed, etc.).

例示的なプロセス800の操作806において、プロセス800は、自律車両のサブシステムに関連付けられたエラーモデルを決定することを含むことができる。エラーモデルコンポーネントは、車両データ(例えば、ログデータ)をグラウンドトゥルースデータと比較して、車両データとグラウンドトゥルースデータとの間の差を決定できる。いくつかの例では、車両データは、推定位置、推定方向、推定範囲などの環境内のオブジェクトに関連付けられた推定値を表すことができ、グラウンドトゥルースデータは、オブジェクトの実際の位置、実際の方向、または実際の範囲を表すことができる。差に基づいて、エラーモデルコンポーネントは、車両のサブシステム(例えば、知覚システム、追跡システム、予測システムなど)に関連付けられたエラーを決定できる。 At operation 806 of the example process 800, the process 800 can include determining an error model associated with a subsystem of the autonomous vehicle. The error model component can compare the vehicle data (e.g., log data) to ground truth data to determine a difference between the vehicle data and the ground truth data. In some examples, the vehicle data can represent estimates associated with an object in the environment, such as an estimated position, an estimated orientation, an estimated range, etc., and the ground truth data can represent an actual position, an actual orientation, or an actual range of the object. Based on the difference, the error model component can determine an error associated with the subsystem of the vehicle (e.g., a perception system, a tracking system, a prediction system, etc.).

例示的なプロセス800の操作808において、プロセス800は、シナリオパラメータおよびエラーモデルに基づいて、パラメータ化シナリオを決定することを含むことができる。これらを組み合わせて、シナリオパラメータおよび/またはエラーモデルによって提供されるバリエーションをカバーできるパラメータ化シナリオを作成できる。いくつかの例では、シナリオパラメータをランダムに選択して組み合わせて、パラメータ化シナリオを作成できる。いくつかの例では、シナリオパラメータは、同時に発生する確率に基づいて組み合わせることができる。例として、限定されないが、ログデータは、5%の運転経験が歩行者遭遇を含むことを示すことができ、パラメータ化シナリオコンポーネントは、パラメータ化シナリオコンポーネントによって生成されたパラメータ化シナリオの5%において、シナリオパラメータとして歩行者を含むことができる。いくつかの例では、パラメータ化シナリオコンポーネントは、パラメータ化シナリオを検証して、シナリオパラメータの見込みのないまたはありそうもない組み合わせを削減できる。例として、限定されないが、車両は湖に位置しておらず、歩行者は毎秒30メートルの速度で歩いていない。非限定的な例として、そのようなパラメータ化シナリオは、シナリオパラメータに少なくとも部分的に基づいて、知覚モデル、予測モデルなどのエラーの様々なガウス分布(または他の分布)を有する特定の定義された道路における車両およびジェイウォーカーの距離、速度、照明条件、気象条件などの範囲を含み得る。 In operation 808 of the example process 800, the process 800 can include determining parameterized scenarios based on the scenario parameters and the error model. These can be combined to create parameterized scenarios that can cover the variations provided by the scenario parameters and/or the error model. In some examples, the scenario parameters can be randomly selected and combined to create the parameterized scenarios. In some examples, the scenario parameters can be combined based on the probability of them occurring together. By way of example and not by way of limitation, the log data can indicate that 5% of driving experiences include pedestrian encounters, and the parameterized scenario component can include pedestrians as a scenario parameter in 5% of the parameterized scenarios generated by the parameterized scenario component. In some examples, the parameterized scenario component can validate the parameterized scenarios to eliminate unlikely or unlikely combinations of scenario parameters. By way of example and not by way of limitation, the vehicle is not located in a lake and pedestrians are not walking at a speed of 30 meters per second. As a non-limiting example, such parameterized scenarios may include ranges of vehicle and jaywalker distances, speeds, lighting conditions, weather conditions, etc. on a particular defined road with various Gaussian (or other) distributions of errors in perception models, predictive models, etc. based at least in part on the scenario parameters.

例示的なプロセス800の操作810において、プロセス800は、エラーに少なくとも部分的に基づいて、パラメータ化シナリオ、シナリオパラメータ、またはシミュレートされた車両のコンポーネントの少なくとも1つを修正することによって、パラメータ化シナリオに摂動を与えること、を含むことができる。いくつかの例では、不確実性をシナリオパラメータに関連付けることができる。例として、限定されないが、オブジェクトの位置を5%の不確実性に関連付け、自律コントローラに環境を5%の不確実性を考慮しながらトラバースさせることができる。いくつかの例では、シミュレータは、シミュレータがシミュレーションを実行する際に、シミュレーションに組み込むエラーをエラーモデルから決定できる。 In operation 810 of the example process 800, the process 800 can include perturbing the parameterized scenario by modifying at least one of the parameterized scenario, the scenario parameters, or the components of the simulated vehicle based at least in part on the error. In some examples, an uncertainty can be associated with the scenario parameters. By way of example and not limitation, an object's position can be associated with a 5% uncertainty and an autonomous controller can be caused to traverse the environment while accounting for the 5% uncertainty. In some examples, the simulator can determine from the error model the error to incorporate into the simulation as the simulator runs the simulation.

例示的なプロセス800の操作812において、プロセス800は、摂動を与えられたパラメータ化シナリオにおいてシミュレートされた車両をインスタンス化することを含むことができる。シミュレータは、自律コントローラに関連付けることができるシミュレートされた車両を使用し、自律コントローラにシミュレートされた環境を横断させることができる。パラメータ化シナリオで自律車両コントローラをインスタンス化し、パラメータ化シナリオをシミュレートすることは、バリエーションの手動列挙を必要とせずに、シナリオの幅広いバリエーションを効率的にカバーできる。加えて、パラメータ化シナリオを実行することに少なくとも部分的に基づいて、シミュレーションデータは、自律車両コントローラがパラメータ化シナリオにどのように応答したかを示し、シミュレーションデータに少なくとも部分的に基づいて、成功した結果または失敗した結果を決定できる。 At operation 812 of the example process 800, the process 800 can include instantiating a simulated vehicle in a perturbed parameterized scenario. The simulator can use the simulated vehicle, which can be associated with an autonomous controller, to cause the autonomous controller to traverse a simulated environment. Instantiating the autonomous vehicle controller in the parameterized scenario and simulating the parameterized scenario can efficiently cover a wide range of scenario variations without requiring manual enumeration of the variations. Additionally, based at least in part on executing the parameterized scenario, simulation data can indicate how the autonomous vehicle controller responded to the parameterized scenario, and a successful or unsuccessful outcome can be determined based at least in part on the simulation data.

例示的なプロセス800の操作814において、プロセスは、シミュレートされた車両が摂動を与えられたパラメータ化シナリオにどのように応答するかを示すシミュレーションデータを受信することを含むことができる。シミュレーション後、結果は、車両コントローラに関連付けられた合格(例えば、成功した結果)、失敗、および/または成功または失敗の程度を示すことができる。 At operation 814 of the example process 800, the process may include receiving simulation data indicating how a simulated vehicle responds to the perturbed parameterization scenario. After the simulation, the results may indicate a pass (e.g., a successful outcome), a fail, and/or a degree of success or failure associated with the vehicle controller.

例示的なプロセス800の操作816において、プロセスは、シミュレーションデータに基づいて、車両コントローラに関連付けられた安全性メトリックを決定することを含むことができる。例えば、各シミュレーションは、成功または失敗の結果をもたらすことができる。加えて、上述したように、車両性能コンポーネントは、シミュレーションデータに基づいて、車両が環境内でどのように実行するかを示すことができる車両性能データを決定できる。感度分析に基づいて、車両性能データは、シミュレーションの結果が成功しなかったシナリオ、シミュレーションの失敗の原因、および/またはシミュレーションの結果が成功したシナリオパラメータの値を示すシナリオパラメータの境界を示すことができる。したがって、安全性メトリックは、さまざまなシミュレートされたシナリオ内の車両コントローラの合格/不合格率を示すことができる。 In operation 816 of the example process 800, the process may include determining a safety metric associated with the vehicle controller based on the simulation data. For example, each simulation may result in a success or failure outcome. Additionally, as described above, the vehicle performance component may determine vehicle performance data based on the simulation data that may indicate how the vehicle performs in the environment. Based on a sensitivity analysis, the vehicle performance data may indicate scenarios in which the simulation results were not successful, causes of the simulation failure, and/or bounds for scenario parameters that indicate values of the scenario parameters in which the simulation results were successful. Thus, the safety metric may indicate pass/fail rates for the vehicle controller within various simulated scenarios.

図9は、自律車両のサブシステムに関連付けられた統計モデルを決定するための例示的なプロセスのフロー図を示している。プロセス900の一部または全てを、本明細書に記載されるように、図1乃至図7の1つまたは複数のコンポーネントによって実行できる。例えば、プロセス900の一部または全てを、コンピューティングデバイス204および/またはコンピューティングデバイス702によって実行できる。 FIG. 9 illustrates a flow diagram of an example process for determining a statistical model associated with a subsystem of an autonomous vehicle. Some or all of the process 900 may be performed by one or more components of FIGS. 1-7 as described herein. For example, some or all of the process 900 may be performed by computing device 204 and/or computing device 702.

例示的なプロセス900の操作902において、プロセス900は、自律車両のサブシステムに関連付けられた車両データ(または他のデータ)を受信することを含むことができる。車両データは、環境を通り横断する車両によってキャプチャされるログデータを含むことができる。いくつかの例では、車両データは、制御データ(例えば、ステアリング、ブレーキなどのシステムを制御するために使用されるデータ)および/またはセンサデータ(例えば、lidarデータ、radarデータなど)を含むことができる。 At operation 902 of the example process 900, the process 900 can include receiving vehicle data (or other data) associated with a subsystem of the autonomous vehicle. The vehicle data can include log data captured by the vehicle traversing through an environment. In some examples, the vehicle data can include control data (e.g., data used to control systems such as steering, braking, etc.) and/or sensor data (e.g., lidar data, radar data, etc.).

例示的なプロセス900の操作904において、プロセス900は、車両データに基づいて、サブシステムに関連付けられた出力データを決定することを含むことができる。例として、限定されないが、サブシステムは知覚システムとすることができ、出力データは環境内のオブジェクトに関連付けられたバウンディングボックスとすることができる。 At operation 904 of the example process 900, the process 900 may include determining output data associated with the subsystem based on the vehicle data. By way of example, and without limitation, the subsystem may be a perception system and the output data may be a bounding box associated with an object in the environment.

例示的なプロセス900の動作906において、プロセス900は、サブシステムに関連付けられたグラウンドトゥルースデータを受信することを含むことができる。いくつかの例では、グラウンドトゥルースデータを、手動でラベル付けおよび/または他の検証された機械学習コンポーネントから決定できる。例として、限定されないが、グラウンドトゥルースデータは、環境内のオブジェクトに関連付けられた検証されたバウンディングボックスを含むことができる。 At operation 906 of the example process 900, the process 900 can include receiving ground truth data associated with the subsystem. In some examples, the ground truth data can be determined from manual labeling and/or other validated machine learning components. By way of example, and without limitation, the ground truth data can include validated bounding boxes associated with objects in the environment.

例示的なプロセス900の操作908において、プロセス900は、出力データの第1の部分とグラウンドトゥルースデータの第2の部分との間の差を決定することを含むことができ、差はサブシステムに関連付けられたエラーを表す。上述したように、出力データは、車両の知覚システムによって検出された、環境内のオブジェクトに関連付けられたバウンディングボックスを含むことができ、グラウンドトゥルースデータは、オブジェクトに関連付けられた検証済みのバウンディングボックスを含むことができる。2つのバウンディングボックス間の差は、車両の知覚システムに関連付けられたエラーを示すことができる。例として、限定されないが、出力データのバウンディングボックスは検証済みのバウンディングボックスよりも大きくすることができ、知覚システムがオブジェクトは環境内よりも大きいことを検出していることを示す。 At operation 908 of the example process 900, the process 900 may include determining a difference between a first portion of the output data and a second portion of the ground truth data, the difference representing an error associated with the subsystem. As described above, the output data may include a bounding box associated with an object in the environment detected by the vehicle's perception system, and the ground truth data may include a verified bounding box associated with the object. The difference between the two bounding boxes may indicate an error associated with the vehicle's perception system. By way of example, and not by way of limitation, the bounding box of the output data may be larger than the verified bounding box, indicating that the perception system has detected that the object is larger than in the environment.

例示的なプロセス900の操作910において、プロセス900は、差に基づいて、サブシステムに関連付けられた統計モデルを決定することを含むことができる。例えば、 In operation 910 of the example process 900, the process 900 can include determining a statistical model associated with the subsystem based on the difference. For example,

[例示的な発明内容]
A:1つまたは複数のプロセッサと、実行されると、前記システムに、環境内で自律車両を操作することに関連付けられたログデータを受信することと、前記ログデータに少なくとも部分的に基づいて、シナリオのセットを決定することであって、シナリオの前記セットのシナリオが、前記環境の態様に関連付けられたシナリオパラメータを含む、ことと、前記自律車両のサブシステムに関連付けられたエラーモデルを決定することと、前記シナリオパラメータおよび前記エラーモデルに少なくとも部分的に基づいて、パラメータ化シナリオを決定することと、摂動を与えられたパラメータ化シナリオにおいてインスタンス化される前記シナリオパラメータまたはシミュレートされた車両のコンポーネントのうちの少なくとも1つにエラーを追加することによって、前記パラメータ化シナリオに摂動を与えることであって、前記シミュレートされた車両が車両コントローラによって制御される、ことと、前記摂動を与えられたパラメータ化シナリオにおいて前記シミュレートされた車両をインスタンス化することと、前記シミュレートされた車両が前記摂動を与えられたパラメータ化シナリオにどのように応答するかを示すシミュレーションデータを受信することと、前記シミュレーションデータに少なくとも部分的に基づいて、前記車両コントローラに関連付けられた安全性メトリックを決定することと、を含む操作を実行させるコンピュータで実行可能な命令を格納した1つまたは複数のコンピュータ可読媒体と、を含むシステム。
[Exemplary invention content]
A: A system including one or more processors; and one or more computer-readable media having computer-executable instructions stored thereon that, when executed, cause the system to perform operations including receiving log data associated with operating an autonomous vehicle in an environment; determining a set of scenarios based at least in part on the log data, where scenarios of the set of scenarios include scenario parameters associated with aspects of the environment; determining error models associated with subsystems of the autonomous vehicle; determining parameterized scenarios based at least in part on the scenario parameters and the error models; perturbing the parameterized scenarios by adding errors to at least one of the scenario parameters or simulated vehicle components instantiated in the perturbed parameterized scenarios, where the simulated vehicle is controlled by a vehicle controller; instantiating the simulated vehicle in the perturbed parameterized scenarios; receiving simulation data indicative of how the simulated vehicle responds to the perturbed parameterized scenarios; and determining a safety metric associated with the vehicle controller based at least in part on the simulation data.

B:シナリオの前記セットを決定することが、前記ログデータをクラスタリングして、第1のセットのクラスタを決定することであって、前記第1のセットのクラスタの個々のクラスタは、個々のシナリオに関連付けられている、ことと、前記第1のセットのクラスタに少なくとも部分的に基づいて、前記個々のクラスタに関連付けられた確率を決定することと、確率閾値および前記第1のセットのクラスタに少なくとも部分的に基づいて、第2のセットのクラスタを決定することと、を含む、段落Aに記載のシステム。 B: The system of paragraph A, wherein determining the set of scenarios includes: clustering the log data to determine a first set of clusters, each cluster of the first set of clusters being associated with a respective scenario; determining probabilities associated with each cluster based at least in part on the first set of clusters; and determining a second set of clusters based at least in part on a probability threshold and the first set of clusters.

C:前記エラーモデルを決定することが、前記環境に関連付けられたグラウンドトゥルースデータを受信することと、前記グラウンドトゥルースデータを前記ログデータと比較することに少なくとも部分的に基づいて、エラーを決定することと、前記エラーに少なくとも部分的に基づいて、エラー分布を決定することと、を含み、前記エラーモデルは前記エラー分布を含む、段落Aに記載のシステム。 C: The system of paragraph A, wherein determining the error model includes receiving ground truth data associated with the environment, determining an error based at least in part on comparing the ground truth data to the log data, and determining an error distribution based at least in part on the error, the error model including the error distribution.

D:前記パラメータ化シナリオは第1のパラメータ化シナリオであり、前記摂動を与えられたパラメータ化シナリオは第1の摂動を与えられたパラメータ化シナリオであり、前記シミュレーションデータは第1のシミュレーションデータであり、前記操作は、前記第1のシミュレーションデータに基づいて、前記シナリオパラメータの第1のサブセットまたは前記エラーモデルの第2のサブセットのうちの少なくとも1つを含む第2のパラメータ化シナリオを決定することと、前記第2のパラメータ化シナリオに、第2の摂動を与えられたパラメータ化シナリオとして、摂動を与えることと、前記第2の摂動を与えられたパラメータ化シナリオにおいて前記シミュレートされた車両をインスタンス化することと、第2のシミュレーションデータを受信することと、前記第2のシミュレーションデータに少なくとも部分的に基づいて、前記安全性メトリックを更新することと、をさらに含む、段落Aに記載のシステム。 D: The system of paragraph A, wherein the parameterization scenario is a first parameterization scenario, the perturbed parameterization scenario is a first perturbed parameterization scenario, the simulation data is first simulation data, and the operations further include determining a second parameterization scenario including at least one of a first subset of the scenario parameters or a second subset of the error model based on the first simulation data, perturbing the second parameterization scenario as a second perturbed parameterization scenario, instantiating the simulated vehicle in the second perturbed parameterization scenario, receiving second simulation data, and updating the safety metric based at least in part on the second simulation data.

E:環境の一部を説明するシナリオパラメータを含むシナリオを決定することと、車両のサブシステムに関連付けられたエラーモデルを受信することと、前記シナリオ、前記シナリオパラメータ、および前記エラーモデルに少なくとも部分的に基づいて、パラメータ化シナリオを決定することと、前記パラメータ化シナリオを摂動を与えられたパラメータ化シナリオとして摂動を与えることと、前記車両の前記サブシステムが前記摂動を与えられたパラメータ化シナリオにどのように応答するかを示すシミュレーションデータを受信することと、前記シミュレーションデータに少なくとも部分的に基づいて、前記車両の前記サブシステムに関連付けられた安全性メトリックを決定することと、を含む方法。 E: A method comprising: determining a scenario including scenario parameters describing a portion of an environment; receiving an error model associated with a subsystem of a vehicle; determining a parameterization scenario based at least in part on the scenario, the scenario parameters, and the error model; perturbing the parameterization scenario as a perturbed parameterization scenario; receiving simulation data indicative of how the subsystem of the vehicle responds to the perturbed parameterization scenario; and determining a safety metric associated with the subsystem of the vehicle based at least in part on the simulation data.

F:前記シナリオパラメータは、オブジェクトのサイズ、オブジェクトの速度、オブジェクトのポーズ、オブジェクトの密度、車両の速度、車両の軌道の少なくとも1つに関連付けられている、段落Eに記載の方法。 F: The method of paragraph E, wherein the scenario parameters are associated with at least one of object size, object velocity, object pose, object density, vehicle speed, and vehicle trajectory.

G:前記シナリオを決定することが、自律車両に関連付けられたログデータを受信することと、前記ログデータをクラスタリングして、クラスタの第1のセットを決定することであって、クラスタの前記第1のセットの個々のクラスタは、前記シナリオに関連付けられている、ことと、クラスタの前記第1のセットに少なくとも部分的に基づいて、前記個々のクラスタに関連付けられた確率を決定することと、前記確率が確率閾値を満たすまたは超えると決定することと、を含む、段落Eに記載の方法。 G: The method of paragraph E, wherein determining the scenario includes receiving log data associated with an autonomous vehicle; clustering the log data to determine a first set of clusters, each cluster of the first set of clusters being associated with the scenario; determining a probability associated with each cluster based at least in part on the first set of clusters; and determining that the probability meets or exceeds a probability threshold.

H:前記エラーモデルは、前記環境に関連付けられたグラウンドトゥルースデータを受信することと、前記グラウンドトゥルースデータを車両に関連付けられたログデータと比較することに少なくとも部分的に基づいて、エラーを決定することと、前記エラーに少なくとも部分的に基づいて、エラー分布を決定することと、に少なくとも部分的に基づいて、決定され、前記エラーモデルは前記エラー分布を含む、段落Eに記載の方法。 H: The method of paragraph E, wherein the error model is determined at least in part based on receiving ground truth data associated with the environment, determining an error based at least in part on comparing the ground truth data to log data associated with the vehicle, and determining an error distribution based at least in part on the error, and the error model includes the error distribution.

I:前記パラメータ化シナリオは第1のパラメータ化シナリオであり、前記摂動を与えられたパラメータ化シナリオは第1の摂動を与えられたパラメータ化シナリオであり、前記シミュレーションデータは第1のシミュレーションデータであり、前記方法は、前記第1のシミュレーションデータに基づいて、前記シナリオパラメータの第1のサブセットまたは前記エラーモデルの第2のサブセットのうちの少なくとも1つを含む第2のパラメータ化シナリオを決定することと、前記第2のパラメータ化シナリオに摂動を与えることと、第2のシミュレーションデータを受信することと、前記第2のシミュレーションデータに少なくとも部分的に基づいて、前記安全性メトリックを更新することと、さらに含む、段落Eに記載の方法。 I: The method of paragraph E, wherein the parameterization scenario is a first parameterization scenario, the perturbed parameterization scenario is a first perturbed parameterization scenario, the simulation data is first simulation data, and the method further comprises: determining a second parameterization scenario including at least one of a first subset of the scenario parameters or a second subset of the error model based on the first simulation data; perturbing the second parameterization scenario; receiving second simulation data; and updating the safety metric based at least in part on the second simulation data.

J:前記シナリオパラメータまたは前記エラーモデルの1つの少なくとも第1の部分を無効にすることと、前記第2のシミュレーションデータを、無効にされていない前記シナリオパラメータまたは前記エラーモデルの1つの少なくとも第2の部分に関連付けることとをさらに含む段落Iに記載の方法。 J: The method of paragraph I, further comprising: disabling at least a first portion of one of the scenario parameters or the error model; and associating the second simulation data with at least a second portion of one of the scenario parameters or the error model that has not been disabled.

K:前記安全性メトリックがコスト閾値を満たすまたは超える確率を示す、段落Eに記載の方法。 K: The method of paragraph E, wherein the safety metric indicates a probability that the safety metric meets or exceeds a cost threshold.

L:前記部分は第1の部分であり、前記方法が、マップデータを受信することであって、前記マップデータの第2の部分は、前記環境の前記第1の部分に関連付けられている、ことと、前記マップデータの前記第2の部分が、前記シナリオパラメータに関連付けられた閾値確率を満たすまたは超える確率に関連付けられたシナリオに関連付けられていると決定することと、をさらに含む、段落Eに記載の方法。 L: The method of paragraph E, wherein the portion is a first portion, and the method further includes receiving map data, the second portion of the map data being associated with the first portion of the environment, and determining that the second portion of the map data is associated with a scenario associated with a probability of meeting or exceeding a threshold probability associated with the scenario parameter.

M:命令が実行されると、プロセッサに環境の一部を説明するシナリオパラメータを含むシナリオを決定することと、車両のサブシステムに関連付けられたエラーモデルの1つまたは複数を受信すること、または決定すること、前記シナリオ、前記シナリオパラメータ、および前記エラーモデルに少なくとも部分的に基づいて、パラメータ化シナリオを決定することと、前記パラメータ化シナリオを摂動を与えられたパラメータ化シナリオとして摂動を与えることと、前記車両の前記サブシステムが前記摂動を与えられたパラメータ化シナリオにどのように応答するかを示すシミュレーションデータを受信することと、前記シミュレーションデータに少なくとも部分的に基づいて、前記車両の前記サブシステムに関連付けられた安全性メトリックを決定することと、を含む操作を実行させる、プロセッサによって実行可能な命令を格納する非一時的コンピュータ可読媒体。 M: A non-transitory computer-readable medium storing instructions executable by a processor that, when executed, cause the processor to perform operations including: determining a scenario including scenario parameters describing a portion of an environment; receiving or determining one or more error models associated with a subsystem of a vehicle; determining a parameterized scenario based at least in part on the scenario, the scenario parameters, and the error models; perturbing the parameterized scenario as a perturbed parameterized scenario; receiving simulation data indicative of how the subsystem of the vehicle responds to the perturbed parameterized scenario; and determining a safety metric associated with the subsystem of the vehicle based at least in part on the simulation data.

N:前記シナリオパラメータは、オブジェクトのサイズ、オブジェクトの速度、オブジェクトのポーズ、オブジェクトの密度、車両の速度、車両の軌道の少なくとも1つに関連付けられている、段落Mに記載の非一時的コンピュータ可読媒体。 N: The non-transitory computer-readable medium of paragraph M, wherein the scenario parameters are associated with at least one of object size, object velocity, object pose, object density, vehicle speed, and vehicle trajectory.

O:前記シナリオを決定することが、自律車両に関連付けられたログデータを受信することと、前記ログデータをクラスタリングして、クラスタの第1のセットを決定することであって、クラスタの前記第1のセットの個々のクラスタは、前記シナリオに関連付けられている、ことと、クラスタの前記第1のセットに少なくとも部分的に基づいて、前記個々のクラスタに関連付けられた確率を決定することと、前記確率が確率閾値を満たすまたは超えると決定することと、を含む段落Mに記載の非一時的コンピュータ可読媒体。 O: The non-transitory computer-readable medium of paragraph M, wherein determining the scenario includes receiving log data associated with an autonomous vehicle; clustering the log data to determine a first set of clusters, each cluster of the first set of clusters being associated with the scenario; determining a probability associated with each cluster based at least in part on the first set of clusters; and determining that the probability meets or exceeds a probability threshold.

P:前記エラーモデルは、前記環境に関連付けられたグラウンドトゥルースデータを受信することと、前記グラウンドトゥルースデータを車両に関連付けられたログデータと比較することに少なくとも部分的に基づいて、エラーを決定することと、前記エラーに少なくとも部分的に基づいて、エラー分布を決定することと、に少なくとも部分的に基づいて決定され、前記エラーモデルは前記エラー分布を含む、段落Mに記載の非一時的コンピュータ可読媒体。 P: The non-transitory computer-readable medium of paragraph M, wherein the error model is determined at least in part based on receiving ground truth data associated with the environment, determining an error based at least in part on comparing the ground truth data to log data associated with the vehicle, and determining an error distribution based at least in part on the error, the error model including the error distribution.

Q:前記パラメータ化シナリオは第1のパラメータ化シナリオであり、前記摂動を与えられたパラメータ化シナリオは第1の摂動を与えられたパラメータ化シナリオであり、前記シミュレーションデータは第1のシミュレーションデータであり、前記操作は、前記第1のシミュレーションデータに基づいて、前記シナリオパラメータの第1のサブセットまたは前記エラーモデルの第2のサブセットのうちの少なくとも1つを含む第2のパラメータ化シナリオを決定することと、前記第2のパラメータ化シナリオに摂動を与えることと、第2のシミュレーションデータを受信することと、前記第2のシミュレーションデータに少なくとも部分的に基づいて、前記安全性メトリックを更新することと、をさらに含む、段落Mに記載の非一時的コンピュータ可読媒体。 Q: The non-transitory computer-readable medium of paragraph M, wherein the parameterization scenario is a first parameterization scenario, the perturbed parameterization scenario is a first perturbed parameterization scenario, the simulation data is first simulation data, and the operations further include determining a second parameterization scenario including at least one of a first subset of the scenario parameters or a second subset of the error model based on the first simulation data, perturbing the second parameterization scenario, receiving second simulation data, and updating the safety metric based at least in part on the second simulation data.

R:前記操作が前記シナリオパラメータまたは前記エラーモデルの1つの少なくとも第1の部分を無効にすることと、前記第2のシミュレーションデータを、無効にされていない前記シナリオパラメータまたは前記エラーモデルの1つの少なくとも第2の部分に関連付けることと、をさらに含む、段落Qに記載の非一時的コンピュータ可読媒体。 R: The non-transitory computer-readable medium of paragraph Q, wherein the operation further comprises: invalidating at least a first portion of one of the scenario parameters or the error model; and associating the second simulation data with at least a second portion of one of the scenario parameters or the error model that has not been invalidated.

S:前記安全性メトリックは、コスト閾値を満たすまたは超える確率を示す、段落Mに記載の非一時的コンピュータ可読媒体。 S: The non-transitory computer-readable medium of paragraph M, wherein the safety metric indicates a probability of meeting or exceeding a cost threshold.

T:前記エラーモデルは、前記車両の知覚システム、前記車両の予測システム、または前記車両のプランナシステムのうちの1つまたは複数に関連付けられている、段落Mに記載の非一時的コンピュータ可読媒体。 T: The non-transitory computer-readable medium of paragraph M, wherein the error model is associated with one or more of the vehicle's perception system, the vehicle's prediction system, or the vehicle's planner system.

U:1つまたは複数のプロセッサと、実行されると、前記システムに、車両データを受信することと、前記車両データの少なくとも第1の部分を自律車両のサブシステムに入力することであって、前記サブシステムは、知覚システム、計画システム、追跡システム、または予測システムのうちの少なくとも1つに関連付けられている、ことと、前記車両データの第2の部分に少なくとも部分的に基づいて、環境パラメータを決定することと、前記サブシステムから推定値を受信することと、前記サブシステムに関連付けられたグラウンドトゥルースデータを受信することと、前記推定値とグラウンドトゥルースデータとの間の差を決定することであって、前記差は、前記サブシステムに関連付けられたエラーを表す、ことと、前記差に少なくとも部分的に基づいて、前記エラーの確率を示す前記サブシステムに関連付けられた統計モデルを決定することであって、前記確率は前記環境パラメータに関連付けられている、ことと、を含む操作を実行させるコンピュータで実行可能な命令を格納した1つまたは複数のコンピュータ可読媒体と、を含むシステム。 U: A system including one or more processors and one or more computer-readable media having computer-executable instructions stored thereon that, when executed, cause the system to perform operations including: receiving vehicle data; inputting at least a first portion of the vehicle data into a subsystem of an autonomous vehicle, the subsystem being associated with at least one of a perception system, a planning system, a tracking system, or a prediction system; determining an environmental parameter based at least in part on a second portion of the vehicle data; receiving an estimate from the subsystem; receiving ground truth data associated with the subsystem; determining a difference between the estimate and the ground truth data, the difference representing an error associated with the subsystem; and determining a statistical model associated with the subsystem indicating a probability of the error based at least in part on the difference, the probability being associated with the environmental parameter.

V:前記車両データが前記自律車両上のセンサからのセンサデータを含み、前記環境パラメータが、前記自律車両の速度または気象条件の1つまたは複数を含み、前記サブシステムが知覚サブシステムであり、前記推定値が、前記車両データに表されるオブジェクトの推定位置、推定方向、または推定範囲のうちの1つまたは複数であり、前記グラウンドトゥルースデータが、前記オブジェクトの実際の位置、実際の方向、または実際の範囲を表す、段落Uに記載のシステム。 V: The system described in paragraph U, wherein the vehicle data includes sensor data from sensors on the autonomous vehicle, the environmental parameters include one or more of a speed or weather conditions of the autonomous vehicle, the subsystem is a perception subsystem, the estimates are one or more of an estimated position, an estimated orientation, or an estimated range of an object represented in the vehicle data, and the ground truth data represents an actual position, an actual orientation, or an actual range of the object.

W:前記統計モデルを決定することが、前記車両データに少なくとも部分的に基づいて、前記環境パラメータに関連付けられた第1の周波数および前記差に関連付けられた第2の周波数を決定することと、前記第1の周波数および前記第2の周波数に少なくとも部分的に基づいて、前記確率を決定することと、を含む、段落Uに記載のシステム。 W: The system described in paragraph U, wherein determining the statistical model includes determining a first frequency associated with the environmental parameter and a second frequency associated with the difference based at least in part on the vehicle data, and determining the probability based at least in part on the first frequency and the second frequency.

X:前記操作が、シミュレートされた車両データに少なくとも部分的に基づいて、シミュレートされた環境パラメータを決定することと、前記シミュレートされた環境パラメータが前記環境パラメータに対応することを決定することと、前記シミュレートされた車両データおよび前記サブシステムに少なくとも部分的に基づいて、シミュレートされた推定値を決定することと、前記確率に少なくとも部分的に基づいて、前記エラーに少なくとも部分的に基づく対応するシミュレートされたシナリオの一部を変更することによって、前記シミュレートされた推定値に摂動を与えることと、をさらに含む、段落Uに記載のシステム。 X: The system described in paragraph U, wherein the operations further include: determining a simulated environmental parameter based at least in part on simulated vehicle data; determining that the simulated environmental parameter corresponds to the environmental parameter; determining a simulated estimate based at least in part on the simulated vehicle data and the subsystem; and perturbing the simulated estimate by modifying a portion of a corresponding simulated scenario based at least in part on the error based at least in part on the probability.

Y:車両に関連付けられたデータを受信することと、前記データの第1の部分に少なくとも部分的に基づいて、環境パラメータを決定することと、前記データの第2の部分に少なくとも部分的に基づいて、前記車両のシステムに関連付けられた出力データを決定することと、前記システムおよび前記データに関連付けられたグラウンドトゥルースデータを受信することと、前記出力データと前記グラウンドトゥルースデータとの間の差を決定することであって、前記差が前記システムに関連付けられたエラーを表す、ことと、前記差に少なくとも部分的に基づいて、前記エラーの確率を示す前記システムに関連付けられた統計モデルを決定することであって、前記確率は前記環境パラメータに関連付けられている、ことと、を含む方法。 Y: A method comprising: receiving data associated with a vehicle; determining environmental parameters based at least in part on a first portion of the data; determining output data associated with a system of the vehicle based at least in part on a second portion of the data; receiving ground truth data associated with the system and the data; determining a difference between the output data and the ground truth data, the difference representing an error associated with the system; and determining a statistical model associated with the system indicative of a probability of the error based at least in part on the difference, the probability being associated with the environmental parameters.

Z:前記統計モデルを決定することが、前記データに少なくとも部分的に基づいて、前記エラーに関連付けられた周波数を決定することと、を含む、段落Yに記載の方法。 Z: The method of paragraph Y, wherein determining the statistical model includes determining a frequency associated with the error based at least in part on the data.

AA:前記環境パラメータが、前記車両の速度、気象条件、前記車両の地理的位置、または1日の時間のうちの1つまたは複数を含む、段落Yに記載の方法。 AA: The method of paragraph Y, wherein the environmental parameters include one or more of the speed of the vehicle, weather conditions, the geographic location of the vehicle, or time of day.

AB:シミュレーションを生成することと、前記シミュレーションのシミュレートされた環境パラメータが前記環境パラメータに対応することを決定することと、シミュレートされたデータを前記システムに入力することと、前記システムからシミュレートされた出力を受信することと、前記確率および前記エラーに少なくとも部分的に基づいて、シミュレーションに摂動を与えることと、をさらに含む段落Yに記載の方法。 AB: The method of paragraph Y, further comprising: generating a simulation; determining that simulated environmental parameters of the simulation correspond to the environmental parameters; inputting simulated data into the system; receiving simulated outputs from the system; and perturbing the simulation based at least in part on the probabilities and the errors.

AC:前記システムが知覚システムであり、前記出力データがオブジェクトに関連付けられた第1のバウンディングボックスを含み、前記グラウンドトゥルースデータが、前記オブジェクトに関連付けられた第2のバウンディングボックスを含み、前記差を決定することが、前記第1のバウンディングボックスの第1の範囲および前記第2のバウンディングボックスの第2の範囲、または、前記第1のバウンディングボックスの第1のポーズおよび前記第2のバウンディングボックスの第2のポーズの少なくとも1つの間の前記差を決定することを含む、段落Yに記載の方法。 AC: The method of paragraph Y, wherein the system is a perception system, the output data includes a first bounding box associated with an object, the ground truth data includes a second bounding box associated with the object, and determining the difference includes determining the difference between at least one of a first extent of the first bounding box and a second extent of the second bounding box, or a first pose of the first bounding box and a second pose of the second bounding box.

AD:前記システムはトラッカーシステムであり、前記出力データは、前記車両の計画軌道データを含み、前記グラウンドトゥルースデータは前記車両の測定軌道を含み、前記差を決定することは、前記計画軌道データと前記測定軌道との間の前記差を決定することを含む、段落Yに記載の方法。 AD: The method of paragraph Y, wherein the system is a tracker system, the output data includes planned trajectory data for the vehicle, the ground truth data includes a measured trajectory for the vehicle, and determining the difference includes determining the difference between the planned trajectory data and the measured trajectory.

AE:前記システムは予測システムに関連付けられ、前記データは、環境内のオブジェクトの予測軌道を含み、前記グラウンドトゥルースデータは、前記オブジェクトの観測軌道を含み、前記差を決定することは、前記予測軌道と前記観測軌道との間の前記差を決定することを含む、段落Yに記載の方法。 AE: The method of paragraph Y, wherein the system is associated with a prediction system, the data includes a predicted trajectory of an object in an environment, the ground truth data includes an observed trajectory of the object, and determining the difference includes determining the difference between the predicted trajectory and the observed trajectory.

AF:前記データが第1のデータであり、前記環境パラメータが第1の環境パラメータであり、前記差が第1の差であり、前記エラーが第1のエラーであり、前記確率が第1の確率であり、前記方法は、前記車両の前記システムに関連付けられた第2のデータを受信することと、前記第2のデータに少なくとも部分的に基づいて、第2の環境パラメータを決定することと、前記出力データの第3の部分と前記グラウンドトゥルースデータの第4の部分との間の第2の差を決定することであって、前記第2の差は、前記システムに関連付けられた第2のエラーを表す、ことと、前記システムに関連付けられた前記統計モデルを更新することであって、前記統計モデルは前記第2のエラーの第2の確率を示し、前記第2の確率は前記第2の環境パラメータに関連付けられている、ことと、をさらに含む、段落Yに記載の方法。 AF: The method of paragraph Y, wherein the data is first data, the environmental parameter is a first environmental parameter, the difference is a first difference, the error is a first error, and the probability is a first probability, the method further comprising: receiving second data associated with the system of the vehicle; determining a second environmental parameter based at least in part on the second data; determining a second difference between a third portion of the output data and a fourth portion of the ground truth data, the second difference representing a second error associated with the system; and updating the statistical model associated with the system, the statistical model indicating a second probability of the second error, the second probability being associated with the second environmental parameter.

AG:命令が実行されると、プロセッサにデータを受信することと、前記データに少なくとも部分的に基づいて、環境パラメータを決定することと、前記データおよび車両のシステムに少なくとも部分的に基づいて、出力データを決定することと、前記システムおよび前記データに関連付けられたグラウンドトゥルースデータを受信することと、前記出力データの第1の部分と前記グラウンドトゥルースデータの第2の部分との間の差を決定することであって、前記差が前記システムに関連付けられたエラーを表す、ことと、前記差に少なくとも部分的に基づいて、前記エラーの確率を示す前記システムに関連付けられた統計モデルを決定することと、前記確率を前記環境パラメータに関連付けることと、を含む操作を実行させる、前記プロセッサによって実行可能な命令を格納する非一時的コンピュータ可読媒体。 AG: A non-transitory computer-readable medium storing instructions executable by a processor that, when executed, cause the processor to perform operations including receiving data, determining environmental parameters based at least in part on the data, determining output data based at least in part on the data and a system of the vehicle, receiving ground truth data associated with the system and the data, determining a difference between a first portion of the output data and a second portion of the ground truth data, the difference representing an error associated with the system, determining a statistical model associated with the system indicative of a probability of the error based at least in part on the difference, and relating the probability to the environmental parameters.

AH:前記統計モデルを決定することは、前記データに少なくとも部分的に基づいて、前記差に関連付けられた周波数を決定することと、を含む、段落AGに記載の非一時的コンピュータ可読媒体。 AH: The non-transitory computer-readable medium of paragraph AG, wherein determining the statistical model includes determining a frequency associated with the difference based at least in part on the data.

AI:前記環境パラメータは、前記車両の速度、気象条件、または1日のうちの時間のうちの1つまたは複数を含む、段落AGに記載の非一過性コンピュータ可読媒体。 AI: The non-transitory computer-readable medium of paragraph AG, wherein the environmental parameters include one or more of the vehicle's speed, weather conditions, or time of day.

AJ:前記操作がシミュレートされた車両を含むシミュレーションを生成することと、シミュレートされたデータを受信することと、シミュレートされた環境パラメータが前記環境パラメータに対応することを決定することと、前記シミュレートされたデータの少なくとも一部を前記システムに入力することと、前記システムからシミュレートされた出力データを受信することと、要求および確率およびエラーに少なくとも部分的に基づいて、前記シミュレートされた出力データを変更することと、をさらに含む段落AGに記載の非一過性コンピュータ可読媒体。 AJ: The non-transitory computer readable medium of paragraph AG, further comprising: generating a simulation in which the operation includes a simulated vehicle; receiving simulated data; determining that simulated environmental parameters correspond to the environmental parameters; inputting at least a portion of the simulated data into the system; receiving simulated output data from the system; and modifying the simulated output data based at least in part on requirements and probabilities and errors.

AK:前記システムが知覚システムであり、前記データがオブジェクトに関連付けられた第1のバウンディングボックスを含み、前記グラウンドトゥルースデータが、前記オブジェクトに関連付けられた第2のバウンディングボックスを含み、前記差を決定することが、前記第1のバウンディングボックスの第1の範囲および前記第2のバウンディングボックスの第2の範囲、または、前記第1のバウンディングボックスの第1のポーズおよび前記第2のバウンディングボックスの第2のポーズの少なくとも1つの間の前記差を決定することを含む、段落AGに記載の非一時的コンピュータ可読媒体。 AK: The non-transitory computer-readable medium of paragraph AG, wherein the system is a perception system, the data includes a first bounding box associated with an object, the ground truth data includes a second bounding box associated with the object, and determining the difference includes determining the difference between at least one of a first range of the first bounding box and a second range of the second bounding box, or a first pose of the first bounding box and a second pose of the second bounding box.

AL:前記システムはトラッカーシステムであり、前記データは、前記車両の計画軌道データを含み、前記グラウンドトゥルースデータは前記車両の測定軌道を含み、前記差を決定することは、前記計画軌道データと前記測定軌道との間の前記差を決定することを含む、段落AGに記載の非一時的コンピュータ可読媒体。 AL: The non-transitory computer-readable medium of paragraph AG, wherein the system is a tracker system, the data includes planned trajectory data for the vehicle, the ground truth data includes a measured trajectory for the vehicle, and determining the difference includes determining the difference between the planned trajectory data and the measured trajectory.

AM:前記システムは予測システムに関連付けられ、前記データは、環境内のオブジェクトの予測軌道を含み、前記グラウンドトゥルースデータは、前記オブジェクトの観測軌道を含み、前記差を決定することは、前記予測軌道と前記観測軌道との間の前記差を決定することを含む、段落AGに記載の非一時的コンピュータ可読媒体。 AM: The non-transitory computer-readable medium of paragraph AG, wherein the system is associated with a prediction system, the data includes a predicted trajectory of an object in an environment, the ground truth data includes an observed trajectory of the object, and determining the difference includes determining the difference between the predicted trajectory and the observed trajectory.

AN:前記データが第1のデータであり、前記環境パラメータが第1の環境パラメータであり、前記差が第1の差であり、前記エラーが第1のエラーであり、前記確率が第1の確率であり、前記操作は、前記車両の前記システムに関連付けられた第2のデータを受信することと、前記第2のデータに少なくとも部分的に基づいて、第2の環境パラメータを決定することと、前記出力データの第3の部分と前記グラウンドトゥルースデータの第4の部分との間の第2の差を決定することであって、前記第2の差は、前記システムに関連付けられた第2のエラーを表す、ことと、前記システムに関連付けられた前記統計モデルを更新することであって、前記統計モデルは前記第2のエラーの第2の確率を示し、前記第2の確率は前記第2の環境パラメータに関連付けられている、ことと、をさらに含む、段落AGに記載の非一時的コンピュータ可読媒体。 AN: The non-transitory computer-readable medium of paragraph AG, further comprising: receiving second data associated with the system of the vehicle; determining a second environmental parameter based at least in part on the second data; determining a second difference between a third portion of the output data and a fourth portion of the ground truth data, the second difference representing a second error associated with the system; and updating the statistical model associated with the system, the statistical model indicating a second probability of the second error, the second probability being associated with the second environmental parameter.

上述の例示の発明内容は1つの特定の実装に関して説明されているが、この文書のコンテキストでは、例示の発明内容はまた、方法、デバイス、システム、コンピュータ可読媒体、および/または別の実装を介して実装できることを理解されたい。さらに、例示A乃至ANのいずれかは、単独で、または任意の他の1つまたは複数の例示A乃至ANと組み合わせて実装され得る。 Although the above example subject matter has been described with respect to one particular implementation, it should be understood in the context of this document that the example subject matter may also be implemented via a method, device, system, computer-readable medium, and/or another implementation. Additionally, any of Examples A-AN may be implemented alone or in combination with any other one or more of Examples A-AN.

[結論]
本明細書で説明する技術の1つまたは複数の例について説明したが、様々な変更、
追加、置換、およびそれらの同等物が、本明細書で説明する技術の範囲内に含まれる。
[Conclusion]
Although one or more examples of the techniques described herein have been described, various modifications,
Additions, permutations, and their equivalents are included within the scope of the technology described herein.

例示の説明では、本明細書の一部を形成する添付の図面を参照するが、これは例示として特許請求される主題の具体的な例を示す。他の例を使用でき、構造的変更などの変更または代替を行うことできることを理解されたい。そのような例示、変更または代替は、意図して特許請求される主題に関する範囲から必ずしも逸脱するものではない。本明細書のステップを特定の順序で提示できるが、いくつかのケースでは、説明したシステムおよび方法の機能を変更することなく、特定の入力を異なる時間または異なる順序で提供するように、順序を変更できる。開示された手順はまた異なる順序で実行できる。さらに、本明細書にある様々な計算は開示された順序で実行される必要はなく、計算の代替順序を使用する他の例を容易に実装できる。並べ替えに加えて、計算はまた同じ結果となるサブ計算に分解できる。 In the illustrative description, reference is made to the accompanying drawings, which form a part hereof, showing by way of illustration specific examples of the claimed subject matter. It is to be understood that other examples may be used and modifications or substitutions, such as structural changes, may be made. Such examples, modifications or substitutions are not necessarily intended to depart from the scope of the claimed subject matter. Although the steps herein may be presented in a particular order, in some cases the order may be changed, such as providing certain inputs at different times or in a different order, without changing the functionality of the described systems and methods. The disclosed procedures may also be performed in different orders. Furthermore, the various calculations herein need not be performed in the order disclosed, and other examples using alternative orders of calculations may be readily implemented. In addition to reordering, calculations may also be decomposed into sub-calculations that produce the same results.

Claims (15)

環境の一部を説明するシナリオパラメータを含むシナリオを決定するステップであって、前記シナリオは、実際の環境をコンピューティングデバイス上にシミュレートすることによって作成されるシミュレーション環境の状況、または前記シミュレーション環境に配置されるオブジェクトの分類、特性、もしくは属性を含むイベントのプロセスであり、前記シナリオパラメータは、前記オブジェクトの前記分類、前記特性、もしくは前記属性に関連付けられる範囲または値のセットである、ステップと、
自律車両のサブシステムに関連付けられたエラーモデルを受信するステップと、
前記シナリオ、前記シナリオパラメータ、および前記エラーモデルにそれぞれ少なくとも部分的に基づいて、パラメータ化シナリオを決定するステップと、
前記パラメータ化シナリオ動パラメータ化シナリオとして摂動を与えるステップと、
前記自律車両の前記サブシステムが前記摂動パラメータ化シナリオに対してどのように応答するかを示すシミュレーションデータを受信するステップと、
前記シミュレーションデータに少なくとも部分的に基づいて、前記自律車両の前記サブシステムに関連付けられ安全性メトリックを決定するステップと、
備える、方法。
determining a scenario comprising scenario parameters describing a portion of an environment , said scenario being a situation of a simulated environment created by simulating a real environment on a computing device, or a process of events including classifications, characteristics or attributes of objects placed in said simulated environment, said scenario parameters being ranges or sets of values associated with said classifications, characteristics or attributes of said objects;
receiving an error model associated with a subsystem of an autonomous vehicle ;
determining a parameterized scenario based at least in part on the scenario, the scenario parameters, and the error model, respectively ;
perturbing said parameterized scenario as a perturbed parameterized scenario ;
receiving simulation data indicative of how the subsystems of the autonomous vehicle respond to the perturbation parameterization scenarios ;
determining a safety metric associated with the subsystem of the autonomous vehicle based at least in part on the simulation data ;
A method comprising :
前記シナリオパラメータは、前記オブジェクトのサイズ、前記オブジェクトの速度、前記オブジェクトのポーズ、前記オブジェクトの密度、前記自律車両の速度、前記自律車両の軌道のうちの少なくとも1つに関連付けられる、請求項1に記載の方法。 2. The method of claim 1, wherein the scenario parameters are associated with at least one of a size of the object , a velocity of the object , a pose of the object, a density of the object , a speed of the autonomous vehicle, and a trajectory of the autonomous vehicle. 前記シナリオを決定するステップは
前記自律車両に関連付けられたログデータを受信するステップと、
前記ログデータをクラスタリングして、第1のクラスタセットを決定するステップであって、前記第1のクラスタセットの個々のクラスタは、前記シナリオに関連付けられるステップと、
前記第1のクラスタセットに少なくとも部分的に基づいて、前記個々のクラスタに関連付けられ確率を決定するステップと、
前記確率が確率閾値を満たすか、または超えることを決定して、前記シナリオを識別するステップと、
を含む、請求項1または2に記載の方法。
The step of determining a scenario includes:
receiving log data associated with the autonomous vehicle ;
clustering the log data to determine a first set of clusters , each cluster of the first set of clusters being associated with a scenario ;
determining probabilities associated with each of the clusters based at least in part on the first set of clusters ;
determining whether the probability meets or exceeds a probability threshold to identify the scenario;
The method of claim 1 or 2, comprising:
前記エラーモデルは、
前記環境に関連付けられグラウンドトゥルースデータを受信するステップと、
前記グラウンドトゥルースデータを前記自律車両に関連付けられる前記ログデータと比較することに少なくとも部分的に基づいて、エラーを決定するステップと、
前記エラーに少なくとも部分的に基づいて、エラー分布を決定するステップと、
に少なくとも部分的に基づいて決定され、
前記エラーモデルは前記エラー分布を含む、
請求項3に記載の方法。
The error model is
receiving ground truth data associated with the environment ;
determining an error based at least in part on comparing the ground truth data to the log data associated with the autonomous vehicle;
determining an error distribution based at least in part on the error ;
Based at least in part on
the error model includes the error distribution ,
The method according to claim 3 .
前記パラメータ化シナリオは第1のパラメータ化シナリオであり、前記摂動パラメータ化シナリオは第1の摂動パラメータ化シナリオであり、前記シミュレーションデータは第1のシミュレーションデータであり、
前記第1のシミュレーションデータに基づいて、前記シナリオパラメータの第1のサブセットまたは前記エラーモデルの第2のサブセットのうちの少なくとも1つを含む第2のパラメータ化シナリオを決定するステップであって、前記第1のサブセットは、前記シナリオパラメータに関連付けられた範囲または値のセットから選択された特定のグループであり、前記第2のサブセットは、前記自律車両の前記サブシステムに関連付けられた複数のエラーモデルから選択された特定のグループである、ステップと、
前記第2のパラメータ化シナリオに摂動を与えるステップと、
第2のシミュレーションデータを受信するステップと、
前記第2のシミュレーションデータに少なくとも部分的に基づいて、前記安全性メトリックを更新するステップと、
さらに備える、請求項1乃至4のいずれか一項に記載の方法。
the parameterization scenario is a first parameterization scenario , the perturbation parameterization scenario is a first perturbation parameterization scenario , and the simulation data is first simulation data;
determining a second parameterized scenario including at least one of a first subset of the scenario parameters or a second subset of the error models based on the first simulation data , the first subset being a particular group selected from a set of ranges or values associated with the scenario parameters and the second subset being a particular group selected from a plurality of error models associated with the subsystems of the autonomous vehicle;
perturbing the second parameterized scenario;
receiving second simulation data ;
updating the safety metric based at least in part on the second simulation data;
The method of claim 1 , further comprising :
前記シナリオパラメータまたは前記エラーモデルのうちの少なくとも1つという第1の部分を無効するステップと、
前記第2のシミュレーションデータを、無効されていない記シナリオパラメータまたは前記エラーモデルのうちの少なくとも1つという第2の部分に関連付けるステップ
をさらに備える、請求項5に記載の方法。
invalidating a first portion of at least one of the scenario parameters or the error model ;
and associating the second simulation data with a second portion of at least one of the scenario parameters or the error model that are not disabled .
前記安全性メトリックは、コスト閾値を満たすか、または超える確率を示す、請求項1乃至6のいずれか一項に記載の方法。 The method of claim 1 , wherein the safety metric indicates a probability of meeting or exceeding a cost threshold. 前記環境の一部第1の部分であり
マップデータを受信するステップであって、前記マップデータの第2の部分は、前記環境の前記第1の部分に関連付けられるステップと、
前記マップデータの前記第2の部分が、前記シナリオパラメータに関連付けられ閾値確率を満たすか、または超える確率に関連付けられシナリオに関連付けられることを決定するステップと、
をさらに備える、請求項1乃至7のいずれか一項に記載の方法。
the portion of the environment is a first portion ,
receiving map data, a second portion of the map data being associated with the first portion of the environment ;
determining that the second portion of the map data is associated with a scenario associated with a probability of meeting or exceeding a threshold probability associated with the scenario parameter ;
The method of claim 1 , further comprising :
コンピュータ上で実行されると、請求項1乃至8のいずれか一項に記載の方法を実装する、コード化された命令を含むコンピュータプログラム。 A computer program comprising coded instructions which , when executed on a computer, implements the method of any one of claims 1 to 8. 1つまたは複数のプロセッサと、
命令を格納した1つまたは複数の非一時的コンピュータ可読媒体と、
備えるシステムであって、
前記命令は、実行されると、前記1つまたは複数のプロセッサに、
環境の一部を説明するシナリオパラメータを含むシナリオを決定することであって、前記シナリオは、実際の環境をコンピューティングデバイス上にシミュレートすることによって作成されるシミュレーション環境の状況、または前記シミュレーション環境に配置されるオブジェクトの分類、特性、もしくは属性を含むイベントのプロセスであり、前記シナリオパラメータは、前記オブジェクトの前記分類、前記特性、もしくは前記属性に関連付けられる範囲または値のセットである、ことと、
自律車両のサブシステムに関連付けられエラーモデルの1つまたは複数を受信するか、または決定することと、
前記シナリオ、前記シナリオパラメータ、および前記エラーモデルにそれぞれ少なくとも部分的に基づいて、パラメータ化シナリオを決定することと、
前記パラメータ化シナリオ動パラメータ化シナリオとして摂動を与えることと、
前記自律車両の前記サブシステムが前記摂動パラメータ化シナリオに対してどのように応答するかを示すシミュレーションデータを受信することと、
前記シミュレーションデータに少なくとも部分的に基づいて、前記自律車両の前記サブシステムに関連付けられ安全性メトリックを決定することと、
を含む操作を実行させる
システム。
one or more processors;
one or more non-transitory computer-readable media having instructions stored thereon;
A system comprising :
The instructions, when executed, cause the one or more processors to:
determining a scenario including scenario parameters describing a portion of an environment , said scenario being a state of a simulated environment created by simulating a real environment on a computing device, or a process of events including classifications, characteristics, or attributes of objects placed in said simulated environment, said scenario parameters being ranges or sets of values associated with said classifications, characteristics, or attributes of said objects;
Receiving or determining one or more of the error models associated with the subsystems of the autonomous vehicle;
determining a parameterized scenario based at least in part on the scenario, the scenario parameters, and the error model, respectively ;
perturbing said parameterized scenario as a perturbed parameterized scenario;
receiving simulation data indicative of how the subsystems of the autonomous vehicle respond to the perturbation parameterization scenarios;
determining a safety metric associated with the subsystem of the autonomous vehicle based at least in part on the simulation data; and
perform an operation that includes
system.
前記シナリオパラメータは、前記オブジェクトのサイズ、前記オブジェクトの速度、前記オブジェクトのポーズ、前記オブジェクトの密度、前記自律車両の速度、前記自律車両の軌道のうちの少なくとも1つに関連付けられる、こと
前記安全性メトリックは、コスト閾値を満たすか、または超える確率を示すこと、または
前記エラーモデルは、前記自律車両にそれぞれ属する知覚システム、予測システム、または計画システムのうちの1つまたは複数に関連付けられること
のうちの少なくとも1つである、請求項10に記載のシステム。
the scenario parameters are associated with at least one of a size of the object , a velocity of the object , a pose of the object, a density of the object , a speed of the autonomous vehicle, and a trajectory of the autonomous vehicle;
the safety metric being indicative of a probability of meeting or exceeding a cost threshold; or the error model being associated with one or more of a perception system , a prediction system, or a planning system, each of which belongs to the autonomous vehicle;
The system of claim 10, wherein the at least one of
前記シナリオを決定すること
前記自律車両に関連付けられログデータを受信することと、
前記ログデータをクラスタリングして、第1のクラスタセットを決定することであって、前記第1のクラスタセットにおける個々のクラスタは、前記シナリオに関連付けられる、ことと、
前記第1のクラスタセットに少なくとも部分的に基づいて、前記個々のクラスタに関連付けられ確率を決定することと、
前記確率が確率閾値を満たすか、または超えることを決定して、前記シナリオを識別することと、
を含む請求項10または11に記載のシステム。
Determining the scenario includes:
receiving log data associated with the autonomous vehicle ;
clustering the log data to determine a first set of clusters , each cluster in the first set of clusters being associated with the scenario; and
determining a probability associated with each of the clusters based at least in part on the first set of clusters ;
determining whether the probability meets or exceeds a probability threshold to identify the scenario;
The system according to claim 10 or 11 , comprising:
前記エラーモデルは、
前記環境に関連付けられグラウンドトゥルースデータを受信することと、
前記グラウンドトゥルースデータを前記自律車両に関連付けられる前記ログデータと比較することに少なくとも部分的に基づいて、エラーを決定することと、
前記エラーに少なくとも部分的に基づいて、エラー分布を決定することと、
に少なくとも部分的に基づいて決定され、
前記エラーモデルは前記エラー分布を含む、
請求項12に記載のシステム。
The error model is
receiving ground truth data associated with the environment;
determining an error based at least in part on comparing the ground truth data to the log data associated with the autonomous vehicle; and
determining an error distribution based at least in part on the errors; and
Based at least in part on
the error model includes the error distribution ,
The system of claim 12 .
前記パラメータ化シナリオは第1のパラメータ化シナリオであり、前記摂動パラメータ化シナリオは第1の摂動パラメータ化シナリオであり、前記シミュレーションデータは第1のシミュレーションデータであり、前記操作は、
前記第1のシミュレーションデータに基づいて、前記シナリオパラメータの第1のサブセットまたは前記エラーモデルの第2のサブセットのうちの少なくとも1つを含む第2のパラメータ化シナリオを決定することであって、前記第1のサブセットは、前記シナリオパラメータに関連付けられた範囲または値のセットから選択された特定のグループであり、前記第2のサブセットは、前記自律車両の前記サブシステムに関連付けられた複数のエラーモデルから選択された特定のグループである、ことと、
前記第2のパラメータ化シナリオに摂動を与えることと、
第2のシミュレーションデータを受信することと、
前記第2のシミュレーションデータに少なくとも部分的に基づいて、前記安全性メトリックを更新することと、
をさらに含む、請求項10乃至13のいずれか一項に記載のシステム。
the parameterization scenario is a first parameterization scenario , the perturbation parameterization scenario is a first perturbation parameterization scenario , the simulation data is first simulation data , and the operation is
determining a second parameterized scenario including at least one of a first subset of the scenario parameters or a second subset of the error models based on the first simulation data , the first subset being a particular group selected from a set of ranges or values associated with the scenario parameters and the second subset being a particular group selected from a plurality of error models associated with the subsystems of the autonomous vehicle;
perturbing the second parameterization scenario;
receiving second simulation data;
updating the safety metric based at least in part on the second simulation data; and
The system of claim 10 , further comprising:
前記操作は、
前記シナリオパラメータまたは前記エラーモデルのうちの少なくとも1つという第1の部分を無効することと、
前記第2のシミュレーションデータを、無効されていない記シナリオパラメータまたは前記エラーモデルのうちの少なくとも1つという第2の部分に関連付けることと、
をさらに含む、請求項14に記載のシステム。
The operation is
invalidating a first portion of at least one of the scenario parameters or the error model;
Associating the second simulation data with a second portion of at least one of the scenario parameters or the error model that are not invalidated ;
The system of claim 14 further comprising:
JP2022519120A 2019-09-27 2020-09-17 Safety Analysis Framework Active JP7637673B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US16/586,838 US11625513B2 (en) 2019-09-27 2019-09-27 Safety analysis framework
US16/586,853 2019-09-27
US16/586,853 US11351995B2 (en) 2019-09-27 2019-09-27 Error modeling framework
US16/586,838 2019-09-27
PCT/US2020/051271 WO2021061488A1 (en) 2019-09-27 2020-09-17 Safety analysis framework

Publications (3)

Publication Number Publication Date
JP2022550058A JP2022550058A (en) 2022-11-30
JP2022550058A5 JP2022550058A5 (en) 2023-09-27
JP7637673B2 true JP7637673B2 (en) 2025-02-28

Family

ID=75166344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022519120A Active JP7637673B2 (en) 2019-09-27 2020-09-17 Safety Analysis Framework

Country Status (4)

Country Link
EP (1) EP4034439A4 (en)
JP (1) JP7637673B2 (en)
CN (1) CN114430722A (en)
WO (1) WO2021061488A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115731695B (en) * 2021-08-31 2025-07-11 北京原创世代互动科技有限公司 A method, device, equipment and storage medium for determining scene security level
US11955001B2 (en) 2021-09-27 2024-04-09 GridMatrix, Inc. Traffic near miss collision detection
WO2023049453A1 (en) * 2021-09-27 2023-03-30 GridMatrix Inc. Traffic monitoring, analysis, and prediction
CN114104000B (en) * 2021-12-16 2024-04-12 智己汽车科技有限公司 Dangerous scene evaluation and processing system, method and storage medium
EP4238844A4 (en) * 2022-01-21 2024-10-16 Morai Inc. Method and system for evaluating performance of autonomous driving algorithm
CN116680517B (en) * 2023-07-27 2023-09-29 北京赛目科技股份有限公司 Method and device for determining failure probability in automatic driving simulation test

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310803A (en) 2007-06-12 2008-12-25 Palo Alto Research Center Inc Double evaluation for early collision warning
JP2015140181A (en) 2014-01-29 2015-08-03 コンチネンタル オートモーティブ システムズ インコーポレイテッドContinental Automotive Systems, Inc. Method for minimizing brake intervention based on collision certainty factor
US20170286570A1 (en) 2016-03-30 2017-10-05 Toyota Jidosha Kabushiki Kaisha Dynamic Virtual Object Generation for Testing Autonomous Vehicles in Simulated Driving Scenarios
US20190155291A1 (en) 2016-12-23 2019-05-23 Faraday&Future Inc. Methods and systems for automated driving system simulation, validation, and implementation
US10373259B1 (en) 2014-05-20 2019-08-06 State Farm Mutual Automobile Insurance Company Fully autonomous vehicle insurance pricing

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014215980B4 (en) * 2014-08-12 2025-08-14 Volkswagen Aktiengesellschaft Motor vehicle with cooperative autonomous driving mode
US10496766B2 (en) 2015-11-05 2019-12-03 Zoox, Inc. Simulation system and methods for autonomous vehicles
US9734455B2 (en) * 2015-11-04 2017-08-15 Zoox, Inc. Automated extraction of semantic information to enhance incremental mapping modifications for robotic vehicles
DE102016009762A1 (en) * 2016-08-11 2018-02-15 Trw Automotive Gmbh Control system and control method for determining a likelihood of a lane change of a preceding motor vehicle
US10481044B2 (en) 2017-05-18 2019-11-19 TuSimple Perception simulation for improved autonomous vehicle control
US10725470B2 (en) * 2017-06-13 2020-07-28 GM Global Technology Operations LLC Autonomous vehicle driving systems and methods for critical conditions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310803A (en) 2007-06-12 2008-12-25 Palo Alto Research Center Inc Double evaluation for early collision warning
JP2015140181A (en) 2014-01-29 2015-08-03 コンチネンタル オートモーティブ システムズ インコーポレイテッドContinental Automotive Systems, Inc. Method for minimizing brake intervention based on collision certainty factor
US10373259B1 (en) 2014-05-20 2019-08-06 State Farm Mutual Automobile Insurance Company Fully autonomous vehicle insurance pricing
US20170286570A1 (en) 2016-03-30 2017-10-05 Toyota Jidosha Kabushiki Kaisha Dynamic Virtual Object Generation for Testing Autonomous Vehicles in Simulated Driving Scenarios
US20190155291A1 (en) 2016-12-23 2019-05-23 Faraday&Future Inc. Methods and systems for automated driving system simulation, validation, and implementation

Also Published As

Publication number Publication date
EP4034439A1 (en) 2022-08-03
WO2021061488A1 (en) 2021-04-01
EP4034439A4 (en) 2023-11-01
CN114430722A (en) 2022-05-03
JP2022550058A (en) 2022-11-30

Similar Documents

Publication Publication Date Title
US11625513B2 (en) Safety analysis framework
US11351995B2 (en) Error modeling framework
US11734473B2 (en) Perception error models
US11568100B2 (en) Synthetic scenario simulator based on events
US11574089B2 (en) Synthetic scenario generator based on attributes
US12097844B2 (en) Constraining vehicle operation based on uncertainty in perception and/or prediction
US11150660B1 (en) Scenario editor and simulator
JP7637673B2 (en) Safety Analysis Framework
US11628850B2 (en) System for generating generalized simulation scenarios
US11526721B1 (en) Synthetic scenario generator using distance-biased confidences for sensor data
US11415997B1 (en) Autonomous driving simulations based on virtual simulation log data
US11814059B1 (en) Simulating autonomous driving using map data and driving data
CN116917827A (en) Agent transformation in driving simulation
US12246734B1 (en) Vehicle constraint generation
US11814070B1 (en) Simulated driving error models
US12296858B2 (en) Hybrid log simulated driving
JP7662636B2 (en) Perceptual Error Model
WO2020264276A1 (en) Synthetic scenario generator based on attributes
US12451010B2 (en) Techniques for autonomous vehicle event mitigation
US12291240B1 (en) System for simulating an autonomous vehicle using a trajectory library and log data
US11480962B1 (en) Dynamic lane expansion
JP2025522708A (en) Right of way determination
US20250353488A1 (en) Dynamic parking location determining management
US12337870B1 (en) Heuristic and machine learning agents in driving simulations
JP2024509086A (en) Agent transformation in driving simulation

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230919

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241011

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: 20250121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250217

R150 Certificate of patent or registration of utility model

Ref document number: 7637673

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150