JP2024509086A - Agent transformation in driving simulation - Google Patents

Agent transformation in driving simulation Download PDF

Info

Publication number
JP2024509086A
JP2024509086A JP2023551105A JP2023551105A JP2024509086A JP 2024509086 A JP2024509086 A JP 2024509086A JP 2023551105 A JP2023551105 A JP 2023551105A JP 2023551105 A JP2023551105 A JP 2023551105A JP 2024509086 A JP2024509086 A JP 2024509086A
Authority
JP
Japan
Prior art keywords
simulation
agent
vehicle
driving
simulated
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.)
Pending
Application number
JP2023551105A
Other languages
Japanese (ja)
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 US17/184,169 external-priority patent/US20220266859A1/en
Priority claimed from US17/184,128 external-priority patent/US20220269836A1/en
Application filed by ズークス インコーポレイテッド filed Critical ズークス インコーポレイテッド
Publication of JP2024509086A publication Critical patent/JP2024509086A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • G09B9/02Simulators for teaching or training purposes for teaching control of vehicles or other craft
    • G09B9/04Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of land vehicles
    • G09B9/048Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of land vehicles a model being viewed and manoeuvred from a remote point

Abstract

本明細書では、車両制御システムの性能及び機能性を評価するためにログベースの運転シミュレーションを実行するための手法が述べられる。シミュレーションシステムは、環境内で動作する車両によって取り込まれたログデータに基づいて動作するプレイバックエージェントを含むログベースの運転シミュレーションを実行し得る。シミュレーションシステムは、プレイバックエージェントに関連付けられた相互作用を決定し得、運転シミュレーション中にプレイバックエージェントをスマートエージェントに変換し得る。運転シミュレーション中、スマートエージェントに変換されたプレイバックエージェントは、追加のプレイバックエージェントと相互作用し、追加の変換のカスケード効果を引き起こし得る。プレイバックエージェントをスマートエージェントに変換することは、スマートエージェントを制御するための計画コンポーネントを開始することを含み得、この計画コンポーネントは、プレイバックエージェントに基づく目的地及び/又は運転属性の決定に基づき得る。Described herein are techniques for performing log-based driving simulations to evaluate the performance and functionality of vehicle control systems. The simulation system may perform a log-based driving simulation that includes a playback agent that operates based on log data captured by vehicles operating within the environment. The simulation system may determine interactions associated with the playback agent and may transform the playback agent into a smart agent during a driving simulation. During a driving simulation, a playback agent transformed into a smart agent may interact with additional playback agents and cause a cascading effect of additional transformations. Converting the playback agent to a smart agent may include initiating a planning component for controlling the smart agent, which planning component is based on determining the destination and/or driving attributes based on the playback agent. obtain.

Description

本開示は、運転シミュレーションにおけるエージェント変換に関する。 The present disclosure relates to agent transformation in driving simulation.

本PCT国際出願は、2021年2月24日に出願され、「AGENT CONVERSIONS IN DRIVING SIMULATIONS」と題された米国特許出願第17/184128号、及び2021年2月24日に出願され、「SIMULATED AGENTS BASED ON DRIVING LOG DATA」と題された米国特許出願第17/184169号の優先権の利益を主張するものであり、これらの全内容は、あらゆる目的のために、参照によりその全体が本明細書に組み込まれる。 This PCT International Application is related to U.S. Patent Application No. 17/184128, filed on February 24, 2021, and entitled “AGENT CONVERSIONS IN DRIVING SIMULATIONS”; 17/184,169, entitled ``BASED ON DRIVING LOG DATA,'' the entire contents of which are hereby incorporated by reference in their entirety for all purposes. be incorporated into.

シミュレーションは、例えば、安全上の懸念、時間の制限、再現性などのために、現実の環境でテストすることが禁止され得るものを含む、システムの特徴及び機能性をテスト及び検証するために使用されることができる。例えば、自律車両は、乗客の安全性、車両の意思決定、センサーデータ分析、ルート最適化などに関して、車両制御システムの性能をテストし、改善するために運転シミュレーションが使用され得る。しかしながら、実世界のシナリオを正確に反映する運転シミュレーションは、そのようなシミュレーションを作成するために使用されるデータが、ノイズが多い、一貫性がない、又は不完全である可能性があるため、作成及び実行が困難であり、コストがかかる可能性がある。さらに、運転シミュレーションの実行には、評価対象の車両制御システム、シミュレーション環境内のエージェントやその他のオブジェクトなど、複数の異なる相互作用システム及び構成要素の実行が含まれる可能性があり、リソース及び計算コストがかかり得る。 Simulations are used to test and validate system features and functionality, including those that may be prohibited from testing in a real environment due to, for example, safety concerns, time limitations, reproducibility, etc. can be done. For example, autonomous vehicles may be used with driving simulation to test and improve the performance of vehicle control systems with respect to passenger safety, vehicle decision making, sensor data analysis, route optimization, etc. However, driving simulations that accurately reflect real-world scenarios are difficult to create because the data used to create such simulations can be noisy, inconsistent, or incomplete. Can be difficult and costly to create and implement. Additionally, running a driving simulation can involve running multiple different interacting systems and components, such as the vehicle control system being evaluated, agents and other objects within the simulation environment, and can be resource and computationally expensive. It can take a while.

詳細な説明は、添付の図を参照しながら説明される。図において、符号の最も左の桁は、符号が最初に現れる図を特定する。異なる図における同じ符号の使用は、類似又は同一の構成要素又は特徴を示す。 The detailed description will be explained with reference to the accompanying figures. In the figures, the left-most digit of a code identifies the figure in which the code first appears. The use of the same symbols in different figures indicates similar or identical components or features.

本開示の1つ又は複数の実施形態による、ログベースの運転シミュレーションを実行し、シミュレーション中にプレイバックエージェントをスマートエージェントに変換する例示的なプロセスを示している。3 illustrates an example process for performing a log-based driving simulation and converting a playback agent into a smart agent during the simulation in accordance with one or more embodiments of the present disclosure. 本開示の1つ又は複数の実施形態による、ログベースの運転シミュレーション中にエージェント間の相互作用を決定するための例示的な手法を示している。4 illustrates an example technique for determining interactions between agents during a log-based driving simulation in accordance with one or more embodiments of the present disclosure. 本開示の1つ又は複数の実施形態による、ログベースの運転シミュレーション中にエージェント間の相互作用を決定するための例示的な手法を示している。4 illustrates an example approach for determining interactions between agents during a log-based driving simulation in accordance with one or more embodiments of the present disclosure. 本開示の1つ又は複数の実施形態による、ログベースの運転シミュレーション中にエージェント間の相互作用を決定するための例示的な手法を示している。4 illustrates an example technique for determining interactions between agents during a log-based driving simulation in accordance with one or more embodiments of the present disclosure. 本開示の1つ又は複数の実施形態による、ログベースの運転シミュレーション中の4つの異なる時間におけるシーンを描いている。3 depicts scenes at four different times during a log-based driving simulation in accordance with one or more embodiments of the present disclosure. 本開示の1つ又は複数の実施形態による、ログベースの運転シミュレーション中の4つの異なる時間におけるシーンを描いている。4 depicts scenes at four different times during a log-based driving simulation in accordance with one or more embodiments of the present disclosure. 本開示の1つ又は複数の実施形態による、ログベースの運転シミュレーション中の4つの異なる時間におけるシーンを描いている。4 depicts scenes at four different times during a log-based driving simulation in accordance with one or more embodiments of the present disclosure. 本開示の1つ又は複数の実施形態による、ログベースの運転シミュレーション中の4つの異なる時間におけるシーンを描いている。4 depicts scenes at four different times during a log-based driving simulation in accordance with one or more embodiments of the present disclosure. 本開示の1つ又は複数の実施形態による、別のログベースの運転シミュレーション中の4つの異なる時間におけるシーンを示す図である。FIG. 3 illustrates scenes at four different times during another log-based driving simulation in accordance with one or more embodiments of the present disclosure. 本開示の1つ又は複数の実施形態による、別のログベースの運転シミュレーション中の4つの異なる時間におけるシーンを示す図である。FIG. 4 illustrates scenes at four different times during another log-based driving simulation in accordance with one or more embodiments of the present disclosure. 本開示の1つ又は複数の実施形態による、別のログベースの運転シミュレーション中の4つの異なる時間におけるシーンを示す図である。FIG. 3 illustrates scenes at four different times during another log-based driving simulation in accordance with one or more embodiments of the present disclosure. 本開示の1つ又は複数の実施形態による、別のログベースの運転シミュレーション中の4つの異なる時間におけるシーンを示す図である。FIG. 4 illustrates scenes at four different times during another log-based driving simulation in accordance with one or more embodiments of the present disclosure. 本開示の1つ又は複数の実施形態による、車両及びシミュレーションシステムを含むコンピューティング環境のブロック図である。1 is a block diagram of a computing environment that includes a vehicle and a simulation system in accordance with one or more embodiments of the present disclosure. FIG. 本開示の1つ又は複数の実施形態による、運転シミュレーション中にプレイバックエージェントをスマートエージェントに変換するための例示的なプロセスを示すフロー図である。FIG. 2 is a flow diagram illustrating an example process for converting a playback agent into a smart agent during a driving simulation in accordance with one or more embodiments of the present disclosure. 本開示の1つ又は複数の実施形態による、運転シミュレーション中にプレイバックエージェントをスマートエージェントにカスケード変換するプロセスの一例を示す流れ図である。2 is a flowchart illustrating an example process for cascading playback agents to smart agents during driving simulation in accordance with one or more embodiments of the present disclosure.

本明細書では、車両制御システムの機能及び性能を評価するためにログベースの運転シミュレーションを実行するための手法が論じられる。本明細書で述べられるいくつかの手法は、車両制御システムを実行し、動的シミュレーション環境に対する車両制御システムの応答を評価するように構成されたシミュレーションシステムを用いて、ログベースの運転シミュレーションを実行することを含む。ログベースの運転シミュレーションにおいて、シミュレーション環境は、実際の(例えば、非シミュレーション又は物理的な)環境で観察された対応するエージェントに関連付けられたログデータに基づいて動作するプレイバックエージェントを含み得る。例えば、環境を横断する現実の(例えば、非シミュレーションの)車両は、車両のセンサー及び/又は知覚システムによって収集されたログデータを格納する場合があり、これには、他の車両、自転車、歩行者などの車両によって観察されたエージェント及び他のオブジェクトを表すログデータが含まれ得る。シミュレーションシステムは、ログデータに基づいて、ログベースのシミュレーションを生成し、実行する場合があり、このシミュレーションでは、実際の環境で観察されるエージェントに対応するようにプレイバックエージェントが生成され、提供される。各プレイバックエージェントは、ログデータに表された対応するエージェントに基づいてもよく、シミュレーションにおいて、実環境で観察された対応するエージェントと同様又は同一の方法で動作してもよい。 Discussed herein are techniques for performing log-based driving simulations to evaluate the functionality and performance of vehicle control systems. Some techniques described herein perform log-based driving simulations using a simulation system configured to run a vehicle control system and evaluate the response of the vehicle control system to a dynamic simulation environment. including doing. In a log-based driving simulation, the simulation environment may include a playback agent that operates based on log data associated with a corresponding agent observed in a real (eg, non-simulated or physical) environment. For example, a real (e.g., non-simulated) vehicle traversing an environment may store log data collected by the vehicle's sensors and/or perception systems, including those of other vehicles, bicyclists, pedestrians, etc. Log data representing agents and other objects observed by vehicles such as persons may be included. A simulation system may generate and run a log-based simulation based on the log data, in which playback agents are generated and provided to correspond to agents observed in a real environment. Ru. Each playback agent may be based on a corresponding agent represented in the log data, and may operate in a similar or identical manner in the simulation to a corresponding agent observed in a real environment.

ログベースの運転シミュレーションの実行中、シミュレーションシステムは、ログデータの代わりに、又はログデータに加えて、1つ又は複数のプレイバックエージェントを、計画コンポーネントによって制御され得る「スマートエージェント」に変換する場合がある。プレイバックエージェントとは異なり、シミュレーション内のスマートエージェントは、シミュレーション環境に反応し、ログデータ内の対応するプレイバックエージェントの動作から偏差を有する動作決定又は動作を行う場合がある。例えば、スマートエージェントは、シミュレーション内の他のエージェントとの潜在的な相互作用(例えば、衝突)を検出し、相互作用を回避するために速度又は軌道を変更し得る。プレイバックエージェントは、ログに記録されたエージェントの行動に制限され、独立した意思決定能力を持たない場合がある。 During execution of a log-based driving simulation, the simulation system, instead of or in addition to the log data, converts one or more playback agents into "smart agents" that can be controlled by the planning component. There is. Unlike a playback agent, a smart agent in a simulation may react to the simulation environment and make behavioral decisions or actions that have deviations from the behavior of the corresponding playback agent in the log data. For example, a smart agent may detect potential interactions (eg, collisions) with other agents in the simulation and change speed or trajectory to avoid the interaction. Playback agents are limited to logged agent actions and may not have independent decision-making capabilities.

いくつかの例では、シミュレーションシステムは、ログベースのシミュレーションの実行を監視して、シミュレーション中にプレイバックエージェントと他のエージェントとの間で発生した、又は発生する予定の相互作用を決定する場合がある。プレイバックエージェントが関与する相互作用を検出したことに応答して、シミュレーションシステムは、プレイバックエージェントをスマートエージェントに変換する場合があり、スマートエージェントが相互作用を防止するためにシミュレーション内で必要に応じて経路を制御することを与える。プレイバックエージェントがスマートエージェントに変換された後、ログデータ中の対応するプレイバックエージェントの挙動から偏差を有することがあり得る。運転シミュレーションが継続されるにつれて、このような偏差は、スマートエージェントが追加のプレイバックエージェントと相互作用する結果となり、それにより、シミュレーションシステムは、相互作用に基づいて追加のプレイバックエージェントをスマートエージェントに変換する。その結果、運転シミュレーションの実行中に、プレイバックエージェントがスマートエージェントに変換されるカスケード効果が生じる場合がある。 In some examples, the simulation system may monitor log-based simulation execution to determine interactions that have occurred or will occur between the playback agent and other agents during the simulation. be. In response to detecting an interaction involving a playback agent, the simulation system may convert the playback agent to a smart agent, and the smart agent may perform actions as necessary within the simulation to prevent the interaction. It allows you to control the route. After a playback agent is converted into a smart agent, it may have deviations from the behavior of the corresponding playback agent in the log data. As the driving simulation continues, such deviations result in the smart agent interacting with additional playback agents, which causes the simulation system to assign additional playback agents to the smart agent based on the interaction. Convert. As a result, there may be a cascading effect in which playback agents are transformed into smart agents during the execution of a driving simulation.

さらに、いくつかの実装では、シミュレーションシステムは、ログデータを解析して、ログデータ内のプレイバックエージェントに関連付けられた動作、属性、及び/又は目的地を決定し得る。プレイバックエージェントがスマートエージェントに変換されると、シミュレーションシステムは、スマートエージェントの動作及び/又は動作を制御するための計画コンポーネントを実行する場合がある。場合によっては、スマートエージェントに対する計画コンポーネントの実行は、決定された目的地及び/又は関連付けられたプレイバックエージェントの運転挙動/属性に基づいて、計画コンポーネントを開始及び/又は制御することを含み得る。例えば、シミュレーションシステムは、プレイバックエージェントが通ったルート、及びルート中にプレイバックエージェントが実行した運転挙動及び動作を分析して、プレイバックエージェントの1つ又は複数の運転スタイル及び/又は運転者の個性タイプ(例えば、攻撃性メトリック、運転技能メトリック、反応時間メトリック、法令遵守メトリック等)を決定し得る。シミュレーションシステムは、プレイバックエージェントの目的地に基づいて、及び/又はプレイバックエージェントによって示された運転スタイル及び/又は運転手の個性に対応するパラメータに基づいて、スマートエージェントを制御するように計画コンポーネントを構成し得る。 Additionally, in some implementations, the simulation system may analyze the log data to determine behaviors, attributes, and/or destinations associated with the playback agents within the log data. Once the playback agent is converted to a smart agent, the simulation system may execute a planning component to control the operation and/or operation of the smart agent. In some cases, execution of the planning component for the smart agent may include initiating and/or controlling the planning component based on the determined destination and/or driving behavior/attributes of the associated playback agent. For example, the simulation system analyzes the route taken by the playback agent and the driving behaviors and actions performed by the playback agent during the route to improve one or more driving styles of the playback agent and/or the driver's driving style. Personality types (eg, aggression metrics, driving skill metrics, reaction time metrics, legal compliance metrics, etc.) may be determined. The simulation system includes a planning component to control the smart agent based on the destination of the playback agent and/or based on parameters corresponding to the driving style and/or personality of the driver indicated by the playback agent. can be configured.

本明細書で述べられる手法は、多くの方法で実装され得る。例示的な実装が図を参照して以下に提供される。特定の例は、自律車両及びログベースの運転シミュレーションの文脈で述べられているが、他の例では、本明細書で述べられる方法、装置、システム、コンピュータ可読媒体、及び/又は他の実装は、半自律又は非自律車両での利用、及び/又は航空又は航海の文脈内での利用など、他の様々な環境に適用され得る。 The techniques described herein can be implemented in many ways. An example implementation is provided below with reference to the figures. Although particular examples are described in the context of autonomous vehicles and log-based driving simulations, in other examples the methods, apparatus, systems, computer-readable media, and/or other implementations described herein may be used. , use in semi-autonomous or non-autonomous vehicles, and/or use within an aviation or navigational context.

図1は、シミュレーション中の1回又は複数回においてプレイバックエージェントをスマートエージェントに変換することを含む、ログベースの運転シミュレーションを実行する例示的なプロセス100を示している。様々な実装において、プロセス100の動作の一部又は全ては、以下でより詳細に説明されるシミュレーションシステムなどの運転シミュレーションシステムによって実行され得る。 FIG. 1 illustrates an example process 100 for performing a log-based driving simulation that includes converting a playback agent into a smart agent at one or more times during the simulation. In various implementations, some or all of the operations of process 100 may be performed by a driving simulation system, such as the simulation system described in more detail below.

動作102において、シミュレーションシステムは、環境を横断する車両に関連付けられたログデータを受信し得る。様々な例において、ログデータは、実環境又はシミュレートされた環境を横断する実車両又はシミュレートされた車両によって格納されるデータを含み得る。ボックス104に示されるように、車両106は、多数のエージェント108及び/又は他の追加のオブジェクトを含む環境を横断する場合がある。ログデータは、環境の特性、車両106の近接内で検出されたエージェント108、環境、エージェント、及び/又は他のオブジェクトの属性又は特性(例えば、分類、サイズ、形状、位置、ヨー、速度、軌道など)を識別するデータなど、車両106によって観察及び/又は知覚されたデータを含み得る。場合によっては、ログデータは、エージェント108及び他のオブジェクトの動作及び/又は挙動、ならびに、事故又は事故寸前、交通違反、歩行者、自転車、又は動物による横断又は信号無視、天候異常、工事区域、迂回路、スクールゾーンなど、車両106によって観測されたイベントを含み得る。これらの特定の事象や行動は、運転シミュレーションとして使用することが望ましい事象/行動のリストから指定されてよい。 At operation 102, the simulation system may receive log data associated with a vehicle traversing an environment. In various examples, log data may include data stored by a real or simulated vehicle traversing a real or simulated environment. As shown in box 104, vehicle 106 may traverse an environment that includes multiple agents 108 and/or other additional objects. Log data may include characteristics of the environment, agents 108 detected within proximity of vehicle 106, attributes or characteristics of the environment, agents, and/or other objects (e.g., classification, size, shape, position, yaw, velocity, trajectory). etc.) may include data observed and/or perceived by the vehicle 106. In some cases, log data includes information about the actions and/or behavior of agents 108 and other objects, as well as accidents or near-accidents, traffic violations, pedestrians, bicyclists, or animals crossing or ignoring traffic lights, weather abnormalities, construction zones, etc. It may include events observed by the vehicle 106, such as detours, school zones, etc. These specific events and actions may be designated from a list of events/actions that are desirable to be used as a driving simulation.

動作102で受信されるログデータは、境界ボックス、速度、分類、オブジェクト寸法、予測、オブジェクト追跡情報、制御信号など、生のセンサーデータ及び/又は車両106に関連付けられたセンサーデータに基づくデータを含み得る。ログデータに含まれ得る車両106によって生成されたデータの例は、例えば、「Interactions Between Vehicle and Teleoperations System」と題され、2017年7月7日に出願された米国特許出願第15/644267号、「Occupant Protection System Including Expandable Curtain and/or Expandable Bladder」と題され、2017年9月1日に出願された米国特許出願第15/693700号、「Executable Component Interface and Controller」と題され、2018年11月21日に出願された米国特許出願第16/198653号に記載されており、これらの各特許出願は、あらゆる目的のためにその全体が参照により本明細書に組み込まれる。 The log data received in operation 102 includes data based on raw sensor data and/or sensor data associated with vehicle 106, such as bounding boxes, speed, classification, object dimensions, predictions, object tracking information, control signals, etc. obtain. Examples of data generated by vehicle 106 that may be included in log data include, for example, U.S. patent application Ser. No. 15/693,700 entitled “Occupant Protection System Including Expandable Curtain and/or Expandable Bladder,” filed September 1, 2017; US patent application Ser.

いくつかの実装では、シミュレーションシステムは、動作102で受信されたログデータに基づいて、1つ又は複数のログベースの運転シミュレーションを生成し得る。ログベースの運転シミュレーションを生成するために、シミュレーション発生部は、動作102で受信されたログデータを使用して、シミュレータによって実行されると、シミュレートされた環境を生成するシミュレーション指令を生成し得る。ログベースの運転シミュレーションを生成するために使用され得る追加のログデータは、知覚データ、予測データ、及び/又は診断情報、軌道情報、及び車両106によって生成された他の情報を示す状態データを含むことができる。場合によっては、シミュレーション発生部は、ログデータ内で、環境内の静的及び/又は動的オブジェクト(例えば、エージェント108)、並びにオブジェクトの様々な属性及び挙動を特定することによって、シミュレーションシナリオを生成し得る。いくつかの例では、ログに基づくシミュレーションを生成するとき、シミュレーションシステムは、車両106との相互作用の閾値レベルを満たさない、又は超えないログに表されたオブジェクトを除外することができる。車両106との相互作用の閾値レベルを満たさない、又は超えないオブジェクトを除外することにより、シミュレーションシステムは、ログベースの運転シミュレーションを生成及び実行するのに必要な計算リソースの量を削減することができる。 In some implementations, the simulation system may generate one or more log-based driving simulations based on the log data received in operation 102. To generate a log-based driving simulation, the simulation generator may use the log data received in operation 102 to generate simulation instructions that, when executed by the simulator, generate a simulated environment. . Additional log data that may be used to generate log-based driving simulations includes perceptual data, predictive data, and/or state data indicative of diagnostic information, trajectory information, and other information generated by vehicle 106. be able to. In some cases, the simulation generator generates simulation scenarios by identifying static and/or dynamic objects in the environment (e.g., agents 108) and various attributes and behaviors of the objects in the log data. It is possible. In some examples, when generating a log-based simulation, the simulation system may exclude objects represented in the logs that do not meet or exceed a threshold level of interaction with the vehicle 106. By excluding objects that do not meet or exceed a threshold level of interaction with the vehicle 106, the simulation system can reduce the amount of computational resources required to generate and run the log-based driving simulation. can.

動作110において、シミュレーションシステムは、ログデータ内で検出されたエージェント108に基づくプレイバックエージェントを含む、ログベースの運転シミュレーションを実行する。様々な例において、ログベースの運転シミュレーションは、実世界で遭遇する可能性のあるシナリオと類似又は同一の様々なシミュレートされたシナリオに対するシミュレートされた車両の応答をテスト及び検証するために使用され得る。例えば、ログベースの運転シミュレーションは、様々なシミュレートされた環境、オブジェクト、及び/又はエージェントを用いて、正常又は異常な運転状態及び/又は車両状態をモデル化し得る。ログベースの運転シミュレーションは、異なる交通条件、環境条件、道路障害物、事故などをモデル化し、乗客の安全性、車両のルーティング、意思決定、効率性などをテスト及び検証し得る。特定の運転シミュレーションでは、車両上のセンサーの欠陥及び/又は不具合に対するシミュレーション車両の応答をテストすることもある。特定の運転シミュレーションは、シミュレートされた車両の個々の構成要素又はシステム(例えば、センサーデータ知覚コンポーネント、意思決定又は計画コンポーネントなど)をテストすることがあり、他の運転シミュレーションは、車両の様々な構成要素又はシステム間の相互作用を含むシミュレートされた車両全体をテストし得る。 In operation 110, the simulation system executes a log-based driving simulation that includes a playback agent based on the agent 108 detected in the log data. In various instances, log-based driving simulations are used to test and validate the response of a simulated vehicle to various simulated scenarios that are similar or identical to those that may be encountered in the real world. can be done. For example, a log-based driving simulation may use various simulated environments, objects, and/or agents to model normal or abnormal driving and/or vehicle conditions. Log-based driving simulations can model different traffic conditions, environmental conditions, road obstacles, accidents, etc. to test and verify passenger safety, vehicle routing, decision making, efficiency, etc. Certain driving simulations may also test the simulated vehicle's response to defective and/or malfunctioning sensors on the vehicle. Certain driving simulations may test individual components or systems of the simulated vehicle (e.g., sensor data perception components, decision-making or planning components, etc.); other driving simulations may test various components or systems of the vehicle. The entire simulated vehicle, including interactions between components or systems, may be tested.

ログベースの運転シミュレーションの実行中、シミュレーションシステムは、ログデータによって表される環境と類似又は同一の環境をシミュレートするために、シミュレーション指令のセットを実行することがある。ボックス112に示されるように、ログベースのシミュレーション中、シミュレートされた車両114は、1つ又は複数の車両制御システム(又は車両コントローラ)によって制御される場合があり、この車両制御システムは、シミュレートされた環境、オブジェクト、及びエージェントに応答して、シミュレートされた車両114の挙動を制御し得る。場合によっては、シミュレーションシステムのシミュレータコンポーネントは、シミュレーションシナリオを実行し、シミュレーションシナリオを実行するプロセスに対して、車両コントローラを実行するプロセスに、シミュレーション中のシミュレートされた車両114の動作及び挙動を表すデータを提供することによって応答し得る、シミュレートされた環境及びオブジェクトを表すデータを提供することがある。 During execution of a log-based driving simulation, the simulation system may execute a set of simulation instructions to simulate an environment similar or identical to the environment represented by the log data. As shown in box 112, during a log-based simulation, the simulated vehicle 114 may be controlled by one or more vehicle control systems (or vehicle controllers), which The behavior of the simulated vehicle 114 may be controlled in response to the simulated environment, objects, and agents. In some cases, the simulator component of the simulation system executes the simulation scenario and represents the motion and behavior of the simulated vehicle 114 during the simulation to the process executing the vehicle controller to the process executing the simulation scenario. Data may be provided representing a simulated environment and objects to which the user may respond by providing data.

ログベースの運転シミュレーションの開始において、シミュレートされたエージェントの各々は、最初はプレイバックエージェント116であり得る。上述したように、プレイバックエージェントは、非シミュレーション環境内で以前に収集されたログデータに基づいて動作するように構成される場合があり、したがって、シミュレーション内のプレイバックエージェント116は、ログデータ内の対応するエージェントの動作と同様又は同一の方法で動作し得る。以前に収集されたログデータは固定され不変であるため、シミュレートされた環境も、シミュレーション内のオブジェクト又はエージェントも、シミュレートされた車両114又はシミュレーション内の他のオブジェクトの挙動に反応又は応答するように構成されない可能性がある。従って、ボックス112に描かれた各エージェントは、ログベースシミュレーションの開始時にはプレイバックエージェント116であってもよく、固定された所定の方法で動作してもよい。 At the beginning of a log-based driving simulation, each of the simulated agents may initially be a playback agent 116. As discussed above, the playback agent may be configured to operate based on previously collected log data within a non-simulation environment, and thus the playback agent 116 within the simulation may may operate in a similar or identical manner to that of its corresponding agent. Because the previously collected log data is fixed and unchanging, neither the simulated environment nor any objects or agents within the simulation react or respond to the behavior of the simulated vehicle 114 or other objects within the simulation. It may not be configured as such. Accordingly, each agent depicted in box 112 may be a playback agent 116 at the beginning of a log-based simulation and may operate in a fixed, predetermined manner.

対照的に、ログベースの運転シミュレーションにおけるシミュレートされた車両114は、シミュレートされていない環境に関連付けられたログデータを収集したエージェント108とは異なる動作をする場合がある。いくつかの例では、エージェント108及びシミュレートされた車両114は、異なる車両タイプ(及び/又は異なるエージェントタイプ)であり得る。エージェント108及びシミュレートされた車両114が共に自律車両として実装される場合であっても、シミュレートされた車両114は、エージェント108のものとは異なる車両制御装置を含み得る。例えば、シミュレートされた車両114は、エージェント108によって使用されるソフトウェア及び/又はハードウェアシステムに関して、様々な異なる及び/又は更新されたソフトウェアシステム(例えば、知覚コンポーネント、計画コンポーネント等)を含んでもよく、又は異なる車両能力のセット、異なる計画/経路決定アルゴリズム、又は異なるセンサーシステム及び/又はセンサー構成を含んでもよい。従って、シミュレートされた車両114は、ログベースのシミュレーション内で、ログデータを取り込んだエージェント108とは異なる応答をする可能性がある。エージェント108とシミュレートされた車両114の車両コントローラ及び/又は他の車両ソフトウェア又はハードウェアシステム間のこのような相違は、ログベースのシミュレーションにおけるシミュレートされた車両114の挙動をエージェント108の挙動から偏差を有する可能性がある。この例では、シミュレートされた車両114は、シミュレーションシーン内のある位置でボックス112内に描かれており、車両外形118は、同じ相対時間におけるログデータ内のエージェント108の位置に対応する別の位置を示している。 In contrast, a simulated vehicle 114 in a log-based driving simulation may behave differently than an agent 108 that collected log data associated with a non-simulated environment. In some examples, agent 108 and simulated vehicle 114 may be different vehicle types (and/or different agent types). Even if agent 108 and simulated vehicle 114 are both implemented as autonomous vehicles, simulated vehicle 114 may include a different vehicle controller than that of agent 108. For example, simulated vehicle 114 may include a variety of different and/or updated software systems (e.g., perception components, planning components, etc.) with respect to the software and/or hardware systems used by agent 108. , or may include different sets of vehicle capabilities, different planning/routing algorithms, or different sensor systems and/or sensor configurations. Therefore, the simulated vehicle 114 may respond differently within a log-based simulation than the agent 108 that captured the log data. Such differences between the vehicle controller and/or other vehicle software or hardware systems of the agent 108 and the simulated vehicle 114 may cause the behavior of the simulated vehicle 114 in the log-based simulation to differ from the behavior of the agent 108. There may be deviations. In this example, a simulated vehicle 114 is drawn within a box 112 at one location within the simulation scene, and a vehicle outline 118 is drawn at another location corresponding to the location of the agent 108 within the log data at the same relative time. It shows the location.

