JP7183273B2 - 自律車両のソフトウェア検証 - Google Patents

自律車両のソフトウェア検証 Download PDF

Info

Publication number
JP7183273B2
JP7183273B2 JP2020533203A JP2020533203A JP7183273B2 JP 7183273 B2 JP7183273 B2 JP 7183273B2 JP 2020533203 A JP2020533203 A JP 2020533203A JP 2020533203 A JP2020533203 A JP 2020533203A JP 7183273 B2 JP7183273 B2 JP 7183273B2
Authority
JP
Japan
Prior art keywords
control software
autonomous control
driving scenario
scenario
validation model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020533203A
Other languages
English (en)
Other versions
JP2021509646A (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
Application filed by ウェイモ エルエルシー filed Critical ウェイモ エルエルシー
Publication of JP2021509646A publication Critical patent/JP2021509646A/ja
Application granted granted Critical
Publication of JP7183273B2 publication Critical patent/JP7183273B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/14Adaptive cruise control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/18Conjoint control of vehicle sub-units of different type or different function including control of braking systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/08Predicting or avoiding probable or impending collision
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/14Cruise control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Combustion & Propulsion (AREA)
  • Chemical & Material Sciences (AREA)
  • Traffic Control Systems (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Business, Economics & Management (AREA)
  • Debugging And Monitoring (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Description

関連出願の相互参照
本出願は、2018年1月8日に出願された、米国特許出願第15/864,239号の継続出願であり、その開示は参照により本明細書に組み込まれる。
ある場所から別の場所への乗客または物品の輸送を支援するために、例えば人間の運転手を必要としない車両などの自律車両を使用することができる。そのような車両は、乗客が集荷や目的地など何らかの初期入力を提供し得る完全な自律モードで動作する場合があり、車両は、例えば、車両、歩行者、自転車乗用者など他の道路利用者に応答し、相互作用することを必要とする可能性のあるルートを決定し、それをたどることによって、それ自体をその場所に操作する。これらの車両が自律モードで動作するために使用する自律制御ソフトウェアは、車両が他の対象物と相互作用しているエリアで車両を制御するために、そのようなソフトウェアが実際に使用される前に、テストされ、検証されることが重要である。
本開示の一態様は、自律運転モードで車両を操作するための自律制御ソフトウェアを検証する方法を提供する。この方法は、運転シナリオを通じて自律制御ソフトウェアを1回実行して、自律制御ソフトウェアのシナリオの結果を観察することと、運転シナリオを通じて検証モデルを複数回実行して、複数回の各々について検証モデルのシナリオの結果を観察することと、自律制御ソフトウェアの制御下にある仮想車両が1回の間に別の対象物と衝突したことを、自律制御ソフトウェアのシナリオの結果が示すかどうかに基づいて、自律制御ソフトウェアが運転シナリオに合格したかどうかを判定することと、検証モデルの制御下にある仮想車両が複数回のうちのいずれか1回で別の対象物と衝突したことを、検証モデルのシナリオの結果が示すかどうかに基づいて、検証モデルが運転シナリオに合格したかどうかを判定することと、判定に基づいて、自律制御ソフトウェアを検証することと、を含む。
一例では、運転シナリオは、運転シナリオの所与のカテゴリの複数の運転シナリオのうちの1つであり、自律制御ソフトウェアを検証することは、所与のカテゴリの複数の運転シナリオのすべてにわたって自律制御ソフトウェアおよび検証モデルの性能を評価することに基づく。この例では、方法は、自律制御ソフトウェアが合格したいくつかの運転シナリオを、複数回のうち少なくとも1回合格したいくつかのシナリオと比較することもさらに含み、自律制御ソフトウェアを検証することは比較にさらに基づく。別の例では、運転シナリオを通じて検証モデルを複数回実行することは、所定の1組の一般的なタイプの応答において識別された応答のタイプごとに1回シナリオを実行することを含む。別の例では、複数回の各々は、複数のうちの第1のものはブレーキ応答を含み、複数のうちの第2のものは右旋回の応答を含み、複数のうちの第3のものは左旋回の応答を含み、複数のうちの第4のものはブレーキおよび右旋回の応答を含み、複数のうちの第5のものはブレーキおよび左旋回の応答を含むように、検証モデルの応答が異なることに対応する。別の例では、自律制御ソフトウェアが運転シナリオに合格したかどうかを判定することは、別の対象物との任意の衝突の重症度レベルにさらに基づく。この例では、自律制御ソフトウェアを検証することは、重症度レベルにさらに基づく。別の例では、検証モデルが運転シナリオに合格したかどうかを判定することは、別の対象物との任意の衝突の重症度レベルにさらに基づく。この例では、自律制御ソフトウェアを検証することは、重症度レベルにさらに基づく。別の例では、方法は、シナリオ内で両方の対象物がそれぞれの現在の軌跡をたどり続けた場合に、仮想車両が別の対象物と衝突する前のシナリオ内の所定の秒数に対応する、自律制御ソフトウェアまたは検証モデルにシナリオ内の仮想車両の制御を与えるためのハンドオーバー時間を識別することも含み、ハンドオーバー時間は、運転シナリオを通じて検証モデルを実行し、運転シナリオを通じて自律制御ソフトウェアを実行するために使用される。この例では、ハンドオーバー時間は、運転シナリオを通じて自律制御ソフトウェアを実行するために使用される。加えて、または代替的に、方法は、ハンドオーバー時間の確認のために、シナリオおよびハンドオーバー時間を人間オペレータに提供することも含む。
本開示のさらなる態様は、自律運転モードで車両を操作するための自律制御ソフトウェアを検証するためのシステムを提供する。このシステムは、運転シナリオを通じて自律制御ソフトウェアを1回実行して、自律制御ソフトウェアのシナリオの結果を観察し、運転シナリオを通じて検証モデルを複数回実行して、複数回の各々について検証モデルのシナリオの結果を観察し、自律制御ソフトウェアの制御下にある仮想車両が1回の間に別の対象物と衝突したことを、自律制御ソフトウェアのシナリオの結果が示すかどうかに基づいて、自律制御ソフトウェアが運転シナリオに合格したかどうかを判定し、検証モデルの制御下にある仮想車両が複数回のうちのいずれか1回で別の対象物と衝突したことを、検証モデルのシナリオの結果が示すかどうかに基づいて、検証モデルが運転シナリオに合格したかどうかを判定し、判定に基づいて、自律制御ソフトウェアを検証する、ように構成された1つ以上のプロセッサを有する1つ以上のコンピューティングデバイスを含む。
一例では、運転シナリオは、運転シナリオの所与のカテゴリの複数の運転シナリオのうちの1つであり、自律制御ソフトウェアを検証することは、所与のカテゴリの複数の運転シナリオのすべてにわたって自律制御ソフトウェアおよび検証モデルの性能を評価することに基づく。この例では、1つ以上のプロセッサは、自律制御ソフトウェアが合格したいくつかの運転シナリオを、複数回のうち少なくとも1回合格したいくつかのシナリオと比較するように構成され、自律制御ソフトウェアを検証することは比較にさらに基づく。別の例では、1つ以上のプロセッサは、別の対象物との任意の衝突の重症度レベルにさらに基づいて、自律制御ソフトウェアが運転シナリオに合格したかどうかを判定するようにさらに構成されている。別の例では、1つ以上のプロセッサは、別の対象物との任意の衝突の重症度レベルにさらに基づいて、検証モデルが運転シナリオに合格したことを判定するようにさらに構成されている。別の例では、1つ以上のプロセッサは、シナリオ内で両方の対象物がそれぞれの現在の軌跡をたどり続けた場合に、仮想車両が別の対象物と衝突する前のシナリオ内の所定の秒数に対応する、自律制御ソフトウェアまたは検証モデル制御を与えるためのハンドオーバー時間を識別するようにさらに構成されており、ハンドオーバー時間は、運転シナリオを通じて検証モデルを実行し、運転シナリオを通じて自律制御ソフトウェアを実行するために使用される。別の例では、システムは、自律制御ソフトウェアも含む。別の例では、システムは、検証モデルも含む。
典型的な実施形態に係る例示的な車両の機能図である。 本開示の態様に係る地図情報の一例である。 本開示の態様に係る車両の例示的な外観図である。 本開示の態様に係る例示的なシステムの絵図である。 本開示の態様に係る、図4のシステムの機能図である。 本開示の態様に係るシナリオの例示的な表現である。 本開示の態様に係る可能な応答の例示的な図である。 本開示の態様に係る例示的なフロー図である。
概要
この技術は、自律運転モードで車両を制御するための自律制御ソフトウェアを検証することに関する。自律制御ソフトウェアを検証または部分的に検証するための1つのアプローチは、自律制御ソフトウェアが自律車両を、理想的な人間の運転手が異なるタイプの状況で同じブレーキ、加速、およびステアリング機能を備えた車両を制御するのがより優れているとは言わないまでも同じくらい優れているかどうかを評価することを伴い得る。これを達成するために、自律制御ソフトウェアは、シミュレーションまたはシナリオの結果に基づいて、この理想的な人間の運転手の検証モデルと比較され得る。人間は一般に予測不可能であるので、1組の特性を確立することによって、検証モデルが生成され得る。これらの特性は、刺激、知覚反応時間、動きまたは「移動」時間、および制御の性能に関連し得る。言い換えると、検証モデルは、理想的な人間が、衝突を回避するために、どのように気づき、反応し、最終的に(例えば、ブレーキをかける、旋回する、または他の何らかのアクションをとることによって)応答するかについての検証モデルを含み得る。この点について、検証モデルは、実際には多くの状況で人間の運転手と同等であるかそれ以上に実行することが予想され得る。
シナリオは、不適切に挙動している別の対象物への応答をテストする状況として生成され得る。この点について、シナリオは、単に車両が走り回るだけでなく、車両および任意の他の対象物の安全のために車両の応答が重要である状況である。
人または自律車両によって観察された実際の運転イベントから、または人間オペレータによって想像される状況から、異なるシナリオが生成され得る。各シナリオの重要な特徴は、「ハンドオーバー時間」、または自律制御ソフトウェアおよび検証モデルにシナリオ内の車両の制御が与えられた時間である。ハンドオーバー時間は、そのシナリオの状況に応じてシナリオごとに自動的に選択され、その後、人間オペレータによって確認または手動調整されてもよい。人間によるレビューを伴うハンドオーバー時間のためにより単純な検証モデルを使用すると、不要な複雑さおよび計算が削減され、大きいデータセットに対してより一貫した結果を提供することができる。
次に、性能を評価するために、シナリオを通じて自律制御ソフトウェアおよび検証モデルが実行され得る。自律制御ソフトウェアは、衝突がない場合、または衝突があり、傷害の可能性が非常に低い場合、シナリオに「合格」する可能性がある。検証モデルの性能を評価するとき、検証モデルは、複数の異なる応答の各々の下で同じシナリオを実行し得る。検証モデルが複数の異なる応答のうちのいずれか1つを使用して合格した場合、検証モデルは、そのシナリオに合格したと見なされ得る。加えて、シナリオに合格するための要件は、検証モデルと比較して自律制御ソフトウェアでは異なる場合がある。例えば、要件は、検証モデルよりも自律制御ソフトウェアの方が厳しい場合がある。
次に、検証モデルと比較して自律制御ソフトウェアの性能を評価するために、シナリオの結果が比較され得る。一例では、自律制御ソフトウェアは、検証モデルと少なくとも同じ数のシナリオに合格するなど、いくつかの要件を満たす必要がある場合がある。自律制御ソフトウェアがシナリオのすべてのカテゴリについてこれらの要件を満たすことができる場合、自律制御ソフトウェアは、検証モデルに関して検証されたと見なされ得る、または、他の検証プロセスも使用されている場合は検証モデルに関して少なくとも部分的に検証されたと見なされ得る。言い換えると、要件を満たすことは、自律制御ソフトウェアが、自律制御ソフトウェアおよび検証モデルが実行されたシナリオの検証モデルと少なくとも同じくらい優れていることを示し得る。この点について、自律制御ソフトウェアは、シミュレーションだけでなく、実際の運転状況での使用に十分であると考えられ得る。代替的に、自律制御ソフトウェアがあるシナリオグループについてこれらの要件を満たすことができない場合、結果をさらに詳細に評価して、自律制御ソフトウェアを必要に応じて微調整する方法を決定することができる。
本明細書で説明する特徴は、自律車両の自律制御ソフトウェアを検証する安全で効果的な方法を提供し得る。例えば、自律制御ソフトウェアは、実際の人の生命および財産を危険にさらすことなく数百ないし数千ものシナリオでテストできるだけでなく、自律制御ソフトウェアが実際に「安全」であることを確認するためのベンチマークと比較することもできる。加えて、これらのシナリオを使用すると、各シナリオを手動で作成し、実行するのにかかるのが数か月ではなく、何千ものテストを数時間で実行できるので、自律制御ソフトウェアの評価が大幅に加速する可能性がある。さらに、シナリオは、安全性が常に保証されているわけではない状況で安全性についての高い基準を提供し、単にそのような応答を観察してそれらが有効かどうかを「推測」するのではなく、自律制御ソフトウェアの応答を評価するためのベンチマークを提供する。そのようなテストがないと、検証されていない自律制御ソフトウェアを使用した人や財産への傷害のリスクが高すぎる可能性がある。
例示的なシステム
図1に示されるように、本開示の一態様による車両100は、様々な構成要素を含む。本開示のいくつかの態様は、特定のタイプの車両に関連して特に有用であるが、車両は、限定はしないが、乗用車、トラック、オートバイ、バス、レクリエーション用車両などを含む任意のタイプの車両でよい。車両は、1つ以上のプロセッサ120、メモリ130、および汎用コンピューティングデバイスに典型的に存在する他のコンポーネントを含むコンピューティングデバイス110などの1つ以上の制御コンピューティングデバイスを有し得る。
メモリ130は、1つ以上のプロセッサ120によってアクセス可能である情報を記憶し、その情報には、プロセッサ120によって実行または別様に使用され得る命令134およびデータ132が含まれる。メモリ130は、プロセッサによってアクセス可能である情報を記憶することができる任意のタイプのメモリであってもよく、それらには、コンピューティングデバイス可読媒体、またはハードドライブ、メモリカード、ROM、RAM、DVD、もしくは他の光ディスク、ならびに他の書き込み可能および読み取り専用メモリなどの電子デバイスを使って読み取ることができるデータを記憶する他の媒体が含まれる。システムおよび方法は、上記の異なる組み合わせを含んでもよく、それによって、命令およびデータの様々な部分が、様々なタイプの媒体に記憶される。
命令134は、プロセッサにより直接的に(マシンコードなど)または間接的に(スクリプトなど)実行される任意の一連の命令であってもよい。例えば、命令は、コンピューティングデバイス可読媒体上のコンピューティングデバイスコードとして記憶されてもよい。その点について、「ソフトウェア」、「命令」、および「プログラム」という用語は、本明細書では、互換的に使用され得る。命令は、プロセッサによる直接処理のためのオブジェクトコード形式で、または要求に応じて解釈されるか、もしくは予めコンパイルされる独立したソースコードモジュールのスクリプトもしくはコレクションを含む、任意の他のコンピューティングデバイス言語で記憶されてもよい。命令の機能、方法、およびルーチンについては、以下でさらに詳細に説明される。
データ132は、命令134に従ってプロセッサ120によって検索、記憶、または修正されてもよい。例えば、特許請求の範囲の主題は、いかなる特定のデータ構造にも限定されないが、データは、コンピューティングデバイスレジスタ内に、すなわち、複数の異なるフィールドおよびレコードを有する表、XMLドキュメント、またはフラットファイルとしてリレーショナルデータベース内に記憶されてもよい。データはまた、任意のコンピューティングデバイス可読形式でフォーマットされてもよい。
1つ以上のプロセッサ120は、市販されているCPUなど任意の従来のプロセッサであってもよい。代替的に、1つ以上のプロセッサは、ASICまたは他のハードウェアベースプロセッサなどの専用デバイスであってもよい。図1は、プロセッサ、メモリ、およびコンピューティングデバイス110の他の要素を同じブロック内にあるものとして機能的に例示しているが、プロセッサ、コンピューティングデバイス、またはメモリは、実際には、同じ物理的な筐体内に記憶されていてもいなくてもよい、複数のプロセッサ、コンピューティングデバイス、またはメモリを含むことができることは、当業者により、理解されるであろう。例えば、メモリは、ハードドライブ、またはコンピューティングデバイス110の筐体とは異なる筐体内に設置された他の記憶媒体であってもよい。したがって、プロセッサまたはコンピューティングデバイスへの言及は、並行に動作してもしなくてもよいプロセッサまたはコンピューティングデバイスまたはメモリの集合体への言及を含むことを理解されたい。
コンピューティングデバイス110は、上述したプロセッサおよびメモリ、ならびにユーザ入力150(例えば、マウス、キーボード、タッチスクリーン、および/またはマイクロフォン)、および様々な電子ディスプレイ(例えば、スクリーン、または情報を表示するように動作可能である任意の他の電気デバイスを有するモニタ)など、コンピューティングデバイスと接続して通常使用されるすべてのコンポーネントであってもよい。この例では、車両は、内部の電子ディスプレイ152、ならびに1つ以上のスピーカー154を含み、情報または音響映像体験を提供する。この点について、内部の電子ディスプレイ152は、車両100の車内に位置付けられてもよく、コンピューティングデバイス110によって使用されて、車両100内の乗員に情報を提供してもよい。
コンピューティングデバイス110はまた、以下に詳細に説明するクライアントコンピューティングデバイスおよびサーバコンピューティングデバイスなど他のコンピューティングデバイスとの通信を容易にするために、1つ以上の無線ネットワーク接続156を含んでもよい。無線ネットワーク接続には、ブルートゥース、ブルートゥースローエネルギー(LE)、携帯電話接続などの短距離通信プロトコル、ならびにインターネット、World Wide Web、イントラネット、仮想プライベートネットワーク、ワイドエリアネットワーク、ローカルネットワーク、1つ以上の企業に専用の通信プロトコルを使用するプライベートネットワーク、イーサネット、WiFi、およびHTTPを含む様々な構成およびプロトコル、ならびに上記の様々な組み合わせが含まれてもよい。
一例では、コンピューティングデバイス110は、自律運転コンピューティングシステムの制御コンピューティングデバイスであってもよく、または車両100に組み込まれていてもよい。この自律運転コンピューティングシステムは、以下でさらに説明するように、メモリ130の自律制御ソフトウェアに従って車両100の動きを制御するために、車両の様々なコンポーネントと通信することが可能であり得る。例えば、図1に戻ると、コンピューティングデバイス110は、メモリ130の命令134に従って、車両100の動き、速度などを制御するために、減速システム160、加速システム162、ステアリングシステム164、シグナリングシステム166、ルーティングシステム168、測位システム170、知覚システム172、および動力システム174(すなわち、車両のエンジンまたはモーター)など、車両100の様々なシステムと通信することができる。また、これらのシステムは、コンピューティングデバイス110の外部にあるものとして示されているが、実際には、これらのシステムもまた、車両100を制御するための自律運転コンピューティングシステムとして再度、コンピューティングデバイス110の中に組み込まれてもよい。
一例として、コンピューティングデバイス110は、車両の速度を制御するために、車両のブレーキ、アクセルペダル、および/またはエンジンもしくはモーターなど、減速システム160および/または加速システム162の1つ以上のアクチュエータと相互作用し得る。同様に、ステアリングホイール、ステアリングシャフト、ならびに/またはラックアンドピニオンシステムのピニオンおよびラックなど、ステアリングシステム164の1つ以上のアクチュエータは、車両100の方向を制御するために、コンピューティングデバイス110によって使用され得る。例えば、乗用車またはトラックなどの車両100が道路上で使用するために構成されている場合、ステアリングシステムは、車両の向きを変えるために車輪の角度を制御するための1つ以上のアクチュエータを含んでもよい。シグナリングシステム166は、例えば、必要に応じて方向指示器またはブレーキライトを点灯させることによって、車両の意図を他の運転手または車両に知らせるために、コンピューティングデバイス110によって使用され得る。
ルーティングシステム168は、ある場所までのルートを決定し、それをたどるために、コンピューティングデバイス110によって使用され得る。この点について、ルーティングシステム168および/またはデータ132は、例えば、車道の形状および標高、車線境界線、交差点、横断歩道、速度制限、交通信号、建物、標識、リアルタイム交通情報、植生、または他のそのような対象物および情報を識別する高精密地図などの詳細な地図情報を記憶し得る。
図2は、交差点202および204を含む、車道の区分に関する地図情報200の例である。この例では、地図情報200は、車線境界線210、212、214、信号機220、222、横断歩道230、歩道240、一時停止標識250、252、および譲れの標識260の形状、場所、ならびに他の特性を識別する情報を含む。本明細書では、地図情報は、画像ベースの地図として図示されているが、地図情報は、完全に画像ベースである必要はない(例えば、ラスタ)。例えば、地図情報は、1つ以上の道路グラフ、または道路、車線、交差点、およびこれらの特徴間の接続などの情報のグラフネットワークを含み得る。各特徴は、グラフデータとして記憶されてもよく、地理的場所などの情報と関連付けられてもよく、いずれにせよ、他の関連する特徴にリンクされ、例えば、一時停止標識は、道路や交差点などにリンクされてもよい。いくつかの例では、関連付けられたデータは、道路グラフのグリッドベースのインデックスを含んで、ある道路グラフの特徴の効率的な検索を可能にし得る。
測位システム170は、地図上または地球上の車両の相対的または絶対的位置を判定するために、コンピューティングデバイス110によって使用され得る。例えば、測位システム170は、デバイスの緯度、経度、および/または標高の位置を判定するためのGPS受信機を含むことができる。レーザベースの位置決めシステム、慣性支援GPS、またはカメラベースの位置決めなどの他の位置特定システムもまた、車両の場所を特定するために使用することができる。車両の場所は、緯度、経度、および標高などの絶対的な地理的位置だけでなく、多くの場合、より少ないノイズでその絶対的な地理的位置を判定することができる、車両のすぐ周りにある他の自動車に対する場所などの相対的な位置情報を含むことができる。
測位システム170はまた、車両の方向および速度、またはそれらの変化を決定するための加速度計、ジャイロスコープ、または別の方向/速度検出デバイスなど、コンピューティングデバイス110と通信する他のデバイスを含んでいてもよい。単なる例として、加速デバイスは、重力の方向、または重力に対して垂直な平面に対する車両の縦揺れ、偏揺れ、または横揺れ(またはそれらの変化)を判定することができる。このデバイスはまた、速度の増減、およびそのような変化の方向を追跡することもできる。本明細書で説明したように、場所および向きのデータのデバイスの提供は、コンピューティングデバイス110、他のコンピューティングデバイス、および上記の組み合わせに自動的に提供され得る。
知覚システム172はまた、他の車両、道路内の障害物、交通信号、標識、樹木などの車両の外部にある対象物を検出するために1つ以上のコンポーネントを含む。例えば、知覚システム172は、レーザ、ソナー、レーダー、カメラ、および/またはコンピューティングデバイス110が処理することができるデータを記録する任意の他の検出デバイスを含んでもよい。車両がミニバンなどの乗客車両である場合には、ミニバンは、屋根または他の都合のよい場所に搭載されるレーザまたは他のセンサを含んでもよい。例えば、図3は、車両100の例示的な外観図である。この例では、屋上にある筐体310およびドーム状筐体312は、ライダーセンサ、ならびに各種のカメラおよびレーダーユニットを含んでもよい。さらに、車両100の前端部に設置された筐体320、ならびに車両の運転手側および助手席側の筐体330,332は、各々、ライダーセンサを記憶することができる。例えば、筐体330は、運転手ドア360の前部に設置されている。車両100はまた、車両100の屋根の上にさらに設置されたレーダーユニットおよび/またはカメラのための筐体340、342も含む。追加のレーダーユニットおよびカメラ(図示せず)は、車両100の前端および後端に、および/または屋根もしくは屋上にある筐体310に沿った他の位置に設置され得る。
コンピューティングデバイス110は、様々な構成要素を制御することによって車両の方向および速度を制御してもよい。例として、コンピューティングデバイス110は、詳細な地図情報およびルーティングシステム168からのデータを使用して、車両を目的地に完全に自律的にナビゲートし得る。コンピューティングデバイス110は、測位システム170を使用して車両の場所を判定し、知覚システム172を使用して、対象物を検出し、その場所に安全に到着するために必要である場合、対象物に対して応答することができる。そうするために、コンピューティングデバイス110は、車両を、(例えば、加速システム162により、エンジンに提供される燃料または他のエネルギーを増加させることによって)加速させ、(例えば、エンジンに供給される燃料を低減させ、ギヤを切り替え、および/または減速システム160によりブレーキをかけることによって)減速させ、(例えば、ステアリングシステム164により、車両100の前輪または後輪の向きを変えることによって)方向を変更させ、(例えば、シグナリングシステム166の方向指示器を点灯することによって)係る変更を伝えさせてもよい。このため、加速システム162および減速システム160は、車両のエンジンと車両の車輪との間に様々な構成要素を含む、動力伝達装置の一部であり得る。再び、これらのシステムを制御することによって、コンピューティングデバイス110はまた、車両を自律的に操縦するために、車両の動力伝達装置を制御してもよい。
車両100のコンピューティングデバイス110はまた、輸送サービスの一部であるコンピューティングデバイスならびに他のコンピューティングデバイスなど他のコンピューティングデバイスとの間で情報を受信または転送することもできる。図4および図5は、それぞれ、例示的なシステム400の絵図および機能図であり、システムは、ネットワーク460を介して接続された複数のコンピューティングデバイス410、420、430、440、および記憶システム450を含む。システム400は、車両100、および車両100と同じまたは同様に構成され得る車両100A、100Bも含む。簡潔にするため、いくつかの車両およびコンピューティングデバイスのみを図示しているが、典型的なシステムは、これよりもはるかに多くのものを含み得る。
図4に示されるように、コンピューティングデバイス410、420、430、440の各々は、1つ以上のプロセッサ、メモリ、データ、および命令を含むことができる。そのようなプロセッサ、メモリ、データ、および命令は、コンピューティングデバイス110の1つ以上のプロセッサ120、メモリ130、データ132、および命令134と同様に構成されてもよい。
ネットワーク460および仲介ノードは、ブルートゥース、ブルートゥースLE、インターネット、World Wide Web、イントラネット、仮想プライベートネットワーク、ワイドエリアネットワーク、ローカルネットワーク、1つ以上の企業に専用の通信プロトコルを使用するプライベートネットワーク、イーサネット、WiFi、およびHTTP、ならびに上記の様々な組み合わせなどの短距離通信プロトコルを含む様々な構成およびプロトコルを含んでもよい。そのような通信は、モデムおよび無線インターフェースなどの、他のコンピューティングデバイスとの間でデータを送受信することができる任意のデバイスによって容易に行われ得る。
一例では、1つ以上のコンピューティングデバイス110は、他のコンピューティングデバイスとの間でデータを受信、処理、および送信する目的で、ネットワークの異なるノードと情報を交換する、例えば、負荷分散サーバファームなど、複数のコンピューティングデバイスを有する1つ以上のサーバコンピューティングデバイスを含んでもよい。例えば、1つ以上のコンピューティングデバイス410は、ネットワーク460を介して、車両100のコンピューティングデバイス110、または車両100Aの同様のコンピューティングデバイス、ならびにコンピューティングデバイス420、430、440と通信することが可能である1つ以上のサーバコンピューティングデバイスを含んでもよい。例えば、車両100、100Aは、サーバコンピューティングデバイスによって様々な場所に発送することができる車両群の一部であり得る。この点について、サーバコンピューティングデバイス410は、車両100および車両100Aなどの車両が自律運転モードで動作するために使用し得る自律制御ソフトウェアを検証するために使用できる検証コンピューティングシステムとして機能し得る。加えて、サーバコンピューティングデバイス410は、ネットワーク460を使用して、コンピューティングデバイス420、430、440のディスプレイ424、434、444などのディスプレイ上に、ユーザ422、432、442などのユーザに情報を送信および提示することができる。この点について、コンピューティングデバイス420、430、440は、クライアントコンピューティングデバイスと見なされてもよい。
図4に示すように、各クライアントコンピューティングデバイス420、430、440は、ユーザ422、432、442が使用することを意図されたパーソナルコンピューティングデバイスであってもよく、1つ以上のプロセッサ(例えば、中央処理装置(CPU))、データおよび命令を記憶するメモリ(例えば、RAMおよび内蔵ハードドライブ)、ディスプレイ424、434、444などのディスプレイ(例えば、画面を有するモニタ、タッチスクリーン、プロジェクタ、テレビ、または情報を表示するように動作可能である他のデバイス)、およびユーザ入力デバイス426、436、446(例えば、マウス、キーボード、タッチスクリーン、またはマイクロフォン)を含む、パーソナルコンピューティングデバイスと接続して通常使用されるすべてのコンポーネントを有し得る。クライアントコンピューティングデバイスはまた、ビデオストリームを記録するためのカメラ、スピーカー、ネットワークインターフェースデバイス、およびこれらの要素を互いに接続するために使用されるすべての構成要素を含んでもよい。
クライアントコンピューティングデバイス420、430、および440は、各々、フルサイズのパーソナルコンピューティングデバイスを含んでもよいが、代替的に、インターネットなどのネットワークを介してサーバとデータを無線で交換することが可能であるモバイルコンピューティングデバイスを含んでもよい。ほんの一例として、クライアントコンピューティングデバイス420は、携帯電話、または無線対応PDA、タブレットPC、ウェアラブルコンピューティングデバイスもしくはシステムなどのデバイス、またはインターネットもしくは他のネットワークを介して情報を取得することができるネットブックであってもよい。別の例では、クライアントコンピューティングデバイス430は、図4に示されるように、腕時計として示されるウェアラブルコンピューティングシステムであってもよい。一例として、ユーザは、小型キーボード、キーパッド、マイクロフォンを使用して、カメラを用いた映像信号、またはタッチスクリーンを使用して、情報を入力し得る。
いくつかの例では、クライアントコンピューティングデバイス440は、以下でさらに説明するように、シナリオの結果、ハンドオーバー時間、および検証情報をレビューするために管理者またはオペレータによって使用される操作ワークステーションであり得る。図4および図5には操作ワークステーション440が1つのみ示されているが、典型的なシステムには、任意の数のそのようなワークステーションが含まれてもよい。さらに、操作ワークステーションはデスクトップコンピュータとして図示されているが、操作ワークステーションは、ラップトップ、ネットブック、タブレットコンピュータなど様々なタイプのパーソナルコンピューティングデバイスを含み得る。
メモリ130と同様に、記憶システム450は、ハードドライブ、メモリカード、ROM、RAM、DVD、CD-ROM、書き込み可能メモリ、および読み出し専用メモリなどの、サーバコンピューティングデバイス410によりアクセス可能である情報を記憶することができる、任意のタイプのコンピュータ化された記憶装置であり得る。さらに、記憶システム450は、データが、同じまたは異なる地理的位置に物理的に設置され得る複数の異なる記憶デバイス上に記憶される分散型記憶システムを含んでもよい。記憶システム450は、図4および図5に示すように、ネットワーク460を介してコンピューティングデバイスに接続されてもよく、かつ/またはコンピューティングデバイス110、410、420、430、440などのいずれかに直接接続されるか、もしくは組み込まれてもよい。
記憶システム450は、以下でより詳細に説明されるように、様々なタイプの情報を記憶することができる。この情報は、本明細書で記載する特徴のうちのいくつかまたはすべてを実行するために、1つ以上のサーバコンピューティングデバイス410などのサーバコンピューティングデバイスによって検索または別様にアクセスされ得る。例えば、記憶システム450は、理想的な人間の運転手の予想される挙動を表す検証モデルを記憶してもよい。検証モデルは、1組の特性を確立することによって生成され得る。これらは、例えば、理想的な人間の運転手と同様に、足や手を動かして車両のブレーキング、加速、および/またはステアリングの挙動を変更することにより、視覚的または聴覚的刺激に反応するための応答時間に関する。検証モデルは、仮想車両の挙動方法を決定するための1組のルールも含み得る。これらのルールは、仮想車両の経路、仮想車両の速度、仮想車両が異なる対象物にどのように反応するかなどの挙動を定義し得る。1組の特性および1組のルールは、あたかも理想的な人間が仮想車両を制御しているかのように、検証モデルが仮想車両を制御する(すなわち、ブレーキ、旋回など)ことを可能にし得る。そのようなデータは、既存の人間の応答(または反応)の研究から入手でき、または実験を実行して実際の人間の挙動をテストすることから生成され得る。この点について、検証モデルは、実際には多くの状況で人間の運転手と同等であるかそれ以上に実行することが予想され得る。
しかしながら、典型的な人間の運転手とは異なり、検証モデルは、(例えば、車両の死角または別の対象物の背後にあるため)隠れている対象物であっても、自律車両よりもその環境内でより多くの情報を知覚すると想定され得る。言い換えると、検証モデルの知覚は「完全」でさえあり、自律車両に予想されるものよりも優れている場合がある。これにより、検証モデルは、これ以上ないほどに超人間的な性能でありながら、少なくとも名目上の人間と同等の能力を持つことが可能であり得る。例えば、検証モデルの場合、反応時間や旋回などの運転挙動は、非常に人間に似ている可能性があり、知覚はほとんど「超人間的」であり得る。代替的に、検証モデルの知覚は、例えば約300フィートなど、ある距離までしか完全ではなく、それを超えると、検証モデルは完全ではないか、知覚がない場合がある。さらなる代替として、検証モデルの知覚は、特定の視野に制限されるか、または検証モデルの知覚は、典型的な人間の運転手の死角または閉塞されたエリアを含まない。もちろん、これらは単なる例であり、挙動や知覚を含むモデルの特徴は、人間の性能をより厳密にモデル化する、または超人間的である可能性がある。
検証モデルに加えて、記憶システム450は、複数のシナリオを記憶することもできる。シナリオは、例えば、スピード違反、一時停止標識または赤信号無視、でたらめな運転など、不適切に挙動している別の対象物への応答をテストする状況として生成されてもよい。この点について、シナリオは、単に車両が走り回るだけでなく、車両の応答が車両および任意の他の対象物の安全のために重要である状況である。各シナリオは、道路の形状、場所、方向などの特性を定義する道路情報など、仮想車両の環境を定義する情報を含み得る。加えて、各シナリオは、車両、歩行者、自転車乗用者、植生、縁石、車線境界線、歩道、横断歩道、建物などの対象物の形状、場所、向き、速度などの対象物の特性を定義する対象物情報も含み得る。さらに、各シナリオは、仮想車両の形状、場所、向き、速度などを含む、車両100に対応する仮想車両の特性を含み得る。加えて、各シナリオの環境および他の対象物は、実世界のログデータ(例えば、車両100の知覚システム172などの知覚システムによって生成されたセンサーデータ)、シミュレーションで作成された純粋な合成対象物もしくはセンサーデータ、またはこれらの任意の組み合わせを含み得る。
各シナリオは、「ハンドオーバー時間」または自律制御ソフトウェアおよび検証モデルにシナリオ内の仮想車両を制御する制御が与えられた時間と関連付けられ得る。ハンドオーバー時間は、そのシナリオの状況に応じて、シナリオごとに自動的に選択されてもよい。いくつかの事例では、ハンドオーバー時間は、例えば操作ワークステーション440を使用して、人間オペレータによってさらに確認または手動調整されてもよい。一例では、所与のシナリオについて、自律車両が、シナリオ内で、約5秒など、将来のある所定の期間に、車両、歩行者、自転車乗用者など、別の対象物と衝突する場合、これは、ハンドオーバー時間として選択されてもよい。この例は、自律車両と他の対象物の両方が現在の経路をたどり続けることを想定している(実際のシナリオではそうではない場合でも)。次に、このハンドオーバー時間は、妥当であると確認されるか、人間オペレータによって調整され得る。人間によるレビューを伴うハンドオーバー時間のためにより単純な検証プロセスを使用すると、不要な複雑さおよび計算が削減され、大きいデータセットに対してより一貫した結果を提供することができる。
ハンドオーバー時間は、異なるアプローチを使用して決定されてもよい。例えば、ハンドオーバー時間は、人間の運転手が衝突を回避するために快適にブレーキをかけることができなくなった時点など、人間の運転手が挙動を停止する可能性が低い時点に対応し得る。代替的に、ハンドオーバー時間は、人間の運転手の知覚が完全ではなくなるか、または何らかの特定の閾値よりも低くなる時点に対応し得る。また別の例では、あるシナリオにより自律制御ソフトウェアが仮想車両の衝突を引き起こす場合、同じ状況での検証モデルのハンドオーバー時間は数秒早くなる可能性がある。もちろん、これらの例のいずれも、妥当であると確認されるか、人間オペレータによって調整され得る。
さらなる例として、自律制御ソフトウェアの知覚または検証モデルに基づいて、ハンドオーバー時間を決定することができる。例えば、対象物が緊急応答を必要とするような挙動をしている場合でも、不完全な知覚を持つ検証モデルまたは自律制御ソフトウェアは、対象物をすぐに見たり観察したりしない可能性がある。したがって、ハンドオーバー時間は、検証モデルまたは自律制御ソフトウェアがその対象物を観察する、または実際に観察すべき時点に対応する場合がある。例えば、駐車中の車両の後ろから車道に歩行者が歩いて入ってくる場合、完全な知覚を持つ検証モデルは人に早く反応し始める可能性がある。その検証モデルまたは自律制御ソフトウェアは、歩行者が駐車中の車両の後ろにいても歩行していることを観察することができるからである。しかしながら、不完全な知覚を持つ検証モデルまたは自律制御ソフトウェアは、後で反応する可能性がある。その検証モデルまたは自律制御ソフトウェアは、駐車中の車両の後ろから出てくるまで歩行者を見たり観察したりすることができないからである。ハンドオーバー時間がオペレータによって手動で設定されるとき、オペレータは、例えば、人が駐車中の車両の後ろから出てくるときにハンドオーバー時間を設定することによって、不完全な知覚を手動でエンコードすることもできる。
図6は、地図情報200に対応する道路の区分に関するシナリオの例600を提供する。この例では、交差点602および604は、それぞれ交差点202および204に対応する。この点、車線境界線210、612、614、信号機620、622、横断歩道630、歩道640、一時停止標識650、652、および譲れの標識660の形状、場所、ならびに他の特性は、車線境界線210、212、214、信号機220、222、横断歩道230、歩道240、一時停止標識250、252、および譲れの標識260の形状、場所、ならびに他の特性に対応する。
例600では、車両100または車両100Aに対応する仮想自律車両610が交差点604に接近している。第2の仮想車両620も交差点604に接近している。このシナリオは、車両620が一時停止標識650を無視する可能性があるので、仮想車両620の「挙動が悪い」ことを含み得る。このシナリオでは、仮想自律車両610および仮想車両620が現在の速度で次の5秒間(すなわち、将来の所定の期間まで)継続した場合、仮想車両は互いに衝突することになる。したがって、例600は、ハンドオーバー時間のシナリオを表す。
シナリオは、様々な方法でアレンジしてもよい。例えば、シナリオは、カテゴリにグループ化されているか、そうでなければカテゴリに関連付けられ、これらのカテゴリは、より大きいカテゴリグループに一緒にグループ化されてもよい。例えば、交差点の一時停止標識で右折するシナリオは、1つのカテゴリであり得る。別の例として、例600は、仮想車両が向きを変えずに交差点を通過している他のシナリオで1つのカテゴリにグループ化されてもよい。同様に、一時停止標識に関するすべてのカテゴリは、一時停止標識シナリオのカテゴリグループに一緒にグループ化され得る。加えて、所与のカテゴリまたはカテゴリグループ内のシナリオは各々、わずかに異なる。例えば、仮想自律車両および他の車両の速度および位置は、他の車両の挙動だけでなく、異なるシナリオにわたって変更されてもよい。曲がり角または交差点の形状も変更されてもよい。人または自律車両によって観察された実際の運転イベントから、または人間オペレータによって想像される状況から、異なるシナリオが生成され得る。シナリオをカテゴリにグループ化することにより、自律制御ソフトウェアが以下で説明するように十分に実行されない場合、自律制御ソフトウェアの問題がどこにあるかがより容易に明らかになる可能性がある。
加えて、記憶システム450は、自律運転モードで車両を操作するために車両100などの車両によって使用される自律制御ソフトウェアを記憶することもできる。記憶システム450に記憶されたこの自律制御ソフトウェアは、まだ検証されていないバージョンであり得る。検証されると、自律制御ソフトウェアは、例えば、自律運転モードで車両100を制御するためにコンピューティングデバイス110によって使用されるように、車両100のメモリ130に送信されてもよい。
例示的な方法
上述し、図に例示した動作に加えて、様々な動作が、ここで説明される。以下の動作は、以降に説明された正確な順序で実行される必要はないことを理解されたい。むしろ、様々なステップが、異なる順序で、または同時に処理されてもよく、ステップもまた、追加または省略されてもよい。
車両100のコンピューティングデバイス110による使用のためにメモリ130に記憶される自律制御ソフトウェアを検証するために、検証モデル、シナリオ、およびハンドオーバー時間は各々構築され、または決定されなければならない。上記のように、検証モデルは、上述のように、1組の特性を使用して、サーバコンピューティングデバイス410などのサーバコンピューティングデバイス、および/または操作ワークステーション440など1つ以上の操作ワークステーションによって生成され得る。シナリオは、車両100または車両100Aなどの車両の実際の運転体験を使用し、上述のように、適切なハンドオーバー時間を決定して生成され得る。この情報は、上述のように、記憶システム450に記憶され得る。
次に、サーバコンピューティングデバイス410は、記憶システム450に記憶された自律制御ソフトウェアを検証するために、記憶システム450にアクセスすることができる。例えば、サーバコンピューティングデバイス410は、性能を評価するために、カテゴリごと、カテゴリグループごとに、記憶システム450のシナリオを通じて、自律制御ソフトウェアおよび検証モデルの各々を実行し得る。一度に1つのカテゴリおよび/またはカテゴリグループを使用して自律制御ソフトウェアを検証することは、すべてのカテゴリのすべてのシナリオを一度に実行するのではなく、自律制御ソフトウェアをどのように改善できるかを識別する機会を提供し得る。例えば、自律制御ソフトウェアおよび検証ソフトウェアは、例600のシナリオ、および例600と同じカテゴリまたはカテゴリグループ内の任意の他のシナリオを通じて実行されてもよい。
所与のシナリオを通じて自律制御ソフトウェアを実行すると、シナリオの詳細を使用してシミュレーションが生成され得る。例えば、必要に応じて、シナリオの環境および対象物は、知覚システム172などの知覚システムが、自律制御ソフトウェアに従って動作するであろう車両100のコンピューティングデバイス110に提供することが予想されるセンサーデータに変換され得る。代替的に、シナリオがセンサーデータをすでに含む場合、シナリオは単に「再生」され得る。いずれの場合でも、自律制御ソフトウェアは、自律制御ソフトウェアが実際に車両100上で実行されているかのようにシナリオを「体験」または処理する。言い換えれば、自律制御ソフトウェアは、シナリオのすべての詳細ではなく、知覚システム172がシナリオについて検出することができるであろう情報のみが提供される。例えば、例600に戻ると、サーバコンピューティングデバイス410は、自律制御ソフトウェアが、詳細な地図情報200、ならびに仮想自律車両610の知覚システムによって検出される任意の情報へのアクセスを与えられるように、シナリオを実行し得る。
自律制御ソフトウェアは、仮想自律車両が従うべきシナリオごとに1つの応答のみを選択し得る。もちろん、自律制御ソフトウェアによって決定される応答は、そのソフトウェアのプログラミングに従って決定される。これらの応答の実際の特性は、例えば、仮想車両の機能(ブレーキ、加速、ステアリング制御など)や、自律車両ソフトウェアがそのような応答を実行する方法などを含む任意の数の変数によって決定され得る。したがって、シミュレーションは、選択された、またはむしろ決定されたタイプの応答が与えられると、シナリオの予想される結果を提供し得る。この予想される結果は、仮想自律車両の最終ポーズ、シナリオ内の任意の他の車両または対象物の最終ポーズ、応答時間、任意の対象物との衝突の有無などの情報を含み得る。
次に、自律制御ソフトウェアの性能を評価するか、むしろ、自律制御ソフトウェアが所与のシナリオに「合格」したか「不合格」になったかを判定するために、予想される結果が使用され得る。例えば、自律制御ソフトウェアは、衝突がない場合、衝突はなく、仮想車両と別の対象物(衝突があった可能性がある)との間に少なくとも何らかの最小バッファ距離(約2フィートなど)がある場合、衝突はなく、車両が衝突を回避するために危険な操作(車道からの離脱、スピード違反、対向車線に向かっての運転、縦方向もしくは横方向への高加速やジャークの使用、または他の危険な操作など)を行う必要がなかった場合、衝突はなく、シナリオでの潜在的な衝突への反応を開始する反応時間が遅すぎない場合(シナリオに応じて一瞬、1秒、数秒を超えるなど)、衝突はあるが、傷害の可能性が非常に低い場合、または任意の他のそのような考慮事項の場合、シナリオに合格し得る。
傷害の可能性の分析は、車両衝突の既知の保険数理技術および計算を使用して、予想される傷害の結果を決定し、定量化するために、仮装車両の衝突位置、衝突角度、ならびにまたは衝突時の仮装車両および仮装車両が衝突した対象物の速度など、所与のシナリオの結果の特性を使用して、衝突の属性を識別することを伴い得る。この点について、傷害の重症度のAIS分類(自動車医学促進協会発行)、または道路車両の機能安全に関するISO26262規格で定義されている重症度のクラスなどの傷害重症度システムを使用して、「合格」または「不合格」の基準を識別するのに役立つように、予想される傷害の結果を定量化することができる。例として、表2の重症度のクラスの定義を使用すると、S0またはS1の重症度レベルの衝突は「合格」と見なされ得る。他のすべての衝突は「不合格」と見なされ得る。下記の表1は、略式傷害スコアシステムの例示的な表現を提供し、表2は、前述のESレベルと表1のAISスコアコードとの間のマッピングを提供する。
Figure 0007183273000001

Figure 0007183273000002
シナリオを通じて自律制御ソフトウェアを実行することに加えて、検証モデルを、シナリオを通じて実行して、自律制御ソフトウェアがシナリオに合格するかどうかを決定することもできる。しかしながら、検証モデルを、知覚システム172によってコンピューティングデバイス110に提供されるデータに限定するのではなく、検証モデルには、シナリオに関するすべての情報が提供される。この点について、検証モデルは、上記のように完全な知覚を有し、したがって、シナリオに関する自律制御ソフトウェアよりも多くの情報が提供される。代替的に、検証モデルの知覚は、上記の例のいずれかと同様に制限される場合がある。
加えて、検証モデルの性能を評価するとき、検証モデルは、検証モデルの1組の特性および1組のルールを使用して、所定の1組の一般的なタイプの応答のすべてまたはサブセットの下で同じシナリオを実行し得る。言い換えると、検証モデルは、実際には、自律制御ソフトウェアに「取って代わる」。図7の例700に例示されるように、これらの一般的な応答のカテゴリは、ブレーキング(経路Aによって表される)、右旋回(経路Bによって表される)、左旋回(経路Cによって表される)、ブレーキングおよび右旋回(経路Dによって表される)、またはブレーキングおよび左旋回(経路Eによって表される)を含み得る。他のタイプの応答は、何もしない(すなわち、加速/減速または方向を変更しない)、加速、または左または右旋回しながらの加速、または異なるレートでの旋回、ブレーキングまたは加速など、他のタイプの反応も含み得る。
この場合も、検証モデルは、例えば、特定のシナリオまたはシナリオのカテゴリについて人間オペレータによって選択された、所定の1組のまたは所定のサブセットのそのような応答における異なる応答の各々を使用してシナリオを通じて実行される。言い換えると、例600のシナリオは、所定の1組が例700における可能な経路A~Eに対応する一般的なタイプの応答を含むと想定すると、シナリオは、5つの可能な経路の各々について1回実行される。この点について、検証モデルは、各シナリオでのブレーキング、右旋回、左旋回、ブレーキングと右旋回、またはブレーキングと左旋回を含む、所定の1組における各タイプの応答を試す機会を有する。
この場合も、これらの応答の実際の特性は、例えば、仮想車両の機能(ブレーキング、加速、ステアリング制御など)、ならびに検証モデルの1組の特性および1組のルールに従って検証モデルがそのような応答を実行する方法を含む、任意の数の変数によって決定され得る。1組のルールは、いくつかのシナリオ、シナリオのカテゴリ、またはすべてのシナリオに対して調整または具体的に選択され得る。例えば、1組のルールは、モデルがあるシナリオにおいて他の対象物を無視するか、あるシナリオにおいてすべての対象物を等しく回避しようとするか、または他のタイプの対象物(縁石、中央分離帯など)よりもあるシナリオにおけるいくつかの対象物(人、自転車乗用者、または他の車両など)を回避しようとするかを定義し得る。これらの1組のルールは、例えば、仮想モデルが一定の速度を維持すべきかどうか、モデルが特定の速度を維持すべきかどうか(時速約25マイル)、またはモデルが自律制御ソフトウェアによって決定されたものと同じ速度計画を使用すべきかどうかなど、シナリオに応答する前の仮想車両の速度を定義してもよい。1組のルールは、シナリオに応答する前にモデルが特定のジオメトリに従うべきかどうか、モデルが常に同じジオメトリに従うかべきかどうか(例えば、常に直進するかどうか)、またはモデルが自律制御ソフトウェアによって決定されたものと同じジオメトリを使用すべきかどうかを定義することもできる。
いくつかの場合には、検証モデルのあるタイプの応答の特定の特性、ならびに仮想車両の加速(横方向および前方)も、1組のルールによって定義され得る。例えば、検証モデルは、最初に非常に強くブレーキをかけ(減速)し始め、しかし、仮想車両があるレベルの減速または速度に達すると、検証モデルは、ゆっくりブレーキをかけ得るように、1組のルールまたはシナリオにおいてブレーキングの特定の傾斜をエンコードすることができる。
例示的な所定の1組は、一般的なタイプの応答を5つしか含んでいないが、この1組は、何もしない(すなわち、加速/減速または方向を変更しない)、加速する、または左もしくは右旋回しながら加速するなど、異なるまたは他のタイプの応答を含んでいてもよい。別の例として、人間オペレータは、所定の1組の応答の全体またはサブセットを使用するのではなく、検証モデルを「最良の」挙動でエンコードしてもよく、検証モデルがシナリオを実行し、検証モデルに従って所与のシナリオに最良の応答を予測し、検証モデルは、常に、同じ応答を使用し(例えば、常にまっすぐ進み続ける)、または所与のシナリオについて自律車両ソフトウェアによって決定された同じ経路(すなわち、同じジオメトリ)を検証モデルがたどるが、検証モデルは、仮想車両の速度を変更する方法または変更するかどうかを決定してもよい。
検証モデルが応答のうちの所与の1つを使用してシナリオに合格したか不合格になったかは、自律制御ソフトウェアの場合と同じまたは同様のルールを使用して決定され得る。一例として、検証モデルは、例えば、上記の例のように、衝突がない場合、衝突はなく、仮想車両と別の対象物との間に少なくとも何らかの最小バッファ距離がある場合、衝突はなく、車両が衝突を回避するために危険な操作を行う必要がなかった場合、衝突はなく、シナリオでの潜在的な衝突への反応を開始する反応時間が遅すぎない場合、のいずれかに基づいてシナリオに合格し得る。検証モデルが異なる応答のいずれか1つを使用してシナリオに合格した場合、検証モデルは、そのシナリオに合格したと見なされ得る。この点について、自律制御ソフトウェアは、検証モデルがテストされる5回ごとに1回テストされる。
次に、検証モデルと比較して自律制御ソフトウェアの性能を評価するために、シナリオの結果が比較され得る。一例では、自律制御ソフトウェアは、検証モデルと少なくとも同じ数のシナリオに合格するなど、いくつかの要件を満たす必要がある場合がある。加えて、検証モデルと比較して、比較の結果と自律制御ソフトウェアのより有用な分析により大きな有用性を提供するために、所与のカテゴリまたはカテゴリグループの結果は、個々のシナリオの評価、集約またはグループ化したものによって、その所与のカテゴリまたはカテゴリグループの検証モデルと比較して、自律制御ソフトウェアがどのように実行されるかかを決定することによって評価され得る。例えば、カテゴリまたはカテゴリグループに「合格する」ために、自律制御ソフトウェアの結果が検証モデルの結果と比較され得る。
一例として、所与のカテゴリに合格するために、自律制御ソフトウェアは、所与のカテゴリ内の検証モデルと同等であるかそれ以上の数のシナリオで衝突を回避する、それらのシナリオについて検証モデルによって達成された平均バッファ距離以上である所与のカテゴリのシナリオのすべてまたはサブセットにわたって平均バッファ距離を達成する、それらのシナリオについて検証モデルによって達成された潜在的な衝突への反応を開始するための平均反応時間以上である所与のカテゴリのシナリオのすべてまたはサブセットにわたって潜在的な衝突への反応を開始するための平均反応時間を達成する、検証モデルによって達成された平均性能メトリック以下である所与のカテゴリのシナリオのすべてまたはサブセットにわたって平均性能メトリック(横方向の最大加速または減速、縦方向の最大加速または減速、またはジャークなど)を達成する、それらのシナリオについて検証ソフトウェアが仮想車両に実行させる操作よりも安全またはより安全である、所与のカテゴリのシナリオのすべてまたはサブセットにわたって仮想車両に操作を実行させる、それらのシナリオの検証ソフトウェアよりも、所与のカテゴリのシナリオのすべてまたはサブセットにわたって、S2またはS3など、ある重症度レベル以上の衝突がない、の要件のうちの1つ以上を達成することが必要とされ得る。シナリオの所与のカテゴリの操作の「安全性」は、仮想車両によって実行される各タイプの操作(例えば、車線内にとどまる、車線から離れる、道路から離れるなど)にペナルティまたはスコア値を割り当て、自律制御ソフトウェアと検証モデルの両方の複数のシナリオにわたる合計スコアを合計することによって評価され得る。この例では、検証モードに対する自律制御ソフトウェアの性能を決定しする、またはむしろ、所与のカテゴリのシナリオについての自律制御ソフトウェアの結果が、所与のカテゴリのシナリオについての検証モデルの性能と同じくらいかそれよりも安全かどうかを決定するために、それらの合計スコアの値が比較されてもよい。上記のように、カテゴリおよびカテゴリグループ内のこの細分性は、自律制御ソフトウェアをどこでどのように改善できるかのよりよい理解を提供し得る。
同様に、所与のカテゴリグループに合格するために、自律制御ソフトウェアは、所与のカテゴリのシナリオにわたって評価するのではなく、所与のカテゴリの前述の要件のうちの1つ以上を達成することが必要とされ、要件は、カテゴリまたはカテゴリグループ内のすべてのシナリオにわたって評価され得る。この一部として、このプロセスを簡略化するために、カテゴリグループのこれらの要件を評価するときに、カテゴリグループ内の複数のカテゴリの、衝突の数、平均バッファ距離、平均反応時間、平均性能メトリック、操作の安全性の合計スコア、ある重症度レベル以上の衝突の数などが追加または平均化され得る。この場合も、上記のように、カテゴリおよびカテゴリグループ内のこの細分性は、自律制御ソフトウェアをどこでどのように改善できるかのよりよい理解を提供し得る。
自律制御ソフトウェアが、評価の実施方法に応じて、すべてのシナリオ、カテゴリ、および/またはカテゴリグループについて前述の要件を満たすことができる場合、自律制御ソフトウェアは、検証モデルに関して検証されたと見なされ得る、または他の検証プロセスも使用されている場合は検証モデルに関して少なくとも部分的に検証されたと見なされ得る。言い換えると、要件を満たすことは、自律制御ソフトウェアが、自律制御ソフトウェアおよび検証モデルが実行されたシナリオの検証モデルと少なくとも同じくらい優れていることを示し得る。代替的に、自律制御ソフトウェアがシナリオのあるカテゴリについて前述の要件を満たすことができない場合、結果をさらに詳細に評価して、自律制御ソフトウェアを必要に応じて微調整する方法を決定することができる。シナリオを再実行し、自律制御ソフトウェアを必要に応じて評価することができる。
検証モデルは、1回のみ、検証モデルが更新されるたびに、定期的に、または自律制御ソフトウェアがシナリオを通じて実行されるたびに、シナリオを通じて実行され得る。自律制御ソフトウェアがシナリオを通じて実行されるたびにシナリオを通じて検証モデルを実行することにより、自律車両制御ソフトウェアを検証するときに、検証モデルへの任意の最近の変更が考慮されることが保証される。
図8は、コンピューティングデバイス410のプロセッサなどの1つ以上のプロセッサによって実行され得る自律制御ソフトウェアを検証するためのいくつかの例の例示的なフロー図800を含む。例えば、ブロック810において、運転シナリオを通じて自律制御ソフトウェアが1回実行されて、自律制御ソフトウェアのシナリオの結果が観察される。ブロック820において、運転シナリオを通じて検証モデルが複数回実行されて、複数回の各々について検証モデルのシナリオの結果が観察される。ブロック830において、自律制御ソフトウェアの制御下にある仮想車両が1回の間に別の対象物と衝突したことを、自律制御ソフトウェアのシナリオの結果が示すかどうかに基づいて、自律制御ソフトウェアが運転シナリオに合格したかどうかが判定される。ブロック840において、検証モデルの制御下にある仮想車両が複数回のうちのいずれか1回で別の対象物と衝突したことを、検証モデルのシナリオの結果が示すかどうかに基づいて、検証モデルが運転シナリオに合格したかどうかが判定される。ブロック850において、判定に基づいて、自律制御ソフトウェアが検証される。
特段の記述がない限り、前述の代替例は、相互に排他的ではないが、独自の利点を達成するために様々な組み合わせで実施することができる。上述した特徴のこれらおよび他の変形ならびに組み合わせは、特許請求の範囲によって定義される主題から逸脱せずに利用され得るため、前述の実施形態の説明は、特許請求の範囲によって定義された主題を限定するものとしてではなく、例示するものとしてみなされるべきである。加えて、本明細書に説明された実施例、ならびに「など」、「含む」などとして表現された語句の提供は、特許請求の範囲の主題を特定の例に限定するものと解釈されるべきではなく、むしろ、それらの例は、多くの可能性のある実施形態のうちの単なる1つを例示することが意図されている。さらに、異なる図面中の同じ参照番号は、同じまたは類似の要素を識別することができる。

Claims (20)

  1. 自律運転モードで車両を操作するための自律制御ソフトウェアを検証する方法であって、
    1つ以上のプロセッサによって、運転シナリオを通じて前記自律制御ソフトウェアを1回実行して、前記自律制御ソフトウェアの前記運転シナリオの結果を観察することと、
    前記1つ以上のプロセッサによって、前記運転シナリオを通じて検証モデルを複数回実行して、前記複数回の各々について前記検証モデルの前記運転シナリオの結果を観察することと、
    前記1つ以上のプロセッサによって、前記自律制御ソフトウェアの制御下にある仮想車両が前記1回の間に対象物と衝突したことを、前記自律制御ソフトウェアの前記運転シナリオの前記結果が示すかどうかに基づいて、前記自律制御ソフトウェアが前記運転シナリオに合格したかどうかを判定することと、
    前記1つ以上のプロセッサによって、前記検証モデルの制御下にある仮想車両が前記複数回のうちのいずれか1回で対象物と衝突したことを、前記検証モデルの前記運転シナリオの結果が示すかどうかに基づいて、前記検証モデルが前記運転シナリオに合格したかどうかを判定することと、
    前記1つ以上のプロセッサによって、前記判定に基づいて、前記自律制御ソフトウェアを検証することと、を含む、方法。
  2. 前記運転シナリオは、運転シナリオの所与のカテゴリの複数の運転シナリオのうちの1つであり、前記自律制御ソフトウェアを検証することは、前記所与のカテゴリの前記複数の運転シナリオのすべてにわたって前記自律制御ソフトウェアおよび前記検証モデルの性能を評価することに基づく、請求項1に記載の方法。
  3. 前記1つ以上のプロセッサによって、前記自律制御ソフトウェアが合格したいくつかの前記運転シナリオを、複数回のうち少なくとも1回合格したいくつかのシナリオと比較することをさらに含み、前記自律制御ソフトウェアを検証することは前記比較にさらに基づく、請求項2に記載の方法。
  4. 前記運転シナリオを通じて前記検証モデルを複数回実行することは、所定の1組のタイプの応答において識別された応答のタイプごとに1回前記運転シナリオを実行することを含む、請求項1に記載の方法。
  5. 前記複数回の各々は、前記複数のうちの第1のものはブレーキ応答を含み、前記複数のうちの第2のものは右旋回の応答を含み、前記複数のうちの第3のものは左旋回の応答を含み、前記複数のうちの第4のものはブレーキおよび右旋回の応答を含み、前記複数のうちの第5のものはブレーキおよび左旋回の応答を含むように、前記検証モデルの前記応答が異なることに対応する、請求項1に記載の方法。
  6. 前記自律制御ソフトウェアが前記運転シナリオに合格したかどうかを判定することは、前記対象物との任意の衝突の重症度レベルにさらに基づく、請求項1に記載の方法。
  7. 前記自律制御ソフトウェアを検証することは、前記重症度レベルにさらに基づく、請求項6に記載の方法。
  8. 前記検証モデルが前記運転シナリオに合格したかどうかを判定することは、前記対象物との任意の衝突の重症度レベルにさらに基づく、請求項1に記載の方法。
  9. 前記自律制御ソフトウェアを検証することは、前記重症度レベルにさらに基づく、請求項8に記載の方法。
  10. 前記1つ以上のプロセッサによって、前記運転シナリオ内で前記仮想車両および前記対象物がそれぞれの現在の軌跡をたどり続けた場合に、前記仮想車両が前記対象物と衝突する前の前記運転シナリオ内の所定の秒数に対応する、前記自律制御ソフトウェアまたは前記検証モデルに前記運転シナリオ内の前記仮想車両の制御を与えるためのハンドオーバー時間を識別することをさらに含み、前記ハンドオーバー時間は、前記運転シナリオを通じて前記検証モデルを実行し、前記運転シナリオを通じて前記自律制御ソフトウェアを実行するために使用される、請求項1に記載の方法。
  11. 前記ハンドオーバー時間は、前記運転シナリオを通じて前記自律制御ソフトウェアを実行するために使用される、請求項10に記載の方法。
  12. 前記1つ以上のプロセッサによって、前記ハンドオーバー時間の確認のために、前記運転シナリオおよび前記ハンドオーバー時間を人間オペレータに提供することをさらに含む、請求項10に記載の方法。
  13. 自律運転モードで車両を操作するための自律制御ソフトウェアを検証するためのシステムであって、
    運転シナリオを通じて前記自律制御ソフトウェアを1回実行して、前記自律制御ソフトウェアの前記運転シナリオの結果を観察し、
    前記運転シナリオを通じて検証モデルを複数回実行して、前記複数回の各々について前記検証モデルの前記運転シナリオの結果を観察し、
    前記自律制御ソフトウェアの制御下にある仮想車両が前記1回の間に対象物と衝突したことを、前記自律制御ソフトウェアの前記運転シナリオの前記結果が示すかどうかに基づいて、前記自律制御ソフトウェアが前記運転シナリオに合格したかどうかを判定し、
    前記検証モデルの制御下にある仮想車両が前記複数回のうちのいずれか1回で対象物と衝突したことを、前記検証モデルの前記運転シナリオの結果が示すかどうかに基づいて、前記検証モデルが前記運転シナリオに合格したかどうかを判定し、
    前記判定に基づいて、前記自律制御ソフトウェアを検証する、ように構成された1つ以上のプロセッサを有する1つ以上のコンピューティングデバイスを含む、システム。
  14. 前記運転シナリオは、運転シナリオの所与のカテゴリの複数の運転シナリオのうちの1つであり、前記自律制御ソフトウェアを検証することは、前記所与のカテゴリの前記複数の運転シナリオのすべてにわたって前記自律制御ソフトウェアおよび前記検証モデルの性能を評価することに基づく、請求項13に記載のシステム。
  15. 前記1つ以上のプロセッサは、前記自律制御ソフトウェアが合格したいくつかの前記運転シナリオを、複数回のうち少なくとも1回合格したいくつかのシナリオと比較するようにさらに構成されており、前記自律制御ソフトウェアを検証することは前記比較にさらに基づく、請求項14に記載のシステム。
  16. 前記1つ以上のプロセッサは、前記対象物との任意の衝突の重症度レベルにさらに基づいて、前記自律制御ソフトウェアが前記運転シナリオに合格したかどうかを判定するようにさらに構成されている、請求項13に記載のシステム。
  17. 前記1つ以上のプロセッサは、前記対象物との任意の衝突の重症度レベルにさらに基づいて、前記検証モデルが前記運転シナリオに合格したかどうかを判定するようにさらに構成されている、請求項13に記載のシステム。
  18. 前記1つ以上のプロセッサは、前記運転シナリオ内で前記仮想車両および前記対象物がそれぞれの現在の軌跡をたどり続けた場合に、前記仮想車両が前記対象物と衝突する前の前記運転シナリオ内の所定の秒数に対応する、前記自律制御ソフトウェアまたは前記検証モデルに前記運転シナリオ内の前記仮想車両の制御を与えるためのハンドオーバー時間を識別するようにさらに構成されており、前記ハンドオーバー時間は、前記運転シナリオを通じて前記検証モデルを実行し、前記運転シナリオを通じて前記自律制御ソフトウェアを実行するために使用される、請求項13に記載のシステム。
  19. 前記自律制御ソフトウェアをさらに含む、請求項13に記載のシステム。
  20. 前記検証モデルをさらに含む、請求項13に記載のシステム。
JP2020533203A 2018-01-08 2019-01-08 自律車両のソフトウェア検証 Active JP7183273B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/864,239 2018-01-08
US15/864,239 US10831636B2 (en) 2018-01-08 2018-01-08 Software validation for autonomous vehicles
PCT/US2019/012713 WO2019136447A1 (en) 2018-01-08 2019-01-08 Software validation for autonomous vehicles

Publications (2)

Publication Number Publication Date
JP2021509646A JP2021509646A (ja) 2021-04-01
JP7183273B2 true JP7183273B2 (ja) 2022-12-05

Family

ID=67139542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020533203A Active JP7183273B2 (ja) 2018-01-08 2019-01-08 自律車両のソフトウェア検証

Country Status (8)

Country Link
US (3) US10831636B2 (ja)
EP (1) EP3710327B1 (ja)
JP (1) JP7183273B2 (ja)
KR (1) KR102355257B1 (ja)
CN (1) CN111565990B (ja)
AU (2) AU2019205817B2 (ja)
SG (1) SG11202005671RA (ja)
WO (1) WO2019136447A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102579590B1 (ko) * 2022-12-28 2023-09-18 도로교통공단 도로교통법 기반 자율주행차 운전능력 평가시나리오 생성 시스템

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3525374B1 (en) * 2018-02-07 2021-10-06 Volkswagen Aktiengesellschaft Method for data communication between at least two participants of a wireless communication system, corresponding control unit and vehicle equipped with a control unit as well as computer program
JP6806107B2 (ja) * 2018-03-20 2021-01-06 日本電気株式会社 障害物認識支援装置、障害物認識支援方法、プログラム
EP3584748A1 (de) * 2018-06-20 2019-12-25 Siemens Aktiengesellschaft Verfahren zur erzeugung eines testdatensatzes, verfahren zum testen, verfahren zum betreiben eines systems, vorrichtung, steuerungssystem, computerprogrammprodukt, computerlesbares medium, erzeugung und verwendung
US10896116B1 (en) 2018-10-19 2021-01-19 Waymo Llc Detecting performance regressions in software for controlling autonomous vehicles
US20200211394A1 (en) * 2018-12-26 2020-07-02 Zoox, Inc. Collision avoidance system
US11332132B2 (en) * 2019-08-30 2022-05-17 Argo AI, LLC Method of handling occlusions at intersections in operation of autonomous vehicle
US11494533B2 (en) * 2019-11-27 2022-11-08 Waymo Llc Simulations with modified agents for testing autonomous vehicle software
DE102020204867A1 (de) * 2020-04-17 2021-10-21 Volkswagen Aktiengesellschaft Verfahren und System zum Betreiben einer Fahrmanöverplanung mindestens eines zumindest teilautomatisiert fahrenden Fahrzeugs
US11886193B1 (en) * 2020-06-04 2024-01-30 Nuro, Inc. Methods and apparatus for using scene-based metrics to gate readiness of autonomous systems
EP3940487B1 (en) * 2020-07-14 2023-09-20 Zenuity AB Estimation of probability of collision with increasing severity level for autonomous vehicles
CN111881520B (zh) * 2020-07-31 2022-01-11 广州文远知行科技有限公司 一种自动驾驶测试的异常检测方法、装置、计算机设备及存储介质
KR102335372B1 (ko) * 2020-10-19 2021-12-06 주식회사 오비고 QC(Quality Control) 검증앱을 이용하여 자율주행차량의 동작을 검증하는 방법 및 관제 서버
CN112559371B (zh) * 2020-12-24 2023-07-28 北京百度网讯科技有限公司 一种自动驾驶测试方法、装置及电子设备
US20240043026A1 (en) * 2021-02-12 2024-02-08 Five AI Limited Performance testing for trajectory planners
US11932260B2 (en) 2021-03-30 2024-03-19 Motional Ad Llc Selecting testing scenarios for evaluating the performance of autonomous vehicles
CN113076261B (zh) * 2021-04-29 2024-06-21 安徽江淮汽车集团股份有限公司 自动泊车测试方法、设备、存储介质及装置
US11834070B2 (en) * 2021-07-08 2023-12-05 Waymo Llc Probabilistic simulation sampling from agent data
US20230102929A1 (en) * 2021-09-24 2023-03-30 Embark Trucks, Inc. Autonomous vehicle automated scenario characterization
KR102625974B1 (ko) * 2021-11-29 2024-01-18 주식회사 오비고 자율주행차량의 운행 검증에 필요한 검증 시나리오를 편집하는 방법 및 이를 이용한 서버
KR102434475B1 (ko) * 2022-01-21 2022-08-19 주식회사 모라이 자율 주행 알고리즘의 성능 평가 방법 및 시스템
CN114501516B (zh) * 2022-02-14 2024-03-12 成都市以太节点科技有限公司 一种车地无线通信切换室内测试方法及系统
WO2023186296A1 (en) * 2022-03-30 2023-10-05 Siemens Aktiengesellschaft Determination of an impact impa of deployment of an autonomous vehicle in an environment
US20230356750A1 (en) * 2022-05-09 2023-11-09 Motional Ad Llc Autonomous Vehicle Validation using Real-World Adversarial Events
US20240253644A1 (en) * 2023-02-01 2024-08-01 Hitachi, Ltd. Detecting anomalies in vehicle artificial intelligence systems
DE102023000357B3 (de) 2023-02-06 2024-06-06 Mercedes-Benz Group AG Verfahren zum Erzeugen von Testdaten für eine Simulation eines Assistenzsystems eines zumindest teilweise assistiert betriebenen Kraftfahrzeugs, Computerprogrammprodukt, computerlesbares Speichermedium sowie elektronische Recheneinrichtung

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003034200A (ja) 2001-07-24 2003-02-04 Hitachi Ltd 自動車の制御方法
US20080091352A1 (en) 2006-10-11 2008-04-17 O'hare James K Automobile collision avoidance system
US20160368492A1 (en) 2015-06-16 2016-12-22 Honda Motor Co., Ltd. System and method for providing vehicle collision avoidance at an intersection
US20170270236A1 (en) 2016-03-18 2017-09-21 Toyota Jidosha Kabushiki Kaisha Vehicle simulation device for crowd-sourced vehicle simulation data
US20180341571A1 (en) 2017-05-23 2018-11-29 Uber Technologies, Inc. Software version verification for autonomous vehicles

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924049B2 (en) * 2003-01-06 2014-12-30 General Electric Company System and method for controlling movement of vehicles
WO2004090659A2 (en) * 2003-04-10 2004-10-21 Mukesh Dalal Optimizing active decision making using simulated decision making
US20070260438A1 (en) * 2006-05-08 2007-11-08 Langer William J Vehicle testing and simulation using integrated simulation model and physical parts
US7308327B2 (en) * 2006-05-12 2007-12-11 Ford Motor Company Method of application protocol monitoring for programmable logic controllers
GB0611960D0 (en) * 2006-06-16 2006-07-26 Ibm Software testing method and system
US8626565B2 (en) * 2008-06-30 2014-01-07 Autonomous Solutions, Inc. Vehicle dispatching method and system
US20100057405A1 (en) * 2008-08-28 2010-03-04 Sony Corporation Automated software testing environment
US8473171B2 (en) * 2008-10-09 2013-06-25 GM Global Technology Operations LLC Apparatus and method for optimizing a vehicle collision preparation response
US8126642B2 (en) * 2008-10-24 2012-02-28 Gray & Company, Inc. Control and systems for autonomously driven vehicles
US8126736B2 (en) * 2009-01-23 2012-02-28 Warsaw Orthopedic, Inc. Methods and systems for diagnosing, treating, or tracking spinal disorders
WO2010101749A1 (en) * 2009-03-05 2010-09-10 Massachusetts Institute Of Technology Predictive semi-autonomous vehicle navigation system
US8898736B2 (en) * 2011-11-01 2014-11-25 Raytheon Company System to establish trustworthiness of autonomous agent
KR101703144B1 (ko) * 2012-02-09 2017-02-06 한국전자통신연구원 차량의 자율주행 장치 및 그 방법
US8881126B2 (en) * 2012-07-31 2014-11-04 Oracle International Corporation Systems and methods for testing a compiler through compile-time decision feedback
EP2939163A4 (en) * 2012-12-31 2015-12-02 Shuster Gary Stephen DECISION MAKING USING PROGRAMMATIC OR ALGORITHMIC ANALYSIS
KR20140095882A (ko) * 2013-01-25 2014-08-04 삼성전자주식회사 모바일 장치를 검증하기 위한 테스트 시스템 및 이의 구동 방법
DE102013213171A1 (de) * 2013-07-04 2015-01-08 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Kraftfahrzeugs in einem automatisierten Fahrbetrieb
JP2015049187A (ja) 2013-09-03 2015-03-16 株式会社日立製作所 シミュレーション走行ルート生成方法およびそのシステム
EP2865576B1 (en) 2013-10-22 2018-07-04 Honda Research Institute Europe GmbH Composite confidence estimation for predictive driver assistant systems
US9406177B2 (en) 2013-12-20 2016-08-02 Ford Global Technologies, Llc Fault handling in an autonomous vehicle
US9650051B2 (en) * 2013-12-22 2017-05-16 Lytx, Inc. Autonomous driving comparison and evaluation
US10380693B2 (en) 2014-02-25 2019-08-13 State Farm Mutual Automobile Insurance Company Systems and methods for generating data that is representative of an insurance policy for an autonomous vehicle
US10223479B1 (en) 2014-05-20 2019-03-05 State Farm Mutual Automobile Insurance Company Autonomous vehicle operation feature evaluation
EP2990290B1 (en) * 2014-09-01 2019-11-06 Honda Research Institute Europe GmbH Method and system for post-collision manoeuvre planning and vehicle equipped with such system
KR102534792B1 (ko) * 2015-02-10 2023-05-19 모빌아이 비젼 테크놀로지스 엘티디. 자율 주행을 위한 약도
US20160314224A1 (en) 2015-04-24 2016-10-27 Northrop Grumman Systems Corporation Autonomous vehicle simulation system
US20160357262A1 (en) * 2015-06-05 2016-12-08 Arafat M.A. ANSARI Smart vehicle
US9483948B1 (en) * 2015-08-07 2016-11-01 International Business Machines Corporation Automated control of interactions between self-driving vehicles and pedestrians
DE102015010167B4 (de) * 2015-08-11 2017-12-07 Dspace Digital Signal Processing And Control Engineering Gmbh Berechnung einer Solltrajektorie
US9805605B2 (en) 2015-08-12 2017-10-31 Madhusoodhan Ramanujam Using autonomous vehicles in a taxi service
US9587952B1 (en) 2015-09-09 2017-03-07 Allstate Insurance Company Altering autonomous or semi-autonomous vehicle operation based on route traversal values
US9751506B2 (en) * 2015-10-27 2017-09-05 GM Global Technology Operations LLC Algorithms for avoiding automotive crashes at left and right turn intersections
US10496766B2 (en) * 2015-11-05 2019-12-03 Zoox, Inc. Simulation system and methods for autonomous vehicles
DE102016220670A1 (de) * 2015-11-06 2017-05-11 Ford Global Technologies, Llc Verfahren und System zum Testen von Software für autonome Fahrzeuge
DE102016220913A1 (de) * 2015-11-06 2017-05-11 Ford Global Technologies, Llc Verfahren und Vorrichtung zur Generierung von Testfällen für autonome Fahrzeuge
US10521215B2 (en) * 2015-12-10 2019-12-31 Intel Corporation Technologies for customized crowd-sourced features, automated safety and quality assurance with a technical computing environment
US10073965B2 (en) * 2015-12-15 2018-09-11 Nagravision S.A. Methods and systems for validating an autonomous system that includes a dynamic-code module and a static-code module
US9581461B1 (en) * 2016-01-05 2017-02-28 Allstate Insurance Company Data processing system communicating with a map data processing system to generate a display of one or more segments of one or more vehicle routes
US10474964B2 (en) * 2016-01-26 2019-11-12 Ford Global Technologies, Llc Training algorithm for collision avoidance
US10346564B2 (en) 2016-03-30 2019-07-09 Toyota Jidosha Kabushiki Kaisha Dynamic virtual object generation for testing autonomous vehicles in simulated driving scenarios
US10054944B2 (en) * 2016-04-01 2018-08-21 Jaguar Land Rover Limited System and method for configuring autonomous vehicle responses based on a driver profile
CN105911986A (zh) 2016-04-25 2016-08-31 百度在线网络技术(北京)有限公司 无人驾驶车辆感知测试系统和测试方法
ITUA20163204A1 (it) * 2016-05-06 2017-11-06 Cnh Ind Italia Spa Apparato per la prevenzione automatica delle collisioni.
CN106153352B (zh) * 2016-07-04 2018-08-10 江苏大学 一种无人驾驶车辆测试验证平台及其测试方法
WO2018057978A1 (en) * 2016-09-23 2018-03-29 Apple Inc. Decision making for autonomous vehicle motion control
US10489529B2 (en) 2016-10-14 2019-11-26 Zoox, Inc. Scenario description language
US10421460B2 (en) * 2016-11-09 2019-09-24 Baidu Usa Llc Evaluation framework for decision making of autonomous driving vehicle
EP3352028A1 (de) * 2017-01-23 2018-07-25 dSPACE digital signal processing and control engineering GmbH Verfahren zum test einer steuergerätefunktion eines steuergeräts eines fahrzeugs
CN106951627A (zh) * 2017-03-15 2017-07-14 北京百度网讯科技有限公司 车辆自动驾驶的仿真测试方法、装置、设备及计算机可读存储介质
CN110462530A (zh) * 2017-03-31 2019-11-15 索尼公司 信息处理设备、信息处理方法、计算机程序和程序制造方法
US11282016B2 (en) * 2017-05-23 2022-03-22 Uatc, Llc Individualized risk vehicle matching for an on-demand transportation service
CN107264534B (zh) * 2017-05-23 2019-07-09 北京理工大学 基于驾驶员经验模型的智能驾驶控制系统和方法、车辆
US10431023B1 (en) * 2017-08-21 2019-10-01 Uber Technologies, Inc. Systems and methods to test an autonomous vehicle
US10885240B2 (en) * 2017-11-02 2021-01-05 Uatc, Llc Deterministic simulation framework for autonomous vehicle testing
AU2018267541A1 (en) 2017-11-20 2019-06-06 Ashok Krishnan Systems and methods of training vehicles
US10860018B2 (en) * 2017-11-30 2020-12-08 Tusimple, Inc. System and method for generating simulated vehicles with configured behaviors for analyzing autonomous vehicle motion planners
US10303178B1 (en) * 2017-12-15 2019-05-28 Waymo Llc Collision mitigation static occupancy grid
DE102021109126A1 (de) * 2021-04-13 2022-10-13 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Testen eines Produkts

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003034200A (ja) 2001-07-24 2003-02-04 Hitachi Ltd 自動車の制御方法
US20080091352A1 (en) 2006-10-11 2008-04-17 O'hare James K Automobile collision avoidance system
US20160368492A1 (en) 2015-06-16 2016-12-22 Honda Motor Co., Ltd. System and method for providing vehicle collision avoidance at an intersection
US20170270236A1 (en) 2016-03-18 2017-09-21 Toyota Jidosha Kabushiki Kaisha Vehicle simulation device for crowd-sourced vehicle simulation data
JP2017173309A (ja) 2016-03-18 2017-09-28 トヨタ自動車株式会社 クラウドソースを利用した車両シミュレーション装置
US20180341571A1 (en) 2017-05-23 2018-11-29 Uber Technologies, Inc. Software version verification for autonomous vehicles

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102579590B1 (ko) * 2022-12-28 2023-09-18 도로교통공단 도로교통법 기반 자율주행차 운전능력 평가시나리오 생성 시스템

Also Published As

Publication number Publication date
US20220100635A1 (en) 2022-03-31
EP3710327A1 (en) 2020-09-23
US20210004313A1 (en) 2021-01-07
KR20200085363A (ko) 2020-07-14
EP3710327A4 (en) 2021-09-01
JP2021509646A (ja) 2021-04-01
KR102355257B1 (ko) 2022-02-08
AU2019205817B2 (en) 2022-01-27
AU2022202150A1 (en) 2022-04-21
CN111565990A (zh) 2020-08-21
EP3710327B1 (en) 2023-11-08
AU2019205817A1 (en) 2020-07-09
SG11202005671RA (en) 2020-07-29
CN111565990B (zh) 2023-07-25
US11210200B2 (en) 2021-12-28
AU2022202150B2 (en) 2022-07-14
WO2019136447A1 (en) 2019-07-11
US20190213103A1 (en) 2019-07-11
US11645189B2 (en) 2023-05-09
US10831636B2 (en) 2020-11-10

Similar Documents

Publication Publication Date Title
JP7183273B2 (ja) 自律車両のソフトウェア検証
US10896122B2 (en) Using divergence to conduct log-based simulations
US11989116B1 (en) Collision evaluation for log-based simulations
US11790131B2 (en) Simulations with modified agents for testing autonomous vehicle software
US20220198107A1 (en) Simulations for evaluating driving behaviors of autonomous vehicles
US11657318B2 (en) Assessing ride quality for autonomous vehicles
US12103542B2 (en) Extracting agent intent from log data for running log-based simulations for evaluating autonomous vehicle software
JP7176098B2 (ja) 自律型車両のための行列の検出および行列に対する応答
US20240083458A1 (en) Using simulations to identify differences between behaviors of manually-driven and autonomous vehicles
US11126763B1 (en) Realism metric for testing software for controlling autonomous vehicles
US11926332B1 (en) Assessing surprise for autonomous vehicles
US20240017741A1 (en) Validation of trajectory planning for autonomous vehicles

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220620

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221122

R150 Certificate of patent or registration of utility model

Ref document number: 7183273

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150