シミュレートされた車両114は、例えば、シミュレートされたエージェント(エージェント108など)に対するシミュレートされた車両114の応答を決定することによってシミュレーションにおいてテストされる自律車両であることができる。シミュレーションにおいて、シミュレートされた車両114の様々な態様は、例えば、構成要素の新しいバージョンをテストするために(例えば、知覚、予測、及び/又は計画コンポーネントに関連して)変更されることができる。ログデータは、現実世界の運転条件及びエージェント相互作用を再現するためにシミュレーションに使用されることができる。しかしながら、シミュレートされた車両114がログデータに記録されたものと異なる動作をする場合、ログデータから作成されたエージェントもまた異なる相互作用をする可能性がある。シミュレーションの完全性を維持することは、シミュレートされた車両114と環境との相互作用の違いを考慮しつつ、エージェント(例えば、プレイバックエージェント)の現実世界の動作及び相互作用を維持することを含むことができる(例えば、スマートエージェントを介する)。 Simulated vehicle 114 can be, for example, an autonomous vehicle that is tested in a simulation by determining the response of simulated vehicle 114 to a simulated agent (such as agent 108). In the simulation, various aspects of the simulated vehicle 114 may be changed (e.g., with respect to perception, prediction, and/or planning components), for example, to test new versions of components. . Log data can be used in simulations to recreate real-world driving conditions and agent interactions. However, if the simulated vehicle 114 behaves differently than that recorded in the log data, the agent created from the log data may also interact differently. Maintaining the integrity of the simulation means preserving the real-world behavior and interactions of the agent (e.g., playback agent) while accounting for differences in the interaction of the simulated vehicle 114 with the environment. (e.g., via smart agents).

動作120において、シミュレーションシステムは、運転シミュレーション内のプレイバックエージェント116のいずれかが、偏差を有するノンプレイバックエージェントと相互作用するか否かを決定し得る。本明細書で使用されるように、偏差エージェントは、シミュレートされた車両114又はスマートエージェントなどの、運転シミュレーション内の状態がログデータ内の対応するエージェントの状態とは異なるエージェントを指す場合がある。例えば、シミュレートされた車両114の位置は、ログデータ内のエージェント108の対応する位置(車両外形118によって示される)とは異なるため、この例では、シミュレートされた車両114が偏差を有すると識別される場合がある。エージェントが偏差を有しているかどうかの決定は、この例のように位置の比較に基づいてもよく、及び/又は、シミュレートされたエージェントとログデータ内の対応するエージェントとの間のヨー、速度、軌道等の他の車両属性又は状態の比較に基づいてもよい。さらに、以下に説明するように、シミュレーションシステムは、偏差距離閾値、他のタイプの閾値比較(例えば、ヨー偏差閾値)、及び/又は複数の偏差基準の組み合わせを使用して、エージェントが偏差を有していると分類されるかどうかを決定することがある。 At act 120, the simulation system may determine whether any of the playback agents 116 within the driving simulation interact with non-playback agents that have a deviation. As used herein, a deviation agent may refer to an agent, such as a simulated vehicle 114 or a smart agent, whose state in the driving simulation differs from the state of the corresponding agent in the log data. . For example, the position of the simulated vehicle 114 is different from the corresponding position of the agent 108 in the log data (indicated by the vehicle outline 118), so in this example, if the simulated vehicle 114 has a deviation, may be identified. The determination of whether an agent has a deviation may be based on a comparison of position, as in this example, and/or yaw between the simulated agent and the corresponding agent in the log data. It may also be based on comparisons of other vehicle attributes or conditions such as speed, trajectory, etc. Additionally, as described below, the simulation system uses deviation distance thresholds, other types of threshold comparisons (e.g., yaw deviation thresholds), and/or a combination of multiple deviation criteria to determine whether the agent has a deviation. may determine whether it is classified as doing so.

シミュレーションシステムは、動作120において、ログベースのシミュレーションの実行中に定期的及び/又は連続的に決定を実行してもよく、プレイバックエージェント116と異なる偏差エージェントとの間の相互作用は、シミュレーション中の任意の時間に決定されてもよい。エージェント間の相互作用を決定するために、シミュレーションシステムは、境界ボックス及び/又は他の手法(例えば、パスポリゴン、コリドー等)を用いて、シミュレーション中の様々な時間におけるエージェントの位置を表し得る。いくつかの例では、エージェントの境界ボックスは、シミュレーション中の任意の時点について、その時点におけるエージェントのサイズ、位置、ヨー、及び/又は速度に基づいて決定され得る。シミュレーションシステムは、シミュレーション中の特定の時点における2つのエージェントの境界ボックス間の重なりに基づいて、2つのエージェント間の相互作用を決定し得る。従って、相互作用は、エージェントの境界ボックスが重なる時点において、2つのエージェント間の衝突、又は衝突の可能性もしくはニアミスを表し得る。 The simulation system may periodically and/or continuously perform the determination during execution of the log-based simulation in operation 120, and the interaction between the playback agent 116 and the different deviation agents may occur during the simulation. may be determined at any time. To determine interactions between agents, the simulation system may use bounding boxes and/or other techniques (eg, path polygons, corridors, etc.) to represent the positions of the agents at various times during the simulation. In some examples, an agent's bounding box may be determined for any point in time during the simulation based on the agent's size, position, yaw, and/or velocity at that time. The simulation system may determine interactions between two agents based on the overlap between the bounding boxes of the two agents at a particular point in time during the simulation. Thus, an interaction may represent a collision, or a potential collision or near miss, between two agents at the point where the bounding boxes of the agents overlap.

シミュレーションシステムが、シミュレーション中にプレイバックエージェント116が偏差エージェントと相互作用した(又は相互作用するであろう)と決定した場合(120:YES)、動作122において、シミュレーションシステムは、相互作用を回避するためにプレイバックエージェント116をスマートエージェントに変換し得る。例えば、ボックス124に示されるように、シミュレーションシステムは、シミュレートされた車両114の真後ろのプレイバックエージェントを、スマートエージェント126に変換している。この変換は、関連付けられたプレイバックエージェント116が、ログデータ(例えば、車両外形118)に基づいて予想された位置から偏差を有するシミュレートされた車両114と相互作用(例えば、衝突)したであろうという決定に基づいて実行されてもよい。相互作用するプレイバックエージェント116をスマートエージェント126に変換するとき、シミュレーションシステムは、スマートエージェント126のための計画コンポーネントを実行又は開始してもよく、計画コンポーネントを使用して、シミュレートされた環境を分析し、シミュレートされた環境を通るスマートエージェント126のための経路を決定してもよい。様々な例において、スマートエージェント126によって使用される計画コンポーネントは、シミュレートされた車両114によって使用される計画コンポーネントと同一であってもよいし、最小限の軌道調整で相互作用を回避するように構成されたコンポーネントの簡略化版であってもよい。例えば、スマートエージェント126が、スマートエージェントの直前のエージェントよりも速く移動している場合、所定の距離閾値において、計画コンポーネントは、スマートエージェント126の速度を低下させて、直前のエージェントの速度に一致させてもよい。他の場合において、コンポーネントは、スマートエージェント126に、他のエージェントとの相互作用を回避するために、シミュレーションにおいて、ブレーキ、ステアリング、一時停止、加速、又は他の航行操縦を実行させ得る。 If the simulation system determines that the playback agent 116 interacted (or will interact) with the deviation agent during the simulation (120: YES), in operation 122 the simulation system avoids the interaction. Playback agent 116 may be converted to a smart agent for this purpose. For example, as shown in box 124, the simulation system has converted the playback agent directly behind the simulated vehicle 114 into a smart agent 126. This transformation indicates that the associated playback agent 116 has interacted (e.g., collided) with a simulated vehicle 114 that has a deviation from the expected position based on log data (e.g., vehicle profile 118). may be performed based on a determination that the When converting an interacting playback agent 116 into a smart agent 126, the simulation system may execute or initiate a planning component for the smart agent 126, using the planning component to create a simulated environment. A path for smart agent 126 through the simulated environment may be analyzed and determined. In various examples, the planning component used by smart agent 126 may be the same as the planning component used by simulated vehicle 114, and may be configured to avoid interactions with minimal trajectory adjustments. It may be a simplified version of the configured component. For example, if smart agent 126 is moving faster than the agent immediately preceding it, at a predetermined distance threshold, the planning component may reduce the speed of smart agent 126 to match the speed of the agent immediately preceding it. It's okay. In other cases, the component may cause smart agent 126 to brake, steer, pause, accelerate, or perform other navigational maneuvers in the simulation to avoid interactions with other agents.

上述したように、ログベースの運転シミュレーションの開始において、シミュレーション内のエージェントの一部又は全部は、ログデータに基づいて挙動するプレイバックエージェント116であってもよく、及び/又は計画コンポーネントを含まなくてもよい。しかしながら、シミュレートされた車両114は、ログデータにおける対応するエージェント108の挙動からの偏差を引き起こす、異なる車両コントローラ及び/又は構成を含むことがある。シミュレートされた車両114の偏差は、シミュレーションシステムに、プレイバックエージェント116の1つ又は複数をスマートエージェントに変換させ得る。プレイバックエージェント116がスマートエージェント126に変換された後、シミュレートされた環境をナビゲートするためにログデータのみに依存するのではなく、計画コンポーネントを使用し始める場合がある。従って、運転シミュレーションが継続するにつれ、スマートエージェント126もまた、ログデータ中の対応するエージェント108と偏差を有する可能性がある。運転シミュレーションのこの期間中、シミュレートされた車両114及びスマートエージェント126の両方が、偏差エージェントである可能性があり、両方が、追加のプレイバックエージェント116と相互作用し、スマートエージェントへ変換され得る。いくつかの例では、その結果、プレイバックエージェントからスマートエージェントへの変換の連鎖効果が生じることがあり、その連鎖効果は、シミュレーション内で局所的に経過するまで一定期間継続することもあり、シミュレーションが終了するまで継続することもある。 As mentioned above, at the start of a log-based driving simulation, some or all of the agents in the simulation may be playback agents 116 that act based on log data and/or do not include a planning component. It's okay. However, the simulated vehicle 114 may include a different vehicle controller and/or configuration that causes deviations from the behavior of the corresponding agent 108 in the log data. Deviations in the simulated vehicle 114 may cause the simulation system to convert one or more of the playback agents 116 to smart agents. After the playback agent 116 is converted to a smart agent 126, it may begin using a planning component to navigate the simulated environment, rather than relying solely on log data. Therefore, as the driving simulation continues, the smart agent 126 may also have deviations from the corresponding agent 108 in the log data. During this period of driving simulation, both the simulated vehicle 114 and the smart agent 126 may be deviation agents, and both may interact with additional playback agents 116 and be converted to smart agents. . In some instances, this may result in a cascading effect of the conversion of playback agents to smart agents, which may last for a period of time until it lapses locally within the simulation. It may continue until the end.

シミュレーション中の現在時刻において、スマートエージェントに変換されるべきプレイバックエージェントが存在しない場合(120:NO)、動作128において、シミュレーションシステムは、シミュレーションの終了条件が満たされたか否かを決定し得る。シミュレーション終了条件には、例えば、シミュレーションの正常終了、コンポーネントのタイムアウト、シミュレーション内で発生した衝突又はエラー、或いはユーザーによるシミュレーションの手動終了が含まれ得る。シミュレーション終了条件が発生していない場合(128:NO)、プロセス100は動作110に戻り、シミュレーションを継続する。しかしながら、シミュレーション終了条件が発生した場合(128:YES)、動作130において、シミュレーションシステムはシミュレーションを終了し、シミュレーション結果を出力又は格納し得る。いくつかの例では、シミュレーション結果は、シミュレーション中のシミュレートされた車両114の挙動及び/又は性能を特定してもよく、これは、評価される車両制御装置の挙動及び/又は性能に対応してもよい。運転シミュレーションがバッチ又は一連のシミュレーションのうちの1つである場合、プロセス100は、動作102に戻り、シミュレートされた車両114について同じログデータ及び同じ車両制御装置を用いてバッチ又は一連の次のシミュレーションを実行してもよい。 If there are no playback agents to be converted to smart agents at the current time during the simulation (120: NO), then in operation 128 the simulation system may determine whether a termination condition for the simulation is met. Simulation termination conditions may include, for example, a successful termination of the simulation, a component timeout, a conflict or error occurring within the simulation, or manual termination of the simulation by a user. If the simulation termination condition has not occurred (128: NO), the process 100 returns to operation 110 and continues the simulation. However, if a simulation termination condition occurs (128: YES), the simulation system may terminate the simulation and output or store the simulation results in operation 130. In some examples, the simulation results may identify the behavior and/or performance of the simulated vehicle 114 during the simulation, which corresponds to the behavior and/or performance of the vehicle controller being evaluated. It's okay. If the driving simulation is one of a batch or series of simulations, the process 100 returns to operation 102 to perform the next batch or series of simulations using the same log data and the same vehicle controller for the simulated vehicle 114. A simulation may also be performed.

これらの例及び他の例に示されるように、本明細書で述べられる手法は、運転シミュレーションを生成及び実行するための多くの改善及び技術的利点を提供する。このような利点には、テストされる車両制御装置の変更に関してよりロバストでより耐久性のあるログベースのシミュレーションを提供することや、現実世界の運転シナリオをより正確に表すシミュレーションを提供することが含まれる。例えば、シミュレーションシステムによっては、ログベースシミュレーションの結果、シミュレートされた車両とプレイバックエージェントとが衝突した場合、そのシミュレーションは無効となり、シミュレーションテストバッテリから破棄され得る。その結果、このようなシステムにおけるログベースのテストは、シミュレートされた車両の車両コントローラに変更があるとシミュレーションが無効になる可能性があるため、短命であることが多く、すぐに古くなってしまう可能性がある。これに対して、本明細書に述べられる手法には、プレイバックエージェントを選択的にスマートエージェントに変換することが含まれるため、故障が少なく、介入や手動分析の必要性が少なく、より長期間にわたって動作し得る、より堅牢で耐久性のあるシミュレーションが提供され、それによって、使用可能なシミュレーションテストの数が増加し、シミュレーションシステムの効率と品質が向上する。 As illustrated in these and other examples, the techniques described herein provide many improvements and technical advantages for generating and performing driving simulations. These benefits include providing log-based simulations that are more robust and durable with respect to vehicle control changes being tested, and providing simulations that more accurately represent real-world driving scenarios. included. For example, in some simulation systems, if a log-based simulation results in a collision between a simulated vehicle and a playback agent, the simulation may be invalidated and discarded from the simulation test battery. As a result, log-based tests in such systems are often short-lived and quickly become obsolete, as changes to the vehicle controller of the simulated vehicle can invalidate the simulation. There is a possibility that it will be stored away. In contrast, the techniques described herein involve selectively converting playback agents into smart agents, resulting in fewer failures, less need for intervention and manual analysis, and longer lasting This provides a more robust and durable simulation that can operate over a long period of time, thereby increasing the number of available simulation tests and improving the efficiency and quality of the simulation system.

さらに、従来のシステムの中には、プレイバックエージェントではなく、多数の(又は専ら)スマートエージェントを含むシミュレーションを実行するものがある。このようなシステムでは、スマートエージェントは、シミュレーション中に衝突をうまく回避することができるが、場合によっては、より現実的で価値の低い運転シミュレーションを提供する可能性がある。例えば、プレイバックエージェントは、現実世界のログデータに基づいているため、予期しない予測不可能な運転をする可能性のある実際の運転手のいる環境をシミュレートする、より本格的なシナリオを提供することができるため、シミュレーション内ではスマートエージェントよりもプレイバックエージェントの方が有利な場合がある。さらに、ログベースのシミュレーション中にプレイバックエージェントがスマートエージェントに変換される場合、シミュレーションシステムは、スマートエージェントを制御するための限られたセンサー及び知覚データしか持っていない場合がある。さらに、プレイバックエージェントのスマートエージェントへの変換と、シミュレーション中のスマートエージェントの動作の計画コンポーネントの両方が、追加のコンピューティングリソースを必要とする場合があり、シミュレーションシステムの速度と効率が低下し、実行可能なシミュレーションの数が制限される。したがって、本明細書で述べられる手法は、限定的かつ選択的に、シミュレーション中に必要な場合にのみ、プレイバックエージェントをスマートエージェントに変換するものであり、シミュレーション中、より長い時間、より多くの数のプレイバックエージェントを保持し得る。 Additionally, some conventional systems run simulations that include multiple (or exclusively) smart agents rather than playback agents. In such systems, smart agents can successfully avoid collisions during simulation, but in some cases may provide a more realistic and less valuable driving simulation. For example, because the playback agent is based on real-world log data, it provides a more authentic scenario that simulates an environment with real drivers, who may drive in unexpected and unpredictable ways. playback agents may be more advantageous than smart agents in simulations. Furthermore, if playback agents are converted to smart agents during log-based simulation, the simulation system may have limited sensor and sensory data to control the smart agents. Additionally, both the conversion of playback agents into smart agents and the planning component of the smart agent's behavior during the simulation may require additional computing resources, reducing the speed and efficiency of the simulation system. The number of simulations that can be run is limited. Therefore, the approach described herein is limited and selective, converting playback agents into smart agents only when needed during simulation, allowing more time and more time during simulation. A number of playback agents may be maintained.

図2A~2Cは、ログベースの運転シミュレーション内のエージェントの相互作用を検出及び分析する手法を示している。上述したように、いくつかの実装において、シミュレーションシステムは、シミュレーション内でプレイバックエージェントと偏差を有するノンプレイバックエージェントとの間で相互作用が発生したことを決定することに基づいて、運転シミュレーション中にプレイバックエージェントをスマートエージェントに変更することがある。この例では、図2A~2Bは、2つのエージェントに関連付けられた軌道及び境界ボックスを使用して、運転シミュレーション内の2つのエージェント間の相互作用を検出する例を示している。図2Cは、運転シミュレーション内のエージェントとログデータ内の対応するエージェントとの間の距離に対応する、偏差を有するノンプレイバックエージェント(例えば、シミュレートされた車両又は別のスマートエージェント)に関連付けられた偏差距離を決定する。 2A-2C illustrate an approach to detecting and analyzing agent interactions within a log-based driving simulation. As described above, in some implementations, the simulation system performs a process during a driving simulation based on determining that an interaction has occurred between a playback agent and a non-playback agent that has a deviation within the simulation. The playback agent may be changed to a smart agent. In this example, FIGS. 2A-2B illustrate an example of detecting interactions between two agents in a driving simulation using trajectories and bounding boxes associated with the two agents. FIG. 2C shows an image associated with a non-playback agent (e.g., a simulated vehicle or another smart agent) with a deviation corresponding to the distance between the agent in the driving simulation and the corresponding agent in the log data. Determine the deviation distance.

図2A及び図2Bはそれぞれ、異なるシミュレーション又は同じシミュレーションの一部であってもよい運転シミュレーション200及び218を示している。これらの例では、シミュレーションシステムは、軌道に沿って進行するシミュレートされた車両と、異なる軌道に沿って進行するプレイバックエージェントとの間の潜在的な衝突を表す相互作用を決定するように構成され得る。これらの例では2つの車両のみが論じられているが、他の例では、シミュレーションシステムは、同様に、軌道、経路、境界ボックスの重なりを分析し、及び/又は、運転シミュレーション内の任意の2つのエージェント間の相互作用を決定するための本明細書に述べられる他の手法を実行し得る。このような相互作用は、プレイバックエージェントとシミュレートされた車両との間の相互作用、又はプレイバックエージェントとスマートエージェントとの間の相互作用を含み得る。 2A and 2B each illustrate driving simulations 200 and 218, which may be different simulations or part of the same simulation. In these examples, the simulation system is configured to determine interactions representing potential conflicts between a simulated vehicle traveling along a trajectory and a playback agent traveling along a different trajectory. can be done. Although only two vehicles are discussed in these examples, in other examples the simulation system may similarly analyze trajectory, path, bounding box overlap, and/or Other techniques described herein for determining interactions between two agents may be implemented. Such interactions may include interactions between a playback agent and a simulated vehicle or between a playback agent and a smart agent.

本例に示されるように、運転シミュレーション内の相互作用を決定するために、シミュレーションシステムは、運転シミュレーション内の車両に関連付けられた位置、軌道、サイズ、及び/又は空間領域を決定してもよく、車両の軌道とともにサイズ及び/又は空間領域を使用して、車両間の相互作用の可能性又は可能性を決定してもよい。図2Aに示されるように、シミュレーション200は、軌道204に沿って進行するシミュレートされた車両202と、軌道208に沿って進行するプレイバックエージェント206との間の相互作用分析を表している。いくつかの例では、シミュレーションシステムは、シミュレートされた車両202に関連付けられた任意の数の境界ボックス210及び212、ならびにプレイバックエージェント206に関連付けられた追加の境界ボックス214及び216を決定し得る。シミュレーションシステムは、それぞれの車両の寸法(例えば、長さ、幅、及び高さ)及び形状、ならびにそれぞれの車両の軌道及び結果として生じる車両の向きに基づいて、それぞれの境界ボックス210~216を決定してもよい。 As shown in this example, to determine interactions within the driving simulation, the simulation system may determine the location, trajectory, size, and/or spatial region associated with the vehicle within the driving simulation. , size and/or spatial area, along with vehicle trajectories, may be used to determine the likelihood or likelihood of interaction between vehicles. As shown in FIG. 2A, simulation 200 represents an interaction analysis between a simulated vehicle 202 traveling along a trajectory 204 and a playback agent 206 traveling along a trajectory 208. In some examples, the simulation system may determine a number of bounding boxes 210 and 212 associated with simulated vehicle 202 and additional bounding boxes 214 and 216 associated with playback agent 206. . The simulation system determines each bounding box 210-216 based on the dimensions (e.g., length, width, and height) and shape of each vehicle, as well as the trajectory of each vehicle and the resulting orientation of the vehicle. You may.

いくつかの例では、境界ボックス210~216は、それぞれの車両の投影方位領域を追加する安全バッファも含み得る。シミュレーションシステムは、それぞれの車両の車両分類、速度、ヨー、及び/又は他の属性に基づいて、境界ボックス210に追加する安全バッファのサイズ及び形状を決定し得る。例えば、シミュレーションシステムは、プレイバックエージェント206の知覚された軌道に沿った、プレイバックエージェント206の知覚されたエッジ(最前点と最後点、左端点と右端点)に基づいて、プレイバックエージェント206の知覚されたエッジの周りの追加の安全バッファを含む、境界ボックス214及び216の寸法を決定してもよい。様々な例において、より大きな安全バッファは、より高速の車両、より脆弱な車両/オブジェクト(例えば、自転車又は歩行者)、又はシミュレーションシステムがプレイバックエージェント206のサイズ、形状、軌道又は他の状態パラメータに関する知覚データの信頼性が低いシナリオに対して使用され得る。 In some examples, bounding boxes 210-216 may also include a safety buffer that adds to the projected orientation area of the respective vehicle. The simulation system may determine the size and shape of the safety buffer to add to bounding box 210 based on the vehicle classification, speed, yaw, and/or other attributes of each vehicle. For example, the simulation system may determine the playback agent's 206 position based on the playback agent's 206's perceived edges (frontmost and last points, leftmost and rightmost points) along the playback agent's 206's perceived trajectory. Bounding boxes 214 and 216 may be dimensioned to include additional safety buffers around the perceived edges. In various examples, a larger safety buffer may be due to faster vehicles, more vulnerable vehicles/objects (e.g., bicycles or pedestrians), or because the simulation system has a larger safety buffer due to the size, shape, trajectory, or other state parameters of the playback agent 206. It can be used for scenarios where the perceptual data on the sensor is unreliable.

図2Aにおいて、シミュレートされた車両202及びプレイバックエージェント206の位置は、運転シミュレーション中の特定の(例えば、現在の)時刻において描かれることがあり、境界ボックス210~216は、現在の時刻に続く2つの時間間隔における投影として示されている。この例では、境界ボックス210及び212はそれぞれ、現在時刻の後の第1の時刻(t=1)及び第2の時刻(t=2)におけるシミュレートされた車両202について描かれている。同様に、境界ボックス214及び216はそれぞれ、第1の時間(t=1)及び第2の時間(t=2)におけるプレイバックエージェント206について描かれている。この例に示されるように、シミュレーションシステムはまた、シミュレーションにおける後続の時間における境界ボックス210~216の投影領域を計算する際に、予測された車両の操縦(例えば、旋回)、及び車両の向き及び位置に対する対応する影響を考慮してもよい。 In FIG. 2A, the positions of simulated vehicle 202 and playback agent 206 may be depicted at a particular (e.g., current) time during a driving simulation, and bounding boxes 210-216 are depicted at the current time. Shown as projections at two subsequent time intervals. In this example, bounding boxes 210 and 212 are drawn for simulated vehicle 202 at a first time (t=1) and a second time (t=2) after the current time, respectively. Similarly, bounding boxes 214 and 216 are drawn for playback agent 206 at a first time (t=1) and a second time (t=2), respectively. As shown in this example, the simulation system also considers predicted vehicle maneuvers (e.g., turns) and vehicle orientation and Corresponding effects on position may also be considered.

いくつかの例では、シミュレーションシステムは、各時間間隔で、シミュレートされた車両202に関連付けられた境界ボックスと、プレイバックエージェント206に関連付けられた境界ボックスとを比較して、シミュレートされた車両202とプレイバックエージェント206との間の交差を示し得る重なりが存在するか否かを決定してもよい。この例では、シミュレーションシステムは、境界ボックス210及び214のサイズ、形状、及び位置を比較して、第1の時間(t=1)においてオーバーラップが存在しないと決定することができ、同様に、境界ボックス212及び216を比較して、第2の時間(t=2)においてオーバーラップが存在しないと決定し得る。したがって、例示のシミュレーション200において、シミュレーションシステムは、シミュレートされた車両202とプレイバックエージェント206との間に交差点が存在しないと決定してよい。 In some examples, the simulation system compares the bounding box associated with the simulated vehicle 202 and the bounding box associated with the playback agent 206 at each time interval to determine whether the simulated vehicle It may be determined whether there is an overlap that may indicate an intersection between 202 and playback agent 206. In this example, the simulation system may compare the size, shape, and position of bounding boxes 210 and 214 and determine that there is no overlap at a first time (t=1); Bounding boxes 212 and 216 may be compared to determine that there is no overlap at a second time (t=2). Accordingly, in the example simulation 200, the simulation system may determine that no intersection exists between the simulated vehicle 202 and the playback agent 206.

対照的に、図2Bは、軌道222に沿って進行するシミュレートされた車両220と、軌道226に沿って進行するプレイバックエージェント224との間の第2のシミュレーション218の相互作用分析を示している。上記の例と同様に、シミュレーションシステムは、各時間間隔で、シミュレートされた車両220に関連付けられた境界ボックスと、プレイバックエージェント224に関連付けられた境界ボックスとを比較して、重なりが存在するか否かを決定してよく、これは、シミュレートされた車両220とプレイバックエージェント224との間の交差を示し得る。この例では、シミュレーションシステムは、シミュレートされた車両220のための境界ボックス228~230のセットと、プレイバックエージェント224のための境界ボックス232~234の別のセットとを生成し得る。次に、シミュレーションシステムは、境界ボックス228及び232のサイズ、形状、及び位置を比較して、第1の時間(t=1)に重なりが存在するか否かを決定してもよく、同様に、境界ボックス230及び234を比較して、第2の時間(t=2)に重なりが存在するか否かを決定してもよい。この例に示すように、シミュレーション218のシミュレートされた車両220は、シミュレーション200のシミュレートされた車両202よりも高速で走行する可能性がある。しかしながら、プレイバックエージェント224の速度及び軌道は、シミュレーション200におけるプレイバックエージェント206の速度及び軌道と同じままであってもよい。その結果、図2Bに示されるように、境界ボックス230と234との間に重なりが存在し、シミュレーション218におけるシミュレートされた車両220とプレイバックエージェント224との間の相互作用(及び衝突の可能性)が示される。 In contrast, FIG. 2B shows an interaction analysis of a second simulation 218 between a simulated vehicle 220 traveling along a trajectory 222 and a playback agent 224 traveling along a trajectory 226. There is. Similar to the example above, at each time interval, the simulation system compares the bounding box associated with simulated vehicle 220 and the bounding box associated with playback agent 224 to determine if an overlap exists. , which may indicate an intersection between simulated vehicle 220 and playback agent 224 . In this example, the simulation system may generate a set of bounding boxes 228-230 for simulated vehicle 220 and another set of bounding boxes 232-234 for playback agent 224. The simulation system may then compare the size, shape, and position of bounding boxes 228 and 232 to determine whether an overlap exists at a first time (t=1), and similarly , bounding boxes 230 and 234 may be compared to determine whether an overlap exists at a second time (t=2). As shown in this example, simulated vehicle 220 of simulation 218 may be traveling faster than simulated vehicle 202 of simulation 200. However, the velocity and trajectory of playback agent 224 may remain the same as the velocity and trajectory of playback agent 206 in simulation 200. As a result, an overlap exists between bounding boxes 230 and 234, as shown in FIG. gender) is indicated.

上記の例では、離散的な時間間隔で境界ボックスを投影することによって相互作用を決定することが述べられたが、シミュレーションシステムは、他の例において様々な他の手法を実装してもよい。例えば、場合によっては、シミュレーションシステムは、車両のそれぞれの軌道に基づいて、各車両シミュレーション200及び218の投影された経路ポリゴン又は自由形状コリドーを決定してもよく、経路ポリゴン(又はコリドー)の重なりに基づいて決定された潜在的衝突ゾーン内で時間空間重なり解析を実行してもよい。例えば、2018年9月19日に出願された「Collision Prediction and Avoidance for Vehicles」と題された米国特許出願第16/136038号(その全体があらゆる目的のために参照により本明細書に述べられる)にさらに詳細に記載されるように、シミュレーションシステムは、車両の軌道間の交点と、車両に関連づけられた1つ又は複数のオフセット距離とに基づいて、車両間の潜在的な衝突ゾーンを決定してもよい。シミュレーションシステムは、車両の長さ及び/又は幅に基づいてオフセット距離を決定してもよく、また、安全バッファ又は車両が衝突しない安全な距離を表す他の距離を適用してもよい。例えば、シミュレートシステムは、各車両の予測移動通路の重なりに基づいて、潜在的衝突領域の寸法を定義するために使用されるオフセット距離を計算してもよく、測定は、車両の軌道の交点の前後の点に対して実行される。様々な例において、移動コリドーのサイズは、各車両の中心点から、及び/又は、軌道に沿った各車両の最前点及び最後点から測定されてよい。また、シミュレートされた車両は、潜在的な衝突領域のオフセット距離を計算する際に、車両の操縦(例えば、旋回)及び車両の位置への対応する影響を考慮してもよい。 Although the above example described determining interactions by projecting bounding boxes at discrete time intervals, the simulation system may implement various other techniques in other examples. For example, in some cases, the simulation system may determine projected path polygons or freeform corridors for each vehicle simulation 200 and 218 based on the respective trajectories of the vehicles, and the overlapping path polygons (or corridors). A spatio-temporal overlap analysis may be performed within the potential collision zone determined based on. See, for example, U.S. patent application Ser. As described in further detail in , the simulation system determines potential collision zones between the vehicles based on intersection points between the vehicles' trajectories and one or more offset distances associated with the vehicles. It's okay. The simulation system may determine the offset distance based on the length and/or width of the vehicle and may apply a safety buffer or other distance that represents a safe distance from which the vehicle will not crash. For example, the simulation system may calculate an offset distance that is used to define the dimensions of the potential collision area based on the overlap of each vehicle's predicted path of travel, and measurements are taken at the intersection of the vehicles' trajectories. is executed for the points before and after. In various examples, the size of the travel corridor may be measured from the center point of each vehicle and/or from the foremost and last points of each vehicle along the trajectory. The simulated vehicle may also consider vehicle maneuvers (eg, turns) and corresponding effects on the vehicle's position when calculating the offset distance of a potential collision area.

いくつかの例では、運転シミュレーションにおいてプレイバックエージェント(例えば、プレイバックエージェント224)とノンプレイバックエージェント(例えば、シミュレートされた車両220)との間の相互作用の後に、シミュレーションシステムは、相互作用に関連付けられたノンプレイバックエージェントの偏差距離を決定し得る。偏差距離決定の一例が、図2Cのシミュレーション218について図示されている。この例では、シミュレーション218における第2の時間(t=2)におけるシミュレートされた車両220とプレイバックエージェント224との間の相互作用を描写する境界ボックス230及び234が示されている。さらに、図2Cは、第2の時間(t=2)におけるシミュレートされた車両の位置236と、ログデータに表される対応するエージェント車両の位置238とを描いている。この例に示されるように、シミュレートされた車両220の機能/挙動がログデータ内の対応する車両の機能/挙動と異なるため、シミュレートされた車両220はログデータ内の位置から偏差距離240だけずれている。上述のように、シミュレートされた車両は、車両コントローラソフトウェア及び/又はハードウェアシステムの異なるバージョンに基づいてログデータから偏差を有することができ、スマートエージェントは、ログデータ内のドライバの決定から乖離する計画コンポーネントの決定に基づいてログデータから偏差を有することができる。しかしながら、いくつかの例では、シミュレートされた環境内をナビゲートするためのプレイバックエージェントの動作は、ログデータのみであってもよく、したがって、そのような例では、プレイバックエージェントは、ログデータ内の位置から偏差を有さなくともよい。 In some examples, after an interaction between a playback agent (e.g., playback agent 224) and a non-playback agent (e.g., simulated vehicle 220) in a driving simulation, the simulation system A deviation distance of a non-playback agent associated with a non-playback agent may be determined. An example of deviation distance determination is illustrated for simulation 218 in FIG. 2C. In this example, bounding boxes 230 and 234 are shown depicting the interaction between simulated vehicle 220 and playback agent 224 at a second time (t=2) in simulation 218. Further, FIG. 2C depicts the simulated vehicle position 236 and the corresponding agent vehicle position 238 as represented in the log data at a second time (t=2). As shown in this example, the simulated vehicle 220 deviates a distance 240 from its position in the log data because the function/behavior of the simulated vehicle 220 differs from the function/behavior of the corresponding vehicle in the log data. It's off by just that. As mentioned above, the simulated vehicle may have deviations from the log data based on different versions of the vehicle controller software and/or hardware system, and the smart agent may deviate from the driver's decisions in the log data. You can have deviations from the log data based on the planning component's decisions. However, in some instances, the playback agent's operations for navigating within the simulated environment may be solely based on logged data, and therefore, in such instances, the playback agent may There may be no deviation from the position in the data.

図2Cに示されるように、シミュレートされた車両220の位置236が、同じ相対時間におけるログデータ内の対応する車両の位置238と異なるため、シミュレーションシステムは、シミュレートされた車両220が偏差を有していると決定した。幾つかの例では、エージェントが偏差を有しているか否かを決定するために、シミュレーションシステムは、偏差距離240を偏差距離閾値(例えば、0.3メートル)と比較してもよく、偏差距離閾値以上の偏差を有しているエージェントは、偏差を有しているエージェントと決定され、返済離閾値未満の偏差を有しているエージェントは、偏差を有していないエージェントと決定されてもよい。いくつかの例では、エージェントの位置と対応するログデータとの間のいかなる偏差も偏差エージェントとしてシミュレーションシステムによって分類されるように、ゼロの偏差距離閾値が使用され得る。 As shown in FIG. 2C, because the position 236 of the simulated vehicle 220 differs from the position 238 of the corresponding vehicle in the log data at the same relative time, the simulation system detects that the simulated vehicle 220 has a deviation. It was decided that it had. In some examples, to determine whether the agent has a deviation, the simulation system may compare the deviation distance 240 to a deviation distance threshold (e.g., 0.3 meters), and the deviation distance An agent that has a deviation greater than or equal to a threshold may be determined to be an agent that has a deviation, and an agent that has a deviation that is less than a repayment separation threshold may be determined to be an agent that does not have a deviation. . In some examples, a deviation distance threshold of zero may be used such that any deviation between the agent's location and the corresponding log data is classified by the simulation system as a deviation agent.

加えて、この例では、偏差距離240の量に基づいて偏差エージェントを決定することが述べられているが、他の例では、偏差エージェントの決定は、エージェントのヨー偏差を決定し、ヨー偏差をヨー偏差閾値と比較することを含んでもよい。偏差距離、ヨー、及び/又はエージェントの他の属性(例えば、速度、軌道等)の偏差閾値は、場合によっては、予め定められた固定閾値であってもよい。他の場合では、シミュレーションシステムは、速度に基づくエージェント、及び/又は異なるタイプのエージェントに対して、異なる偏差閾値を使用し得る。例えば、歩行者エージェント、自転車エージェント、自動車エージェント、トラックエージェントなどは、それぞれ、どのエージェントを偏差エージェントとみなすかを決定するために、異なる偏差距離及び/又はヨー偏差閾値を有し得る。 Additionally, although this example describes determining the deviation agent based on the amount of deviation distance 240, in other examples, determining the deviation agent may determine the agent's yaw deviation, and determine the yaw deviation of the agent. It may include comparing to a yaw deviation threshold. The deviation threshold for deviation distance, yaw, and/or other attributes of the agent (eg, velocity, trajectory, etc.) may optionally be a predetermined fixed threshold. In other cases, the simulation system may use different deviation thresholds for velocity-based agents and/or different types of agents. For example, pedestrian agents, bicycle agents, car agents, truck agents, etc. may each have different deviation distance and/or yaw deviation thresholds to determine which agents are considered deviation agents.

図3A~3Dは、ログベースの運転シミュレーション300内の4つの異なるシーンを描いている。シーン302(図3A)は、第1の時間(t=0)におけるシミュレーション300の状態を表し得、シーン304(図3B)は、第2の時間(t=1)におけるシミュレーション300の状態を表し得、シーン306(図3C)は第3の時間(t=2)におけるシミュレーション300の状態を表し得、シーン308(図3D)は第4の時間(t=3)におけるシミュレーション300の状態を表し得る。シミュレーション300は、多数の追加エージェント及び他のオブジェクトを含むシミュレートされた環境内を走行するシミュレートされた車両310を含む。個々のシーン302~308を参照して後述されるように、この例のシミュレートされた車両310は、シミュレーション300内のいずれのプレイバックエージェントとも相互作用せず、したがって、シミュレーション300は、プレイバックエージェントのスマートエージェントへの変換をもたらさない。 3A-3D depict four different scenes within a log-based driving simulation 300. Scene 302 (FIG. 3A) may represent a state of simulation 300 at a first time (t=0), and scene 304 (FIG. 3B) may represent a state of simulation 300 at a second time (t=1). In this case, scene 306 (FIG. 3C) may represent the state of simulation 300 at a third time (t=2), and scene 308 (FIG. 3D) may represent the state of simulation 300 at a fourth time (t=3). obtain. Simulation 300 includes a simulated vehicle 310 driving within a simulated environment that includes a number of additional agents and other objects. As discussed below with reference to individual scenes 302-308, simulated vehicle 310 in this example does not interact with any playback agents within simulation 300, and therefore simulation 300 Does not result in the transformation of the agent into a smart agent.

シーン302に示されるように、シミュレートされた車両310は、多数の追加のエージェント及び他のオブジェクトを含むシミュレートされた環境において、交差点の手前の横断歩道で停止している。プレイバックエージェント312は、シミュレートされた車両310の真後ろの車両であり、シミュレートされた車両310に向かって移動しながら交差点に近づいている。 As shown in scene 302, a simulated vehicle 310 is stopped at a crosswalk before an intersection in a simulated environment that includes a number of additional agents and other objects. Playback agent 312 is a vehicle directly behind simulated vehicle 310 and is approaching an intersection while moving toward simulated vehicle 310 .

シーン304では、プレイバックエージェント312がシミュレートされた車両310の真後ろで停止しており、第2のプレイバックエージェント314が交差点に近づきながらプレイバックエージェント312に後方から接近している。 In scene 304, playback agent 312 is stopped directly behind simulated vehicle 310, and a second playback agent 314 approaches playback agent 312 from behind as it approaches an intersection.

シーン306では、シミュレートされた車両310及びプレイバックエージェント312は交差点で停止したままであり、追加のプレイバックエージェント314及び316も交差点でプレイバックエージェント312の後ろに並んで停止している。シーン306内のエージェント310~318は、交差点で、例えば、一時停止の標識で、信号が変わるのを待ち、横断歩道を渡る歩行者のために、横断歩道が途切れるのを待つなどしている場合がある。さらに、自転車プレイバックエージェント318及び歩行者プレイバックエージェント320がシーン306に示されており、これもまた、交差点を上方向に横断するのを待っている。 In scene 306, simulated vehicle 310 and playback agent 312 remain stopped at the intersection, with additional playback agents 314 and 316 also stopped alongside playback agent 312 at the intersection. Agents 310-318 in scene 306 may be at an intersection, for example, at a stop sign, waiting for the light to change, waiting for the crosswalk to break for a pedestrian to cross, etc. There is. Additionally, a bicycle playback agent 318 and a pedestrian playback agent 320 are shown in scene 306, also waiting to cross the intersection in an upward direction.

シーン308では、シミュレートされた車両310が移動を開始し、交差点で左折を行っている。また、プレイバックエージェント312、314、316も交差点に向かって前進しており、自転車プレイバックエージェント318と歩行者プレイバックエージェント320は、上方向の道路を横断するために前進している。 In scene 308, simulated vehicle 310 begins moving and is making a left turn at an intersection. Playback agents 312, 314, and 316 are also advancing toward the intersection, and bicycle playback agent 318 and pedestrian playback agent 320 are advancing to cross the road in an upward direction.

シミュレーション300の間、シミュレートされた車両310は、プレイバックエージェント312~320のいずれとも相互作用せず、その結果、プレイバックエージェント312~320のいずれも(又はシミュレーションに描かれた他のエージェントのいずれも)スマートエージェントに変換されない。場合によっては、シミュレーション300は、シミュレートされた車両310が、シミュレーション300が基づいているログデータ内の対応する車両の走行経路/挙動から大きい偏差を有さない(又は、全く偏差を有さない)シミュレーションを表し得る。他の場合には、シミュレートされた車両310は、ログデータ内の対応する車両から偏差を有し得るが、シミュレーション300内のプレイバックエージェント312~320のいずれかと相互作用を引き起こすような十分な偏差を有さない又は、偏差が無い可能性がある。 During the simulation 300, the simulated vehicle 310 does not interact with any of the playback agents 312-320 and, as a result, does not interact with any of the playback agents 312-320 (or any other agent depicted in the simulation). (none of them) are converted to smart agents. In some cases, the simulation 300 indicates that the simulated vehicle 310 does not have a significant deviation (or no deviation at all) from the driving path/behavior of the corresponding vehicle in the log data on which the simulation 300 is based. ) may represent a simulation. In other cases, the simulated vehicle 310 may have a deviation from the corresponding vehicle in the log data, but not enough to cause an interaction with any of the playback agents 312-320 within the simulation 300. There is no deviation or there is a possibility that there is no deviation.

図4A~4Dは、上述した運転シミュレーション300と同様の別の運転シミュレーション400内の4つの異なるシーンを示している。例えば、運転シミュレーション400は、運転シミュレーション300と同じログデータに基づいてもよく、同じシミュレートされた環境、同じシミュレートされたオブジェクト、及び同じ初期セットのプレイバックエージェントを含んでもよい。しかしながら、個々のシーン402~408を参照して後述するように、この例のシミュレートされた車両410は、シミュレーション300のシミュレートされた車両310とは異なる挙動を示す。シミュレートされた車両410の挙動の違いは、プレイバックエージェントとの相互作用の結果として生じ、シミュレーションシステムに、プレイバックエージェントのスマートエージェントへの変換のカスケードシーケンスを実行させることである。 4A-4D illustrate four different scenes within another driving simulation 400 similar to the driving simulation 300 described above. For example, driving simulation 400 may be based on the same log data as driving simulation 300 and may include the same simulated environment, the same simulated objects, and the same initial set of playback agents. However, as discussed below with reference to individual scenes 402-408, simulated vehicle 410 in this example behaves differently than simulated vehicle 310 in simulation 300. Differences in the behavior of the simulated vehicle 410 occur as a result of the interaction with the playback agent, causing the simulation system to perform a cascading sequence of transformation of the playback agent into a smart agent.

シーン402に示されるように、シミュレートされた車両410は、シミュレーション300に示されたのと同じ交差点の手前の同じ横断歩道で停止している。しかしながら、この例のシミュレートされた車両410は、前の例のシミュレートされた車両310より数フィート手前で停止している。シミュレートされた車両310とは異なり、この例のシミュレートされた車両410は、交差点前の横断歩道の手前で完全に停止している。プレイバックエージェント412は、シミュレートされた車両410の真後ろの車両であり、シミュレートされた車両410に向かって移動しながら交差点に近づいている。 As shown in scene 402, simulated vehicle 410 is stopped at the same crosswalk before the same intersection shown in simulation 300. However, simulated vehicle 410 in this example is stopped several feet in front of simulated vehicle 310 in the previous example. Unlike simulated vehicle 310, simulated vehicle 410 in this example comes to a complete stop before the crosswalk in front of the intersection. Playback agent 412 is a vehicle directly behind simulated vehicle 410 and is approaching an intersection while moving toward simulated vehicle 410 .

シーン404において、プレイバックエージェント412は、前の例のプレイバックエージェント312と同じ経路をたどった。しかしながら、シミュレートされた車両410が前の例よりも数フィート早く停止したため、シミュレーションシステムは、プレイバックエージェント412と偏差を有してシミュレートされた車両410との間に相互作用が生じると決定した。この例の相互作用は、交差点でより早く停止することによって偏差を有したプレイバックエージェント412とシミュレートされた車両410との間の追突の可能性である。その結果、衝突の可能性を防止するために、シミュレーションシステムは、エージェント412をスマートエージェントに変換し、シーン404に描かれているように、スマートエージェント412が、計画コンポーネントを使用して、シミュレートされた車両410との衝突の可能性を識別し、衝突の可能性を回避するために交差点で早めにブレーキをかけた。 In scene 404, playback agent 412 followed the same path as playback agent 312 in the previous example. However, because the simulated vehicle 410 stopped several feet earlier than in the previous example, the simulation system determines that an interaction will occur between the playback agent 412 and the simulated vehicle 410 with a deviation. did. The interaction in this example is the possibility of a rear-end collision between the playback agent 412 and the simulated vehicle 410 that had a deviation by stopping earlier at the intersection. As a result, to prevent possible collisions, the simulation system transforms the agent 412 into a smart agent, such that the smart agent 412 uses the planning component to identified the possibility of a collision with vehicle 410, and applied the brakes early at the intersection to avoid the possibility of a collision.

シーン406では、シミュレートされた車両410及びスマートエージェント412は、交差点で停止したままである。スマートエージェント412が交差点でより早くブレーキをかけた結果、シミュレーションシステムは、プレイバックエージェント414と現在偏差を有しているスマートエージェント412との間に別の相互作用(例えば、潜在的な追突)が生じると決定した。これに応じて、シミュレーションシステムは、エージェント414もスマートエージェントに変換し、スマートエージェント414は、スマートエージェント412との衝突の可能性を回避するために交差点で早めにブレーキをかけた。次に、エージェント414をスマートエージェントに変換した後、シミュレーションシステムは、プレイバックエージェント416と、今変動しているスマートエージェント414との間に別の相互作用が生じると決定する。従って、シミュレーションシステムは、エージェント416をスマートエージェントに変換し、スマートエージェント416は、スマートエージェント414との衝突の可能性を回避するために交差点で早めにブレーキをかける。 In scene 406, simulated vehicle 410 and smart agent 412 remain stopped at the intersection. As a result of the smart agent 412 braking earlier at the intersection, the simulation system determines that another interaction (e.g., a potential rear-end collision) between the playback agent 414 and the smart agent 412 that currently has the deviation It was decided that this would occur. In response, the simulation system also converted agent 414 into a smart agent, and smart agent 414 braked early at the intersection to avoid a possible collision with smart agent 412. Next, after converting agent 414 into a smart agent, the simulation system determines that another interaction occurs between playback agent 416 and the now varying smart agent 414. Therefore, the simulation system converts agent 416 into a smart agent, and smart agent 416 brakes early at the intersection to avoid a possible collision with smart agent 414.

シーン408では、シミュレートされた車両410が移動を開始し、交差点で左折を行っている。スマートエージェントに変換されたエージェント412、414、416も交差点に向かって前進している。しかしながら、シミュレーション300とは異なり、この例では、自転車エージェント418と歩行者エージェント420もスマートエージェントに変換されている。例えば、シーン408においてシミュレートされた車両410が交差点でより後方に停止し、及び/又はよりゆっくり加速するため、自転車プレイバックエージェント418のプレイバック軌道及び速度は、シーン408の直後の相互作用の西側の横断歩道において、より遅いとシミュレートされた車両410との相互作用を引き起こし得る。シミュレートされた車両410がログデータの対応する車両よりも遅れて横断歩道に到着した結果、シミュレーションシステムは、自転車再生エージェント418と偏差を有してシミュレートされた車両410との間で相互作用(例えば、自転車と車両の衝突の可能性)が生じると決定した。これに応じて、シミュレーションシステムはまた、自転車エージェント418をスマート自転車エージェントに変換し、スマート自転車エージェント418はシーン408の横断歩道で降車し、シミュレートされた車両410が交差点を通過してから横断できるようにした。次に、自転車エージェント418をスマート自転車エージェントに変換した後、シミュレーションシステムは、歩行者エージェント420と今や偏差を有したスマート自転車エージェント418との間に別の相互作用が生じると決定する。したがって、シミュレーションシステムは歩行者エージェント420をスマート歩行者エージェントに変換し、スマート自転車エージェントがスマート歩行者エージェント420の真正面に残っているため、スマート歩行者エージェント420はシーン408で歩き始めない。 In scene 408, simulated vehicle 410 begins moving and is making a left turn at an intersection. Agents 412, 414, and 416, which have been converted to smart agents, are also moving forward toward the intersection. However, unlike simulation 300, in this example bicycle agent 418 and pedestrian agent 420 have also been converted to smart agents. For example, because the simulated vehicle 410 in scene 408 stops further back at the intersection and/or accelerates more slowly, the playback trajectory and velocity of bicycle playback agent 418 will change for the interaction immediately following scene 408. At the western crosswalk, slower speeds may cause interaction with simulated vehicles 410. As a result of the simulated vehicle 410 arriving at the crosswalk later than the corresponding vehicle in the log data, the simulation system may interact between the bicycle regeneration agent 418 and the simulated vehicle 410 with a deviation. (e.g., a possible collision between a bicycle and a vehicle). Accordingly, the simulation system also converts bicycle agent 418 into a smart bicycle agent, which exits at the crosswalk in scene 408 and allows simulated vehicle 410 to pass through the intersection before crossing. I did it like that. Next, after converting bicycle agent 418 to a smart bicycle agent, the simulation system determines that another interaction occurs between pedestrian agent 420 and smart bicycle agent 418, which now has a deviation. Therefore, the simulation system converts pedestrian agent 420 into a smart pedestrian agent, and smart pedestrian agent 420 does not begin walking in scene 408 because the smart bicycle agent remains directly in front of smart pedestrian agent 420.

シミュレーション400によって例示されるように、同様のシミュレーション300とは対照的に、シミュレーションシステムが第1のプレイバックエージェントをスマートエージェントに変換するとき、第1のプレイバックエージェントと偏差を有したエージェント(例えば、シミュレートされた車両又はスマートエージェント)との間の相互作用の決定に基づいて、変換によって、スマートエージェントは、相互作用を防止するために、シミュレーション内で計画コンポーネントを使用し、その経路を独立して制御し得る。しかしながら、最初のプレイバックエージェントがスマートエージェントに変換された後、ログデータ内の対応するエージェントの挙動から偏差を有する可能性があり、その結果、運転シミュレーションが継続されるにつれて、スマートエージェントが追加のプレイバックエージェントと相互作用する可能性がある。このような、現在乖離しているスマートエージェントとの追加の相互作用により、シミュレーションシステムは、追加のプレイバックエージェントをスマートエージェントに変換し、その結果、運転シミュレーションの実行中に、プレイバックエージェントがスマートエージェントに変換されるというカスケード効果が生じ得る。 As illustrated by simulation 400, and in contrast to similar simulation 300, when the simulation system converts a first playback agent into a smart agent, an agent that has a deviation from the first playback agent (e.g. By transformation, the smart agent uses a planning component within the simulation to prevent interactions and makes its path independent can be controlled by However, after the initial playback agent is converted to a smart agent, it may have deviations from the behavior of the corresponding agent in the log data, resulting in additional smart agents being added as the driving simulation continues. May interact with playback agents. This additional interaction with the currently disassociated smart agent causes the simulation system to convert the additional playback agent into a smart agent, such that during the running of the driving simulation, the playback agent becomes smart. There can be a cascading effect of being converted into an agent.

図5は、本明細書に述べられる運転シミュレーションシステム及び手法を実装するために使用され得る例示的なコンピューティング環境500を示している。このコンピューティング環境500では、車両502と、ログベースの運転シミュレーションを生成及び実行するように構成されたシミュレーションシステム532とが含まれる。車両502は、自律車両の様々なソフトウェアベース及び/又はハードウェアベースのコンポーネントを含み得、物理的環境を横断する自律車両及び/又はログベースの運転シミュレーション内で動作するシミュレートされた車両を制御するために使用され得る。車両502は、本明細書で述べられる実車両及び/又はシミュレートされた車両又は車両制御装置のいずれか又は全てと類似又は同一であってもよい。いくつかの例では、車両502は、物理的環境を横断する車両に対応し、シミュレーションシステム532に提供され、ログベースシミュレーションを生成するために使用され得るログデータを取り込み、格納され得る。追加的又は代替的に、車両502は、1つ又は複数の別個の車両制御システムとして動作し、ログベースのドライビングシミュレーション中にシミュレーションシステム532と相互作用し、シミュレーションシステム532によって評価され得る。 FIG. 5 illustrates an example computing environment 500 that may be used to implement the driving simulation systems and techniques described herein. The computing environment 500 includes a vehicle 502 and a simulation system 532 configured to generate and execute a log-based driving simulation. Vehicle 502 may include various software-based and/or hardware-based components of an autonomous vehicle to control an autonomous vehicle traversing a physical environment and/or a simulated vehicle operating within a log-based driving simulation. can be used to Vehicle 502 may be similar or identical to any or all of the real and/or simulated vehicles or vehicle controls described herein. In some examples, vehicle 502 may correspond to a vehicle traversing a physical environment and may capture and store log data that may be provided to simulation system 532 and used to generate a log-based simulation. Additionally or alternatively, vehicle 502 may operate as one or more separate vehicle control systems and interact with and be evaluated by simulation system 532 during a log-based driving simulation.

少なくとも1つの例では、車両502は、オブジェクト知覚及び予測機能、経路計画及び/又は最適化を実行するように構成された自律車両又は半自律車両に対応し得る。例示的な車両502は、運転者(又は乗員)がいつでも車両を制御することが期待されない状態で、全移動のすべてのセーフティクリティカル機能を実行することができる車両を記述する、米国道路交通安全局によって発行されたレベル5の分類に従って動作するように構成された自律車両などの、運転者不在の車両であり得る。このような例では、車両502は、すべての駐車機能を含む、移動の開始から完了までのすべての機能を制御するように構成されることができるため、運転手及び/又はステアリングホイール、加速ペダル、及び/又はブレーキペダルなどの車両502を運転するための制御装置を含まなくてもよい。これは単なる一例であり、本明細書に述べられるシステム及び方法は、常に運転者が手動で制御する必要のある車両から、部分的又は完全に自律的に制御される車両までを含む、あらゆる地上走行車両、空中走行車両、又は水上走行車両に組み込まれてよい。 In at least one example, vehicle 502 may correspond to an autonomous or semi-autonomous vehicle configured to perform object perception and prediction functions, path planning and/or optimization. Exemplary vehicle 502 describes a vehicle that is capable of performing all safety-critical functions of the entire trip without the driver (or occupants) being expected to control the vehicle at any time, National Highway Traffic Safety Administration It may be a driverless vehicle, such as an autonomous vehicle configured to operate in accordance with the Level 5 classification issued by the United States. In such examples, the vehicle 502 may be configured to control all functions from initiation to completion of the trip, including all parking functions, such that the driver and/or steering wheel, accelerator pedal, etc. , and/or control devices for operating the vehicle 502, such as a brake pedal. This is just one example, and the systems and methods described herein are useful for any ground vehicle, including vehicles that always require manual control by a driver, to vehicles that are partially or fully autonomously controlled. It may be incorporated into a moving vehicle, an airborne vehicle, or a waterborne vehicle.

本例では、車両502は、車両コンピューティングデバイス504、1つ又は複数のセンサーシステム506、1つ又は複数のエミッタ508、1つ又は複数の通信接続部510、少なくとも1つの直接接続部512、及び1つ又は複数の駆動システム514を含むことができる。 In this example, the vehicle 502 includes a vehicle computing device 504, one or more sensor systems 506, one or more emitters 508, one or more communication connections 510, at least one direct connection 512, and One or more drive systems 514 may be included.

車両コンピューティングデバイス504は、1つ又は複数のプロセッサ516と、1つ又は複数のプロセッサ516と通信可能に結合されたメモリ518とを含むことができる。図示された例では、車両502は自律車両であるが、車両502は他のタイプの車両又はロボットプラットフォームであり得る。図示された例では、車両コンピューティングデバイス504のメモリ518は、定位コンポーネント520、知覚コンポーネント522、1つ又は複数のシステムコントローラ524、予測コンポーネント526、及び計画コンポーネント528を格納する。図5では、説明のためにメモリ518に存在するように描かれているが、定位コンポーネント520、知覚コンポーネント522、システムコントローラ524、予測コンポーネント526、及び計画コンポーネント528のうちの1つ又は複数は、追加的又は代替的に、車両502にアクセス可能であり得る(例えば、車両502から遠隔のメモリ上に格納されるか、又は他の方法でアクセス可能である)。 Vehicle computing device 504 may include one or more processors 516 and memory 518 communicatively coupled to one or more processors 516 . In the illustrated example, vehicle 502 is an autonomous vehicle, but vehicle 502 may be other types of vehicles or robotic platforms. In the illustrated example, memory 518 of vehicle computing device 504 stores a localization component 520, a perception component 522, one or more system controllers 524, a prediction component 526, and a planning component 528. Although depicted in FIG. 5 as residing in memory 518 for illustrative purposes, one or more of stereotaxic component 520, perception component 522, system controller 524, prediction component 526, and planning component 528 may include: Additionally or alternatively, it may be accessible to vehicle 502 (eg, stored on memory remote from vehicle 502 or otherwise accessible).

少なくとも1つの例では、定位コンポーネント520は、車両502の位置及び/又は向き(例えば、x-、y-、z-位置、ロール、ピッチ、又はヨーのうちの1つ又は複数)を決定するために、センサーシステム506からデータを受信する機能を含むことができる。例えば、定位コンポーネント520は、環境のマップを含み、及び/又は要求/受信することができ、マップ内の自律車両の位置及び/又は向きを継続的に決定することができる。いくつかの例において、定位コンポーネント520は、SLAM(simultaneous localization and mapping)、CLAMS(calibration, localization and mapping, simultaneously)、相対SLAM、バンドル調整、非線形最小二乗最適化などを利用して、画像データ、ライダーデータ、レーダーデータ、飛行時間データ、IMUデータ、GPSデータ、ホイールエンコーダーデータなどを受信し、自律車両の位置を正確に決定することができる。いくつかの例では、定位コンポーネント520は、軌道を生成するため、及び/又は、オブジェクトが1つ又は複数の横断歩道領域に近接していることを決定するため、及び/又は、本明細書で論じられるように、候補基準線を特定するために、自律車両の初期位置を決定するために、車両502の様々なコンポーネントにデータを提供することができる。 In at least one example, the orientation component 520 is configured to determine the position and/or orientation (e.g., one or more of x-, y-, z-position, roll, pitch, or yaw) of the vehicle 502. can include the ability to receive data from sensor system 506. For example, localization component 520 can include and/or request/receive a map of the environment and can continually determine the position and/or orientation of the autonomous vehicle within the map. In some examples, the localization component 520 utilizes simultaneous localization and mapping (SLAM), calibration, localization and mapping, simultaneously (CLAMS), relative SLAM, bundle adjustment, nonlinear least squares optimization, etc. It can receive lidar data, radar data, time-of-flight data, IMU data, GPS data, wheel encoder data, etc. to accurately determine the position of an autonomous vehicle. In some examples, the stereotaxic component 520 is configured to generate a trajectory and/or to determine that an object is proximate to one or more crosswalk areas; As discussed, data may be provided to various components of vehicle 502 to identify candidate reference lines and to determine an initial position of the autonomous vehicle.

いくつかの例では、また一般的には、知覚コンポーネント522は、オブジェクト検出、セグメンテーション、及び/又は分類を実行する機能を含むことができる。幾つかの例では、知覚コンポーネント522は、車両502に近接するエンティティの存在を示す、及び/又はエンティティのタイプ(例えば、車、歩行者、自転車、動物、建物、木、路面、縁石、歩道、停止信号、停止標識、不明等)としてのエンティティの分類を示す、処理されたセンサーデータを提供することができる。追加的又は代替的な例では、知覚コンポーネント522は、検出されたエンティティ(例えば、追跡対象物)及び/又はエンティティが配置されている環境に関連付けられた1つ又は複数の特性を示す、処理されたセンサーデータを提供することができる。いくつかの例では、エンティティに関連付けられた特性は、x位置(グローバル及び/又はローカル位置)、y位置(グローバル及び/又はローカル位置)、z位置(グローバル及び/又はローカル位置)、向き(例えば、ロール、ピッチ、ヨー)、エンティティのタイプ(例えば、分類)、エンティティの速度、エンティティの加速度、エンティティの範囲(サイズ)などを含み得るが、これらに限定されない。環境に関連する特性としては、環境内の別のエンティティの存在、環境内の別のエンティティの状態、時刻、曜日、季節、天候、暗さ/明るさの表示などが挙げられるが、これらに限定されない。 In some examples, and generally, perception component 522 may include functionality to perform object detection, segmentation, and/or classification. In some examples, perceptual component 522 indicates the presence of an entity in proximity to vehicle 502 and/or indicates the type of entity (e.g., car, pedestrian, bicycle, animal, building, tree, road surface, curb, sidewalk, Processed sensor data may be provided that indicates a classification of the entity as a stop light, stop sign, unknown, etc.). In additional or alternative examples, the perception component 522 includes a processed component that is indicative of one or more characteristics associated with the detected entity (e.g., tracked object) and/or the environment in which the entity is located. sensor data can be provided. In some examples, characteristics associated with an entity include x position (global and/or local position), y position (global and/or local position), z position (global and/or local position), orientation (e.g. , roll, pitch, yaw), type of entity (e.g., classification), velocity of the entity, acceleration of the entity, range (size) of the entity, and the like. Characteristics related to the environment include, but are not limited to, the presence of other entities in the environment, the state of other entities in the environment, time of day, day of the week, season, weather, darkness/lightness indications, etc. Not done.

いくつかの例では、メモリ518は、環境内をナビゲートするために車両502によって使用され得る1つ又は複数のマップを含むことができる。本開示の目的のために、マップは、トポロジー(交差点など)、道路、山脈、道路、地形、及び環境全般などの環境に関する情報を提供することができる、二次元、三次元、又はN次元でモデル化された任意の数のデータ構造とすることができるが、これらに限定されない。いくつかの例では、マップは、テクスチャ情報(例えば、色情報(例えば、RGB色情報、Lab色情報、HSV/HSL色情報)等)、強度情報(例えば、ライダー情報、レーダー情報等)、空間情報(例えば、メッシュに投影された画像データ、個々の「サーフェル」(例えば、個々の色及び/又は強度に関連付けられたポリゴン))、反射率情報(例えば、鏡面反射率情報、再帰反射率情報、BRDF情報、BSSRDF情報など)等を含むことができるが、これらに限定されない。一例では、マップは環境の三次元メッシュを含むことができる。いくつかの例では、マップは、マップの個々のタイルが環境の離散的な部分を表すように、タイル形式で格納されることができ、必要に応じてワーキングメモリにロードされることができる。 In some examples, memory 518 may include one or more maps that may be used by vehicle 502 to navigate within the environment. For purposes of this disclosure, a map can be defined in two, three, or N dimensions, which can provide information about the environment, such as topology (such as intersections), roads, mountain ranges, roads, terrain, and the environment in general. Any number of data structures may be modeled, including but not limited to. In some examples, the map includes texture information (e.g., color information (e.g., RGB color information, Lab color information, HSV/HSL color information, etc.), intensity information (e.g., lidar information, radar information, etc.), spatial information (e.g., image data projected onto a mesh, individual "surfels" (e.g., polygons associated with individual colors and/or intensities)), reflectance information (e.g., specular reflectance information, retroreflectance information) , BRDF information, BSSRDF information, etc.), but is not limited to these. In one example, the map may include a three-dimensional mesh of the environment. In some examples, the map can be stored in tile format and loaded into working memory as needed, such that individual tiles of the map represent discrete portions of the environment.

いくつかの例では、車両502は、少なくとも部分的にマップに基づいて制御されることができる。すなわち、マップは、定位コンポーネント520、知覚コンポーネント522、予測コンポーネント526、及び/又は計画コンポーネント528と関連付けられて使用され、車両502の位置を決定し、環境内のオブジェクトを識別し、及び/又は環境内をナビゲートするための経路及び/又は軌道を生成することができる。 In some examples, vehicle 502 can be controlled based at least in part on the map. That is, the map is used in conjunction with localization component 520, perception component 522, prediction component 526, and/or planning component 528 to determine the location of vehicle 502, identify objects in the environment, and/or Paths and/or trajectories can be generated for navigating within.

少なくとも1つの例では、車両コンピューティングデバイス504は、1つ又は複数のシステムコントローラ524を含むことができ、これらのシステムコントローラ524は、車両502のステアリング、推進、ブレーキ、安全、エミッタ、通信、及び他のシステムを制御するように構成されることができる。システムコントローラ524は、駆動システム514及び/又は車両502の他のコンポーネントの対応するシステムと通信及び/又は制御することができる。 In at least one example, vehicle computing device 504 may include one or more system controllers 524 that provide steering, propulsion, braking, safety, emitter, communications, and Can be configured to control other systems. System controller 524 may communicate with and/or control corresponding systems of drive system 514 and/or other components of vehicle 502 .

一般に、予測コンポーネント526は、環境内のオブジェクトに関連付けられた予測情報を生成する機能を含むことができる。一例として、予測コンポーネント526は、横断歩道領域(又はそうでなければ、道路を横断する歩行者に関連付けられた領域又は場所)に近接する歩行者が横断歩道領域を横断する、又は横断する準備をするときに、環境内の歩行者の位置を予測するように実装されることができる。別の例として、車両502が環境を横断する際に、他のオブジェクト(例えば、車両、自転車、歩行者など)の位置を予測するために、本明細書で論じられる手法を実装することができる。いくつかの例では、予測コンポーネント526は、対象オブジェクト及び/又は対象オブジェクトに近接する他のオブジェクトの属性に基づいて、そのような対象オブジェクトの1つ又は複数の予測位置、予測速度、予測軌道などを生成することができる。 Generally, prediction component 526 may include functionality to generate predictive information associated with objects in the environment. As an example, the prediction component 526 predicts that a pedestrian proximate to a crosswalk area (or otherwise an area or location associated with a pedestrian crossing the street) will cross or prepare to cross the crosswalk area. can be implemented to predict the location of pedestrians in the environment when As another example, the techniques discussed herein can be implemented to predict the position of other objects (e.g., vehicles, bicycles, pedestrians, etc.) as the vehicle 502 traverses the environment. . In some examples, prediction component 526 determines one or more predicted positions, predicted velocities, predicted trajectories, etc. of the target object based on attributes of the target object and/or other objects proximate to the target object. can be generated.

一般に、計画コンポーネント528は、環境を横断するために車両502が従うべき経路を決定することができる。例えば、計画コンポーネント528は、様々な経路及び軌道、ならびに様々な詳細レベルを決定することができる。例えば、計画コンポーネント528は、第1の場所(例えば、現在の場所)から第2の場所(例えば、目標の場所)まで移動する経路を決定することができる。この議論の目的のために、経路は、2つの場所間を移動するためのウェイポイントのシーケンスであり得る。非限定的な例として、ウェイポイントには、通り、交差点、全地球測位システム(GPS)座標などが含まれる。さらに、計画コンポーネント528は、第1の場所から第2の場所までの経路の少なくとも一部に沿って自律車両を誘導するための指令を生成することができる。少なくとも1つの例では、計画コンポーネント528は、ウェイポイントのシーケンスにおける第1のウェイポイントからウェイポイントのシーケンスにおける第2のウェイポイントへ自律車両を誘導する方法を決定することができる。いくつかの例では、指令は軌道、又は軌道の一部であり得る。いくつかの例では、複数の軌道は、後退する水平線の手法に従って実質的に同時に(例えば、技術的許容範囲内で)生成されることができ、複数の軌道のうちの1つが、車両502がナビゲートするために選択される。 Generally, planning component 528 can determine a route that vehicle 502 should follow to traverse the environment. For example, planning component 528 may determine various routes and trajectories and various levels of detail. For example, the planning component 528 can determine a route to travel from a first location (eg, a current location) to a second location (eg, a target location). For purposes of this discussion, a route may be a sequence of waypoints for traveling between two locations. By way of non-limiting example, waypoints include streets, intersections, Global Positioning System (GPS) coordinates, and the like. Further, the planning component 528 can generate instructions to guide 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 528 can determine how to guide the autonomous vehicle from a first waypoint in the sequence of waypoints to a second waypoint in the sequence of waypoints. In some examples, the command may be a trajectory, or a portion of a trajectory. In some examples, multiple trajectories can be generated substantially simultaneously (e.g., within technical tolerances) according to a receding horizon approach, and one of the multiple trajectories can be generated when vehicle 502 Selected to navigate.

いくつかの例では、計画コンポーネント528は、環境内のオブジェクトに関連付けられた予測位置に少なくとも部分的に基づいて、車両502の1つ又は複数の軌道を生成することができる。いくつかの例では、計画コンポーネント528は、線形時間論理及び/又は信号時間論理などの時間論理を使用して、車両502の1つ又は複数の軌道を評価することができる。 In some examples, planning component 528 can generate one or more trajectories for vehicle 502 based at least in part on predicted positions associated with objects in the environment. In some examples, planning component 528 may evaluate one or more trajectories of vehicle 502 using time logic, such as linear time logic and/or signal time logic.

理解されるように、本明細書で述べられるコンポーネント(例えば、定位コンポーネント520、知覚コンポーネント522、1つ又は複数のシステムコントローラ524、予測コンポーネント526、及び計画コンポーネント528)は、例示目的で分割されたものとして説明される。しかしながら、様々なコンポーネントによって実行される動作は、他の任意のコンポーネントにおいて組み合わせられるか、又は実行されることが可能である。さらに、ソフトウェアで実装されるとして説明したコンポーネントのいずれかはハードウェアで実装されることもでき、その逆も可能である。さらに、車両502に実装された任意の機能は、1つ又は複数の遠隔コンピューティングデバイス(例えば、シミュレートされたシステム532)、又は別のコンポーネント(及びその逆)に実装されることも可能である。 As will be appreciated, the components described herein (e.g., stereotactic component 520, perception component 522, one or more system controllers 524, prediction component 526, and planning component 528) have been separated for illustrative purposes. be described as something. However, the operations performed by the various components may be combined or performed in any other component. Additionally, any components described as being implemented in software can also be implemented in hardware, and vice versa. Additionally, any functionality implemented in vehicle 502 may also be implemented in one or more remote computing devices (e.g., simulated system 532) or another component (and vice versa). be.

少なくとも1つの例では、センサーシステム506は、飛行時間センサー、ライダーセンサー、レーダーセンサー、超音波トランスデューサ、ソナーセンサー、位置センサー(例えば、GPS、コンパスなど)、慣性センサー(例えば、慣性測定ユニット(IMU)、加速度計、磁力計、ジャイロスコープなど)、カメラ(RGB、IR、照度、深度など)、マイクロフォン、ホイールエンコーダ、環境センサー(温度センサー、湿度センサー、光センサー、圧力センサーなど)などを含むことができる。センサーシステム506は、これら又は他のタイプのセンサーのそれぞれの複数のインスタンスを含むことができる。例えば、飛行時間センサーは、車両502の角、前面、背面、側面、及び/又は上面に配置された個々の飛行時間センサーを含むことができる。別の例として、カメラセンサーは、車両502の外部及び/又は内部の様々な場所に配置された複数のカメラを含むことができる。センサーシステム506は、車両コンピューティングデバイス504に入力を提供することができる。追加的又は代替的に、センサーシステム506は、1つ又は複数のネットワーク530を介して、特定の頻度で、所定の期間の経過後に、ほぼリアルタイムで、1つ又は複数の外部コンピューティングデバイスに、センサーデータを送信することができる。 In at least one example, sensor system 506 includes a time-of-flight sensor, a lidar sensor, a radar sensor, an ultrasound transducer, a sonar sensor, a position sensor (e.g., GPS, compass, etc.), an inertial sensor (e.g., an inertial measurement unit (IMU), etc.). , accelerometers, magnetometers, gyroscopes, etc.), cameras (RGB, IR, illuminance, depth, etc.), microphones, wheel encoders, environmental sensors (temperature sensors, humidity sensors, light sensors, pressure sensors, etc.), etc. can. Sensor system 506 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 located on the corners, front, back, sides, and/or top of vehicle 502. As another example, camera sensors may include multiple cameras located at various locations on the exterior and/or interior of vehicle 502. Sensor system 506 can provide input to vehicle computing device 504. Additionally or alternatively, the sensor system 506 may communicate with one or more external computing devices via the one or more networks 530 at a certain frequency, after a predetermined period of time, in near real time. Sensor data can be transmitted.

車両502はまた、上述したように、光及び/又は音を放出するための1つ又は複数のエミッタ508を含むことができる。本例におけるエミッタ508は、車両502の乗客と通信するための内部音声及び映像エミッタを含む。限定ではなく例として、内部エミッタは、スピーカー、ライト、標識、ディスプレイスクリーン、タッチスクリーン、触覚エミッタ(例えば、振動及び/又は力フィードバック)、機械的アクチュエータ(例えば、シートベルトテンショナー、シートポジショナー、ヘッドレストポジショナーなど)などを含むことができる。本例におけるエミッタ508は、外部エミッタも含む。例示であって限定ではなく、本例における外部エミッタは、進行方向又は車両の動作の他のインジケータを知らせるためのライト(例えば、方向指示器、標識、ライトアレイなど)、及び歩行者又は他の近くの車両と聴覚的に通信するための1つ又は複数の音声エミッタ(例えば、スピーカー、スピーカーアレイ、ホーンなど)を含み、そのうちの1つ又は複数が音響ビームステアリング技術を含む。 Vehicle 502 may also include one or more emitters 508 for emitting light and/or sound, as described above. Emitter 508 in this example includes internal audio and video emitters for communicating with passengers of vehicle 502. By way of example and not limitation, internal emitters include speakers, lights, signage, display screens, touch screens, tactile emitters (e.g., vibration and/or force feedback), mechanical actuators (e.g., seatbelt tensioners, seat positioners, headrest positioners). etc.). Emitter 508 in this example also includes an external emitter. By way of example and not limitation, external emitters in this example include lights (e.g., turn signals, signs, light arrays, etc.) to signal heading or other indicators of vehicle movement, and pedestrian or other It includes one or more audio emitters (eg, speakers, speaker arrays, horns, etc.) for audibly communicating with nearby vehicles, one or more of which include acoustic beam steering technology.

車両502はまた、車両502と1つ又は複数の他のローカル又はリモートのコンピューティングデバイスとの間の通信を可能にする1つ又は複数の通信接続部510を含むことができる。例えば、通信接続部510は、車両502及び/又は駆動システム514上の他のローカルコンピューティングデバイスとの通信を容易にすることができる。また、通信接続部510は、車両が他の近くのコンピューティングデバイス(例えば、他の近くの車両、交通信号など)と通信することを可能にし得る。通信接続部510はまた、車両502が遠隔リモート操作コンピューティングデバイス又は他の遠隔サービスと通信することを可能にする。 Vehicle 502 may also include one or more communication connections 510 that enable communication between vehicle 502 and one or more other local or remote computing devices. For example, communications connection 510 may facilitate communication with other local computing devices on vehicle 502 and/or drive system 514. Communication connections 510 may also enable the vehicle to communicate with other nearby computing devices (eg, other nearby vehicles, traffic lights, etc.). Communications connection 510 also allows vehicle 502 to communicate with remote remote operating computing devices or other remote services.

通信接続部510は、車両コンピューティングデバイス504を別のコンピューティングデバイス又はネットワーク530などのネットワークに接続するための物理的及び/又は論理的インターフェースを含むことができる。例えば、通信接続部510は、IEEE 802.11規格によって定義された周波数を介するようなWi-Fiベースの通信、Bluetooth(登録商標)のような近距離無線周波数、セルラー通信(例えば、2G、3G、4G、4G LTE、5Gなど)、又はそれぞれのコンピューティングデバイスが他のコンピューティングデバイスとインターフェースすることを可能にする任意の適切な有線又は無線通信プロトコルを可能にすることができる。 Communication connections 510 may include physical and/or logical interfaces for connecting vehicle computing device 504 to another computing device or a network, such as network 530. For example, the communications connection 510 may be configured to support Wi-Fi-based communications such as through frequencies defined by the IEEE 802.11 standard, short-range radio frequencies such as Bluetooth®, cellular communications (e.g., 2G, 3G, etc.). , 4G, 4G LTE, 5G, etc.), or any suitable wired or wireless communication protocol that allows each computing device to interface with other computing devices.

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

駆動システム514は、高電圧バッテリ、車両を推進するためのモータ、バッテリからの直流電流を他の車両システムで使用するための交流電流に変換するインバータ、ステアリングモータ及びステアリングラック(電気式であり得る)を含むステアリングシステム、油圧又は電気アクチュエータを含むブレーキシステム、油圧及び/又は空気圧構成要素を含むサスペンションシステム、トラクションの損失を緩和し制御を維持するためにブレーキ力を分配するための安定性制御システム、HVACシステム、照明(例えば、車両の外部周囲を照らすヘッド/テールライトなどの照明)、及び1つ又は複数のその他のシステム(冷却システム、安全システム、車載充電システム、DC/DCコンバータなどのその他の電気構成要素、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなど)等の車両システムの多くを含むことができる。さらに、駆動システム514は、センサーシステムからデータを受信して前処理し、様々な車両システムの動作を制御することができる駆動システムコントローラを含むことができる。いくつかの例では、駆動システムコントローラは、1つ又は複数のプロセッサと、1つ又は複数のプロセッサと通信可能に結合されたメモリとを含むことができる。メモリは、駆動システム514の様々な機能性を実行するための1つ又は複数のコンポーネントを格納することができる。さらに、駆動システム514は、それぞれの駆動システムによる1つ又は複数の他のローカル又はリモートコンピューティングデバイスとの通信を可能にする1つ又は複数の通信接続部も含む。 Drive system 514 includes a high voltage battery, a motor to propel the vehicle, an inverter that converts direct current from the battery to alternating current for use in other vehicle systems, a steering motor, and a steering rack (which may be electric). ); braking systems including hydraulic or electric actuators; suspension systems including hydraulic and/or pneumatic components; stability control systems to distribute braking force to mitigate loss of traction and maintain control. , HVAC system, lighting (e.g., head/tail lights illuminating the exterior surroundings of the vehicle), and one or more other systems (cooling system, safety system, onboard charging system, DC/DC converter, etc.) electrical components, high voltage junctions, high voltage cables, charging systems, charging ports, etc.). Additionally, drive system 514 can include a drive system controller that can receive and preprocess data from sensor systems and control operation of various vehicle systems. In some examples, the drive system controller may include one or more processors and memory communicatively coupled to the one or more processors. Memory may store one or more components for performing various functionality of drive system 514. Additionally, drive systems 514 also include one or more communication connections that enable the respective drive system to communicate with one or more other local or remote computing devices.

少なくとも1つの例では、直接接続部512は、1つ又は複数の駆動システム514を車両502のボディと結合するための物理的インターフェースを提供することができる。例えば、直接接続部512は、駆動システム514と車両との間のエネルギー、流体、空気、データなどの伝達を可能にすることができる。場合によっては、直接接続部512は、駆動システム514を車両502の車体に解放可能に固定することができる。 In at least one example, direct connections 512 can provide a physical interface for coupling one or more drive systems 514 to the body of vehicle 502. For example, direct connection 512 can enable the transfer of energy, fluid, air, data, etc. between drive system 514 and a vehicle. In some cases, direct connection 512 can releasably secure drive system 514 to the body of vehicle 502.

少なくとも1つの例では、定位コンポーネント520、知覚コンポーネント522、1つ又は複数のシステムコントローラ524、予測コンポーネント526、及び計画コンポーネント528は、上述したように、センサーデータを処理することができ、1つ又は複数のネットワーク530を介して、それぞれの出力を、シミュレーションシステム532などの1つ又は複数の外部コンピューティングデバイスに送信することができる。少なくとも1つの例では、コンポーネントのそれぞれの出力は、特定の頻度で、所定の期間の経過後に、ほぼリアルタイムで、シミュレーションシステム532に送信されることができる。追加的又は代替的に、車両502は、生のセンサーデータ、処理されたセンサーデータ及び/又はセンサーデータの表現を含むセンサーデータを、ネットワーク530を介してシミュレーションシステム532に送信することができる。このようなセンサーデータは、特定の頻度、所定期間の経過後、ほぼリアルタイムなどで、ログデータ550の1つ又は複数のファイルとしてシミュレーションシステム532に送信することができる。 In at least one example, the orientation component 520, the perception component 522, the one or more system controllers 524, the prediction component 526, and the planning component 528 can process sensor data and one or more of the Each output can be sent via multiple networks 530 to one or more external computing devices, such as a simulation system 532. In at least one example, the output of each of the components can be sent to the simulation system 532 at a certain frequency, after a predetermined period of time, and in near real time. Additionally or alternatively, vehicle 502 may transmit sensor data, including raw sensor data, processed sensor data, and/or representations of sensor data, to simulation system 532 via network 530. Such sensor data may be transmitted to simulation system 532 as one or more files of log data 550, such as at a specified frequency, after a predetermined period of time, in near real time, etc.

上述したように、シミュレーションシステム532は、本明細書に述べられる様々なコンポーネント及びシステムを使用して、図1~4Dを参照し、上述した手法と同様又は同一の手法を、工程600及び700を参照して以下で実行するために、ログベースの運転シミュレーションなどの運転シミュレーションを生成及び実行し得る。シミュレーションシステム532は、車両502がシミュレートされた車両に対応する運転シミュレーションを実行するために、1つ又は複数の車両502と通信/相互作用し得る。この例では示されていないが、シミュレーションシステム532はまた、ログデータストア及び/又はシミュレートされた環境及びオブジェクトを含むシミュレーションシナリオを含んでもよい。様々な例において、シミュレーションシステム732は、車両502及び/又は他の車両制御システムからのシミュレーションに基づく応答の監視及び受信を含む、シミュレートされた車両のための運転シミュレーションを生成し、インスタンス化し、実行し得る。 As discussed above, simulation system 532 performs steps 600 and 700 using various components and systems described herein to perform techniques similar or identical to those described above with reference to FIGS. 1-4D. A driving simulation, such as a log-based driving simulation, may be generated and executed for reference and execution below. Simulation system 532 may communicate/interact with one or more vehicles 502 to perform a driving simulation in which vehicles 502 correspond to the simulated vehicle. Although not shown in this example, simulation system 532 may also include a log data store and/or a simulation scenario that includes simulated environments and objects. In various examples, simulation system 732 generates and instantiates a driving simulation for the simulated vehicle, including monitoring and receiving simulation-based responses from vehicle 502 and/or other vehicle control systems; It can be executed.

シミュレーションシステム532は、1つ又は複数のプロセッサ534と、1つ又は複数のプロセッサ534と通信可能に結合されたメモリ536とを含み得る。図示された例では、シミュレーションシステム532のメモリ536は、ログベースのシミュレーション発生器538と、ログベースの運転シミュレーションを実行するように構成されたシミュレータ540とを格納する。シミュレータ540は、エージェント相互作用モニタ542と、エージェント変換器544と、計画コンポーネント546と、プレイバックエージェント分析器548とを含む。本例において、エージェント相互作用モニタ542は、ログベースのシミュレーション中にエージェント及びシミュレートされた車両を追跡し、境界ボックスを生成し、シミュレーション中にエージェント間の相互作用を決定するための本明細書で述べられる機能を含み得る。エージェント変換器544は、ログベースの運転シミュレーション中にプレイバックエージェントをスマートエージェントに変換するための本明細書で述べられる機能を含み得る。計画コンポーネント546は、運転シミュレーション中にスマートエージェントに計画コンポーネントの機能を提供するための本明細書で述べられる機能を含み得る。例えば、関数、スレッド、又はプロセスが、シミュレーション中の各スマートエージェント変換について計画コンポーネント546内で開始され、シミュレーションされた環境を分析し、シミュレーションされた環境を通るスマートエージェントの経路を決定し得る。いくつかの例では、計画コンポーネント546は、スマートエージェントによる最小限の軌道調整で相互作用を回避するように構成された計画コンポーネント528の単純化されたバージョンであってもよい。プレイバックエージェント分析器548は、プレイバックエージェントによって取られた経路、車両状態、及びプレイバックエージェントによって実行された運転動作を分析して、プレイバックエージェントに対する1つ又は複数の運転スタイル及び/又は運転者の性格タイプを決定するための、本明細書に述べられる機能を含み得る。図5では、説明のためにメモリ536に存在するように描かれているが、システム及びコンポーネント538~548の一部又は全てが、追加的又は代替的に、遠隔に格納され、ネットワーク530を介してシミュレーションシステム532にアクセス可能であってもよいことが企図される。 Simulation system 532 may include one or more processors 534 and memory 536 communicatively coupled to one or more processors 534. In the illustrated example, memory 536 of simulation system 532 stores a log-based simulation generator 538 and a simulator 540 configured to perform log-based driving simulations. Simulator 540 includes an agent interaction monitor 542, an agent translator 544, a planning component 546, and a playback agent analyzer 548. In this example, agent interaction monitor 542 tracks agents and simulated vehicles during log-based simulations, generates bounding boxes, and uses the present invention to determine interactions between agents during simulations. may include the functionality described in . Agent converter 544 may include functionality described herein for converting playback agents into smart agents during log-based driving simulations. Planning component 546 may include functionality described herein for providing planning component functionality to a smart agent during a driving simulation. For example, a function, thread, or process may be initiated within the planning component 546 for each smart agent transformation during the simulation to analyze the simulated environment and determine the path of the smart agent through the simulated environment. In some examples, planning component 546 may be a simplified version of planning component 528 configured to avoid interactions with minimal trajectory adjustments by smart agents. Playback agent analyzer 548 analyzes the route taken by the playback agent, vehicle conditions, and driving actions performed by the playback agent to determine one or more driving styles and/or driving actions for the playback agent. may include the functions described herein for determining a person's personality type. Although depicted in FIG. 5 as residing in memory 536 for illustrative purposes, some or all of systems and components 538-548 may additionally or alternatively be stored remotely and communicated via network 530. It is contemplated that the simulation system 532 may be accessible to all users.

ログベースのシミュレーション発生器538は、本明細書で述べられる手法と同様又は同一の手法を使用して、ログベースの運転シミュレーションを生成し得る。例えば、ログベースのシミュレーション発生器538は、車両502及び/又は他の車両制御システムが以前に収集したログデータを受信し得る。ログデータは、物理的環境を横断する車両502によって取り込まれたデータに対応し得る。ログベースの運転シミュレーションを生成するために、ログベースシミュレーション発生器538は、受信したログデータを使用して、シミュレータ540によって実行されたときに、シミュレートされた環境及びシミュレートされたオブジェクト(例えば、エージェント)を生成するシミュレーション指令を生成し得る。ログベースのシミュレーションの実行中、シミュレータ540は、ログデータに基づいて、シミュレートされた環境及びオブジェクトデータを、シミュレートされた車両(例えば、車両502)に提供し得る。例えば、ログベースのシミュレーション発生器538は、ログデータを受信して分析し、環境内の特定のオブジェクト、及びそれらのオブジェクトに関連付けられた属性データ(例えば、サイズ、位置、軌道、ウェイポイントなど)を検出してもよく、シミュレータ540は、オブジェクトデータを、運転シミュレーションの実行中に車両502に送信され得るセンサーデータに変換してもよい。 Log-based simulation generator 538 may generate log-based driving simulations using techniques similar or identical to those described herein. For example, log-based simulation generator 538 may receive log data previously collected by vehicle 502 and/or other vehicle control systems. Log data may correspond to data captured by vehicle 502 as it traverses the physical environment. To generate a log-based driving simulation, log-based simulation generator 538 uses the received log data to generate a simulated environment and simulated objects (e.g., , agent). During execution of a log-based simulation, simulator 540 may provide simulated environment and object data to a simulated vehicle (eg, vehicle 502) based on log data. For example, log-based simulation generator 538 may receive and analyze log data to identify specific objects in the environment and attribute data associated with those objects (e.g., size, location, trajectory, waypoints, etc.). may be detected, and simulator 540 may convert the object data into sensor data that may be sent to vehicle 502 during the performance of the driving simulation.

場合によっては、ログベースのシミュレーション発生器538は、特定のオブジェクトが特性を有することを決定し、その特性をシミュレートされたオブジェクトに適用し得る。例示のみを目的として、ログデータは、オブジェクトが制限速度より約10マイル低い速度で走行し、ゆっくりと加速することを示すことができる。ログベースのシミュレーション発生器538は、オブジェクトがシミュレートされた車両であると決定し、シミュレートされた環境内の対応するシミュレートされたオブジェクトに慎重なオブジェクトモデルを適用してもよい。いくつかの例では、ログベースのシミュレーション発生器538は、ログデータ内の挙動データに基づいて、オブジェクトが攻撃的なオブジェクト、受動的なオブジェクト、中立的なオブジェクト、及び/又は他のタイプの挙動であると決定し、挙動(例えば、受動的な挙動、慎重な挙動、中立的な挙動、及び/又は攻撃的な挙動)に関連付けられた挙動指令をシミュレートされたオブジェクトに適用し得る。 In some cases, log-based simulation generator 538 may determine that a particular object has a property and apply that property to the simulated object. For purposes of example only, the log data may indicate that the object is traveling approximately 10 miles below the speed limit and accelerating slowly. Log-based simulation generator 538 may determine that the object is a simulated vehicle and apply a conservative object model to the corresponding simulated object in the simulated environment. In some examples, the log-based simulation generator 538 determines whether an object is an aggressive object, a passive object, a neutral object, and/or has other types of behavior based on behavioral data in the log data. and apply behavioral instructions associated with the behavior (eg, passive behavior, cautious behavior, neutral behavior, and/or aggressive behavior) to the simulated object.

いくつかの例では、シミュレータ540は、オブジェクトに関連付けられた属性に基づいて、ログデータで表されるオブジェクトをシミュレートされたシナリオから除去するためにフィルタを使用することができる。いくつかの例において、シミュレータ540は、オブジェクト/分類タイプ(自動車、歩行者、オートバイ、自転車など)、オブジェクトのサイズ(例えば、長さ、幅、高さ、及び/又は体積)、信頼度、トラックの長さ、オブジェクトとログデータを生成した車両との間の相互作用の量、及び/又は時間期間に基づいて、オブジェクトをフィルタリングすることができる。 In some examples, simulator 540 may use filters to remove objects represented in the log data from the simulated scenario based on attributes associated with the objects. In some examples, simulator 540 may include object/classification type (e.g., car, pedestrian, motorcycle, bicycle, etc.), object size (e.g., length, width, height, and/or volume), confidence level, track Objects can be filtered based on the length of the log, the amount of interaction between the object and the vehicle that generated the log data, and/or the time period.

例として、限定するものではないが、ログデータは、郵便受けや建物のような様々なサイズのオブジェクトを含むことができる。ログベースのシミュレーション発生器538は、建物のような3立方メートルの閾値体積に等しいかそれよりも大きい体積に関連付けられるオブジェクトがシミュレートされたシナリオで表され、郵便箱のような3立方メートル未満の体積に関連付けられるオブジェクトがシミュレートされたシナリオで表されないように、体積ベースのフィルタを使用することができる。いくつかの例において、ログベースのシミュレーション発生器538は、トラック長さ閾値を満たさないか、又は超えないトラック長さ(例えば、物理的距離又は期間に関連するデータ)を有するオブジェクトがシミュレートされたシナリオからフィルタリングされるトラック長さフィルタを使用することができる。この結果、データ取り込み時の検出不良に関連するオブジェクトが省かれたシミュレーションとすることができる。いくつかの例では、ログベースのシミュレーション発生器538は、ログデータに従った動き又は軌道に関連するオブジェクトがシミュレーションで表されるように、動きに基づくフィルタを使用することができる。ある例では、フィルタは組み合わせて、又は相互に排他的に適用することができる。 By way of example and not limitation, log data may include objects of various sizes, such as mailboxes and buildings. The log-based simulation generator 538 is represented in a simulated scenario in which objects are associated with a volume equal to or greater than a threshold volume of 3 cubic meters, such as a building, and objects with a volume less than 3 cubic meters, such as a mailbox. Volume-based filters can be used so that objects associated with the ``Device'' are not represented in the simulated scenario. In some examples, log-based simulation generator 538 determines whether an object with a track length (e.g., data related to physical distance or time period) that does not meet or exceed a track length threshold is simulated. A track length filter can be used that is filtered from a given scenario. As a result, it is possible to create a simulation in which objects related to poor detection during data acquisition are omitted. In some examples, log-based simulation generator 538 may use motion-based filters such that objects that are related to motion or trajectory according to the log data are represented in the simulation. In some examples, filters may be applied in combination or mutually exclusive.

いくつかの例では、ログベースのシミュレーション発生器538は、信頼度閾値を満たさないか、又は信頼度閾値を超えないオブジェクトをフィルタリングすることができる。例として、限定するものではないが、ログデータは、オブジェクトが歩行者の分類属性に関連付けられ、分類に関連付けられた信頼値が5%であることを示すことができる。ログベースのシミュレーション発生器538は、75%の信頼値閾値を有し、信頼値閾値に満たないか、又は信頼値閾値を超えない信頼値に基づいてオブジェクトをフィルタリングすることができる。いくつかの例では、ログベースのシミュレーション発生器538が、ユーザー生成フィルタによって示された1つ又は複数の属性閾値を満たさない、又は超えないオブジェクトをフィルタリングすることができるように、ユーザーは、1つ又は複数の属性閾値を含むユーザー生成フィルタを提供することができる。 In some examples, log-based simulation generator 538 may filter objects that do not meet or exceed a confidence threshold. By way of example and not limitation, the log data may indicate that the object is associated with a pedestrian classification attribute and that the confidence value associated with the classification is 5%. The log-based simulation generator 538 has a 75% confidence value threshold and can filter objects based on confidence values that are less than or above the confidence value threshold. In some examples, the user can perform one or more steps such that the log-based simulation generator 538 can filter objects that do not meet or exceed one or more attribute thresholds indicated by the user-generated filter. A user-generated filter can be provided that includes one or more attribute thresholds.

シミュレータ540は、シミュレーション指令のセットとして運転シミュレーションを実行し、シミュレーションデータを生成することができる。いくつかの例においては、シミュレータ540は、複数のシミュレートされたシナリオを同時に及び/又は並行して実行することができる。これにより、ユーザーは、シミュレーションを編集し、各シミュレーション間でバリエーションを有するシミュレーションの順列を実行することができる。さらに、シミュレータ540は、シミュレーションの結果を決定することができる。例えば、シミュレータ540は、テスト及び検証のためのシミュレーションで使用するために、ログベースの運転シミュレーションを実行することができる。シミュレータ540は、車両502がどのように実行(例えば、応答)したかを示すシミュレーションデータを生成し、シミュレーションデータを所定の結果と比較し、及び/又は、所定の規則/アサーションが破られたか/トリガーされたかを決定することができる。 Simulator 540 can perform driving simulations as a set of simulation commands and generate simulation data. In some examples, simulator 540 can execute multiple simulated scenarios simultaneously and/or in parallel. This allows the user to edit simulations and run permutations of simulations with variations between each simulation. Further, simulator 540 can determine the results of the simulation. For example, simulator 540 can perform log-based driving simulations for use in testing and validation simulations. Simulator 540 generates simulation data indicating how vehicle 502 performed (e.g., responded), compares the simulation data to predetermined results, and/or determines whether predetermined rules/assertions were violated/ It is possible to determine whether it has been triggered.

いくつかの例では、所定のルール/アサーションは、シミュレーションに基づくことができる(例えば、横断歩道に関する交通ルールは、横断歩道のシナリオに基づいて有効にすることができ、又は車線マーカーの横断に関する交通ルールは、停止した車両のシナリオに対して無効にすることができる)。場合によっては、シミュレータ540は、シミュレーションの進行に伴って、ルール/アサーションを動的に有効化及び無効化することができる。例えば、シミュレーション対象がスクールゾーンに近づくと、スクールゾーンに関連するルール/アサーションを有効にし、シミュレーション対象がスクールゾーンから離れると無効にすることができる。場合によっては、ルール/アサーションは、例えば、シミュレートされたシナリオで物体がどの程度の速さで加速できるかに関連する快適性メトリクスを含むことができる。 In some examples, the predetermined rules/assertions may be based on simulation (e.g., a traffic rule regarding a crosswalk may be enabled based on a crosswalk scenario, or a traffic rule regarding crossing a lane marker may be enabled based on a crosswalk scenario). Rules can be disabled for stopped vehicle scenarios). In some cases, simulator 540 can dynamically enable and disable rules/assertions as the simulation progresses. For example, rules/assertions related to the school zone may be enabled when the simulated subject approaches the school zone, and disabled when the simulated subject moves away from the school zone. In some cases, the rules/assertions may include, for example, comfort metrics related to how fast an object can accelerate in a simulated scenario.

車両502が所定の結果と一致する性能を発揮した(すなわち、自律制御装置は、それが行うはずであったことをすべて行った)と決定すること、及び/又は規則が破られなかったか、又はアサーションがトリガーされなかったと決定することに少なくとも部分的に基づいて、シミュレータ540は、車両502が成功したと決定することができる。車両502の性能が所定の結果と矛盾していた(すなわち、自律制御装置は、行うことになっていないことを行った)と決定すること、及び/又は、ルールが破られたか、又はアサーションがトリガーされたよりと決定することに少なくとも部分的に基づいて、シミュレータ540は、車両502が失敗したと決定することができる。したがって、シミュレーションの実行に少なくとも部分的に基づいて、シミュレーションデータは、上述のように、車両502が各シミュレーションにどのように応答するかを示し、シミュレーションデータに少なくとも部分的に基づいて、成功した結果又は失敗した結果を決定することができる。 determining that the vehicle 502 exhibited performance consistent with a predetermined outcome (i.e., the autonomous controller did everything it was supposed to do) and/or that no rules were broken; or Based at least in part on determining that the assertion was not triggered, simulator 540 may determine that vehicle 502 was successful. determining that the performance of the vehicle 502 was inconsistent with a predetermined outcome (i.e., the autonomous controller did something it was not supposed to do) and/or that a rule was broken or an assertion was made. Based at least in part on determining the triggered twist, simulator 540 may determine that vehicle 502 has failed. Accordingly, based at least in part on the execution of the simulations, the simulation data may indicate how the vehicle 502 responds to each simulation, as described above, and based at least in part on the simulation data, the simulation data may indicate successful outcomes. Or a failure result can be determined.

車両502のプロセッサ516及びシミュレーションシステム532のプロセッサ534は、本明細書で述べられるように、データを処理し動作を実行するための指令を実行することができる任意の適切なプロセッサであり得る。限定ではなく例として、プロセッサ516及び534は、1つ又は複数の中央処理装置(CPU)、グラフィック処理装置(GPU)、又は電子データを処理してその電子データをレジスタ及び/又はメモリに格納され得る他の電子データに変換する任意の他の装置又は装置の一部から構成されることができる。いくつかの例では、集積回路(例えば、ASICなど)、ゲートアレイ(例えば、FPGAなど)、及び他のハードウェアデバイスも、それらが符号化された指令を実装するように構成される限り、プロセッサとみなすことができる。 Processor 516 of vehicle 502 and processor 534 of simulation system 532 may be any suitable processor capable of processing data and executing instructions to perform operations, as described herein. By way of example and not limitation, processors 516 and 534 may include one or more central processing units (CPUs), graphics processing units (GPUs), or processors that process electronic data and store the electronic data in registers and/or memory. It can be comprised of any other device or part of a device that converts the data obtained into other electronic data. In some examples, integrated circuits (e.g., ASICs, etc.), gate arrays (e.g., FPGAs, etc.), and other hardware devices may also be integrated into the processor, so long as they are configured to implement the encoded instructions. It can be considered as

メモリ518及び536は、非一時的コンピュータ可読媒体の例である。メモリ518及び536は、本明細書で述べられる方法及び様々なシステムに帰属する機能を実施するためのオペレーティングシステム及び1つ又は複数のソフトウェアアプリケーション、指令、プログラム、及び/又はデータを格納することができる。様々な実装において、メモリは、静的ランダムアクセスメモリ(SRAM)、シンクロナスダイナミックRAM(SDRAM)、不揮発性/フラッシュ型メモリ、又は情報を格納することができる任意の他のタイプのメモリなど、任意の適切なメモリ技術を使用して実装することができる。本明細書で述べられるアーキテクチャ、システム、及び個々の要素は、他の多くの論理的、プログラム的、及び物理的構成要素を含むことができ、添付の図に示されるものは、本明細書の議論に関連する単なる例である。 Memories 518 and 536 are examples of non-transitory computer readable media. Memories 518 and 536 may store an operating system and one or more software applications, instructions, programs, and/or data for performing the functions ascribed to the methods and various systems described herein. can. In various implementations, the memory can be any type of memory, such as static random access memory (SRAM), synchronous dynamic RAM (SDRAM), non-volatile/flash memory, or any other type of memory that can store information. can be implemented using appropriate memory technology. The architectures, systems, and individual elements described herein may include many other logical, programmatic, and physical components, including those illustrated in the accompanying figures. Just an example relevant to the discussion.

図5は分散システムとして図示されているが、代替例では、車両502のコンポーネントをシミュレーションシステム532に関連付けることができ、及び/又はシミュレーションシステム532のコンポーネントを車両502に関連付けることができることに留意されたい。すなわち、車両502は、シミュレーションシステム532に関連付けられた機能の1つ又はを実行することができ、逆もまた同様である。さらに、シミュレータ540(及びそのサブコンポーネント)の態様は、本明細書で論じられるデバイス又はシステムのいずれかで実行されることができる。 Note that although FIG. 5 is illustrated as a distributed system, in alternative examples, components of vehicle 502 may be associated with simulation system 532 and/or components of simulation system 532 may be associated with vehicle 502. . That is, vehicle 502 may perform one or more of the functions associated with simulation system 532, and vice versa. Additionally, aspects of simulator 540 (and its subcomponents) can be implemented in any of the devices or systems discussed herein.

上述のように、シミュレーションシステム532は、車両502から受信したログデータ550を解析して、ログデータに表された車両及び他のオブジェクトに関連付けられた行動、属性、及び/又は目的地を決定し得る。いくつかの例では、シミュレーションシステム532は、ログデータ中のオブジェクトの挙動、属性、及び/又は目的地を使用して、シミュレーション中のスマートエージェントの対応する挙動、属性、及び/又は目的地を決定し得る。例えば、プレイバックエージェント分析器548は、ログデータ550を解析して、電動車両オブジェクト、非電動車両オブジェクト(例えば、自転車、スケートボードなど)、及び/又は歩行者オブジェクトを含む、環境内の任意の動的オブジェクトによって実行される1つ又は複数の挙動を特定し得る。ログデータから決定されたオブジェクト分類及びオブジェクト挙動に基づいて、プレイバックエージェントアナライザ548は、オブジェクトに関連付けられた属性(例えば、運転属性、性格属性、又は他の行動属性)を決定し得る。そして、計画コンポーネント546は、プレイバックエージェント分析器548によって決定されたオブジェクト属性を使用して、シミュレーション内のスマートエージェントを制御し、それによって、より現実的なエージェント動作及び意思決定を提供し、シミュレーションの全体的な品質及び価値を向上させ得る。 As described above, simulation system 532 analyzes log data 550 received from vehicle 502 to determine actions, attributes, and/or destinations associated with the vehicle and other objects represented in the log data. obtain. In some examples, the simulation system 532 uses the behaviors, attributes, and/or destinations of the objects in the log data to determine the corresponding behaviors, attributes, and/or destinations of the smart agent during the simulation. It is possible. For example, playback agent analyzer 548 may analyze log data 550 to identify any objects in the environment, including motorized vehicle objects, non-motorized vehicle objects (e.g., bicycles, skateboards, etc.), and/or pedestrian objects. One or more behaviors performed by a dynamic object may be identified. Based on the object classification and object behavior determined from the log data, playback agent analyzer 548 may determine attributes (eg, driving attributes, personality attributes, or other behavioral attributes) associated with the object. The planning component 546 then uses the object attributes determined by the playback agent analyzer 548 to control the smart agent within the simulation, thereby providing more realistic agent behavior and decision making, and the simulation can improve the overall quality and value of

ログデータに基づいてプレイバックエージェント分析器548によって決定された行動は、環境内のオブジェクトによって実行された(又は実行されなかった)任意の観察可能な行動を含み得る。動作は、オブジェクトによって実行された動作を定量化するバイナリ値及び/又は数値として表され得る。特定の例では、属性の異なる値を特定のエージェントについて記録されることができる。属性の値は、特定のエージェントの動作に対応し得る。例えば、属性の特定の範囲は、特定の動作に対応することができ、又は属性の値は、特定の動作に対応するように集約及び/又はスケーリングされることができる。いくつかの例では、プレイバックエージェント分析器548は、自動車オブジェクトのための1セットの挙動、自転車のための別の1セットの挙動、歩行者のための別の1セットの挙動など、オブジェクトの異なる分類に対して異なるタイプの挙動を決定し得る。プレイバックエージェントアナライザ548によって決定され得る挙動及び/又は属性のタイプの様々な例は、異なるオブジェクト分類について以下のセクションで説明される。 本明細書で述べられる挙動及び属性は非限定的な例であり、任意の追加のタイプのオブジェクトの挙動及び属性が他の例で使用可能であることが、本開示の文脈から理解され得る。 The actions determined by playback agent analyzer 548 based on log data may include any observable actions performed (or not performed) by objects in the environment. Actions may be expressed as binary values and/or numbers that quantify actions performed by an object. In a particular example, different values of an attribute may be recorded for a particular agent. The value of an attribute may correspond to a particular agent's behavior. For example, a particular range of an attribute may correspond to a particular behavior, or values of an attribute may be aggregated and/or scaled to correspond to a particular behavior. In some examples, the playback agent analyzer 548 determines the behavior of the object, such as one set of behaviors for a car object, another set of behaviors for a bicycle, and another set of behaviors for a pedestrian. Different types of behavior may be determined for different classifications. Various examples of the types of behaviors and/or attributes that may be determined by playback agent analyzer 548 are described in the sections below for different object classifications. It can be understood from the context of this disclosure that the behaviors and attributes described herein are non-limiting examples, and that any additional types of object behaviors and attributes can be used in other examples.

ログデータ550に表される各自動車(例えば、自動車、トラック、バス、オートバイなど)について、プレイバックエージェント分析器548は、車両に関連付けられたログデータ550に取り込まれた車両の位置、軌道、速度、姿勢データ、及び/又は他の車両属性に基づいて、様々な異なる運転行動を決定し得る。車両のログデータ550から決定される運転挙動の例には、制限速度に対する車両の速度、停止線(例えば、停止標識、交通信号、横断歩道など)に対する車両の停止距離が含まれ得る。運転挙動の追加例には、車両が自転車専用レーン、バス専用レーン、又はタクシー専用レーンを走行するかどうか、車両が車線分割又は車線共有を使用するかどうか、車両が路肩又は駐車レーンを走行するかどうかが含まれる。運転挙動の他の例としては、車両が行うあらゆる交通違反を挙げられ得る。運転挙動の他の例には、車両の平均(又は好ましい)加速及び制動、車両の最大加速及び制動、車両の平均(又は好ましい)巡航速度、車両の最大及び最小巡航速度、車両の平均及び/又は最大許容ギクシャク度測定値などの快適性パラメータを含められ得る。追加の運転挙動には、潜在的な相互作用に応答して車両に観察される反応時間、又は推定軌道走査距離(例えば、相互作用のために車両が前方をどの程度走査するか)が含まれ得る。別の運転挙動には、一時停止標識や横断歩道で車両が停止している間、車両が移動を再開するまでの停止遅延時間が含まれ得る。別の運転挙動は、車両に車線変更又はエージェントの追い越しをさせる車両前方のエージェントの速度に対応する低速許容パラメータが含まれ得る。追加の運転挙動には、車両が分岐点で曲がる前に方向指示器を使用するかどうか、車両が方向指示器を使用する分岐点手前の距離、車両が車線変更前に方向指示器を使用するかどうか、車両が方向指示器を使用する車線変更手前の距離など、車両の信号パラメータが含まれ得る。 For each vehicle (e.g., car, truck, bus, motorcycle, etc.) represented in log data 550, playback agent analyzer 548 determines the vehicle's position, trajectory, and speed as captured in log data 550 associated with the vehicle. A variety of different driving behaviors may be determined based on , attitude data, and/or other vehicle attributes. Examples of driving behavior determined from vehicle log data 550 may include the vehicle's speed relative to speed limits, the vehicle's stopping distance relative to stop lines (eg, stop signs, traffic lights, crosswalks, etc.). Additional examples of driving behavior include whether the vehicle travels in a bicycle lane, bus lane, or taxi lane, whether the vehicle uses lane splitting or lane sharing, and whether the vehicle travels on the shoulder or parking lane. Includes whether or not. Other examples of driving behavior may include any traffic violations committed by the vehicle. Other examples of driving behavior include vehicle average (or preferred) acceleration and braking, vehicle maximum acceleration and braking, vehicle average (or preferred) cruising speed, vehicle maximum and minimum cruising speed, vehicle average and/or braking. Or comfort parameters such as maximum allowable jerkiness measurements may be included. Additional driving behavior may include the observed reaction time of the vehicle in response to a potential interaction, or the estimated trajectory scan distance (e.g., how far forward the vehicle will scan due to the interaction). obtain. Another driving behavior may include a stop delay before the vehicle resumes movement while the vehicle is stopped at a stop sign or crosswalk. Another driving behavior may include a low speed tolerance parameter corresponding to the speed of an agent in front of the vehicle that causes the vehicle to change lanes or pass the agent. Additional driving behaviors include whether the vehicle uses the turn signal before turning at a fork, the distance before the turn that the vehicle uses the turn signal, and whether the vehicle uses the turn signal before changing lanes. Vehicle signaling parameters may be included, such as whether the vehicle uses turn signals and the distance before changing lanes.

ログデータ550に表された歩行者及び/又は他の車両以外のオブジェクト(例えば、自転車、スケートボード等)に対して、プレイバックエージェント分析器548は、オブジェクトの位置、軌道、速度、姿勢、及び/又は他の属性を使用して、自動車について上述したのと同じ動作のいずれかを決定し得る。さらに、代替的に、プレイバックエージェント分析器548は、オブジェクト分類に基づいて、環境内のオブジェクトに対する異なる動作セットを決定し得る。車両以外のオブジェクトについてログデータ550から決定される動作の例には、オブジェクトの所望の(又は通常の)速度及び最大速度(例えば、歩行速度、自転車速度など)、ならびにオブジェクトの通常の加速度及び最大加速度及び減速度が含まれ得る。車両以外のオブジェクトに対する追加の挙動には、道路横断時及び/又は信号無視時のオブジェクトの通常の速度及び加速度が含まれる場合がある。車両以外のオブジェクトに関する他の挙動例としては、オブジェクトの通常の旋回速度及び最大旋回速度、物体自身と道路、壁、又は他の移動オブジェクトとの間にオブジェクトが維持する距離(安全領域、追従距離など)が挙げられる。 For pedestrians and/or other non-vehicular objects (e.g., bicycles, skateboards, etc.) represented in log data 550, playback agent analyzer 548 analyzes the object's position, trajectory, velocity, attitude, and /Or other attributes may be used to determine any of the same actions as described above for automobiles. Further, playback agent analyzer 548 may alternatively determine different sets of actions for objects in the environment based on the object classification. Examples of behaviors determined from log data 550 for objects other than vehicles include the object's desired (or normal) speed and maximum speed (e.g., walking speed, bicycle speed, etc.), and the object's normal acceleration and maximum speed. Acceleration and deceleration may be included. Additional behavior for objects other than vehicles may include the object's normal speed and acceleration when crossing a road and/or running a red light. Other examples of behavior for non-vehicle objects include the object's normal and maximum turning speed, the distance an object maintains between itself and the road, wall, or other moving object (safety area, following distance). etc.).

車両について決定された各運転挙動、又は車両以外のオブジェクトについて決定された他の挙動に対して、プレイバックエージェント分析器548は、挙動の個々のインスタンス、平均、範囲、及び/又は分布を決定し得る。一例として、プレイバックエージェント分析器548は、ログデータ550からの横断歩道で停止する車両の単一のインスタンスに基づいて、横断歩道で停止する車両を挙動として決定し得る。他の例では、プレイバックエージェント分析器548は、挙動(例えば、走行速度測定値、追従距離測定値、加速率値、制動率値等)の複数のインスタンスを特定してもよく、運転挙動は、インスタンスの平均、インスタンスの範囲、又はインスタンスに基づく確率分布に対応してもよい。例えば、制限速度に対する車両の速度、車両の追従距離等を表す運転挙動については、車両の挙動のインスタンスに基づく平均又は分布として運転挙動が算出されてもよい。 For each driving behavior determined for a vehicle, or other behavior determined for an object other than a vehicle, playback agent analyzer 548 determines individual instances, averages, ranges, and/or distributions of the behavior. obtain. As an example, playback agent analyzer 548 may determine a vehicle stopping at a crosswalk as a behavior based on a single instance of a vehicle stopping at a crosswalk from log data 550. In other examples, the playback agent analyzer 548 may identify multiple instances of a behavior (e.g., driving speed measurements, following distance measurements, acceleration rate values, braking rate values, etc.), where the driving behavior is , may correspond to an instance mean, an instance range, or a probability distribution based on the instances. For example, with respect to driving behavior representing the speed of the vehicle relative to the speed limit, the following distance of the vehicle, etc., the driving behavior may be calculated as an average or distribution based on instances of the vehicle behavior.

いくつかの例では、プレイバックエージェント分析器548は、ログデータ550に基づいて決定されたオブジェクトの動作を使用して、オブジェクトに関連付けられた動作属性を決定し得る。ログデータ550内の電動車両の場合、挙動属性は運転属性と呼ばれ得る。場合によっては、運転属性及び/又は挙動属性は、単一の挙動又は一群の挙動に対応し得る。例えば、車両の低レベルの運転属性は、車両の反応時間、制限速度に対する平均速度、平均後続距離、平均方向指示器使用距離などの属性を含み得る。 In some examples, playback agent analyzer 548 may use the object's behavior determined based on log data 550 to determine behavioral attributes associated with the object. For electric vehicles in log data 550, behavioral attributes may be referred to as driving attributes. In some cases, driving attributes and/or behavioral attributes may correspond to a single behavior or a group of behaviors. For example, low-level driving attributes of a vehicle may include attributes such as vehicle reaction time, average speed relative to speed limit, average following distance, average turn signal distance, and the like.

追加的又は代替的に、特定の運転属性及び/又は挙動属性は、挙動の組み合わせに基づく高レベル属性を含み得る。例えば、プレイバックエージェント分析器548は、加速/制動率、旋回率、走行速度、追従距離等の複数の運転挙動を用いて、車両の攻撃的な運転属性を決定し得る。運転挙動の異なる組み合わせ(例えば、車線使用、交通信号使用、運転速度、停止/譲歩行動など)を組み合わせて分析し、遵法運転属性を決定してもよい。さらに別の運転挙動の組み合わせ(例えば、追従距離、加速/制動速度、反応時間、軌道走査距離など)を組み合わせて分析し、車両の運転技能属性を決定してもよい。これらの例及び車両のための他の高レベルの運転属性(又は他のタイプのオブジェクトのための高レベルの挙動属性)に対して、プレイバックエージェント分析器548は、ログデータ550から決定された挙動の様々な組み合わせに基づいて、高レベルの属性の各々に対してスコア又はメトリックを割り当ててもよい。いくつかの例では、高レベルの運転属性又は属性の組み合わせは、運転スタイル又は運転個性と呼ばれることがあり、同様のスタイル又は個性が、それぞれの行動/属性に基づいて、歩行者及び非電動車両オブジェクトについて決定され得る。 Additionally or alternatively, particular driving and/or behavioral attributes may include higher level attributes based on a combination of behaviors. For example, playback agent analyzer 548 may use multiple driving behaviors such as acceleration/braking rate, turn rate, travel speed, following distance, etc. to determine aggressive driving attributes of the vehicle. Different combinations of driving behaviors (eg, lane use, traffic signal use, driving speed, stop/yield behavior, etc.) may be combined and analyzed to determine compliant driving attributes. Further combinations of driving behaviors (eg, following distance, acceleration/braking speed, reaction time, trajectory scan distance, etc.) may be combined and analyzed to determine driving skill attributes of the vehicle. For these examples and other high-level driving attributes for vehicles (or high-level behavioral attributes for other types of objects), playback agent analyzer 548 determines from log data 550 Scores or metrics may be assigned to each of the high-level attributes based on various combinations of behaviors. In some instances, a high-level driving attribute or combination of attributes may be referred to as a driving style or driving personality, and similar styles or personalities may be used to differentiate pedestrians and non-motorized vehicles based on their respective behaviors/attributes. may be determined for the object.

プレイバックエージェント分析器548がログデータ550に基づいて環境内のオブジェクトの挙動及び/又は属性を決定した後、計画コンポーネント536は、挙動及び属性を使用して、シミュレーション内の1つ又は複数のスマートエージェントを制御し得る。いくつかの例では、運転シミュレーション内の単一のスマートエージェントは、ログデータ550内の対応する動的オブジェクトと同じ挙動及び/又は属性を割り当てられ得る。スマートエージェントに挙動/属性のセットを割り当てるために、シミュレーションシステム532は、挙動/属性に基づいて計画コンポーネント536の特定のバージョンをインスタンス化してもよく、及び/又はスマートエージェントに所望の挙動/属性のセットに対応する計画コンポーネント536をインスタンス化するときに特定のパラメータを提供してもよい。上述したように、スマートエージェントは、シミュレーションの開始時にインスタンス化されてもよいし、運転シミュレーション中にプレイバックエージェントから変換されてもよい。 After playback agent analyzer 548 determines the behavior and/or attributes of objects in the environment based on log data 550, planning component 536 uses the behaviors and attributes to create one or more smarts in the simulation. Agents can be controlled. In some examples, a single smart agent within a driving simulation may be assigned the same behavior and/or attributes as a corresponding dynamic object within log data 550. To assign a set of behaviors/attributes to a smart agent, simulation system 532 may instantiate a particular version of planning component 536 based on the behaviors/attributes and/or assign the smart agent a set of desired behaviors/attributes. Certain parameters may be provided when instantiating the plan component 536 that corresponds to the set. As mentioned above, a smart agent may be instantiated at the beginning of a simulation or may be converted from a playback agent during a driving simulation.

上述したように、計画コンポーネント536は、シミュレーション環境内のオブジェクトの任意の運転決定を含む、シミュレーション中のスマートエージェントの行動及び挙動を制御し得る。本明細書で使用されるように、シミュレートされた車両又は他のシミュレートされたオブジェクトの決定は、シミュレーション中にシミュレートされた車両/オブジェクトを制御するための計画コンポーネント536の任意の決定を含み得る。シミュレートされた車両について計画コンポーネント536によって決定された運転決定は、ログデータ550内の対応する車両についてプレイバックエージェント分析器548によって決定された任意の運転挙動に対応し得る。 As mentioned above, the planning component 536 may control the actions and behaviors of the smart agent during the simulation, including any driving decisions of objects within the simulation environment. As used herein, a simulated vehicle or other simulated object determination refers to any decision of the planning component 536 to control a simulated vehicle/object during a simulation. may be included. The driving decisions determined by the planning component 536 for the simulated vehicle may correspond to any driving behavior determined by the playback agent analyzer 548 for the corresponding vehicle in the log data 550.

いくつかの例では、計画コンポーネント536は、ログデータ550からの単一の対応する車両に基づいて、シミュレートされた車両を制御し得る。例えば、計画コンポーネント536は、本明細書で述べられる運転挙動のいずれかについて、制限速度に対して同じ速度で走行するように、同じ追従距離を有するように、同じ方向指示器の使用を有するように、シミュレートされた車両を制御し得る。路上での走行速度、一時停止標識に近づく減速率、一時停止標識に対する停止位置など、シミュレートされた車両の特定の運転決定を決定するために、計画コンポーネント536は、ログデータ550内の対応する車両からの同じ挙動を一致させてもよい。 In some examples, planning component 536 may control the simulated vehicle based on a single corresponding vehicle from log data 550. For example, the planning component 536 may plan to drive at the same speed relative to the speed limit, have the same following distance, or use the same turn signals for any of the driving behaviors described herein. may control the simulated vehicle. To determine specific driving decisions for the simulated vehicle, such as the speed at which it is traveling on the road, the rate of deceleration approaching the stop sign, and the location of the stop relative to the stop sign, the planning component 536 determines the corresponding driving decisions in the log data 550. The same behavior from the vehicle may be matched.

他の例では、計画コンポーネント536は、ログデータ550内の対応する車両からの一致する挙動がなくても、シミュレートされた車両の運転決定を決定し得る。例えば、対応する車両が、ログデータ550が収集された期間中に一時停止標識又は信号で停止しなかった場合、計画コンポーネント536は、一時停止標識又は信号に関連してシミュレートされた車両を制御する際に使用する直接的な運転挙動を有しない可能性がある。そのような場合、計画コンポーネント536は、シミュレートされた車両の運転決定を決定するために1つ又は複数の間接的手法を使用し得る。計画コンポーネント536は、場合によっては、シミュレートされた車両の運転挙動/決定について、予め決められた及び/又はデフォルト値を使用してもよい。また、計画コンポーネント536は、異なる運転挙動間の相関及び/又は相関に関連付けられた重み値に基づいて、シミュレートされた車両の運転決定を決定し得る。例えば、計画コンポーネント536は、ある運転挙動(例えば、一時停止標識での時間遅れ)と他の運転挙動(例えば、制限速度に対する平均速度、追従距離、操舵率など)との間に相関が存在すると決定し得る。 また、計画コンポーネント536は、異なる運転挙動間の相関の強さを示す重み値を決定してもよい(例えば、高い重み値は、運転挙動間の相関がより強いことを示す場合がある)。次いで、対応する車両のログデータ550に対応する運転挙動がない場合に、シミュレートされた車両の運転決定を決定するために、計画コンポーネント536は、ログデータ550内の車両の相関する運転挙動の値、及び関連付けられた重み値を使用し得る。 In other examples, planning component 536 may determine driving decisions for a simulated vehicle even without matching behavior from a corresponding vehicle in log data 550. For example, if the corresponding vehicle did not stop at a stop sign or signal during the period in which log data 550 was collected, planning component 536 controls the simulated vehicle in connection with the stop sign or signal. may not have the direct driving behavior to use when In such cases, planning component 536 may use one or more indirect techniques to determine driving decisions for the simulated vehicle. The planning component 536 may in some cases use predetermined and/or default values for the simulated vehicle driving behavior/decisions. Planning component 536 may also determine driving decisions for the simulated vehicle based on correlations between different driving behaviors and/or weight values associated with the correlations. For example, the planning component 536 determines that a correlation exists between certain driving behaviors (e.g., time delay at a stop sign) and other driving behaviors (e.g., average speed relative to speed limit, following distance, steering rate, etc.). can be determined. The planning component 536 may also determine weight values that indicate the strength of correlation between different driving behaviors (eg, a higher weight value may indicate a stronger correlation between driving behaviors). The planning component 536 then determines driving decisions for the simulated vehicle in the absence of a corresponding driving behavior in the log data 550 for the corresponding vehicle. values and associated weight values may be used.

追加的又は代替的に、計画コンポーネント536は、ログデータ550内の対応する車両に対するより高いレベルの運転属性、例えば、積極的運転属性スコア、法回避運転属性スコア、反応時間運転属性スコア、及び/又は運転技能属性スコアなどを使用して、シミュレートされた車両の運転決定を決定し得る。例えば、計画コンポーネント536は、ログデータ550内の対応する車両の上位レベルの属性に基づいて、シミュレートされた車両の下位レベルの運転決定(例えば、速度、加速度、追従距離、方向指示器の使用など)を決定するために、機械学習モデル及び/又はヒューリスティックベースのアルゴリズムを実装してもよい。一例として、計画コンポーネント536は、第1のシミュレートされた車両の追従距離を、ログデータ内の対応する車両の運転手の攻撃性メトリック及び運転手の技能メトリックに基づいて決定する一方、第2のシミュレートされた車両の追従距離を、ログデータ内の異なる対応する車両の異なる運転手の攻撃性メトリック及び技能メトリックに基づいて決定し得る。 Additionally or alternatively, the planning component 536 determines higher level driving attributes for the corresponding vehicle in the log data 550, such as aggressive driving attribute scores, evasive driving attribute scores, reaction time driving attribute scores, and/or or driving skill attribute scores, etc., may be used to determine driving decisions for the simulated vehicle. For example, the planning component 536 may make lower-level driving decisions (e.g., speed, acceleration, following distance, turn signal usage, etc.) for the simulated vehicle based on the corresponding vehicle's higher-level attributes in the log data 550. Machine learning models and/or heuristic-based algorithms may be implemented to determine the As an example, the planning component 536 determines the following distance of the first simulated vehicle based on the driver aggressiveness metric and the driver skill metric of the corresponding vehicle in the log data, while the second The following distance of a simulated vehicle may be determined based on aggressiveness metrics and skill metrics of different drivers of different corresponding vehicles in the log data.

シミュレーションシステム532は、いくつかの例では、単一のシミュレートされた車両が、ログデータ550内の単一の対応する車両の運転挙動及び属性に基づいて制御される、1対1のマッピングを実装し得る。他の例では、シミュレーションシステム532は、運転挙動及び属性がログデータ550内の複数の車両について決定され得、複数の車両からの挙動/属性の集約が単一のシミュレートされた車両を制御するために使用され得る複数対1のマッピングを使用し得る。1対複数のマッピングもシミュレーションシステム532によって使用され得、この場合、ログデータ550内の単一の車両の挙動及び/又は属性が、1つ又は複数の運転シミュレーションにおいて複数のシミュレートされた車両を制御するために使用され得る。 Simulation system 532, in some examples, provides a one-to-one mapping in which a single simulated vehicle is controlled based on the driving behavior and attributes of a single corresponding vehicle in log data 550. Can be implemented. In other examples, the simulation system 532 may determine driving behaviors and attributes for multiple vehicles in the log data 550 such that the aggregation of behaviors/attributes from multiple vehicles controls a single simulated vehicle. A multiple-to-one mapping may be used for the purpose. One-to-multiple mapping may also be used by simulation system 532, in which the behavior and/or attributes of a single vehicle in log data 550 map to multiple simulated vehicles in one or more driving simulations. can be used to control.

さらに他の例では、シミュレーションシステム532は、1つ又は複数の車両ログ内の車両のグループに基づく挙動/属性の構成を有するシミュレートされた車両のグループを含むようにシミュレーションを構成し得る。例えば、シミュレーションシステム532は、ログデータ550に関連付けられた1つ又は複数の環境及び時間内の車両のグループを分析し、異なる運転挙動又は属性を示す環境内の車両の数又は割合を決定し得る。ログデータ550からの車両の例示的な構成は、20%の高度に攻撃的な運転手、85%の高度に遵法的な運転手、45%の高度に熟練した運転手、70%の追い越しにバスレーンを使用する運転手などを含み得る。シミュレーションシステム532は、異なる場所及び/又は異なる時間帯に関連付けられた運転挙動/属性の構成を異ならせてもよい。例えば、ある地域のラッシュアワーに収集されたログデータ550に基づいて決定された運転挙動/属性の構成は、別の地域の週末の午後に収集されたログデータ550に基づいて決定された運転挙動/属性の構成とは異なってもよい。シミュレーションシステム532は、時間及び領域に関連付けられた運転挙動/属性の特定の構成を選択し得、選択された構成に一致するようにシミュレーション内のシミュレートされた車両のグループを構成し得、それにより、シミュレーションシステム532は、異なる領域及び異なる時間における運転手の性格タイプのグループをより現実的にモデル化し得る。 In yet other examples, simulation system 532 may configure the simulation to include a group of simulated vehicles with a configuration of behaviors/attributes based on the group of vehicles in one or more vehicle logs. For example, simulation system 532 may analyze groups of vehicles within one or more environments and times associated with log data 550 and determine the number or percentage of vehicles within the environment that exhibit different driving behaviors or attributes. . An exemplary configuration of a vehicle from log data 550 is: 20% Highly Aggressive Driver, 85% Highly Compliant Driver, 45% Highly Skilled Driver, 70% Overtaking This may include drivers using bus lanes, etc. Simulation system 532 may configure different driving behaviors/attributes associated with different locations and/or different times of day. For example, a driving behavior/attribute configuration determined based on log data 550 collected during rush hour in one region may be different from a configuration of driving behavior/attributes determined based on log data 550 collected on a weekend afternoon in another region. /It may be different from the attribute configuration. Simulation system 532 may select a particular configuration of driving behaviors/attributes associated with time and domain, and may configure groups of simulated vehicles within the simulation to match the selected configuration, and This allows simulation system 532 to more realistically model groups of driver personality types in different regions and at different times.

さらに、本明細書における特定の例は車両及び運転シミュレーションに言及しているが、前述のオブジェクトと同様又は同一の手法を使用して、ログデータ550における非車両(例えば、歩行者、自転車など)と、シミュレーションにおける対応する非車両オブジェクトとの間の挙動/属性をマップし得る。 Further, while the specific examples herein refer to vehicles and driving simulations, using similar or identical techniques to the objects described above, non-vehicles (e.g., pedestrians, bicycles, etc.) in the log data 550 can be and corresponding non-vehicle objects in the simulation.

図6は、本明細書で述べられる様々なシステム及び手法に従って、運転シミュレーション中にプレイバックエージェントをスマートエージェントに変換するための例示的なプロセス600のフロー図である。いくつかの例では、プロセス600の動作は、シミュレーションシステム532の1つ又は複数のコンポーネントによって、単独で、又は1つ又は複数の車両502と連携して、実行され得る。例えば、プレイバックエージェントに関連付けられたログデータを分析し、プレイバックエージェントの目的地及び/又は運転挙動/属性を決定し、スマートエージェントの決定(例えば、経路及び挙動)を制御するための計画コンポーネントパラメータを決定及び適用するための本明細書で述べられる手法は、上述した計画コンポーネント546及び/又はプレイバックエージェント分析器548によって実行され得る。 FIG. 6 is a flow diagram of an example process 600 for converting a playback agent into a smart agent during a driving simulation in accordance with various systems and techniques described herein. In some examples, the operations of process 600 may be performed by one or more components of simulation system 532, alone or in conjunction with one or more vehicles 502. For example, a planning component for analyzing log data associated with playback agents, determining playback agent destinations and/or driving behavior/attributes, and controlling smart agent decisions (e.g., routes and behaviors). The techniques described herein for determining and applying parameters may be performed by the planning component 546 and/or the playback agent analyzer 548 described above.

動作602において、シミュレーションシステム532は、シミュレーション内のプレイバックエージェントに関連付けられたログデータを受信し、分析し得る。例えば、シミュレーションシステム532は、環境を横断している間に車両502によって観察及び/又は知覚された様々なデータを含む、車両502からのログデータ550を受信し得る。特に、動作602で受信されたログデータは、属性又は特性(例えば、エージェントの分類、サイズ、形状、位置、ヨー、速度、軌道など)のような、車両502の近接範囲内で検出された特定のエージェント(例えば、他の車両、歩行者、自転車など)に関連するデータを含み得る。場合によっては、ログデータはまた、事故又は事故寸前、交通違反、歩行者、自転車、又は動物による横断又は信号無視、天候異常、工事区域、迂回路、スクールゾーン等のようなエージェントの動作及び/又は挙動を含み得る。動作602で受信されたログデータ550は、生のセンサーデータ及び/又は車両502で取り込まれたセンサーデータに基づくデータを含み得る。 At act 602, simulation system 532 may receive and analyze log data associated with playback agents within the simulation. For example, simulation system 532 may receive log data 550 from vehicle 502 that includes various data observed and/or perceived by vehicle 502 while traversing the environment. In particular, the log data received in operation 602 may include specific attributes or characteristics (e.g., agent classification, size, shape, location, yaw, speed, trajectory, etc.) detected within proximity of vehicle 502. agents (e.g., other vehicles, pedestrians, bicyclists, etc.). In some cases, log data may also include agent actions and/or incidents such as accidents or near-accidents, traffic violations, pedestrians, cyclists, or animals crossing or ignoring traffic lights, weather abnormalities, construction zones, detours, school zones, etc. or may include behavior. Log data 550 received in operation 602 may include data based on raw sensor data and/or sensor data captured on vehicle 502.

動作604において、シミュレーションシステム532は、動作602で受信したログデータに基づいて、シミュレーション内のプレイバックエージェントの目的地を決定し得る。プレイバックエージェントの目的地は、ログデータ内の対応するエージェントによって移動されたルート/パスに基づいて、シミュレーションシステム532によって決定及び/又は推論され得る。場合によっては、プレイバックエージェントのための目的地を決定することは、ログベースの運転シミュレーションに関連付けられた期間の前又は後の時間に取り込まれた、対応するエージェントのための追加のログデータを分析することを含み得る。 At act 604, simulation system 532 may determine the destination of the playback agent within the simulation based on the log data received at act 602. The playback agent's destination may be determined and/or inferred by the simulation system 532 based on the route/path traveled by the corresponding agent in the log data. In some cases, determining the destination for the playback agent requires additional log data for the corresponding agent captured at times before or after the period associated with the log-based driving simulation. may include analyzing.

動作606において、シミュレーションシステム532は、動作602において受信されたログデータに基づいて、プレイバックエージェントに関連付けられた1つ又は複数の運転及び/又は性格属性を決定し得る。例えば、プレイバックエージェント分析器548は、ログデータ内の対応するエージェントによって実行された1つ又は複数の運転挙動及び/又は動作を検出及び分析し、プレイバックエージェントの1つ又は複数の運転スタイル及び/又は運転者の性格タイプを決定し得る。一例として、プレイバックエージェント分析器548は、特定のエージェントに関連付けられたログデータを分析して、エージェントに対する1つ又は複数の攻撃性メトリクス、運転スキルメトリクス、反応時間メトリクス、法令遵守メトリクスなどを決定し得る。 At act 606, simulation system 532 may determine one or more driving and/or personality attributes associated with the playback agent based on the log data received at act 602. For example, playback agent analyzer 548 detects and analyzes one or more driving behaviors and/or actions performed by a corresponding agent in the log data, and detects and analyzes one or more driving styles and/or actions of the playback agent. /or may determine the driver's personality type. As an example, playback agent analyzer 548 analyzes log data associated with a particular agent to determine one or more aggressiveness metrics, driving skill metrics, reaction time metrics, legal compliance metrics, etc. for the agent. It is possible.

動作608において、シミュレーションシステム532は、運転シミュレーション中のある時点で、プレイバックエージェントがスマートエージェントに変換されるか否かを決定し得る。上述したように、ログベースの運転シミュレーションの過程において、エージェントは、最初はプレイバックエージェントとして動作し、ログデータ内の対応するエージェントの動作に基づいてシミュレーション内で動作し得る。シミュレーションシステム532は、プレイバックエージェントと偏差を有するノンプレイバックエージェント(例えば、スマートエージェント又はシミュレートされた車両)との間の相互作用がシミュレーション内で発生する可能性があると決定したことに応答して、プレイバックエージェントをスマートエージェントに変換し得る。全てのプレイバックエージェントがスマートエージェントに変換されるとは限らず、様々な運転シミュレーションの間、シミュレーションシステム532は、プレイバックエージェントの一部、全て、又は全くをスマートエージェントに変換し得る。この例では、動作602~606において分析された特定のプレイバックエージェントがスマートエージェントに変換されなかった場合(608:NO)、プロセス600は、シミュレーションの継続に伴ってプレイバックエージェントの動作の監視を継続するために、動作602に戻り得る。 At act 608, simulation system 532 may determine whether the playback agent is converted to a smart agent at some point during the driving simulation. As mentioned above, in the course of a log-based driving simulation, an agent may initially act as a playback agent and act within the simulation based on the actions of the corresponding agent in the log data. Simulation system 532 is responsive to determining that an interaction between a playback agent and a non-playback agent (e.g., a smart agent or a simulated vehicle) having a deviation may occur within the simulation. can be used to convert playback agents into smart agents. Not all playback agents are converted to smart agents, and during various driving simulations, simulation system 532 may convert some, all, or all of the playback agents to smart agents. In this example, if the particular playback agent analyzed in acts 602-606 is not converted to a smart agent (608: NO), the process 600 monitors the operation of the playback agent as the simulation continues. One may return to operation 602 to continue.

しかしながら、シミュレーションシステム532が、シミュレーション中に、特定のプレイバックエージェントがスマートエージェントに変換されると決定した場合(608:YES)、動作610において、シミュレーションシステム532は、動作604において決定されたプレイバックエージェントの目的地に基づいて、及び/又は動作606において決定されたプレイバックエージェントの運転/個性属性に基づいて、1つ又は複数の計画コンポーネントパラメータを決定する。そのようなパラメータは、スマートエージェントが経路を決定するときにバイキングレーンを使用するかどうかを決定するパラメータ、スマートエージェントが車線分割を使用するかどうかを決定するパラメータ、スマートエージェントが車線共有を使用するかどうかを決定するパラメータ、スマートエージェントの所望の速度を表す(エージェントタイプに基づく)パラメータ、スマートエージェントの可能な最大速度及び加速度を表す(エージェントタイプに基づく)パラメータ、シミュレートされた環境における他のエージェントからのスマートエージェントの所望の距離を表すパラメータ(エージェントタイプに基づく)、スマートエージェントが交通信号、一時停止標識、降車標識、停止線、スクールゾーン、工事ゾーンにどのように反応するかを表すパラメータ、スマートエージェントが方向指示器を使用するとき、ライトを点灯/消灯するとき、及び/又は他の車両制御を行うときを表すパラメータを含み得るが、これらに限定されない。 However, if simulation system 532 determines during simulation that a particular playback agent is converted to a smart agent (608: YES), then in act 610 simulation system 532 determines that the playback agent determined in act 604 is a smart agent. One or more planning component parameters are determined based on the agent's destination and/or based on the playback agent's driving/personality attributes determined in operation 606. Such parameters are: a parameter that determines whether the smart agent uses Viking lanes when determining a route, a parameter that determines whether the smart agent uses lane splitting, a parameter that determines whether the smart agent uses lane sharing. a parameter that determines whether the desired velocity of the smart agent (based on the agent type), a parameter that represents the maximum possible velocity and acceleration of the smart agent (based on the agent type), a parameter that represents the desired velocity of the smart agent (based on the agent type), a parameter that determines whether the Parameters that represent the desired distance of the smart agent from the agent (based on agent type), parameters that represent how the smart agent reacts to traffic lights, stop signs, exit signs, stop lines, school zones, and construction zones , may include, but are not limited to, parameters representing when the smart agent uses turn signals, turns on/off lights, and/or performs other vehicle controls.

動作612において、シミュレーションシステム532は、次に、シミュレーション中にスマートエージェントのナビゲーション及び/又は運転意思決定動作を制御するための計画コンポーネントを開始することによって、プレイバックエージェントをスマートエージェントに変換し得る。いくつかの例では、計画コンポーネントを開始することは、動作610で決定された計画コンポーネントパラメータに基づいて計画コンポーネントプロセスをインスタンス化し、実行し、及び/又は構成することを含み得、それにより、計画コンポーネントは、プレイバックエージェントによって示される運転スタイル及び/又は運転手個性をより正確に反映する方法で、スマートエージェントのナビゲーション及び/又は運転意思決定行動を制御するように構成される。 In operation 612, simulation system 532 may then convert the playback agent into a smart agent by initiating a planning component to control the navigation and/or driving decision-making behavior of the smart agent during the simulation. In some examples, starting the planning component may include instantiating, running, and/or configuring a planning component process based on the planning component parameters determined in operation 610, thereby causing the planning component to The component is configured to control the smart agent's navigation and/or driving decision-making behavior in a manner that more accurately reflects the driving style and/or driver personality exhibited by the playback agent.

図7は、本明細書で述べられる様々なシステム及び手法に従って、運転シミュレーション中にプレイバックエージェントをスマートエージェントに変換するための別の例示的なプロセス700のフロー図である。いくつかの例では、プロセス700の動作は、シミュレーションシステム532の1つ又は複数のコンポーネントによって、単独で、又は1つ又は複数の車両502と連携して、実行され得る。例えば、運転シミュレーションにおけるエージェント間の相互作用を決定し、プレイバックエージェントをスマートエージェントに変換するための本明細書で述べられる手法は、上述したエージェント相互作用モニタ542及び/又はエージェント変換器544によって実行され得る。 FIG. 7 is a flow diagram of another example process 700 for converting a playback agent into a smart agent during a driving simulation in accordance with various systems and techniques described herein. In some examples, the operations of process 700 may be performed by one or more components of simulation system 532, alone or in conjunction with one or more vehicles 502. For example, the techniques described herein for determining interactions between agents in a driving simulation and converting playback agents into smart agents may be performed by agent interaction monitor 542 and/or agent converter 544 as described above. can be done.

動作702において、シミュレーションシステム532は、ログベースの運転シミュレーション内の1つ又は複数の車両/エージェントの軌道を決定し得る。運転シミュレーションは、プレイバックエージェント及びスマートエージェントを含む、シミュレーション環境内で動作する複数の異なるエージェントを含み得る。シミュレーション内のプレイバックエージェントの軌道は、ログデータ内の対応するエージェントの位置に基づいて決定されてもよい。したがって、プレイバックエージェントについて、シミュレーションシステム532は、ログデータに基づいて、シミュレーションの期間中、いつでも、プレイバックエージェントの完全な軌道を決定し得る。対照的に、運転シミュレーションのシミュレートされた車両及び/又は他のスマートエージェントは、ログデータに完全に基づくのではなく、計画コンポーネントによって制御されてもよい。その結果、シミュレートされた車両及びスマートエージェントの軌道は、シミュレーションが実行されるまで不明であり得、エージェント相互作用モニタ542は、現在及び予測された軌道を決定するために、シミュレーション内の各スマートエージェントの位置、姿勢、速度、加速度、及びヨーを追跡及び監視する機能を含み得る。 At operation 702, simulation system 532 may determine trajectories for one or more vehicles/agents within a log-based driving simulation. A driving simulation may include multiple different agents operating within a simulation environment, including playback agents and smart agents. The trajectory of the playback agent within the simulation may be determined based on the position of the corresponding agent within the log data. Thus, for a playback agent, simulation system 532 may determine the complete trajectory of the playback agent at any time during the simulation based on the log data. In contrast, the simulated vehicles and/or other smart agents of the driving simulation may be controlled by a planning component rather than being completely based on log data. As a result, the trajectories of the simulated vehicles and smart agents may be unknown until the simulation is run, and the agent interaction monitor 542 determines the current and predicted trajectories of each smart agent in the simulation. May include functionality to track and monitor agent position, pose, velocity, acceleration, and yaw.

動作704において、シミュレーションシステム532は、運転シミュレーション内のプレイバックエージェントと非プレイバックエージェントとの間の相互作用を決定し得る。いくつかの例では、エージェント相互作用モニタ542は、運転シミュレーション内のエージェントに関連付けられた位置、軌道、サイズ、及び/又は空間領域を決定することに基づいて、プレイバックエージェントとノンプレイバックエージェント(例えば、スマートエージェント又はシミュレートされた車両)との間の相互作用を決定し、エージェント間の相互作用の可能性又は可能性を決定するために、エージェント軌道と共にサイズ及び/又は空間領域を使用してもよい。場合によっては、エージェント相互作用モニタ542は、シミュレーション内の各プレイバックエージェント及びノンプレイバックエージェントに関連付けられた境界ボックスのセットを決定してもよく、境界ボックスは、エージェントの寸法及び向きに基づいてもよい。境界ボックスは、場合によっては、追加の安全バッファを含み得、この安全バッファは、エージェントのタイプ、速度、脆弱性、及び/又は他の様々なエージェント属性に基づき得る。 At operation 704, simulation system 532 may determine interactions between playback agents and non-playback agents within the driving simulation. In some examples, agent interaction monitor 542 distinguishes between playback agents and non-playback agents ( use the size and/or spatial area together with the agent trajectory to determine the likelihood or probability of interactions between agents; It's okay. In some cases, agent interaction monitor 542 may determine a set of bounding boxes associated with each playback agent and non-playback agent in the simulation, where the bounding boxes are determined based on the dimensions and orientation of the agents. Good too. The bounding box may optionally include additional safety buffers, which may be based on agent type, speed, vulnerability, and/or various other agent attributes.

いくつかの例では、シミュレーションシステム532は、運転シミュレーションにおけるプレイバックエージェント及びノンプレイバックエージェントに関連付けられた境界ボックスのセットを比較し、各時間間隔において、重なりが存在するか否かを決定し得る。シミュレーションの特定の時間において、プレイバックエージェントの境界ボックスと異なるノンプレイバックエージェントの境界ボックスとの間に重なりが存在する場合、エージェント相互作用モニタ542は、エージェント間に相互作用が存在すると決定し得る。 In some examples, simulation system 532 may compare sets of bounding boxes associated with playback agents and non-playback agents in the driving simulation and determine whether an overlap exists at each time interval. . If, at a particular time in the simulation, there is an overlap between the bounding box of a playback agent and the bounding box of a different non-playback agent, agent interaction monitor 542 may determine that an interaction exists between the agents. .

動作706において、シミュレーションシステム532は、プレイバックエージェントと相互作用するエージェント(例えば、スマートエージェント又はシミュレートされた車両)が、偏差距離閾値を満たす又は超える偏差距離を有する偏差エージェントであるか否かを決定し得る。いくつかの例では、エージェント相互作用モニタ542は、動作704において決定された相互作用時における偏差を有したノンプレイバックエージェントと、同じ相対時間におけるログデータ内の対応するエージェントの位置との間の位置の差に基づいて、ノンプレイバックエージェントの偏差距離を決定し得る。次いで、エージェント相互作用モニタ542は、偏差を有するノンプレイバックエージェントの偏差距離を偏差距離閾値と比較し得る。偏差を有するノンプレイバックエージェントの偏差距離が偏差距離閾値に合致しないか、又は偏差距離閾値を超えない場合(706:NO)、プロセス700は動作702に戻り、運転シミュレーション内のエージェントの監視を継続する。しかしながら、スマートエージェント又はシミュレートされた車両に関連付けられた偏差距離が偏差距離閾値を満たすか又は超える場合(706:YES)、動作708において、シミュレーションシステム532は、プレイバックエージェントをスマートエージェントに変換し得る。 In operation 706, the simulation system 532 determines whether an agent (e.g., a smart agent or a simulated vehicle) interacting with the playback agent is a deviation agent that has a deviation distance that meets or exceeds a deviation distance threshold. can be determined. In some examples, agent interaction monitor 542 determines the difference between the non-playback agent at the time of the interaction determined in operation 704 and the corresponding agent's position in the log data at the same relative time. Based on the position difference, a deviation distance of the non-playback agent may be determined. Agent interaction monitor 542 may then compare the deviation distance of the non-playback agent with the deviation to a deviation distance threshold. If the deviation distance of the non-playback agent with deviation does not meet or exceed the deviation distance threshold (706: NO), the process 700 returns to operation 702 and continues monitoring the agent in the driving simulation. do. However, if the deviation distance associated with the smart agent or the simulated vehicle meets or exceeds the deviation distance threshold (706: YES), then in operation 708 the simulation system 532 converts the playback agent into a smart agent. obtain.

上述のように、場合によっては、偏差距離閾値がゼロに設定されることがあり、この場合、動作706を実行する必要はない。しかしながら、他の場合には、偏差距離閾値は、0.1メートル、0.2メートル、0.3メートル、...、1メートルなど)のようなゼロ以外の値であってもよい。いくつかの例では、偏差距離閾値の値は設定可能であってもよく、シミュレーション中に異なる数及び異なる再生エージェント変換のタイミングを生成するために上下に調整されてもよい。 As mentioned above, in some cases the deviation distance threshold may be set to zero, in which case there is no need to perform operation 706. However, in other cases the deviation distance thresholds are 0.1 meters, 0.2 meters, 0.3 meters, . .. .. , 1 meter, etc.). In some examples, the value of the deviation distance threshold may be configurable and may be adjusted up or down to produce different numbers and different timings of replay agent transformations during simulation.

加えて、この例は、プレイバックエージェントをスマートエージェントに変換するか否かを決定するために偏差距離を使用するが、他の例では、シミュレーションシステム532は、偏差を有するノンプレイバックエージェントのヨー偏差値を使用してもよく、これは、ヨー偏差閾値と比較されてもよい。様々な他の例において、エージェント相互作用モニタ542は、距離、ヨー、及び/又はエージェントの他の属性(例えば、速度、軌道等)に対する偏差閾値を適用してもよい。そのような閾値は、予め決められた値であってもよく、又はエージェント相互作用モニタ542は、プレイバックエージェントのタイプ、偏差を有するノンプレイバックエージェントのタイプ、エージェントの一方又は両方の速度等に基づいて、異なる偏差閾値を決定し、適用してもよい。 Additionally, although this example uses the deviation distance to determine whether to convert a playback agent to a smart agent, in other examples, the simulation system 532 uses the yaw of a non-playback agent that has a deviation. A deviation value may be used, which may be compared to a yaw deviation threshold. In various other examples, agent interaction monitor 542 may apply deviation thresholds for distance, yaw, and/or other attributes of the agent (eg, velocity, trajectory, etc.). Such thresholds may be predetermined values, or the agent interaction monitor 542 may be configured based on the type of playback agent, the type of non-playback agent with deviations, the speed of one or both of the agents, etc. Based on this, different deviation thresholds may be determined and applied.

動作708において、シミュレーション中にプレイバックエージェントが偏差を有するノンプレイバックエージェントと相互作用した(又は相互作用する予定である)という決定に基づいて、シミュレーションシステム532は、プレイバックエージェントをスマートエージェントに変換し得る。いくつかの例では、エージェント変換器544は、運転シミュレーションの間、スマートエージェントのナビゲーション及び/又は運転意思決定行動を制御するために、計画コンポーネント546を実行及び/又は構成することによって、プレイバックエージェントをスマートエージェントに変換し得る。工程600を参照して上述したように、場合によっては、計画コンポーネント546は、特定のスマートエージェントについて決定された1つ又は複数の計画コンポーネントパラメータに基づいてインスタンス化され、実行され、及び/又は構成され得、これにより、スマートエージェントのナビゲーション及び/又は運転意思決定行動が、プレイバックエージェントの運転スタイル及び/又は運転者の性格をより正確に反映するように制御され得る。 At act 708, based on the determination that during the simulation the playback agent interacted (or will interact) with a non-playback agent that has a deviation, the simulation system 532 converts the playback agent to a smart agent. It is possible. In some examples, the agent converter 544 controls the playback agent by executing and/or configuring the planning component 546 to control the smart agent's navigation and/or driving decision-making behavior during the driving simulation. can be transformed into a smart agent. As discussed above with reference to step 600, in some cases, planning component 546 is instantiated, executed, and/or configured based on one or more planning component parameters determined for a particular smart agent. The smart agent's navigation and/or driving decision-making behavior may thereby be controlled to more accurately reflect the playback agent's driving style and/or driver personality.

動作710において、シミュレーションシステム532は、シミュレーションが完了したか否かを決定しながら、運転シミュレーションの実行を継続し得る。シミュレーションの完了は、シミュレーションの終了、及び/又は、シミュレーションの実行中に、シミュレートされた車両が所定の結果と一致する動作を行った、又は所定の結果と一致する動作を行わなかった、よって、シミュレートされた車両を操作する車両制御装置がシミュレーションに合格又は不合格のいずれかを決定したことに対応する。ログベースのシミュレーションが進行中であり、まだ完了していない場合(710:NO)、プロセス700は動作702に戻り、シミュレーションの監視を継続し、必要に応じて追加のプレイバックエージェントのスマートエージェントへの変換を実行し得る。しかしながら、シミュレーションが完了すると(710:YES)、動作712において、シミュレーションシステム532は、シミュレーションプロセスを終了し、シミュレートされた車両を操作する車両コントローラのシミュレーション結果を出力又は格納し得る。上述のように、シミュレーション結果は、運転シミュレーション中のシミュレートされた車両の挙動及び/又は性能を特定し得、これは、評価される車両制御装置の挙動及び/又は性能に対応し得る。 At act 710, simulation system 532 may continue running the driving simulation while determining whether the simulation is complete. Completion of a simulation may mean the end of a simulation, and/or the fact that during execution of a simulation, the simulated vehicle has performed an action consistent with a predetermined result, or has not performed an action consistent with a predetermined result. , corresponds to the fact that the vehicle control device operating the simulated vehicle has determined either to pass or fail the simulation. If the log-based simulation is in progress and has not yet completed (710: NO), the process 700 returns to operation 702 to continue monitoring the simulation and to the smart agent for additional playback agents as needed. conversion can be performed. However, once the simulation is complete (710: YES), in operation 712 the simulation system 532 may terminate the simulation process and output or store simulation results for the vehicle controller operating the simulated vehicle. As mentioned above, the simulation results may identify the behavior and/or performance of the simulated vehicle during the driving simulation, which may correspond to the behavior and/or performance of the vehicle controller being evaluated.

プロセス600及び700は、それぞれ、論理フロー図のブロックの集まりとして図示されており、これらのブロックは、動作のシーケンスを表し、その一部又は全部は、ハードウェア、ソフトウェア、又はそれらの組み合わせで実装されることができる。ソフトウェアの文脈では、ブロックは、1つ又は複数のコンピュータ可読媒体に格納されたコンピュータ実行可能な指令を表し、この指令は、1つ又は複数のプロセッサによって実行されると、言及された動作を実行する。一般に、コンピュータ実行可能な指令には、特定の機能を実行したり、特定の抽象データ型を実装したりするルーチン、プログラム、オブジェクト、構成要素、暗号化、解読、圧縮、記録、データ構造などが含まれる。動作が説明される順序は、限定として解釈されるべきではない。説明されたブロックの任意の数を任意の順序で、及び/又は並列に組み合わせて、処理、又は代替処理を実施することができ、ブロックのすべてを実行する必要はない。議論の目的のために、本明細書で述べられるプロセスは、本明細書の例において述べられるフレームワーク、アーキテクチャ、及び環境を参照して説明されるが、プロセスは、多種多様な他のフレームワーク、アーキテクチャ、又は環境で実装されてもよい。 Processes 600 and 700 are each illustrated as a collection of blocks in a logical flow diagram that represent sequences of operations, some or all of which may be implemented in hardware, software, or a combination thereof. can be done. In the context of software, a block represents computer-executable instructions stored on one or more computer-readable media that, when executed by one or more processors, perform the recited operations. do. Generally, computer-executable instructions include routines, programs, objects, components, encryption, decryption, compression, recording, data structures, etc. that perform particular functions or implement particular abstract data types. included. The order in which operations are described is not to be construed as limiting. Any number of the blocks described may be combined in any order and/or in parallel to perform the process, or alternative processes, without having to execute all of the blocks. For purposes of discussion, the processes described herein are described with reference to the frameworks, architectures, and environments described in the examples herein, but the processes may be implemented using a wide variety of other frameworks. , architecture, or environment.

(例示的な条項)
A.1つ又は複数のプロセッサと、実行されると、自律車両コントローラによって制御されるシミュレートされた自律車両を含む運転シミュレーションを実行することであって、当該運転シミュレーションは、環境を横断する車両に関連付けられたログデータに少なくとも部分的に基づいており、当該ログデータは、当該環境内の第1のオブジェクトに関連づけられた第1のログデータと、当該環境内の第2のオブジェクトに関連づけられた第2のログデータと、を含むことと、当該運転シミュレーションにおける第1の時間期間において、当該第1のログデータに少なくとも部分的に基づいて第1のシミュレートされたオブジェクトを制御し、当該第2のログデータに少なくとも部分的に基づいて第2のシミュレートされたオブジェクトを制御し、シミュレートされた自律車両と当該第1のシミュレートされたオブジェクトとの間の当該運転シミュレーションにおける第1の相互作用を決定することと、当該第1の相互作用の決定に少なくとも部分的に基づいて、第1の計画コンポーネントを使用して、当該第1の時間期間の後の運転シミュレーションにおける第2の時間期間中に当該第1のシミュレートされたオブジェクトを制御することと、当該運転シミュレーションにおける当該第2の時間期間中に、当該第1のシミュレートされたオブジェクトと当該第2のシミュレートされたオブジェクトとの間の第2の相互作用を決定することと、当該第2の相互作用の決定に少なくとも部分的に基づいて、第2の計画コンポーネントを使用して、当該第2の時間期間の後の当該運転シミュレーションにおける第3の時間期間中に当該第2のシミュレートされたオブジェクトを制御することと、当該運転シミュレーションに対する当該自律車両コントローラによる応答を決定することと、を、1つ又は複数のプロセッサに以下を含む動作を実行させるコンピュータ実行可能命令を格納する1つ又は複数のコンピュータ可読媒体と、を含むシステム。
(Example Clause)
A. executing a driving simulation including one or more processors and, when executed, a simulated autonomous vehicle controlled by an autonomous vehicle controller, the driving simulation being associated with a vehicle traversing an environment; and the log data is based at least in part on log data associated with a first object in the environment and a first log data associated with a second object in the environment. and controlling a first simulated object based at least in part on the first log data during a first time period in the driving simulation; controlling a second simulated object based at least in part on log data of a first interaction between the simulated autonomous vehicle and the first simulated object in the driving simulation; and determining a second time period in the driving simulation after the first time period using a first planning component based at least in part on determining the first interaction. controlling the first simulated object during the driving simulation; and controlling the first simulated object and the second simulated object during the second time period in the driving simulation. determining a second interaction between and using a second planning component based at least in part on determining the second interaction between the controlling the second simulated object during a third time period in the driving simulation; and determining a response by the autonomous vehicle controller to the driving simulation. one or more computer-readable media storing computer-executable instructions for performing operations including:

B.段落Aのシステムであって、当該運転シミュレーションにおける当該第1の期間中、シミュレートされた自律車両は、少なくとも部分的にコンポーネントに基づいて制御され、当該第1のシミュレートされたオブジェクト及び当該第2のシミュレートされたオブジェクトは、当該ログデータに基づいて、当該環境内の第1のオブジェクト及び当該環境内の第2のオブジェクトにそれぞれ対応するように制御されることと、当該運転シミュレーションにおける当該第2の期間中、当該シミュレートされた自律車両及び当該第1のシミュレートされたオブジェクトは、少なくとも部分的に当該コンポーネントに基づいて制御され、当該第2のシミュレートされたオブジェクトは、当該環境内の第2のオブジェクトに対応するように当該ログデータに基づいて制御され、当該運転シミュレーションにおける第3の時間期間中、当該シミュレートされた自律車両、当該第1のシミュレートされたオブジェクト、及び当該第2のシミュレートされたオブジェクトは、少なくとも部分的に当該コンポーネントに基づいて制御されるシステム。 B. The system of paragraph A, wherein during the first period in the driving simulation, the simulated autonomous vehicle is controlled based at least in part on the first simulated object and the first The second simulated object is controlled to correspond to a first object in the environment and a second object in the environment, respectively, based on the log data, and the second simulated object in the driving simulation During a second time period, the simulated autonomous vehicle and the first simulated object are controlled based at least in part on the component, and the second simulated object is controlled based at least in part on the environment. during a third time period in the driving simulation, the simulated autonomous vehicle, the first simulated object, and A system in which the second simulated object is controlled based at least in part on the component.

C.段落Aのシステムであって、当該動作は、当該第1の相互作用に関連付けられた時間における当該シミュレートされた自律車両の偏差距離を決定することであって、当該偏差距離は、当該ログデータ内の当該車両の位置と、当該運転シミュレーション中の当該シミュレートされた自律車両の対応する位置との間の距離に基づいており、当該第1の計画要素を使用して当該第1のシミュレートされたオブジェクトを制御することは、少なくとも部分的に偏差距離に基づいていること、をさらに含むシステム。 C. The system of paragraph A, wherein the operation is to determine a deviation distance of the simulated autonomous vehicle at a time associated with the first interaction, the deviation distance being based on the log data. and the corresponding position of the simulated autonomous vehicle during the driving simulation, using the first planning element to The system further comprises: controlling the detected object based at least in part on the deviation distance.

D.段落Aのシステムであって、当該動作は、当該第1のログデータに少なくとも部分的に基づいて、当該第1のオブジェクトに関連付けられた運転属性を決定することであって、当該第1の計画コンポーネントを使用して当該第1のシミュレートされたオブジェクトを制御することは、当該運転属性に少なくとも部分的に基づくこと、をさらに含むシステム。 D. The system of paragraph A, wherein the operation is to determine driving attributes associated with the first object based at least in part on the first log data, the first plan comprising: determining a driving attribute associated with the first object; The system further comprises controlling the first simulated object using the component based at least in part on the driving attribute.

E.段落Aのシステムであって、当該動作は、当該環境内の当該第3のオブジェクトに関連付けられた第3のログデータに少なくとも部分的に基づいて、当該運転シミュレーション中に第3のシミュレートされたオブジェクトを制御することと、第3の相互作用に関連づけられた時間における当該シミュレートされた自律車両の位置と、当該第3のログデータ内の当該第3のオブジェクトの対応する位置との間の距離を決定することと、当該シミュレートされた自律車両と当該第3のシミュレートされたオブジェクトとの間の当該運転シミュレーションにおける当該第3の相互作用を決定することと、を含み、当該第3の相互作用を決定した後に当該第3のシミュレートされたオブジェクトを制御することは、当該環境内の当該第3のオブジェクトに対応するように当該第3のログデータに少なくとも部分的に基づくシステム。 E. The system of paragraph A, wherein the operation is based at least in part on third log data associated with the third object in the environment, wherein the operation is performed on a third simulated object during the driving simulation. between controlling an object and the position of the simulated autonomous vehicle at a time associated with the third interaction and the corresponding position of the third object in the third log data. and determining the third interaction between the simulated autonomous vehicle and the third simulated object in the driving simulation, the third interaction between the simulated autonomous vehicle and the third simulated object. controlling the third simulated object after determining an interaction of the system is based at least in part on the third log data to correspond to the third object in the environment.

F.方法であって、運転シミュレーションを実行することであって、当該運転シミュレーションは、環境における車両に関連付けられたログデータに少なくとも部分的に基づき、当該ログデータは当該環境における第1のオブジェクトに関連付けられた第1のログデータを含むことと、第1の時間期間において、第1のシミュレートされたオブジェクトを、当該環境内の当該第1のオブジェクトと対応させるために制御することと、当該運転シミュレーションにおける、当該第1のシミュレートされたオブジェクトと第2のシミュレートされたオブジェクトとの間の相互作用を決定することと、当該第1の時間期間後の当該運転シミュレーションにおける第2の時間期間中に、計画コンポーネントを使用して当該第1のシミュレートされたオブジェクトを制御することと、を含む方法。 F. The method comprises: performing a driving simulation, the driving simulation being based at least in part on log data associated with a vehicle in an environment, the log data being associated with a first object in the environment. controlling a first simulated object to correspond with the first object in the environment during a first time period; determining an interaction between the first simulated object and a second simulated object during a second time period in the driving simulation after the first time period; controlling the first simulated object using a planning component.

G.段落Fの方法であって、当該ログデータは、当該環境における第2のオブジェクトに関連付けられた第2のログデータを含み、当該方法は、当該第2のログデータにおける当該第2のオブジェクトの位置と当該運転シミュレーションにおける前第2のシミュレートされたオブジェクトの相対的な位置との間の距離を決定することと、当該距離が閾値距離を満たす又は超えることを決定することに少なくとも部分的に基づいて、当該第1のシミュレートされたオブジェクトを制御するために当該計画コンポーネントを開始することと、をさらに含む方法。 G. The method of paragraph F, wherein the log data includes second log data associated with a second object in the environment, and the method comprises determining the position of the second object in the second log data. and a relative position of a second simulated object in the driving simulation; and determining that the distance meets or exceeds a threshold distance. and initiating the planning component to control the first simulated object.

H.段落Fの方法であって、当該第1のシミュレートされたオブジェクトに関連付けられた運転属性を決定することと、当該第1のシミュレートされたオブジェクトに対する目的地を決定することと、当該運転属性に関連付けられた第1のパラメータ、及び当該目的地に関連付けられた第2のパラメータを当該計画コンポーネントに提供することであって、当該計画コンポーネントは、当該第1のパラメータ及び当該第2のパラメータに少なくとも部分的に基づいた当該運転シミュレーションにおいて、当該第1のシミュレートされたオブジェクトを制御するように構成されることと、をさらに含む方法。 H. The method of paragraph F, comprising: determining a driving attribute associated with the first simulated object; determining a destination for the first simulated object; and determining the driving attribute. providing the planning component with a first parameter associated with the destination and a second parameter associated with the destination, the planning component providing the first parameter with the destination and the second parameter with the destination; and being configured to control the first simulated object in the driving simulation based at least in part.

I.段落Hの方法であって、当該第1のシミュレートされたオブジェクトに関連付けられた当該運転属性、及び、当該第1のシミュレートされたオブジェクトに関連付けられた当該目的地は、当該第1のログデータに少なくとも部分的に基づいて決定される方法。 I. The method of paragraph H, wherein the driving attributes associated with the first simulated object and the destination associated with the first simulated object are stored in the first log. A method determined based at least in part on data.

J.段落Fの方法であって、当該運転シミュレーションにおける当該第2の時間期間中、当該ログデータに少なくとも部分的に基づいて、第3のシミュレートされたオブジェクトを制御することと、当該運転シミュレーションにおける、当該第1のシミュレートされたオブジェクトと当該第3のシミュレートされたオブジェクトとの間の第2の相互作用を決定することと、当該第2の時間期間後の当該運転シミュレーションにおける第3の時間期間中、当該計画コンポーネントを使用して当該第3のシミュレートされたオブジェクトを制御することであって、当該計画コンポーネント使用して当該第3のシミュレートされたオブジェクトを制御することは、当該第2の相互作用を決定することに少なくとも部分的に基づくことと、をさらに含む方法。 J. The method of paragraph F, comprising: controlling a third simulated object based at least in part on the log data during the second time period in the driving simulation; determining a second interaction between the first simulated object and the third simulated object; and a third time in the driving simulation after the second time period. controlling the third simulated object using the planning component during the period, wherein controlling the third simulated object using the planning component comprises: 2.

K.段落Fの方法であって、当該運転シミュレーションにおける当該第2の時間期間中、当該ログデータに少なくとも部分的に基づいて、第3のシミュレートされたオブジェクトを制御することと、当該運転シミュレーションにおける当該第1のシミュレートされたオブジェクトと当該第3のシミュレートされたオブジェクトとの間の第2の相互作用を決定することと、をさら含み、当該第2の相互作用を決定することの後に、当該第3のシミュレートされたオブジェクトを制御することは、当該ログデータに基づく方法。 K. The method of paragraph F, comprising: controlling a third simulated object based at least in part on the log data during the second time period in the driving simulation; determining a second interaction between the first simulated object and the third simulated object, after determining the second interaction; Controlling the third simulated object is based on the log data.

L.段落Fの方法であって、当該相互作用を決定することは、当該運転シミュレーションの時間における当該第1のシミュレートされたオブジェクトに関連付けられた第1の経路に基づく第1の境界ボックスを決定することと、当該運転シミュレーションの当該時間における当該第2のシミュレートされたオブジェクトに関連付けられた第2の経路に基づく第2の境界ボックスを決定することと、当該第1の境界ボックスと当該第2の境界ボックスとの重なりを決定することと、を含む方法。 L. The method of paragraph F, wherein determining the interaction includes determining a first bounding box based on a first path associated with the first simulated object at the time of the driving simulation. determining a second bounding box based on a second path associated with the second simulated object at the time of the driving simulation; and determining the overlap with the bounding box of .

M.段落Fの方法であって、当該第1のシミュレートされたオブジェクトは、シミュレートされた自転車、又はシミュレートされた歩行者の少なくとも1つを含む方法。 M. The method of paragraph F, wherein the first simulated object includes at least one of a simulated bicycle or a simulated pedestrian.

N.1つ又は複数の非一時的コンピュータ可読媒体であって、実行されると、運転シミュレーションを実行することであって、当該運転シミュレーションは、環境における車両に関連付けられたログデータに少なくとも部分的に基づき、当該ログデータは当該環境における第1のオブジェクトに関連付けられた第1のログデータを含むことと、第1の時間期間において、第1のシミュレートされたオブジェクトを、当該環境内の当該第1のオブジェクトと対応させるために制御することと、当該運転シミュレーションにおける、当該第1のシミュレートされたオブジェクトと第2のシミュレートされたオブジェクトとの間の相互作用を決定することと、当該第1の時間期間後の当該運転シミュレーションにおける第2の時間期間中に、計画コンポーネントを使用して当該第1のシミュレートされたオブジェクトを制御することと、を含む動作を当該プロセッサに実行させるプロセッサにより実行可能な指令を格納した、非一時的コンピュータ可読媒体。 N. one or more non-transitory computer-readable media that, when executed, performs a driving simulation, the driving simulation being based at least in part on log data associated with a vehicle in an environment; , the log data includes first log data associated with a first object in the environment; and in a first time period, the first simulated object is associated with the first object in the environment. determining an interaction between the first simulated object and a second simulated object in the driving simulation; controlling the first simulated object using a planning component during a second time period in the driving simulation after a time period of . A non-transitory computer-readable medium containing possible instructions.

O.段落Nの1つ又は複数の非一時的コンピュータ可読媒体であって、当該ログデータは、当該環境における第2のオブジェクトに関連付けられた第2のログデータを含み、当該動作は、当該第2のログデータにおける当該第2のオブジェクトの位置と当該運転シミュレーションにおける当該第2のシミュレートされたオブジェクトの相対的な位置との間の距離を決定することと、当該距離が閾値距離を満たす又は超えることを決定することに少なくとも部分的に基づいて、当該第1のシミュレートされたオブジェクトを制御するために当該計画コンポーネントを開始することと、をさらに含む非一時的コンピュータ可読媒体。 O. the one or more non-transitory computer-readable media of paragraph N, wherein the log data includes second log data associated with a second object in the environment; determining a distance between a position of the second object in the log data and a relative position of the second simulated object in the driving simulation, and the distance meeting or exceeding a threshold distance; initiating the planning component to control the first simulated object based at least in part on determining the non-transitory computer-readable medium.

P.段落Nの1つ又は複数の非一時的コンピュータ可読媒体であって、当該動作は、当該第1のシミュレートされたオブジェクトに関連付けられた運転属性を決定することと、当該第1のシミュレートされたオブジェクトに対する目的地を決定することと、当該運転属性に関連付けられた第1のパラメータ、及び当該目的地に関連付けられた第2のパラメータを当該計画コンポーネントに提供することであって、当該計画コンポーネントは、当該第1のパラメータ及び当該第2のパラメータに少なくとも部分的に基づいた当該運転シミュレーションにおいて、当該第1のシミュレートされたオブジェクトを制御するように構成されることと、をさらに含む非一時的コンピュータ可読媒体。 P. The one or more non-transitory computer-readable media of paragraph N, wherein the operations include determining driving attributes associated with the first simulated object; determining a destination for the object, and providing the planning component with a first parameter associated with the driving attribute and a second parameter associated with the destination, the planning component comprising: determining a destination for the object; further comprising: being configured to control the first simulated object in the driving simulation based at least in part on the first parameter and the second parameter. computer-readable medium.

Q.段落Pの1つ又は複数の非一時的コンピュータ可読媒体であって、当該第1のシミュレートされたオブジェクトに関連付けられた当該運転属性、及び、当該第1のシミュレートされたオブジェクトに関連付けられた当該目的地は、当該第1のログデータに少なくとも部分的に基づいて決定される非一時的コンピュータ可読媒体。 Q. one or more non-transitory computer-readable media of paragraph P, the driving attributes associated with the first simulated object; The destination is determined based at least in part on the first log data.

R.段落Nの1つ又は複数の非一時的コンピュータ可読媒体であって、当該動作は、当該運転シミュレーションにおける当該第2の時間期間中、当該ログデータに少なくとも部分的に基づいて、第3のシミュレートされたオブジェクトを制御することと、当該運転シミュレーションにおける、当該第1のシミュレートされたオブジェクトと当該第3のシミュレートされたオブジェクトとの間の第2の相互作用を決定することと、当該第2の時間期間後の当該運転シミュレーションにおける第3の時間期間中、当該計画コンポーネントを使用して当該第3のシミュレートされたオブジェクトを制御することであって、当該計画コンポーネント使用して当該第3のシミュレートされたオブジェクトを制御することは、当該第2の相互作用を決定することに少なくとも部分的に基づくことと、をさらに含む非一時的コンピュータ可読媒体。 R. the one or more non-transitory computer-readable media of paragraph N, wherein the operation is performed during the second time period in the driving simulation based at least in part on the log data; determining a second interaction between the first simulated object and the third simulated object in the driving simulation; controlling the third simulated object using the planning component during a third time period in the driving simulation after the two time periods; controlling the simulated object of the non-transitory computer-readable medium further comprising: based at least in part on determining the second interaction.

S.段落Nの1つ又は複数の非一時的コンピュータ可読媒体であって、当該動作は、当該運転シミュレーションにおける当該第2の時間期間中、当該ログデータに少なくとも部分的に基づいて、第3のシミュレートされたオブジェクトを制御することと、当該運転シミュレーションにおける当該第1のシミュレートされたオブジェクトと当該第3のシミュレートされたオブジェクトとの間の第2の相互作用を決定することと、をさらに含み、当該第2の相互作用を決定することの後に、当該第3のシミュレートされたオブジェクトを制御することは、当該ログデータに基づく非一時的コンピュータ可読媒体。 S. the one or more non-transitory computer-readable media of paragraph N, wherein the operation is performed during the second time period in the driving simulation based at least in part on the log data; and determining a second interaction between the first simulated object and the third simulated object in the driving simulation. , controlling the third simulated object after determining the second interaction is based on the log data on a non-transitory computer-readable medium.

T.段落Nの1つ又は複数の非一時的コンピュータ可読媒体であって、当該相互作用を決定することは、当該運転シミュレーションの時間における当該第1のシミュレートされたオブジェクトに関連付けられた第1の経路に基づく第1の境界ボックスを決定することと、当該運転シミュレーションの当該時間における当該第2のシミュレートされたオブジェクトに関連付けられた第2の経路に基づく第2の境界ボックスを決定することと、当該第1の境界ボックスと当該第2の境界ボックスとの重なりを決定することと、を含む非一時的コンピュータ可読媒体。 T. the one or more non-transitory computer-readable media of paragraph N, wherein determining the interaction is a first path associated with the first simulated object at the time of the driving simulation; and determining a second bounding box based on a second path associated with the second simulated object at the time of the driving simulation; determining an overlap between the first bounding box and the second bounding box.

U.1つ又は複数のプロセッサと、実行されると、環境に関連付けられたログデータを受信することであって、当該ログデータは、当該環境内のオブジェクトに関連付けられた第1のログデータを含むことと、当該オブジェクトを車両として分類することと、当該車両を第1の車両として識別することと、当該第1のログデータに少なくとも部分的に基づいて、当該ログデータ内の他の車両ではなく当該第1の車両に関連付けられた第1の運転属性を決定することと、当該環境に対応するシミュレートされた環境と、当該第1の車両に対応する第1のシミュレートされた車両と、を含む運転シミュレーションを実行することであって、当該第1のシミュレートされた車両は、計画コンポーネントによって制御されることと、当該計画コンポーネントを使用して、当該第1の車両に関連付けられた当該第1の運転属性に少なくとも部分的に基づいて、当該第1のシミュレートされた車両の運転決定を決定することと、当該運転決定に少なくとも部分的に基づいて、当該運転シミュレーション中に当該第1のシミュレートされた車両を制御することと、を含む動作を1つ又は複数のプロセッサに実行させるコンピュータ実行可能指令を格納した1つ又は複数のコンピュータ可読媒体と、を含むシステム。 U. one or more processors; and, when executed, receiving log data associated with an environment, the log data including first log data associated with an object within the environment. identifying the object as a vehicle; and identifying the object as a first vehicle based at least in part on the first log data rather than other vehicles in the log data. determining a first driving attribute associated with a first vehicle; a simulated environment corresponding to the environment; and a first simulated vehicle corresponding to the first vehicle. performing a driving simulation including: the first simulated vehicle being controlled by a planning component; and using the planning component to perform a driving simulation including: determining a driving decision for the first simulated vehicle based at least in part on a driving attribute of the first simulated vehicle; 1. A system comprising: controlling a simulated vehicle; and one or more computer-readable media storing computer-executable instructions that cause one or more processors to perform operations.

V.段落Uのシステムであって、当該動作は、当該ログデータ内の第2のログデータに少なくとも部分的に基づいて、当該環境内の第2の車両に関連付けられた第2の運転属性を決定することであって、当該第2の運転属性が当該第1の運転属性と異なることと、当該第2の運転属性に少なくとも部分的に基づいて、当該運転シミュレーション中に第2のシミュレートされた車両を制御することと、をさらに含むシステム。 V. The system of paragraph U, wherein the operation determines a second driving attribute associated with a second vehicle in the environment based at least in part on second log data in the log data. the second driving attribute being different from the first driving attribute; and a system further comprising:

W.段落Uのシステムであって、当該第1の車両に関連付けられた当該第1の運転属性を決定することは、当該ログデータに基づいて、当該第1の車両の運転挙動の第1のインスタンスに関連付けられた第1の値と、当該第1の車両の運転挙動の第2のインスタンスに関連付けられた第2の値とを決定することと、当該第1値と当該第2の値に基づいて、当該第1の運転属性に関連付けられた分布を少なくとも部分的に決定することとを含み、当該第1のシミュレートされた車両の運転決定を決定することは、当該分布から第3の値をサンプリングすることを含むシステム。 W. The system of paragraph U, wherein determining the first driving attribute associated with the first vehicle includes: determining the first driving attribute associated with the first vehicle based on the log data; determining an associated first value and a second value associated with a second instance of driving behavior of the first vehicle; and based on the first value and the second value. , at least partially determining a distribution associated with the first driving attribute, and determining a driving decision for the first simulated vehicle includes determining a third value from the distribution. A system that includes sampling.

X.段落Uのシステムであって、当該環境を横断する当該第1の車両の第1の運転経路は、シミュレートされた環境を横断する当該第1のシミュレートされた車両のための当該計画コンポーネントによって決定された第2の運転経路とは異なるシステム。 X. The system of paragraph U, wherein the first driving path for the first vehicle traversing the environment is determined by the planning component for the first simulated vehicle traversing the simulated environment. A system different from the determined second driving route.

Y.段落Uのシステムであって、当該第1のシミュレートされた車両の運転決定を決定することは、当該第1のログデータに少なくとも部分的に基づいて、当該第1の車両に関連付けられた第1の運転属性の第1の値を決定することと、当該運転決定に関連付けられた第2の運転属性を決定することと、当該第1の運転属性と当該第2の運転属性との間の相互作用に関連付けられた重み値を決定することと、当該第1の運転属性の当該第1の値と当該重み値とに少なくとも部分的に基づいて、当該第2の運転属性の当該第2の値を決定することと、を含むシステム。 Y. The system of paragraph U, wherein determining a driving decision for the first simulated vehicle includes determining a driving decision for the first simulated vehicle based at least in part on the first log data. determining a first value of a driving attribute; determining a second driving attribute associated with the driving decision; and determining a first driving attribute between the first driving attribute and the second driving attribute. determining a weight value associated with the interaction; and determining the second value of the second driving attribute based at least in part on the first value of the first driving attribute and the weight value. A system comprising: determining a value;

Z.方法であって、環境に関連付けられたログデータを受信することであって、当該ログデータは、当該環境内の第1のオブジェクトに関連付けられた第1のログデータを含むことと、当該第1のログデータに少なくとも部分的に基づいて、第1のオブジェクトに関連付けられた挙動属性を決定することと、計画コンポーネントによって制御される第1のシミュレートされたオブジェクトを含むシミュレーションを実行することと、当該計画コンポーネントを使用して、当該シミュレーション中の当該第1のシミュレートされたオブジェクトの決定を決定することであって、当該決定は、当該第1のオブジェクトに関連付けられた当該挙動属性に少なくとも部分的に基づくことと、を含む方法。 Z. The method comprises: receiving log data associated with an environment, the log data including first log data associated with a first object within the environment; determining behavioral attributes associated with the first object based at least in part on log data of the first object; and performing a simulation including the first simulated object controlled by the planning component. using the planning component to determine a decision of the first simulated object during the simulation, the decision determining at least in part the behavioral attributes associated with the first object; A method comprising:

AA.段落Zの方法であって、当該ログデータ内の第2のログデータに少なくとも部分的に基づいて、当該環境内の第2のオブジェクトに関連付けられた第2の挙動属性を決定することであって、当該第2の挙動属性が当該挙動属性と異なることと、当該第2の挙動属性に少なくとも部分的に基づいて、当愛シミュレーション中に第2のシミュレートされたオブジェクトを制御することと、をさらに含む方法。 A.A. The method of paragraph Z, the method comprising: determining a second behavioral attribute associated with a second object in the environment based at least in part on second log data in the log data; , the second behavioral attribute is different from the behavioral attribute, and controlling the second simulated object during the simulation based at least in part on the second behavioral attribute. How to include more.

AB.段落AAの方法であって、当該第1のシミュレートされたオブジェクトは、当該シミュレーション内のシミュレートされた電動車両であり、当該第2のシミュレートされたオブジェクトは、当該シミュレーション内の歩行者オブジェクト又は非電動車両オブジェクトの少なくとも1つである方法。 AB. The method of paragraph AA, wherein the first simulated object is a simulated electric vehicle in the simulation, and the second simulated object is a pedestrian object in the simulation. or a non-motorized vehicle object.

AC.段落Zの方法であって、当該第1のオブジェクトに関連付けられた当該挙動属性を決定することは、当該ログデータに基づいて、当該第1のオブジェクトの挙動の第1のインスタンスに関連付けられた第1の値と、当該第1のオブジェクトの挙動の第2のインスタンスに関連付けられた第2の値とを決定することと、当該第1の値と当該第2の値とを集約して、当該第1のオブジェクトの当該挙動属性に関連付けられた値を決定することとを含む方法。 A.C. The method of paragraph Z, wherein determining the behavior attribute associated with the first object includes determining the behavior attribute associated with the first instance of the behavior of the first object based on the log data. 1 and a second value associated with a second instance of the behavior of the first object; and aggregating the first value and the second value to determine the value of the first object. determining a value associated with the behavioral attribute of the first object.

AD.段落Zの方法であって、当該ログデータに基づいて、当該第1のオブジェクトに関連付けられた当該環境内の目的地を決定することと、当該ログデータに基づいて、当該シミュレーション内の第1のシミュレートされたオブジェクトのシミュレートされた目的地を決定することであって、当該第1のシミュレートされたオブジェクトの決定を決定することは、当該シミュレートされた目的地に少なくとも部分的に基づくことと、をさらに含む方法。 A.D. The method of paragraph Z, comprising: determining, based on the log data, a destination in the environment associated with the first object; determining a simulated destination of a simulated object, wherein determining the determination of the first simulated object is based at least in part on the simulated destination; and how to further include.

AE.段落Zの方法であって、当該環境内の第2のオブジェクトに関連付けられた第2のログデータを決定することであって、当該第1のオブジェクト及び当該第2のオブジェクトが同じオブジェクト分類を有することと、当該第2のログデータに少なくとも部分的に基づいて、当該第2のオブジェクトに関連付けられた第2の挙動属性を決定することであって、当該第1のシミュレートされたオブジェクトの決定を決定することが、当該第2のオブジェクトに関連づけられた当該第2の挙動属性に少なくとも部分的に基づくことと、をさらに含む方法。 A.E. The method of paragraph Z, comprising: determining second log data associated with a second object in the environment, the first object and the second object having the same object classification; and determining a second behavioral attribute associated with the second object based at least in part on the second log data, the first simulated object determining a second behavioral attribute associated with the second object. the method further comprising: determining the second behavioral attribute based at least in part on the second behavioral attribute associated with the second object.

AF.段落Zの方法であって、当該第1のログデータに少なくとも部分的に基づいて、当該環境を横断する当該第1のオブジェクトの第1の経路を決定することと、計画コンポーネントによって、当該シミュレーションのシミュレートされた環境を横断する当該第1のシミュレートされたオブジェクトの第2の経路を決定することであって、当該第1のオブジェクトの当該第1の経路は、当該第1のシミュレートされたオブジェクトの当該計画コンポーネントによって決定された当該第2の経路とは異なることと、をさらに含む方法。 AF. The method of paragraph Z, comprising: determining a first path of the first object across the environment based at least in part on the first log data; determining a second path of the first simulated object across a simulated environment, the first path of the first object being determined by the first simulated object; differing from the second path determined by the planning component of the selected object.

AG.段落Zの方法であって、当該第1のシミュレートされたオブジェクトの当該決定を決定することが、当該第1のログデータに少なくとも部分的に基づいて、当該第1のオブジェクトに関連付けられた当該挙動属性の第1の値を決定することと、当該挙動属性と第2の挙動属性との間の相関に関連づけられた重み値を決定することと、当該挙動属性のつがい第1の値と当該重み値とに少なくとも部分的に基づいて、当該第2の挙動属性の当該第2の値を決定することと、当該第2の挙動属性の当該第2の値に少なくとも部分的に基づいて決定を決定することと、含む方法。 A.G. The method of paragraph Z, wherein determining the determination of the first simulated object is based at least in part on the first log data, determining a first value of a behavioral attribute; determining a weight value associated with a correlation between the behavioral attribute and a second behavioral attribute; determining the second value of the second behavioral attribute based at least in part on the weight value; and determining the second value of the second behavioral attribute based at least in part on the second value of the second behavioral attribute. How to decide and include.

AH.プロセッサによって実行可能な指令を格納した1つ又は複数の非一時的コンピュータ可読媒体であって、当該指令が実行されると、当該プロセッサに、環境に関連付けられたログデータを受信することであって、当該ログデータは、当該環境内の第1のオブジェクトに関連付けられた第1のログデータを含むことと、当該第1のログデータに少なくとも部分的に基づいて、第1のオブジェクトに関連付けられた挙動属性を決定することと、計画コンポーネントによって制御される第1のシミュレートされたオブジェクトを含むシミュレーションを実行することと、当該計画コンポーネントを使用して、当該シミュレーション中の当該第1のシミュレートされたオブジェクトの決定を決定することであって、当該決定は、当該第1のオブジェクトに関連付けられた当該挙動属性に少なくとも部分的に基づくことと、を含む動作を実行させる非一時的コンピュータ可読媒体。 A.H. one or more non-transitory computer-readable media storing instructions executable by a processor, the instructions being executed to cause the processor to receive log data associated with an environment; , the log data includes first log data associated with a first object in the environment; and based at least in part on the first log data, the log data is associated with a first object. determining behavioral attributes of the first simulated object during the simulation; determining a determination of a first object, the determination being based at least in part on the behavioral attribute associated with the first object.

AI.段落AHの1つ又は複数の非一時的コンピュータ可読媒体であって、当該動作は、当該ログデータ内の第2のログデータに少なくとも部分的に基づいて、当該環境内の第2のオブジェクトに関連付けられた第2の挙動属性を決定することであって、当該第2の挙動属性が当該挙動属性と異なることと、当該第2の挙動属性に少なくとも部分的に基づいて、当愛シミュレーション中に第2のシミュレートされたオブジェクトを制御することと、をさらに含む非一時的コンピュータ可読媒体。 A.I. one or more non-transitory computer-readable media of paragraph AH, wherein the operation is associated with a second object in the environment based at least in part on second log data in the log data; determining a second behavioral attribute that is different from the behavioral attribute, the second behavioral attribute being different from the behavioral attribute; controlling the simulated object of 2.

AJ.段落AHの1つ又は複数の非一時的コンピュータ可読媒体であって、当該第1のオブジェクトに関連付けられた当該挙動属性を決定することは、当該ログデータに基づいて、当該第1のオブジェクトの挙動の第1のインスタンスに関連付けられた第1の値と、当該第1のオブジェクトの挙動の第2のインスタンスに関連付けられた第2の値とを決定することと、当該第1の値と当該第2の値とを集約して、当該第1のオブジェクトの当該挙動属性に関連付けられた値を決定することとを含む非一時的コンピュータ可読媒体。 A.J. the one or more non-transitory computer-readable media of paragraph AH, wherein determining the behavioral attributes associated with the first object determines the behavior of the first object based on the log data; determining a first value associated with a first instance of the behavior of the first object and a second value associated with a second instance of the behavior of the first object; and determining a value associated with the behavioral attribute of the first object.

AK.段落AHの1つ又は複数の非一時的コンピュータ可読媒体であって、当該動作は、当該ログデータに基づいて、当該第1のオブジェクトに関連付けられた当該環境内の目的地を決定することと、当該ログデータに基づいて、当該シミュレーション内の第1のシミュレートされたオブジェクトのシミュレートされた目的地を決定することであって、当該第1のシミュレートされたオブジェクトの決定を決定することは、当該シミュレートされた目的地に少なくとも部分的に基づくことと、をさらに含む非一時的コンピュータ可読媒体。 A.K. the one or more non-transitory computer-readable media of paragraph AH, wherein the operations include determining a destination within the environment associated with the first object based on the log data; determining a simulated destination of a first simulated object in the simulation based on the log data; , based at least in part on the simulated destination.

AL.段落AHの1つ又は複数の非一時的コンピュータ可読媒体であって、当該動作は、当該環境内の第2のオブジェクトに関連付けられた第2のログデータを決定することであって、当該第1のオブジェクト及び当該第2のオブジェクトが同じオブジェクト分類を有することと、当該第2のログデータに少なくとも部分的に基づいて、当該第2のオブジェクトに関連付けられた第2の挙動属性を決定することであって、当該第1のシミュレートされたオブジェクトの決定を決定することが、当該第2のオブジェクトに関連づけられた当該第2の挙動属性に少なくとも部分的に基づくことと、をさらに含む非一時的コンピュータ可読媒体。 AL. one or more non-transitory computer-readable media of paragraph AH, wherein the operation is to determine second log data associated with a second object in the environment; and the second object have the same object classification; and determining a second behavioral attribute associated with the second object based at least in part on the second log data. and determining the first simulated object's determination is based at least in part on the second behavioral attribute associated with the second object. computer readable medium.

AM.段落AHの1つ又は複数の非一時的コンピュータ可読媒体であって、当該動作は、当該第1のログデータに少なくとも部分的に基づいて、当該環境を横断する当該第1のオブジェクトの第1の経路を決定することと、計画コンポーネントによって、当該シミュレーションのシミュレートされた環境を横断する当該第1のシミュレートされたオブジェクトの第2の経路を決定することであって、当該第1のオブジェクトの当該第1の経路は、当該第1のシミュレートされたオブジェクトの当該計画コンポーネントによって決定された当該第2の経路とは異なることと、をさらに含む非一時的コンピュータ可読媒体。 A.M. the one or more non-transitory computer-readable media of paragraph AH, wherein the operation is based at least in part on the first log data of the first object of the first object across the environment; determining, by a planning component, a second path of the first simulated object across the simulated environment of the simulation; the first path being different from the second path determined by the planning component of the first simulated object.

AN.段落AHの1つ又は複数の非一時的コンピュータ可読媒体であって、当該第1のシミュレートされたオブジェクトの当該決定を決定することが、当該第1のログデータに少なくとも部分的に基づいて、当該第1のオブジェクトに関連付けられた当該挙動属性の第1の値を決定することと、当該挙動属性と第2の挙動属性との間の相関に関連づけられた重み値を決定することと、当該挙動属性のつがい第1の値と当該重み値とに少なくとも部分的に基づいて、当該第2の挙動属性の当該第2の値を決定することと、当該第2の挙動属性の当該第2の値に少なくとも部分的に基づいて決定を決定することと、含む非一時的コンピュータ可読媒体。 A.N. the one or more non-transitory computer-readable media of paragraph AH, wherein determining the determination of the first simulated object is based at least in part on the first log data; determining a first value of the behavioral attribute associated with the first object; determining a weight value associated with a correlation between the behavioral attribute and the second behavioral attribute; determining the second value of the second behavioral attribute based at least in part on the first value of the pair of behavioral attributes and the weight value; determining a determination based at least in part on a value; and a non-transitory computer-readable medium.

上述した例示的な条項は、特定の実装に関して述べられているが、本明細書の文脈において、例示的な条項の内容は、方法、デバイス、システム、コンピュータ可読能媒体、及び/又は別の実装を介して実行され得ることが理解されるべきである。さらに、例A~ANはいずれも、単独で、又は他の例A~ANのいずれか1つ又は複数と組み合わせて実装され得る。 Although the example provisions described above are described with respect to a particular implementation, in the context of this specification, the subject matter of the example provisions is applicable to a method, device, system, computer-readable medium, and/or another implementation. It should be understood that it may be performed via Furthermore, any of Examples A-AN may be implemented alone or in combination with any one or more of the other Examples A-AN.

(結言)
本明細書で述べられる手法の1つ又は複数の例が説明されてきたが、その様々な変更、追加、置換及び等価物は、本明細書に述べられる手法の範囲内に含まれる。
(Conclusion)
Although one or more examples of the techniques described herein have been described, various modifications, additions, substitutions, and equivalents thereof are included within the scope of the techniques described herein.

例の説明において、本明細書の一部を構成する添付図面を参照しているが、この図面は、特許請求される主題の特定の例を例示的に示すものである。他の例が使用されてもよく、構造的変更などの変更又は改変がなされてもよいことを理解されたい。そのような例、変更又は改変は、意図された特許請求される主題に関する範囲から必ずしも逸脱するものではない。本明細書に述べられる手順は、ある順序で示され得るが、場合によっては、順序を変更して、記載されるシステム及び方法の機能を変更することなく、特定の入力が異なる時間又は異なる順序で提供されるようにしてもよい。また、開示された手順は、異なる順序で実行されてもよい。さらに、本明細書に記載される様々な計算は、開示された順序で実行される必要はなく、計算の代替順序を使用する他の例が容易に実施され得る。順序を変更することに加えて、計算を、同じ結果を有するサブ計算に分解されてもよい。 In the description of the examples, reference is made to the accompanying drawings, which constitute a part of the specification, and which illustrate by way of example particular examples of the claimed subject matter. It is to be understood that other examples may be used and changes or modifications may be made, such as structural changes. Such examples, changes, or modifications do not necessarily depart from the scope of the intended claimed subject matter. Although the procedures described herein may be presented in an order, the order may in some cases be changed so that certain inputs occur at different times or in a different order without changing the functionality of the systems and methods described. It may be provided in Also, the disclosed procedures may be performed in a different order. Furthermore, the various calculations described herein need not be performed in the order disclosed, and other examples using alternative orders of calculations may be readily implemented. In addition to changing the order, calculations may be decomposed into sub-calculations with the same result.

本主題は、構造的特徴及び/又は方法論的行為に特有の言語で記載されているが、添付の特許請求の範囲に定義される主題は、必ずしも記載された特定の特徴又は行為に限定されるものではないことを理解されたい。むしろ、特定の特徴及び行為は、特許請求の範囲を実施する例示的な形態として開示されている。 Although the subject matter has been described in language specific to structural features and/or methodological acts, the subject matter as defined in the appended claims is not necessarily limited to the specific features or acts described. I want you to understand that this is not a thing. Rather, the specific features and acts are disclosed as example forms of implementing the claims.

本明細書で述べられる構成要素は、任意のタイプのコンピュータ可読媒体に格納され得る指令を表し、ソフトウェア及び/又はハードウェアで実装され得る。上述した方法及びプロセスの全ては、1つ又は複数のコンピュータ又はプロセッサ、ハードウェア、又はそれらの組み合わせによって実行されるソフトウェアコードモジュール及び/又はコンピュータ実行可能な指令に具現化され、それを介して完全に自動化されてもよい。方法の一部又は全部は、代替的に、特殊なコンピュータハードウェアに具現化されてもよい。 The components described herein represent instructions that may be stored on any type of computer-readable medium and may be implemented in software and/or hardware. All of the methods and processes described above may be embodied in and/or implemented in software code modules and/or computer-executable instructions executed by one or more computers or processors, hardware, or a combination thereof. may be automated. Part or all of the method may alternatively be embodied in specialized computer hardware.

特に、「可能性がある」、「得る」、「してよい」、又は「ことがある」などの条件付き文言は、特に別段の記載がない限り、文脈内で、特定の例が特定の特徴、要素、及び/又はステップを含み、一方、他の例が特定の特徴、要素、及び/又はステップを含まないことを示すものと理解される。したがって、このような条件付き表現は、一般に、特定の特徴、要素、及び/又はステップが、1つ又は複数の例に対して何らかの形で必要であること、あるいは、1つ又は複数の例が、ユーザー入力又はプロンプトの有無にかかわらず、特定の特徴、要素、及び/又はステップが、任意の特定の例に含まれるか、又は実行されるかどうかを決定するためのロジックを必ず含むことを意味するものではない。 In particular, conditional phrases such as "may," "obtain," "may," or "may" mean that a particular example It is understood that some examples may include certain features, elements, and/or steps, while other examples may indicate that certain features, elements, and/or steps are not included. Thus, such conditional expressions generally indicate that a particular feature, element, and/or step is required in some way for one or more instances, or that one or more instances , necessarily include logic for determining whether a particular feature, element, and/or step is included or executed in any particular instance, with or without user input or prompting. It doesn't mean anything.

「X、Y、Zのうち少なくとも1つ」というような接続詞は、特に断りのない限り、項目、用語などが、X、Y、Zのいずれか、又は各要素の倍数を含むそれらの任意の組み合わせである可能性があることを示すものと理解される。単数形として明示されていない限り、「a」は単数形及び複数形を意味する。 Unless otherwise specified, a conjunction such as "at least one of X, Y, or Z" means that the item, term, etc. includes any of X, Y, or Z, or multiples of each element. This is understood to indicate that there is a possibility of a combination. Unless explicitly stated as singular, "a" means singular and plural.

本明細書で述べられ、及び/又は添付図に描かれているフロー図におけるルーチンの記述、要素又はブロックは、ルーチン内の特定の論理機能又は要素を実施するための1つ又は複数のコンピュータ実行可能な指令を含むモジュール、セグメント、又はコードの一部を表す可能性があると理解されるべきである。本明細書で述べられる例の範囲内には、当業者であれば理解できるように、関係する機能に応じて、要素又は機能が削除されたり、実質的に同期して、逆の順序で、追加の動作を伴って、又は動作が省略されるなど、図示又は議論される順序とは異なる順序で実行されたりする代替的な実装が含まれる。 The routine descriptions, elements, or blocks in the flow diagrams described herein and/or depicted in the accompanying figures represent one or more computer implementations for performing particular logical functions or elements within the routine. It should be understood that it may represent a module, segment, or portion of code that includes possible instructions. Within the scope of the examples set forth herein, elements or functionality may be deleted, substantially synchronized, or in reverse order, depending on the functionality involved, as will be understood by those skilled in the art. Alternate implementations are included, such as with additional acts or with acts omitted, or performed in a different order than that illustrated or discussed.

上述した例に対して多くの変形例及び修正が行われてよく、その要素は他の許容可能な実施例の中に含まれるものとして理解される。全てのそのような修正及び変形は、本開示の範囲内に本明細書に含まれ、以下の特許請求の範囲によって保護されることが意図される。 Many variations and modifications may be made to the examples described above, and the elements thereof are understood to be included among other acceptable embodiments. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.

Claims (15)

システムであって、
1つ又は複数のプロセッサと、
実行されると、
運転シミュレーションを実行することであって、前記運転シミュレーションは、環境における車両に関連付けられたログデータに少なくとも部分的に基づき、前記ログデータは前記環境における第1のオブジェクトに関連付けられた第1のログデータを含むことと、
第1の時間期間において、第1のシミュレートされたオブジェクトを、前記環境内の前記第1のオブジェクトと対応させるために制御することと、
前記運転シミュレーションにおける、前記第1のシミュレートされたオブジェクトと第2のシミュレートされたオブジェクトとの間の相互作用を決定することと、
前記第1の時間期間後の前記運転シミュレーションにおける第2の時間期間中に、計画コンポーネントを使用して前記第1のシミュレートされたオブジェクトを制御することと、
を備えた動作を前記1つ又は複数のプロセッサに実行させるコンピュータ実行可能な指令を格納した、1つ又は複数のコンピュータ可読媒体と、
を備える、システム。
A system,
one or more processors;
When executed,
performing a driving simulation, the driving simulation being based at least in part on log data associated with a vehicle in an environment, the log data being a first log associated with a first object in the environment; Containing data;
controlling a first simulated object to correspond with the first object in the environment during a first time period;
determining an interaction between the first simulated object and a second simulated object in the driving simulation;
controlling the first simulated object using a planning component during a second time period in the driving simulation after the first time period;
one or more computer-readable media storing computer-executable instructions that cause the one or more processors to perform operations comprising:
A system equipped with.
前記ログデータは、前記環境における第2のオブジェクトに関連付けられた第2のログデータを備え、前記方法は、
前記第2のログデータにおける前記第2のオブジェクトの位置と前記運転シミュレーションにおける前記第2のシミュレートされたオブジェクトの相対的な位置との間の距離を決定することと、
前記距離が閾値距離を満たす又は超えることを決定することに少なくとも部分的に基づいて、前記第1のシミュレートされたオブジェクトを制御するために前記計画コンポーネントを開始することと、
をさらに備える、請求項1に記載のシステム。
The log data comprises second log data associated with a second object in the environment, and the method includes:
determining a distance between a position of the second object in the second log data and a relative position of the second simulated object in the driving simulation;
initiating the planning component to control the first simulated object based at least in part on determining that the distance meets or exceeds a threshold distance;
The system of claim 1, further comprising:
前記動作は、
前記第1のシミュレートされたオブジェクトに関連付けられた運転属性を決定することと、
前記第1のシミュレートされたオブジェクトに対する目的地を決定することと、
前記運転属性に関連付けられた第1のパラメータ、及び前記目的地に関連付けられた第2のパラメータを前記計画コンポーネントに提供することであって、前記計画コンポーネントは、前記第1のパラメータ及び前記第2のパラメータに少なくとも部分的に基づいた前記運転シミュレーションにおいて、前記第1のシミュレートされたオブジェクトを制御するように構成されることと、
をさらに備える、請求項1又は2に記載のシステム。
The said operation is
determining driving attributes associated with the first simulated object;
determining a destination for the first simulated object;
providing a first parameter associated with the driving attribute and a second parameter associated with the destination to the planning component; configured to control the first simulated object in the driving simulation based at least in part on parameters of;
The system according to claim 1 or 2, further comprising:
前記第1のシミュレートされたオブジェクトに関連付けられた前記運転属性、及び、前記第1のシミュレートされたオブジェクトに関連付けられた前記目的地は、前記第1のログデータに少なくとも部分的に基づいて決定される、請求項3に記載のシステム。 The driving attributes associated with the first simulated object and the destination associated with the first simulated object are based at least in part on the first log data. 4. The system of claim 3, wherein: 前記動作は、
前記運転シミュレーションにおける前記第2の時間期間中、前記ログデータに少なくとも部分的に基づいて、第3のシミュレートされたオブジェクトを制御することと、
前記運転シミュレーションにおける、前記第1のシミュレートされたオブジェクトと前記第3のシミュレートされたオブジェクトとの間の第2の相互作用を決定することと、
前記第2の時間期間後の前記運転シミュレーションにおける第3の時間期間中、前記計画コンポーネントを使用して前記第3のシミュレートされたオブジェクトを制御することであって、前記計画コンポーネント使用して前記第3のシミュレートされたオブジェクトを制御することは、前記第2の相互作用を決定することに少なくとも部分的に基づくことと、
をさらに備える、請求項1から4のいずれか一項に記載のシステム。
The said operation is
controlling a third simulated object during the second time period in the driving simulation based at least in part on the log data;
determining a second interaction between the first simulated object and the third simulated object in the driving simulation;
using the planning component to control the third simulated object during a third time period in the driving simulation after the second time period, using the planning component to control the third simulated object; controlling the third simulated object is based at least in part on determining the second interaction;
5. The system according to any one of claims 1 to 4, further comprising:
前記動作は、
前記運転シミュレーションにおける前記第2の時間期間中、前記ログデータに少なくとも部分的に基づいて、第3のシミュレートされたオブジェクトを制御することと、
前記運転シミュレーションにおける前記第1のシミュレートされたオブジェクトと前記第3のシミュレートされたオブジェクトとの間の第2の相互作用を決定することと、
をさらに備え、
前記第2の相互作用を決定することの後に、前記第3のシミュレートされたオブジェクトを制御することは、前記ログデータに基づく、
請求項1から4のいずれか一項に記載のシステム。
The said operation is
controlling a third simulated object during the second time period in the driving simulation based at least in part on the log data;
determining a second interaction between the first simulated object and the third simulated object in the driving simulation;
Furthermore,
After determining the second interaction, controlling the third simulated object is based on the log data.
A system according to any one of claims 1 to 4.
前記相互作用を決定することは、
前記運転シミュレーションの時間における前記第1のシミュレートされたオブジェクトに関連付けられた第1の経路に基づく第1の境界ボックスを決定することと、
前記運転シミュレーションの前記時間における前記第2のシミュレートされたオブジェクトに関連付けられた第2の経路に基づく第2の境界ボックスを決定することと、
前記第1の境界ボックスと前記第2の境界ボックスとの重なりを決定することと、
を備える、請求項1から6のいずれか一項に記載のシステム。
Determining the interaction comprises:
determining a first bounding box based on a first path associated with the first simulated object at the time of the driving simulation;
determining a second bounding box based on a second path associated with the second simulated object at the time of the driving simulation;
determining an overlap between the first bounding box and the second bounding box;
7. A system according to any one of claims 1 to 6, comprising:
方法であって、
運転シミュレーションを実行することであって、前記運転シミュレーションは、環境における車両に関連付けられたログデータに少なくとも部分的に基づき、前記ログデータは前記環境における第1のオブジェクトに関連付けられた第1のログデータを含むことと、
第1の時間期間において、第1のシミュレートされたオブジェクトを、前記環境内の前記第1のオブジェクトと対応させるために制御することと、
前記運転シミュレーションにおける、前記第1のシミュレートされたオブジェクトと第2のシミュレートされたオブジェクトとの間の相互作用を決定することと、
前記第1の時間期間後の前記運転シミュレーションにおける第2の時間期間中に、計画コンポーネントを使用して前記第1のシミュレートされたオブジェクトを制御することと、
を備える、方法。
A method,
performing a driving simulation, the driving simulation being based at least in part on log data associated with a vehicle in an environment, the log data being a first log associated with a first object in the environment; Containing data;
controlling a first simulated object to correspond with the first object in the environment during a first time period;
determining an interaction between the first simulated object and a second simulated object in the driving simulation;
controlling the first simulated object using a planning component during a second time period in the driving simulation after the first time period;
A method of providing.
前記ログデータは、前記環境における第2のオブジェクトに関連付けられた第2のログデータを備え、前記方法は、
前記第2のログデータにおける前記第2のオブジェクトの位置と前記運転シミュレーションにおける前記第2のシミュレートされたオブジェクトの相対的な位置との間の距離を決定することと、
前記距離が閾値距離を満たす又は超えることを決定することに少なくとも部分的に基づいて、前記第1のシミュレートされたオブジェクトを制御するために前記計画コンポーネントを開始することと、
をさらに備える、請求項8に記載の方法。
The log data comprises second log data associated with a second object in the environment, and the method includes:
determining a distance between a position of the second object in the second log data and a relative position of the second simulated object in the driving simulation;
initiating the planning component to control the first simulated object based at least in part on determining that the distance meets or exceeds a threshold distance;
9. The method of claim 8, further comprising:
前記第1のシミュレートされたオブジェクトに関連付けられた運転属性を決定することと、
前記第1のシミュレートされたオブジェクトに対する目的地を決定することと、
前記運転属性に関連付けられた第1のパラメータ、及び前記目的地に関連付けられた第2のパラメータを前記計画コンポーネントに提供することであって、前記計画コンポーネントは、前記第1のパラメータ及び前記第2のパラメータに少なくとも部分的に基づいた前記運転シミュレーションにおいて、前記第1のシミュレートされたオブジェクトを制御するように構成されることと、
をさらに備える、請求項8又は9に記載の方法。
determining driving attributes associated with the first simulated object;
determining a destination for the first simulated object;
providing a first parameter associated with the driving attribute and a second parameter associated with the destination to the planning component; configured to control the first simulated object in the driving simulation based at least in part on parameters of;
The method according to claim 8 or 9, further comprising:
前記第1のシミュレートされたオブジェクトに関連付けられた前記運転属性、及び、前記第1のシミュレートされたオブジェクトに関連付けられた前記目的地は、前記第1のログデータに少なくとも部分的に基づいて決定される、請求項10に記載の方法。 The driving attributes associated with the first simulated object and the destination associated with the first simulated object are based at least in part on the first log data. 11. The method of claim 10, wherein: 前記運転シミュレーションにおける前記第2の時間期間中、前記ログデータに少なくとも部分的に基づいて、第3のシミュレートされたオブジェクトを制御することと、
前記運転シミュレーションにおける、前記第1のシミュレートされたオブジェクトと前記第3のシミュレートされたオブジェクトとの間の第2の相互作用を決定することと、
前記第2の時間期間後の前記運転シミュレーションにおける第3の時間期間中、前記計画コンポーネントを使用して前記第3のシミュレートされたオブジェクトを制御することであって、前記計画コンポーネント使用して前記第3のシミュレートされたオブジェクトを制御することは、前記第2の相互作用を決定することに少なくとも部分的に基づくことと、
をさらに備える、請求項8から11のいずれか一項に記載の方法。
controlling a third simulated object during the second time period in the driving simulation based at least in part on the log data;
determining a second interaction between the first simulated object and the third simulated object in the driving simulation;
using the planning component to control the third simulated object during a third time period in the driving simulation after the second time period, using the planning component to control the third simulated object; controlling the third simulated object is based at least in part on determining the second interaction;
12. The method according to any one of claims 8 to 11, further comprising:
前記運転シミュレーションにおける前記第2の時間期間中、前記ログデータに少なくとも部分的に基づいて、第3のシミュレートされたオブジェクトを制御することと、
前記運転シミュレーションにおける前記第1のシミュレートされたオブジェクトと前記第3のシミュレートされたオブジェクトとの間の第2の相互作用を決定することと、
をさらに備え、
前記第2の相互作用を決定することの後に、前記第3のシミュレートされたオブジェクトを制御することは、前記ログデータに基づく、
請求項8から11のいずれか一項に記載の方法。
controlling a third simulated object during the second time period in the driving simulation based at least in part on the log data;
determining a second interaction between the first simulated object and the third simulated object in the driving simulation;
Furthermore,
After determining the second interaction, controlling the third simulated object is based on the log data.
12. A method according to any one of claims 8 to 11.
前記相互作用を決定することは、
前記運転シミュレーションの時間における前記第1のシミュレートされたオブジェクトに関連付けられた第1の経路に基づく第1の境界ボックスを決定することと、
前記運転シミュレーションの前記時間における前記第2のシミュレートされたオブジェクトに関連付けられた第2の経路に基づく第2の境界ボックスを決定することと、
前記第1の境界ボックスと前記第2の境界ボックスとの重なりを決定することと、
を備える、請求項8から13のいずれか一項に記載の方法。
Determining the interaction comprises:
determining a first bounding box based on a first path associated with the first simulated object at the time of the driving simulation;
determining a second bounding box based on a second path associated with the second simulated object at the time of the driving simulation;
determining an overlap between the first bounding box and the second bounding box;
14. A method according to any one of claims 8 to 13, comprising:
1つ又は複数の非一時的コンピュータ可読媒体であって、1つ又は複数のプロセッサによって実行されると、請求項8から14のいずれか一項に記載の方法を、前記1つ又は複数のプロセッサに実行させる、プロセッサ実行可能な指令を格納した非一時的コンピュータ可読媒体。 One or more non-transitory computer-readable media, when executed by one or more processors, can carry out the method of any one of claims 8 to 14 to the one or more processors. A non-transitory computer-readable medium containing processor-executable instructions for execution by a computer.
JP2023551105A 2021-02-24 2022-02-17 Agent transformation in driving simulation Pending JP2024509086A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US17/184,128 2021-02-24
US17/184,169 US20220266859A1 (en) 2021-02-24 2021-02-24 Simulated agents based on driving log data
US17/184,169 2021-02-24
US17/184,128 US20220269836A1 (en) 2021-02-24 2021-02-24 Agent conversions in driving simulations
PCT/US2022/016746 WO2022182561A1 (en) 2021-02-24 2022-02-17 Agent conversions in driving simulations

Publications (1)

Publication Number Publication Date
JP2024509086A true JP2024509086A (en) 2024-02-29

Family

ID=83049444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023551105A Pending JP2024509086A (en) 2021-02-24 2022-02-17 Agent transformation in driving simulation

Country Status (3)

Country Link
EP (1) EP4298486A1 (en)
JP (1) JP2024509086A (en)
WO (1) WO2022182561A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2377658C1 (en) * 2008-11-14 2009-12-27 Андрей Валентинович Сабайдаш Method of determining optimal route for vehicles
US9836895B1 (en) * 2015-06-19 2017-12-05 Waymo Llc Simulating virtual objects
US10831202B1 (en) * 2017-09-01 2020-11-10 Zoox, Inc. Onboard use of scenario description language

Also Published As

Publication number Publication date
WO2022182561A1 (en) 2022-09-01
EP4298486A1 (en) 2024-01-03

Similar Documents

Publication Publication Date Title
US11574089B2 (en) Synthetic scenario generator based on attributes
US11568100B2 (en) Synthetic scenario simulator based on events
US11351991B2 (en) Prediction based on attributes
US11021148B2 (en) Pedestrian prediction based on attributes
US11150660B1 (en) Scenario editor and simulator
US20210339741A1 (en) Constraining vehicle operation based on uncertainty in perception and/or prediction
JP2022539245A (en) Top-down scene prediction based on action data
JP2022527072A (en) Pedestrian prediction based on attributes
CN112789481A (en) Trajectory prediction for top-down scenarios
US11526721B1 (en) Synthetic scenario generator using distance-biased confidences for sensor data
US20210325880A1 (en) Collaborative vehicle guidance
US11584389B2 (en) Teleoperations for collaborative vehicle guidance
US11415997B1 (en) Autonomous driving simulations based on virtual simulation log data
WO2021225861A1 (en) System for generating generalized simulation scenarios
US20230150549A1 (en) Hybrid log simulated driving
JP2022550058A (en) Safety analysis framework
JP2023547988A (en) Collision avoidance planning system
WO2020264276A1 (en) Synthetic scenario generator based on attributes
CN116917827A (en) Proxy conversion in driving simulation
US20220266859A1 (en) Simulated agents based on driving log data
JP2024513666A (en) Instantiating objects in a simulated environment based on log data
CN114787894A (en) Perceptual error model
WO2023076343A1 (en) Autonomous vehicle trajectory determination based on state transition model
JP2023522844A (en) Remote control for collaborative vehicle guidance
JP2024509086A (en) Agent transformation in driving simulation